<?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>233305</bug_id>
          
          <creation_ts>2021-11-17 22:10:01 -0800</creation_ts>
          <short_desc>Re-add support of image control menus.</short_desc>
          <delta_ts>2021-12-02 15:50:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>annulen</cc>
    
    <cc>bdakin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>pangle</cc>
    
    <cc>pdr</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816312</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-17 22:10:01 -0800</bug_when>
    <thetext>Re-add support of image control menus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816315</commentid>
    <comment_count>1</comment_count>
      <attachid>444639</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-17 22:16:46 -0800</bug_when>
    <thetext>Created attachment 444639
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816319</commentid>
    <comment_count>2</comment_count>
      <attachid>444639</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-17 22:34:21 -0800</bug_when>
    <thetext>Comment on attachment 444639
Patch

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

&gt; Source/WTF/Scripts/Preferences/WebPreferences.yaml:946
&gt; +    WebKitLegacy:
&gt; +      default: true
&gt; +    WebKit:
&gt; +      default: true
&gt; +    WebCore:
&gt; +      default: true

This seems surprising, why do we want it on by default?

&gt; Source/WebCore/html/HTMLImageElement.cpp:784
&gt; +void HTMLImageElement::tryCreateImageControls()

Lots of missing newlines between functions in this file

&gt; Source/WebCore/html/shadow/ImageControlsRootElement.cpp:37
&gt; +#endif

This file too. Did the place you copied this from crunch newlines? You might want to do a pass with your own eyes and fix

&gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.cpp:82
&gt; +    button-&gt;setAttributeWithoutSynchronization(HTMLNames::classAttr, xWebkitImageControlsButtonName);

And again, all throughout. What happened?

&gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.cpp:85
&gt; +    // FIXME: Why is right: 0px off the right edge of the parent?

What does this comment mean??

&gt; Source/WebCore/page/EventHandler.cpp:2539
&gt; +    if (candidateElement-&gt;hasEditableStyle())
&gt; +        return nullptr;

This seems like a drive-by fix that maybe should be in its own patch? I could be wrong.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:97
&gt; +// FIXME: This should go into an SPI.h file in the spi directory.

No reason not to do that right out of the gate.

&gt; Source/WebKitLegacy/mac/WebView/WebPreferenceKeysPrivate.h:162
&gt; +#define WebKitImageControlsEnabledPreferenceKey @&quot;WebKitImageControlsEnabled&quot;

Let&apos;s not add back the webkitlegacy code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816326</commentid>
    <comment_count>3</comment_count>
      <attachid>444639</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-11-17 23:29:04 -0800</bug_when>
    <thetext>Comment on attachment 444639
Patch

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

&gt; Source/WebCore/css/CSSValueKeywords.in:891
&gt; +image-controls-button

I think we should call this `-webkit-image-controls-button` since it&apos;s not a standard keyword.

&gt; Source/WebCore/html/shadow/mac/ImageControlsMac.css:37
&gt; +    -webkit-appearance: image-controls-button;

Let&apos;s use `appearance: ...`.

&gt; Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:995
&gt; +        &quot;none&quot;, &quot;checkbox&quot;, &quot;radio&quot;, &quot;push-button&quot;, &quot;square-button&quot;, &quot;button&quot;, &quot;button-bevel&quot;, &quot;default-button&quot;, &quot;inner-spin-button&quot;, &quot;listbox&quot;, &quot;listitem&quot;, &quot;media-controls-background&quot;, &quot;media-controls-dark-bar-background&quot;, &quot;media-controls-fullscreen-background&quot;, &quot;media-controls-light-bar-background&quot;, &quot;media-current-time-display&quot;, &quot;media-enter-fullscreen-button&quot;, &quot;media-exit-fullscreen-button&quot;, &quot;media-fullscreen-volume-slider&quot;, &quot;media-fullscreen-volume-slider-thumb&quot;, &quot;media-mute-button&quot;, &quot;media-overlay-play-button&quot;, &quot;media-play-button&quot;, &quot;media-return-to-realtime-button&quot;, &quot;media-rewind-button&quot;, &quot;media-seek-back-button&quot;, &quot;media-seek-forward-button&quot;, &quot;media-slider&quot;, &quot;media-sliderthumb&quot;, &quot;media-time-remaining-display&quot;, &quot;media-toggle-closed-captions-button&quot;, &quot;media-volume-slider&quot;, &quot;media-volume-slider-container&quot;, &quot;media-volume-slider-mute-button&quot;, &quot;media-volume-sliderthumb&quot;, &quot;menulist&quot;, &quot;menulist-button&quot;, &quot;menulist-text&quot;, &quot;menulist-textfield&quot;, &quot;meter&quot;, &quot;progress-bar&quot;, &quot;progress-bar-value&quot;, &quot;slider-horizontal&quot;, &quot;slider-vertical&quot;, &quot;sliderthumb-horizontal&quot;, &quot;sliderthumb-vertical&quot;, &quot;caret&quot;, &quot;searchfield&quot;, &quot;searchfield-decoration&quot;, &quot;searchfield-results-decoration&quot;, &quot;searchfield-results-button&quot;, &quot;searchfield-cancel-button&quot;, &quot;snapshotted-plugin-overlay&quot;, &quot;textfield&quot;, &quot;relevancy-level-indicator&quot;, &quot;continuous-capacity-level-indicator&quot;, &quot;discrete-capacity-level-indicator&quot;, &quot;rating-level-indicator&quot;, &quot;image-controls-button&quot;, &quot;-apple-pay-button&quot;, &quot;textarea&quot;, &quot;attachment&quot;, &quot;borderless-attachment&quot;, &quot;caps-lock-indicator&quot;,

No need for keyword completion when we make this keyword UA-sheet-only.

&gt; LayoutTests/imported/w3c/web-platform-tests/css/css-ui/appearance-cssom-001-expected.txt:39
&gt; +FAIL -webkit-appearance: image-controls-button (invalid) assert_equals: style.WebkitAppearance (uppercase W) expected &quot;&quot; but got &quot;image-controls-button&quot;

We should try to keep this WPT passing. To do this, we can&apos;t make `image-controls-button` a valid keyword for `appearance` / `-webkit-appearance` outside the UA stylesheet.

I think the easiest way to do this is to add a case to `isValueAllowedInMode` in CSSParserIdioms.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816430</commentid>
    <comment_count>4</comment_count>
      <attachid>444639</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-18 08:00:35 -0800</bug_when>
    <thetext>Comment on attachment 444639
Patch

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

&gt; Source/WebCore/html/shadow/ImageControlsRootElement.h:30
&gt; +class ImageControlsRootElement : public HTMLDivElement {

Same here, w.r.t. subclassing DOM elements.

&gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.cpp:43
&gt; +class RenderImageControlsButton final : public RenderBlockFlow {

(Ditto.)

&gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.h:29
&gt; +class ImageControlsButtonElementMac final : public HTMLDivElement {

(Ditto)

&gt; Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp:37
&gt; +class RenderImageControls final : public RenderBlockFlow {

When I removed this code and replaced it with the current image overlay implementation, one of the main points of feedback I got was that I should avoid subclassing any renderers or HTML elements, and I ended up just using standard HTML elements (div, span, br, etc.) to build the image overlay subtree. I think we&apos;d probably want to ensure this when restoring the original image controls code as well…

Perhaps Antti or Alan would have thoughts here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816433</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-11-18 08:04:18 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/page/EventHandler.cpp:2539
&gt; &gt; +    if (candidateElement-&gt;hasEditableStyle())
&gt; &gt; +        return nullptr;
&gt; 
&gt; This seems like a drive-by fix that maybe should be in its own patch? I
&gt; could be wrong.

Yeah, I think this should probably be in a separate patch since it&apos;s kind of an independent behavior change.

I can address this in: https://bugs.webkit.org/show_bug.cgi?id=233317.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816462</commentid>
    <comment_count>6</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2021-11-18 08:51:48 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #4)
&gt; Comment on attachment 444639 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444639&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/html/shadow/ImageControlsRootElement.h:30
&gt; &gt; +class ImageControlsRootElement : public HTMLDivElement {
&gt; 
&gt; Same here, w.r.t. subclassing DOM elements.
&gt; 
&gt; &gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.cpp:43
&gt; &gt; +class RenderImageControlsButton final : public RenderBlockFlow {
&gt; 
&gt; (Ditto.)
&gt; 
&gt; &gt; Source/WebCore/html/shadow/mac/ImageControlsButtonElementMac.h:29
&gt; &gt; +class ImageControlsButtonElementMac final : public HTMLDivElement {
&gt; 
&gt; (Ditto)
&gt; 
&gt; &gt; Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp:37
&gt; &gt; +class RenderImageControls final : public RenderBlockFlow {
&gt; 
&gt; When I removed this code and replaced it with the current image overlay
&gt; implementation, one of the main points of feedback I got was that I should
&gt; avoid subclassing any renderers or HTML elements, and I ended up just using
&gt; standard HTML elements (div, span, br, etc.) to build the image overlay
&gt; subtree. I think we&apos;d probably want to ensure this when restoring the
&gt; original image controls code as well…
&gt; 
&gt; Perhaps Antti or Alan would have thoughts here?
Good point! I think we should try not to introduce new renderers unless they drive the descendant tree layout in a non-standard way. These renderers do very little.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817735</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-24 22:10:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/85742221&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818904</commentid>
    <comment_count>8</comment_count>
      <attachid>445462</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 13:18:37 -0800</bug_when>
    <thetext>Created attachment 445462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818908</commentid>
    <comment_count>9</comment_count>
      <attachid>445462</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-30 13:29:01 -0800</bug_when>
    <thetext>Comment on attachment 445462
Patch

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

&gt; Source/WebCore/PAL/pal/spi/mac/NSServicesRolloverButtonCellSPI.h:40
&gt; +#endif // ENABLE(SERVICE_CONTROLS)

You&apos;ve got the endif comments backwards!

&gt; Source/WebCore/dom/mac/ImageControlsMac.cpp:108
&gt; +#endif // ENABLE(IMAGE_ANALYSIS)

I don&apos;t think this comment is right

&gt; Source/WebCore/dom/mac/ImageControlsMac.h:43
&gt; +#endif // ENABLE(IMAGE_ANALYSIS)

Or this one

&gt; Source/WebCore/html/HTMLImageElement.cpp:77
&gt; +    , m_imageMenuEnabled(true)

an odd choice of default. why true? also, probably put this initializer in the header (all of these could move... but not in this patch)

&gt; Source/WebCore/html/HTMLImageElement.cpp:795
&gt; +        RELEASE_ASSERT_WITH_SECURITY_IMPLICATION(ImageControlsMac::hasControls((downcast&lt;HTMLElement&gt;(*node))));

extra parens!

&gt; Source/WebCore/html/HTMLImageElement.h:119
&gt; +    bool hasShadowControls() const { return m_imageMenuEnabled; }

why do we have this *and* hasImageControls()? is there a distinction here that isn&apos;t obvious? they seem to operate in quite different ways too

&gt; Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.cpp:25
&gt; +#include &quot;config.h&quot;

missing newline above

&gt; Source/WebCore/html/shadow/mac/ImageControlsRootElementMac.h:25
&gt; +#pragma once

This file is still all scrunched up.

&gt; Source/WebCore/rendering/RenderThemeMac.mm:2294
&gt; +}

all scrunched up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818962</commentid>
    <comment_count>10</comment_count>
      <attachid>445473</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 14:58:31 -0800</bug_when>
    <thetext>Created attachment 445473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818996</commentid>
    <comment_count>11</comment_count>
      <attachid>445485</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 16:23:23 -0800</bug_when>
    <thetext>Created attachment 445485
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819013</commentid>
    <comment_count>12</comment_count>
      <attachid>445490</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 17:04:00 -0800</bug_when>
    <thetext>Created attachment 445490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819027</commentid>
    <comment_count>13</comment_count>
      <attachid>445494</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 17:32:26 -0800</bug_when>
    <thetext>Created attachment 445494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819032</commentid>
    <comment_count>14</comment_count>
      <attachid>445496</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 17:49:35 -0800</bug_when>
    <thetext>Created attachment 445496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819036</commentid>
    <comment_count>15</comment_count>
      <attachid>445497</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 18:03:55 -0800</bug_when>
    <thetext>Created attachment 445497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819048</commentid>
    <comment_count>16</comment_count>
      <attachid>445500</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 18:24:56 -0800</bug_when>
    <thetext>Created attachment 445500
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819061</commentid>
    <comment_count>17</comment_count>
      <attachid>445506</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 20:06:49 -0800</bug_when>
    <thetext>Created attachment 445506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819097</commentid>
    <comment_count>18</comment_count>
      <attachid>445523</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-11-30 22:14:07 -0800</bug_when>
    <thetext>Created attachment 445523
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819136</commentid>
    <comment_count>19</comment_count>
      <attachid>445536</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-01 00:20:00 -0800</bug_when>
    <thetext>Created attachment 445536
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819387</commentid>
    <comment_count>20</comment_count>
      <attachid>445536</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-01 13:30:31 -0800</bug_when>
    <thetext>Comment on attachment 445536
Patch

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

&gt; Source/WebCore/DerivedSources-input.xcfilelist:1322
&gt; +$(PROJECT_DIR)/html/shadow/mac/imageControlsMac.css
&gt;  $(PROJECT_DIR)/html/shadow/imageOverlay.css

Does this need to be alphabetical?

&gt; Source/WebCore/PAL/pal/spi/mac/NSServicesRolloverButtonCellSPI.h:37
&gt; +#define APPKIT_PRIVATE_CLASS

Do we need to `#undef` this?

&gt; Source/WebCore/PAL/pal/spi/mac/NSServicesRolloverButtonCellSPI.h:44
&gt; +@interface NSServicesRolloverButtonCell ()

Is it necessary for us to define this outside of `USE(APPLE_INTERNAL_SDK)`?  I&apos;d imagine/hope that these symbols already (or will soon) exist in `AppKit/NSServicesRolloverButtonCell.h`.

&gt; Source/WebCore/dom/mac/ImageControlsMac.cpp:81
&gt; +    if (RefPtr controlRoot = static_cast&lt;TreeScope&amp;&gt;(*host-&gt;userAgentShadowRoot()).getElementById(imageControlsButtonIdentifier()))

Why do we need to `static_cast`?  `userAgentShadowRoot` returns a `ShadowRoot`, which inherits from `TreeScope`.
```
    if (RefPtr controlRoot = host-&gt;userAgentShadowRoot()-&gt;getElementById(imageControlsButtonIdentifier()))
```

&gt; Source/WebCore/dom/mac/ImageControlsMac.h:35
&gt; +namespace ImageControlsMac {

Is there a reason why this (and the file) has &quot;Mac&quot; in the name?  None of the code seems to require anything that only exists on macOS.

&gt; Source/WebCore/html/HTMLImageElement.h:119
&gt; +    bool imageMenuEnabled() const { return m_imageMenuEnabled; }

Should this also be inside `#if ENABLE(SERVICE_CONTROLS)`?

&gt; Source/WebCore/html/HTMLImageElement.h:214
&gt; +    bool m_imageMenuEnabled { false };

ditto (:119)

&gt; Source/WebCore/html/shadow/mac/imageControlsMac.css:35
&gt; +button#image-controls-button {

NIT: Should we make this
```
    div#image-controls button#image-controls-button
```
so that it&apos;s more specific and matches the selector below?

&gt; Source/WebCore/page/EventHandler.cpp:2541
&gt; +    if (candidateElement-&gt;hasEditableStyle())
&gt; +        return nullptr;

This is a copy of the `if` right below.

&gt; Source/WebCore/rendering/RenderImage.cpp:149
&gt; +    if (is&lt;HTMLImageElement&gt;(element))
&gt; +        m_hasShadowControls = downcast&lt;HTMLImageElement&gt;(element).imageMenuEnabled();

ditto (Source/WebCore/html/HTMLImageElement.h:119)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819526</commentid>
    <comment_count>21</comment_count>
      <attachid>445536</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-01 18:35:25 -0800</bug_when>
    <thetext>Comment on attachment 445536
Patch

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

&gt;&gt; Source/WebCore/DerivedSources-input.xcfilelist:1322
&gt;&gt;  $(PROJECT_DIR)/html/shadow/imageOverlay.css
&gt; 
&gt; Does this need to be alphabetical?

it is, I just put the sub directory before all the files in the directory, which seems to be not the way this file is alphabetized, but I swear others were when I looked.

&gt;&gt; Source/WebCore/dom/mac/ImageControlsMac.cpp:81
&gt;&gt; +    if (RefPtr controlRoot = static_cast&lt;TreeScope&amp;&gt;(*host-&gt;userAgentShadowRoot()).getElementById(imageControlsButtonIdentifier()))
&gt; 
&gt; Why do we need to `static_cast`?  `userAgentShadowRoot` returns a `ShadowRoot`, which inherits from `TreeScope`.
&gt; ```
&gt;     if (RefPtr controlRoot = host-&gt;userAgentShadowRoot()-&gt;getElementById(imageControlsButtonIdentifier()))
&gt; ```

And also from Document Fragment, so we need to specify.

&gt;&gt; Source/WebCore/dom/mac/ImageControlsMac.h:35
&gt;&gt; +namespace ImageControlsMac {
&gt; 
&gt; Is there a reason why this (and the file) has &quot;Mac&quot; in the name?  None of the code seems to require anything that only exists on macOS.

It&apos;s only for Mac, and we&apos;re using AppKit stuff to render the button. Also, this is how it was named before.

&gt;&gt; Source/WebCore/page/EventHandler.cpp:2541
&gt;&gt; +        return nullptr;
&gt; 
&gt; This is a copy of the `if` right below.

Oh, I think this was a bad merge when Wenson told me how to fix this, and then fixed it himself ;P</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819527</commentid>
    <comment_count>22</comment_count>
      <attachid>445653</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-01 18:42:42 -0800</bug_when>
    <thetext>Created attachment 445653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819528</commentid>
    <comment_count>23</comment_count>
      <attachid>445654</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-01 18:53:04 -0800</bug_when>
    <thetext>Created attachment 445654
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819530</commentid>
    <comment_count>24</comment_count>
      <attachid>445655</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-01 19:00:47 -0800</bug_when>
    <thetext>Created attachment 445655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819784</commentid>
    <comment_count>25</comment_count>
      <attachid>445655</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-02 10:54:00 -0800</bug_when>
    <thetext>Comment on attachment 445655
Patch

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

&gt; Source/WebCore/html/shadow/mac/imageControlsMac.css:38
&gt; +    top: 20px;
&gt; +    right: 20px;

I assume these values are the direct translation of what imageControlsButtonPositionOffset() returned before, but it still feels odd to have such hard-coded top and right values as opposed to using some more flexible, alignment type of positioning.

&gt; Source/WebCore/rendering/RenderTheme.h:256
&gt; +#if ENABLE(SERVICE_CONTROLS)
&gt; +    virtual IntSize imageControlsButtonSize() const { return IntSize(); }
&gt; +    virtual IntSize imageControlsButtonPositionOffset() const { return IntSize(); }
&gt; +#endif

I don&apos;t think these are needed anymore with the no-custom renderer approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819844</commentid>
    <comment_count>26</comment_count>
      <attachid>445768</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-02 13:11:48 -0800</bug_when>
    <thetext>Created attachment 445768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819856</commentid>
    <comment_count>27</comment_count>
      <attachid>445770</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-02 13:39:07 -0800</bug_when>
    <thetext>Created attachment 445770
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819872</commentid>
    <comment_count>28</comment_count>
      <attachid>445774</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-02 14:39:44 -0800</bug_when>
    <thetext>Created attachment 445774
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819879</commentid>
    <comment_count>29</comment_count>
      <attachid>445776</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-12-02 15:00:12 -0800</bug_when>
    <thetext>Created attachment 445776
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819906</commentid>
    <comment_count>30</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-02 15:50:05 -0800</bug_when>
    <thetext>Committed r286461 (244802@main): &lt;https://commits.webkit.org/244802@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 445776.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444639</attachid>
            <date>2021-11-17 22:16:46 -0800</date>
            <delta_ts>2021-11-30 13:18:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211117221645.patch</filename>
            <type>text/plain</type>
            <size>85721</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NjcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFmMGZjODFjYTdlYzZiNWJlYjRkNDMw
MWQ3Y2MwODk5Y2YyNjUzY2UuLjg5NWY0OTJiYmY0M2RkODkxMmQ2MjEyNDMxN2JmOTRlNTM0ODgw
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMTcgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMTEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgSW5s
aW5lIFJlZ0V4cC50ZXN0IEpJVCBjb2RlIGluIERGRyBhbmQgRlRMCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzRk
NzU1MmJiNjhjZGE5ZjdkMzg4Zjc0MmE2YTI1ZWNmNzJhZDRhNC4uYzYwZmViNWYxZWI1NTYzYjZk
NmZiMzI2YjljMTFkNzc3NzFkMDk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk2IEBACisyMDIx
LTExLTE3ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvaW1hZ2VzL2ltYWdl
LWNvbnRyb2xzLWJhc2ljLmh0bWwKKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVzIGFyZSBu
ZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1hZGQgdGhl
bQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0Lm9yZy9j
aGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNv
dXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAg
ICAqIGNzcy9DU1NQcm9wZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29y
ZHMuaW46CisgICAgICAgICogZG9tL05vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6Omlz
SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6
OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQgY29uc3QpOgorICAgICAgICAqIGh0bWwvSFRN
TEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJv
bHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250
cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1l
bnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0NvbnRy
b2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVu
dDo6bWF5YmVDcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50OjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0lt
YWdlQ29udHJvbHNSb290RWxlbWVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL3NoYWRvdy9t
YWMvSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckltYWdlQ29udHJvbHNCdXR0b246OlJlbmRlckltYWdlQ29udHJvbHNCdXR0
b24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6dXBkYXRl
TG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlQ29udHJvbHNCdXR0
b246OmNvbXB1dGVMb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
Q29udHJvbHNCdXR0b25FbGVtZW50TWFjOjpJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYyk6
CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYzo6dHJ5Q3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjOjpk
ZWZhdWx0RXZlbnRIYW5kbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNCdXR0
b25FbGVtZW50TWFjOjpjcmVhdGVFbGVtZW50UmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvc2hh
ZG93L21hYy9JbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAg
KiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3M6IEFkZGVkLgorICAgICAgICAo
I2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKToKKyAgICAgICAgKC54LXdlYmtpdC1pbWFnZS1jb250cm9scy1idXR0b24pOgorICAg
ICAgICAoLngtd2Via2l0LWltYWdlLWNvbnRyb2xzOmhvdmVyIC54LXdlYmtpdC1pbWFnZS1jb250
cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9v
dEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlQ29u
dHJvbHM6OlJlbmRlckltYWdlQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1h
Z2VDb250cm9sczo6dXBkYXRlTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckltYWdlQ29udHJvbHM6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVudDo6dHJ5Q3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYzo6SW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50TWFjKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYzo6
Y3JlYXRlRWxlbWVudFJlbmRlcmVyKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VD
b250cm9sc1Jvb3RFbGVtZW50TWFjLmg6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmltYWdlRnJvbUltYWdlRWxlbWVu
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVyOjptYXliZUNy
ZWF0ZUNvbnRleHRNZW51KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxl
cjo6c2hvd0ltYWdlQ29udHJvbHNNZW51KToKKyAgICAgICAgKiBwYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6dGV4dFJlY29nbml0aW9uQ2FuZGlkYXRlRWxlbWVudCBjb25z
dCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpvcGVyYXRvcjw8KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlOjpSZW5kZXJJbWFnZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphZGp1c3RTdHlsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFpbnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50Qm9yZGVyT25seSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6cGFp
bnREZWNvcmF0aW9ucyk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmltYWdlQ29udHJvbHNCdXR0b25TaXpl
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppbWFnZUNvbnRyb2xzQnV0
dG9uUG9zaXRpb25PZmZzZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6
OnBhaW50SW1hZ2VDb250cm9sc0J1dHRvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNTdHlsZVNoZWV0IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6cGFpbnRJ
bWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0IGNvbnN0KToKKyAgICAg
ICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZTo6
VXNlckFnZW50U3R5bGU6OmVuc3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQpOgorICAg
ICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmg6CisKIDIwMjEtMTEtMTEgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW0xpdmUgVGV4dF0gQXVnbWVu
dCBUZXh0UmVjb2duaXRpb25SZXN1bHQgd2l0aCBhIG5ldyB0eXBlIG9mIHRleHQgcmVjb2duaXRp
b24gZGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggYmNmOTZkODFlMzVlZDkwMGNhODQz
MTdkMzNlNzMyNGViMWRhYzgxMC4uOGU5OTZmYTQyZjUyNmE3ZjMyOTYxZmJlZjA1MTg0YTk4NWVm
N2Y3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEt
MTcgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DU1NL
ZXl3b3JkQ29tcGxldGlvbnMuanM6CisKIDIwMjEtMTEtMTAgIFRpbSBOZ3V5ZW4gIDxudGltQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgbm9uLXN0YW5kYXJkIC13ZWJraXQtYm9yZGVyLWZp
dCBDU1MgcHJvcGVydHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggNjBhYzRmYWZiM2ZiMDI1ZGIxYjk5ZmVlOGI3ZDkz
NmJmNDYwMmI3Ni4uNzFhZjE0YzFiYTE1OTUzYTY4ZTkwNDNmMWQxOTQwYjA3YjBlOWZkOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMS0xMS0xNyAgTWVnYW4gR2FyZG5lciAgPG1lZ2Fu
X2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNv
bnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBJbWFnZSBjb250cm9sIG1lbnVzIGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0
byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1hZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3Zh
bCBpbiBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQ
cmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKFdLUHJlZmVyZW5j
ZXNHZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfc2V0dXBQYWdlQ29uZmlndXJh
dGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdF0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZTpdKToKKyAgICAgICAg
KC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfaW1hZ2VDb250cm9sc0VuYWJsZWRdKToKKyAgICAg
ICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBfc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6XSk6
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJp
dmF0ZS5oOgorCiAyMDIxLTExLTExICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgogCiAgICAgICAgIE1vdmUgaW1hZ2Ugb3ZlcmxheSBjb2RlIG91dCBvZiBIVE1MRWxlbWVu
dCBhbmQgaW50byBhIHNlcGFyYXRlIGhlbHBlciBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VM
b2cKaW5kZXggOWI3MDkyMzVlMDUxZTVjNTAxODQ3YmE3OGM1NmI4NzA2MDljZTQxOS4uNzkxZjI1
NTRmNTVmNTVmNTRiNDRjMGEzZDFlODkzZmU4NjE1YWEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTExLTE3ICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEltYWdlIGNvbnRyb2wgbWVudXMgYXJlIG5lZWRlZCBmb3IgbWFpbCB0cmFuc2l0aW9u
IHRvIG1vZGVybiBXZWJLaXQsIHNvIHJlLWFkZCB0aGVtCisgICAgICAgIGFmdGVyIHRoZSByZW1v
dmFsIGluIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yNzIxMTcvd2Via2l0CisK
KyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oOgorICAgICAgICAq
IFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIGlt
YWdlQ29udHJvbHNFbmFibGVkXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHNldEltYWdl
Q29udHJvbHNFbmFibGVkOl0pOgorCiAyMDIxLTExLTExICBOaWtvbGFvcyBNb3VjaHRhcmlzICA8
bm1vdWNodGFyaXNAYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2Ugc2Nyb2xsIGdyYW51bGFyaXR5
IGFuIGVudW0gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dl
YlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZDE2NzNlNzhhNGM5N2VlY2UyOTE1NDk0NWJmMGI3NzFh
NGU3ZWNkYi4uOWZhYzc2YzA4ZGJmNTc5MGRlZjRiZWE5ZDdkZTUzNTZlMjk5NzFmOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwK
KysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwK
QEAgLTkzNCw2ICs5MzQsMTcgQEAgSHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOgogICAgIFdlYkNv
cmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitJbWFnZUNvbnRyb2xzRW5hYmxlZDoKKyAgdHlw
ZTogYm9vbAorICBjb25kaXRpb246IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICBkZWZhdWx0
VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogdHJ1ZQorICAgIFdlYktp
dDoKKyAgICAgIGRlZmF1bHQ6IHRydWUKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogdHJ1
ZQorCiBJbmFjdGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZhbEluTWludXRlczoK
ICAgdHlwZTogZG91YmxlCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBmM2NlZWNkNDhkOTk1ZWIz
NzI2MmJkZjM0MjQ2ZjlkOGQ2ZDNiNTIyLi4yNzk0OTk3ZDZhOWY0NTY2YzZmZjUxNzM2NjQyYjAy
Y2EzOTk5N2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKQEAgLTEzMDQsNiArMTMwNCw3IEBAICQoUFJPSkVDVF9ESVIpL2h0bWwvY2FudmFz
L1dlYkdMVmVydGV4QXJyYXlPYmplY3QuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9X
ZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbAogJChQUk9KRUNUX0RJUikvaHRtbC9wYXJzZXIv
SFRNTEVudGl0eU5hbWVzLmluCiAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9jcmVhdGUtaHRt
bC1lbnRpdHktdGFibGUKKyQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRy
b2xzTWFjLmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwog
JChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcwogJChQUk9K
RUNUX0RJUikvaHRtbC90cmFjay9BdWRpb1RyYWNrLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uMzRh
OWQxYTRjOTQ4YWRjY2FlMTA1ZWQ3MTgxYzBhNjk0OTA1N2IxMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzU4LDYgKzE3NTgsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCBiOTBmZjUxMWE0NmUzZWQ1MDE4OTJjN2Mx
NjVlN2Q5MzBlZWQ2OGIzLi4xNmM3NTc5YmM4Zjg5MGY2YWI3NzA1YzI0MTY3Y2QzNjA4ZDZhZDU3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTE3MSw2ICsxNzEsOSBAQCBlZGl0aW5nL21h
Yy9UZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gQG5vLXVuaWZ5CiBlZGl0aW5nL21hYy9UZXh0
VW5kb0luc2VydGlvbk1hcmt1cE1hYy5tbQogZmlsZWFwaS9GaWxlQ29jb2EubW0KIGhpc3Rvcnkv
bWFjL0hpc3RvcnlJdGVtTWFjLm1tCitodG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnQuY3BwCitodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3Bw
CitodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcAogaW5zcGVj
dG9yL21hYy9QYWdlRGVidWdnZXJNYWMubW0KIGxvYWRlci9hcmNoaXZlL2NmL0xlZ2FjeVdlYkFy
Y2hpdmUuY3BwCiBsb2FkZXIvYXJjaGl2ZS9jZi9MZWdhY3lXZWJBcmNoaXZlTWFjLm1tCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
OTljODZkOWRiZTdiNWYwOTg0ZWVmNTk2MDNlNWZiYjc4ZTMyYmRmNS4uYzNmNTZmYmY3MDc2ZDFm
M2I5Y2MyYTgyNTZkODM4MzViMTlmMmFhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTMwMCw2ICsxMzAwLDEwIEBACiAJCTQ0
Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2NjcwIC8qIFRo
ZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBXZWJUZXh0SW5k
aWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NEUzNDlG
OTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERDNzAwNjg0NzlD
IC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQk0NEVFQTBFMTI3M0Y5OUVDMDA1OTRBODMgLyogSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQ0RUVBMERGMjczRjk5RUMwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzUm9vdEVs
ZW1lbnQuY3BwICovOyB9OworCQk0NEVFQTBFMjI3M0Y5OUVDMDA1OTRBODMgLyogSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NEVFQTBFMDI3M0Y5OUVDMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50LmggKi87IH07CisJCTQ0RUVBMEVBMjczRjlFMTYwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xz
QnV0dG9uRWxlbWVudE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDRFRUEwRTgyNzNGOUUxNjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNCdXR0b25F
bGVtZW50TWFjLmggKi87IH07CisJCTQ0RUVBMEVFMjczRjlFQTgwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnRNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0RUVBMEVDMjczRjlFQTgwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzUm9v
dEVsZW1lbnRNYWMuaCAqLzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVs
YWJsZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ1MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURD
RTM3RDAwMkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3Bp
bkJ1dHRvbkVsZW1lbnQuaCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERh
dGVUaW1lRm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NTNFQjYzNTE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc5Myw2ICs4Nzk3
LDEzIEBACiAJCTQ0RTg4RTUxMjM2QTVDOEQwMDlCNDg0NyAvKiBIaWdobGlnaHQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSGlnaGxpZ2h0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTg4
RTUyMjM2QTY2N0YwMDlCNDg0NyAvKiBIaWdobGlnaHRSZWdpc3Rlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBIaWdobGlnaHRSZWdpc3Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTg4RTU0MjM2QTY2QTEwMDlCNDg0NyAvKiBIaWdobGlnaHQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSGlnaGxpZ2h0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRF
RUEwREYyNzNGOTlFQzAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBFMDI3M0Y5OUVDMDA1OTRBODMgLyogSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNSb290RWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBFNzI3M0Y5RTE2MDA1OTRB
ODMgLyogSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0NEVFQTBFODI3M0Y5RTE2MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc0J1dHRv
bkVsZW1lbnRNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRN
YWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRUIyNzNGOUVBODAwNTk0
QTgzIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBFQzI3M0Y5RUE4MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50TWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuY3NzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJFMDAyQkIxNDkgLyogTGFi
ZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBM
YWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VC
RUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BpbkJ1dHRvbkVsZW1l
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAzNTAsNiArMjAzNjEsNyBA
QAogCQk0MTUwRjlFRDEyQjZFMDk5MDAwOEM4NjAgLyogc2hhZG93ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMg
LyogbWFjICovLAogCQkJCTdDMUU5NzI1MUE5Rjk4MzQwMDdCRjBGQiAvKiBBdXRvRmlsbEJ1dHRv
bkVsZW1lbnQuY3BwICovLAogCQkJCTdDMUU5NzI2MUE5Rjk4MzQwMDdCRjBGQiAvKiBBdXRvRmls
bEJ1dHRvbkVsZW1lbnQuaCAqLywKIAkJCQlFNTdBNzQwMTI1Q0EwNTc0MDA1MDA0NkIgLyogRGF0
YUxpc3RCdXR0b25FbGVtZW50LmNwcCAqLywKQEAgLTIwMzY2LDYgKzIwMzc4LDggQEAKIAkJCQlF
NUYwNkFFRDI0RDRBNjM3MDBCQkM0RjggLyogRGF0ZVRpbWVTeW1ib2xpY0ZpZWxkRWxlbWVudC5o
ICovLAogCQkJCUE3QzlBQkY2MTM1N0EzQkYwMEY1NTAzRiAvKiBEZXRhaWxzTWFya2VyQ29udHJv
bC5jcHAgKi8sCiAJCQkJQTdDOUFCRjcxMzU3QTNCRjAwRjU1MDNGIC8qIERldGFpbHNNYXJrZXJD
b250cm9sLmggKi8sCisJCQkJNDRFRUEwREYyNzNGOTlFQzAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNSb290RWxlbWVudC5jcHAgKi8sCisJCQkJNDRFRUEwRTAyNzNGOTlFQzAwNTk0QTgzIC8qIElt
YWdlQ29udHJvbHNSb290RWxlbWVudC5oICovLAogCQkJCUY0REQ4NjYyMjVDQzYwODQwMDU5QkZE
QSAvKiBpbWFnZU92ZXJsYXkuY3NzICovLAogCQkJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xUZXh0VHJhY2tDb250YWluZXJFbGVtZW50LmNwcCAqLywKIAkJCQk0MTcy
NTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sVGV4dFRyYWNrQ29udGFpbmVyRWxl
bWVudC5oICovLApAQCAtMjA5MTgsNiArMjA5MzIsMTggQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7
CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1
OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0NEVFQTBFNzI3M0Y5RTE2MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1l
bnRNYWMuY3BwICovLAorCQkJCTQ0RUVBMEU4MjczRjlFMTYwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzQnV0dG9uRWxlbWVudE1hYy5oICovLAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAv
KiBJbWFnZUNvbnRyb2xzTWFjLmNzcyAqLywKKwkJCQk0NEVFQTBFQjI3M0Y5RUE4MDA1OTRBODMg
LyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcCAqLywKKwkJCQk0NEVFQTBFQzI3M0Y5
RUE4MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmggKi8sCisJCQkpOwor
CQkJcGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0
MDQ0MjBFQUYwQkQwMEIyOUZEMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0zMzgyNSw2ICszMzg1MSw5IEBACiAJCQkJNzI3QTdGM0EyNDA3
OEI4NDAwNEQyOTMxIC8qIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQjJBMTBEOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVy
VXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMEVBMjczRjlFMTYwMDU5NEE4
MyAvKiBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDRFRUEwRTIyNzNGOTlFQzAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNSb290RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRUUyNzNGOUVBODAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNSb290RWxlbWVudE1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTc3OTc5MUEwRDZCOUQwQzAw
Mzg1MUI5IC8qIEltYWdlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMDg4RjUyNjRFMUMw
ODAwM0UyQTZDIC8qIEltYWdlRGF0YVNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5
RkVBODFGNTczOTcyMDAwQzQyRkIgLyogSW1hZ2VEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKQEAg
LTM3NDc4LDYgKzM3NTA3LDcgQEAKIAkJCQk3QzNFNTEwQjE4REY4RjM1MDBDMTEyRjcgLyogSFRN
TENvbnZlcnRlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCUE4RDA2QjNBMEEyNjVEQ0QwMDVFNzIw
MyAvKiBIVE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDOTAwQzMxOTQzQzBGQzAw
ODYyNUI1IC8qIEhUVFBIZWFkZXJOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0NEVFQTBF
MTI3M0Y5OUVDMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUNEMjdBRTUxMjJBOTg2ODcwMDk0N0ZGOSAvKiBJbWFnZVJvdGF0aW9uU2Vz
c2lvblZULm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDcwRTJEMEYyNkYyNTA4OTAwMTRBQUMzIC8q
IEluYmFuZENoYXB0ZXJUcmFja1ByaXZhdGVBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0QwNjNGODIxRTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVN
YXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aAppbmRleCA2NjUzOTI0NDUxZmY1MjdiYWRkZmRhNWYyMDQ3NjhiMzVkOGNmNTBmLi40NjRmMDZi
NjMyZTJkZGU0ODZhNDk0NzY0ZDk4MTRjNjlhMmI1MGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2ICs2MDgsMTEgQEAgdGVt
cGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbnRy
b2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQm9yZGVybGVzc0F0
dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgbV92YWx1
ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsK
KyNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBh
cnQ6CiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCA5ZWZkOThiZWM4NWZiYTI4YTYw
NTQyNjllY2E2ZGVhOWNhZGEyNDk5Li4xYjg0OTQ4N2RlOWRmMDBlZWJiMWQ0NWM3ZjEzYmQ0NGYz
YzQzMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29u
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTQ5OTgsNiAr
NDk5OCw3IEBACiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5k
aWNhdG9yIiwKICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yIiwKICAgICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAg
ICAgICAgICAgImltYWdlLWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBs
ZS1wYXktYnV0dG9uIiwKICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAg
ICAgICJhdHRhY2htZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5k
ZXggODIxMTMyZDNmMGE5MTczYWNhNWI4NzNiZGNlNTZmMDQ2NzcxNGIxZC4uNTM1OWI2ZjJmNjRl
OThmNmYzNTVkY2VlNTBjOWM3ZmQzYWM0NTI1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9y
CiBjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHkt
bGV2ZWwtaW5kaWNhdG9yCiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKK2ltYWdlLWNv
bnRyb2xzLWJ1dHRvbgorI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZKSAmJiBF
TkFCTEVfQVBQTEVfUEFZCiAtYXBwbGUtcGF5LWJ1dHRvbgogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRl
eCBjMWYwYjM1MzIyMzU1MmYyYzBhMmIyY2ZmYzFlN2ZjOWI3ZDViZGZlLi5lMjM2NWJlY2JkYmNi
ZDczNzk2MTEzM2Y2OTA2NDEyZDkxYjNkMTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTIxNiw2ICsyMTYs
MTAgQEAgcHVibGljOgogICAgIGJvb2wgaXNDaGFyYWN0ZXJEYXRhTm9kZSgpIGNvbnN0IHsgcmV0
dXJuIGhhc05vZGVGbGFnKE5vZGVGbGFnOjpJc0NoYXJhY3RlckRhdGEpOyB9CiAgICAgdmlydHVh
bCBib29sIGlzRnJhbWVPd25lckVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1BsdWdpbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgYm9vbCBpc0ltYWdlQ29u
dHJvbHNSb290RWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsg
fQorI2VuZGlmCiAKICAgICBib29sIGlzRG9jdW1lbnROb2RlKCkgY29uc3QgeyByZXR1cm4gaGFz
Tm9kZUZsYWcoTm9kZUZsYWc6OklzRG9jdW1lbnROb2RlKTsgfQogICAgIGJvb2wgaXNUcmVlU2Nv
cGUoKSBjb25zdCB7IHJldHVybiBoYXNOb2RlRmxhZyhOb2RlRmxhZzo6SXNEb2N1bWVudE5vZGUp
IHx8IGhhc05vZGVGbGFnKE5vZGVGbGFnOjpJc1NoYWRvd1Jvb3QpOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IDAxYzM0MzVlYWM0YTFhNTZjNzVlMDZl
NzllMWFiYTJiNDY1OThkNjIuLjJmM2ZlMzgyMmRiMDgyODFkMDc4YTMwOWMxYTdiOWJhMjIzMmNk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC00MzQs
NiArNDM0LDcgQEAgYXV0b2NhcGl0YWxpemUKIG9ud2Via2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0
aXN3aXJlbGVzc2NoYW5nZWQKIG9ud2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFu
Z2VkCiBvbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkCit4LXdlYmtpdC1pbWFnZW1lbnUK
IHdlYmtpdC1wbGF5c2lubGluZQogeC13ZWJraXQtYWlycGxheQogeC13ZWJraXQtd2lyZWxlc3N2
aWRlb3BsYXliYWNrZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCmluZGV4IDgwNTNhNjI1MmQxMzVkYzJjYmYxY2VjZjAxM2UyNTgwMGYxODgyNGIuLjEwZTE4
NzYwNDQ1NjRmOTZlMzI3YTNmZWJhMWYwNzZlZjlkMDU3OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNjAsNiArNjAsMTAgQEAKICNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jSW5saW5lcy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4K
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNS
b290RWxlbWVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKEhUTUxJbWFnZUVsZW1lbnQpOwpAQCAtNzMsNiArNzcsNyBAQCBI
VE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRh
Z05hbWUsIERvY3VtZW50JiBkb2N1bQogICAgICwgbV9mb3JtU2V0QnlQYXJzZXIoZm9ybSkKICAg
ICAsIG1fY29tcG9zaXRlT3BlcmF0b3IoQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXIpCiAg
ICAgLCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbygxLjBmKQorICAgICwgbV9pbWFnZU1lbnVFbmFi
bGVkKHRydWUpCiB7CiAgICAgQVNTRVJUKGhhc1RhZ05hbWUoaW1nVGFnKSk7CiAgICAgc2V0SGFz
Q3VzdG9tU3R5bGVSZXNvbHZlQ2FsbGJhY2tzKCk7CkBAIC0zMDgsNiArMzEzLDExIEBAIHZvaWQg
SFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2Rl
OjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZh
bHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9z
aXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51
QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7Cisg
ICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFt
ZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdl
ciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmli
dXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4NiwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRp
bmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBh
dXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAg
ICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdl
LmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFn
ZSgpKQpAQCAtNzUzLDYgKzc2Nyw2MiBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6
OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hN
RU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTElt
YWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFn
ZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBp
bWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47
CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xz
KCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAg
IGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVk
ICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQor
dm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBB
U1NFUlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMo
KSk7CisgICAgYXV0byBpbWFnZUNvbnRyb2xzID0gSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50Ojp0
cnlDcmVhdGUoZG9jdW1lbnQoKSk7CisgICAgaWYgKCFpbWFnZUNvbnRyb2xzKQorICAgICAgICBy
ZXR1cm47CisgICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpLmFwcGVuZENoaWxkKCppbWFn
ZUNvbnRyb2xzKTsKKyAgICBhdXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlm
ICghcmVuZGVyT2JqZWN0KQorICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1h
Z2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQordm9pZCBI
VE1MSW1hZ2VFbGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFk
b3dSb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAg
ICAgICAgcmV0dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZp
cnN0Q2hpbGQoKSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKG5vZGUtPmlzSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkpOworICAgICAgICBzaGFk
b3dSb290LT5yZW1vdmVDaGlsZCgqbm9kZSk7CisgICAgfQorICAgIGF1dG8qIHJlbmRlck9iamVj
dCA9IHJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5kZXJPYmplY3QpCisgICAgICAgIHJldHVybjsK
KyAgICBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlck9iamVjdCkuc2V0SGFzU2hhZG93Q29u
dHJvbHMoZmFsc2UpOworfQorYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFnZUNvbnRyb2xz
KCkgY29uc3QKK3sKKyAgICBpZiAoYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50U2hhZG93Um9v
dCgpKSB7CisgICAgICAgIFJlZlB0cjxOb2RlPiBub2RlID0gc2hhZG93Um9vdC0+Zmlyc3RDaGls
ZCgpOworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFu
b2RlIHx8IG5vZGUtPmlzSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkpOworICAgICAgICByZXR1
cm4gbm9kZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorYm9vbCBIVE1MSW1hZ2VFbGVt
ZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBjb25zdAor
eworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxlbWVudDo6
Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklYTUU6IFdl
IHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBsb2dpYy4g
U2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50Ojp3aWxs
UmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2MjQuLmVi
YzU4YjE5Mjg0MmZkODI2ZjlmMDFkY2VjMTAxMTg4Zjg0MzU3M2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDggQEAgcHVibGljOgogCiAgICAg
Y29uc3QgQXRvbVN0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsKICAgICAK
KyAgICBib29sIGhhc1NoYWRvd0NvbnRyb2xzKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVF
bmFibGVkOyB9CisgICAgCiAgICAgSFRNTFBpY3R1cmVFbGVtZW50KiBwaWN0dXJlRWxlbWVudCgp
IGNvbnN0OwogICAgIHZvaWQgc2V0UGljdHVyZUVsZW1lbnQoSFRNTFBpY3R1cmVFbGVtZW50Kik7
CiAKQEAgLTE4OCw2ICsxOTAsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvcHlOb25BdHRyaWJ1
dGVQcm9wZXJ0aWVzRnJvbUVsZW1lbnQoY29uc3QgRWxlbWVudCYpIGZpbmFsOwogCiAgICAgZmxv
YXQgZWZmZWN0aXZlSW1hZ2VEZXZpY2VQaXhlbFJhdGlvKCkgY29uc3Q7CisgICAgCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7Cisg
ICAgdm9pZCB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgdm9pZCBkZXN0cm95SW1hZ2VD
b250cm9scygpOworICAgIGJvb2wgaGFzSW1hZ2VDb250cm9scygpIGNvbnN0OworICAgIGJvb2wg
Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7Cisj
ZW5kaWYKIAogICAgIEhUTUxTb3VyY2VFbGVtZW50KiBzb3VyY2VFbGVtZW50KCkgY29uc3Q7CiAg
ICAgdm9pZCBzZXRTb3VyY2VFbGVtZW50KEhUTUxTb3VyY2VFbGVtZW50Kik7CkBAIC0yMDEsNiAr
MjExLDcgQEAgcHJpdmF0ZToKICAgICBBdG9tU3RyaW5nIG1fY3VycmVudFNyYzsKICAgICBBdG9t
U3RyaW5nIG1fcGFyc2VkVXNlbWFwOwogICAgIGZsb2F0IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlv
OworICAgIGJvb2wgbV9pbWFnZU1lbnVFbmFibGVkOwogICAgIGJvb2wgbV9oYWROYW1lQmVmb3Jl
QXR0cmlidXRlQ2hhbmdlZCB7IGZhbHNlIH07IC8vIEZJWE1FOiBXZSBvbmx5IG5lZWQgdGhpcyBi
ZWNhdXNlIHBhcnNlQXR0cmlidXRlKCkgY2FuJ3Qgc2VlIHRoZSBvbGQgdmFsdWUuCiAgICAgYm9v
bCBtX2lzRHJvcHBlZEltYWdlUGxhY2Vob2xkZXIgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hMWY0NjBkMWJkN2QyZWRhN2U1MzE4NDQ1YzAzYWI0ZDI1NzRjOWQ2Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250cm9sc1Jv
b3RFbGVtZW50LmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0
LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNSb290RWxlbWVudC5oIgorCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KK25hbWVzcGFjZSBXZWJDb3JlIHsKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnQpOworI2lmICFQTEFURk9STShNQUMpCitSZWY8SW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50PiBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6Om1heWJlQ3JlYXRlKERv
Y3VtZW50JiBkb2N1bWVudCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJbWFnZUNvbnRy
b2xzUm9vdEVsZW1lbnQoZG9jdW1lbnQpKTsKK30KKyNlbmRpZgorSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50OjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQorICAg
IDogSFRNTERpdkVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQoreworfQorSW1h
Z2VDb250cm9sc1Jvb3RFbGVtZW50Ojp+SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkgPSBkZWZh
dWx0OworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbWFnZUNvbnRy
b2xzUm9vdEVsZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NWUyZDA3NDNlZDdhZTJhZmQ4OGM3YzQ0ODE4
OWRmNDQyYjhiM2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50LmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKyNwcmFnbWEgb25jZQorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1
ZGUgIkhUTUxEaXZFbGVtZW50LmgiCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBEb2N1bWVu
dDsKK2NsYXNzIEltYWdlQ29udHJvbHNSb290RWxlbWVudCA6IHB1YmxpYyBIVE1MRGl2RWxlbWVu
dCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQp
OworcHVibGljOgorICAgIHZpcnR1YWwgfkltYWdlQ29udHJvbHNSb290RWxlbWVudCgpOworICAg
IHN0YXRpYyBSZWZQdHI8SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50PiB0cnlDcmVhdGUoRG9jdW1l
bnQmKTsKK3Byb3RlY3RlZDoKKyAgICBleHBsaWNpdCBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQo
RG9jdW1lbnQmKTsKK3ByaXZhdGU6CisgICAgYm9vbCBpc0ltYWdlQ29udHJvbHNSb290RWxlbWVu
dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KK307Cit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNCdXR0b25F
bGVtZW50TWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNzgxNTljZGJjZjA3Y2M4MzAyMTViY2Y1OTMzNzY3
M2EwNzQyZGFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjLmNwcApAQCAtMCwwICsxLDEwOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRy
b2xzQnV0dG9uRWxlbWVudE1hYy5oIgorCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisj
aW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNp
bmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJGcmFt
ZVNlbGVjdGlvbi5oIgorI2luY2x1ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiUGFn
ZS5oIgorI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRlclN0eWxl
LmgiCisjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKKyNpbmNsdWRlICJTaGFkb3dSb290LmgiCisj
aW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KK25hbWVzcGFjZSBXZWJDb3JlIHsKK1dU
Rl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYyk7
CitjbGFzcyBSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uIGZpbmFsIDogcHVibGljIFJlbmRlckJs
b2NrRmxvdyB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoUmVuZGVySW1hZ2VD
b250cm9sc0J1dHRvbik7CitwdWJsaWM6CisgICAgUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbihI
VE1MRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOworICAgIHZpcnR1YWwgflJlbmRlckltYWdlQ29u
dHJvbHNCdXR0b24oKTsKK3ByaXZhdGU6CisgICAgdm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBv
dmVycmlkZTsKKyAgICBMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgY29tcHV0ZUxvZ2ljYWxI
ZWlnaHQoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNv
bnN0IG92ZXJyaWRlOworICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlk
ZSB7IHJldHVybiAiUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbiI7IH0KK307CitSZW5kZXJJbWFn
ZUNvbnRyb2xzQnV0dG9uOjpSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uKEhUTUxFbGVtZW50JiBl
bGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorICAgIDogUmVuZGVyQmxvY2tGbG93KGVsZW1l
bnQsIFdURk1vdmUoc3R5bGUpKQoreworfQorUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbjo6flJl
bmRlckltYWdlQ29udHJvbHNCdXR0b24oKSA9IGRlZmF1bHQ7Cit2b2lkIFJlbmRlckltYWdlQ29u
dHJvbHNCdXR0b246OnVwZGF0ZUxvZ2ljYWxXaWR0aCgpCit7CisgICAgUmVuZGVyQm94Ojp1cGRh
dGVMb2dpY2FsV2lkdGgoKTsKKyAgICBJbnRTaXplIGZyYW1lU2l6ZSA9IHRoZW1lKCkuaW1hZ2VD
b250cm9sc0J1dHRvblNpemUoKnRoaXMpOworICAgIHNldExvZ2ljYWxXaWR0aChpc0hvcml6b250
YWxXcml0aW5nTW9kZSgpID8gZnJhbWVTaXplLndpZHRoKCkgOiBmcmFtZVNpemUuaGVpZ2h0KCkp
OworfQorUmVuZGVyQm94OjpMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMgUmVuZGVySW1hZ2VD
b250cm9sc0J1dHRvbjo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3V0VW5pdCBsb2dpY2FsSGVp
Z2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNvbnN0Cit7CisgICAgYXV0byBjb21wdXRlZFZh
bHVlcyA9IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCwgbG9n
aWNhbFRvcCk7CisgICAgSW50U2l6ZSBmcmFtZVNpemUgPSB0aGVtZSgpLmltYWdlQ29udHJvbHNC
dXR0b25TaXplKCp0aGlzKTsKKyAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCA9IGlzSG9yaXpv
bnRhbFdyaXRpbmdNb2RlKCkgPyBmcmFtZVNpemUuaGVpZ2h0KCkgOiBmcmFtZVNpemUud2lkdGgo
KTsKKyAgICByZXR1cm4gY29tcHV0ZWRWYWx1ZXM7Cit9CitJbWFnZUNvbnRyb2xzQnV0dG9uRWxl
bWVudE1hYzo6SW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWMoRG9jdW1lbnQmIGRvY3VtZW50
KQorICAgIDogSFRNTERpdkVsZW1lbnQoSFRNTE5hbWVzOjpkaXZUYWcsIGRvY3VtZW50KQorewor
fQorSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWM6On5JbWFnZUNvbnRyb2xzQnV0dG9uRWxl
bWVudE1hYygpID0gZGVmYXVsdDsKK1JlZlB0cjxJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1h
Yz4gSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnRNYWM6OnRyeUNyZWF0ZShEb2N1bWVudCYgZG9j
dW1lbnQpCit7CisgICAgaWYgKCFkb2N1bWVudC5wYWdlKCkpCisgICAgICAgIHJldHVybiBudWxs
cHRyOworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmlu
Zz4geFdlYmtpdEltYWdlQ29udHJvbHNCdXR0b25OYW1lKCJ4LXdlYmtpdC1pbWFnZS1jb250cm9s
cy1idXR0b24iLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgYXV0byBi
dXR0b24gPSBhZG9wdFJlZigqbmV3IEltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjKGRvY3Vt
ZW50KSk7CisgICAgYnV0dG9uLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhU
TUxOYW1lczo6Y2xhc3NBdHRyLCB4V2Via2l0SW1hZ2VDb250cm9sc0J1dHRvbk5hbWUpOworICAg
IEludFNpemUgcG9zaXRpb25PZmZzZXQgPSBSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuaW1hZ2VD
b250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCk7CisgICAgYnV0dG9uLT5zZXRJbmxpbmVTdHls
ZVByb3BlcnR5KENTU1Byb3BlcnR5VG9wLCBwb3NpdGlvbk9mZnNldC5oZWlnaHQoKSwgQ1NTVW5p
dFR5cGU6OkNTU19QWCk7CisgICAgLy8gRklYTUU6IFdoeSBpcyByaWdodDogMHB4IG9mZiB0aGUg
cmlnaHQgZWRnZSBvZiB0aGUgcGFyZW50PworICAgIGJ1dHRvbi0+c2V0SW5saW5lU3R5bGVQcm9w
ZXJ0eShDU1NQcm9wZXJ0eVJpZ2h0LCBwb3NpdGlvbk9mZnNldC53aWR0aCgpLCBDU1NVbml0VHlw
ZTo6Q1NTX1BYKTsKKyAgICByZXR1cm4gV1RGTW92ZShidXR0b24pOworfQordm9pZCBJbWFnZUNv
bnRyb2xzQnV0dG9uRWxlbWVudE1hYzo6ZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCYgZXZlbnQp
Cit7CisgICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBldmVudE5hbWVzKCkuY2xpY2tFdmVudCkgewor
ICAgICAgICBSZWZQdHI8RnJhbWU+IGZyYW1lID0gZG9jdW1lbnQoKS5mcmFtZSgpOworICAgICAg
ICBpZiAoIWZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBQYWdlKiBwYWdlID0g
ZG9jdW1lbnQoKS5wYWdlKCk7CisgICAgICAgIGlmICghcGFnZSkKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgcGFnZS0+Y29udGV4dE1lbnVDb250cm9sbGVyKCkuc2hvd0ltYWdlQ29udHJv
bHNNZW51KGV2ZW50KTsKKyAgICAgICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBIVE1MRGl2RWxlbWVudDo6ZGVmYXVsdEV2ZW50SGFuZGxl
cihldmVudCk7Cit9CitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gSW1hZ2VDb250cm9sc0J1dHRv
bkVsZW1lbnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBj
b25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKQoreworICAgIHJldHVybiBjcmVhdGVSZW5kZXJlcjxS
ZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOworfQorfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNC
dXR0b25FbGVtZW50TWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VD
b250cm9sc0J1dHRvbkVsZW1lbnRNYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iM2JmYjM3Y2Q0MmY3YmI5MzI4
MmZhOTYwNzQzOGJmYTc0ZTk1ZmNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50TWFjLmgKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKyNwcmFnbWEgb25jZQorI2luY2x1ZGUgIkhUTUxEaXZF
bGVtZW50LmgiCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCituYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYyBmaW5hbCA6IHB1YmxpYyBI
VE1MRGl2RWxlbWVudCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUNvbnRyb2xz
QnV0dG9uRWxlbWVudE1hYyk7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VDb250cm9sc0J1
dHRvbkVsZW1lbnRNYWMoKTsKKyAgICBzdGF0aWMgUmVmUHRyPEltYWdlQ29udHJvbHNCdXR0b25F
bGVtZW50TWFjPiB0cnlDcmVhdGUoRG9jdW1lbnQmKTsKK3ByaXZhdGU6CisgICAgSW1hZ2VDb250
cm9sc0J1dHRvbkVsZW1lbnRNYWMoRG9jdW1lbnQmKTsKKyAgICB2b2lkIGRlZmF1bHRFdmVudEhh
bmRsZXIoRXZlbnQmKSBvdmVycmlkZTsKKyAgICBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gY3Jl
YXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRyZWVQb3NpdGlv
biYpIG92ZXJyaWRlOworICAgIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KK307Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01hYy5jc3MKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDZi
OTNmNjZkYjYyN2I4MWEzZTg0ZTM2MGQyNTQ5YWQxNmZkZjkxNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNzcwpAQCAt
MCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpZiBkZWZp
bmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFCTEVfU0VSVklDRV9DT05UUk9MUwor
CisueC13ZWJraXQtaW1hZ2UtY29udHJvbHMgeworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKK30K
KworLngtd2Via2l0LWltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246IGFic29s
dXRlOworICAgIAorICAgIGRpc3BsYXk6IGJsb2NrOworCisgICAgLXdlYmtpdC1hcHBlYXJhbmNl
OiBpbWFnZS1jb250cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVz
OworICAgIG9wYWNpdHk6IC4yNTsKK30KKworLngtd2Via2l0LWltYWdlLWNvbnRyb2xzOmhvdmVy
IC54LXdlYmtpdC1pbWFnZS1jb250cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1h
Z2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFkNmJlMDQw
MTE5NTY5MjIyMTNkYWZhZjcxOTJiNzllYzZlMDRhMjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmNw
cApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oIgorCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYy5oIgorI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5o
IgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorbmFtZXNwYWNlIFdlYkNvcmUgeworV1RG
X01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYyk7Citj
bGFzcyBSZW5kZXJJbWFnZUNvbnRyb2xzIGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrRmxvdyB7
CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoUmVuZGVySW1hZ2VDb250cm9scyk7
CitwdWJsaWM6CisgICAgUmVuZGVySW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYsIFJlbmRlclN0
eWxlJiYpOworICAgIHZpcnR1YWwgflJlbmRlckltYWdlQ29udHJvbHMoKTsKK3ByaXZhdGU6Cisg
ICAgdm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBvdmVycmlkZTsKKyAgICBMb2dpY2FsRXh0ZW50
Q29tcHV0ZWRWYWx1ZXMgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3V0VW5pdCBsb2dpY2FsSGVp
Z2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNvbnN0IG92ZXJyaWRlOworICAgIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySW1hZ2VDb250
cm9scyI7IH0KK307CitSZW5kZXJJbWFnZUNvbnRyb2xzOjpSZW5kZXJJbWFnZUNvbnRyb2xzKEhU
TUxFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorICAgIDogUmVuZGVyQmxv
Y2tGbG93KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQoreworfQorUmVuZGVySW1hZ2VDb250cm9s
czo6flJlbmRlckltYWdlQ29udHJvbHMoKSA9IGRlZmF1bHQ7Cit2b2lkIFJlbmRlckltYWdlQ29u
dHJvbHM6OnVwZGF0ZUxvZ2ljYWxXaWR0aCgpCit7CisgICAgUmVuZGVyQm94Ojp1cGRhdGVMb2dp
Y2FsV2lkdGgoKTsKKyAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9IGVsZW1lbnQoKS0+c2hh
ZG93SG9zdCgpLT5yZW5kZXJlcigpOworICAgIGlmICghaXM8UmVuZGVySW1hZ2U+KCpyZW5kZXJl
cikpCisgICAgICAgIHJldHVybjsKKyAgICBzZXRMb2dpY2FsV2lkdGgoZG93bmNhc3Q8UmVuZGVy
SW1hZ2U+KCpyZW5kZXJlcikubG9naWNhbFdpZHRoKCkpOworfQorUmVuZGVyQm94OjpMb2dpY2Fs
RXh0ZW50Q29tcHV0ZWRWYWx1ZXMgUmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxI
ZWlnaHQoTGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNv
bnN0Cit7CisgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2lj
YWxIZWlnaHQobG9naWNhbEhlaWdodCwgbG9naWNhbFRvcCk7CisgICAgUmVuZGVyRWxlbWVudCog
cmVuZGVyZXIgPSBlbGVtZW50KCktPnNoYWRvd0hvc3QoKS0+cmVuZGVyZXIoKTsKKyAgICBpZiAo
IWlzPFJlbmRlckltYWdlPigqcmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gY29tcHV0ZWRWYWx1
ZXM7CisgICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4o
KnJlbmRlcmVyKS5sb2dpY2FsSGVpZ2h0KCk7CisgICAgcmV0dXJuIGNvbXB1dGVkVmFsdWVzOwor
fQorUmVmUHRyPEltYWdlQ29udHJvbHNSb290RWxlbWVudD4gSW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50Ojp0cnlDcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQu
cGFnZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBzdGF0aWMgTWFpblRocmVhZE5l
dmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IHhXZWJraXRJbWFnZUNvbnRyb2xzTmFtZSgi
eC13ZWJraXQtaW1hZ2UtY29udHJvbHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJh
bCk7CisgICAgUmVmPEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYz4gY29udHJvbHMgPSBhZG9w
dFJlZigqbmV3IEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYyhkb2N1bWVudCkpOworICAgIGNv
bnRyb2xzLT5zZXRBdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKEhUTUxOYW1lczo6Y2xh
c3NBdHRyLCB4V2Via2l0SW1hZ2VDb250cm9sc05hbWUpOworICAgIGlmIChSZWZQdHI8SW1hZ2VD
b250cm9sc0J1dHRvbkVsZW1lbnRNYWM+IGJ1dHRvbiA9IEltYWdlQ29udHJvbHNCdXR0b25FbGVt
ZW50TWFjOjp0cnlDcmVhdGUoZG9jdW1lbnQpKQorICAgICAgICBjb250cm9scy0+YXBwZW5kQ2hp
bGQoKmJ1dHRvbik7CisgICAgcmV0dXJuIFdURk1vdmUoY29udHJvbHMpOworfQorSW1hZ2VDb250
cm9sc1Jvb3RFbGVtZW50TWFjOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMoRG9jdW1lbnQm
IGRvY3VtZW50KQorICAgIDogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KGRvY3VtZW50KQorewor
fQorSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjp+SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
TWFjKCkgPSBkZWZhdWx0OworUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IEltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYzo6Y3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYgc3R5bGUs
IGNvbnN0IFJlbmRlclRyZWVQb3NpdGlvbiYpCit7CisgICAgcmV0dXJuIGNyZWF0ZVJlbmRlcmVy
PFJlbmRlckltYWdlQ29udHJvbHM+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7Cit9Cit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50TWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50TWFjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlmODg0NjAyOTQ1NWIyZGRhOGVhN2VlYTA2
YzNhOWUwOTgyMjY4ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuaApAQCAtMCwwICsxLDM5IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworI3ByYWdtYSBvbmNlCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50LmgiCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCituYW1lc3BhY2UgV2ViQ29y
ZSB7CitjbGFzcyBJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMgZmluYWwgOiBwdWJsaWMgSW1h
Z2VDb250cm9sc1Jvb3RFbGVtZW50IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEltYWdl
Q29udHJvbHNSb290RWxlbWVudE1hYyk7CisgICAgZnJpZW5kIGNsYXNzIEltYWdlQ29udHJvbHNS
b290RWxlbWVudDsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMoKTsKK3ByaXZhdGU6CisgICAgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjKERvY3Vt
ZW50Jik7CisgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnRSZW5kZXJl
cihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24mKSBvdmVycmlkZTsKK307
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5k
ZXggMzUxZGVmNTU2ZjFjMzc0ZTQ1NTU3OWI0OGQ2YTcyOWJjODJlOWFiOS4uZDVjMmRjM2Y4N2Ew
M2E5YjY1ZDU0YmU5Njk5YzYwNWY3MjJlNzFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtMTQzLDYgKzE0MywyMSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1l
bnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1l
bnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVy
KCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVy
ZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJl
ZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9y
UmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZl
bnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzcsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRN
ZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQK
IAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0
KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChub2RlLmlzSW1hZ2VD
b250cm9sc0J1dHRvbkVsZW1lbnQoKSkgeworICAgICAgICBpZiAoYXV0byogaW1hZ2UgPSBpbWFn
ZUZyb21JbWFnZUVsZW1lbnROb2RlKCpyZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCkpKQorICAg
ICAgICAgICAgbV9jb250ZXh0LnNldENvbnRyb2xsZWRJbWFnZShpbWFnZSk7CisKKyAgICAgICAg
Ly8gRklYTUU6IElmIHdlIGNvdWxkbid0IGdldCB0aGUgaW1hZ2UgdGhlbiB3ZSBzaG91bGRuJ3Qg
dHJ5IHRvIHNob3cgdGhlIGltYWdlIGNvbnRyb2xzIG1lbnUgZm9yIGl0LgorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICByZXR1cm4gbWFrZVVuaXF1ZTxD
b250ZXh0TWVudT4oKTsKIH0KIApAQCAtMTUzNiw2ICsxNTYxLDE3IEBAIHZvaWQgQ29udGV4dE1l
bnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnVBdChGcmFtZSYgZnJhbWUsIGNvbnN0IEludFBv
aW50JiBjbGljCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3Zv
aWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93SW1hZ2VDb250cm9sc01lbnUoRXZlbnQmIGV2
ZW50KQoreworICAgIGNsZWFyQ29udGV4dE1lbnUoKTsKKyAgICBoYW5kbGVDb250ZXh0TWVudUV2
ZW50KGV2ZW50KTsKKyAgICBtX2NsaWVudC5zaG93Q29udGV4dE1lbnUoKTsKK30KKworI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShDT05URVhUX01F
TlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKaW5kZXgg
NmZlMmJkM2E4NjdhMjdhYWM4Yjc0YjQxZTMzZWI1ZDE4NzZlNDA3ZS4uOTA2MWRhNzI0YmMzZjgw
YjM5MDI0Y2RlODc5Y2JkNjNjZTViNzBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5oCkBAIC02OSw2ICs2OSwxMCBAQCBwdWJsaWM6CiAjaWYgVVNFKEFD
Q0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykKICAgICB2b2lkIHNob3dDb250ZXh0TWVudUF0KEZy
YW1lJiwgY29uc3QgSW50UG9pbnQmIGNsaWNrUG9pbnQpOwogI2VuZGlmCisgICAgCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBzaG93SW1hZ2VDb250cm9sc01lbnUoRXZl
bnQmKTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250ZXh0TWVu
dT4gbWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudCYsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVz
dDo6VHlwZT4gaGl0VHlwZSwgQ29udGV4dE1lbnVDb250ZXh0OjpUeXBlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA3YzM0OWI3MDgyNzQxZGY3NmNmNzFiY2ZkYjkwZGFh
MDk4YmJiMGEzLi5hMTEyMWVjYjk2ZmU4OWJjNjljNjIyZmZhNzgwOWJjMGI1ZDViZDM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yNTM0LDYgKzI1MzQsMTAgQEAgUmVm
UHRyPEVsZW1lbnQ+IEV2ZW50SGFuZGxlcjo6dGV4dFJlY29nbml0aW9uQ2FuZGlkYXRlRWxlbWVu
dCgpIGNvbnN0CiAKICAgICBpZiAoIWNhbmRpZGF0ZUVsZW1lbnQpCiAgICAgICAgIHJldHVybiBu
dWxscHRyOworICAgIAorICAgIGlmIChjYW5kaWRhdGVFbGVtZW50LT5oYXNFZGl0YWJsZVN0eWxl
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIAogCiAgICAgYXV0byByZW5kZXJlciA9
IGNhbmRpZGF0ZUVsZW1lbnQtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4o
cmVuZGVyZXIpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4
NjAxNzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUx
OWJkZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVz
LmNwcApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0
eUxldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5k
aWNhdG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGlj
YXRvclBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7
IGJyZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5n
LWxldmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRy
b2xzLWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQog
ICAgIGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0
IjsgYnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBj
ZTdhZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUx
MzExOWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5oCkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXND
YXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRp
Y2F0b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lm
IEVOQUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2
ZTU5OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5iODY2YjYwYzZiMTQyYWJkMGEyNzNlODRkZDk1ZWIy
ZjYwNGI1OTNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAg
LTE0NSw2ICsxNDUsOCBAQCBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRWxlbWVudCYgZWxlbWVu
dCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5bAogICAgICwgbV9pbWFnZURl
dmljZVBpeGVsUmF0aW8oaW1hZ2VEZXZpY2VQaXhlbFJhdGlvKQogewogICAgIHVwZGF0ZUFsdFRl
eHQoKTsKKyAgICBpZiAoaXM8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIG1f
aGFzU2hhZG93Q29udHJvbHMgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KS5o
YXNTaGFkb3dDb250cm9scygpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZj
YWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMmI5YTZlYWI3YTc3MTllNTYzN2JhMDU3
NGNiYzNmYjAxOTNkYmE1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZl
bEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBl
bGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xv
Y2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JT
dHlsZShzdHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1
NTAsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENv
bnRyb2xTdGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2Vh
cmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25h
cHBlZFJlY3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAg
ICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBp
bnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBj
YXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNv
bnRyb2xzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRp
ZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRD
YXBzTG9ja0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAj
aWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1l
OjpwYWludEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNl
YXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CiAgICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVj
b3JhdGlvbnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAg
ICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25Q
YXJ0OgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9s
c0J1dHRvblBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjExY2U2OTQ3
MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLmI0YTBlZjBmYTgzODI5YzI0MGFjZTI0ODAyN2Y5
OWE0OTJmODRlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC05
NSw2ICs5NSw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoRlVMTFNDUkVFTl9BUEkpCiAgICAgdmly
dHVhbCBTdHJpbmcgZXh0cmFGdWxsU2NyZWVuU3R5bGVTaGVldCgpIHsgcmV0dXJuIFN0cmluZygp
OyB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIFN0
cmluZyBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCgpIGNvbnN0IHsgcmV0dXJuIFN0cmluZygpOyB9
CisjZW5kaWYKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBTdHJpbmcgZGF0YUxp
c3RTdHlsZVNoZWV0KCkgY29uc3Q7CiAjZW5kaWYKQEAgLTI0OSw2ICsyNTIsMTEgQEAgcHVibGlj
OgogCiAgICAgZW51bSBGaWxlVXBsb2FkRGVjb3JhdGlvbnMgeyBTaW5nbGVGaWxlLCBNdWx0aXBs
ZUZpbGVzIH07CiAgICAgdmlydHVhbCB2b2lkIHBhaW50RmlsZVVwbG9hZEljb25EZWNvcmF0aW9u
cyhjb25zdCBSZW5kZXJPYmplY3QmIC8qaW5wdXRSZW5kZXJlciovLCBjb25zdCBSZW5kZXJPYmpl
Y3QmIC8qYnV0dG9uUmVuZGVyZXIqLywgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYs
IEljb24qLCBGaWxlVXBsb2FkRGVjb3JhdGlvbnMpIHsgfQorICAgIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZShjb25zdCBSZW5kZXJPYmplY3QmKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7IH0KKyAgICB2
aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3Qg
eyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNv
bnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXplKCk7IH0KQEAg
LTQwNiw2ICs0MTQsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlh
VGltZVJlbWFpbmluZyhjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBwYWludE1lZGlh
RnVsbFNjcmVlblZvbHVtZVNsaWRlclRyYWNrKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBi
b29sIHBhaW50TWVkaWFGdWxsU2NyZWVuVm9sdW1lU2xpZGVyVGh1bWIoY29uc3QgUmVuZGVyT2Jq
ZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0K
KyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5m
byYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisjZW5kaWYKIAogcHVibGljOgog
ICAgIHZvaWQgdXBkYXRlQ29udHJvbFN0YXRlc0ZvclJlbmRlcmVyKGNvbnN0IFJlbmRlckJveCYs
IENvbnRyb2xTdGF0ZXMmKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1NS4u
MTM4NTFkMTMxYmMyN2EzYzI5MmViYjk3ZjYyNTk0OTRlZjU2OGVhYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTEwNCw2ICsxMDQsMTAgQEAgcHJpdmF0
ZToKICAgICBSZW5kZXJUaGVtZU1hYygpOwogCiAgICAgYm9vbCBjYW5QYWludChjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBTZXR0aW5ncyYpIGNvbnN0IGZpbmFsOworICAgIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIFN0cmluZyBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldCgpIGNv
bnN0IGZpbmFsOworI2VuZGlmCiAKICAgICBib29sIHBhaW50VGV4dEZpZWxkKGNvbnN0IFJlbmRl
ck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpIGZpbmFsOwogICAg
IHZvaWQgYWRqdXN0VGV4dEZpZWxkU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50Kikg
Y29uc3QgZmluYWw7CkBAIC0yMDgsNiArMjEyLDE0IEBAIHByaXZhdGU6CiAgICAgaW50IG1pbmlt
dW1Qcm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogICAgIGNvbnN0
IEludFNpemUqIHByb2dyZXNzQmFyU2l6ZXMoKSBjb25zdDsKICAgICBjb25zdCBpbnQqIHByb2dy
ZXNzQmFyTWFyZ2lucyhOU0NvbnRyb2xTaXplKSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBS
ZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7Cisg
ICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZShjb25zdCBSZW5kZXJPYmplY3QmKSBj
b25zdCBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNl
dCgpIGNvbnN0IGZpbmFsOworCisgICAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqc2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKKyNlbmRpZgogCiAgICAgbXV0YWJsZSBS
ZXRhaW5QdHI8TlNQb3BVcEJ1dHRvbkNlbGw+IG1fcG9wdXBCdXR0b247CiAgICAgbXV0YWJsZSBS
ZXRhaW5QdHI8TlNTZWFyY2hGaWVsZENlbGw+IG1fc2VhcmNoOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGFhNjBmMmViMmM0MjMyZWM5MGZhOTNmZWEw
ZmU4MDcwNjFiMzU4YzIuLjJhNTQ1MDZmODI2ZGI2M2ZkNGQxNjQzYmJhNDM2NWY2MDM1Yzk3Njkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTg3LDEw
ICs4NywxOSBAQAogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBp
biB0aGUgc3BpIGRpcmVjdG9yeS4KICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2ltcG9y
dCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05TU2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KICNlbHNlCiAjZGVmaW5lIEFQUEtJVF9QUklWQVRF
X0NMQVNTCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgOiBOU0J1dHRv
bkNlbGwKK0BlbmQKICNlbmRpZgogCisvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBT
UEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgorQGludGVyZmFjZSBOU1NlcnZpY2VzUm9s
bG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICopc2Vy
dmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU3R5
bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJvdW5kcyBwcmVmZXJy
ZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKICNlbmRpZiAvLyBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKIAogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4g
U1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KQEAgLTI4NCw2ICsyOTMsMTUgQEAgTlNW
aWV3ICpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9yKGNvbnN0IFJlbmRlck9iamVjdCYg
bykgY29uc3QKICAgICByZXR1cm4gVGhlbWVNYWM6OmVuc3VyZWRWaWV3KCZvLnZpZXcoKS5mcmFt
ZVZpZXcoKSwgc3RhdGVzKTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitT
dHJpbmcgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNTdHlsZVNoZWV0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gU3RyaW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0LCBz
aXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKTsKK30KKworI2VuZGlm
CisKIENvbG9yIFJlbmRlclRoZW1lTWFjOjpwbGF0Zm9ybUFjdGl2ZVNlbGVjdGlvbkJhY2tncm91
bmRDb2xvcihPcHRpb25TZXQ8U3R5bGVDb2xvck9wdGlvbnM+IG9wdGlvbnMpIGNvbnN0CiB7CiAg
ICAgTG9jYWxEZWZhdWx0U3lzdGVtQXBwZWFyYW5jZSBsb2NhbEFwcGVhcmFuY2Uob3B0aW9ucy5j
b250YWlucyhTdHlsZUNvbG9yT3B0aW9uczo6VXNlRGFya0FwcGVhcmFuY2UpKTsKQEAgLTIyODIs
NiArMjMwMCw0NCBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6OmZpbGVMaXN0TmFtZUZvcldpZHRo
KGNvbnN0IEZpbGVMaXN0KiBmaWxlTGlzdCwgY29uc3QgRm9udAogICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250KTsKIH0K
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCogUmVuZGVyVGhlbWVNYWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3QK
K3sKKyAgICBpZiAoIW1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbikgeworICAgICAgICBtX3NlcnZp
Y2VzUm9sbG92ZXJCdXR0b24gPSBbTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCBzZXJ2aWNl
Um9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6TlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlUm9s
bG92ZXJdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJlemVsU3R5bGU6
TlNCZXplbFN0eWxlUm91bmRlZERpc2Nsb3N1cmVdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uIHNldEJ1dHRvblR5cGU6TlNCdXR0b25UeXBlUHVzaE9uUHVzaE9mZl07CisgICAg
ICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0SW1hZ2VQb3NpdGlvbjpOU0ltYWdlT25s
eV07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0U3RhdGU6Tk9dOworICAg
IH0KKyAgICByZXR1cm4gbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uLmdldCgpOworfQorYm9vbCBS
ZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVj
dCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiBy
ZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBs
b2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3Rh
dGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIHBhaW50SW5mby5j
b250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24oKSk7CisgICAgSW50UmVjdCBpbm5lckZy
YW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlu
bmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcildOworICAgIFtjZWxsIHNl
dENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIHRydWU7Cit9CitJbnRTaXplIFJlbmRlclRo
ZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZShjb25zdCBSZW5kZXJPYmplY3QmKSBjb25z
dAoreworICAgIHJldHVybiBJbnRTaXplKHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkuY2Vs
bFNpemUpOworfQorSW50U2l6ZSBSZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblBv
c2l0aW9uT2Zmc2V0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IHRoZSBvZmZz
ZXRzIHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIG5vIG1hdHRlciB3aGF0IGltYWdlIHJlY3QgeW91
IHRyeSB3aXRoLgorICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgYmUgdHJ1ZSBpbiB0aGUgZnV0
dXJlLgorICAgIHN0YXRpYyBjb25zdCBpbnQgZHVtbXlEaW1lbnNpb24gPSAxMDA7CisgICAgSW50
UmVjdCBkdW1teUltYWdlUmVjdCgwLCAwLCBkdW1teURpbWVuc2lvbiwgZHVtbXlEaW1lbnNpb24p
OworICAgIE5TUmVjdCBib3VuZHMgPSBbc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSByZWN0
Rm9yQm91bmRzOmR1bW15SW1hZ2VSZWN0IHByZWZlcnJlZEVkZ2U6TlNNaW5ZRWRnZV07CisgICAg
cmV0dXJuIEludFNpemUoZHVtbXlEaW1lbnNpb24gLSBib3VuZHMub3JpZ2luLngsIGJvdW5kcy5v
cmlnaW4ueSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiBj
b25zdCBDR0Zsb2F0IGF0dGFjaG1lbnRJY29uU2l6ZSA9IDQ4OwogY29uc3QgQ0dGbG9hdCBhdHRh
Y2htZW50SWNvbkJhY2tncm91bmRQYWRkaW5nID0gNjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcAppbmRleCBlMTFkNmZmYTdkZWU5YjQ4MjgxNjUxMjcyNDNkYzc1ZTFjMjM5
Y2JjLi45M2RmZjlhNGIwMGEyMjM1MmJiN2E5ZjQwZmEwZmE2OTVkODRlNGYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCkBAIC03NCw2ICs3NCw5IEBAIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1hdGhNTFN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0
Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIFN0eWxl
U2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogU3R5
bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6cGx1Z0luc1N0eWxlU2hlZXQ7CisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0
eWxlOjppbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFRdWVyeVN0eWxlU2hlZXQ7CiAjaWYgRU5BQkxFKERBVEFM
SVNUX0VMRU1FTlQpCiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpkYXRhTGlz
dFN0eWxlU2hlZXQ7CkBAIC0xODYsNiArMTg5LDE1IEBAIHZvaWQgVXNlckFnZW50U3R5bGU6OmVu
c3VyZURlZmF1bHRTdHlsZVNoZWV0c0ZvckVsZW1lbnQoY29uc3QgRWxlbWVudCYgZWxlbWVudCkK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShWSURFTykgJiYgIUVO
QUJMRShNT0RFUk5fTUVESUFfQ09OVFJPTFMpCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgICAgIGVsc2UgaWYgKGlzPEhUTUxEaXZFbGVtZW50PihlbGVtZW50KSAmJiBlbGVtZW50
LmlzSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KCkpIHsKKyAgICAgICAgICAgIGlmICghaW1hZ2VD
b250cm9sc1N0eWxlU2hlZXQpIHsKKyAgICAgICAgICAgICAgICBTdHJpbmcgaW1hZ2VDb250cm9s
c1J1bGVzID0gUmVuZGVyVGhlbWU6OnNpbmdsZXRvbigpLmltYWdlQ29udHJvbHNTdHlsZVNoZWV0
KCk7CisgICAgICAgICAgICAgICAgaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQgPSBwYXJzZVVBU2hl
ZXQoaW1hZ2VDb250cm9sc1J1bGVzKTsKKyAgICAgICAgICAgICAgICBhZGRUb0RlZmF1bHRTdHls
ZSgqaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisj
ZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VM
RU1FTlQpCiAgICAgICAgIGVsc2UgaWYgKCFkYXRhTGlzdFN0eWxlU2hlZXQgJiYgaXM8SFRNTERh
dGFMaXN0RWxlbWVudD4oZWxlbWVudCkpIHsKICAgICAgICAgICAgIGRhdGFMaXN0U3R5bGVTaGVl
dCA9IHBhcnNlVUFTaGVldChSZW5kZXJUaGVtZTo6c2luZ2xldG9uKCkuZGF0YUxpc3RTdHlsZVNo
ZWV0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5
ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uNjUwNTAyOTNmODUwMDY3MzdhYmQ1N2Jm
NWQ4Mzc3ZTdiYTg2YWM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBA
IC00Niw2ICs0Niw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBt
ZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBm
dWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVn
SW5zU3R5bGVTaGVldDsKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRy
b2xzU3R5bGVTaGVldDsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBzdGF0aWMg
U3R5bGVTaGVldENvbnRlbnRzKiBkYXRhTGlzdFN0eWxlU2hlZXQ7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DU1NLZXl3b3Jk
Q29tcGxldGlvbnMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvQ1NTS2V5d29yZENvbXBsZXRpb25zLmpzCmluZGV4IDIxNDk1NTBmODM2YTRjZDBkZmQ1M2E4
YjBjMmIwNjhmODZiYjc3MDQuLmJiZTllY2U4ZDRjMGEwZmQ4MTc0M2I1NDY5MDU5MzRjMDQ0OTVm
YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9DU1NLZXl3b3JkQ29tcGxldGlvbnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL0NTU0tleXdvcmRDb21wbGV0aW9ucy5qcwpAQCAtOTkyLDcgKzk5
Miw3IEBAIFdJLkNTU0tleXdvcmRDb21wbGV0aW9ucy5fcHJvcGVydHlLZXl3b3JkTWFwID0gewog
ICAgICAgICAiZWFzZSIsICJsaW5lYXIiLCAiZWFzZS1pbiIsICJlYXNlLW91dCIsICJlYXNlLWlu
LW91dCIsICJzdGVwLXN0YXJ0IiwgInN0ZXAtZW5kIiwgInN0ZXBzKCkiLCAiY3ViaWMtYmV6aWVy
KCkiLCAic3ByaW5nKCkiLAogICAgIF0sCiAgICAgIi13ZWJraXQtYXBwZWFyYW5jZSI6IFsKLSAg
ICAgICAgIm5vbmUiLCAiY2hlY2tib3giLCAicmFkaW8iLCAicHVzaC1idXR0b24iLCAic3F1YXJl
LWJ1dHRvbiIsICJidXR0b24iLCAiYnV0dG9uLWJldmVsIiwgImRlZmF1bHQtYnV0dG9uIiwgImlu
bmVyLXNwaW4tYnV0dG9uIiwgImxpc3Rib3giLCAibGlzdGl0ZW0iLCAibWVkaWEtY29udHJvbHMt
YmFja2dyb3VuZCIsICJtZWRpYS1jb250cm9scy1kYXJrLWJhci1iYWNrZ3JvdW5kIiwgIm1lZGlh
LWNvbnRyb2xzLWZ1bGxzY3JlZW4tYmFja2dyb3VuZCIsICJtZWRpYS1jb250cm9scy1saWdodC1i
YXItYmFja2dyb3VuZCIsICJtZWRpYS1jdXJyZW50LXRpbWUtZGlzcGxheSIsICJtZWRpYS1lbnRl
ci1mdWxsc2NyZWVuLWJ1dHRvbiIsICJtZWRpYS1leGl0LWZ1bGxzY3JlZW4tYnV0dG9uIiwgIm1l
ZGlhLWZ1bGxzY3JlZW4tdm9sdW1lLXNsaWRlciIsICJtZWRpYS1mdWxsc2NyZWVuLXZvbHVtZS1z
bGlkZXItdGh1bWIiLCAibWVkaWEtbXV0ZS1idXR0b24iLCAibWVkaWEtb3ZlcmxheS1wbGF5LWJ1
dHRvbiIsICJtZWRpYS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1yZXR1cm4tdG8tcmVhbHRpbWUtYnV0
dG9uIiwgIm1lZGlhLXJld2luZC1idXR0b24iLCAibWVkaWEtc2Vlay1iYWNrLWJ1dHRvbiIsICJt
ZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9uIiwgIm1lZGlhLXNsaWRlciIsICJtZWRpYS1zbGlkZXJ0
aHVtYiIsICJtZWRpYS10aW1lLXJlbWFpbmluZy1kaXNwbGF5IiwgIm1lZGlhLXRvZ2dsZS1jbG9z
ZWQtY2FwdGlvbnMtYnV0dG9uIiwgIm1lZGlhLXZvbHVtZS1zbGlkZXIiLCAibWVkaWEtdm9sdW1l
LXNsaWRlci1jb250YWluZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1tdXRlLWJ1dHRvbiIsICJt
ZWRpYS12b2x1bWUtc2xpZGVydGh1bWIiLCAibWVudWxpc3QiLCAibWVudWxpc3QtYnV0dG9uIiwg
Im1lbnVsaXN0LXRleHQiLCAibWVudWxpc3QtdGV4dGZpZWxkIiwgIm1ldGVyIiwgInByb2dyZXNz
LWJhciIsICJwcm9ncmVzcy1iYXItdmFsdWUiLCAic2xpZGVyLWhvcml6b250YWwiLCAic2xpZGVy
LXZlcnRpY2FsIiwgInNsaWRlcnRodW1iLWhvcml6b250YWwiLCAic2xpZGVydGh1bWItdmVydGlj
YWwiLCAiY2FyZXQiLCAic2VhcmNoZmllbGQiLCAic2VhcmNoZmllbGQtZGVjb3JhdGlvbiIsICJz
ZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iLCAic2VhcmNoZmllbGQtcmVzdWx0cy1idXR0
b24iLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbiIsICJzbmFwc2hvdHRlZC1wbHVnaW4tb3Zl
cmxheSIsICJ0ZXh0ZmllbGQiLCAicmVsZXZhbmN5LWxldmVsLWluZGljYXRvciIsICJjb250aW51
b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1p
bmRpY2F0b3IiLCAicmF0aW5nLWxldmVsLWluZGljYXRvciIsICItYXBwbGUtcGF5LWJ1dHRvbiIs
ICJ0ZXh0YXJlYSIsICJhdHRhY2htZW50IiwgImJvcmRlcmxlc3MtYXR0YWNobWVudCIsICJjYXBz
LWxvY2staW5kaWNhdG9yIiwKKyAgICAgICAgIm5vbmUiLCAiY2hlY2tib3giLCAicmFkaW8iLCAi
cHVzaC1idXR0b24iLCAic3F1YXJlLWJ1dHRvbiIsICJidXR0b24iLCAiYnV0dG9uLWJldmVsIiwg
ImRlZmF1bHQtYnV0dG9uIiwgImlubmVyLXNwaW4tYnV0dG9uIiwgImxpc3Rib3giLCAibGlzdGl0
ZW0iLCAibWVkaWEtY29udHJvbHMtYmFja2dyb3VuZCIsICJtZWRpYS1jb250cm9scy1kYXJrLWJh
ci1iYWNrZ3JvdW5kIiwgIm1lZGlhLWNvbnRyb2xzLWZ1bGxzY3JlZW4tYmFja2dyb3VuZCIsICJt
ZWRpYS1jb250cm9scy1saWdodC1iYXItYmFja2dyb3VuZCIsICJtZWRpYS1jdXJyZW50LXRpbWUt
ZGlzcGxheSIsICJtZWRpYS1lbnRlci1mdWxsc2NyZWVuLWJ1dHRvbiIsICJtZWRpYS1leGl0LWZ1
bGxzY3JlZW4tYnV0dG9uIiwgIm1lZGlhLWZ1bGxzY3JlZW4tdm9sdW1lLXNsaWRlciIsICJtZWRp
YS1mdWxsc2NyZWVuLXZvbHVtZS1zbGlkZXItdGh1bWIiLCAibWVkaWEtbXV0ZS1idXR0b24iLCAi
bWVkaWEtb3ZlcmxheS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1wbGF5LWJ1dHRvbiIsICJtZWRpYS1y
ZXR1cm4tdG8tcmVhbHRpbWUtYnV0dG9uIiwgIm1lZGlhLXJld2luZC1idXR0b24iLCAibWVkaWEt
c2Vlay1iYWNrLWJ1dHRvbiIsICJtZWRpYS1zZWVrLWZvcndhcmQtYnV0dG9uIiwgIm1lZGlhLXNs
aWRlciIsICJtZWRpYS1zbGlkZXJ0aHVtYiIsICJtZWRpYS10aW1lLXJlbWFpbmluZy1kaXNwbGF5
IiwgIm1lZGlhLXRvZ2dsZS1jbG9zZWQtY2FwdGlvbnMtYnV0dG9uIiwgIm1lZGlhLXZvbHVtZS1z
bGlkZXIiLCAibWVkaWEtdm9sdW1lLXNsaWRlci1jb250YWluZXIiLCAibWVkaWEtdm9sdW1lLXNs
aWRlci1tdXRlLWJ1dHRvbiIsICJtZWRpYS12b2x1bWUtc2xpZGVydGh1bWIiLCAibWVudWxpc3Qi
LCAibWVudWxpc3QtYnV0dG9uIiwgIm1lbnVsaXN0LXRleHQiLCAibWVudWxpc3QtdGV4dGZpZWxk
IiwgIm1ldGVyIiwgInByb2dyZXNzLWJhciIsICJwcm9ncmVzcy1iYXItdmFsdWUiLCAic2xpZGVy
LWhvcml6b250YWwiLCAic2xpZGVyLXZlcnRpY2FsIiwgInNsaWRlcnRodW1iLWhvcml6b250YWwi
LCAic2xpZGVydGh1bWItdmVydGljYWwiLCAiY2FyZXQiLCAic2VhcmNoZmllbGQiLCAic2VhcmNo
ZmllbGQtZGVjb3JhdGlvbiIsICJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iLCAic2Vh
cmNoZmllbGQtcmVzdWx0cy1idXR0b24iLCAic2VhcmNoZmllbGQtY2FuY2VsLWJ1dHRvbiIsICJz
bmFwc2hvdHRlZC1wbHVnaW4tb3ZlcmxheSIsICJ0ZXh0ZmllbGQiLCAicmVsZXZhbmN5LWxldmVs
LWluZGljYXRvciIsICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsICJkaXNj
cmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLCAicmF0aW5nLWxldmVsLWluZGljYXRvciIs
ICJpbWFnZS1jb250cm9scy1idXR0b24iLCAiLWFwcGxlLXBheS1idXR0b24iLCAidGV4dGFyZWEi
LCAiYXR0YWNobWVudCIsICJib3JkZXJsZXNzLWF0dGFjaG1lbnQiLCAiY2Fwcy1sb2NrLWluZGlj
YXRvciIsCiAgICAgXSwKICAgICAiLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5IjogWwogICAg
ICAgICAiaGlkZGVuIiwgInZpc2libGUiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJi
MmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwg
Ym9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBj
b250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZl
cmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0
ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1l
cGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggYTI1NjRkZjJhNWFiMTcwMTA1OTIzZTVlN2RlOWQ0YjgzNjM0MDg5ZS4uMjY4NjYwYWZmMWQx
YzQzNGYxYjI2MDUzNTkzNWI1YTc1MTAwN2IyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZv
aWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNh
dGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1
cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnBy
ZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24g
X3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVy
ZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdl
Q29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMo
KS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5l
LCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNl
IGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdj
Njk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZh
NjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0
aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1By
ZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAg
IEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5h
YmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wg
X3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJv
bGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0
U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9y
ZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9
IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJv
bHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1v
dmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1
bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAg
Y29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxz
SW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJs
ZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2lt
YWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxm
Ll9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0
dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dL
QXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2Ug
Y29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJl
dHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJv
bHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29u
dHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVk
ID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlv
bkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
LmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1
N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50
ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NV
UkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wg
X2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBh
cmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdl
Q29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rp
b25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
RWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91
YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3Jv
dXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VL
ZXlzUHJpdmF0ZS5oCmluZGV4IDIwZmNjZjc4MDBhZmI4OTI4ODQyYTllZTI1NzE1OWY5MjRiYTJk
OGIuLjI1MjQyZTk3ZTlmYTE1YjBmNzM5Yjg4MDVjNWE2MmMzNGU1YmRjYWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRl
LmgKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaApAQCAtMTU5LDYgKzE1OSw3IEBACiAjZGVmaW5lIFdlYktpdE1lZGlhU291cmNl
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRNZWRpYVNvdXJjZUVuYWJsZWQiCiAjZGVmaW5l
IFdlYktpdFNvdXJjZUJ1ZmZlckNoYW5nZVR5cGVFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktp
dFNvdXJjZUJ1ZmZlckNoYW5nZVR5cGVFbmFibGVkIgogI2RlZmluZSBXZWJLaXRTaG91bGRDb252
ZXJ0UG9zaXRpb25TdHlsZU9uQ29weVByZWZlcmVuY2VLZXkgQCJXZWJLaXRTaG91bGRDb252ZXJ0
UG9zaXRpb25TdHlsZU9uQ29weSIKKyNkZWZpbmUgV2ViS2l0SW1hZ2VDb250cm9sc0VuYWJsZWRQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0SW1hZ2VDb250cm9sc0VuYWJsZWQiCiAjZGVmaW5lIFdlYktp
dEdhbWVwYWRzRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRHYW1lcGFkc0VuYWJsZWQiCiAj
ZGVmaW5lIFdlYktpdFNlcnZpY2VDb250cm9sc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
U2VydmljZUNvbnRyb2xzRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0TWVkaWFLZXlzU3RvcmFnZURp
cmVjdG9yeUtleSBAIldlYktpdE1lZGlhS2V5c1N0b3JhZ2VEaXJlY3RvcnkiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCA5MDZk
NTUzNWEwMmJjNWEyN2YxNGY1OGYwMTY1ZTQxZTQ2YTA3Y2Q0Li5iMmIyMWQwY2U2NGZiM2RiMGUy
NjY3ZTk4NGIwNzNjOTE1MTQyYWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KQEAgLTI0NjgsMTQgKzI0NjgsMTIgQEAgc3RhdGlj
IFJldGFpblB0cjxOU1N0cmluZz4mIGNsYXNzSUJDcmVhdG9ySUQoKQogCiAtIChCT09MKWltYWdl
Q29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBz
dXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJldHVybiBbc2VsZiBfYm9vbFZhbHVlRm9y
S2V5OldlYktpdEltYWdlQ29udHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKIC0gKHZv
aWQpc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KEJPT0wpZW5hYmxlZAogewotICAgIC8vIEltYWdl
IGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgotICAgIFVOVVNFRF9QQVJBTShlbmFi
bGVkKTsKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdEltYWdl
Q29udHJvbHNFbmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKIC0gKEJPT0wpc2VydmljZUNvbnRy
b2xzRW5hYmxlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDA1MDFmMGQxN2UxODNkYjhiNzY2OWQ5ZTg1ZDExY2M2MjUyMGE0
YzUuLmQyYmNlODgyYTU0YjdjMjUwN2U4MDBmNjY2YjNkMjBlMTNjYWQ4MjAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAyMS0xMS0xNyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBw
bGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dsaWIvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvZmFzdC9pbWFnZXMvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9z
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNh
aXJvL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisKIDIwMjEtMTEtMTEgIE5pa29sYW9zIE1vdWNodGFyaXMgIDxubW91Y2h0YXJpc0BhcHBsZS5j
b20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogKHIyODM4NzEpIFsgbWFjT1Mgd2syIFJlbGVhc2Ug
XSAyIGNzcy9jc3NvbS12aWV3L3Njcm9sbC1iZWhhdmlvci1tYWluLWZyYW1lIHRlc3RzIGFyZSBm
YWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA5ZmVmMjczOWUwZmMwYTc1
YmNiNmM5NTU1NzY2YjRjYjVmN2E4ODg0Li5lYTBkNzNjN2QzM2Y5M2U4ODdiZGI4NGQwODVlM2Uz
ZTMxNTRlY2YwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBA
QAorMjAyMS0xMS0xNyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgor
CisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXVpL2FwcGVhcmFuY2UtY3Nzb20tMDAxLWV4cGVjdGVkLnR4dDoKKwogMjAy
MS0xMS0xMSAgQWxleGV5IFNodmF5a2EgIDxhc2h2YXlrYUBhcHBsZS5jb20+CiAKICAgICAgICAg
SlNDYWxsYmFja0RhdGEgc2hvdWxkIHVzZSBsZXhpY2FsIGdsb2JhbCBvYmplY3QgZm9yIGVycm9y
cyBhbmQgbGlmZWN5Y2xlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNm
ZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNF
bmFibGVkKHRydWUpOworCis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9InJlc291cmNlcy9n
cmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS9hcHBlYXJhbmNlLWNzc29tLTAwMS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtdWkvYXBwZWFyYW5jZS1jc3NvbS0wMDEtZXhwZWN0ZWQudHh0CmluZGV4IDZjZTczMDc2ZWVi
NTY2NjRmYWNkNjlmNmQ1MzI5NGEyOGU3MWNhMGQuLjVlODEwMWZkNDVmNWRhOTA0ZGVjY2MzNjFm
ZDc4NDFlNTk3ZTQxMGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy11aS9hcHBlYXJhbmNlLWNzc29tLTAwMS1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLXVpL2FwcGVhcmFuY2UtY3Nzb20tMDAxLWV4cGVjdGVkLnR4dApAQCAtMzYsNyArMzYsNyBA
QCBGQUlMIC13ZWJraXQtYXBwZWFyYW5jZTogZGVmYXVsdC1idXR0b24gKGludmFsaWQpIGFzc2Vy
dF9lcXVhbHM6IHN0eWxlLldlYmtpdEFwcAogRkFJTCAtd2Via2l0LWFwcGVhcmFuY2U6IGRpc2Ny
ZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciAoaW52YWxpZCkgYXNzZXJ0X2VxdWFsczogc3R5
bGUuV2Via2l0QXBwZWFyYW5jZSAodXBwZXJjYXNlIFcpIGV4cGVjdGVkICIiIGJ1dCBnb3QgImRp
c2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIKIFBBU1MgLXdlYmtpdC1hcHBlYXJhbmNl
OiBkdWFsYnV0dG9uIChpbnZhbGlkKQogUEFTUyAtd2Via2l0LWFwcGVhcmFuY2U6IGdyb3VwYm94
IChpbnZhbGlkKQotUEFTUyAtd2Via2l0LWFwcGVhcmFuY2U6IGltYWdlLWNvbnRyb2xzLWJ1dHRv
biAoaW52YWxpZCkKK0ZBSUwgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbWFnZS1jb250cm9scy1idXR0
b24gKGludmFsaWQpIGFzc2VydF9lcXVhbHM6IHN0eWxlLldlYmtpdEFwcGVhcmFuY2UgKHVwcGVy
Y2FzZSBXKSBleHBlY3RlZCAiIiBidXQgZ290ICJpbWFnZS1jb250cm9scy1idXR0b24iCiBGQUlM
IC13ZWJraXQtYXBwZWFyYW5jZTogaW5uZXItc3Bpbi1idXR0b24gKGludmFsaWQpIGFzc2VydF9l
cXVhbHM6IHN0eWxlLldlYmtpdEFwcGVhcmFuY2UgKHVwcGVyY2FzZSBXKSBleHBlY3RlZCAiIiBi
dXQgZ290ICJpbm5lci1zcGluLWJ1dHRvbiIKIEZBSUwgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0
LWJ1dHRvbiAoaW52YWxpZCkgYXNzZXJ0X2VxdWFsczogc3R5bGUuV2Via2l0QXBwZWFyYW5jZSAo
dXBwZXJjYXNlIFcpIGV4cGVjdGVkICIiIGJ1dCBnb3QgImxpc3QtYnV0dG9uIgogRkFJTCAtd2Vi
a2l0LWFwcGVhcmFuY2U6IGxpc3RpdGVtIChpbnZhbGlkKSBhc3NlcnRfZXF1YWxzOiBzdHlsZS5X
ZWJraXRBcHBlYXJhbmNlICh1cHBlcmNhc2UgVykgZXhwZWN0ZWQgIiIgYnV0IGdvdCAibGlzdGl0
ZW0iCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2ds
aWIvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1YjM4MzkKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvZmFzdC9pbWFnZXMvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3
ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1YjM4MzkKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXll
ciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNp
emUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAor
ICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjAxZTI0YzEyOTgwOWM1ZmQ5ZjQ0NGE2YmFiMTNiNDY0YjRhMzBhZjkK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBA
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQg
KDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJlbmRlckltYWdlQ29udHJvbHMge0RJVn0gYXQgKDAsMCkg
c2l6ZSAyNTZ4MjU2CisgbGF5ZXIgYXQgKDIyOSwxNCkgc2l6ZSAyOXgyNgorICAgUmVuZGVySW1h
Z2VDb250cm9sc0J1dHRvbiB7RElWfSBhdCAoMjIxLDYpIHNpemUgMjl4MjYKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45MmFmNDJkYzU2NDQ4NTA2YjE3NTFmNDMxNDg1MDMyYTMyMTlhMzhiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6
ZSAyNTZ4MjU2CisgIFJlbmRlckltYWdlQ29udHJvbHMge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4
MjU2CitsYXllciBhdCAoMjMwLDE0KSBzaXplIDI4eDI2CisgIFJlbmRlckltYWdlQ29udHJvbHNC
dXR0b24ge0RJVn0gYXQgKDIyMiw2KSBzaXplIDI4eDI2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDE4MGUyYjRjZjZlODM0YTA1OTEwY2JkNGIwNTNmZjQ0
NDA1OWVmOTUuLjM4MDU2NzEzZDg4OTA2YmQxNWYwMTMyMjk5OWUyNGNkN2NmMjc3MDQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNzMwLDYgKzI3MzAs
NyBAQCBmYXN0L2hpc3RvcnkvaGlzdG9yeS1zdWJmcmFtZS13aXRoLW5hbWUuaHRtbCBbIFNraXAg
XQogZmFzdC9oaXN0b3J5L2xvY2F0aW9uLXJlcGxhY2UtaGFzaC5odG1sIFsgU2tpcCBdCiBmYXN0
L2hpc3Rvcnkvc2F2ZXMtc3RhdGUtYWZ0ZXItZnJhZ21lbnQtbmF2Lmh0bWwgWyBTa2lwIF0KIAor
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBbIEZhaWx1cmUgXQogd2Via2l0
Lm9yZy9iLzE0MDUxNiBbIERlYnVnIF0gZmFzdC9pbWFnZXMvbGFyZ2Utc2l6ZS1pbWFnZS1jcmFz
aC5odG1sIFsgU2tpcCBdICAjIENyYXNoaW5nCiBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2Utd2l0
aC1hbm5vdGF0aW9ucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBmYXN0L2ltYWdlcy9zdXBw
b3J0LWJyb2tlbi1pbWFnZS1kZWxlZ2F0ZS5odG1sIFsgRmFpbHVyZSBdCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2
NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445462</attachid>
            <date>2021-11-30 13:18:37 -0800</date>
            <delta_ts>2021-11-30 15:23:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130131836.patch</filename>
            <type>text/plain</type>
            <size>75489</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFiNWYwZmQ0YWMzNTk2ZjRkYmFiN2UxZTNmZjYx
NjFiMDE5YWQ3ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNDkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2lt
cG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRf
UFJJVkFURV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwg
OiBOU0J1dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKCkKKysgKE5TU2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKilzZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5
bGU6KE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTdHlsZSlzdHlsZTsKKy0gKE5TUmVjdClyZWN0Rm9y
Qm91bmRzOihOU1JlY3QpYm91bmRzIHByZWZlcnJlZEVkZ2U6KE5TUmVjdEVkZ2UpcHJlZmVycmVk
RWRnZTsKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5i
ZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9X
aGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5j
cHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92
aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBs
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjc1MzBj
Y2I0ODJkMmQzNzYxNGQ1YTEzYzQ4ZGY0Y2E3Y2M3NWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3
IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2
NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBX
ZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9y
TGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERD
NzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAq
LzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUw
NzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8q
IFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQu
aCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1
OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhF
NTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGln
aHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0
ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdo
dFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZB
NjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGln
aHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRB
ODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFj
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4
MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJv
bHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJF
MDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3Bp
bkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1
MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJ
NDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJ
CTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkp
OwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2
ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlE
RUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZC
IC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUw
MDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMs
MTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwog
CQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogSW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAv
KiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0z
NDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4
MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Qz
RTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VE
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1h
Z2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBD
NDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3
OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uMmFlM2I0ZjY5MTE1NjRlZGFlMTcyMjY0MmFlOTI1NTI0
NWUzMmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
TWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsK
ICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250
cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlV2Via2l0
SW1hZ2VDb250cm9sc0J1dHRvbjsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUo
QVBQTEVfUEFZKQogICAgIGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OgogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUFwcGxlUGF5QnV0dG9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KaW5kZXggMzNiOWJhNTUzZjE4ZTEwZjc1YjViZDQyODhkMTdhYTk4NGE0MTQ5
My4uODcwMDM5NmIwYzQ4Y2YxZmYyNmM1NTEyMDg3NGFmNmMzZGU3MDIzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC01MDA4LDYgKzUwMDgsNyBAQAogICAgICAgICAg
ICAgICAgICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAg
ICAgICAgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAg
ICAgInJhdGluZy1sZXZlbC1pbmRpY2F0b3IiLAorICAgICAgICAgICAgICAgICItd2Via2l0LWlt
YWdlLWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9u
IiwKICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2ht
ZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTVi
N2E2ZWUxY2ZlNjRhZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uZjhlZmZlN2Q0ZjAwNTcyZWMwYmM2ZDMz
YjJlYTJhYzEyMGQ0MDdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
QEAgLTg4Nyw2ICs4ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3Vz
LWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yCiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy13ZWJraXQtaW1hZ2UtY29udHJv
bHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJM
RV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTkyM2VlNjMw
ZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi41NmJmNGUxOTBmNDU5MzE3NTQ4OWYxMWMzNWMwMDZmMzEw
MGMwZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMu
Y3BwCkBAIC00MCw2ICs0MCw4IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOworICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRJbWFnZUNvbnRyb2xzQnV0dG9uOgor
ICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VD
b250cm9sc01hYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWEyMThhYTk1NDg0YTRiNzQ4NTI3OTQ0ZjBkZmQw
Mzk2YWE5YjFjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1h
Z2VDb250cm9sc01hYy5jcHAKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorCisjaW5jbHVkZSAi
RWxlbWVudElubGluZXMuaCIKKyNpbmNsdWRlICJIVE1MQnV0dG9uRWxlbWVudC5oIgorI2luY2x1
ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAi
SFRNTFN0eWxlRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgorI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVk
ZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3Bh
Y2UgSW1hZ2VDb250cm9sc01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwor
c3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
Cit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5n
PiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scyIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKKyAgICByZXR1cm4gaWRlbnRpZmllcjsKK30KKworc3RhdGljIGNvbnN0IEF0b21T
dHJpbmcmIGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMgTWFp
blRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAg
ICByZXR1cm4gaWRlbnRpZmllcjsKK30KKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxl
bWVudCYgZWxlbWVudCkKK3sKKyAgICBhdXRvIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jv
b3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jvb3QgfHwgc2hhZG93Um9vdC0+bW9kZSgpICE9IFNoYWRv
d1Jvb3RNb2RlOjpVc2VyQWdlbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVy
biBzaGFkb3dSb290LT5oYXNFbGVtZW50V2l0aElkKCppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50
aWZpZXIoKS5pbXBsKCkpOworfQorCitzdGF0aWMgUmVmUHRyPEhUTUxFbGVtZW50PiBpbWFnZUNv
bnRyb2xIb3N0KGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgYXV0byBob3N0ID0gbm9kZS5zaGFk
b3dIb3N0KCk7CisgICAgaWYgKCFpczxIVE1MRWxlbWVudD4oaG9zdCkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgUmVmUHRyIGVsZW1lbnQgeyAmZG93bmNhc3Q8SFRNTEVsZW1lbnQ+
KCpob3N0KSB9OworICAgIHJldHVybiBoYXNDb250cm9scygqZWxlbWVudCkgPyBlbGVtZW50IDog
bnVsbHB0cjsKK30KKworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5v
ZGUmIG5vZGUpCit7CisgICAgYXV0byBob3N0ID0gaW1hZ2VDb250cm9sSG9zdChub2RlKTsKKyAg
ICBpZiAoIWhvc3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChSZWZQdHIgY29u
dHJvbFJvb3QgPSBzdGF0aWNfY2FzdDxUcmVlU2NvcGUmPigqaG9zdC0+dXNlckFnZW50U2hhZG93
Um9vdCgpKS5nZXRFbGVtZW50QnlJZChpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigpKSkK
KyAgICAgICAgcmV0dXJuIG5vZGUuaXNEZXNjZW5kYW50T2YoKmNvbnRyb2xSb290KTsKKworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50
JiBlbGVtZW50KQoreworICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKKyAg
ICBSZWYgc2hhZG93Um9vdCA9IGVsZW1lbnQuZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOwor
ICAgIGF1dG8gY29udHJvbExheWVyID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudC5n
ZXQoKSk7CisgICAgY29udHJvbExheWVyLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzRWxl
bWVudElkZW50aWZpZXIoKSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoY29udHJvbExh
eWVyKTsKKyAgICAKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0
cmluZz4gc2hhZG93U3R5bGUoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoaW1hZ2VD
b250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihpbWFnZUNvbnRyb2xzTWFjVXNl
ckFnZW50U3R5bGVTaGVldCkpKTsKKyAgICBhdXRvIHN0eWxlID0gSFRNTFN0eWxlRWxlbWVudDo6
Y3JlYXRlKEhUTUxOYW1lczo6c3R5bGVUYWcsIGRvY3VtZW50LmdldCgpLCBmYWxzZSk7CisgICAg
c3R5bGUtPnNldFRleHRDb250ZW50KHNoYWRvd1N0eWxlKTsKKyAgICBzaGFkb3dSb290LT5hcHBl
bmRDaGlsZChXVEZNb3ZlKHN0eWxlKSk7CisgICAgCisgICAgYXV0byBidXR0b24gPSBIVE1MQnV0
dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6YnV0dG9uVGFnLCBlbGVtZW50LmRvY3VtZW50
KCksIG51bGxwdHIpOworICAgIGJ1dHRvbi0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0J1
dHRvbklkZW50aWZpZXIoKSk7CisgICAgY29udHJvbExheWVyLT5hcHBlbmRDaGlsZChidXR0b24p
OworICAgIAorICAgIGlmIChhdXRvKiByZW5kZXJPYmplY3QgPSBlbGVtZW50LnJlbmRlcmVyKCk7
IGlzPFJlbmRlckltYWdlPihyZW5kZXJPYmplY3QpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJJ
bWFnZT4oKnJlbmRlck9iamVjdCkuc2V0SGFzU2hhZG93Q29udHJvbHModHJ1ZSk7Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoSU1BR0VfQU5BTFlTSVMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlT3Zl
cmxheQorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdl
Q29udHJvbHNNYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNGZkMzIwNjg3NjM1MzFiNzI2MmM1MmU0MmE4MmI3
NTliZGQxYThkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaW5jbHVkZSAiSW50UmVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IEhUTUxFbGVtZW50OworY2xhc3MgTm9kZTsKKworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMg
eworCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK2Jvb2wgaGFzQ29udHJvbHMoY29u
c3QgSFRNTEVsZW1lbnQmKTsKK2Jvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25z
dCBOb2RlJik7Cit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTUFHRV9BTkFMWVNJUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250
cm9sc01hYworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
dHRyaWJ1dGVOYW1lcy5pbgppbmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1
Yjg0MzIyLi42ZGVhMzhlZjA5NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBA
IGF1dG9jYXBpdGFsaXplCiBvbndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3Nj
aGFuZ2VkCiBvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJr
aXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxh
eXNpbmxpbmUKIHgtd2Via2l0LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFj
a2Rpc2FibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1l
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4
MDUzYTYyNTJkMTM1ZGMyY2JmMWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5lYjVkZWJhZTBmMDNlMDVh
YWM2YzZjOTg0Y2RkMjZjODI3NGQ4OTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJIVE1MUGljdHVyZUVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MU291cmNlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTcmNz
ZXRQYXJzZXIuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCiAjaW5jbHVkZSAiTGF6
eUxvYWRJbWFnZU9ic2VydmVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1J
TUVUeXBlUmVnaXN0cnkuaCIKQEAgLTczLDYgKzc0LDcgQEAgSFRNTEltYWdlRWxlbWVudDo6SFRN
TEltYWdlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9j
dW0KICAgICAsIG1fZm9ybVNldEJ5UGFyc2VyKGZvcm0pCiAgICAgLCBtX2NvbXBvc2l0ZU9wZXJh
dG9yKENvbXBvc2l0ZU9wZXJhdG9yOjpTb3VyY2VPdmVyKQogICAgICwgbV9pbWFnZURldmljZVBp
eGVsUmF0aW8oMS4wZikKKyAgICAsIG1faW1hZ2VNZW51RW5hYmxlZCh0cnVlKQogewogICAgIEFT
U0VSVChoYXNUYWdOYW1lKGltZ1RhZykpOwogICAgIHNldEhhc0N1c3RvbVN0eWxlUmVzb2x2ZUNh
bGxiYWNrcygpOwpAQCAtMzA4LDYgKzMxMCwxMSBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbgog
ICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9ybWFsOwogICAgICAgICBp
ZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwgbV9jb21wb3NpdGVPcGVy
YXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9wZXJhdG9yID0gQ29tcG9z
aXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIpIHsKKyAgICAgICAgbV9p
bWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAgICB1cGRhdGVJbWFnZUNv
bnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gbG9hZGluZ0F0dHIpIHsK
ICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8gbGF6eSB0cmFuc2l0aW9u
LgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZhbHVlKHZhbHVlKSkKQEAg
LTM3Niw2ICszODMsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJl
cnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVmb3JlTG9hZEV2ZW50KCkp
CiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHVw
ZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYgcmVuZGVySW1hZ2UgPSBk
b3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJlbmRlckltYWdlUmVzb3Vy
Y2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFnZVJlc291cmNlKCk7CiAg
ICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkKQEAgLTc1Myw2ICs3NjQs
NTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRhY2htZW50SWRlbnRpZmll
cigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnVwZGF0ZUlt
YWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxlbWVudCBpcyBpbnNpZGUg
YSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2UgY29udHJvbC4KKyAgICBp
ZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGlmICghZG9jdW1lbnQo
KS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKyAg
ICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOworICAgIGlmICghbV9pbWFn
ZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0cm95SW1hZ2VDb250cm9s
cygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAhaGFzQ29udHJvbHMpCisg
ICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVt
ZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NFUlQobV9pbWFnZU1lbnVF
bmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7CisgICAgSW1hZ2VDb250
cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisKK3ZvaWQgSFRNTEltYWdl
RWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9
IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jvb3QpCisgICAgICAgIHJl
dHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dSb290LT5maXJzdENoaWxk
KCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihJ
bWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scygoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpub2Rl
KSkpKTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAg
ICBhdXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0
KQorICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmpl
Y3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVt
ZW50OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9s
c01hYzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNo
aWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxk
IGZpbmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRh
cjovL3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25k
VG9Nb3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgK
aW5kZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uZWJjNThiMTky
ODQyZmQ4MjZmOWYwMWRjZWMxMDExODhmODQzNTczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBB
dG9tU3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJv
b2wgaGFzU2hhZG93Q29udHJvbHMoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlTWVudUVuYWJsZWQ7
IH0KKyAgICAKICAgICBIVE1MUGljdHVyZUVsZW1lbnQqIHBpY3R1cmVFbGVtZW50KCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRQaWN0dXJlRWxlbWVudChIVE1MUGljdHVyZUVsZW1lbnQqKTsKIApAQCAt
MTg4LDYgKzE5MCwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3Bl
cnRpZXNGcm9tRWxlbWVudChjb25zdCBFbGVtZW50JikgZmluYWw7CiAKICAgICBmbG9hdCBlZmZl
Y3RpdmVJbWFnZURldmljZVBpeGVsUmF0aW8oKSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICB2b2lkIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB2b2lk
IHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB2b2lkIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCk7CisgICAgYm9vbCBoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3Q7CisgICAgYm9vbCBjaGlsZFNo
b3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgog
CiAgICAgSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IHNldFNvdXJjZUVsZW1lbnQoSFRNTFNvdXJjZUVsZW1lbnQqKTsKQEAgLTIwMSw2ICsyMTEsNyBA
QCBwcml2YXRlOgogICAgIEF0b21TdHJpbmcgbV9jdXJyZW50U3JjOwogICAgIEF0b21TdHJpbmcg
bV9wYXJzZWRVc2VtYXA7CiAgICAgZmxvYXQgbV9pbWFnZURldmljZVBpeGVsUmF0aW87CisgICAg
Ym9vbCBtX2ltYWdlTWVudUVuYWJsZWQ7CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1
dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2Ug
cGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNE
cm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MWRm
N2RhNjJlZWM1Nzk0MTg2ZGM4ZTY2ODc0MjhlMzliNjRkNDQ2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmlu
ZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisK
K2RpdiNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFu
c3BhcmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAg
ICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC13ZWJraXQtaW1hZ2UtY29udHJv
bHMtYnV0dG9uOworCisgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKKyAgICBvcGFjaXR5
OiAwLjA7Cit9CisKK2RpdiNpbWFnZS1jb250cm9sczpob3ZlciBidXR0b24jaW1hZ2UtY29udHJv
bHMtYnV0dG9uIHsKKyAgICBvcGFjaXR5OiAxLjA7Cit9CisKKyNlbmRpZgorCisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWExZDc0NTRkNzRjMDM3MzMyMjk1ZDY1YzNl
ZjRhM2MwM2FmMDExZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hh
ZG93L21hYy9JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwCkBAIC0wLDAgKzEsMTUwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkltYWdlQ29u
dHJvbHNSb290RWxlbWVudE1hYy5oIgorCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisj
aW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzQnV0dG9uRWxl
bWVudE1hYy5oIgorI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgorI2luY2x1ZGUgIlJlbmRl
ckltYWdlLmgiCisjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMpOworCitjbGFzcyBSZW5kZXJJ
bWFnZUNvbnRyb2xzIGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrRmxvdyB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTkxJTkUoUmVuZGVySW1hZ2VDb250cm9scyk7CisgICAgCitwdWJs
aWM6CisgICAgUmVuZGVySW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYsIFJlbmRlclN0eWxlJiYp
OworICAgIHZpcnR1YWwgflJlbmRlckltYWdlQ29udHJvbHMoKTsKKyAgICAKK3ByaXZhdGU6Cisg
ICAgdm9pZCB1cGRhdGVMb2dpY2FsV2lkdGgoKSBvdmVycmlkZTsKKyAgICBMb2dpY2FsRXh0ZW50
Q29tcHV0ZWRWYWx1ZXMgY29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3V0VW5pdCBsb2dpY2FsSGVp
Z2h0LCBMYXlvdXRVbml0IGxvZ2ljYWxUb3ApIGNvbnN0IG92ZXJyaWRlOworICAgIGNvbnN0IGNo
YXIqIHJlbmRlck5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVySW1hZ2VDb250
cm9scyI7IH0KK307CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiB4V2Via2l0SW1hZ2VDb250
cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVz
dHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoIngtd2Via2l0LWltYWdlLWNvbnRy
b2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBpZGVu
dGlmaWVyOworfQorCitSZW5kZXJJbWFnZUNvbnRyb2xzOjpSZW5kZXJJbWFnZUNvbnRyb2xzKEhU
TUxFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQorICAgIDogUmVuZGVyQmxv
Y2tGbG93KGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQoreworfQorCitSZW5kZXJJbWFnZUNvbnRy
b2xzOjp+UmVuZGVySW1hZ2VDb250cm9scygpID0gZGVmYXVsdDsKK3ZvaWQgUmVuZGVySW1hZ2VD
b250cm9sczo6dXBkYXRlTG9naWNhbFdpZHRoKCkKK3sKKyAgICBSZW5kZXJCb3g6OnVwZGF0ZUxv
Z2ljYWxXaWR0aCgpOworICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gZWxlbWVudCgpLT5z
aGFkb3dIb3N0KCktPnJlbmRlcmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4oKnJlbmRl
cmVyKSkKKyAgICAgICAgcmV0dXJuOworICAgIHNldExvZ2ljYWxXaWR0aChkb3duY2FzdDxSZW5k
ZXJJbWFnZT4oKnJlbmRlcmVyKS5sb2dpY2FsV2lkdGgoKSk7Cit9CisKK1JlbmRlckJveDo6TG9n
aWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIFJlbmRlckltYWdlQ29udHJvbHM6OmNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KExheW91dFVuaXQgbG9naWNhbEhlaWdodCwgTGF5b3V0VW5pdCBsb2dpY2FsVG9w
KSBjb25zdAoreworICAgIGF1dG8gY29tcHV0ZWRWYWx1ZXMgPSBSZW5kZXJCb3g6OmNvbXB1dGVM
b2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQsIGxvZ2ljYWxUb3ApOworICAgIFJlbmRlckVsZW1l
bnQqIHJlbmRlcmVyID0gZWxlbWVudCgpLT5zaGFkb3dIb3N0KCktPnJlbmRlcmVyKCk7CisgICAg
aWYgKCFpczxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIGNvbXB1dGVk
VmFsdWVzOworICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ID0gZG93bmNhc3Q8UmVuZGVySW1h
Z2U+KCpyZW5kZXJlcikubG9naWNhbEhlaWdodCgpOworICAgIHJldHVybiBjb21wdXRlZFZhbHVl
czsKK30KKworYm9vbCBoYXNDb250cm9sKGNvbnN0IEhUTUxFbGVtZW50JiBlbGVtZW50KQorewor
ICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCgpOworICAgIGlmIChMSUtF
TFkoIXNoYWRvd1Jvb3QgfHwgc2hhZG93Um9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3RNb2RlOjpV
c2VyQWdlbnQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9v
dC0+aGFzRWxlbWVudFdpdGhJZCgqeFdlYmtpdEltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmll
cigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29udHJv
bEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRvd0hv
c3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhv
c3QpIH07CisgICAgcmV0dXJuIGhhc092ZXJsYXkoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxw
dHI7Cit9CisKK2Jvb2wgaXNJbWFnZUNvbnRyb2xzKGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAg
YXV0byBob3N0ID0gaW1hZ2VDb250cm9sSG9zdChub2RlKTsKKyAgICBpZiAoIWhvc3QpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChSZWZQdHIgb3ZlcmxheSA9IHN0YXRpY19jYXN0
PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dSb290KCkpLmdldEVsZW1lbnRCeUlk
KHhXZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVy
biBub2RlLmlzRGVzY2VuZGFudE9mKCpvdmVybGF5KTsKKworICAgIHJldHVybiBmYWxzZTsKK30K
KworUmVmUHRyPEltYWdlQ29udHJvbHNSb290RWxlbWVudD4gSW1hZ2VDb250cm9sc1Jvb3RFbGVt
ZW50Ojp0cnlDcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50KQoreworICAgIGlmICghZG9jdW1lbnQu
cGFnZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAKKyAgICBSZWYgc2hhZG93Um9v
dCA9IGVsZW1lbnQuZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGF1dG8gY29udHJv
bHMgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKKyAgICByb290Q29u
dGFpbmVyLT5zZXRJZEF0dHJpYnV0ZSh4V2Via2l0SW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlm
aWVyKCkpOworCisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQocm9vdENvbnRhaW5lcik7Cisg
ICAgCisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNo
YWRvd1N0eWxlKFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNN
YWNVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0
eWxlU2hlZXQpKSk7CisgICAgYXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShI
VE1MTmFtZXM6OnN0eWxlVGFnLCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5z
ZXRUZXh0Q29udGVudChzaGFkb3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQo
V1RGTW92ZShzdHlsZSkpOworCisgICAgCisKKyAgICBpZiAoUmVmUHRyPEltYWdlQ29udHJvbHNC
dXR0b25FbGVtZW50TWFjPiBidXR0b24gPSBJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudE1hYzo6
dHJ5Q3JlYXRlKGRvY3VtZW50KSkKKyAgICAgICAgY29udHJvbHMtPmFwcGVuZENoaWxkKCpidXR0
b24pOworICAgIHJldHVybiBXVEZNb3ZlKGNvbnRyb2xzKTsKK30KKworSW1hZ2VDb250cm9sc1Jv
b3RFbGVtZW50TWFjOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMoRG9jdW1lbnQmIGRvY3Vt
ZW50KQorICAgIDogSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50KGRvY3VtZW50KQoreworfQorCitJ
bWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6On5JbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMo
KSA9IGRlZmF1bHQ7CitSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gSW1hZ2VDb250cm9sc1Jvb3RF
bGVtZW50TWFjOjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwgY29u
c3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKK3sKKyAgICByZXR1cm4gY3JlYXRlUmVuZGVyZXI8UmVu
ZGVySW1hZ2VDb250cm9scz4oKnRoaXMsIFdURk1vdmUoc3R5bGUpKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNSb290RWxl
bWVudE1hYy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlNzJmYTBkNWMxZGY2NGI2ZGIzMGUzNjFjZWU3
ZmFjYTYyNjFkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9tYWMvSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjLmgKQEAgLTAsMCArMSw0MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKyNwcmFnbWEgb25jZQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNSb290RWxl
bWVudC5oIgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorbmFtZXNwYWNlIFdlYkNvcmUg
eworY2xhc3MgSW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjIGZpbmFsIDogcHVibGljIEltYWdl
Q29udHJvbHNSb290RWxlbWVudCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChJbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnRNYWMpOworICAgIGZyaWVuZCBjbGFzcyBJbWFnZUNvbnRyb2xzUm9v
dEVsZW1lbnQ7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50
TWFjKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc0ltYWdlQ29udHJvbChjb25zdCBOb2Rl
Kik7Citwcml2YXRlOgorICAgIEltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYyhEb2N1bWVudCYp
OworICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVu
ZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7Cit9OworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1
MWRlZjU1NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmZjYzUwNDQwODdkNDE3MDU4
MzIzMjQxOTU5OTUyNTcyNjA3ZDcyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJIVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKICNpbmNs
dWRlICJJbWFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtMTQzLDYgKzE0NCwyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzgsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjIs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzli
YjFiNWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3
ZjkwOGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1
MzYsNiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2du
aXRpb25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1l
bnQtPmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAK
ICAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXgg
MjcyODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAy
ODU1MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2Fw
YWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVs
LWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJ
bmRpY2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBh
cnQiOyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJh
dGluZy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1j
b250cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24t
cGFydCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5k
ZXggY2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdi
NDI1MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51
b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRi
ZTkxNmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYjg2NmI2MGM2YjE0MmFiZDBhMjczZTg0ZGQ5
NWViMmY2MDRiNTkzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CkBAIC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVs
ZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVB
bHRUZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAg
ICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVu
dCkuaGFzU2hhZG93Q29udHJvbHMoKTsKIH0KIAogUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKERv
Y3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5bGVJ
bWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDgxZGZk
OGZmY2FiZmFiZDYxMGE5NjQwZDIyZGMwMmYzY2YyNjg1OWUuLjFkYzE0Y2M1NTk0YWU4ZDliYWVl
YTA1OGM5ZDM2YzNiODBlMzhhNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmNwcApAQCAtMjY3LDYgKzI2NywxMCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHls
ZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0CiAgICAg
Y2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OgogICAgIGNhc2UgUmF0aW5n
TGV2ZWxJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzdHls
ZSwgZWxlbWVudCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFn
ZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVzdEltYWdlQ29udHJvbHNC
dXR0b25TdHlsZShzdHlsZSwgZWxlbWVudCk7CisjZW5kaWYKICAgICBjYXNlIENhcHNMb2NrSW5k
aWNhdG9yUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVzdENhcHNMb2NrSW5kaWNhdG9yU3R5bGUo
c3R5bGUsIGVsZW1lbnQpOwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBAIC01NDYsNiArNTUwLDEw
IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KGNvbnN0IFJlbmRlckJveCYgYm94LCBDb250cm9s
U3RhdGVzJiBjb250cm9sU3RhdGVzLCBjb25zCiAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0KGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRS
ZWN0KTsKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CiAgICAgICAgIHJl
dHVybiBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihib3gsIHBhaW50SW5mbywgaW50ZWdy
YWxTbmFwcGVkUmVjdCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJ
bWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIHBhaW50SW1hZ2VDb250cm9s
c0J1dHRvbihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CisjZW5kaWYKICAg
ICBjYXNlIENhcHNMb2NrSW5kaWNhdG9yUGFydDoKICAgICAgICAgcmV0dXJuIHBhaW50Q2Fwc0xv
Y2tJbmRpY2F0b3IoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOwogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCkBAIC02MTIsNiArNjIwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFp
bnRCb3JkZXJPbmx5KGNvbnN0IFJlbmRlckJveCYgYm94LCBjb25zdCBQYWludEluZm8mIHBhaW50
SW4KICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hG
aWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1
dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNv
bnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwog
ICAgIH0KQEAgLTY4Niw2ICs2OTcsOSBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludERlY29yYXRp
b25zKGNvbnN0IFJlbmRlckJveCYgYm94LCBjb25zdCBQYWludEluZm8mIHBhaW50SQogICAgIGNh
c2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0
c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0
b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAt
MTI3Nyw2ICsxMjkxLDEyIEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50U2xpZGVyVGlja3MoY29u
c3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50CiAKICNlbmRpZgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RJbWFn
ZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QK
K3sKK30KKyNlbmRpZgorCiBTZWNvbmRzIFJlbmRlclRoZW1lOjphbmltYXRpb25SZXBlYXRJbnRl
cnZhbEZvclByb2dyZXNzQmFyKGNvbnN0IFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKICAgICBy
ZXR1cm4gMF9zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA1ZTU0
ZWYxMWNlNjk0NzM0MGRlMzg2NjhlZmYzNTRlNTU3ZmQyNWE0Li44YTFlNGRmYWQxYTcxOTBiYzE1
Y2I1MmVmMzI0NDM3NWRhYzY0OWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaApAQCAtMjQ5LDYgKzI0OSwxMSBAQCBwdWJsaWM6CiAKICAgICBlbnVtIEZpbGVVcGxvYWRE
ZWNvcmF0aW9ucyB7IFNpbmdsZUZpbGUsIE11bHRpcGxlRmlsZXMgfTsKICAgICB2aXJ0dWFsIHZv
aWQgcGFpbnRGaWxlVXBsb2FkSWNvbkRlY29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYgLypp
bnB1dFJlbmRlcmVyKi8sIGNvbnN0IFJlbmRlck9iamVjdCYgLypidXR0b25SZW5kZXJlciovLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JiwgSWNvbiosIEZpbGVVcGxvYWREZWNvcmF0
aW9ucykgeyB9CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdmlydHVh
bCBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgeyByZXR1cm4gSW50U2l6
ZSgpOyB9CisgICAgdmlydHVhbCBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9m
ZnNldCgpIGNvbnN0IHsgcmV0dXJuIEludFNpemUoKTsgfQorI2VuZGlmCiAKICNpZiBFTkFCTEUo
QVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50
cmluc2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5b3V0
U2l6ZSgpOyB9CkBAIC0zNTksNiArMzY0LDExIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludExpc3RCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0
JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQog
I2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdmlydHVhbCB2
b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVs
ZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9u
KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7
IHJldHVybiB0cnVlOyB9CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9ncmVz
c0JhclN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50
SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGM0MWY3NDkwMDkyNWVmYTE2NWVlZWU4OWQ2
OGI4ZTY2NjEwNTM1NTUuLjBiNzE4OTg1MzU3ZjFmYzg3MDk5YmU5NDlhMzIwMTlhZTUwZWJjMDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC0xNDUsNiAr
MTQ1LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWludExpc3RCdXR0b25Gb3JJbnB1dChjb25z
dCBSZW5kZXJPYmplY3QmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmKTsKICAg
ICB2b2lkIGFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQq
KSBjb25zdCBmaW5hbDsKICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwg
Y29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOworI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8p
CiAgICAgYm9vbCBzdXBwb3J0c0Nsb3NlZENhcHRpb25pbmcoKSBjb25zdCBmaW5hbCB7IHJldHVy
biB0cnVlOyB9CkBAIC0yMDgsNiArMjEyLDE0IEBAIHByaXZhdGU6CiAgICAgaW50IG1pbmltdW1Q
cm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogICAgIGNvbnN0IElu
dFNpemUqIHByb2dyZXNzQmFyU2l6ZXMoKSBjb25zdDsKICAgICBjb25zdCBpbnQqIHByb2dyZXNz
QmFyTWFyZ2lucyhOU0NvbnRyb2xTaXplKSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CisgICAg
SW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIEludFNp
emUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgZmluYWw7CisKKyAg
ICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bCgpIGNvbnN0OworI2VuZGlmCiAKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1BvcFVwQnV0dG9u
Q2VsbD4gbV9wb3B1cEJ1dHRvbjsKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1NlYXJjaEZpZWxk
Q2VsbD4gbV9zZWFyY2g7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KaW5kZXggYWE2MGYyZWIyYzQyMzJlYzkwZmE5M2ZlYTBmZTgwNzA2MWIzNThjMi4uMDQ3OGQy
NWQxMjdiZmMwNzBiMTRkZmIxMGNhMWM4MGEyZGI0ZjA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpAQCAtNzUsNiArNzUsNyBAQAogI2ltcG9ydCA8cGFs
L3NwaS9tYWMvTlNBcHBlYXJhbmNlU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0NlbGxT
UEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TSW1hZ2VTUEkuaD4KKyNpbXBvcnQgPHBhbC9z
cGkvbWFjL05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaD4KICNpbXBvcnQgPHBhbC9z
cGkvbWFjL05TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYXRoRXh0
cmFzLmg+CiAjaW1wb3J0IDx3dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KQEAgLTgyLDE3ICs4Myw2
IEBACiAjaW1wb3J0IDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CiAKLSNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQotLy8gRklYTUU6
IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4K
LSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotI2ltcG9ydCA8QXBwS2l0L0FwcEtpdERlZmlu
ZXNfUHJpdmF0ZS5oPgotI2Vsc2UKLSNkZWZpbmUgQVBQS0lUX1BSSVZBVEVfQ0xBU1MKLSNlbmRp
ZgotCi0jZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0KIC8vIEZJWE1FOiBUaGlz
IHNob3VsZCBnbyBpbnRvIGFuIFNQSS5oIGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCiBAaW50
ZXJmYWNlIE5TVGV4dEZpZWxkQ2VsbCAoKQogLSAoQ0ZEaWN0aW9uYXJ5UmVmKV9jb3JlVUlEcmF3
T3B0aW9uc1dpdGhGcmFtZTooTlNSZWN0KWNlbGxGcmFtZSBpblZpZXc6KE5TVmlldyAqKWNvbnRy
b2xWaWV3IGluY2x1ZGVGb2N1czooQk9PTClpbmNsdWRlRm9jdXM7CkBAIC0xMDkzLDYgKzEwODMs
MTQgQEAgdm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0
eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdEltYWdlQ29udHJvbHNC
dXR0b25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAorewor
ICAgIHN0eWxlLnNldEhlaWdodChMZW5ndGgoaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKS5oZWln
aHQoKSwgTGVuZ3RoVHlwZTo6Rml4ZWQpKTsKKyAgICBzdHlsZS5zZXRXaWR0aChMZW5ndGgoaW1h
Z2VDb250cm9sc0J1dHRvblNpemUoKS53aWR0aCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworfQor
I2VuZGlmCisKIGJvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50VGV4dEZpZWxkKGNvbnN0IFJlbmRl
ck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEZsb2F0UmVjdCYg
cikKIHsKICAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50
SW5mby5jb250ZXh0KCkpOwpAQCAtMjI4Miw2ICsyMjgwLDQ0IEBAIFN0cmluZyBSZW5kZXJUaGVt
ZU1hYzo6ZmlsZUxpc3ROYW1lRm9yV2lkdGgoY29uc3QgRmlsZUxpc3QqIGZpbGVMaXN0LCBjb25z
dCBGb250CiAgICAgcmV0dXJuIFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9U
cnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CitOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdAoreworICAgIGlmICghbV9zZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uKSB7CisgICAgICAgIG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiA9IFtOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsIHNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTpOU1No
YXJpbmdTZXJ2aWNlUGlja2VyU3R5bGVSb2xsb3Zlcl07CisgICAgICAgIFttX3NlcnZpY2VzUm9s
bG92ZXJCdXR0b24gc2V0QmV6ZWxTdHlsZTpOU0JlemVsU3R5bGVSb3VuZGVkRGlzY2xvc3VyZV07
CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0QnV0dG9uVHlwZTpOU0J1dHRv
blR5cGVQdXNoT25QdXNoT2ZmXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBz
ZXRJbWFnZVBvc2l0aW9uOk5TSW1hZ2VPbmx5XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbiBzZXRTdGF0ZTpOT107CisgICAgfQorICAgIHJldHVybiBtX3NlcnZpY2VzUm9sbG92
ZXJCdXR0b24uZ2V0KCk7Cit9Citib29sIFJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJv
bHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCAqY2VsbCA9IHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCk7CisgICAgTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCgp
KTsKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIocGFpbnRJbmZvLmNv
bnRleHQoKSk7CisgICAgcGFpbnRJbmZvLmNvbnRleHQoKS50cmFuc2xhdGUocmVjdC5sb2NhdGlv
bigpKTsKKyAgICBJbnRSZWN0IGlubmVyRnJhbWUoSW50UG9pbnQoKSwgcmVjdC5zaXplKCkpOwor
ICAgIFtjZWxsIGRyYXdXaXRoRnJhbWU6aW5uZXJGcmFtZSBpblZpZXc6ZG9jdW1lbnRWaWV3Rm9y
KHJlbmRlcmVyKV07CisgICAgW2NlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKS5jZWxsU2l6ZSk7Cit9CitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xz
QnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkg
dGhlIG9mZnNldHMgd2lsbCBhbHdheXMgYmUgdGhlIHNhbWUgbm8gbWF0dGVyIHdoYXQgaW1hZ2Ug
cmVjdCB5b3UgdHJ5IHdpdGguCisgICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyBiZSB0cnVlIGlu
IHRoZSBmdXR1cmUuCisgICAgc3RhdGljIGNvbnN0IGludCBkdW1teURpbWVuc2lvbiA9IDEwMDsK
KyAgICBJbnRSZWN0IGR1bW15SW1hZ2VSZWN0KDAsIDAsIGR1bW15RGltZW5zaW9uLCBkdW1teURp
bWVuc2lvbik7CisgICAgTlNSZWN0IGJvdW5kcyA9IFtzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bCgpIHJlY3RGb3JCb3VuZHM6ZHVtbXlJbWFnZVJlY3QgcHJlZmVycmVkRWRnZTpOU01pbllFZGdl
XTsKKyAgICByZXR1cm4gSW50U2l6ZShkdW1teURpbWVuc2lvbiAtIGJvdW5kcy5vcmlnaW4ueCwg
Ym91bmRzLm9yaWdpbi55KTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25TaXplID0gNDg7CiBjb25zdCBDR0Zs
b2F0IGF0dGFjaG1lbnRJY29uQmFja2dyb3VuZFBhZGRpbmcgPSA2OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCmluZGV4IGUxMWQ2ZmZhN2RlZTliNDgyODE2NTEyNzI0M2Rj
NzVlMWMyMzljYmMuLmExMDI3ODAzNmJhOTA3ZGJjOGJjYTVlNTk0MTExMTM0ZjllOWMyNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTc0LDYgKzc0LDkgQEAg
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWF0aE1MU3R5bGVTaGVldDsKIFN0
eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZnVsbHNjcmVlblN0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpwbHVnSW5zU3R5bGVTaGVl
dDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK1N0eWxlU2hlZXRDb250ZW50cyogVXNl
ckFnZW50U3R5bGU6OmltYWdlQ29udHJvbHNTdHlsZVNoZWV0OworI2VuZGlmCiBTdHlsZVNoZWV0
Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptZWRpYVF1ZXJ5U3R5bGVTaGVldDsKICNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6
OmRhdGFMaXN0U3R5bGVTaGVldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCmlu
ZGV4IGIxMWUxMGFlOWQ4YTI5MDIzMDY2MDhiOTcyOWFiMDEyMWZlYzI0YTAuLjY1MDUwMjkzZjg1
MDA2NzM3YWJkNTdiZjVkODM3N2U3YmE4NmFjOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogZnVsbHNjcmVlblN0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hlZXRD
b250ZW50cyogcGx1Z0luc1N0eWxlU2hlZXQ7CisgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50
cyogaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQp
CiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogZGF0YUxpc3RTdHlsZVNoZWV0OwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CmluZGV4IDE1MjRhMGJlYzNjMzYyNGQxYmM2NjRiNDY4MmIyZTNjNTk4MzEzNWUuLjkwZGQzMmJh
Y2IwMzNiNzE3MzUyOWYyZjVkMjk5YTIwY2NlMzIwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNDIxLDE1ICsxNDIxLDE0IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
c2VydmljZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRJbWFn
ZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKQogewotICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIg
c3VwcG9ydGVkLgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEltYWdlQ29udHJvbHNF
bmFibGVkKGVuYWJsZWQpOwogfQogCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQorYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250
cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKLSAgICAvLyBJ
bWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KLSAgICByZXR1cm4gZmFsc2U7
CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmltYWdlQ29udHJvbHNFbmFibGVk
KCk7CiB9CiAKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEdhbWVwYWRzRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiYWQ0N2MwNzZlY2RjNWE4ZmYw
OTBmNjcxMTc4MTVjN2VjOWQ2NDQ1Li5jNGVlNTI1MDc2NDJkYjRlNTRjZmFkZjdmZWUzYmYxYjdj
MGQzZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTQ4OSw2ICs0ODksNyBAQCBzdGF0aWMgdm9pZCBoYXJkd2FyZUtleWJvYXJkQXZh
aWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLAogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2hv
d3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3Nob3dzVVJMc0luVG9v
bFRpcHNdKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2Vydmlj
ZUNvbnRyb2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfc2VydmljZUNvbnRyb2xzRW5hYmxl
ZF0pOworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfaW1hZ2VDb250cm9sc0VuYWJsZWRdKTsKIAog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KGNvbnZlcnRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KFtfY29uZmln
dXJhdGlvbiB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5XSkpOwogICAgIC8vIFdlIGFyZSBp
biB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJvdXRpbmUsIHNvIG91ciBjbGllbnQgaGFzbid0
IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRlcmZhY2UgZGlyZWN0aW9uLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQppbmRleCA5YjAyZTkxNDFmOTlmNTA5N2M2OThhNWI0ODUzMjFiMDQ1YmM3ZjFl
Li41OTc0YTljOTc2YjBmNTI1MDQ4YzBmODdiMWRlMDc5NmE2MGVlMmRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQpAQCAtMTU3LDYgKzE1Nyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGRE
ZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgV0tSZXRhaW5Q
dHI8V0tQYWdlR3JvdXBSZWY+IF9wYWdlR3JvdXA7CiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29s
VGlwczsKICAgICBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkOworICAgIEJPT0wgX2ltYWdl
Q29udHJvbHNFbmFibGVkOwogI2VuZGlmCiAgICAgQk9PTCBfd2FpdHNGb3JQYWludEFmdGVyVmll
d0RpZE1vdmVUb1dpbmRvdzsKICAgICBCT09MIF9jb250cm9sbGVkQnlBdXRvbWF0aW9uOwpAQCAt
MjI3LDYgKzIyOCw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZv
cmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgX3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlv
biA9IE5POwogICAgIF9zaG93c1VSTHNJblRvb2xUaXBzID0gTk87CiAgICAgX3NlcnZpY2VDb250
cm9sc0VuYWJsZWQgPSBOTzsKKyAgICBfaW1hZ2VDb250cm9sc0VuYWJsZWQgPSBOTzsKICNlbmRp
ZgogICAgIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93ID0gWUVTOwogCkBA
IC00MjUsNiArNDI3LDcgQEAgc3RhdGljIGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJl
Zm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2aWV3KCkKICAgICBjb25maWd1cmF0aW9uLT5fdXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSA9IHNlbGYtPl91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zaG93c1VSTHNJblRvb2xUaXBzID0gc2VsZi0+X3No
b3dzVVJMc0luVG9vbFRpcHM7CiAgICAgY29uZmlndXJhdGlvbi0+X3NlcnZpY2VDb250cm9sc0Vu
YWJsZWQgPSBzZWxmLT5fc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBjb25maWd1cmF0aW9u
LT5faW1hZ2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5faW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAg
ICAgY29uZmlndXJhdGlvbi0+X3BhZ2VHcm91cCA9IHNlbGYuX3BhZ2VHcm91cDsKICNlbmRpZgog
I2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTEx
NDUsMTMgKzExNDgsMTIgQEAgc3RhdGljIFdlYktpdDo6QXR0cmlidXRpb25PdmVycmlkZVRlc3Rp
bmcgdG9BdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZyhfV0tBdHRyaWIKIAogLSAoQk9PTClfaW1h
Z2VDb250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2Vy
IHN1cHBvcnRlZC4KLSAgICByZXR1cm4gTk87CisgICAgcmV0dXJuIF9pbWFnZUNvbnRyb2xzRW5h
YmxlZDsKIH0KIAogLSAodm9pZClfc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KEJPT0wpaW1hZ2VD
b250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1
cHBvcnRlZC4KKyAgICBfaW1hZ2VDb250cm9sc0VuYWJsZWQgPSBpbWFnZUNvbnRyb2xzRW5hYmxl
ZDsKIH0KIAogLSAoQk9PTClfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFu
YWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCAzMjY5OGQ1YjhmMjhj
OTIxMzYyNzdmMzllYTFlYzUzZTJjNThhZjYzLi44MTM2NTU3YzFmYWE1NjQwOWM5MGU4YzRhY2U1
ZjEyMjIyYzUyOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApAQCAtMTA1
LDcgKzEwNSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tBdHRyaWJ1dGlvbk92
ZXJyaWRlVGVzdGluZykgewogI2Vsc2UKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFNob3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93c1VSTHNJblRvb2xUaXBzIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFNlcnZpY2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQg
V0tfQVBJX0RFUFJFQ0FURUQoIkltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVk
IiwgbWFjb3MoMTAuMTIsIDEyLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZHdyaXRlLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01h
bmFnZXI6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2Vy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkd3JpdGUsIHNldHRlcj1fc2V0Q1BVTGltaXQ6KSBkb3VibGUgX2NwdUxpbWl0IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0
ZSwgc2V0dGVyPV9zZXRQYWdlR3JvdXA6KSBXS1BhZ2VHcm91cFJlZiBfcGFnZUdyb3VwIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxZDgwMDI5MDZjZWY5Y2M2MjRj
Njk5MzI2MmM1MmUzZTY0ODQ5MTUuLmFjMmY0NTQ0OWFjOWRkOTJiYTc1YjljMjVhZjllNjIxNGMx
Zjk1NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGlt
YWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gYWNjb3VudCBmb3IgaW1hZ2UgY29udHJvbHMuCisK
KyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2Vz
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTExLTI5ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8
YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBl
Y3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGI5MDZjNTk0NTI4NmJjYzM3ZTUwOTU0N2Y0ODBm
OWZkNzQ0YTk2N2UuLjdiNjE0NGFjNTA3ZjIxODVkMWRiMjFmYzZjZWZhZTkyNmQ5NzliY2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTMw
ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUt
YWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dWkvYXBwZWFyYW5jZS1jc3NvbS0wMDEtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTI5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbOmhhcygpIHBzZXVkby1j
bGFzc10gaWQgaW52YWxpZGF0aW9uIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDA1ZjM1YjRiNjFj
ZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0wLDAgKzEsOCBAQAor
IDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7CisKKzwvc2NyaXB0PgorPGJvZHk+Cis8aW1nIHNy
Yz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Cis8L2Jv
ZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0
NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBz
aXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRi
NWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1
ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWUyNGMxMjk4MDlj
NWZkOWY0NDRhNmJhYjEzYjQ2NGI0YTMwYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJJ
bWFnZUNvbnRyb2xzIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorIGxheWVyIGF0ICgyMjks
MTQpIHNpemUgMjl4MjYKKyAgIFJlbmRlckltYWdlQ29udHJvbHNCdXR0b24ge0RJVn0gYXQgKDIy
MSw2KSBzaXplIDI5eDI2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJhZjQyZGM1NjQ0ODUw
NmIxNzUxZjQzMTQ4NTAzMmEzMjE5YTM4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJJbWFnZUNvbnRy
b2xzIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorbGF5ZXIgYXQgKDIzMCwxNCkgc2l6ZSAy
OHgyNgorICBSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uIHtESVZ9IGF0ICgyMjIsNikgc2l6ZSAy
OHgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjc1
YmQxMWY2MmQxNGE1NjYzNDBlZTIzYzFmOWE5MzBjYzYzNjQzLi40MDI1NjE5ODNiNDM3YTUxODFj
NDdmMDQ0ZDEwODBiYTA2OTk4MmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMjczMyw2ICsyNzMzLDcgQEAgZmFzdC9oaXN0b3J5L2hpc3Rvcnktc3Vi
ZnJhbWUtd2l0aC1uYW1lLmh0bWwgWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9sb2NhdGlvbi1yZXBs
YWNlLWhhc2guaHRtbCBbIFNraXAgXQogZmFzdC9oaXN0b3J5L3NhdmVzLXN0YXRlLWFmdGVyLWZy
YWdtZW50LW5hdi5odG1sIFsgU2tpcCBdCiAKK2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDA1MTYgWyBEZWJ1ZyBdIGZhc3Qv
aW1hZ2VzL2xhcmdlLXNpemUtaW1hZ2UtY3Jhc2guaHRtbCBbIFNraXAgXSAgIyBDcmFzaGluZwog
ZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLXdpdGgtYW5ub3RhdGlvbnMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogZmFzdC9pbWFnZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRt
bCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1
YjM4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1
NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="commit-queue"
          id="470662"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445473</attachid>
            <date>2021-11-30 14:58:31 -0800</date>
            <delta_ts>2021-11-30 16:27:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130145830.patch</filename>
            <type>text/plain</type>
            <size>66768</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxYjY0MDRkNGYwNjk3YTM2Nzc3NTI5MjgyMjhm
NmZkNjRmOTRkMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNDkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2lt
cG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRf
UFJJVkFURV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwg
OiBOU0J1dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAoKQorKyAoTlNTZXJ2
aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHls
ZTooTlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAoTlNSZWN0KXJlY3RGb3JC
b3VuZHM6KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0RWRnZSlwcmVmZXJyZWRF
ZGdlOworQGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5i
ZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9X
aGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5j
cHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92
aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBs
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjc1MzBj
Y2I0ODJkMmQzNzYxNGQ1YTEzYzQ4ZGY0Y2E3Y2M3NWZmYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3
IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2
NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBX
ZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9y
TGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERD
NzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAq
LzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUw
NzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8q
IFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQu
aCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1
OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhF
NTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGln
aHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0
ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdo
dFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZB
NjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGln
aHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRB
ODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFj
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4
MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJv
bHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJF
MDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3Bp
bkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1
MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJ
NDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJ
CTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkp
OwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2
ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlE
RUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZC
IC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUw
MDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMs
MTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwog
CQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogSW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAv
KiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0z
NDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4
MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Qz
RTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VE
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1h
Z2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBD
NDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3
OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uMmFlM2I0ZjY5MTE1NjRlZGFlMTcyMjY0MmFlOTI1NTI0
NWUzMmM4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
TWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsK
ICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250
cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlV2Via2l0
SW1hZ2VDb250cm9sc0J1dHRvbjsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUo
QVBQTEVfUEFZKQogICAgIGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OgogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUFwcGxlUGF5QnV0dG9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9w
ZXJ0aWVzLmpzb24KaW5kZXggMzNiOWJhNTUzZjE4ZTEwZjc1YjViZDQyODhkMTdhYTk4NGE0MTQ5
My4uODcwMDM5NmIwYzQ4Y2YxZmYyNmM1NTEyMDg3NGFmNmMzZGU3MDIzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC01MDA4LDYgKzUwMDgsNyBAQAogICAgICAgICAg
ICAgICAgICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAg
ICAgICAgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAg
ICAgInJhdGluZy1sZXZlbC1pbmRpY2F0b3IiLAorICAgICAgICAgICAgICAgICItd2Via2l0LWlt
YWdlLWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9u
IiwKICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2ht
ZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmlu
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTVi
N2E2ZWUxY2ZlNjRhZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uZjhlZmZlN2Q0ZjAwNTcyZWMwYmM2ZDMz
YjJlYTJhYzEyMGQ0MDdiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
QEAgLTg4Nyw2ICs4ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3Vz
LWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yCiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy13ZWJraXQtaW1hZ2UtY29udHJv
bHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJM
RV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTkyM2VlNjMw
ZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi41NmJmNGUxOTBmNDU5MzE3NTQ4OWYxMWMzNWMwMDZmMzEw
MGMwZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMu
Y3BwCkBAIC00MCw2ICs0MCw4IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOworICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRJbWFnZUNvbnRyb2xzQnV0dG9uOgor
ICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CiAgICAgZGVmYXVsdDoKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VD
b250cm9sc01hYy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThmYzkxNDkyNDczZGEyMmNjNzVjNDAxNTNkYTAy
YTEzMDM2MzdhMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1h
Z2VDb250cm9sc01hYy5jcHAKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorCisjaW5jbHVkZSAi
RWxlbWVudElubGluZXMuaCIKKyNpbmNsdWRlICJIVE1MQnV0dG9uRWxlbWVudC5oIgorI2luY2x1
ZGUgIkhUTUxEaXZFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAi
SFRNTFN0eWxlRWxlbWVudC5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAi
U2hhZG93Um9vdC5oIgorI2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVk
ZSA8d3RmL3RleHQvQXRvbVN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3Bh
Y2UgSW1hZ2VDb250cm9sc01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwor
c3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
Cit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5n
PiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scyIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21M
aXRlcmFsKTsKKyAgICByZXR1cm4gaWRlbnRpZmllcjsKK30KKworc3RhdGljIGNvbnN0IEF0b21T
dHJpbmcmIGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMgTWFp
blRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAg
ICByZXR1cm4gaWRlbnRpZmllcjsKK30KKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxl
bWVudCYgZWxlbWVudCkKK3sKKyAgICBhdXRvIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jv
b3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jvb3QgfHwgc2hhZG93Um9vdC0+bW9kZSgpICE9IFNoYWRv
d1Jvb3RNb2RlOjpVc2VyQWdlbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVy
biBzaGFkb3dSb290LT5oYXNFbGVtZW50V2l0aElkKCppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50
aWZpZXIoKS5pbXBsKCkpOworfQorCitzdGF0aWMgUmVmUHRyPEhUTUxFbGVtZW50PiBpbWFnZUNv
bnRyb2xIb3N0KGNvbnN0IE5vZGUmIG5vZGUpCit7CisgICAgYXV0byBob3N0ID0gbm9kZS5zaGFk
b3dIb3N0KCk7CisgICAgaWYgKCFpczxIVE1MRWxlbWVudD4oaG9zdCkpCisgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgUmVmUHRyIGVsZW1lbnQgeyAmZG93bmNhc3Q8SFRNTEVsZW1lbnQ+
KCpob3N0KSB9OworICAgIHJldHVybiBoYXNDb250cm9scygqZWxlbWVudCkgPyBlbGVtZW50IDog
bnVsbHB0cjsKK30KKworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5v
ZGUmIG5vZGUpCit7CisgICAgYXV0byBob3N0ID0gaW1hZ2VDb250cm9sSG9zdChub2RlKTsKKyAg
ICBpZiAoIWhvc3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChSZWZQdHIgY29u
dHJvbFJvb3QgPSBzdGF0aWNfY2FzdDxUcmVlU2NvcGUmPigqaG9zdC0+dXNlckFnZW50U2hhZG93
Um9vdCgpKS5nZXRFbGVtZW50QnlJZChpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigpKSkK
KyAgICAgICAgcmV0dXJuIG5vZGUuaXNEZXNjZW5kYW50T2YoKmNvbnRyb2xSb290KTsKKworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50
JiBlbGVtZW50KQoreworICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKKyAg
ICBSZWYgc2hhZG93Um9vdCA9IGVsZW1lbnQuZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOwor
ICAgIGF1dG8gY29udHJvbExheWVyID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudC5n
ZXQoKSk7CisgICAgY29udHJvbExheWVyLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzRWxl
bWVudElkZW50aWZpZXIoKSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoY29udHJvbExh
eWVyKTsKKyAgICAKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0
cmluZz4gc2hhZG93U3R5bGUoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoaW1hZ2VD
b250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQsIHNpemVvZihpbWFnZUNvbnRyb2xzTWFjVXNl
ckFnZW50U3R5bGVTaGVldCkpKTsKKyAgICBhdXRvIHN0eWxlID0gSFRNTFN0eWxlRWxlbWVudDo6
Y3JlYXRlKEhUTUxOYW1lczo6c3R5bGVUYWcsIGRvY3VtZW50LmdldCgpLCBmYWxzZSk7CisgICAg
c3R5bGUtPnNldFRleHRDb250ZW50KHNoYWRvd1N0eWxlKTsKKyAgICBzaGFkb3dSb290LT5hcHBl
bmRDaGlsZChXVEZNb3ZlKHN0eWxlKSk7CisgICAgCisgICAgYXV0byBidXR0b24gPSBIVE1MQnV0
dG9uRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1lczo6YnV0dG9uVGFnLCBlbGVtZW50LmRvY3VtZW50
KCksIG51bGxwdHIpOworICAgIGJ1dHRvbi0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0J1
dHRvbklkZW50aWZpZXIoKSk7CisgICAgY29udHJvbExheWVyLT5hcHBlbmRDaGlsZChidXR0b24p
OworICAgIAorICAgIGlmIChhdXRvKiByZW5kZXJPYmplY3QgPSBlbGVtZW50LnJlbmRlcmVyKCk7
IGlzPFJlbmRlckltYWdlPihyZW5kZXJPYmplY3QpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJJ
bWFnZT4oKnJlbmRlck9iamVjdCkuc2V0SGFzU2hhZG93Q29udHJvbHModHJ1ZSk7Cit9CisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VD
b250cm9sc01hYworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFj
L0ltYWdlQ29udHJvbHNNYWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjhjYzA1MzEwZmM1ZDM3ZmQxZWU0MDY2
NjZiYjc3ODIzOGJjZmEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiSW50UmVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEhUTUxFbGVtZW50OworY2xhc3MgTm9kZTsKKworbmFtZXNwYWNlIEltYWdlQ29udHJv
bHNNYWMgeworCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK2Jvb2wgaGFzQ29udHJv
bHMoY29uc3QgSFRNTEVsZW1lbnQmKTsKK2Jvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVu
dChjb25zdCBOb2RlJik7Cit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsK
KworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJ
bWFnZUNvbnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCmluZGV4IGFkZjIwZTY1Mjc0NjBlNWY1ZjMwZWZjNmYw
ZTA5NWEyZjViODQzMjIuLjZkZWEzOGVmMDk0NmUzZWVkODNlZmQwYWU2MTRlZTlkMzMxNDZhNjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC00MjksNiAr
NDI5LDcgQEAgYXV0b2NhcGl0YWxpemUKIG9ud2Via2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0aXN3
aXJlbGVzc2NoYW5nZWQKIG9ud2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2Vk
CiBvbndlYmtpdHByZXNlbnRhdGlvbm1vZGVjaGFuZ2VkCit4LXdlYmtpdC1pbWFnZW1lbnUKIHdl
YmtpdC1wbGF5c2lubGluZQogeC13ZWJraXQtYWlycGxheQogeC13ZWJraXQtd2lyZWxlc3N2aWRl
b3BsYXliYWNrZGlzYWJsZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3Bw
CmluZGV4IDgwNTNhNjI1MmQxMzVkYzJjYmYxY2VjZjAxM2UyNTgwMGYxODgyNGIuLjJkMjI4MDRj
Njk2NDIxNDA0YmU5YzZiZTVhZTA0YWM3NWJjM2Q3ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkhUTUxQaWN0
dXJlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SFRNTFNyY3NldFBhcnNlci5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKICNpbmNs
dWRlICJMYXp5TG9hZEltYWdlT2JzZXJ2ZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5j
bHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgpAQCAtMzA4LDYgKzMwOSwxMSBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9y
bWFsOwogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwg
bV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIp
IHsKKyAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAg
ICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
bG9hZGluZ0F0dHIpIHsKICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8g
bGF6eSB0cmFuc2l0aW9uLgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZh
bHVlKHZhbHVlKSkKQEAgLTM3Niw2ICszODIsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
aWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVm
b3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYg
cmVuZGVySW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJl
bmRlckltYWdlUmVzb3VyY2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFn
ZVJlc291cmNlKCk7CiAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkK
QEAgLTc1Myw2ICs3NjMsNTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRh
Y2htZW50SWRlbnRpZmllcigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxl
bWVudCBpcyBpbnNpZGUgYSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2Ug
Y29udHJvbC4KKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwor
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCisgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NF
UlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7
CisgICAgSW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisK
K3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1
dG8gc2hhZG93Um9vdCA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dS
b290LT5maXJzdENoaWxkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1M
RWxlbWVudD4oKm5vZGUpKSk7CisgICAgICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2Rl
KTsKKyAgICB9CisgICAgYXV0byogcmVuZGVyT2JqZWN0ID0gcmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlck9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIGRvd25jYXN0PFJlbmRlckltYWdl
PigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyhmYWxzZSk7Cit9CisKK2Jvb2wg
SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250cm9scygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKCp0aGlzKTsKK30KKworYm9vbCBIVE1MSW1h
Z2VFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBj
b25zdAoreworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBs
b2dpYy4gU2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2
MjQuLjhiOWNlZTVlZmI3NjRkY2M0ODhiZmQ4NjFiOGJjMmJlOGY3NGQ2ZjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDggQEAgcHVibGljOgog
CiAgICAgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsK
ICAgICAKKyAgICBib29sIGltYWdlTWVudUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdl
TWVudUVuYWJsZWQ7IH0KKyAgICAKICAgICBIVE1MUGljdHVyZUVsZW1lbnQqIHBpY3R1cmVFbGVt
ZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQaWN0dXJlRWxlbWVudChIVE1MUGljdHVyZUVsZW1l
bnQqKTsKIApAQCAtMTg4LDYgKzE5MCwxNCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29weU5vbkF0
dHJpYnV0ZVByb3BlcnRpZXNGcm9tRWxlbWVudChjb25zdCBFbGVtZW50JikgZmluYWw7CiAKICAg
ICBmbG9hdCBlZmZlY3RpdmVJbWFnZURldmljZVBpeGVsUmF0aW8oKSBjb25zdDsKKyAgICAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHVwZGF0ZUltYWdlQ29udHJvbHMo
KTsKKyAgICB2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB2b2lkIGRlc3Ryb3lJ
bWFnZUNvbnRyb2xzKCk7CisgICAgYm9vbCBoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3Q7CisgICAg
Ym9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlk
ZTsKKyNlbmRpZgogCiAgICAgSFRNTFNvdXJjZUVsZW1lbnQqIHNvdXJjZUVsZW1lbnQoKSBjb25z
dDsKICAgICB2b2lkIHNldFNvdXJjZUVsZW1lbnQoSFRNTFNvdXJjZUVsZW1lbnQqKTsKQEAgLTIw
MSw2ICsyMTEsNyBAQCBwcml2YXRlOgogICAgIEF0b21TdHJpbmcgbV9jdXJyZW50U3JjOwogICAg
IEF0b21TdHJpbmcgbV9wYXJzZWRVc2VtYXA7CiAgICAgZmxvYXQgbV9pbWFnZURldmljZVBpeGVs
UmF0aW87CisgICAgYm9vbCBtX2ltYWdlTWVudUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9oYWROYW1lQmVmb3JlQXR0cmlidXRlQ2hhbmdlZCB7IGZhbHNlIH07IC8vIEZJWE1FOiBXZSBv
bmx5IG5lZWQgdGhpcyBiZWNhdXNlIHBhcnNlQXR0cmlidXRlKCkgY2FuJ3Qgc2VlIHRoZSBvbGQg
dmFsdWUuCiAgICAgYm9vbCBtX2lzRHJvcHBlZEltYWdlUGxhY2Vob2xkZXIgeyBmYWxzZSB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9s
c01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDFkZjdkYTYyZWVjNTc5NDE4NmRjOGU2Njg3NDI4ZTM5YjY0ZDQ0
NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNzcwpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFC
TEVfU0VSVklDRV9DT05UUk9MUworCitkaXYjaW1hZ2UtY29udHJvbHMgeworICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgb3ZlcmZsb3c6IGhp
ZGRlbjsKKyAgICBjb2xvcjogdHJhbnNwYXJlbnQ7Cit9CisKK2J1dHRvbiNpbWFnZS1jb250cm9s
cy1idXR0b24geworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICB0b3A6IDIwcHg7CisgICAg
cmlnaHQ6IDIwcHg7CisgICAgCisgICAgZGlzcGxheTogYmxvY2s7CisKKyAgICBhcHBlYXJhbmNl
OiAtd2Via2l0LWltYWdlLWNvbnRyb2xzLWJ1dHRvbjsKKworICAgIHRyYW5zaXRpb246IG9wYWNp
dHkgMC4yNXM7CisgICAgb3BhY2l0eTogMC4wOworfQorCitkaXYjaW1hZ2UtY29udHJvbHM6aG92
ZXIgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgb3BhY2l0eTogMS4wOworfQor
CisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAKaW5kZXggMzUxZGVmNTU2ZjFjMzc0ZTQ1NTU3OWI0OGQ2YTcyOWJjODJlOWFiOS4uZmNj
NTA0NDA4N2Q0MTcwNTgzMjMyNDE5NTk5NTI1NzI2MDdkNzIzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApAQCAtNTEsNiArNTEsNyBAQAogI2lu
Y2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1l
bnQuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9s
c01hYy5oIgogI2luY2x1ZGUgIkltYWdlT3ZlcmxheS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJMb2NhbGl6ZWRTdHJpbmdzLmgiCkBAIC0xNDMsNiArMTQ0
LDIxIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQm
IGV2ZW50LCBDb250ZXh0TWVudVByb3ZpZGVyJiBwCiAgICAgc2hvd0NvbnRleHRNZW51KGV2ZW50
KTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitzdGF0aWMgSW1hZ2UqIGlt
YWdlRnJvbUltYWdlRWxlbWVudE5vZGUoTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvKiByZW5kZXJl
ciA9IG5vZGUucmVuZGVyZXIoKTsKKyAgICBpZiAoIWlzPFJlbmRlckltYWdlPihyZW5kZXJlcikp
CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIGF1dG8qIGltYWdlID0gZG93bmNhc3Q8UmVu
ZGVySW1hZ2U+KCpyZW5kZXJlcikuY2FjaGVkSW1hZ2UoKTsKKyAgICBpZiAoIWltYWdlIHx8IGlt
YWdlLT5lcnJvck9jY3VycmVkKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVy
biBpbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihyZW5kZXJlcik7Cit9CisKKyNlbmRpZgorCiBzdGQ6
OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVh
dGVDb250ZXh0TWVudShFdmVudCYgZXZlbnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlw
ZT4gaGl0VHlwZSwgQ29udGV4dE1lbnVDb250ZXh0OjpUeXBlIGNvbnRleHRUeXBlKQogewogICAg
IGlmICghaXM8TW91c2VFdmVudD4oZXZlbnQpKQpAQCAtMTYyLDYgKzE3OCwxNiBAQCBzdGQ6OnVu
aXF1ZV9wdHI8Q29udGV4dE1lbnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVD
b250ZXh0TWVudShFdmVudAogCiAgICAgbV9jb250ZXh0ID0gQ29udGV4dE1lbnVDb250ZXh0KGNv
bnRleHRUeXBlLCByZXN1bHQpOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAg
aWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQobm9kZSkp
IHsKKyAgICAgICAgaWYgKGF1dG8qIGltYWdlID0gaW1hZ2VGcm9tSW1hZ2VFbGVtZW50Tm9kZSgq
cmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRD
b250cm9sbGVkSW1hZ2UoaW1hZ2UpOworCisgICAgICAgIC8vIEZJWE1FOiBJZiB3ZSBjb3VsZG4n
dCBnZXQgdGhlIGltYWdlIHRoZW4gd2Ugc2hvdWxkbid0IHRyeSB0byBzaG93IHRoZSBpbWFnZSBj
b250cm9scyBtZW51IGZvciBpdC4KKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorI2Vu
ZGlmCisgICAgCiAgICAgcmV0dXJuIG1ha2VVbmlxdWU8Q29udGV4dE1lbnU+KCk7CiB9CiAKQEAg
LTE1MzYsNiArMTU2MiwxNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRl
eHRNZW51QXQoRnJhbWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgY2xpYwogCiAjZW5kaWYKIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit2b2lkIENvbnRleHRNZW51Q29udHJvbGxl
cjo6c2hvd0ltYWdlQ29udHJvbHNNZW51KEV2ZW50JiBldmVudCkKK3sKKyAgICBjbGVhckNvbnRl
eHRNZW51KCk7CisgICAgaGFuZGxlQ29udGV4dE1lbnVFdmVudChldmVudCk7CisgICAgbV9jbGll
bnQuc2hvd0NvbnRleHRNZW51KCk7Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmluZGV4IDZmZTJiZDNhODY3YTI3YWFjOGI3NGI0
MWUzM2ViNWQxODc2ZTQwN2UuLjkwNjFkYTcyNGJjM2Y4MGIzOTAyNGNkZTg3OWNiZDYzY2U1Yjcw
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAt
NjksNiArNjksMTAgQEAgcHVibGljOgogI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVO
VVMpCiAgICAgdm9pZCBzaG93Q29udGV4dE1lbnVBdChGcmFtZSYsIGNvbnN0IEludFBvaW50JiBj
bGlja1BvaW50KTsKICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIHZvaWQgc2hvd0ltYWdlQ29udHJvbHNNZW51KEV2ZW50Jik7CisjZW5kaWYKIAogcHJpdmF0
ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IG1heWJlQ3JlYXRlQ29udGV4dE1l
bnUoRXZlbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5k
ZXggZWMzZTQyMGU3OWJiMWI1ZGNmNzAxMzU1ZDFhY2U2OWJmODg2NDE1MS4uOTg4NzgxMjM3MDA0
YzU3YjM4Nzk2NzhhZjdmOTA4Yzg4NjdmMzhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcApAQCAtMjUzNiw2ICsyNTM2LDEwIEBAIFJlZlB0cjxFbGVtZW50PiBFdmVudEhhbmRs
ZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1lbnQoKSBjb25zdAogCiAgICAgaWYgKCFj
YW5kaWRhdGVFbGVtZW50KQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAKKyAgICBpZiAo
Y2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKyAgICAKIAogICAgIGlmIChjYW5kaWRhdGVFbGVtZW50LT5oYXNFZGl0YWJsZVN0eWxl
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5
cGVzLmNwcAppbmRleCAyNzI4NjAxNzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4y
NmY0Y2Y0NWE4MWFiMDI4NTUxOWJkZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZVR5cGVzLmNwcApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVy
YXRvcjw8KFRleHRTdHJlYW0mIHRzLCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNl
IENvbnRpbnVvdXNDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRl
Q2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZl
bC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQ
YXJ0OiB0cyA8PCAicmF0aW5nLWxldmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDog
dHMgPDwgImltYWdlLWNvbnRyb2xzLWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBF
TkFCTEUoQVBQTEVfUEFZKQogICAgIGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBw
bGUtcGF5LWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Ro
ZW1lVHlwZXMuaAppbmRleCBjZTdhZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJi
Li40MmJiMzY0OTA1N2I0MjUxMzExOWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5oCkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQg
ewogICAgIENvbnRpbnVvdXNDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0
ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFy
dCwKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9u
UGFydCwKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25Q
YXJ0LAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRl
eCA4NjJmYjlmNGNmNGJlOTE2ZTU5OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5iZmQyZjVkZWFjZWZm
NzgxYmFmNGEyMjZlMGE5ZjI5MWY1NDYzOWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJJbWFnZS5jcHAKQEAgLTE0NSw2ICsxNDUsOCBAQCBSZW5kZXJJbWFnZTo6UmVuZGVySW1h
Z2UoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5
bAogICAgICwgbV9pbWFnZURldmljZVBpeGVsUmF0aW8oaW1hZ2VEZXZpY2VQaXhlbFJhdGlvKQog
ewogICAgIHVwZGF0ZUFsdFRleHQoKTsKKyAgICBpZiAoaXM8SFRNTEltYWdlRWxlbWVudD4oZWxl
bWVudCkpCisgICAgICAgIG1faGFzU2hhZG93Q29udHJvbHMgPSBkb3duY2FzdDxIVE1MSW1hZ2VF
bGVtZW50PihlbGVtZW50KS5pbWFnZU1lbnVFbmFibGVkKCk7CiB9CiAKIFJlbmRlckltYWdlOjpS
ZW5kZXJJbWFnZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxl
SW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2MTBhOTY0MGQyMmRjMDJmM2NmMjY4NTllLi4xZGMxNGNj
NTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMTAgQEAgdm9pZCBSZW5kZXJUaGVt
ZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW50
LCBjb25zdAogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDoKICAg
ICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVzdE1l
dGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2VuZGlmCiAgICAgY2Fz
ZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RDYXBzTG9ja0lu
ZGljYXRvclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAt
NTQ2LDYgKzU1MCwxMCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludChjb25zdCBSZW5kZXJCb3gm
IGJveCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29ucwogICAgICAgICByZXR1cm4g
cGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydChib3gsIHBhaW50SW5mbywgaW50
ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0
OgogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oYm94LCBwYWlu
dEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWlu
dEltYWdlQ29udHJvbHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBwYWludENhcHNMb2NrSW5kaWNhdG9yKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRS
ZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNjEyLDYgKzYyMCw5IEBAIGJvb2wgUmVu
ZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25seShjb25zdCBSZW5kZXJCb3gmIGJveCwgY29uc3QgUGFp
bnRJbmZvJiBwYWludEluCiAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAg
IGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAg
IGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC02ODYsNiArNjk3LDkgQEAgdm9pZCBSZW5kZXJUaGVtZTo6
cGFpbnREZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJCb3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEkKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFy
Y2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0
c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFn
ZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFr
OwogICAgIH0KQEAgLTEyNzcsNiArMTI5MSwxMiBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNs
aWRlclRpY2tzKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAog
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVt
ZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxl
bWVudCopIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogU2Vjb25kcyBSZW5kZXJUaGVtZTo6YW5pbWF0
aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jhcihjb25zdCBSZW5kZXJQcm9ncmVzcyYpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIDBfczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
LmgKaW5kZXggNWU1NGVmMTFjZTY5NDczNDBkZTM4NjY4ZWZmMzU0ZTU1N2ZkMjVhNC4uOGExZTRk
ZmFkMWE3MTkwYmMxNWNiNTJlZjMyNDQzNzVkYWM2NDllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmgKQEAgLTI0OSw2ICsyNDksMTEgQEAgcHVibGljOgogCiAgICAgZW51
bSBGaWxlVXBsb2FkRGVjb3JhdGlvbnMgeyBTaW5nbGVGaWxlLCBNdWx0aXBsZUZpbGVzIH07CiAg
ICAgdmlydHVhbCB2b2lkIHBhaW50RmlsZVVwbG9hZEljb25EZWNvcmF0aW9ucyhjb25zdCBSZW5k
ZXJPYmplY3QmIC8qaW5wdXRSZW5kZXJlciovLCBjb25zdCBSZW5kZXJPYmplY3QmIC8qYnV0dG9u
UmVuZGVyZXIqLywgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYsIEljb24qLCBGaWxl
VXBsb2FkRGVjb3JhdGlvbnMpIHsgfQorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IHsg
cmV0dXJuIEludFNpemUoKTsgfQorICAgIHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0
dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7IH0KKyNlbmRpZgog
CiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICB2aXJ0dWFsIExheW91dFNpemUg
YXR0YWNobWVudEludHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0YWNobWVudCYpIGNvbnN0IHsg
cmV0dXJuIExheW91dFNpemUoKTsgfQpAQCAtMzU5LDYgKzM2NCwxMSBAQCBwcm90ZWN0ZWQ6CiAg
ICAgdmlydHVhbCB2b2lkIGFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0
IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRMaXN0QnV0dG9uKGNvbnN0
IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpIHsgcmV0
dXJuIHRydWU7IH0KICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5
bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VD
b250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQorI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25z
dDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRQcm9ncmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAppbmRleCBjNDFmNzQ5MDA5MjVl
ZmExNjVlZWVlODlkNjhiOGU2NjYxMDUzNTU1Li4wYjcxODk4NTM1N2YxZmM4NzA5OWJlOTQ5YTMy
MDE5YWU1MGViYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
aApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFpbnRMaXN0QnV0dG9u
Rm9ySW5wdXQoY29uc3QgUmVuZGVyT2JqZWN0JiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxv
YXRSZWN0Jik7CiAgICAgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBj
b25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShS
ZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdCBmaW5hbDsKKyNlbmRpZgogCiAjaWYg
RU5BQkxFKFZJREVPKQogICAgIGJvb2wgc3VwcG9ydHNDbG9zZWRDYXB0aW9uaW5nKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMjA4LDYgKzIxMiwxNCBAQCBwcml2YXRlOgogICAg
IGludCBtaW5pbXVtUHJvZ3Jlc3NCYXJIZWlnaHQoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsK
ICAgICBjb25zdCBJbnRTaXplKiBwcm9ncmVzc0JhclNpemVzKCkgY29uc3Q7CiAgICAgY29uc3Qg
aW50KiBwcm9ncmVzc0Jhck1hcmdpbnMoTlNDb250cm9sU2l6ZSkgY29uc3Q7CisgICAgCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0
b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYp
IGZpbmFsOworICAgIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCBmaW5h
bDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0
IGZpbmFsOworCisgICAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xs
b3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKKyNlbmRpZgogCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8
TlNQb3BVcEJ1dHRvbkNlbGw+IG1fcG9wdXBCdXR0b247CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8
TlNTZWFyY2hGaWVsZENlbGw+IG1fc2VhcmNoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCmluZGV4IGFhNjBmMmViMmM0MjMyZWM5MGZhOTNmZWEwZmU4MDcwNjFi
MzU4YzIuLmY3MzU1ZTVmMGY0NzczZTg0ZmY5ZDRmZDRhYWZiZjFkMGFiYTcxOTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTc1LDYgKzc1LDcgQEAK
ICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwZWFyYW5jZVNQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNDZWxsU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltYWdlU1BJLmg+Cisj
aW1wb3J0IDxwYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmg+CiAj
aW1wb3J0IDxwYWwvc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJLmg+CiAjaW1wb3J0
IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL09iakNSdW50aW1lRXh0cmFzLmg+CkBA
IC04MiwxNyArODMsNiBAQAogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8
d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
Ci0KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbnRvIGFuIFNQSS5oIGZpbGUgaW4gdGhlIHNw
aSBkaXJlY3RvcnkuCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPEFwcEtp
dC9BcHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KLSNlbHNlCi0jZGVmaW5lIEFQUEtJVF9QUklWQVRF
X0NMQVNTCi0jZW5kaWYKLQotI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCiAv
LyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGly
ZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJl
ZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihO
U1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAt
MTA5Myw2ICsxMDgzLDE0IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdExpc3RCdXR0b25T
dHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqKSBjCiAKICNlbmRpZgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50
KikgY29uc3QKK3sKKyAgICBzdHlsZS5zZXRIZWlnaHQoTGVuZ3RoKGltYWdlQ29udHJvbHNCdXR0
b25TaXplKCkuaGVpZ2h0KCksIExlbmd0aFR5cGU6OkZpeGVkKSk7CisgICAgc3R5bGUuc2V0V2lk
dGgoTGVuZ3RoKGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkud2lkdGgoKSwgTGVuZ3RoVHlwZTo6
Rml4ZWQpKTsKK30KKyNlbmRpZgorCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludFRleHRGaWVs
ZChjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2Fs
Q29udGV4dChwYWludEluZm8uY29udGV4dCgpKTsKQEAgLTIyODIsNiArMjI4MCw0NyBAQCBTdHJp
bmcgUmVuZGVyVGhlbWVNYWM6OmZpbGVMaXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBm
aWxlTGlzdCwgY29uc3QgRm9udAogICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRy
dW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250KTsKIH0KIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCogUmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbikgeworICAgICAgICBtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24g
PSBbTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCBzZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxs
Rm9yU3R5bGU6TlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlUm9sbG92ZXJdOworICAgICAgICBb
bV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJlemVsU3R5bGU6TlNCZXplbFN0eWxlUm91bmRl
ZERpc2Nsb3N1cmVdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJ1dHRv
blR5cGU6TlNCdXR0b25UeXBlUHVzaE9uUHVzaE9mZl07CisgICAgICAgIFttX3NlcnZpY2VzUm9s
bG92ZXJCdXR0b24gc2V0SW1hZ2VQb3NpdGlvbjpOU0ltYWdlT25seV07CisgICAgICAgIFttX3Nl
cnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0U3RhdGU6Tk9dOworICAgIH0KKyAgICByZXR1cm4gbV9z
ZXJ2aWNlc1JvbGxvdmVyQnV0dG9uLmdldCgpOworfQorCitib29sIFJlbmRlclRoZW1lTWFjOjpw
YWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29u
c3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgTlNT
ZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqY2VsbCA9IHNlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsKCk7CisgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWlu
dEluZm8uY29udGV4dCgpKTsKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgcGFpbnRJbmZvLmNvbnRleHQoKS50cmFuc2xh
dGUocmVjdC5sb2NhdGlvbigpKTsKKyAgICBJbnRSZWN0IGlubmVyRnJhbWUoSW50UG9pbnQoKSwg
cmVjdC5zaXplKCkpOworICAgIFtjZWxsIGRyYXdXaXRoRnJhbWU6aW5uZXJGcmFtZSBpblZpZXc6
ZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVyKV07CisgICAgW2NlbGwgc2V0Q29udHJvbFZpZXc6bmls
XTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdl
Q29udHJvbHNCdXR0b25TaXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKK30KKworSW50U2l6ZSBSZW5kZXJUaGVt
ZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3QKK3sKKyAgICAv
LyBGSVhNRTogQ3VycmVudGx5IHRoZSBvZmZzZXRzIHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIG5v
IG1hdHRlciB3aGF0IGltYWdlIHJlY3QgeW91IHRyeSB3aXRoLgorICAgIC8vIFRoaXMgbWF5IG5v
dCBhbHdheXMgYmUgdHJ1ZSBpbiB0aGUgZnV0dXJlLgorICAgIHN0YXRpYyBjb25zdCBpbnQgZHVt
bXlEaW1lbnNpb24gPSAxMDA7CisgICAgSW50UmVjdCBkdW1teUltYWdlUmVjdCgwLCAwLCBkdW1t
eURpbWVuc2lvbiwgZHVtbXlEaW1lbnNpb24pOworICAgIE5TUmVjdCBib3VuZHMgPSBbc2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSByZWN0Rm9yQm91bmRzOmR1bW15SW1hZ2VSZWN0IHByZWZl
cnJlZEVkZ2U6TlNNaW5ZRWRnZV07CisgICAgcmV0dXJuIEludFNpemUoZHVtbXlEaW1lbnNpb24g
LSBib3VuZHMub3JpZ2luLngsIGJvdW5kcy5vcmlnaW4ueSk7Cit9CisjZW5kaWYKKwogI2lmIEVO
QUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiBjb25zdCBDR0Zsb2F0IGF0dGFjaG1lbnRJY29uU2l6
ZSA9IDQ4OwogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvbkJhY2tncm91bmRQYWRkaW5nID0g
NjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAppbmRleCBlMTFkNmZmYTdk
ZWU5YjQ4MjgxNjUxMjcyNDNkYzc1ZTFjMjM5Y2JjLi5hMTAyNzgwMzZiYTkwN2RiYzhiY2E1ZTU5
NDExMTEzNGY5ZTljMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3Bw
CkBAIC03NCw2ICs3NCw5IEBAIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1h
dGhNTFN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptZWRp
YUNvbnRyb2xzU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6
OmZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHls
ZTo6cGx1Z0luc1N0eWxlU2hlZXQ7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitTdHls
ZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjppbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsK
KyNlbmRpZgogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFRdWVyeVN0
eWxlU2hlZXQ7CiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiBTdHlsZVNoZWV0Q29udGVu
dHMqIFVzZXJBZ2VudFN0eWxlOjpkYXRhTGlzdFN0eWxlU2hlZXQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuaAppbmRleCBiMTFlMTBhZTlkOGEyOTAyMzA2NjA4Yjk3MjlhYjAxMjFm
ZWMyNGEwLi5kMjZkNjA5MDk3YzJmYWQxZTMzMWM0NWY0MDFkMTRmZjA0ODBlMzNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKQEAgLTQ2LDYgKzQ2LDkgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0Owog
ICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogICAg
IHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIHBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGltYWdl
Q29udHJvbHNTdHlsZVNoZWV0OworI2VuZGlmCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQp
CiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogZGF0YUxpc3RTdHlsZVNoZWV0OwogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVu
Y2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CmluZGV4IDE1MjRhMGJlYzNjMzYyNGQxYmM2NjRiNDY4MmIyZTNjNTk4MzEzNWUuLjkwZGQzMmJh
Y2IwMzNiNzE3MzUyOWYyZjVkMjk5YTIwY2NlMzIwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0xNDIxLDE1ICsxNDIxLDE0IEBA
IGJvb2wgV0tQcmVmZXJlbmNlc0dldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
c2VydmljZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRJbWFn
ZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29sKQordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgYm9vbCBlbmFibGVkKQogewotICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIg
c3VwcG9ydGVkLgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldEltYWdlQ29udHJvbHNF
bmFibGVkKGVuYWJsZWQpOwogfQogCi1ib29sIFdLUHJlZmVyZW5jZXNHZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQorYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250
cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKLSAgICAvLyBJ
bWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KLSAgICByZXR1cm4gZmFsc2U7
CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmltYWdlQ29udHJvbHNFbmFibGVk
KCk7CiB9CiAKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEdhbWVwYWRzRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBiYWQ0N2MwNzZlY2RjNWE4ZmYw
OTBmNjcxMTc4MTVjN2VjOWQ2NDQ1Li5jNGVlNTI1MDc2NDJkYjRlNTRjZmFkZjdmZWUzYmYxYjdj
MGQzZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTQ4OSw2ICs0ODksNyBAQCBzdGF0aWMgdm9pZCBoYXJkd2FyZUtleWJvYXJkQXZh
aWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLAogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2hv
d3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3Nob3dzVVJMc0luVG9v
bFRpcHNdKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2Vydmlj
ZUNvbnRyb2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfc2VydmljZUNvbnRyb2xzRW5hYmxl
ZF0pOworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfaW1hZ2VDb250cm9sc0VuYWJsZWRdKTsKIAog
ICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRVc2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5KGNvbnZlcnRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KFtfY29uZmln
dXJhdGlvbiB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5XSkpOwogICAgIC8vIFdlIGFyZSBp
biB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJvdXRpbmUsIHNvIG91ciBjbGllbnQgaGFzbid0
IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRlcmZhY2UgZGlyZWN0aW9uLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQppbmRleCA5YjAyZTkxNDFmOTlmNTA5N2M2OThhNWI0ODUzMjFiMDQ1YmM3ZjFl
Li41OTc0YTljOTc2YjBmNTI1MDQ4YzBmODdiMWRlMDc5NmE2MGVlMmRjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5tbQpAQCAtMTU3LDYgKzE1Nyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGRE
ZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgV0tSZXRhaW5Q
dHI8V0tQYWdlR3JvdXBSZWY+IF9wYWdlR3JvdXA7CiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29s
VGlwczsKICAgICBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkOworICAgIEJPT0wgX2ltYWdl
Q29udHJvbHNFbmFibGVkOwogI2VuZGlmCiAgICAgQk9PTCBfd2FpdHNGb3JQYWludEFmdGVyVmll
d0RpZE1vdmVUb1dpbmRvdzsKICAgICBCT09MIF9jb250cm9sbGVkQnlBdXRvbWF0aW9uOwpAQCAt
MjI3LDYgKzIyOCw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZv
cmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgX3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlv
biA9IE5POwogICAgIF9zaG93c1VSTHNJblRvb2xUaXBzID0gTk87CiAgICAgX3NlcnZpY2VDb250
cm9sc0VuYWJsZWQgPSBOTzsKKyAgICBfaW1hZ2VDb250cm9sc0VuYWJsZWQgPSBOTzsKICNlbmRp
ZgogICAgIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93ID0gWUVTOwogCkBA
IC00MjUsNiArNDI3LDcgQEAgc3RhdGljIGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJl
Zm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2aWV3KCkKICAgICBjb25maWd1cmF0aW9uLT5fdXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeSA9IHNlbGYtPl91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zaG93c1VSTHNJblRvb2xUaXBzID0gc2VsZi0+X3No
b3dzVVJMc0luVG9vbFRpcHM7CiAgICAgY29uZmlndXJhdGlvbi0+X3NlcnZpY2VDb250cm9sc0Vu
YWJsZWQgPSBzZWxmLT5fc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBjb25maWd1cmF0aW9u
LT5faW1hZ2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5faW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAg
ICAgY29uZmlndXJhdGlvbi0+X3BhZ2VHcm91cCA9IHNlbGYuX3BhZ2VHcm91cDsKICNlbmRpZgog
I2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTEx
NDUsMTMgKzExNDgsMTIgQEAgc3RhdGljIFdlYktpdDo6QXR0cmlidXRpb25PdmVycmlkZVRlc3Rp
bmcgdG9BdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZyhfV0tBdHRyaWIKIAogLSAoQk9PTClfaW1h
Z2VDb250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2Vy
IHN1cHBvcnRlZC4KLSAgICByZXR1cm4gTk87CisgICAgcmV0dXJuIF9pbWFnZUNvbnRyb2xzRW5h
YmxlZDsKIH0KIAogLSAodm9pZClfc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KEJPT0wpaW1hZ2VD
b250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1
cHBvcnRlZC4KKyAgICBfaW1hZ2VDb250cm9sc0VuYWJsZWQgPSBpbWFnZUNvbnRyb2xzRW5hYmxl
ZDsKIH0KIAogLSAoQk9PTClfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFu
YWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAppbmRleCAzMjY5OGQ1YjhmMjhj
OTIxMzYyNzdmMzllYTFlYzUzZTJjNThhZjYzLi44MTM2NTU3YzFmYWE1NjQwOWM5MGU4YzRhY2U1
ZjEyMjIyYzUyOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApAQCAtMTA1
LDcgKzEwNSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBfV0tBdHRyaWJ1dGlvbk92
ZXJyaWRlVGVzdGluZykgewogI2Vsc2UKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFNob3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93c1VSTHNJblRvb2xUaXBzIFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dFNlcnZpY2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0
ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQg
V0tfQVBJX0RFUFJFQ0FURUQoIkltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVk
IiwgbWFjb3MoMTAuMTIsIDEyLjApKTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3Nl
dEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZHdyaXRlLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01h
bmFnZXI6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2Vy
IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZWFkd3JpdGUsIHNldHRlcj1fc2V0Q1BVTGltaXQ6KSBkb3VibGUgX2NwdUxpbWl0IFdLX0FQSV9B
VkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0
ZSwgc2V0dGVyPV9zZXRQYWdlR3JvdXA6KSBXS1BhZ2VHcm91cFJlZiBfcGFnZUdyb3VwIFdLX0FQ
SV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgxZDgwMDI5MDZjZWY5Y2M2MjRj
Njk5MzI2MmM1MmUzZTY0ODQ5MTUuLmFjMmY0NTQ0OWFjOWRkOTJiYTc1YjljMjVhZjllNjIxNGMx
Zjk1NTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAg
PG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGlt
YWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gYWNjb3VudCBmb3IgaW1hZ2UgY29udHJvbHMuCisK
KyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2Vz
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL2lvcy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTExLTI5ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8
YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBl
Y3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGI5MDZjNTk0NTI4NmJjYzM3ZTUwOTU0N2Y0ODBm
OWZkNzQ0YTk2N2UuLjdiNjE0NGFjNTA3ZjIxODVkMWRiMjFmYzZjZWZhZTkyNmQ5NzliY2YgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTMw
ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUt
YWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
dWkvYXBwZWFyYW5jZS1jc3NvbS0wMDEtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTI5ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBbOmhhcygpIHBzZXVkby1j
bGFzc10gaWQgaW52YWxpZGF0aW9uIHN1cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDA1ZjM1YjRiNjFj
ZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBAIC0wLDAgKzEsOCBAQAor
IDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7CisKKzwvc2NyaXB0PgorPGJvZHk+Cis8aW1nIHNy
Yz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Cis8L2Jv
ZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0
NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBz
aXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRi
NWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1
ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMWUyNGMxMjk4MDlj
NWZkOWY0NDRhNmJhYjEzYjQ2NGI0YTMwYWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1h
Z2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJJ
bWFnZUNvbnRyb2xzIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorIGxheWVyIGF0ICgyMjks
MTQpIHNpemUgMjl4MjYKKyAgIFJlbmRlckltYWdlQ29udHJvbHNCdXR0b24ge0RJVn0gYXQgKDIy
MSw2KSBzaXplIDI5eDI2ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTJhZjQyZGM1NjQ0ODUw
NmIxNzUxZjQzMTQ4NTAzMmEzMjE5YTM4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJJbWFnZUNvbnRy
b2xzIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorbGF5ZXIgYXQgKDIzMCwxNCkgc2l6ZSAy
OHgyNgorICBSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uIHtESVZ9IGF0ICgyMjIsNikgc2l6ZSAy
OHgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjc1
YmQxMWY2MmQxNGE1NjYzNDBlZTIzYzFmOWE5MzBjYzYzNjQzLi40MDI1NjE5ODNiNDM3YTUxODFj
NDdmMDQ0ZDEwODBiYTA2OTk4MmRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMjczMyw2ICsyNzMzLDcgQEAgZmFzdC9oaXN0b3J5L2hpc3Rvcnktc3Vi
ZnJhbWUtd2l0aC1uYW1lLmh0bWwgWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9sb2NhdGlvbi1yZXBs
YWNlLWhhc2guaHRtbCBbIFNraXAgXQogZmFzdC9oaXN0b3J5L3NhdmVzLXN0YXRlLWFmdGVyLWZy
YWdtZW50LW5hdi5odG1sIFsgU2tpcCBdCiAKK2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwgWyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xNDA1MTYgWyBEZWJ1ZyBdIGZhc3Qv
aW1hZ2VzL2xhcmdlLXNpemUtaW1hZ2UtY3Jhc2guaHRtbCBbIFNraXAgXSAgIyBDcmFzaGluZwog
ZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLXdpdGgtYW5ub3RhdGlvbnMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogZmFzdC9pbWFnZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRt
bCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1
YjM4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1
NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="commit-queue"
          id="470675"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445485</attachid>
            <date>2021-11-30 16:23:23 -0800</date>
            <delta_ts>2021-11-30 17:05:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130162322.patch</filename>
            <type>text/plain</type>
            <size>66778</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAxYjY0MDRkNGYwNjk3YTM2Nzc3NTI5MjgyMjhm
NmZkNjRmOTRkMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNDkgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2lt
cG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRf
UFJJVkFURV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwg
OiBOU0J1dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREsp
CisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAoKQorKyAoTlNTZXJ2
aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHls
ZTooTlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAoTlNSZWN0KXJlY3RGb3JC
b3VuZHM6KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0RWRnZSlwcmVmZXJyZWRF
ZGdlOworQGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5i
ZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApA
QCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9X
aGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5j
cHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2Fn
ZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92
aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBs
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjBjNjZm
N2QwYmJiMzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3
IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2
NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBX
ZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9y
TGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERD
NzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAq
LzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUw
NzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8q
IFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQu
aCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1
OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhF
NTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGln
aHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0
ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdo
dFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZB
NjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGln
aHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1
OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMu
Y3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRB
ODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFj
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4
MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJv
bHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJF
MDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3Bp
bkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
U3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1
MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJ
NDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJ
CTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkp
OwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2
ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlE
RUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZC
IC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUw
MDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMs
MTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwog
CQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAv
KiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0z
NDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdl
QnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4
MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Qz
RTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VE
YXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1h
Z2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBD
NDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3
OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEwMWNlMjRlZGYy
ZDFiYWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVl
TWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2
ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVl
LnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsK
ICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250
cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJu
YWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJM
RShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAgICAgIG1fdmFs
dWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnRpZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQxN2FhOTg0YTQx
NDkzLi5hYjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBACiAgICAgICAg
ICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAg
ICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAg
ICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAgIi1pbnRlcm5h
bC1pbWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1
dHRvbiIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0
YWNobWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDk0NTY4
YjE1YjdhNmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2NTI1NGYwZTY0
ZGEwZWZjYzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRz
LmluCkBAIC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJ
Q0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJuYWwtaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYm
IEVOQUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTky
M2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi40OWZjMWQ1YTBlYmQ2NWJlYTY1N2I1ZGY3NzYw
MmZiY2NhODVkYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1Bh
cnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJ
ZGlvbXMuY3BwCkBAIC00MCw2ICs0MCw4IEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5z
aWduZWQgc2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFT
aGVldEJlaGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xv
cjoKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9k
ZUJlaGF2aW9yKG1vZGUpOworICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKICAgICBkZWZh
dWx0OgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0
MDE1M2RhMDJhMTMwMzYzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNp
bmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50Lmgi
CisjaW5jbHVkZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNp
bmNsdWRlICJIVE1MU3R5bGVFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNp
bmNsdWRlICJTaGFkb3dSb290LmgiCisjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
K25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCitzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVu
dGlmaWVyKCkKK3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0
b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3Ry
dWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29u
c3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0
YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmll
cigiaW1hZ2UtY29udHJvbHMtYnV0dG9uIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVy
YWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0
IEhUTUxFbGVtZW50JiBlbGVtZW50KQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQu
c2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkg
IT0gU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgcmV0dXJuIHNoYWRvd1Jvb3QtPmhhc0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVt
ZW50SWRlbnRpZmllcigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+
IGltYWdlQ29udHJvbEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBu
b2RlLnNoYWRvd0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1M
RWxlbWVudD4oKmhvc3QpIH07CisgICAgcmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVs
ZW1lbnQgOiBudWxscHRyOworfQorCitib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQo
Y29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5v
ZGUpOworICAgIGlmICghaG9zdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJl
ZlB0ciBjb250cm9sUm9vdCA9IHN0YXRpY19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdl
bnRTaGFkb3dSb290KCkpLmdldEVsZW1lbnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlm
aWVyKCkpKQorICAgICAgICByZXR1cm4gbm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3Qp
OworCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRN
TEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVu
dCgpOworICAgIFJlZiBzaGFkb3dSb290ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dS
b290KCk7CisgICAgYXV0byBjb250cm9sTGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRv
Y3VtZW50LmdldCgpKTsKKyAgICBjb250cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29u
dHJvbHNFbGVtZW50SWRlbnRpZmllcigpKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChj
b250cm9sTGF5ZXIpOworICAgIAorICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8
Y29uc3QgU3RyaW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWlu
ZyhpbWFnZUNvbnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJv
bHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVF
bGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNl
KTsKKyAgICBzdHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jv
b3QtPmFwcGVuZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9
IEhUTUxCdXR0b25FbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQu
ZG9jdW1lbnQoKSwgbnVsbHB0cik7CisgICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNv
bnRyb2xzQnV0dG9uSWRlbnRpZmllcigpKTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxk
KGJ1dHRvbik7CisgICAgCisgICAgaWYgKGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVu
ZGVyZXIoKTsgaXM8UmVuZGVySW1hZ2U+KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0
PFJlbmRlckltYWdlPigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsK
K30KKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdm
ZDFlZTQwNjY2NmJiNzc4MjM4YmNmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1h
Z2VDb250cm9sc01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBo
YXNDb250cm9scyhjb25zdCBIVE1MRWxlbWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0
b25FbGVtZW50KGNvbnN0IE5vZGUmKTsKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxl
bWVudCYpOworCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFt
ZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVm
MzBlZmM2ZjBlMDk1YTJmNWI4NDMyMi4uNmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQz
MzE0NmE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFt
ZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAg
LTQyOSw2ICs0MjksNyBAQCBhdXRvY2FwaXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0
YXJnZXRpc3dpcmVsZXNzY2hhbmdlZAogb253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0
eWNoYW5nZWQKIG9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdl
bWVudQogd2Via2l0LXBsYXlzaW5saW5lCiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJl
bGVzc3ZpZGVvcGxheWJhY2tkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAKaW5kZXggODA1M2E2MjUyZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4u
MmQyMjgwNGM2OTY0MjE0MDRiZTljNmJlNWFlMDRhYzc1YmMzZDdmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAi
SFRNTFBpY3R1cmVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MU3Jjc2V0UGFyc2VyLmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgogI2luY2x1ZGUgIkxhenlMb2FkSW1hZ2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCkBAIC0zMDgsNiArMzA5LDExIEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
bmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRN
b2RlOjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9y
KHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29t
cG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2Vt
ZW51QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7
CisgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAo
bmFtZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBl
YWdlciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0
cmlidXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4MiwxMCBAQCB2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1Bl
bmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAg
ICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7
CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlcklt
YWdlLmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJ
bWFnZSgpKQpAQCAtNzUzLDYgKzc2Myw1NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1l
bnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRN
TEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBp
bWFnZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBh
biBpbWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1
cm47CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRy
b2xzKCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAg
ICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFi
bGVkICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwor
fQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQorewor
ICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250
cm9scygpKTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlz
KTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7
CisgICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICgh
c2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9
IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25j
YXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hp
bGQoKm5vZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOwor
ICAgIGlmICghcmVuZGVyT2JqZWN0KQorICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVu
ZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30K
KworYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29s
IEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYg
Y2hpbGQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYm
IEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRp
ZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
CiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBj
YWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFn
ZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEy
MjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2NGRjYzQ4OGJmZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBw
dWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIAorICAgIGJvb2wgaW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1faW1hZ2VNZW51RW5hYmxlZDsgfQorICAgIAogICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGlj
dHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0
dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTkwLDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBj
b3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5h
bDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0Owor
ICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VD
b250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQg
ZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBib29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25z
dDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0
IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1MU291cmNlRWxlbWVudCogc291cmNlRWxlbWVu
dCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNlRWxlbWVudChIVE1MU291cmNlRWxlbWVudCop
OwpAQCAtMjAxLDYgKzIxMSw3IEBAIHByaXZhdGU6CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRT
cmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVzZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2
aWNlUGl4ZWxSYXRpbzsKKyAgICBib29sIG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklY
TUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUg
dGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZh
bHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFn
ZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNv
bnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTNkN2VjYjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNi
YTcxYTU1OGNkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMp
ICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2RpdiNpbWFnZS1jb250cm9scyB7CisgICAg
ZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVy
ZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKK30KKworYnV0dG9uI2ltYWdl
LWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMjBw
eDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAgICBkaXNwbGF5OiBibG9jazsKKworICAgIGFw
cGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0
aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNpdHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNv
bnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24geworICAgIG9wYWNpdHk6
IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgy
ZTlhYjkuLmZjYzUwNDQwODdkNDE3MDU4MzIzMjQxOTU5OTUyNTcyNjA3ZDcyM2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUx
LDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRN
TEZvcm1FbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKICNpbmNsdWRlICJJbWFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAt
MTQzLDYgKzE0NCwyMSBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRN
ZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0
TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGlj
IEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0
byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4o
cmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRv
d25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFp
bWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5k
aWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6
Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJl
cXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlw
ZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzgsMTYg
QEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1h
eWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51
Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVt
ZW50KG5vZGUpKSB7CisgICAgICAgIGlmIChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxl
bWVudE5vZGUoKnJlc3VsdC5pbm5lck5vblNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2Nv
bnRleHQuc2V0Q29udHJvbGxlZEltYWdlKGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYg
d2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFnZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0
aGUgaW1hZ2UgY29udHJvbHMgbWVudSBmb3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOwor
ICAgIH0KKyNlbmRpZgorICAgIAogICAgIHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51Pigp
OwogfQogCkBAIC0xNTM2LDYgKzE1NjIsMTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6
OnNob3dDb250ZXh0TWVudUF0KEZyYW1lJiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVu
dUNvbnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAg
Y2xlYXJDb250ZXh0TWVudSgpOworICAgIGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOwor
ICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2Ey
N2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4Nzlj
YmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9s
bGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9D
T05URVhUX01FTlVTKQogICAgIHZvaWQgc2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJ
bnRQb2ludCYgY2xpY2tQb2ludCk7CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKKyAgICB2b2lkIHNob3dJbWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlm
CiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0
ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRU
eXBlLCBDb250ZXh0TWVudUNvbnRleHQ6OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRs
ZXIuY3BwCmluZGV4IGVjM2U0MjBlNzliYjFiNWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4
ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3ZjkwOGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MzYsNiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4g
RXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRpb25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAog
ICAgIGlmICghY2FuZGlkYXRlRWxlbWVudCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
CisgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQtPmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgCiAKICAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRp
dGFibGVTdHlsZSgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcyODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4Zjlm
YjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0
cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQp
CiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJj
b250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2Fz
ZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2Fw
YWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVs
SW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGluZy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFr
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1
dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2Vu
ZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDog
dHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFydCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXggY2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTll
MmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENv
bnRyb2xQYXJ0IHsKICAgICBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAg
ICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbElu
ZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250
cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxl
UGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkxNmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZk
MmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBhOWYyOTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6
OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxl
SW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4
ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRUZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8
SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkuaW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5k
ZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0
eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZjYWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5
ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVhMDU4YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQg
UmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVu
dCogZWxlbWVudCwgY29uc3QKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1
cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRp
ZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0
Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShzdHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3Qg
UmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAg
ICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWlu
dEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRz
QnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
KGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICBy
ZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNu
YXBwZWRSZWN0KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAg
ICAgICByZXR1cm4gcGFpbnRDYXBzTG9ja0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdy
YWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBA
QCBib29sIFJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9u
UGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNh
c2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVm
YXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVu
ZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBh
aW50SW5mbyYgcGFpbnRJCiAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAg
IGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hG
aWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAg
IGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICBicmVhazsKICAgICB9CkBAIC0xMjc3LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVt
ZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5m
byYgcGFpbnQKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQg
UmVuZGVyVGhlbWU6OmFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYs
IGNvbnN0IEVsZW1lbnQqKSBjb25zdAoreworfQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhl
bWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJv
Z3Jlc3MmKSBjb25zdAogewogICAgIHJldHVybiAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjExY2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1
YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVjYjUyZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoK
IAogICAgIGVudW0gRmlsZVVwbG9hZERlY29yYXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVG
aWxlcyB9OwogICAgIHZpcnR1YWwgdm9pZCBwYWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyT2JqZWN0JiAvKmlucHV0UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0
JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJ
Y29uKiwgRmlsZVVwbG9hZERlY29yYXRpb25zKSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUo
KSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VD
b250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9
CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBM
YXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQm
KSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXplKCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJv
dGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5
bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1
dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJl
Y3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxl
KFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBw
YWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmly
dHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVt
ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVu
ZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRy
dWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1h
Yy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQx
Zjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcw
OTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50
TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYs
IGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0
dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5k
aWYKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmlu
ZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJp
dmF0ZToKICAgICBpbnQgbWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxl
JikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0Owog
ICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0Owor
ICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNv
bnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkg
Y29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZz
ZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUg
UmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUg
UmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVh
MGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2
ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBv
cnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFn
ZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5o
PgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4
dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4K
ICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxl
IGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1w
b3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBL
SVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0
aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRp
Y3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1l
IGluVmlldzooTlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVG
b2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RM
aXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1h
Yzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29u
c3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNv
bnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0
eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExl
bmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFp
bnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29u
dGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAs
NDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBG
aWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9y
OjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJl
bmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAg
aWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVy
QnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsK
KyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxT
dHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRv
biBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9z
ZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAg
ICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAg
cmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJU
aGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVu
ZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQor
eworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENv
bnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0
KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKElu
dFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJh
bWUgaW5WaWV3OmRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRy
b2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1l
TWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNp
emUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUg
UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0
Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0
aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBU
aGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29u
c3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3Qo
MCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRz
ID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdl
UmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15
RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlm
CisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2ht
ZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5k
UGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRT
dHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXgg
ZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdk
YmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2Vu
dFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2Vu
dFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRT
dHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJB
Z2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNl
ckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0
eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1l
ZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVT
aGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5
NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMz
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5
bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVT
aGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRl
bnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElT
VF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVT
aGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZl
cmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVl
Li45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSAr
MTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJl
bmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVu
Y2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQg
V0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUg
bm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFn
ZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1h
Z2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dl
dEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0
dXJuIGZhbHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRy
b2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2
ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3
ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVL
ZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJl
ZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2Vz
KCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93
c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCkt
PnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250
cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFi
bGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAv
LyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xp
ZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIx
YjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZh
dWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAg
IFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dz
VVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBC
T09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFp
bnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21h
dGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRl
UG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdl
T3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9z
ZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0g
Tk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9
IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNp
ZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlv
bi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9
IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNl
Q29udHJvbHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29u
ZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNF
bmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7
CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1J
TFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3Zl
cnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0g
KEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VD
b250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihC
T09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5v
IGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250
cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdD
b250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2
OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDlj
OTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
LmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0
cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlw
cyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xz
RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0
b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJv
bHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2Vy
IHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFi
bGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5n
Q29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRy
b2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1p
dCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VH
cm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2
Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li5hYzJmNDU0NDlhYzlkZDkyYmE3NWI5YzI1
YWY5ZTYyMTRjMWY5NTU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMjEtMTEtMzAgIE1lZ2Fu
IEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3Vw
cG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNv
bnRyb2xzLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9m
YXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50
cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRl
IHRlc3QgZXhwZWN0YXRpb25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5p
bmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiOTA2YzU5NDUyODZiY2MzN2U1
MDk1NDdmNDgwZjlmZDc0NGE5NjdlLi43YjYxNDRhYzUwN2YyMTg1ZDFkYjIxZmM2Y2VmYWU5MjZk
OTc5YmNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXVpL2FwcGVhcmFuY2UtY3Nzb20tMDAxLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0x
MS0yOSAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgWzpoYXMo
KSBwc2V1ZG8tY2xhc3NdIGlkIGludmFsaWRhdGlvbiBzdXBwb3J0CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGQw
NWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMCww
ICsxLDggQEAKKyA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNl
dHRpbmdzLnNldEltYWdlQ29udHJvbHNFbmFibGVkKHRydWUpOworCis8L3NjcmlwdD4KKzxib2R5
PgorPGltZyBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2Vt
ZW51PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgw
ZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
clZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJv
ZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30g
YXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9pbWFnZXMvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZDY5NjQx
MjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1YjM4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9pbWFnZXMvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEy
MGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFl
MjRjMTI5ODA5YzVmZDlmNDQ0YTZiYWIxM2I0NjRiNGEzMGFmOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYK
KyAgUmVuZGVySW1hZ2VDb250cm9scyB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyBsYXll
ciBhdCAoMjI5LDE0KSBzaXplIDI5eDI2CisgICBSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uIHtE
SVZ9IGF0ICgyMjEsNikgc2l6ZSAyOXgyNgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyYWY0
MmRjNTY0NDg1MDZiMTc1MWY0MzE0ODUwMzJhMzIxOWEzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlcklt
YWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVy
SW1hZ2VDb250cm9scyB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKK2xheWVyIGF0ICgyMzAs
MTQpIHNpemUgMjh4MjYKKyAgUmVuZGVySW1hZ2VDb250cm9sc0J1dHRvbiB7RElWfSBhdCAoMjIy
LDYpIHNpemUgMjh4MjYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggZWY3NWJkMTFmNjJkMTRhNTY2MzQwZWUyM2MxZjlhOTMwY2M2MzY0My4uNDAyNTYxOTgz
YjQzN2E1MTgxYzQ3ZjA0NGQxMDgwYmEwNjk5ODJkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI3MzMsNiArMjczMyw3IEBAIGZhc3QvaGlzdG9yeS9o
aXN0b3J5LXN1YmZyYW1lLXdpdGgtbmFtZS5odG1sIFsgU2tpcCBdCiBmYXN0L2hpc3RvcnkvbG9j
YXRpb24tcmVwbGFjZS1oYXNoLmh0bWwgWyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9zYXZlcy1zdGF0
ZS1hZnRlci1mcmFnbWVudC1uYXYuaHRtbCBbIFNraXAgXQogCitmYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy5odG1sIFsgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTQwNTE2IFsgRGVi
dWcgXSBmYXN0L2ltYWdlcy9sYXJnZS1zaXplLWltYWdlLWNyYXNoLmh0bWwgWyBTa2lwIF0gICMg
Q3Jhc2hpbmcKIGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS13aXRoLWFubm90YXRpb25zLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZhc3QvaW1hZ2VzL3N1cHBvcnQtYnJva2VuLWltYWdlLWRl
bGVnYXRlLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbmNhaXJvL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0
NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVu
ZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JP
RFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAs
MCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCg==
</data>
<flag name="commit-queue"
          id="470682"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445490</attachid>
            <date>2021-11-30 17:04:00 -0800</date>
            <delta_ts>2021-11-30 18:25:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130170359.patch</filename>
            <type>text/plain</type>
            <size>66858</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGJlNTlkYzFkNWFiMWI3NzEyNzIyNzUyNmVj
MzA3YThkZmJlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaW1wb3J0ICJOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxBcHBLaXQvQXBw
S2l0RGVmaW5lc19Qcml2YXRlLmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbC5oPgorCisjZWxzZQorCisjZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCisK
K0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAor
QGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGludGVyZmFjZSBO
U1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2
aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJv
dW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdi
NmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1Mzcy
MDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIs
NyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBk
b20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZm
MDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEw
MWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1Mu
aCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JM
YXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
RTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRF
MTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGli
V2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBG
QTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJG
MTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8q
IExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1
MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNF
QjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAv
KiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4
NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNv
bnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJl
bGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
YmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAzNjY3MUJDRERE
QzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0
MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdG
MjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJ
NDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1h
YyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVt
ZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0
QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9
IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2
MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xz
TWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcg
QEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBF
NjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRF
RUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVj
b2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3
ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2
ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmlu
ZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcx
ZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAgICAiY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJyYXRpbmctbGV2
ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRh
ZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0
MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4
ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxl
dmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmct
bGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYg
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24K
KyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BB
WQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQs
IENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1v
ZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0
dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5h
bEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvciht
b2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJv
bHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50
aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25z
dCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24iLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisK
K2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0
byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290
IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdp
dGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3Rh
dGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlmICghaXM8SFRN
TEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBl
bGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFz
Q29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9z
dCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJl
ZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1h
Z2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBub2RlLmlzRGVz
Y2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
Y3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhU
TUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+
c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNo
YWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOwor
ICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAgICBidXR0b24t
PnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpOworICAgIGNv
bnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFJl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNz
IE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVh
dGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5
NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50YXRpb25tb2Rl
Y2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0
LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2Jm
MWNlY2YwMTNlMjU4MDBmMTg4MjRiLi4yZDIyODA0YzY5NjQyMTQwNGJlOWM2YmU1YWUwNGFjNzVi
YzNkN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTQy
LDYgKzQyLDcgQEAKICNpbmNsdWRlICJIVE1MUGljdHVyZUVsZW1lbnQuaCIKICNpbmNsdWRlICJI
VE1MU291cmNlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxTcmNzZXRQYXJzZXIuaCIKKyNpbmNs
dWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCiAjaW5jbHVkZSAiTGF6eUxvYWRJbWFnZU9ic2VydmVy
LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0cnkuaCIK
QEAgLTMwOCw2ICszMDksMTEgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW4KICAgICAgICAgQmxl
bmRNb2RlIGJsZW5kT3AgPSBCbGVuZE1vZGU6Ok5vcm1hbDsKICAgICAgICAgaWYgKCFwYXJzZUNv
bXBvc2l0ZUFuZEJsZW5kT3BlcmF0b3IodmFsdWUsIG1fY29tcG9zaXRlT3BlcmF0b3IsIGJsZW5k
T3ApKQogICAgICAgICAgICAgbV9jb21wb3NpdGVPcGVyYXRvciA9IENvbXBvc2l0ZU9wZXJhdG9y
OjpTb3VyY2VPdmVyOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIH0gZWxzZSBp
ZiAobmFtZSA9PSB3ZWJraXRpbWFnZW1lbnVBdHRyKSB7CisgICAgICAgIG1faW1hZ2VNZW51RW5h
YmxlZCA9ICF2YWx1ZS5pc051bGwoKTsKKyAgICAgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOwor
I2VuZGlmCiAgICAgfSBlbHNlIGlmIChuYW1lID09IGxvYWRpbmdBdHRyKSB7CiAgICAgICAgIC8v
IE5vIGFjdGlvbiBuZWVkZWQgZm9yIGVhZ2VyIHRvIGxhenkgdHJhbnNpdGlvbi4KICAgICAgICAg
aWYgKCFoYXNMYXp5TG9hZGFibGVBdHRyaWJ1dGVWYWx1ZSh2YWx1ZSkpCkBAIC0zNzYsNiArMzgy
LDEwIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKICAgICBp
ZiAobV9pbWFnZUxvYWRlci0+aGFzUGVuZGluZ0JlZm9yZUxvYWRFdmVudCgpKQogICAgICAgICBy
ZXR1cm47CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB1cGRhdGVJbWFnZUNv
bnRyb2xzKCk7CisjZW5kaWYKKwogICAgIGF1dG8mIHJlbmRlckltYWdlID0gZG93bmNhc3Q8UmVu
ZGVySW1hZ2U+KCpyZW5kZXJlcigpKTsKICAgICBSZW5kZXJJbWFnZVJlc291cmNlJiByZW5kZXJJ
bWFnZVJlc291cmNlID0gcmVuZGVySW1hZ2UuaW1hZ2VSZXNvdXJjZSgpOwogICAgIGlmIChyZW5k
ZXJJbWFnZVJlc291cmNlLmNhY2hlZEltYWdlKCkpCkBAIC03NTMsNiArNzYzLDU0IEBAIGNvbnN0
IFN0cmluZyYgSFRNTEltYWdlRWxlbWVudDo6YXR0YWNobWVudElkZW50aWZpZXIoKSBjb25zdAog
CiAjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KCkKK3sKKyAgICAvLyBJZiB0aGlzIGltYWdlIGVsZW1lbnQgaXMgaW5zaWRlIGEgc2hhZG93IHRy
ZWUgdGhlbiBpdCBpcyBwYXJ0IG9mIGFuIGltYWdlIGNvbnRyb2wuCisgICAgaWYgKGlzSW5TaGFk
b3dUcmVlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWRvY3VtZW50KCkuc2V0dGluZ3Mo
KS5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgYm9vbCBoYXND
b250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICBpZiAoIW1faW1hZ2VNZW51RW5hYmxl
ZCAmJiBoYXNDb250cm9scykKKyAgICAgICAgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBl
bHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQorICAgICAgICB0cnlD
cmVhdGVJbWFnZUNvbnRyb2xzKCk7Cit9CisKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dHJ5Q3Jl
YXRlSW1hZ2VDb250cm9scygpCit7CisgICAgQVNTRVJUKG1faW1hZ2VNZW51RW5hYmxlZCk7Cisg
ICAgQVNTRVJUKCFoYXNJbWFnZUNvbnRyb2xzKCkpOworICAgIEltYWdlQ29udHJvbHNNYWM6OmNy
ZWF0ZUltYWdlQ29udHJvbHMoKnRoaXMpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBhdXRvIHNoYWRvd1Jvb3QgPSB1c2VyQWdlbnRT
aGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290KQorICAgICAgICByZXR1cm47CisgICAg
aWYgKFJlZlB0cjxOb2RlPiBub2RlID0gc2hhZG93Um9vdC0+Zmlyc3RDaGlsZCgpKSB7CisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oSW1hZ2VDb250cm9s
c01hYzo6aGFzQ29udHJvbHMoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpub2RlKSkpOworICAgICAg
ICBzaGFkb3dSb290LT5yZW1vdmVDaGlsZCgqbm9kZSk7CisgICAgfQorICAgIGF1dG8qIHJlbmRl
ck9iamVjdCA9IHJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5kZXJPYmplY3QpCisgICAgICAgIHJl
dHVybjsKKyAgICBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlck9iamVjdCkuc2V0SGFzU2hh
ZG93Q29udHJvbHMoZmFsc2UpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6Omhhc0ltYWdl
Q29udHJvbHMoKSBjb25zdAoreworICAgIHJldHVybiBJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250
cm9scygqdGhpcyk7Cit9CisKK2Jvb2wgSFRNTEltYWdlRWxlbWVudDo6Y2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGlsZCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzU2hh
ZG93Um9vdFBhcmVudChjaGlsZCkgJiYgSFRNTEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY2hpbGQpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIC8vIEZJWE1FOiBXZSBzaG91bGQgZmluZCBhIGJldHRl
ciBwbGFjZSBmb3IgdGhlIHRvdWNoIGNhbGxvdXQgbG9naWMuIFNlZSByZGFyOi8vcHJvYmxlbS80
ODkzNzc2Ny4KIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tF
dmVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCBiMjA5MTRl
ZjE3ZGU4OGZhOGUzN2ViMmEyMmNkMTIyNTdhYTgyNjI0Li44YjljZWU1ZWZiNzY0ZGNjNDg4YmZk
ODYxYjhiYzJiZThmNzRkNmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
aApAQCAtMTE2LDYgKzExNiw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEF0b21TdHJpbmcmIGlt
YWdlU291cmNlVVJMKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgCisgICAgYm9vbCBpbWFnZU1lbnVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVkOyB9CisgICAgCiAgICAg
SFRNTFBpY3R1cmVFbGVtZW50KiBwaWN0dXJlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0
UGljdHVyZUVsZW1lbnQoSFRNTFBpY3R1cmVFbGVtZW50Kik7CiAKQEAgLTE4OCw2ICsxOTAsMTQg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzRnJvbUVsZW1l
bnQoY29uc3QgRWxlbWVudCYpIGZpbmFsOwogCiAgICAgZmxvYXQgZWZmZWN0aXZlSW1hZ2VEZXZp
Y2VQaXhlbFJhdGlvKCkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgdm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgdm9pZCB0cnlDcmVhdGVJbWFn
ZUNvbnRyb2xzKCk7CisgICAgdm9pZCBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAgIGJvb2wg
aGFzSW1hZ2VDb250cm9scygpIGNvbnN0OworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIEhUTUxTb3Vy
Y2VFbGVtZW50KiBzb3VyY2VFbGVtZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTb3VyY2VFbGVt
ZW50KEhUTUxTb3VyY2VFbGVtZW50Kik7CkBAIC0yMDEsNiArMjExLDcgQEAgcHJpdmF0ZToKICAg
ICBBdG9tU3RyaW5nIG1fY3VycmVudFNyYzsKICAgICBBdG9tU3RyaW5nIG1fcGFyc2VkVXNlbWFw
OwogICAgIGZsb2F0IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvOworICAgIGJvb2wgbV9pbWFnZU1l
bnVFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFkTmFtZUJlZm9yZUF0dHJpYnV0ZUNo
YW5nZWQgeyBmYWxzZSB9OyAvLyBGSVhNRTogV2Ugb25seSBuZWVkIHRoaXMgYmVjYXVzZSBwYXJz
ZUF0dHJpYnV0ZSgpIGNhbid0IHNlZSB0aGUgb2xkIHZhbHVlLgogICAgIGJvb2wgbV9pc0Ryb3Bw
ZWRJbWFnZVBsYWNlaG9sZGVyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxM2Q3ZWNi
MjAyM2IzODVmNjU3YTAxNGViM2QyM2JhNzFhNTU4Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTAsMCAr
MSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWYgZGVmaW5lZChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKworZGl2
I2ltYWdlLWNvbnRyb2xzIHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgcG9zaXRp
b246IHJlbGF0aXZlOworICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgY29sb3I6IHRyYW5zcGFy
ZW50OworfQorCitidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKKyAgICBwb3NpdGlvbjog
YWJzb2x1dGU7CisgICAgdG9wOiAyMHB4OworICAgIHJpZ2h0OiAyMHB4OworICAgIAorICAgIGRp
c3BsYXk6IGJsb2NrOworCisgICAgYXBwZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbjsKKworICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CisgICAgb3BhY2l0eTog
MC4wOworfQorCitkaXYjaW1hZ2UtY29udHJvbHM6aG92ZXIgYnV0dG9uI2ltYWdlLWNvbnRyb2xz
LWJ1dHRvbiB7CisgICAgb3BhY2l0eTogMS4wOworfQorCisjZW5kaWYKKworCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggMzUxZGVmNTU2ZjFj
Mzc0ZTQ1NTU3OWI0OGQ2YTcyOWJjODJlOWFiOS4uZmNjNTA0NDA4N2Q0MTcwNTgzMjMyNDE5NTk5
NTI1NzI2MDdkNzIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmNwcApAQCAtNTEsNiArNTEsNyBAQAogI2luY2x1ZGUgIkhUTUxGb3JtQ29udHJvbEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIaXRUZXN0
UmVzdWx0LmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgogI2luY2x1ZGUgIkltYWdl
T3ZlcmxheS5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJM
b2NhbGl6ZWRTdHJpbmdzLmgiCkBAIC0xNDMsNiArMTQ0LDIxIEBAIHZvaWQgQ29udGV4dE1lbnVD
b250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQmIGV2ZW50LCBDb250ZXh0TWVudVByb3Zp
ZGVyJiBwCiAgICAgc2hvd0NvbnRleHRNZW51KGV2ZW50KTsKIH0KIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitzdGF0aWMgSW1hZ2UqIGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUo
Tm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvKiByZW5kZXJlciA9IG5vZGUucmVuZGVyZXIoKTsKKyAg
ICBpZiAoIWlzPFJlbmRlckltYWdlPihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIGF1dG8qIGltYWdlID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJlcikuY2Fj
aGVkSW1hZ2UoKTsKKyAgICBpZiAoIWltYWdlIHx8IGltYWdlLT5lcnJvck9jY3VycmVkKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBpbWFnZS0+aW1hZ2VGb3JSZW5kZXJl
cihyZW5kZXJlcik7Cit9CisKKyNlbmRpZgorCiBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+
IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudCYgZXZl
bnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSwgQ29udGV4dE1lbnVD
b250ZXh0OjpUeXBlIGNvbnRleHRUeXBlKQogewogICAgIGlmICghaXM8TW91c2VFdmVudD4oZXZl
bnQpKQpAQCAtMTYyLDYgKzE3OCwxNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IENv
bnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudAogCiAgICAg
bV9jb250ZXh0ID0gQ29udGV4dE1lbnVDb250ZXh0KGNvbnRleHRUeXBlLCByZXN1bHQpOwogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6Omlz
SW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQobm9kZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGlt
YWdlID0gaW1hZ2VGcm9tSW1hZ2VFbGVtZW50Tm9kZSgqcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9k
ZSgpKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250cm9sbGVkSW1hZ2UoaW1hZ2UpOwor
CisgICAgICAgIC8vIEZJWE1FOiBJZiB3ZSBjb3VsZG4ndCBnZXQgdGhlIGltYWdlIHRoZW4gd2Ug
c2hvdWxkbid0IHRyeSB0byBzaG93IHRoZSBpbWFnZSBjb250cm9scyBtZW51IGZvciBpdC4KKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgcmV0dXJuIG1h
a2VVbmlxdWU8Q29udGV4dE1lbnU+KCk7CiB9CiAKQEAgLTE1MzYsNiArMTU2MiwxNyBAQCB2b2lk
IENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmIGZyYW1lLCBj
b25zdCBJbnRQb2ludCYgY2xpYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorCit2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0ltYWdlQ29udHJvbHNNZW51
KEV2ZW50JiBldmVudCkKK3sKKyAgICBjbGVhckNvbnRleHRNZW51KCk7CisgICAgaGFuZGxlQ29u
dGV4dE1lbnVFdmVudChldmVudCk7CisgICAgbV9jbGllbnQuc2hvd0NvbnRleHRNZW51KCk7Cit9
CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5oCmluZGV4IDZmZTJiZDNhODY3YTI3YWFjOGI3NGI0MWUzM2ViNWQxODc2ZTQwN2UuLjkwNjFk
YTcyNGJjM2Y4MGIzOTAyNGNkZTg3OWNiZDYzY2U1YjcwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjksNiArNjksMTAgQEAgcHVibGljOgog
I2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCiAgICAgdm9pZCBzaG93Q29udGV4
dE1lbnVBdChGcmFtZSYsIGNvbnN0IEludFBvaW50JiBjbGlja1BvaW50KTsKICNlbmRpZgorICAg
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZvaWQgc2hvd0ltYWdlQ29udHJv
bHNNZW51KEV2ZW50Jik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGV4dE1lbnU+IG1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQmLCBPcHRpb25TZXQ8SGl0
VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRleHRNZW51Q29udGV4dDo6VHlwZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKaW5kZXggZWMzZTQyMGU3OWJiMWI1ZGNmNzAx
MzU1ZDFhY2U2OWJmODg2NDE1MS4uOTg4NzgxMjM3MDA0YzU3YjM4Nzk2NzhhZjdmOTA4Yzg4Njdm
MzhiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMjUzNiw2ICsyNTM2
LDEwIEBAIFJlZlB0cjxFbGVtZW50PiBFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRp
ZGF0ZUVsZW1lbnQoKSBjb25zdAogCiAgICAgaWYgKCFjYW5kaWRhdGVFbGVtZW50KQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICAKKyAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRp
dGFibGVTdHlsZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAKIAogICAgIGlmIChj
YW5kaWRhdGVFbGVtZW50LT5oYXNFZGl0YWJsZVN0eWxlKCkpCiAgICAgICAgIHJldHVybiBudWxs
cHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4NjAxNzIx
NjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUxOWJkZDBj
NTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVt
ZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcApA
QCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBD
b250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
LXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBh
cnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFr
OwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5nLWxldmVs
LWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRyb2xzLWJ1
dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIGNh
c2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0IjsgYnJl
YWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBjZTdhZDkz
ZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUxMzExOWY3
Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCkBA
IC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBhY2l0
eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQ
YXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lmIEVOQUJM
RShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2ZTU5OWFh
NjUwNDE2MjkwZWEwN2ZkMDM4Li5iZmQyZjVkZWFjZWZmNzgxYmFmNGEyMjZlMGE5ZjI5MWY1NDYz
OWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE0NSw2
ICsxNDUsOCBAQCBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRWxlbWVudCYgZWxlbWVudCwgUmVu
ZGVyU3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5bAogICAgICwgbV9pbWFnZURldmljZVBp
eGVsUmF0aW8oaW1hZ2VEZXZpY2VQaXhlbFJhdGlvKQogewogICAgIHVwZGF0ZUFsdFRleHQoKTsK
KyAgICBpZiAoaXM8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIG1faGFzU2hh
ZG93Q29udHJvbHMgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KS5pbWFnZU1l
bnVFbmFibGVkKCk7CiB9CiAKIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShEb2N1bWVudCYgZG9j
dW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2
MTBhOTY0MGQyMmRjMDJmM2NmMjY4NTllLi4xZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMz
YjgwZTM4YTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAg
LTI2Nyw2ICsyNjcsMTAgQEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgRGlzY3Jl
dGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDoKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNh
dG9yUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVzdE1ldGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1
dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUo
c3R5bGUsIGVsZW1lbnQpOworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6
CiAgICAgICAgIHJldHVybiBhZGp1c3RDYXBzTG9ja0luZGljYXRvclN0eWxlKHN0eWxlLCBlbGVt
ZW50KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNTQ2LDYgKzU1MCwxMCBAQCBib29sIFJl
bmRlclRoZW1lOjpwYWludChjb25zdCBSZW5kZXJCb3gmIGJveCwgQ29udHJvbFN0YXRlcyYgY29u
dHJvbFN0YXRlcywgY29ucwogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNE
ZWNvcmF0aW9uUGFydChib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAg
Y2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRT
ZWFyY2hGaWVsZFJlc3VsdHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJl
Y3QpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9s
c0J1dHRvblBhcnQ6CisgICAgICAgIHJldHVybiBwYWludEltYWdlQ29udHJvbHNCdXR0b24oYm94
LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2VuZGlmCiAgICAgY2FzZSBDYXBz
TG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBwYWludENhcHNMb2NrSW5kaWNhdG9y
KGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVf
UEFZKQpAQCAtNjEyLDYgKzYyMCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25s
eShjb25zdCBSZW5kZXJCb3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluCiAgICAgY2Fz
ZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0Ogor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC02
ODYsNiArNjk3LDkgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhjb25zdCBS
ZW5kZXJCb3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEkKICAgICBjYXNlIFNlYXJjaEZp
ZWxkRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9u
UGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNl
bmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzcsNiArMTI5
MSwxMiBAQCB2b2lkIFJlbmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRlck9i
amVjdCYgbywgY29uc3QgUGFpbnRJbmZvJiBwYWludAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cit9CisjZW5k
aWYKKwogU2Vjb25kcyBSZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9n
cmVzc0Jhcihjb25zdCBSZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDBfczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNWU1NGVmMTFjZTY5NDcz
NDBkZTM4NjY4ZWZmMzU0ZTU1N2ZkMjVhNC4uOGExZTRkZmFkMWE3MTkwYmMxNWNiNTJlZjMyNDQz
NzVkYWM2NDllMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTI0
OSw2ICsyNDksMTEgQEAgcHVibGljOgogCiAgICAgZW51bSBGaWxlVXBsb2FkRGVjb3JhdGlvbnMg
eyBTaW5nbGVGaWxlLCBNdWx0aXBsZUZpbGVzIH07CiAgICAgdmlydHVhbCB2b2lkIHBhaW50Rmls
ZVVwbG9hZEljb25EZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmIC8qaW5wdXRSZW5kZXJl
ciovLCBjb25zdCBSZW5kZXJPYmplY3QmIC8qYnV0dG9uUmVuZGVyZXIqLywgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYsIEljb24qLCBGaWxlVXBsb2FkRGVjb3JhdGlvbnMpIHsgfQor
ICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEludFNpemUoKTsgfQorICAg
IHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25z
dCB7IHJldHVybiBJbnRTaXplKCk7IH0KKyNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRf
RUxFTUVOVCkKICAgICB2aXJ0dWFsIExheW91dFNpemUgYXR0YWNobWVudEludHJpbnNpY1NpemUo
Y29uc3QgUmVuZGVyQXR0YWNobWVudCYpIGNvbnN0IHsgcmV0dXJuIExheW91dFNpemUoKTsgfQpA
QCAtMzU5LDYgKzM2NCwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdExp
c3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2
aXJ0dWFsIGJvb2wgcGFpbnRMaXN0QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEZsb2F0UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgorICAg
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJ
bWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CisgICAgdmlydHVhbCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5k
ZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1
ZTsgfQorI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShS
ZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRQcm9ncmVzc0Jhcihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25z
dCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaAppbmRleCBjNDFmNzQ5MDA5MjVlZmExNjVlZWVlODlkNjhiOGU2NjYxMDUz
NTU1Li4wYjcxODk4NTM1N2YxZmM4NzA5OWJlOTQ5YTMyMDE5YWU1MGViYzA4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBw
cml2YXRlOgogICAgIHZvaWQgcGFpbnRMaXN0QnV0dG9uRm9ySW5wdXQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiwgR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCBhZGp1
c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmlu
YWw7CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lk
IGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1l
bnQqKSBjb25zdCBmaW5hbDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIGJvb2wg
c3VwcG9ydHNDbG9zZWRDYXB0aW9uaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpA
QCAtMjA4LDYgKzIxMiwxNCBAQCBwcml2YXRlOgogICAgIGludCBtaW5pbXVtUHJvZ3Jlc3NCYXJI
ZWlnaHQoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKICAgICBjb25zdCBJbnRTaXplKiBwcm9n
cmVzc0JhclNpemVzKCkgY29uc3Q7CiAgICAgY29uc3QgaW50KiBwcm9ncmVzc0Jhck1hcmdpbnMo
TlNDb250cm9sU2l6ZSkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0Jiwg
Y29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIGZpbmFsOworICAgIEludFNpemUgaW1h
Z2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29u
dHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0IGZpbmFsOworCisgICAgTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsK
KyNlbmRpZgogCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNQb3BVcEJ1dHRvbkNlbGw+IG1fcG9w
dXBCdXR0b247CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNTZWFyY2hGaWVsZENlbGw+IG1fc2Vh
cmNoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFj
Lm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGFh
NjBmMmViMmM0MjMyZWM5MGZhOTNmZWEwZmU4MDcwNjFiMzU4YzIuLmY3MzU1ZTVmMGY0NzczZTg0
ZmY5ZDRmZDRhYWZiZjFkMGFiYTcxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMubW0KQEAgLTc1LDYgKzc1LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05T
QXBwZWFyYW5jZVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNDZWxsU1BJLmg+CiAjaW1w
b3J0IDxwYWwvc3BpL21hYy9OU0ltYWdlU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1No
YXJpbmdTZXJ2aWNlUGlja2VyU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2lt
cG9ydCA8d3RmL09iakNSdW50aW1lRXh0cmFzLmg+CkBAIC04MiwxNyArODMsNiBAQAogI2ltcG9y
dCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5o
PgogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0KLS8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBnbyBpbnRvIGFuIFNQSS5oIGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCi0jaWYgVVNFKEFQ
UExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPEFwcEtpdC9BcHBLaXREZWZpbmVzX1ByaXZhdGUu
aD4KLSNlbHNlCi0jZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCi0jZW5kaWYKLQotI2VuZGlm
IC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28g
aW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1Rl
eHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRo
RnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNs
dWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMTA5Myw2ICsxMDgzLDE0IEBAIHZvaWQg
UmVuZGVyVGhlbWVNYWM6OmFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUs
IGNvbnN0IEVsZW1lbnQqKSBjCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCit2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUo
UmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgY29uc3QKK3sKKyAgICBzdHlsZS5z
ZXRIZWlnaHQoTGVuZ3RoKGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkuaGVpZ2h0KCksIExlbmd0
aFR5cGU6OkZpeGVkKSk7CisgICAgc3R5bGUuc2V0V2lkdGgoTGVuZ3RoKGltYWdlQ29udHJvbHNC
dXR0b25TaXplKCkud2lkdGgoKSwgTGVuZ3RoVHlwZTo6Rml4ZWQpKTsKK30KKyNlbmRpZgorCiBi
b29sIFJlbmRlclRoZW1lTWFjOjpwYWludFRleHRGaWVsZChjb25zdCBSZW5kZXJPYmplY3QmIG8s
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAg
TG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4
dCgpKTsKQEAgLTIyODIsNiArMjI4MCw0NyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6OmZpbGVM
aXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBmaWxlTGlzdCwgY29uc3QgRm9udAogICAg
IHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdp
ZHRoLCBmb250KTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbCogUmVuZGVyVGhlbWVNYWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbikgewor
ICAgICAgICBtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gPSBbTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbCBzZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6TlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclN0eWxlUm9sbG92ZXJdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
IHNldEJlemVsU3R5bGU6TlNCZXplbFN0eWxlUm91bmRlZERpc2Nsb3N1cmVdOworICAgICAgICBb
bV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJ1dHRvblR5cGU6TlNCdXR0b25UeXBlUHVzaE9u
UHVzaE9mZl07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0SW1hZ2VQb3Np
dGlvbjpOU0ltYWdlT25seV07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0
U3RhdGU6Tk9dOworICAgIH0KKyAgICByZXR1cm4gbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uLmdl
dCgpOworfQorCitib29sIFJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24o
Y29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8s
IGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bCAqY2VsbCA9IHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCk7CisgICAgTG9jYWxDdXJyZW50
R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCgpKTsKKyAgICBH
cmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIocGFpbnRJbmZvLmNvbnRleHQoKSk7
CisgICAgcGFpbnRJbmZvLmNvbnRleHQoKS50cmFuc2xhdGUocmVjdC5sb2NhdGlvbigpKTsKKyAg
ICBJbnRSZWN0IGlubmVyRnJhbWUoSW50UG9pbnQoKSwgcmVjdC5zaXplKCkpOworICAgIFtjZWxs
IGRyYXdXaXRoRnJhbWU6aW5uZXJGcmFtZSBpblZpZXc6ZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVy
KV07CisgICAgW2NlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNl
bGxTaXplKTsKK30KKworSW50U2l6ZSBSZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRv
blBvc2l0aW9uT2Zmc2V0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IHRoZSBv
ZmZzZXRzIHdpbGwgYWx3YXlzIGJlIHRoZSBzYW1lIG5vIG1hdHRlciB3aGF0IGltYWdlIHJlY3Qg
eW91IHRyeSB3aXRoLgorICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgYmUgdHJ1ZSBpbiB0aGUg
ZnV0dXJlLgorICAgIHN0YXRpYyBjb25zdCBpbnQgZHVtbXlEaW1lbnNpb24gPSAxMDA7CisgICAg
SW50UmVjdCBkdW1teUltYWdlUmVjdCgwLCAwLCBkdW1teURpbWVuc2lvbiwgZHVtbXlEaW1lbnNp
b24pOworICAgIE5TUmVjdCBib3VuZHMgPSBbc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBy
ZWN0Rm9yQm91bmRzOmR1bW15SW1hZ2VSZWN0IHByZWZlcnJlZEVkZ2U6TlNNaW5ZRWRnZV07Cisg
ICAgcmV0dXJuIEludFNpemUoZHVtbXlEaW1lbnNpb24gLSBib3VuZHMub3JpZ2luLngsIGJvdW5k
cy5vcmlnaW4ueSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQp
CiBjb25zdCBDR0Zsb2F0IGF0dGFjaG1lbnRJY29uU2l6ZSA9IDQ4OwogY29uc3QgQ0dGbG9hdCBh
dHRhY2htZW50SWNvbkJhY2tncm91bmRQYWRkaW5nID0gNjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmNwcAppbmRleCBlMTFkNmZmYTdkZWU5YjQ4MjgxNjUxMjcyNDNkYzc1ZTFj
MjM5Y2JjLi5hMTAyNzgwMzZiYTkwN2RiYzhiY2E1ZTU5NDExMTEzNGY5ZTljMjQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCkBAIC03NCw2ICs3NCw5IEBAIFN0eWxl
U2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1hdGhNTFN0eWxlU2hlZXQ7CiBTdHlsZVNo
ZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIFN0
eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmZ1bGxzY3JlZW5TdHlsZVNoZWV0Owog
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6cGx1Z0luc1N0eWxlU2hlZXQ7Cisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2Vu
dFN0eWxlOjppbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogU3R5bGVTaGVldENvbnRl
bnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFRdWVyeVN0eWxlU2hlZXQ7CiAjaWYgRU5BQkxFKERB
VEFMSVNUX0VMRU1FTlQpCiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpkYXRh
TGlzdFN0eWxlU2hlZXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAppbmRleCBi
MTFlMTBhZTlkOGEyOTAyMzA2NjA4Yjk3MjlhYjAxMjFmZWMyNGEwLi5kMjZkNjA5MDk3YzJmYWQx
ZTMzMWM0NWY0MDFkMTRmZjA0ODBlMzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9Vc2VyQWdlbnRTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0
eWxlLmgKQEAgLTQ2LDYgKzQ2LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29u
dGVudHMqIG1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29u
dGVudHMqIGZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVu
dHMqIHBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAg
IHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGltYWdlQ29udHJvbHNTdHlsZVNoZWV0OworI2Vu
ZGlmCiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQpCiAgICAgc3RhdGljIFN0eWxlU2hlZXRD
b250ZW50cyogZGF0YUxpc3RTdHlsZVNoZWV0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDE1MjRhMGJlYzNjMzYyNGQx
YmM2NjRiNDY4MmIyZTNjNTk4MzEzNWUuLjkwZGQzMmJhY2IwMzNiNzE3MzUyOWYyZjVkMjk5YTIw
Y2NlMzIwZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCkBAIC0xNDIxLDE1ICsxNDIxLDE0IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNl
cnZpY2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAg
ICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+c2VydmljZUNvbnRyb2xzRW5hYmxlZCgp
OwogfQogCi12b2lkIFdLUHJlZmVyZW5jZXNTZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmLCBib29sKQordm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewotICAg
IC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgorICAgIHRvSW1wbChw
cmVmZXJlbmNlc1JlZiktPnNldEltYWdlQ29udHJvbHNFbmFibGVkKGVuYWJsZWQpOwogfQogCi1i
b29sIFdLUHJlZmVyZW5jZXNHZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
KQorYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZikKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9u
Z2VyIHN1cHBvcnRlZC4KLSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPmltYWdlQ29udHJvbHNFbmFibGVkKCk7CiB9CiAKIHZvaWQgV0tQcmVmZXJl
bmNlc1NldEdhbWVwYWRzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBi
b29sIGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQppbmRleCBiYWQ0N2MwNzZlY2RjNWE4ZmYwOTBmNjcxMTc4MTVjN2VjOWQ2NDQ1Li5j
NGVlNTI1MDc2NDJkYjRlNTRjZmFkZjdmZWUzYmYxYjdjMGQzZDNjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQ4OSw2ICs0ODksNyBA
QCBzdGF0aWMgdm9pZCBoYXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNr
KENGTm90aWZpY2F0aW9uQ2VudGVyUmVmLAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQo
ISFbX2NvbmZpZ3VyYXRpb24gX3Nob3dzVVJMc0luVG9vbFRpcHNdKTsKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZCghIVtfY29u
ZmlndXJhdGlvbiBfc2VydmljZUNvbnRyb2xzRW5hYmxlZF0pOworICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCghIVtfY29uZmlndXJh
dGlvbiBfaW1hZ2VDb250cm9sc0VuYWJsZWRdKTsKIAogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5w
cmVmZXJlbmNlcygpLT5zZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KGNvbnZlcnRVc2Vy
SW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KFtfY29uZmlndXJhdGlvbiB1c2VySW50ZXJmYWNlRGly
ZWN0aW9uUG9saWN5XSkpOwogICAgIC8vIFdlIGFyZSBpbiB0aGUgVmlldydzIGluaXRpYWxpemF0
aW9uIHJvdXRpbmUsIHNvIG91ciBjbGllbnQgaGFzbid0IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNl
ciBpbnRlcmZhY2UgZGlyZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCA5YjAyZTkx
NDFmOTlmNTA5N2M2OThhNWI0ODUzMjFiMDQ1YmM3ZjFlLi41OTc0YTljOTc2YjBmNTI1MDQ4YzBm
ODdiMWRlMDc5NmE2MGVlMmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMTU3LDYgKzE1
Nyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5n
UXVpY2tMb29rUHJldmlldygpCiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IF9wYWdl
R3JvdXA7CiAgICAgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKICAgICBCT09MIF9zZXJ2aWNl
Q29udHJvbHNFbmFibGVkOworICAgIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkOwogI2VuZGlm
CiAgICAgQk9PTCBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzsKICAgICBC
T09MIF9jb250cm9sbGVkQnlBdXRvbWF0aW9uOwpAQCAtMjI3LDYgKzIyOCw3IEBAIHN0YXRpYyBi
b29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmll
dygpCiAgICAgX3Jlc3BlY3RzSW1hZ2VPcmllbnRhdGlvbiA9IE5POwogICAgIF9zaG93c1VSTHNJ
blRvb2xUaXBzID0gTk87CiAgICAgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgPSBOTzsKKyAgICBf
aW1hZ2VDb250cm9sc0VuYWJsZWQgPSBOTzsKICNlbmRpZgogICAgIF93YWl0c0ZvclBhaW50QWZ0
ZXJWaWV3RGlkTW92ZVRvV2luZG93ID0gWUVTOwogCkBAIC00MjUsNiArNDI3LDcgQEAgc3RhdGlj
IGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJlZm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2
aWV3KCkKICAgICBjb25maWd1cmF0aW9uLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSA9
IHNlbGYtPl91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5OwogICAgIGNvbmZpZ3VyYXRpb24t
Pl9zaG93c1VSTHNJblRvb2xUaXBzID0gc2VsZi0+X3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAg
Y29uZmlndXJhdGlvbi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5fc2VydmljZUNv
bnRyb2xzRW5hYmxlZDsKKyAgICBjb25maWd1cmF0aW9uLT5faW1hZ2VDb250cm9sc0VuYWJsZWQg
PSBzZWxmLT5faW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+X3BhZ2VH
cm91cCA9IHNlbGYuX3BhZ2VHcm91cDsKICNlbmRpZgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElP
TikgJiYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTExNDUsMTMgKzExNDgsMTIgQEAgc3RhdGlj
IFdlYktpdDo6QXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcgdG9BdHRyaWJ1dGlvbk92ZXJyaWRl
VGVzdGluZyhfV0tBdHRyaWIKIAogLSAoQk9PTClfaW1hZ2VDb250cm9sc0VuYWJsZWQKIHsKLSAg
ICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KLSAgICByZXR1cm4g
Tk87CisgICAgcmV0dXJuIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKIH0KIAogLSAodm9pZClfc2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQ6KEJPT0wpaW1hZ2VDb250cm9sc0VuYWJsZWQKIHsKLSAgICAv
LyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICBfaW1hZ2VDb250
cm9sc0VuYWJsZWQgPSBpbWFnZUNvbnRyb2xzRW5hYmxlZDsKIH0KIAogLSAoQk9PTClfcmVxdWly
ZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvblByaXZhdGUuaAppbmRleCAzMjY5OGQ1YjhmMjhjOTIxMzYyNzdmMzllYTFlYzUzZTJjNThh
ZjYzLi44MTM2NTU3YzFmYWE1NjQwOWM5MGU4YzRhY2U1ZjEyMjIyYzUyOGJiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApAQCAtMTA1LDcgKzEwNSw3IEBAIHR5cGVkZWYgTlNf
RU5VTShOU1VJbnRlZ2VyLCBfV0tBdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZykgewogI2Vsc2UK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNob3dzVVJMc0luVG9vbFRpcHM6KSBC
T09MIF9zaG93c1VSTHNJblRvb2xUaXBzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsK
IEBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VDb250cm9sc0VuYWJsZWQ6
KSBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAu
MTIpKTsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFi
bGVkOikgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVBJX0RFUFJFQ0FURUQoIkltYWdl
IGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkIiwgbWFjb3MoMTAuMTIsIDEyLjApKTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVkOikg
Qk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNf
VEJBKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldFJlcXVp
cmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXI6KSBCT09MIF9yZXF1aXJlc1Vz
ZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
MTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0Q1BV
TGltaXQ6KSBkb3VibGUgX2NwdUxpbWl0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkp
OwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRQYWdlR3JvdXA6
KSBXS1BhZ2VHcm91cFJlZiBfcGFnZUdyb3VwIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMu
NCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDgxZDgwMDI5MDZjZWY5Y2M2MjRjNjk5MzI2MmM1MmUzZTY0ODQ5MTUuLmFj
MmY0NTQ0OWFjOWRkOTJiYTc1YjljMjVhZjllNjIxNGMxZjk1NTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29t
PgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMg
dG8gYWNjb3VudCBmb3IgaW1hZ2UgY29udHJvbHMuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9nbGli
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy1tb2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIx
LTExLTI5ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgog
CiAgICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4g
VW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmlu
ZGV4IGI5MDZjNTk0NTI4NmJjYzM3ZTUwOTU0N2Y0ODBmOWZkNzQ0YTk2N2UuLjdiNjE0NGFjNTA3
ZjIxODVkMWRiMjFmYzZjZWZhZTkyNmQ5NzliY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5f
Z2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29u
dHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtdWkvYXBwZWFyYW5jZS1jc3NvbS0wMDEt
ZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTI5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBbOmhhcygpIHBzZXVkby1jbGFzc10gaWQgaW52YWxpZGF0aW9uIHN1
cHBvcnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIw
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy5odG1sCkBAIC0wLDAgKzEsOCBAQAorIDxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1
ZSk7CisKKzwvc2NyaXB0PgorPGJvZHk+Cis8aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1Nngy
NTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Cisg
ICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL2Zhc3QvaW1hZ2VzL2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgzOQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9
IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNp
emUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2
CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4wMWUyNGMxMjk4MDljNWZkOWY0NDRhNmJhYjEzYjQ2NGI0YTMw
YWY5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAy
NTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJJbWFnZUNvbnRyb2xzIHtESVZ9IGF0ICgw
LDApIHNpemUgMjU2eDI1NgorIGxheWVyIGF0ICgyMjksMTQpIHNpemUgMjl4MjYKKyAgIFJlbmRl
ckltYWdlQ29udHJvbHNCdXR0b24ge0RJVn0gYXQgKDIyMSw2KSBzaXplIDI5eDI2ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTJhZjQyZGM1NjQ0ODUwNmIxNzUxZjQzMTQ4NTAzMmEzMjE5YTM4
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2Cisg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDgp
IHNpemUgMjU2eDI1NgorICBSZW5kZXJJbWFnZUNvbnRyb2xzIHtESVZ9IGF0ICgwLDApIHNpemUg
MjU2eDI1NgorbGF5ZXIgYXQgKDIzMCwxNCkgc2l6ZSAyOHgyNgorICBSZW5kZXJJbWFnZUNvbnRy
b2xzQnV0dG9uIHtESVZ9IGF0ICgyMjIsNikgc2l6ZSAyOHgyNgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjc1YmQxMWY2MmQxNGE1NjYzNDBlZTIzYzFm
OWE5MzBjYzYzNjQzLi40MDI1NjE5ODNiNDM3YTUxODFjNDdmMDQ0ZDEwODBiYTA2OTk4MmRiIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjczMyw2ICsy
NzMzLDcgQEAgZmFzdC9oaXN0b3J5L2hpc3Rvcnktc3ViZnJhbWUtd2l0aC1uYW1lLmh0bWwgWyBT
a2lwIF0KIGZhc3QvaGlzdG9yeS9sb2NhdGlvbi1yZXBsYWNlLWhhc2guaHRtbCBbIFNraXAgXQog
ZmFzdC9oaXN0b3J5L3NhdmVzLXN0YXRlLWFmdGVyLWZyYWdtZW50LW5hdi5odG1sIFsgU2tpcCBd
CiAKK2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0KIHdl
YmtpdC5vcmcvYi8xNDA1MTYgWyBEZWJ1ZyBdIGZhc3QvaW1hZ2VzL2xhcmdlLXNpemUtaW1hZ2Ut
Y3Jhc2guaHRtbCBbIFNraXAgXSAgIyBDcmFzaGluZwogZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdl
LXdpdGgtYW5ub3RhdGlvbnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9pbWFnZXMv
c3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYx
ZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1YjM4MzkKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>
<flag name="commit-queue"
          id="470690"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445494</attachid>
            <date>2021-11-30 17:32:26 -0800</date>
            <delta_ts>2021-11-30 18:50:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130173225.patch</filename>
            <type>text/plain</type>
            <size>67381</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYmNm
NzMzZjQ3MTRlNWFkMjg5ZmIwODA4ZmIxODJmYWE2M2YzYWRjMC4uMGU1NzQ1YzEwMGVlMGU1YjU0
NjdhMWE5ZmI5ZTcxMjQzNDIyZDA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC01ODYsNiArNTg2
LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGRvbS9XaGVl
bEV2ZW50LmgKICAgICBkb20vWE1MRG9jdW1lbnQuaAogCisgICAgZG9tL21hYy9JbWFnZUNvbnRy
b2xzTWFjLmgKKwogICAgIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsLmgKICAg
ICBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKICAgICBkb20v
bWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5LmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhZTY5OTc1ZmJi
YjZjY2I5YjYxZTQ3MDc3YTFhMjUzYmNkYzNhZGIwLi41MmMzMTk5MzNjMzQ1MDJjYzI0YmZlOTBj
ZTBmOWQyNjA3MDk1MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTQsNiArMjk0LDcgQEAKIAkJNDQ1MEZDQTAyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDUwRkM5RTIxRjVGNjAyMDA0REZBNTYgLyogUXVpY2tM
b29rU29mdExpbmsuaCAqLzsgfTsKIAkJNDRFMUE4QUYyMUZBNTRFNjAwQzMwNDhFIC8qIExvb2t1
cFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NEUxQThBRDIxRkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLzsgfTsKIAkJ
NDRFMUE4QjAyMUZBNTRFQjAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUUyMUZBNTREQTAwQzMw
NDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovOyB9OworCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRB
ODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8q
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLzsgfTsKIAkJNDk5NkMwRjMyNzE3
NjQ0QzAwMkMxMjVEIC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5NkMwRjIyNzE3NjQyQjAwMkMxMjVEIC8qIFRDQ1NQSS5oICovOyB9
OwogCQk1MTdFMDNGOTI0QjdDMDA3MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0UwM0Y4MjRCN0MwMDYwMDU0
ODk1QSAvKiBJT0tpdFNQSU1hYy5oICovOyB9OwogCQk1NzBBQjhGMTIwQUUyRThEMDBCOEJFODcg
LyogU2VjS2V5UHJveHlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQcm94eVNQSS5oICov
OyB9OwpAQCAtNjk4LDYgKzY5OSw3IEBACiAJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBR
dWlja0xvb2tTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWlj
a0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRDIx
RkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9va3Vw
U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFMUE4QUUyMUZBNTRE
QTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9v
a3VwU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZFMjc0
NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5NkMwRjIyNzE3NjQyQjAwMkMx
MjVEIC8qIFRDQ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElPS2l0U1BJTWFjLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWNLZXlQcm94eVNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTY4LDYgKzk3MCw3IEBACiAJCQkJMEM3Nzg1N0QxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU3RTFG
NDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3JTUEkuaCAqLywK
IAkJCQlBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8sCisJ
CQkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGxTUEkuaCAqLywKIAkJCQkwQzc3ODU3RjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vy
dmljZVBpY2tlclNQSS5oICovLAogCQkJCTBDNzc4NTgwMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1No
YXJpbmdTZXJ2aWNlU1BJLmggKi8sCiAJCQkJMEM3Nzg1ODExRjQ1MTMwRjAwRjRFQkI2IC8qIE5T
U3BlbGxDaGVja2VyU1BJLmggKi8sCkBAIC0xNTA3LDYgKzE1MTAsNyBAQAogCQkJCTBDNzc4NTk2
MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwQzc3ODU5NzFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1
bUNhbGN1bGF0b3JTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTc1QjVBMUY2QjRBODQwMEM0
QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMEZGMjc0
NzQzOEEwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwQzc3ODU5ODFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTkxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlBMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYThiZTU5ZGMxZDVhYjFiNzcx
MjcyMjc1MjZlYzMwN2E4ZGZiZTVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworI2ltcG9ydCAiTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8
QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRfUFJJVkFU
RV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgOiBOU0J1
dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK0Bp
bnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAoKQorKyAoTlNTZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTooTlNT
aGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAoTlNSZWN0KXJlY3RGb3JCb3VuZHM6
KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0RWRnZSlwcmVmZXJyZWRFZGdlOwor
QGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5iZjY0Mzc3
MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTA2
Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9XaGVlbEV2
ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5jcHAKK2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRD
aGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5j
cHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjBjNjZmN2QwYmJi
MzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3IEBACiAJ
CTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2NjcwIC8q
IFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NEUz
NDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERDNzAwNjg0
NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyogSW1hZ2VD
b250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLzsgfTsK
IAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUwNzNCQkUw
MDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8qIFNwaW5C
dXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuaCAqLzsg
fTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1OUM1NzA0
MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhFNTEyMzZB
NUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGlnaHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0ODQ3IC8q
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodFJlZ2lz
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZBNjZBMTAw
OUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGlnaHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMuY3NzOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFjLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4MyAvKiBJ
bWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJFMDAyQkIx
NDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BpbkJ1
dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1MzEsNiAr
MjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRDUw
MzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJNDRFRUEw
RkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJCTQ0RUVB
MEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2ICsyMDcw
Niw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlERUQwMDU5
NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxs
QnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUwMDQ2QiAv
KiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMsMTQgQEAK
IAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMgLyogaW1h
Z2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAvKiBjb2Nv
YSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNDUyNiw2
ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4MThCRDAw
MDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTIxREQy
MTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1hZ2VEYXRh
U2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBDNDJGQiAv
KiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3OGE0NzVh
MmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEwMWNlMjRlZGYyZDFiYWVi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVlLnZhbHVl
SUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsKICNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1
dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQxN2FhOTg0YTQxNDkzLi5h
YjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBACiAgICAgICAgICAgICAg
ICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAi
cmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIs
CiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVu
dCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDk0NTY4YjE1Yjdh
NmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2NTI1NGYwZTY0ZGEwZWZj
YzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBA
IC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1j
YXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRv
cgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJuYWwtaW1hZ2UtY29udHJv
bHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJM
RV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTkyM2VlNjMw
ZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMu
Y3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVk
IHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAg
ICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhh
dmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICByZXR1cm4gaXNVQVNoZWV0
QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJv
bHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJhMTMwMzYzN2ExCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5o
IgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50
LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJTaGFkb3dSb290LmgiCisj
aW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xz
TWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitzdGF0aWMgY29uc3QgQXRv
bVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMg
TWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImlt
YWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJl
dHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250
cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0
cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJvbHMtYnV0dG9u
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBpZGVudGlm
aWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50JiBlbGVtZW50KQor
eworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCgpOworICAgIGlmICgh
c2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93Um9vdE1vZGU6OlVzZXJB
Z2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHNoYWRvd1Jvb3QtPmhh
c0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigpLmltcGwoKSk7
Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29udHJvbEhvc3QoY29uc3Qg
Tm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRvd0hvc3QoKTsKKyAgICBp
ZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpIH07CisgICAg
cmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBudWxscHRyOworfQorCiti
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAg
ICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAgIGlmICghaG9zdCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250cm9sUm9vdCA9IHN0YXRp
Y19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dSb290KCkpLmdldEVsZW1l
bnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQorICAgICAgICByZXR1cm4g
bm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7Cisg
ICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAgIFJlZiBzaGFkb3dSb290
ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgYXV0byBjb250cm9s
TGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKKyAgICBjb250
cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
KTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5ZXIpOworICAgIAorICAg
IHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBzaGFkb3dTdHls
ZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNvbnRyb2xzTWFjVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0
KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVz
OjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBzdHlsZS0+c2V0VGV4dENv
bnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKFdURk1vdmUo
c3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0b25FbGVtZW50OjpjcmVh
dGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQoKSwgbnVsbHB0cik7Cisg
ICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigp
KTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7CisgICAgCisgICAgaWYg
KGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsgaXM8UmVuZGVySW1hZ2U+
KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyT2Jq
ZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0lt
YWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01h
Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2NmJiNzc4MjM4YmNmYTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNN
YWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTEVsZW1l
bnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CisKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxl
bWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsK
K3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOworCisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBlMDk1YTJmNWI4NDMyMi4u
NmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0MjksNyBAQCBhdXRvY2Fw
aXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hhbmdlZAog
b253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQKIG9ud2Via2l0cHJlc2Vu
dGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Via2l0LXBsYXlzaW5saW5l
CiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVvcGxheWJhY2tkaXNhYmxl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggODA1M2E2MjUy
ZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uMmQyMjgwNGM2OTY0MjE0MDRiZTljNmJl
NWFlMDRhYzc1YmMzZDdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTFBpY3R1cmVFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2Vy
LmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgogI2luY2x1ZGUgIkxhenlMb2FkSW1h
Z2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJl
Z2lzdHJ5LmgiCkBAIC0zMDgsNiArMzA5LDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAg
ICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlm
ICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJh
dG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3Np
dGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29u
dHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewog
ICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24u
CiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAt
Mzc2LDYgKzM4MiwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVy
cygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBk
YXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRv
d25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJj
ZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAg
ICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Myw1
NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVy
KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBh
IHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVu
YWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRy
b2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VF
bGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0g
dXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQo
KSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKElt
YWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkp
KTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBh
dXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3Qp
LnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50
OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01h
Yzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZp
bmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjov
L3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5k
ZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2
NGRjYzQ4OGJmZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9t
U3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wg
aW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQor
ICAgIAogICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAg
ICB2b2lkIHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgs
NiArMTkwLDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGll
c0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2
ZUltYWdlRGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsK
KyAgICBib29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAg
ICBIVE1MU291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0
U291cmNlRWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHBy
aXZhdGU6CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3Bh
cnNlZFVzZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29s
IG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVB
dHRyaWJ1dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJl
Y2F1c2UgcGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29s
IG1faXNEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMTNkN2VjYjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3Nz
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lm
IGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTCisKK2RpdiNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9y
OiB0cmFuc3BhcmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAg
ICAKKyAgICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAg
IG9wYWNpdHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFn
ZS1jb250cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1
MWRlZjU1NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmZjYzUwNDQwODdkNDE3MDU4
MzIzMjQxOTU5OTUyNTcyNjA3ZDcyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJIVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKICNpbmNs
dWRlICJJbWFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtMTQzLDYgKzE0NCwyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzgsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjIs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzli
YjFiNWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3
ZjkwOGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1
MzYsNiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2du
aXRpb25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1l
bnQtPmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAK
ICAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXgg
MjcyODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAy
ODU1MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2Fw
YWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVs
LWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJ
bmRpY2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBh
cnQiOyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJh
dGluZy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1j
b250cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24t
cGFydCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5k
ZXggY2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdi
NDI1MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51
b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRi
ZTkxNmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBh
OWYyOTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CkBAIC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVs
ZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVB
bHRUZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAg
ICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVu
dCkuaW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9j
dW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUlt
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4
ZmZjYWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVh
MDU4YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxl
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBj
YXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdM
ZXZlbEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxl
LCBlbGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRp
Y2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShz
dHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAg
QEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xT
dGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmll
bGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJl
Y3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3Jh
bFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAg
IGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9j
a0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAg
ICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlv
bnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2Fz
ZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0Ogor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0x
Mjc3LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25z
dCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdl
Q29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAor
eworfQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVy
dmFsRm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJl
dHVybiAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRl
ZjExY2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVj
YjUyZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERl
Y29yYXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlu
cHV0UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRp
b25zKSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFs
IEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXpl
KCk7IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zm
c2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRy
aW5zaWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRT
aXplKCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxl
bWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24o
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsg
cmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNz
QmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4
YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsx
NDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0
IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAg
IHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCop
IGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBj
b25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykK
ICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVBy
b2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50
U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NC
YXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRl
ck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJ
bnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6
ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAg
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
KCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25D
ZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRD
ZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5t
bQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1
ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwv
c3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRy
YXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYg
QEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTog
VGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5Lgot
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5l
c19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlm
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRl
cmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdP
cHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJv
bFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4Mywx
NCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cisg
ICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdo
dCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFn
ZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9Cisj
ZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVy
T2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiBy
KQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJ
bmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1l
TWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0
IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1Ry
dW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
K05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJC
dXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hh
cmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xs
b3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsK
KyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9u
VHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNl
dEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRy
b2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQo
KSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5j
b250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRp
b24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsK
KyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zv
cihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9u
U2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRv
bkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29u
dHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJl
bnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBp
bWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRy
dWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0g
MTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1
bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWlu
WUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdp
bi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0
IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3
MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQs
OSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0
OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxl
U2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5
bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHls
ZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxl
U2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRT
dHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxl
LmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYw
OTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9V
c2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVT
aGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBT
dHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBi
ZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1Mjlm
MmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9s
c0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29u
dHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVk
KTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMg
YXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1Yzdl
YzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODks
NiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRp
cHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJs
ZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdl
Q29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFb
X2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShj
b252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBp
bml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBz
ZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5k
ZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIw
ZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAg
LTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVm
b3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3Vw
UmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9P
TCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxl
ZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5k
b3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBA
QCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNr
TG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBf
c2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0g
Tk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNG
b3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3
IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVp
Y2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25m
aWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xU
aXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+
X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJv
bHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEy
IEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRp
b25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFi
bGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0g
ICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0g
KHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAg
X2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJP
T0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWEx
ZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3Rpbmcp
IHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRv
b2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJv
bHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNB
VEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEy
LCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVy
PV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0
ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0
UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2
NDg0OTE1Li5hYzJmNDU0NDlhYzlkZDkyYmE3NWI5YzI1YWY5ZTYyMTRjMWY5NTU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVy
QGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1l
bnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtbW9qYXZlL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2lu
Y2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFuZCBi
YXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBiOTA2YzU5NDUyODZiY2MzN2U1MDk1NDdmNDgwZjlmZDc0NGE5NjdlLi43
YjYxNDRhYzUwN2YyMTg1ZDFkYjIxZmM2Y2VmYWU5MjZkOTc5YmNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5l
ciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9m
IGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXVpL2FwcGVhcmFuY2Ut
Y3Nzb20tMDAxLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0yOSAgQW50dGkgS29pdmlzdG8gIDxh
bnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgWzpoYXMoKSBwc2V1ZG8tY2xhc3NdIGlkIGludmFs
aWRhdGlvbiBzdXBwb3J0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNm
ZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNF
bmFibGVkKHRydWUpOworCis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9InJlc291cmNlcy9n
cmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5PgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5
ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0
ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUg
Nzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2Cisg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFzdC9p
bWFnZXMvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRh
NDE1YjM4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvZmFz
dC9pbWFnZXMvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJs
b2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBh
dCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNp
emUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0
MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBA
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRN
TH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkg
c2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1t
b2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLW1vamF2ZS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDFlMjRjMTI5ODA5YzVmZDlmNDQ0YTZiYWIx
M2I0NjRiNGEzMGFmOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy1tb2phdmUvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVySW1hZ2VDb250cm9scyB7
RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyBsYXllciBhdCAoMjI5LDE0KSBzaXplIDI5eDI2
CisgICBSZW5kZXJJbWFnZUNvbnRyb2xzQnV0dG9uIHtESVZ9IGF0ICgyMjEsNikgc2l6ZSAyOXgy
NgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyYWY0MmRjNTY0NDg1MDZiMTc1MWY0MzE0ODUw
MzJhMzIxOWEzOGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVySW1hZ2VDb250cm9scyB7RElWfSBhdCAo
MCwwKSBzaXplIDI1NngyNTYKK2xheWVyIGF0ICgyMzAsMTQpIHNpemUgMjh4MjYKKyAgUmVuZGVy
SW1hZ2VDb250cm9sc0J1dHRvbiB7RElWfSBhdCAoMjIyLDYpIHNpemUgMjh4MjYKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZWY3NWJkMTFmNjJkMTRhNTY2
MzQwZWUyM2MxZjlhOTMwY2M2MzY0My4uNDAyNTYxOTgzYjQzN2E1MTgxYzQ3ZjA0NGQxMDgwYmEw
Njk5ODJkYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTI3MzMsNiArMjczMyw3IEBAIGZhc3QvaGlzdG9yeS9oaXN0b3J5LXN1YmZyYW1lLXdpdGgtbmFt
ZS5odG1sIFsgU2tpcCBdCiBmYXN0L2hpc3RvcnkvbG9jYXRpb24tcmVwbGFjZS1oYXNoLmh0bWwg
WyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9zYXZlcy1zdGF0ZS1hZnRlci1mcmFnbWVudC1uYXYuaHRt
bCBbIFNraXAgXQogCitmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIFsgRmFp
bHVyZSBdCiB3ZWJraXQub3JnL2IvMTQwNTE2IFsgRGVidWcgXSBmYXN0L2ltYWdlcy9sYXJnZS1z
aXplLWltYWdlLWNyYXNoLmh0bWwgWyBTa2lwIF0gICMgQ3Jhc2hpbmcKIGZhc3QvaW1hZ2VzL3Bk
Zi1hcy1pbWFnZS13aXRoLWFubm90YXRpb25zLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGZh
c3QvaW1hZ2VzL3N1cHBvcnQtYnJva2VuLWltYWdlLWRlbGVnYXRlLmh0bWwgWyBGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bmNhaXJvL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42MWQ2OTY0MTIwYjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDAp
IHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4
NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCg==
</data>
<flag name="commit-queue"
          id="470698"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445496</attachid>
            <date>2021-11-30 17:49:35 -0800</date>
            <delta_ts>2021-11-30 22:13:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130174934.patch</filename>
            <type>text/plain</type>
            <size>66519</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYmNm
NzMzZjQ3MTRlNWFkMjg5ZmIwODA4ZmIxODJmYWE2M2YzYWRjMC4uMGU1NzQ1YzEwMGVlMGU1YjU0
NjdhMWE5ZmI5ZTcxMjQzNDIyZDA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC01ODYsNiArNTg2
LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGRvbS9XaGVl
bEV2ZW50LmgKICAgICBkb20vWE1MRG9jdW1lbnQuaAogCisgICAgZG9tL21hYy9JbWFnZUNvbnRy
b2xzTWFjLmgKKwogICAgIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsLmgKICAg
ICBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKICAgICBkb20v
bWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5LmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhZTY5OTc1ZmJi
YjZjY2I5YjYxZTQ3MDc3YTFhMjUzYmNkYzNhZGIwLi41MmMzMTk5MzNjMzQ1MDJjYzI0YmZlOTBj
ZTBmOWQyNjA3MDk1MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTQsNiArMjk0LDcgQEAKIAkJNDQ1MEZDQTAyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDUwRkM5RTIxRjVGNjAyMDA0REZBNTYgLyogUXVpY2tM
b29rU29mdExpbmsuaCAqLzsgfTsKIAkJNDRFMUE4QUYyMUZBNTRFNjAwQzMwNDhFIC8qIExvb2t1
cFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NEUxQThBRDIxRkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLzsgfTsKIAkJ
NDRFMUE4QjAyMUZBNTRFQjAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUUyMUZBNTREQTAwQzMw
NDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovOyB9OworCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRB
ODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8q
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLzsgfTsKIAkJNDk5NkMwRjMyNzE3
NjQ0QzAwMkMxMjVEIC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5NkMwRjIyNzE3NjQyQjAwMkMxMjVEIC8qIFRDQ1NQSS5oICovOyB9
OwogCQk1MTdFMDNGOTI0QjdDMDA3MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0UwM0Y4MjRCN0MwMDYwMDU0
ODk1QSAvKiBJT0tpdFNQSU1hYy5oICovOyB9OwogCQk1NzBBQjhGMTIwQUUyRThEMDBCOEJFODcg
LyogU2VjS2V5UHJveHlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQcm94eVNQSS5oICov
OyB9OwpAQCAtNjk4LDYgKzY5OSw3IEBACiAJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBR
dWlja0xvb2tTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWlj
a0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRDIx
RkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9va3Vw
U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFMUE4QUUyMUZBNTRE
QTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9v
a3VwU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZFMjc0
NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5NkMwRjIyNzE3NjQyQjAwMkMx
MjVEIC8qIFRDQ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElPS2l0U1BJTWFjLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWNLZXlQcm94eVNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTY4LDYgKzk3MCw3IEBACiAJCQkJMEM3Nzg1N0QxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU3RTFG
NDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3JTUEkuaCAqLywK
IAkJCQlBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8sCisJ
CQkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGxTUEkuaCAqLywKIAkJCQkwQzc3ODU3RjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vy
dmljZVBpY2tlclNQSS5oICovLAogCQkJCTBDNzc4NTgwMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1No
YXJpbmdTZXJ2aWNlU1BJLmggKi8sCiAJCQkJMEM3Nzg1ODExRjQ1MTMwRjAwRjRFQkI2IC8qIE5T
U3BlbGxDaGVja2VyU1BJLmggKi8sCkBAIC0xNTA3LDYgKzE1MTAsNyBAQAogCQkJCTBDNzc4NTk2
MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwQzc3ODU5NzFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1
bUNhbGN1bGF0b3JTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTc1QjVBMUY2QjRBODQwMEM0
QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMEZGMjc0
NzQzOEEwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwQzc3ODU5ODFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTkxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlBMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYThiZTU5ZGMxZDVhYjFiNzcx
MjcyMjc1MjZlYzMwN2E4ZGZiZTVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworI2ltcG9ydCAiTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8
QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRfUFJJVkFU
RV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgOiBOU0J1
dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK0Bp
bnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAoKQorKyAoTlNTZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTooTlNT
aGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAoTlNSZWN0KXJlY3RGb3JCb3VuZHM6
KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0RWRnZSlwcmVmZXJyZWRFZGdlOwor
QGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5iZjY0Mzc3
MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTA2
Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9XaGVlbEV2
ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5jcHAKK2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRD
aGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5j
cHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjBjNjZmN2QwYmJi
MzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3IEBACiAJ
CTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2NjcwIC8q
IFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NEUz
NDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERDNzAwNjg0
NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyogSW1hZ2VD
b250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLzsgfTsK
IAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUwNzNCQkUw
MDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8qIFNwaW5C
dXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuaCAqLzsg
fTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1OUM1NzA0
MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhFNTEyMzZB
NUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGlnaHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0ODQ3IC8q
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodFJlZ2lz
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZBNjZBMTAw
OUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGlnaHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMuY3NzOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFjLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4MyAvKiBJ
bWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJFMDAyQkIx
NDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BpbkJ1
dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1MzEsNiAr
MjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRDUw
MzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJNDRFRUEw
RkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJCTQ0RUVB
MEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2ICsyMDcw
Niw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlERUQwMDU5
NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxs
QnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUwMDQ2QiAv
KiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMsMTQgQEAK
IAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMgLyogaW1h
Z2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAvKiBjb2Nv
YSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNDUyNiw2
ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4MThCRDAw
MDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTIxREQy
MTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1hZ2VEYXRh
U2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBDNDJGQiAv
KiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3OGE0NzVh
MmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEwMWNlMjRlZGYyZDFiYWVi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVlLnZhbHVl
SUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsKICNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1
dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQxN2FhOTg0YTQxNDkzLi5h
YjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBACiAgICAgICAgICAgICAg
ICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAi
cmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIs
CiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVu
dCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDk0NTY4YjE1Yjdh
NmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2NTI1NGYwZTY0ZGEwZWZj
YzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBA
IC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1j
YXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRv
cgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJuYWwtaW1hZ2UtY29udHJv
bHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJM
RV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTkyM2VlNjMw
ZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMu
Y3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVk
IHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAg
ICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhh
dmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICByZXR1cm4gaXNVQVNoZWV0
QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJv
bHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJhMTMwMzYzN2ExCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5o
IgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50
LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJTaGFkb3dSb290LmgiCisj
aW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xz
TWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitzdGF0aWMgY29uc3QgQXRv
bVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMg
TWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImlt
YWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJl
dHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250
cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0
cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJvbHMtYnV0dG9u
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBpZGVudGlm
aWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50JiBlbGVtZW50KQor
eworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCgpOworICAgIGlmICgh
c2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93Um9vdE1vZGU6OlVzZXJB
Z2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHNoYWRvd1Jvb3QtPmhh
c0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigpLmltcGwoKSk7
Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29udHJvbEhvc3QoY29uc3Qg
Tm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRvd0hvc3QoKTsKKyAgICBp
ZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpIH07CisgICAg
cmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBudWxscHRyOworfQorCiti
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAg
ICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAgIGlmICghaG9zdCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250cm9sUm9vdCA9IHN0YXRp
Y19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dSb290KCkpLmdldEVsZW1l
bnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQorICAgICAgICByZXR1cm4g
bm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7Cisg
ICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAgIFJlZiBzaGFkb3dSb290
ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgYXV0byBjb250cm9s
TGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKKyAgICBjb250
cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
KTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5ZXIpOworICAgIAorICAg
IHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBzaGFkb3dTdHls
ZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNvbnRyb2xzTWFjVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0
KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVz
OjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBzdHlsZS0+c2V0VGV4dENv
bnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKFdURk1vdmUo
c3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0b25FbGVtZW50OjpjcmVh
dGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQoKSwgbnVsbHB0cik7Cisg
ICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigp
KTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7CisgICAgCisgICAgaWYg
KGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsgaXM8UmVuZGVySW1hZ2U+
KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyT2Jq
ZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0lt
YWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01h
Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2NmJiNzc4MjM4YmNmYTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNN
YWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTEVsZW1l
bnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CisKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxl
bWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsK
K3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOworCisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBlMDk1YTJmNWI4NDMyMi4u
NmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0MjksNyBAQCBhdXRvY2Fw
aXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hhbmdlZAog
b253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQKIG9ud2Via2l0cHJlc2Vu
dGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Via2l0LXBsYXlzaW5saW5l
CiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVvcGxheWJhY2tkaXNhYmxl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggODA1M2E2MjUy
ZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uMmQyMjgwNGM2OTY0MjE0MDRiZTljNmJl
NWFlMDRhYzc1YmMzZDdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTFBpY3R1cmVFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2Vy
LmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgogI2luY2x1ZGUgIkxhenlMb2FkSW1h
Z2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJl
Z2lzdHJ5LmgiCkBAIC0zMDgsNiArMzA5LDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAg
ICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlm
ICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJh
dG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3Np
dGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29u
dHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewog
ICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24u
CiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAt
Mzc2LDYgKzM4MiwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVy
cygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBk
YXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRv
d25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJj
ZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAg
ICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Myw1
NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVy
KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBh
IHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVu
YWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRy
b2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VF
bGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0g
dXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQo
KSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKElt
YWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkp
KTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBh
dXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3Qp
LnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50
OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01h
Yzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZp
bmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjov
L3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5k
ZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2
NGRjYzQ4OGJmZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9t
U3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wg
aW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQor
ICAgIAogICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAg
ICB2b2lkIHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgs
NiArMTkwLDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGll
c0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2
ZUltYWdlRGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsK
KyAgICBib29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAg
ICBIVE1MU291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0
U291cmNlRWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHBy
aXZhdGU6CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3Bh
cnNlZFVzZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29s
IG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVB
dHRyaWJ1dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJl
Y2F1c2UgcGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29s
IG1faXNEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMTNkN2VjYjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3Nz
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lm
IGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTCisKK2RpdiNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9y
OiB0cmFuc3BhcmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAg
ICAKKyAgICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAg
IG9wYWNpdHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFn
ZS1jb250cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1
MWRlZjU1NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmZjYzUwNDQwODdkNDE3MDU4
MzIzMjQxOTU5OTUyNTcyNjA3ZDcyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJIVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKICNpbmNs
dWRlICJJbWFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtMTQzLDYgKzE0NCwyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzgsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjIs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzli
YjFiNWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3
ZjkwOGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1
MzYsNiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2du
aXRpb25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1l
bnQtPmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAK
ICAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXgg
MjcyODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAy
ODU1MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2Fw
YWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVs
LWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJ
bmRpY2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBh
cnQiOyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJh
dGluZy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1j
b250cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24t
cGFydCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5k
ZXggY2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdi
NDI1MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51
b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRi
ZTkxNmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBh
OWYyOTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CkBAIC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVs
ZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVB
bHRUZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAg
ICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVu
dCkuaW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9j
dW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUlt
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4
ZmZjYWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVh
MDU4YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxl
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBj
YXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdM
ZXZlbEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxl
LCBlbGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRp
Y2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShz
dHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAg
QEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xT
dGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmll
bGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJl
Y3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3Jh
bFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAg
IGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9j
a0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAg
ICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlv
bnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2Fz
ZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0Ogor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0x
Mjc3LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25z
dCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdl
Q29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAor
eworfQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVy
dmFsRm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJl
dHVybiAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRl
ZjExY2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVj
YjUyZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERl
Y29yYXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlu
cHV0UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRp
b25zKSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFs
IEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXpl
KCk7IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zm
c2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRy
aW5zaWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRT
aXplKCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxl
bWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24o
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsg
cmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNz
QmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4
YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsx
NDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0
IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAg
IHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCop
IGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBj
b25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykK
ICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVBy
b2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50
U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NC
YXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRl
ck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJ
bnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6
ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAg
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
KCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25D
ZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRD
ZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5t
bQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1
ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwv
c3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRy
YXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYg
QEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTog
VGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5Lgot
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5l
c19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlm
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRl
cmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdP
cHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJv
bFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4Mywx
NCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cisg
ICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdo
dCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFn
ZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9Cisj
ZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVy
T2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiBy
KQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJ
bmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1l
TWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0
IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1Ry
dW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
K05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJC
dXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hh
cmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xs
b3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsK
KyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9u
VHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNl
dEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRy
b2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQo
KSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5j
b250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRp
b24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsK
KyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zv
cihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9u
U2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRv
bkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29u
dHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJl
bnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBp
bWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRy
dWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0g
MTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1
bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWlu
WUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdp
bi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0
IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3
MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQs
OSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0
OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxl
U2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5
bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHls
ZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxl
U2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRT
dHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxl
LmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYw
OTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9V
c2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVT
aGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBT
dHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBi
ZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1Mjlm
MmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9s
c0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29u
dHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVk
KTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMg
YXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1Yzdl
YzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODks
NiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRp
cHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJs
ZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdl
Q29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFb
X2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShj
b252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBp
bml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBz
ZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5k
ZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIw
ZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAg
LTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVm
b3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3Vw
UmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9P
TCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxl
ZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5k
b3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBA
QCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNr
TG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBf
c2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0g
Tk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNG
b3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3
IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVp
Y2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25m
aWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xU
aXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+
X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJv
bHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEy
IEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRp
b25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFi
bGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0g
ICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0g
KHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAg
X2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJP
T0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWEx
ZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3Rpbmcp
IHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRv
b2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJv
bHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNB
VEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEy
LCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVy
PV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0
ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0
UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2
NDg0OTE1Li42ZjI3NTMyZWQ1NWQ3ZGQzYmRmMmRlY2I5ZTA2NzZmMjExNWYxNTNkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVy
QGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1l
bnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTExLTI5ICBBcmNhZHkgR29s
ZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBV
cGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4gVW5yZXZpZXdlZCB0ZXN0IGdh
cmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGI5MDZjNTk0NTI4NmJj
YzM3ZTUwOTU0N2Y0ODBmOWZkNzQ0YTk2N2UuLjdiNjE0NGFjNTA3ZjIxODVkMWRiMjFmYzZjZWZh
ZTkyNmQ5NzliY2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEy
IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+
CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtdWkvYXBwZWFyYW5jZS1jc3NvbS0wMDEtZXhwZWN0ZWQudHh0OgorCiAy
MDIxLTExLTI5ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAgICBb
OmhhcygpIHBzZXVkby1jbGFzc10gaWQgaW52YWxpZGF0aW9uIHN1cHBvcnQKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIwNDEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sCkBA
IC0wLDAgKzEsOCBAQAorIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKwlpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1ZSk7CisKKzwvc2NyaXB0Pgor
PGJvZHk+Cis8aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1NngyNTYuanBnIiB4LXdlYmtpdC1p
bWFnZW1lbnU+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2OTY0MTIw
YjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL2Zhc3QvaW1hZ2Vz
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFk
Njk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgzOQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9mYXN0L2ltYWdlcy9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAw
eDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAg
UmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MWQ2
OTY0MTIwYjUwODBlZGI1ZjMwZGM0NjUyMDlkYTQxNWIzODM5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYw
MAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
ICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlcklt
YWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI0YjI5ZDUzYzU5
ZjVlOGViZjdmMzJkZDQ5NjNjMDg2MTk1NzQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRl
ckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lN
R30gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKK2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0j
MDAwMDAwMDBdCitsYXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2CisgIFJlbmRlckJ1dHRvbiB7
QlVUVE9OfSBhdCAoMjA3LDIyKSBzaXplIDI3eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9y
PSNDMEMwQzBdIFtib3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlZjc1YmQxMWY2MmQxNGE1NjYzNDBlZTIz
YzFmOWE5MzBjYzYzNjQzLi40MDI1NjE5ODNiNDM3YTUxODFjNDdmMDQ0ZDEwODBiYTA2OTk4MmRi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjczMyw2
ICsyNzMzLDcgQEAgZmFzdC9oaXN0b3J5L2hpc3Rvcnktc3ViZnJhbWUtd2l0aC1uYW1lLmh0bWwg
WyBTa2lwIF0KIGZhc3QvaGlzdG9yeS9sb2NhdGlvbi1yZXBsYWNlLWhhc2guaHRtbCBbIFNraXAg
XQogZmFzdC9oaXN0b3J5L3NhdmVzLXN0YXRlLWFmdGVyLWZyYWdtZW50LW5hdi5odG1sIFsgU2tp
cCBdCiAKK2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwgWyBGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8xNDA1MTYgWyBEZWJ1ZyBdIGZhc3QvaW1hZ2VzL2xhcmdlLXNpemUtaW1h
Z2UtY3Jhc2guaHRtbCBbIFNraXAgXSAgIyBDcmFzaGluZwogZmFzdC9pbWFnZXMvcGRmLWFzLWlt
YWdlLXdpdGgtYW5ub3RhdGlvbnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogZmFzdC9pbWFn
ZXMvc3VwcG9ydC1icm9rZW4taW1hZ2UtZGVsZWdhdGUuaHRtbCBbIEZhaWx1cmUgXQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYxZDY5NjQxMjBiNTA4MGVkYjVmMzBkYzQ2NTIwOWRhNDE1YjM4MzkKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAg
ICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445497</attachid>
            <date>2021-11-30 18:03:55 -0800</date>
            <delta_ts>2021-11-30 22:13:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130180354.patch</filename>
            <type>text/plain</type>
            <size>62698</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggYmNm
NzMzZjQ3MTRlNWFkMjg5ZmIwODA4ZmIxODJmYWE2M2YzYWRjMC4uMGU1NzQ1YzEwMGVlMGU1YjU0
NjdhMWE5ZmI5ZTcxMjQzNDIyZDA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVy
cy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC01ODYsNiArNTg2
LDggQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIGRvbS9XaGVl
bEV2ZW50LmgKICAgICBkb20vWE1MRG9jdW1lbnQuaAogCisgICAgZG9tL21hYy9JbWFnZUNvbnRy
b2xzTWFjLmgKKwogICAgIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsLmgKICAg
ICBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmgKICAgICBkb20v
bWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFJlZ2lzdHJ5LmgKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhZTY5OTc1ZmJi
YjZjY2I5YjYxZTQ3MDc3YTFhMjUzYmNkYzNhZGIwLi41MmMzMTk5MzNjMzQ1MDJjYzI0YmZlOTBj
ZTBmOWQyNjA3MDk1MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTQsNiArMjk0LDcgQEAKIAkJNDQ1MEZDQTAyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDUwRkM5RTIxRjVGNjAyMDA0REZBNTYgLyogUXVpY2tM
b29rU29mdExpbmsuaCAqLzsgfTsKIAkJNDRFMUE4QUYyMUZBNTRFNjAwQzMwNDhFIC8qIExvb2t1
cFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NEUxQThBRDIxRkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLzsgfTsKIAkJ
NDRFMUE4QjAyMUZBNTRFQjAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUUyMUZBNTREQTAwQzMw
NDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovOyB9OworCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRB
ODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8q
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLzsgfTsKIAkJNDk5NkMwRjMyNzE3
NjQ0QzAwMkMxMjVEIC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDk5NkMwRjIyNzE3NjQyQjAwMkMxMjVEIC8qIFRDQ1NQSS5oICovOyB9
OwogCQk1MTdFMDNGOTI0QjdDMDA3MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0UwM0Y4MjRCN0MwMDYwMDU0
ODk1QSAvKiBJT0tpdFNQSU1hYy5oICovOyB9OwogCQk1NzBBQjhGMTIwQUUyRThEMDBCOEJFODcg
LyogU2VjS2V5UHJveHlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQcm94eVNQSS5oICov
OyB9OwpAQCAtNjk4LDYgKzY5OSw3IEBACiAJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBR
dWlja0xvb2tTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBRdWlj
a0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRDIx
RkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9va3Vw
U29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFMUE4QUUyMUZBNTRE
QTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9v
a3VwU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZFMjc0
NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5NkMwRjIyNzE3NjQyQjAwMkMx
MjVEIC8qIFRDQ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElPS2l0U1BJTWFjLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJTWFjLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWNLZXlQcm94eVNQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtOTY4LDYgKzk3MCw3IEBACiAJCQkJMEM3Nzg1N0QxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU3RTFG
NDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3JTUEkuaCAqLywK
IAkJCQlBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8sCisJ
CQkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGxTUEkuaCAqLywKIAkJCQkwQzc3ODU3RjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vy
dmljZVBpY2tlclNQSS5oICovLAogCQkJCTBDNzc4NTgwMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1No
YXJpbmdTZXJ2aWNlU1BJLmggKi8sCiAJCQkJMEM3Nzg1ODExRjQ1MTMwRjAwRjRFQkI2IC8qIE5T
U3BlbGxDaGVja2VyU1BJLmggKi8sCkBAIC0xNTA3LDYgKzE1MTAsNyBAQAogCQkJCTBDNzc4NTk2
MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwQzc3ODU5NzFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1
bUNhbGN1bGF0b3JTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTc1QjVBMUY2QjRBODQwMEM0
QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMEZGMjc0
NzQzOEEwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwQzc3ODU5ODFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTkxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlBMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYThiZTU5ZGMxZDVhYjFiNzcx
MjcyMjc1MjZlYzMwN2E4ZGZiZTVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApAQCAtMCww
ICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworI2ltcG9ydCAiTlNTaGFyaW5nU2Vydmlj
ZVBpY2tlclNQSS5oIgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8
QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05TU2Vydmlj
ZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4KKworI2Vsc2UKKworI2RlZmluZSBBUFBLSVRfUFJJVkFU
RV9DTEFTUworCitAaW50ZXJmYWNlIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgOiBOU0J1
dHRvbkNlbGwKK0BlbmQKKworI2VuZGlmIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKK0Bp
bnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAoKQorKyAoTlNTZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTooTlNT
aGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAoTlNSZWN0KXJlY3RGb3JCb3VuZHM6
KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0RWRnZSlwcmVmZXJyZWRFZGdlOwor
QGVuZAorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3NzI0MDQ3Li5iZjY0Mzc3
MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMTA2
Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5jcHAKIGRvbS9XaGVlbEV2
ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxEb2N1bWVudC5jcHAKK2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRD
aGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlci5j
cHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXJJbXBsLmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1ZDYuLjBjNjZmN2QwYmJi
MzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTksNiArMTI5OSw3IEBACiAJ
CTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNEMjEwRTAwNTg2NjcwIC8q
IFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NEUz
NDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5RjcyNDZGNERDNzAwNjg0
NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyogSW1hZ2VD
b250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLzsgfTsK
IAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MENFQkVGMTUwNzNCQkUw
MDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAwMkY4NEUyIC8qIFNwaW5C
dXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuaCAqLzsg
fTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTNFQjYzNTE1OUM1NzA0
MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAKIAkJNDRFODhFNTEyMzZB
NUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIaWdobGlnaHQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZBNjY3RjAwOUI0ODQ3IC8q
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodFJlZ2lz
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTQyMzZBNjZBMTAw
OUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGlnaHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMg
LyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29udHJvbHNNYWMuY3NzOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcyN0YyMDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFjLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3RjQwMDU5NEE4MyAvKiBJ
bWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRTE1MDczQkJFMDAyQkIx
NDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BpbkJ1
dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1MzEsNiAr
MjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQkyRDUw
MzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAgKi8sCisJCQkJNDRFRUEw
RkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovLAorCQkJCTQ0RUVB
MEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMDcwMCw2ICsyMDcw
Niw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFkb3cgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEU2MjczRjlERUQwMDU5
NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JGMEZCIC8qIEF1dG9GaWxs
QnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgzNDAwN0JGMEZCIC8qIEF1
dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVDQTA1NzQwMDUwMDQ2QiAv
KiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYsNiArMjEyNzMsMTQgQEAK
IAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAwMDA1OTRBODMgLyogaW1h
Z2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1hYzsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQwMEIyOUZEMiAvKiBjb2Nv
YSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC0zNDUyNiw2
ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMxIC8qIEltYWdlQnVmZmVy
SU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMTBEOTEwQjM4MThCRDAw
MDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzRTIxREQy
MTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkgLyogSW1hZ2VEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJBNkMgLyogSW1hZ2VEYXRh
U2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1NzM5NzIwMDBDNDJGQiAv
KiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFjNTBiMTk1OTY3OGE0NzVh
MmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEwMWNlMjRlZGYyZDFiYWVi
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGlu
Z3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5o
CkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAgICBtX3ZhbHVlLnZhbHVl
SUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAgICBicmVhazsKICNlbmRp
ZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1
dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlSW50ZXJuYWxJbWFn
ZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBM
RV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAgICAgIG1fdmFsdWUudmFs
dWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRp
ZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQxN2FhOTg0YTQxNDkzLi5h
YjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBACiAgICAgICAgICAgICAg
ICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAg
ICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAgICAgICAgICAgICAgICAi
cmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAgIi1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBwbGUtcGF5LWJ1dHRvbiIs
CiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAgICAgICAiYXR0YWNobWVu
dCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbiBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmluZGV4IDk0NTY4YjE1Yjdh
NmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2NTI1NGYwZTY0ZGEwZWZj
YzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtl
eXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCkBA
IC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRvcgogY29udGludW91cy1j
YXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRv
cgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJuYWwtaW1hZ2UtY29udHJv
bHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBMRV9QQVkpICYmIEVOQUJM
RV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0ZjI2ZjUxYTkyM2VlNjMw
ZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2NWZmOWJiNzZiNTg2M2Q2
ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklk
aW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMu
Y3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2VkSW5Nb2RlKHVuc2lnbmVk
IHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9jdXNSaW5nQ29sb3I6CiAg
ICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBpc1F1aXJrc01vZGVCZWhh
dmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICByZXR1cm4gaXNVQVNoZWV0
QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJv
bHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJhMTMwMzYzN2ExCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNw
cApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5o
IgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTERpdkVsZW1l
bnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MU3R5bGVFbGVtZW50
LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJTaGFkb3dSb290LmgiCisj
aW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9BdG9t
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xz
TWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitzdGF0aWMgY29uc3QgQXRv
bVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMg
TWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImlt
YWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJl
dHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250
cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0
cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJvbHMtYnV0dG9u
IiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAgIHJldHVybiBpZGVudGlm
aWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50JiBlbGVtZW50KQor
eworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9vdCgpOworICAgIGlmICgh
c2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93Um9vdE1vZGU6OlVzZXJB
Z2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHNoYWRvd1Jvb3QtPmhh
c0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigpLmltcGwoKSk7
Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29udHJvbEhvc3QoY29uc3Qg
Tm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRvd0hvc3QoKTsKKyAgICBp
ZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAg
ICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4oKmhvc3QpIH07CisgICAg
cmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBudWxscHRyOworfQorCiti
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAg
ICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAgIGlmICghaG9zdCkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250cm9sUm9vdCA9IHN0YXRp
Y19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dSb290KCkpLmdldEVsZW1l
bnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQorICAgICAgICByZXR1cm4g
bm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7Cisg
ICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAgIFJlZiBzaGFkb3dSb290
ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgYXV0byBjb250cm9s
TGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50LmdldCgpKTsKKyAgICBjb250
cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigp
KTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5ZXIpOworICAgIAorICAg
IHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3RyaW5nPiBzaGFkb3dTdHls
ZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNvbnRyb2xzTWFjVXNlckFn
ZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0
KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVz
OjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBzdHlsZS0+c2V0VGV4dENv
bnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKFdURk1vdmUo
c3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0b25FbGVtZW50OjpjcmVh
dGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQoKSwgbnVsbHB0cik7Cisg
ICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigp
KTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7CisgICAgCisgICAgaWYg
KGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsgaXM8UmVuZGVySW1hZ2U+
KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyT2Jq
ZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0lt
YWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01h
Yy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2NmJiNzc4MjM4YmNmYTIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNN
YWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNs
dWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSFRNTEVsZW1l
bnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYyB7CisKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxl
bWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmKTsK
K3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOworCisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRl
TmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBlMDk1YTJmNWI4NDMyMi4u
NmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0MjksNyBAQCBhdXRvY2Fw
aXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dpcmVsZXNzY2hhbmdlZAog
b253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQKIG9ud2Via2l0cHJlc2Vu
dGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Via2l0LXBsYXlzaW5saW5l
CiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVvcGxheWJhY2tkaXNhYmxl
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKaW5kZXggODA1M2E2MjUy
ZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uMmQyMjgwNGM2OTY0MjE0MDRiZTljNmJl
NWFlMDRhYzc1YmMzZDdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTFBpY3R1cmVFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2Vy
LmgiCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgogI2luY2x1ZGUgIkxhenlMb2FkSW1h
Z2VPYnNlcnZlci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJl
Z2lzdHJ5LmgiCkBAIC0zMDgsNiArMzA5LDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAg
ICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlm
ICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJh
dG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3Np
dGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29u
dHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewog
ICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24u
CiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAt
Mzc2LDYgKzM4MiwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVy
cygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBk
YXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRv
d25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJj
ZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAg
ICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Myw1
NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVy
KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBh
IHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVu
YWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRy
b2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VF
bGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0g
dXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQo
KSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKElt
YWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkp
KTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBh
dXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3Qp
LnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50
OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01h
Yzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZp
bmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjov
L3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5k
ZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2
NGRjYzQ4OGJmZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9t
U3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wg
aW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQor
ICAgIAogICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAg
ICB2b2lkIHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgs
NiArMTkwLDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGll
c0Zyb21FbGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2
ZUltYWdlRGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsK
KyAgICBib29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxk
Q3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAg
ICBIVE1MU291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0
U291cmNlRWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHBy
aXZhdGU6CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3Bh
cnNlZFVzZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29s
IG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVB
dHRyaWJ1dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJl
Y2F1c2UgcGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29s
IG1faXNEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mMTNkN2VjYjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3Nz
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lm
IGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRS
T0xTCisKK2RpdiNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwor
ICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9y
OiB0cmFuc3BhcmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAg
cG9zaXRpb246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAg
ICAKKyAgICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFn
ZS1jb250cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAg
IG9wYWNpdHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFn
ZS1jb250cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1
MWRlZjU1NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmZjYzUwNDQwODdkNDE3MDU4
MzIzMjQxOTU5OTUyNTcyNjA3ZDcyM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
Q29udGV4dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRl
eHRNZW51Q29udHJvbGxlci5jcHAKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRlICJIVE1MRm9y
bUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSGl0VGVzdFJlc3VsdC5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKICNpbmNs
dWRlICJJbWFnZU92ZXJsYXkuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiTG9jYWxpemVkU3RyaW5ncy5oIgpAQCAtMTQzLDYgKzE0NCwyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxNzgsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjIs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzli
YjFiNWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3
ZjkwOGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1
MzYsNiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2du
aXRpb25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVu
dCkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1l
bnQtPmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAK
ICAgICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXgg
MjcyODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAy
ODU1MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVU
eXBlcy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3Ry
ZWFtJiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2Fw
YWNpdHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVs
LWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJ
bmRpY2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBh
cnQiOyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJh
dGluZy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1j
b250cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BB
WSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24t
cGFydCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5k
ZXggY2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdi
NDI1MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51
b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRi
ZTkxNmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBh
OWYyOTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3Bw
CkBAIC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVs
ZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVB
bHRUZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAg
ICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVu
dCkuaW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9j
dW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUlt
YWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4
ZmZjYWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVh
MDU4YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuY3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxl
KFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBj
YXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdM
ZXZlbEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxl
LCBlbGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRp
Y2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShz
dHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAg
QEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xT
dGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmll
bGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJl
Y3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3Jh
bFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAg
IGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9j
a0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJ
bgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZp
ZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0
dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAg
ICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlv
bnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2Fz
ZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRz
RGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0Ogor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRv
blBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0x
Mjc3LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25z
dCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdl
Q29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAor
eworfQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVy
dmFsRm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJl
dHVybiAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRl
ZjExY2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVj
YjUyZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5oCkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERl
Y29yYXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9p
ZCBwYWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlu
cHV0UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRp
b25zKSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFs
IEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXpl
KCk7IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zm
c2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShB
VFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRy
aW5zaWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRT
aXplKCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9p
ZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29u
c3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3Qm
LCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZv
aWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxl
bWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24o
Y29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsg
cmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNz
QmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVh
bCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJ
bmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4
YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsx
NDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0
IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAg
IHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCop
IGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBj
b25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykK
ICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVBy
b2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50
U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NC
YXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRl
ck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJ
bnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6
ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAg
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
KCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25D
ZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRD
ZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5t
bQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1
ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwv
c3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQ
SS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3Nw
aS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRy
YXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYg
QEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTog
VGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5Lgot
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5l
c19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlm
Ci0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMg
c2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRl
cmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdP
cHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJv
bFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4Mywx
NCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5
bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cisg
ICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdo
dCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFn
ZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9Cisj
ZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVy
T2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiBy
KQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJ
bmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1l
TWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0
IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1Ry
dW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
K05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJC
dXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hh
cmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xs
b3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsK
KyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9u
VHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNl
dEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRy
b2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExv
Y2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQo
KSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5j
b250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRp
b24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsK
KyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zv
cihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9u
U2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRv
bkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29u
dHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJl
bnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBp
bWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRy
dWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0g
MTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1
bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWlu
WUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdp
bi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVO
VF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0
IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3
MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQs
OSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0
OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxl
U2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5
bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHls
ZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxl
U2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lm
IEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRT
dHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxl
LmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYw
OTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9V
c2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVT
aGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBT
dHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBi
ZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1Mjlm
MmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVy
ZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9s
c0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29u
dHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxl
ZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAg
ICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVk
KTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMg
YXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lk
IFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJl
bmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1Yzdl
YzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODks
NiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5n
ZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAg
ICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRp
cHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJs
ZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdl
Q29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFb
X2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmln
dXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShj
b252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlcklu
dGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBp
bml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBz
ZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5k
ZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIw
ZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAg
LTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVm
b3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3Vw
UmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9P
TCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxl
ZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5k
b3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBA
QCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNr
TG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBf
c2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0g
Tk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNG
b3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3
IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVp
Y2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rp
b25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25m
aWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xU
aXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+
X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJv
bHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFU
QV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEy
IEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRp
b25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFi
bGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0g
ICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0g
KHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAg
X2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJP
T0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWEx
ZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0
eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3Rpbmcp
IHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRv
b2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJv
bHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNB
VEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEy
LCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFj
b3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVy
PV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBf
cmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxB
QkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0
ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0
UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2
NDg0OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVy
QGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1l
bnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFn
b2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0
YXRpb25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTVi
MzgzOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAg
ICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWwKQEAgLTAsMCArMSw4IEBACisgPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKQorCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsK
KworPC9zY3JpcHQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5q
cGciIHgtd2Via2l0LWltYWdlbWVudT4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2Cisg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1
NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0KK2xheWVyIGF0ICgyMTUsMzApIHNpemUgMjd4MjYKKyAg
UmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIpIHNpemUgMjd4MjYgW2NvbG9yPSMwMDAw
MDBEOF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445500</attachid>
            <date>2021-11-30 18:24:56 -0800</date>
            <delta_ts>2021-11-30 22:13:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130182455.patch</filename>
            <type>text/plain</type>
            <size>62125</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGJlNTlkYzFkNWFiMWI3NzEyNzIyNzUyNmVj
MzA3YThkZmJlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaW1wb3J0ICJOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxBcHBLaXQvQXBw
S2l0RGVmaW5lc19Qcml2YXRlLmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbC5oPgorCisjZWxzZQorCisjZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCisK
K0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAor
QGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGludGVyZmFjZSBO
U1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2
aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJv
dW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdi
NmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1Mzcy
MDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIs
NyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBk
b20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZm
MDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEw
MWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1Mu
aCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JM
YXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
RTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRF
MTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGli
V2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBG
QTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJG
MTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8q
IExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1
MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNF
QjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAv
KiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4
NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNv
bnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJl
bGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
YmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAzNjY3MUJDRERE
QzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0
MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdG
MjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJ
NDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1h
YyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVt
ZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0
QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9
IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2
MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xz
TWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcg
QEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBF
NjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRF
RUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVj
b2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3
ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2
ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmlu
ZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcx
ZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAgICAiY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJyYXRpbmctbGV2
ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRh
ZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0
MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4
ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxl
dmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmct
bGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYg
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24K
KyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BB
WQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQs
IENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1v
ZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0
dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5h
bEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvciht
b2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJv
bHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50
aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25z
dCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24iLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisK
K2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0
byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290
IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdp
dGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3Rh
dGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlmICghaXM8SFRN
TEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBl
bGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFz
Q29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9z
dCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJl
ZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1h
Z2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBub2RlLmlzRGVz
Y2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
Y3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhU
TUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+
c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNo
YWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOwor
ICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAgICBidXR0b24t
PnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpOworICAgIGNv
bnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFJl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNz
IE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVh
dGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5
NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50YXRpb25tb2Rl
Y2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0
LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2Jm
MWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIxOGI3OWYwOTEyY2U2MTcxNTQxN2I3OGFjMzM4
YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTYw
LDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTEltYWdlRWxlbWVudCk7
CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJs
ZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VD
b21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVu
ZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRv
cjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVu
YWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsK
KyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAv
LyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAg
IGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4
NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAg
aWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VD
b250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJl
bmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVy
SW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVu
ZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Niw1NCBAQCBjb25z
dCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9s
cygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0
cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hh
ZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdz
KCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFz
Q29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJs
ZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAg
ZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNy
ZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOwor
ICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpj
cmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
ZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50
U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJv
bHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAg
ICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5k
ZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQorICAgICAgICBy
ZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1No
YWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFn
ZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29u
dHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1No
YWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0
ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0v
NDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0
ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2NGRjYzQ4OGJm
ZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wgaW1hZ2VNZW51
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQorICAgIAogICAg
IEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNl
dFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTkwLDE0
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVt
ZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2
aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRlSW1h
Z2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1MU291
cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNlRWxl
bWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHByaXZhdGU6CiAg
ICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVzZW1h
cDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29sIG1faW1hZ2VN
ZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVD
aGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFy
c2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9w
cGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTNkN2Vj
YjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmluZWQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2Rp
diNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3Bh
cmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAgICBk
aXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNpdHk6
IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250cm9s
cy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1NmYx
YzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFmYTgx
OTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1l
bnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1l
bnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVy
KCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVy
ZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJl
ZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9y
UmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZl
bnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRN
ZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQK
IAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0
KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xz
TWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlmIChh
dXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5vblNo
YXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdlKGlt
YWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFnZSB0
aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBmb3Ig
aXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHJl
dHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUsMTcg
QEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1lJiBm
cmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNvbnRy
b2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAgIGhh
bmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVu
dSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdl
Li45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQgc2hv
d0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJbWFn
ZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0aW9u
U2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6OlR5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzliYjFi
NWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3Zjkw
OGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MzYs
NiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRp
b25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQt
Pmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAKICAg
ICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcy
ODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1
MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNp
dHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRp
Y2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQi
OyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGlu
Zy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250
cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
ICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFy
dCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXgg
Y2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1
MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3Vz
Q2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5k
aWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkx
NmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBhOWYy
OTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBA
IC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VE
ZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRU
ZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBt
X2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCku
aW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZj
YWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVhMDU4
YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZl
bEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBl
bGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0
b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShzdHls
ZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAgQEAg
Ym9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0
ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJu
IHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNu
YXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xzQnV0
dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAgIGNh
c2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9ja0lu
ZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJv
cmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbgog
ICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
UGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJv
bHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2FzZSBT
ZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xMjc3
LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdlQ29u
dHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAorewor
fQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFs
Rm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjEx
Y2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVjYjUy
ZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERlY29y
YXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9pZCBw
YWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlucHV0
UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRpb25z
KSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIElu
dFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7
IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5z
aWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXpl
KCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVu
dCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0
dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFy
U3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4Yjhl
NjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUs
MTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJl
bmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZv
aWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAg
ICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dy
ZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6
ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJN
YXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkg
Y29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxs
PiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxs
PiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpp
bmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBm
NDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAK
ICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhp
cyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Q
cml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0K
LSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZh
Y2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRp
b25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZp
ZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBA
QCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAg
c3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgp
LCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNv
bnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5k
aWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQog
ewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZv
LmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFj
OjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZv
bnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0
b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xs
b3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmlu
Z1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAg
ICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlw
ZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldElt
YWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1
dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7
CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250
ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24o
KSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAg
ICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zvcihy
ZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJv
bHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRs
eSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFn
ZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUg
aW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAw
OworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15
RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVk
Z2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54
LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENH
RmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQz
ZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBA
QCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0Owog
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVT
aGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNo
ZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHls
ZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgK
aW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5
N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2Vy
QWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVl
dENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVl
dDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHls
ZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMz
YzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1
ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0Vu
YWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
IHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsK
IH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlk
NjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiAr
NDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQo
ISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2Nv
bmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252
ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0
aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQg
b3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXgg
OWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUy
NTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1
Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3Jl
TG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVm
PiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBf
c2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsK
ICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7
CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBz
dGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9v
a1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hv
d3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87
CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQ
YWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBA
IHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tM
b29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1
cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBz
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3Nl
cnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNF
bmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24t
Pl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBA
IHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25P
dmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZv
aWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2lt
YWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wp
X3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1
M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsK
ICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xU
aXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNF
bmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVE
KCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAx
Mi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5h
YmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9
X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFn
ZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0
OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xk
bWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRp
b25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwKQEAgLTAsMCArMSw4IEBACisgPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKKwor
PC9zY3JpcHQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5qcGci
IHgtd2Via2l0LWltYWdlbWVudT4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYgW2NvbG9yPSMwMDAwMDAwMF0KK2xheWVyIGF0ICgyMTUsMzApIHNpemUgMjd4MjYKKyAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIpIHNpemUgMjd4MjYgW2NvbG9yPSMwMDAwMDBE
OF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445506</attachid>
            <date>2021-11-30 20:06:49 -0800</date>
            <delta_ts>2021-11-30 22:14:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130200649.patch</filename>
            <type>text/plain</type>
            <size>62125</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGJlNTlkYzFkNWFiMWI3NzEyNzIyNzUyNmVj
MzA3YThkZmJlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaW1wb3J0ICJOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxBcHBLaXQvQXBw
S2l0RGVmaW5lc19Qcml2YXRlLmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbC5oPgorCisjZWxzZQorCisjZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCisK
K0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAor
QGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGludGVyZmFjZSBO
U1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2
aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJv
dW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdi
NmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1Mzcy
MDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIs
NyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBk
b20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZm
MDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEw
MWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1Mu
aCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JM
YXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
RTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRF
MTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGli
V2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBG
QTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJG
MTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8q
IExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1
MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNF
QjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAv
KiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4
NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNv
bnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJl
bGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
YmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAzNjY3MUJDRERE
QzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0
MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdG
MjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJ
NDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1h
YyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVt
ZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0
QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9
IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2
MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xz
TWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcg
QEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBF
NjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRF
RUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVj
b2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3
ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2
ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmlu
ZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcx
ZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAgICAiY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJyYXRpbmctbGV2
ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRh
ZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0
MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4
ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxl
dmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmct
bGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYg
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24K
KyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BB
WQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQs
IENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1v
ZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0
dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5h
bEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvciht
b2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJv
bHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50
aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25z
dCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24iLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisK
K2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0
byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290
IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdp
dGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3Rh
dGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlmICghaXM8SFRN
TEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBl
bGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFz
Q29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9z
dCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJl
ZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1h
Z2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBub2RlLmlzRGVz
Y2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
Y3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhU
TUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+
c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNo
YWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOwor
ICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAgICBidXR0b24t
PnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpOworICAgIGNv
bnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFJl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNz
IE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVh
dGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5
NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50YXRpb25tb2Rl
Y2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0
LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2Jm
MWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIxOGI3OWYwOTEyY2U2MTcxNTQxN2I3OGFjMzM4
YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTYw
LDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTEltYWdlRWxlbWVudCk7
CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJs
ZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VD
b21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVu
ZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRv
cjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVu
YWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsK
KyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAv
LyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAg
IGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4
NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAg
aWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VD
b250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJl
bmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVy
SW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVu
ZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Niw1NCBAQCBjb25z
dCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9s
cygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0
cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hh
ZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdz
KCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFz
Q29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJs
ZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAg
ZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNy
ZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOwor
ICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpj
cmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
ZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50
U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJv
bHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAg
ICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5k
ZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQorICAgICAgICBy
ZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1No
YWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFn
ZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29u
dHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1No
YWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0
ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0v
NDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0
ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2NGRjYzQ4OGJm
ZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wgaW1hZ2VNZW51
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQorICAgIAogICAg
IEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNl
dFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTkwLDE0
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVt
ZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2
aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRlSW1h
Z2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1MU291
cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNlRWxl
bWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHByaXZhdGU6CiAg
ICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVzZW1h
cDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29sIG1faW1hZ2VN
ZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVD
aGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFy
c2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9w
cGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTNkN2Vj
YjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmluZWQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2Rp
diNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3Bh
cmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAgICBk
aXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNpdHk6
IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250cm9s
cy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1NmYx
YzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFmYTgx
OTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1l
bnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1l
bnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVy
KCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVy
ZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJl
ZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9y
UmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZl
bnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRN
ZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQK
IAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0
KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xz
TWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlmIChh
dXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5vblNo
YXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdlKGlt
YWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFnZSB0
aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBmb3Ig
aXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHJl
dHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUsMTcg
QEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1lJiBm
cmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNvbnRy
b2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAgIGhh
bmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVu
dSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdl
Li45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQgc2hv
d0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJbWFn
ZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0aW9u
U2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6OlR5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzliYjFi
NWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3Zjkw
OGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MzYs
NiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRp
b25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQt
Pmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAKICAg
ICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcy
ODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1
MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNp
dHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRp
Y2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQi
OyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGlu
Zy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250
cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
ICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFy
dCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXgg
Y2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1
MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3Vz
Q2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5k
aWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkx
NmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBhOWYy
OTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBA
IC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VE
ZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRU
ZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBt
X2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCku
aW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZj
YWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVhMDU4
YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZl
bEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBl
bGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0
b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShzdHls
ZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAgQEAg
Ym9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0
ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJu
IHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNu
YXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xzQnV0
dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAgIGNh
c2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9ja0lu
ZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJv
cmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbgog
ICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
UGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJv
bHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2FzZSBT
ZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xMjc3
LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdlQ29u
dHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAorewor
fQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFs
Rm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjEx
Y2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVjYjUy
ZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERlY29y
YXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9pZCBw
YWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlucHV0
UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRpb25z
KSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIElu
dFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7
IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5z
aWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXpl
KCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVu
dCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0
dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFy
U3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4Yjhl
NjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUs
MTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJl
bmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZv
aWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAg
ICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dy
ZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6
ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJN
YXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkg
Y29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxs
PiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxs
PiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpp
bmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBm
NDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAK
ICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhp
cyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Q
cml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0K
LSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZh
Y2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRp
b25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZp
ZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBA
QCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAg
c3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgp
LCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNv
bnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5k
aWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQog
ewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZv
LmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFj
OjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZv
bnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0
b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xs
b3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmlu
Z1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAg
ICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlw
ZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldElt
YWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1
dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7
CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250
ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24o
KSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAg
ICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zvcihy
ZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJv
bHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRs
eSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFn
ZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUg
aW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAw
OworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15
RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVk
Z2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54
LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENH
RmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQz
ZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBA
QCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0Owog
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVT
aGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNo
ZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHls
ZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgK
aW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5
N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2Vy
QWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVl
dENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVl
dDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHls
ZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMz
YzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1
ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0Vu
YWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
IHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsK
IH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlk
NjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiAr
NDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQo
ISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2Nv
bmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252
ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0
aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQg
b3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXgg
OWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUy
NTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1
Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3Jl
TG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVm
PiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBf
c2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsK
ICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7
CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBz
dGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9v
a1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hv
d3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87
CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQ
YWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBA
IHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tM
b29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1
cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBz
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3Nl
cnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNF
bmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24t
Pl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBA
IHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25P
dmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZv
aWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2lt
YWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wp
X3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1
M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsK
ICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xU
aXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNF
bmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVE
KCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAx
Mi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5h
YmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9
X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFn
ZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0
OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xk
bWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRp
b25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjFkNjk2NDEyMGI1MDgwZWRiNWYzMGRjNDY1MjA5ZGE0MTViMzgz
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZmMjA0MQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwKQEAgLTAsMCArMSw4IEBACisgPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KQorCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKKwor
PC9zY3JpcHQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5qcGci
IHgtd2Via2l0LWltYWdlbWVudT4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2Ut
Y29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDAp
IHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5k
ZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1Nngy
NTYgW2NvbG9yPSMwMDAwMDAwMF0KK2xheWVyIGF0ICgyMTUsMzApIHNpemUgMjd4MjYKKyAgUmVu
ZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIpIHNpemUgMjd4MjYgW2NvbG9yPSMwMDAwMDBE
OF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445523</attachid>
            <date>2021-11-30 22:14:07 -0800</date>
            <delta_ts>2021-12-01 00:19:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211130221406.patch</filename>
            <type>text/plain</type>
            <size>63030</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGJlNTlkYzFkNWFiMWI3NzEyNzIyNzUyNmVj
MzA3YThkZmJlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaW1wb3J0ICJOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxBcHBLaXQvQXBw
S2l0RGVmaW5lc19Qcml2YXRlLmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbC5oPgorCisjZWxzZQorCisjZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCisK
K0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAor
QGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGludGVyZmFjZSBO
U1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2
aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJv
dW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdi
NmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1Mzcy
MDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIs
NyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBk
b20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZm
MDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEw
MWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1Mu
aCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JM
YXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
RTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRF
MTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGli
V2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBG
QTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJG
MTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8q
IExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1
MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNF
QjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAv
KiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4
NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNv
bnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJl
bGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
YmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAzNjY3MUJDRERE
QzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0
MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdG
MjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJ
NDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1h
YyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVt
ZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0
QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9
IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2
MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xz
TWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcg
QEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBF
NjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRF
RUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVj
b2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3
ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2
ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmlu
ZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcx
ZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAgICAiY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJyYXRpbmctbGV2
ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRh
ZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0
MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4
ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxl
dmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmct
bGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYg
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24K
KyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BB
WQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQs
IENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1v
ZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0
dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5h
bEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvciht
b2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJv
bHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50
aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25z
dCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24iLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisK
K2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0
byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290
IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdp
dGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3Rh
dGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlmICghaXM8SFRN
TEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBl
bGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFz
Q29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9z
dCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJl
ZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1h
Z2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBub2RlLmlzRGVz
Y2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
Y3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhU
TUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+
c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNo
YWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOwor
ICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAgICBidXR0b24t
PnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpOworICAgIGNv
bnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFJl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNz
IE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVh
dGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5
NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50YXRpb25tb2Rl
Y2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0
LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2Jm
MWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIxOGI3OWYwOTEyY2U2MTcxNTQxN2I3OGFjMzM4
YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTYw
LDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTEltYWdlRWxlbWVudCk7
CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJs
ZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VD
b21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVu
ZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRv
cjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVu
YWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsK
KyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAv
LyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAg
IGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4
NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAg
aWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VD
b250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJl
bmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVy
SW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVu
ZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Niw1NCBAQCBjb25z
dCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9s
cygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0
cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hh
ZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdz
KCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFz
Q29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJs
ZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAg
ZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNy
ZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOwor
ICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpj
cmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
ZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50
U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJv
bHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAg
ICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5k
ZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQorICAgICAgICBy
ZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1No
YWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFn
ZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29u
dHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1No
YWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0
ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0v
NDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0
ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2NGRjYzQ4OGJm
ZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wgaW1hZ2VNZW51
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQorICAgIAogICAg
IEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNl
dFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTkwLDE0
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVt
ZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2
aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRlSW1h
Z2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1MU291
cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNlRWxl
bWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHByaXZhdGU6CiAg
ICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVzZW1h
cDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29sIG1faW1hZ2VN
ZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVD
aGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFy
c2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9w
cGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTNkN2Vj
YjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmluZWQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2Rp
diNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3Bh
cmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAgICBk
aXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNpdHk6
IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250cm9s
cy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1NmYx
YzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFmYTgx
OTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1l
bnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1l
bnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVy
KCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVy
ZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJl
ZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9y
UmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZl
bnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRN
ZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQK
IAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0
KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xz
TWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlmIChh
dXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5vblNo
YXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdlKGlt
YWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFnZSB0
aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBmb3Ig
aXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHJl
dHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUsMTcg
QEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1lJiBm
cmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNvbnRy
b2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAgIGhh
bmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVu
dSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdl
Li45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQgc2hv
d0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJbWFn
ZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0aW9u
U2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6OlR5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzliYjFi
NWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3Zjkw
OGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MzYs
NiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRp
b25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQt
Pmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAKICAg
ICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcy
ODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1
MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNp
dHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRp
Y2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQi
OyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGlu
Zy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250
cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
ICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFy
dCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXgg
Y2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1
MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3Vz
Q2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5k
aWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkx
NmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBhOWYy
OTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBA
IC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VE
ZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRU
ZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBt
X2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCku
aW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZj
YWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVhMDU4
YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZl
bEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBl
bGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0
b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShzdHls
ZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAgQEAg
Ym9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0
ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJu
IHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNu
YXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xzQnV0
dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAgIGNh
c2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9ja0lu
ZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJv
cmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbgog
ICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
UGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJv
bHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2FzZSBT
ZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xMjc3
LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdlQ29u
dHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAorewor
fQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFs
Rm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjEx
Y2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVjYjUy
ZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERlY29y
YXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9pZCBw
YWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlucHV0
UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRpb25z
KSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIElu
dFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7
IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5z
aWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXpl
KCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVu
dCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0
dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFy
U3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4Yjhl
NjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUs
MTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJl
bmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZv
aWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAg
ICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dy
ZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6
ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJN
YXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkg
Y29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxs
PiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxs
PiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpp
bmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBm
NDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAK
ICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhp
cyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Q
cml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0K
LSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZh
Y2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRp
b25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZp
ZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBA
QCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAg
c3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgp
LCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNv
bnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5k
aWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQog
ewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZv
LmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFj
OjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZv
bnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0
b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xs
b3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmlu
Z1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAg
ICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlw
ZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldElt
YWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1
dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7
CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250
ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24o
KSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAg
ICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zvcihy
ZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJv
bHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRs
eSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFn
ZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUg
aW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAw
OworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15
RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVk
Z2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54
LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENH
RmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQz
ZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBA
QCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0Owog
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVT
aGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNo
ZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHls
ZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgK
aW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5
N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2Vy
QWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVl
dENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVl
dDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHls
ZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMz
YzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1
ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0Vu
YWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
IHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsK
IH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlk
NjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiAr
NDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQo
ISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2Nv
bmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252
ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0
aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQg
b3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXgg
OWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUy
NTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1
Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3Jl
TG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVm
PiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBf
c2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsK
ICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7
CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBz
dGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9v
a1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hv
d3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87
CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQ
YWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBA
IHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tM
b29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1
cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBz
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3Nl
cnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNF
bmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24t
Pl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBA
IHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25P
dmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZv
aWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2lt
YWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wp
X3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1
M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsK
ICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xU
aXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNF
bmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVE
KCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAx
Mi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5h
YmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9
X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFn
ZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0
OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xk
bWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRp
b25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0
N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldElt
YWdlQ29udHJvbHNFbmFibGVkKHRydWUpOworCis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9
InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjEzYTNjZGY5
YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0NTZmNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1
NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgorICBSZW5k
ZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4
XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyNGIyOWQ1
M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29s
b3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdj
b2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445536</attachid>
            <date>2021-12-01 00:20:00 -0800</date>
            <delta_ts>2021-12-01 18:42:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211201002000.patch</filename>
            <type>text/plain</type>
            <size>63030</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uYmUx
NTVlNzU1ZTYwMDg5MGNkYjAyMWE0OTZhM2U3N2U0MDU3YzM0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzE4LDYgKzEzMTgsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL2NhbnZhcy9XZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbAog
JChQUk9KRUNUX0RJUikvaHRtbC9jYW52YXMvV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5pZGwK
ICQoUFJPSkVDVF9ESVIpL2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNU
X0RJUikvaHRtbC9wYXJzZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiskKFBST0pFQ1RfRElS
KS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0
bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvc2hhZG93L21l
dGVyRWxlbWVudFNoYWRvdy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFj
ay5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRkZTY0NDQwNjFkMjIzMzJi
NDFhMDM4NzE5MTA4MGZmNjExMWJlOTAuLjg0ZjA1YWFiYTE3OThkMzk0Y2ZmODU3NmFlZDg3ODFj
Y2IxNmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc2Myw2ICsxNzYz
LDcgQEAgVVNFUl9BR0VOVF9TVFlMRV9TSEVFVFMgPSBcCiAgICAgJChXZWJDb3JlKS9jc3MvcGx1
Z0lucy5jc3MgXAogICAgICQoV2ViQ29yZSkvY3NzL3F1aXJrcy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvY3NzL3N2Zy5jc3MgXAorICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29u
dHJvbHNNYWMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L2ltYWdlT3ZlcmxheS5j
c3MgXAogICAgICQoV2ViQ29yZSkvaHRtbC9zaGFkb3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcyBc
CiAgICAgTW9kZXJuTWVkaWFDb250cm9scy5jc3MgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvUEFM
L1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFlNjk5NzVmYmJiNmNjYjliNjFl
NDcwNzdhMWEyNTNiY2RjM2FkYjAuLjUyYzMxOTkzM2MzNDUwMmNjMjRiZmU5MGNlMGY5ZDI2MDcw
OTUyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTI5NCw2ICsyOTQsNyBAQAogCQk0NDUwRkNBMDIxRjVGNjAyMDA0REZBNTYg
LyogUXVpY2tMb29rU29mdExpbmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGlu
ay5oICovOyB9OwogCQk0NEUxQThBRjIxRkE1NEU2MDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTFBOEFE
MjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovOyB9OwogCQk0NEUxQThCMDIx
RkE1NEVCMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUgLyogTG9v
a3VwU29mdExpbmsubW0gKi87IH07CisJCTQ0RUVBMEZGMjc0NzQzOEEwMDU5NEE4MyAvKiBOU1Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICovOyB9OwogCQk0OTk2QzBGMzI3MTc2NDRDMDAyQzEy
NUQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVENDU1BJLmggKi87IH07CiAJCTUxN0Uw
M0Y5MjRCN0MwMDcwMDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElP
S2l0U1BJTWFjLmggKi87IH07CiAJCTU3MEFCOEYxMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQ
cm94eVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggKi87IH07CkBAIC02
OTgsNiArNjk5LDcgQEAKIAkJNDQ1MEZDOUUyMUY1RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1Nv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFF1aWNrTG9va1NvZnRM
aW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTFBOEFEMjFGQTU0REEwMEMz
MDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMb29rdXBTb2Z0TGluay5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThBRTIxRkE1NERBMDBDMzA0OEUg
LyogTG9va3VwU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMb29rdXBTb2Z0TGlu
ay5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0OTk2QzBGMjI3MTc2NDJCMDAyQzEyNUQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSU9LaXRTUElNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTcwQUI4RjAyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNlY0tleVByb3h5U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC05NjgsNiArOTcwLDcgQEAKIAkJCQkwQzc3ODU3RDFGNDUxMzBGMDBGNEVCQjYgLyog
TlNTY3JvbGxpbmdJbnB1dEZpbHRlclNQSS5oICovLAogCQkJCTBDNzc4NTdFMUY0NTEzMEYwMEY0
RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRvclNQSS5oICovLAogCQkJCUExMTc1
QjU5MUY2QjRBODQwMEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCAqLywKKwkJCQk0NEVFQTBG
RTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oICov
LAogCQkJCTBDNzc4NTdGMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U1BJLmggKi8sCiAJCQkJMEM3Nzg1ODAxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2hhcmluZ1NlcnZp
Y2VTUEkuaCAqLywKIAkJCQkwQzc3ODU4MTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNr
ZXJTUEkuaCAqLywKQEAgLTE1MDcsNiArMTUxMCw3IEBACiAJCQkJMEM3Nzg1OTYxRjQ1MTMwRjAw
RjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBDNzc4NTk3MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ01vbWVudHVtQ2FsY3VsYXRv
clNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExNzVCNUExRjZCNEE4NDAwQzRCOUYwIC8qIE5T
U2Nyb2xsVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUEwRkYyNzQ3NDM4QTAwNTk0
QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDNzc4NTk4MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzc3ODU5OTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFy
aW5nU2VydmljZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OUExRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU3BlbGxDaGVja2VyU1BJLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRhOGJlNTlkYzFkNWFiMWI3NzEyNzIyNzUyNmVj
MzA3YThkZmJlNWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oCkBAIC0wLDAgKzEsNTEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorCisjaW1wb3J0ICJOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJ
LmgiCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxBcHBLaXQvQXBw
S2l0RGVmaW5lc19Qcml2YXRlLmg+CisjaW1wb3J0IDxBcHBLaXQvTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbC5oPgorCisjZWxzZQorCisjZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCisK
K0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAor
QGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworQGludGVyZmFjZSBO
U1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgpCisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2
aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1JlY3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJv
dW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdlKXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNl
bmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdi
NmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1Mzcy
MDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIs
NyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBk
b20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3Bw
CiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21l
c3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZm
MDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEw
MWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYw
RjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1Mu
aCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JM
YXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRD
RTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRF
MTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGli
V2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFj
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBG
QTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJG
MTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8q
IExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1
MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNF
QjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAv
KiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4
NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0
UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNv
bnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRy
b2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJl
bGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExh
YmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBA
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAzNjY3MUJDRERE
QzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0
MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdG
MjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJ
NDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1h
YyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVt
ZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0
b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0
QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9
IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2
MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xz
TWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcg
QEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VC
YWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyog
SW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBF
NjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRF
RUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVj
b2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2
ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3
ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2
ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1p
dGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNC
dXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmlu
ZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcx
ZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAgICAiY29udGlu
dW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJkaXNjcmV0
ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJyYXRpbmctbGV2
ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xz
LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAg
ICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRh
ZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0
MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4
ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxl
dmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmct
bGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYg
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24K
KyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BB
WQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNl
ci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMz
ODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQs
IENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1v
ZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0
dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUp
OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5h
bEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvciht
b2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAg
KzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklt
YWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJV
c2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJv
bHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50
aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9u
SWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25z
dCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24iLCBBdG9tU3Ry
aW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisK
K2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0
byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290
IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFnZW50KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdp
dGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3Rh
dGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBOb2RlJiBub2Rl
KQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlmICghaXM8SFRN
TEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBl
bGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFz
Q29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9z
dCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAgICAgICByZXR1
cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJl
ZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1h
Z2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBub2RlLmlzRGVz
Y2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
Y3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9j
dW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50
LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhU
TUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+
c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNo
YWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0lt
cGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNo
ZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAg
YXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFn
LCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFk
b3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOwor
ICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFt
ZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAgICBidXR0b24t
PnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpOworICAgIGNv
bnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0w
LDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkludFJl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNz
IE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citi
b29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVh
dGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmli
dXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpp
bmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5
NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBv
bndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBs
YXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50YXRpb25tb2Rl
Y2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0
LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2Jm
MWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIxOGI3OWYwOTEyY2U2MTcxNTQxN2I3OGFjMzM4
YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTYw
LDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTEltYWdlRWxlbWVudCk7
CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJs
ZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VD
b21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVu
ZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRv
cjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2ltYWdlTWVudUVu
YWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsK
KyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewogICAgICAgICAv
LyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAg
IGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4
NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAg
aWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAg
cmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VD
b250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJl
bmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVy
SW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVu
ZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Niw1NCBAQCBjb25z
dCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QK
IAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9s
cygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0
cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlmIChpc0luU2hh
ZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdz
KCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFz
Q29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJs
ZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAg
ZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5
Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNy
ZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOwor
ICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpj
cmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
ZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50
U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAg
ICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJv
bHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAg
ICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5k
ZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQorICAgICAgICBy
ZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1No
YWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFn
ZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29u
dHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3Jl
YXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1No
YWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJl
bmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwog
I2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0
ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0v
NDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNr
RXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0
ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uOGI5Y2VlNWVmYjc2NGRjYzQ4OGJm
ZDg2MWI4YmMyYmU4Zjc0ZDZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmgKQEAgLTExNiw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBBdG9tU3RyaW5nJiBp
bWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorICAgIGJvb2wgaW1hZ2VNZW51
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQorICAgIAogICAg
IEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNl
dFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTkwLDE0
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21FbGVt
ZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2
aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRlSW1h
Z2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBib29s
IGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRlUmVu
ZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1MU291
cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNlRWxl
bWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMSw3IEBAIHByaXZhdGU6CiAg
ICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVzZW1h
cDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBib29sIG1faW1hZ2VN
ZW51RW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVD
aGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdlIG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFy
c2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9sZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9w
cGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMTNkN2Vj
YjIwMjNiMzg1ZjY1N2EwMTRlYjNkMjNiYTcxYTU1OGNkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAg
KzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2lmIGRlZmluZWQo
RU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2Rp
diNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3Bh
cmVudDsKK30KKworYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRpb246
IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAgICBk
aXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNpdHk6
IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250cm9s
cy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1NmYx
YzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFmYTgx
OTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29u
dHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1lLmg+
CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgor
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4dE1l
bnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVsZW1l
bnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRlcmVy
KCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4g
bnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVy
ZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1cnJl
ZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdlRm9y
UmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRl
eHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNlRXZl
bnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRleHRN
ZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQK
IAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVzdWx0
KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRyb2xz
TWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlmIChh
dXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5vblNo
YXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdlKGlt
YWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFnZSB0
aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBmb3Ig
aXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAgIHJl
dHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUsMTcg
QEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1lJiBm
cmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNvbnRy
b2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAgIGhh
bmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0TWVu
dSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0MDdl
Li45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBAIHB1
YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQgc2hv
d0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJbWFn
ZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1bmlx
dWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0aW9u
U2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6OlR5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IGVjM2U0MjBlNzliYjFi
NWRjZjcwMTM1NWQxYWNlNjliZjg4NjQxNTEuLjk4ODc4MTIzNzAwNGM1N2IzODc5Njc4YWY3Zjkw
OGM4ODY3ZjM4YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKQEAgLTI1MzYs
NiArMjUzNiwxMCBAQCBSZWZQdHI8RWxlbWVudD4gRXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRp
b25DYW5kaWRhdGVFbGVtZW50KCkgY29uc3QKIAogICAgIGlmICghY2FuZGlkYXRlRWxlbWVudCkK
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCisgICAgaWYgKGNhbmRpZGF0ZUVsZW1lbnQt
Pmhhc0VkaXRhYmxlU3R5bGUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgCiAKICAg
ICBpZiAoY2FuZGlkYXRlRWxlbWVudC0+aGFzRWRpdGFibGVTdHlsZSgpKQogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcy
ODYwMTcyMTY1N2VmNDY4NWJiMjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1
MTliZGQwYzU2MGVjYzBkMmVhZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVGhlbWVUeXBlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBl
cy5jcHAKQEAgLTkxLDYgKzkxLDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgQ29udHJvbFBhcnQgY29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNp
dHlMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWlu
ZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRp
Y2F0b3JQYXJ0OiB0cyA8PCAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQi
OyBicmVhazsKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGlu
Zy1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250
cm9scy1idXR0b24tcGFydCI7IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
ICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFy
dCI7IGJyZWFrOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXgg
Y2U3YWQ5M2RiNmVhODk1NjBlYmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1
MTMxMTlmN2NlMDgwYzUyZTMwYmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vVGhlbWVUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlw
ZXMuaApAQCAtOTEsNiArOTEsOSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3Vz
Q2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5k
aWNhdG9yUGFydCwKICAgICBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNp
ZiBFTkFCTEUoQVBQTEVfUEFZKQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkx
NmU1OTlhYTY1MDQxNjI5MGVhMDdmZDAzOC4uYmZkMmY1ZGVhY2VmZjc4MWJhZjRhMjI2ZTBhOWYy
OTFmNTQ2MzllNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBA
IC0xNDUsNiArMTQ1LDggQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VE
ZXZpY2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRU
ZXh0KCk7CisgICAgaWYgKGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBt
X2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCku
aW1hZ2VNZW51RW5hYmxlZCgpOwogfQogCiBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsZUltYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKaW5kZXggODFkZmQ4ZmZj
YWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRjMTRjYzU1OTRhZThkOWJhZWVhMDU4
YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKFJl
bmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxlbWVudCwgY29uc3QKICAgICBjYXNl
IERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgY2FzZSBSYXRpbmdMZXZl
bEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1c3RNZXRlclN0eWxlKHN0eWxlLCBl
bGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29u
dHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0
b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xvY2tJbmRpY2F0b3JTdHlsZShzdHls
ZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTU0Niw2ICs1NTAsMTAgQEAg
Ym9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVyQm94JiBib3gsIENvbnRyb2xTdGF0
ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRS
ZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3Qp
OwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKICAgICAgICAgcmV0dXJu
IHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNu
YXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gcGFpbnRJbWFnZUNvbnRyb2xzQnV0
dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNlbmRpZgogICAgIGNh
c2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRDYXBzTG9ja0lu
ZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAjaWYgRU5BQkxF
KEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29sIFJlbmRlclRoZW1lOjpwYWludEJv
cmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbgog
ICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxk
UmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
UGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJv
bHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAg
fQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50RGVjb3JhdGlvbnMo
Y29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJCiAgICAgY2FzZSBT
ZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVj
b3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBh
cnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC0xMjc3
LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFpbnRTbGlkZXJUaWNrcyhjb25zdCBS
ZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnQKIAogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVyVGhlbWU6OmFkanVzdEltYWdlQ29u
dHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAorewor
fQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFuaW1hdGlvblJlcGVhdEludGVydmFs
Rm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3MmKSBjb25zdAogewogICAgIHJldHVy
biAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCmluZGV4IDVlNTRlZjEx
Y2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhhMWU0ZGZhZDFhNzE5MGJjMTVjYjUy
ZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5o
CkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAgIGVudW0gRmlsZVVwbG9hZERlY29y
YXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9OwogICAgIHZpcnR1YWwgdm9pZCBw
YWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyT2JqZWN0JiAvKmlucHV0
UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1dHRvblJlbmRlcmVyKi8sIGNvbnN0
IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwgRmlsZVVwbG9hZERlY29yYXRpb25z
KSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIElu
dFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdCB7IHJldHVybiBJbnRTaXplKCk7
IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRB
Q0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5z
aWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXpl
KCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBh
ZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBj
b25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5k
aWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQg
YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVu
dCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29u
c3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0
dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFy
U3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4Yjhl
NjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUs
MTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJl
bmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZv
aWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNv
bnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25z
dCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAg
ICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dy
ZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6
ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJN
YXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9i
amVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBp
bWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkg
Y29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxs
PiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxs
PiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQpp
bmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBm
NDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9t
YWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAK
ICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1
aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhp
cyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Q
cml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0K
LSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hv
dWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZh
Y2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRp
b25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZp
ZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBA
QCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUm
IHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNF
X0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRv
blN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAg
c3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgp
LCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNv
bnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5k
aWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2Jq
ZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQog
ewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZv
LmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFj
OjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZv
bnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5j
YXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05T
U2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0
b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xs
b3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmlu
Z1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3Zl
ckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAg
ICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlw
ZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldElt
YWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1
dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2Fs
Q3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7
CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250
ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24o
KSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAg
ICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0Zvcihy
ZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJv
bHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRs
eSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFn
ZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUg
aW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAw
OworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15
RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25D
ZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVk
Z2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54
LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENH
RmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9z
dHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQz
ZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBA
QCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0Owog
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVT
aGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNo
ZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBV
c2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hl
ZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHls
ZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgK
aW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5
N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2Vy
QWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVl
dENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVl
dDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHls
ZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMz
YzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1
ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5j
ZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0Vu
YWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQo
V0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
IHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0
b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsK
IH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJl
bmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJl
ZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdL
UHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlk
NjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiAr
NDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRD
YWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNF
bmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQo
ISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2Nv
bmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJh
dGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252
ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVy
ZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0
aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQg
b3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXgg
OWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUy
NTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1
Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3Jl
TG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVm
PiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBf
c2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsK
ICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7
CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBz
dGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9v
a1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hv
d3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87
CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQ
YWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBA
IHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tM
b29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Q
b2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1
cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBz
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3Nl
cnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNF
bmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24t
Pl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9E
RVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBA
IHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25P
dmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVk
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZv
aWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2lt
YWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wp
X3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1
M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBl
ZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsK
ICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xU
aXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNF
bmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1h
Y29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVE
KCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAx
Mi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5h
YmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3Mo
V0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVx
dWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxF
KG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9
X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEw
LjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFn
ZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29z
KDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0
OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFw
cGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xk
bWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRp
b25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTliNzVkNzZhMDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRi
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRy
b2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0
N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldElt
YWdlQ29udHJvbHNFbmFibGVkKHRydWUpOworCis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9
InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyNGIyOWQ1M2M1
OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFz
aWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRl
ckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVu
ZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1
NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5k
ZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNywyMikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4
XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjEzYTNj
ZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0NTZmNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBS
ZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdl
IHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29s
b3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNCwzMCkgc2l6ZSAyOHgyNgorICBSZW5kZXJCdXR0
b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdj
b2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445653</attachid>
            <date>2021-12-01 18:42:42 -0800</date>
            <delta_ts>2021-12-01 19:11:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211201184241.patch</filename>
            <type>text/plain</type>
            <size>62310</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGE0OTFkMzAxMWQ4MmJkYjA5MWIxN2M1YWM5ZGI4MzhiMWE0NDc3YwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggN2I2ZDU2MTQ2OTkyY2VhNDM3Yjg5YjRlNGNmMTY0MmU0NzcyNDA0Ny4uYmY2NDM3
NzA4YjY5NzUzNzIwNGY3OWM2MjA0MDQyZmU1YjQ5NTg5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTEw
NjIsNiArMTA2Miw3IEBAIGRvbS9XZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCiBkb20vV2hlZWxF
dmVudC5jcHAKIGRvbS9XaW5kb3dFdmVudExvb3AuY3BwCiBkb20vWE1MRG9jdW1lbnQuY3BwCitk
b20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0
Q2hhbm5lbC5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXIu
Y3BwCiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVySW1wbC5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBlNGQ5ZmYwMjc0YTdiMzc1YjljYjQ3ZDNhNjgzZDUwM2Q4MDUwNWQ2Li4wYzY2ZjdkMGJi
YjMzOWZjZjc4YTAxZjVjYjAwZDk4ZmZhM2U2YjYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjk5LDYgKzEyOTksNyBAQAog
CQk0NEM5OTE5RjBGM0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0Qzk5MTlEMEYzRDIxMEUwMDU4NjY3MCAv
KiBUaGVtZUlPUy5oICovOyB9OwogCQk0NENFMkJCRjI2NDM3OUFGMDA3QUUxMTAgLyogV2ViVGV4
dEluZGljYXRvckxheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0NENFMkJCRTI2NDM3OTlFMDA3QUUxMTAgLyogV2ViVGV4dEluZGljYXRvckxheWVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDRF
MzQ5RjkyNDZGNEUxOTAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RTM0OUY3MjQ2RjREQzcwMDY4
NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDRFRUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdl
Q29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi87IH07
CiAJCTQ1MENFQkYxMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NTBDRUJFRjE1MDczQkJF
MDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ1MTI1MDIzMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGlu
QnV0dG9uRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDUxMjUwMjExNURDRTM3RDAwMkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggKi87
IH07CiAJCTQ1M0VCNjM3MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUzRUI2MzUxNTlDNTcw
NDAwMDAxQkI3IC8qIERhdGVUaW1lRm9ybWF0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTkwNjUsNiArOTA2Niw5IEBACiAJCTQ0RTg4RTUxMjM2
QTVDOEQwMDlCNDg0NyAvKiBIaWdobGlnaHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlnaGxpZ2h0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTg4RTUyMjM2QTY2N0YwMDlCNDg0NyAv
KiBIaWdobGlnaHRSZWdpc3Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaWdobGlnaHRSZWdp
c3Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0RTg4RTU0MjM2QTY2QTEw
MDlCNDg0NyAvKiBIaWdobGlnaHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRjYyNzQ0OUMwMDAwNTk0QTgz
IC8qIGltYWdlQ29udHJvbHNNYWMuY3NzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dC5jc3M7IHBhdGggPSBpbWFnZUNvbnRyb2xzTWFjLmNzczsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8q
IEltYWdlQ29udHJvbHNNYWMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQzI3NDcyN0Y0MDA1OTRBODMgLyog
SW1hZ2VDb250cm9sc01hYy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbWFnZUNvbnRyb2xzTWFj
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VCRUUxNTA3M0JCRTAwMkJC
MTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTGFiZWxhYmxlRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ1MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExhYmVsYWJsZUVsZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDUxMjUwMjAxNURDRTM3RDAwMkY4NEUyIC8qIFNwaW5CdXR0
b25FbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwaW5C
dXR0b25FbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwNTMxLDYg
KzIwNTM1LDggQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJMkQ1
MDM2NjcxQkNERERDNDAwRTIwQkIzIC8qIEdlc3R1cmVFdmVudHMuY3BwICovLAorCQkJCTQ0RUVB
MEZDMjc0NzI3RjQwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLywKKwkJCQk0NEVF
QTBGQTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovLAogCQkJKTsKIAkJ
CXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjA3MDAsNiArMjA3
MDYsNyBAQAogCQk0MTUwRjlFRDEyQjZFMDk5MDAwOEM4NjAgLyogc2hhZG93ICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBFNjI3M0Y5REVEMDA1
OTRBODMgLyogbWFjICovLAogCQkJCTdDMUU5NzI1MUE5Rjk4MzQwMDdCRjBGQiAvKiBBdXRvRmls
bEJ1dHRvbkVsZW1lbnQuY3BwICovLAogCQkJCTdDMUU5NzI2MUE5Rjk4MzQwMDdCRjBGQiAvKiBB
dXRvRmlsbEJ1dHRvbkVsZW1lbnQuaCAqLywKIAkJCQlFNTdBNzQwMTI1Q0EwNTc0MDA1MDA0NkIg
LyogRGF0YUxpc3RCdXR0b25FbGVtZW50LmNwcCAqLywKQEAgLTIxMjY2LDYgKzIxMjczLDE0IEBA
CiAJCQlwYXRoID0gaGlnaGxpZ2h0OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
KwkJNDRFRUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1hYyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRjYyNzQ0OUMwMDAwNTk0QTgzIC8qIGlt
YWdlQ29udHJvbHNNYWMuY3NzICovLAorCQkJKTsKKwkJCXBhdGggPSBtYWM7CisJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NjQyNDA0NDIwRUFGMEJEMDBCMjlGRDIgLyogY29j
b2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtMzQ1MjYs
NiArMzQ1NDEsNyBAQAogCQkJCTcyN0E3RjNBMjQwNzhCODQwMDREMjkzMSAvKiBJbWFnZUJ1ZmZl
cklPU3VyZmFjZUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQTEwRDkxMEIzODE4QkQw
MDA5OUFBNCAvKiBJbWFnZUJ1ZmZlclBpcGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0UyMURE
MjE4MzQ0NEEwMEU2NkY1NSAvKiBJbWFnZUJ1ZmZlclV0aWxpdGllc0NHLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTEwMDI3NDc1N0YxMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTc3OTc5MUEwRDZCOUQwQzAwMzg1MUI5IC8qIEltYWdlRGF0YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMDg4RjUyNjRFMUMwODAwM0UyQTZDIC8qIEltYWdlRGF0
YVNldHRpbmdzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5RkVBODFGNTczOTcyMDAwQzQyRkIg
LyogSW1hZ2VEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oCmluZGV4IGMzNGYzNWIxYzUwYjE5NTk2NzhhNDc1
YTJiYTM1NzI2Njc4MjczMmIuLmYxMDk1ODY5MTVmODIzZmNmZjczYjVhMDFjZTI0ZWRmMmQxYmFl
YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBp
bmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3Mu
aApAQCAtNjA4LDYgKzYwOCwxMSBAQCB0ZW1wbGF0ZTw+IGlubGluZSBDU1NQcmltaXRpdmVWYWx1
ZTo6Q1NTUHJpbWl0aXZlVmFsdWUoQ29udHJvbFBhcnQgZSkKICAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVCb3JkZXJsZXNzQXR0YWNobWVudDsKICAgICAgICAgYnJlYWs7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNC
dXR0b25QYXJ0OgorICAgICAgICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUludGVybmFsSW1h
Z2VDb250cm9sc0J1dHRvbjsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQ
TEVfUEFZKQogICAgIGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OgogICAgICAgICBtX3ZhbHVlLnZh
bHVlSUQgPSBDU1NWYWx1ZUFwcGxlUGF5QnV0dG9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0
aWVzLmpzb24KaW5kZXggMzNiOWJhNTUzZjE4ZTEwZjc1YjViZDQyODhkMTdhYTk4NGE0MTQ5My4u
YWI4ZWRmMDMwNzFlM2VlN2IwZjA1YmFhYjU2ZjUwNjkyMzQyOTkwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUHJvcGVydGllcy5qc29uCkBAIC01MDA4LDYgKzUwMDgsNyBAQAogICAgICAgICAgICAg
ICAgICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAg
ICAgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvciIsCiAgICAgICAgICAgICAgICAg
InJhdGluZy1sZXZlbC1pbmRpY2F0b3IiLAorICAgICAgICAgICAgICAgICItaW50ZXJuYWwtaW1h
Z2UtY29udHJvbHMtYnV0dG9uIiwKICAgICAgICAgICAgICAgICAiLWFwcGxlLXBheS1idXR0b24i
LAogICAgICAgICAgICAgICAgICJ0ZXh0YXJlYSIsCiAgICAgICAgICAgICAgICAgImF0dGFjaG1l
bnQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgppbmRleCA5NDU2OGIxNWI3
YTZlZTFjZmU2NGFkYjEwYzVkNjMzNmUzMWM1ZDc5Li42NDYzNTNhNGQ2NjUyNTRmMGU2NGRhMGVm
Y2M0ZTNjOGVmNTQyYzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVL
ZXl3b3Jkcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgpA
QCAtODg3LDYgKzg4Nyw5IEBAIHJlbGV2YW5jeS1sZXZlbC1pbmRpY2F0b3IKIGNvbnRpbnVvdXMt
Y2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yCiBkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0
b3IKIHJhdGluZy1sZXZlbC1pbmRpY2F0b3IKKyNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAmJiBFTkFCTEVfU0VSVklDRV9DT05UUk9MUworLWludGVybmFsLWltYWdlLWNvbnRy
b2xzLWJ1dHRvbgorI2VuZGlmCiAjaWYgZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZKSAmJiBFTkFC
TEVfQVBQTEVfUEFZCiAtYXBwbGUtcGF5LWJ1dHRvbgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKaW5kZXggNjU0NGYyNmY1MWE5MjNlZTYz
MGU3OTE4ZGI5MzM4NmZjYTVlNTdkMS4uMjUyOTc3MzFiMmZhZGRlYjUwNjVmZjliYjc2YjU4NjNk
NmQxZjczYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJ
ZGlvbXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21z
LmNwcApAQCAtNDAsNiArNDAsMTAgQEAgYm9vbCBpc1ZhbHVlQWxsb3dlZEluTW9kZSh1bnNpZ25l
ZCBzaG9ydCBpZCwgQ1NTUGFyc2VyTW9kZSBtb2RlKQogICAgICAgICByZXR1cm4gaXNVQVNoZWV0
QmVoYXZpb3IobW9kZSk7CiAgICAgY2FzZSBDU1NWYWx1ZVdlYmtpdEZvY3VzUmluZ0NvbG9yOgog
ICAgICAgICByZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSkgfHwgaXNRdWlya3NNb2RlQmVo
YXZpb3IobW9kZSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBDU1NW
YWx1ZUludGVybmFsSW1hZ2VDb250cm9sc0J1dHRvbjoKKyAgICAgICAgcmV0dXJuIGlzVUFTaGVl
dEJlaGF2aW9yKG1vZGUpOworI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRy
b2xzTWFjLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZThmYzkxNDkyNDczZGEyMmNjNzVjNDAxNTNkYTAyYTEzMDM2MzdhMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5j
cHAKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorCisjaW5jbHVkZSAiRWxlbWVudElubGluZXMu
aCIKKyNpbmNsdWRlICJIVE1MQnV0dG9uRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxEaXZFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFN0eWxlRWxlbWVu
dC5oIgorI2luY2x1ZGUgIlJlbmRlckltYWdlLmgiCisjaW5jbHVkZSAiU2hhZG93Um9vdC5oIgor
I2luY2x1ZGUgIlVzZXJBZ2VudFN0eWxlU2hlZXRzLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvQXRv
bVN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSW1hZ2VDb250cm9s
c01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIGNvbnN0IEF0
b21TdHJpbmcmIGltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRpZmllcigpCit7CisgICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJp
bWFnZS1jb250cm9scyIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICBy
ZXR1cm4gaWRlbnRpZmllcjsKK30KKworc3RhdGljIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlQ29u
dHJvbHNCdXR0b25JZGVudGlmaWVyKCkKK3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVz
dHJveWVkPGNvbnN0IEF0b21TdHJpbmc+IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzLWJ1dHRv
biIsIEF0b21TdHJpbmc6OkNvbnN0cnVjdEZyb21MaXRlcmFsKTsKKyAgICByZXR1cm4gaWRlbnRp
ZmllcjsKK30KKworYm9vbCBoYXNDb250cm9scyhjb25zdCBIVE1MRWxlbWVudCYgZWxlbWVudCkK
K3sKKyAgICBhdXRvIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnNoYWRvd1Jvb3QoKTsKKyAgICBpZiAo
IXNoYWRvd1Jvb3QgfHwgc2hhZG93Um9vdC0+bW9kZSgpICE9IFNoYWRvd1Jvb3RNb2RlOjpVc2Vy
QWdlbnQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiBzaGFkb3dSb290LT5o
YXNFbGVtZW50V2l0aElkKCppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKS5pbXBsKCkp
OworfQorCitzdGF0aWMgUmVmUHRyPEhUTUxFbGVtZW50PiBpbWFnZUNvbnRyb2xIb3N0KGNvbnN0
IE5vZGUmIG5vZGUpCit7CisgICAgYXV0byBob3N0ID0gbm9kZS5zaGFkb3dIb3N0KCk7CisgICAg
aWYgKCFpczxIVE1MRWxlbWVudD4oaG9zdCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgUmVmUHRyIGVsZW1lbnQgeyAmZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpob3N0KSB9OworICAg
IHJldHVybiBoYXNDb250cm9scygqZWxlbWVudCkgPyBlbGVtZW50IDogbnVsbHB0cjsKK30KKwor
Ym9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KGNvbnN0IE5vZGUmIG5vZGUpCit7Cisg
ICAgYXV0byBob3N0ID0gaW1hZ2VDb250cm9sSG9zdChub2RlKTsKKyAgICBpZiAoIWhvc3QpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmIChSZWZQdHIgY29udHJvbFJvb3QgPSBzdGF0
aWNfY2FzdDxUcmVlU2NvcGUmPigqaG9zdC0+dXNlckFnZW50U2hhZG93Um9vdCgpKS5nZXRFbGVt
ZW50QnlJZChpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigpKSkKKyAgICAgICAgcmV0dXJu
IG5vZGUuaXNEZXNjZW5kYW50T2YoKmNvbnRyb2xSb290KTsKKworICAgIHJldHVybiBmYWxzZTsK
K30KKwordm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50JiBlbGVtZW50KQorewor
ICAgIFJlZiBkb2N1bWVudCA9IGVsZW1lbnQuZG9jdW1lbnQoKTsKKyAgICBSZWYgc2hhZG93Um9v
dCA9IGVsZW1lbnQuZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGF1dG8gY29udHJv
bExheWVyID0gSFRNTERpdkVsZW1lbnQ6OmNyZWF0ZShkb2N1bWVudC5nZXQoKSk7CisgICAgY29u
dHJvbExheWVyLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIo
KSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoY29udHJvbExheWVyKTsKKyAgICAKKyAg
ICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IFN0cmluZz4gc2hhZG93U3R5
bGUoU3RyaW5nSW1wbDo6Y3JlYXRlV2l0aG91dENvcHlpbmcoaW1hZ2VDb250cm9sc01hY1VzZXJB
Z2VudFN0eWxlU2hlZXQsIHNpemVvZihpbWFnZUNvbnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVl
dCkpKTsKKyAgICBhdXRvIHN0eWxlID0gSFRNTFN0eWxlRWxlbWVudDo6Y3JlYXRlKEhUTUxOYW1l
czo6c3R5bGVUYWcsIGRvY3VtZW50LmdldCgpLCBmYWxzZSk7CisgICAgc3R5bGUtPnNldFRleHRD
b250ZW50KHNoYWRvd1N0eWxlKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChXVEZNb3Zl
KHN0eWxlKSk7CisgICAgCisgICAgYXV0byBidXR0b24gPSBIVE1MQnV0dG9uRWxlbWVudDo6Y3Jl
YXRlKEhUTUxOYW1lczo6YnV0dG9uVGFnLCBlbGVtZW50LmRvY3VtZW50KCksIG51bGxwdHIpOwor
ICAgIGJ1dHRvbi0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIo
KSk7CisgICAgY29udHJvbExheWVyLT5hcHBlbmRDaGlsZChidXR0b24pOworICAgIAorICAgIGlm
IChhdXRvKiByZW5kZXJPYmplY3QgPSBlbGVtZW50LnJlbmRlcmVyKCk7IGlzPFJlbmRlckltYWdl
PihyZW5kZXJPYmplY3QpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlck9i
amVjdCkuc2V0SGFzU2hhZG93Q29udHJvbHModHJ1ZSk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9J
bWFnZUNvbnRyb2xzTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNN
YWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40MjhjYzA1MzEwZmM1ZDM3ZmQxZWU0MDY2NjZiYjc3ODIzOGJjZmEy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xz
TWFjLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiSW50UmVjdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEhUTUxFbGVt
ZW50OworY2xhc3MgTm9kZTsKKworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMgeworCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVs
ZW1lbnQmKTsKK2Jvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJik7
Cit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKKworI2VuZGlmIC8vIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFj
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxBdHRyaWJ1dGVOYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0
ZU5hbWVzLmluCmluZGV4IGFkZjIwZTY1Mjc0NjBlNWY1ZjMwZWZjNmYwZTA5NWEyZjViODQzMjIu
LjZkZWEzOGVmMDk0NmUzZWVkODNlZmQwYWU2MTRlZTlkMzMxNDZhNjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluCkBAIC00MjksNiArNDI5LDcgQEAgYXV0b2Nh
cGl0YWxpemUKIG9ud2Via2l0Y3VycmVudHBsYXliYWNrdGFyZ2V0aXN3aXJlbGVzc2NoYW5nZWQK
IG9ud2Via2l0cGxheWJhY2t0YXJnZXRhdmFpbGFiaWxpdHljaGFuZ2VkCiBvbndlYmtpdHByZXNl
bnRhdGlvbm1vZGVjaGFuZ2VkCit4LXdlYmtpdC1pbWFnZW1lbnUKIHdlYmtpdC1wbGF5c2lubGlu
ZQogeC13ZWJraXQtYWlycGxheQogeC13ZWJraXQtd2lyZWxlc3N2aWRlb3BsYXliYWNrZGlzYWJs
ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4IDgwNTNhNjI1
MmQxMzVkYzJjYmYxY2VjZjAxM2UyNTgwMGYxODgyNGIuLmQxMDhmYjE4Yjc5ZjA5MTJjZTYxNzE1
NDE3Yjc4YWMzMzhiYjhhYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50
LmNwcApAQCAtNjAsNiArNjAsMTAgQEAKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRpZgorCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChIVE1MSW1h
Z2VFbGVtZW50KTsKQEAgLTMwOCw2ICszMTIsMTEgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW4K
ICAgICAgICAgQmxlbmRNb2RlIGJsZW5kT3AgPSBCbGVuZE1vZGU6Ok5vcm1hbDsKICAgICAgICAg
aWYgKCFwYXJzZUNvbXBvc2l0ZUFuZEJsZW5kT3BlcmF0b3IodmFsdWUsIG1fY29tcG9zaXRlT3Bl
cmF0b3IsIGJsZW5kT3ApKQogICAgICAgICAgICAgbV9jb21wb3NpdGVPcGVyYXRvciA9IENvbXBv
c2l0ZU9wZXJhdG9yOjpTb3VyY2VPdmVyOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIH0gZWxzZSBpZiAobmFtZSA9PSB3ZWJraXRpbWFnZW1lbnVBdHRyKSB7CisgICAgICAgIG1f
aW1hZ2VNZW51RW5hYmxlZCA9ICF2YWx1ZS5pc051bGwoKTsKKyAgICAgICAgdXBkYXRlSW1hZ2VD
b250cm9scygpOworI2VuZGlmCiAgICAgfSBlbHNlIGlmIChuYW1lID09IGxvYWRpbmdBdHRyKSB7
CiAgICAgICAgIC8vIE5vIGFjdGlvbiBuZWVkZWQgZm9yIGVhZ2VyIHRvIGxhenkgdHJhbnNpdGlv
bi4KICAgICAgICAgaWYgKCFoYXNMYXp5TG9hZGFibGVBdHRyaWJ1dGVWYWx1ZSh2YWx1ZSkpCkBA
IC0zNzYsNiArMzg1LDEwIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVy
ZXJzKCkKICAgICBpZiAobV9pbWFnZUxvYWRlci0+aGFzUGVuZGluZ0JlZm9yZUxvYWRFdmVudCgp
KQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB1
cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKKwogICAgIGF1dG8mIHJlbmRlckltYWdlID0g
ZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJlcigpKTsKICAgICBSZW5kZXJJbWFnZVJlc291
cmNlJiByZW5kZXJJbWFnZVJlc291cmNlID0gcmVuZGVySW1hZ2UuaW1hZ2VSZXNvdXJjZSgpOwog
ICAgIGlmIChyZW5kZXJJbWFnZVJlc291cmNlLmNhY2hlZEltYWdlKCkpCkBAIC03NTMsNiArNzY2
LDU0IEBAIGNvbnN0IFN0cmluZyYgSFRNTEltYWdlRWxlbWVudDo6YXR0YWNobWVudElkZW50aWZp
ZXIoKSBjb25zdAogCiAjZW5kaWYgLy8gRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIAorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJ
bWFnZUNvbnRyb2xzKCkKK3sKKyAgICAvLyBJZiB0aGlzIGltYWdlIGVsZW1lbnQgaXMgaW5zaWRl
IGEgc2hhZG93IHRyZWUgdGhlbiBpdCBpcyBwYXJ0IG9mIGFuIGltYWdlIGNvbnRyb2wuCisgICAg
aWYgKGlzSW5TaGFkb3dUcmVlKCkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoIWRvY3VtZW50
KCkuc2V0dGluZ3MoKS5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47Cisg
ICAgYm9vbCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKKyAgICBpZiAoIW1faW1h
Z2VNZW51RW5hYmxlZCAmJiBoYXNDb250cm9scykKKyAgICAgICAgZGVzdHJveUltYWdlQ29udHJv
bHMoKTsKKyAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0NvbnRyb2xzKQor
ICAgICAgICB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7Cit9CisKK3ZvaWQgSFRNTEltYWdlRWxl
bWVudDo6dHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpCit7CisgICAgQVNTRVJUKG1faW1hZ2VNZW51
RW5hYmxlZCk7CisgICAgQVNTRVJUKCFoYXNJbWFnZUNvbnRyb2xzKCkpOworICAgIEltYWdlQ29u
dHJvbHNNYWM6OmNyZWF0ZUltYWdlQ29udHJvbHMoKnRoaXMpOworfQorCit2b2lkIEhUTUxJbWFn
ZUVsZW1lbnQ6OmRlc3Ryb3lJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBhdXRvIHNoYWRvd1Jvb3Qg
PSB1c2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgaWYgKCFzaGFkb3dSb290KQorICAgICAgICBy
ZXR1cm47CisgICAgaWYgKFJlZlB0cjxOb2RlPiBub2RlID0gc2hhZG93Um9vdC0+Zmlyc3RDaGls
ZCgpKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04o
SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMoZG93bmNhc3Q8SFRNTEVsZW1lbnQ+KCpub2Rl
KSkpOworICAgICAgICBzaGFkb3dSb290LT5yZW1vdmVDaGlsZCgqbm9kZSk7CisgICAgfQorICAg
IGF1dG8qIHJlbmRlck9iamVjdCA9IHJlbmRlcmVyKCk7CisgICAgaWYgKCFyZW5kZXJPYmplY3Qp
CisgICAgICAgIHJldHVybjsKKyAgICBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlck9iamVj
dCkuc2V0SGFzU2hhZG93Q29udHJvbHMoZmFsc2UpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1l
bnQ6Omhhc0ltYWdlQ29udHJvbHMoKSBjb25zdAoreworICAgIHJldHVybiBJbWFnZUNvbnRyb2xz
TWFjOjpoYXNDb250cm9scygqdGhpcyk7Cit9CisKK2Jvb2wgSFRNTEltYWdlRWxlbWVudDo6Y2hp
bGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBjaGlsZCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gaGFzU2hhZG93Um9vdFBhcmVudChjaGlsZCkgJiYgSFRNTEVsZW1lbnQ6OmNoaWxkU2hv
dWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGQpOworfQorI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIC8vIEZJWE1FOiBXZSBzaG91bGQg
ZmluZCBhIGJldHRlciBwbGFjZSBmb3IgdGhlIHRvdWNoIGNhbGxvdXQgbG9naWMuIFNlZSByZGFy
Oi8vcHJvYmxlbS80ODkzNzc2Ny4KIGJvb2wgSFRNTEltYWdlRWxlbWVudDo6d2lsbFJlc3BvbmRU
b01vdXNlQ2xpY2tFdmVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApp
bmRleCBiMjA5MTRlZjE3ZGU4OGZhOGUzN2ViMmEyMmNkMTIyNTdhYTgyNjI0Li43ZjkxNGE1YWU0
Y2Y5ZjkyMGM1MDQwOTlhMjI1ZjlmMjQ2ZmNiMzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuaApAQCAtMTE2LDYgKzExNiwxMCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBB
dG9tU3RyaW5nJiBpbWFnZVNvdXJjZVVSTCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIAorI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgaW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faW1hZ2VNZW51RW5hYmxlZDsgfQorI2VuZGlmCisKICAgICBIVE1MUGljdHVy
ZUVsZW1lbnQqIHBpY3R1cmVFbGVtZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRQaWN0dXJlRWxl
bWVudChIVE1MUGljdHVyZUVsZW1lbnQqKTsKIApAQCAtMTg4LDYgKzE5MiwxNCBAQCBwcml2YXRl
OgogICAgIHZvaWQgY29weU5vbkF0dHJpYnV0ZVByb3BlcnRpZXNGcm9tRWxlbWVudChjb25zdCBF
bGVtZW50JikgZmluYWw7CiAKICAgICBmbG9hdCBlZmZlY3RpdmVJbWFnZURldmljZVBpeGVsUmF0
aW8oKSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lk
IHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyAgICB2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMo
KTsKKyAgICB2b2lkIGRlc3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgYm9vbCBoYXNJbWFnZUNv
bnRyb2xzKCkgY29uc3Q7CisgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0
IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgSFRNTFNvdXJjZUVsZW1lbnQq
IHNvdXJjZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lkIHNldFNvdXJjZUVsZW1lbnQoSFRNTFNv
dXJjZUVsZW1lbnQqKTsKQEAgLTIwMSw2ICsyMTMsOSBAQCBwcml2YXRlOgogICAgIEF0b21TdHJp
bmcgbV9jdXJyZW50U3JjOwogICAgIEF0b21TdHJpbmcgbV9wYXJzZWRVc2VtYXA7CiAgICAgZmxv
YXQgbV9pbWFnZURldmljZVBpeGVsUmF0aW87CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgYm9vbCBtX2ltYWdlTWVudUVuYWJsZWQgeyBmYWxzZSB9OworI2VuZGlmCiAgICAgYm9v
bCBtX2hhZE5hbWVCZWZvcmVBdHRyaWJ1dGVDaGFuZ2VkIHsgZmFsc2UgfTsgLy8gRklYTUU6IFdl
IG9ubHkgbmVlZCB0aGlzIGJlY2F1c2UgcGFyc2VBdHRyaWJ1dGUoKSBjYW4ndCBzZWUgdGhlIG9s
ZCB2YWx1ZS4KICAgICBib29sIG1faXNEcm9wcGVkSW1hZ2VQbGFjZWhvbGRlciB7IGZhbHNlIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRy
b2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xz
TWFjLmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNWE2YWVmNDZmYmM5MjQyMTJiYjFlODU2ZTI1NTI3YjlhYTNk
NmFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2lt
YWdlQ29udHJvbHNNYWMuY3NzCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKworI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTCisKK2RpdiNpbWFnZS1jb250cm9scyB7CisgICAgZGlzcGxh
eTogaW5saW5lLWJsb2NrOworICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICBvdmVyZmxvdzog
aGlkZGVuOworICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xz
IGJ1dHRvbiNpbWFnZS1jb250cm9scy1idXR0b24geworICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsK
KyAgICB0b3A6IDIwcHg7CisgICAgcmlnaHQ6IDIwcHg7CisgICAgCisgICAgZGlzcGxheTogYmxv
Y2s7CisKKyAgICBhcHBlYXJhbmNlOiAtaW50ZXJuYWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uOwor
CisgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjI1czsKKyAgICBvcGFjaXR5OiAwLjA7Cit9CisK
K2RpdiNpbWFnZS1jb250cm9sczpob3ZlciBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsK
KyAgICBvcGFjaXR5OiAxLjA7Cit9CisKKyNlbmRpZgorCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcAppbmRleCAzNTFkZWY1NTZmMWMzNzRlNDU1NTc5
YjQ4ZDZhNzI5YmM4MmU5YWI5Li5hYzc3YjY2N2JkMjE4YzJmZjZjNTcxZmE4MTk3MTE0YzBlMDk0
ZTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3Bw
CkBAIC03Myw2ICs3MywxMCBAQAogI2luY2x1ZGUgPHd0Zi9XYWxsVGltZS5oPgogI2luY2x1ZGUg
PHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTE0Myw2ICsxNDcsMjEgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRy
b2xsZXI6OnNob3dDb250ZXh0TWVudShFdmVudCYgZXZlbnQsIENvbnRleHRNZW51UHJvdmlkZXIm
IHAKICAgICBzaG93Q29udGV4dE1lbnUoZXZlbnQpOwogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0Vf
Q09OVFJPTFMpCisKK3N0YXRpYyBJbWFnZSogaW1hZ2VGcm9tSW1hZ2VFbGVtZW50Tm9kZShOb2Rl
JiBub2RlKQoreworICAgIGF1dG8qIHJlbmRlcmVyID0gbm9kZS5yZW5kZXJlcigpOworICAgIGlm
ICghaXM8UmVuZGVySW1hZ2U+KHJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7Cisg
ICAgYXV0byogaW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKS5jYWNoZWRJ
bWFnZSgpOworICAgIGlmICghaW1hZ2UgfHwgaW1hZ2UtPmVycm9yT2NjdXJyZWQoKSkKKyAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIGltYWdlLT5pbWFnZUZvclJlbmRlcmVyKHJl
bmRlcmVyKTsKK30KKworI2VuZGlmCisKIHN0ZDo6dW5pcXVlX3B0cjxDb250ZXh0TWVudT4gQ29u
dGV4dE1lbnVDb250cm9sbGVyOjptYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiBldmVudCwg
T3B0aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRl
eHQ6OlR5cGUgY29udGV4dFR5cGUpCiB7CiAgICAgaWYgKCFpczxNb3VzZUV2ZW50PihldmVudCkp
CkBAIC0xNjIsNiArMTgxLDE2IEBAIHN0ZDo6dW5pcXVlX3B0cjxDb250ZXh0TWVudT4gQ29udGV4
dE1lbnVDb250cm9sbGVyOjptYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50CiAKICAgICBtX2Nv
bnRleHQgPSBDb250ZXh0TWVudUNvbnRleHQoY29udGV4dFR5cGUsIHJlc3VsdCk7CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFn
ZUNvbnRyb2xzQnV0dG9uRWxlbWVudChub2RlKSkgeworICAgICAgICBpZiAoYXV0byogaW1hZ2Ug
PSBpbWFnZUZyb21JbWFnZUVsZW1lbnROb2RlKCpyZXN1bHQuaW5uZXJOb25TaGFyZWROb2RlKCkp
KQorICAgICAgICAgICAgbV9jb250ZXh0LnNldENvbnRyb2xsZWRJbWFnZShpbWFnZSk7CisKKyAg
ICAgICAgLy8gRklYTUU6IElmIHdlIGNvdWxkbid0IGdldCB0aGUgaW1hZ2UgdGhlbiB3ZSBzaG91
bGRuJ3QgdHJ5IHRvIHNob3cgdGhlIGltYWdlIGNvbnRyb2xzIG1lbnUgZm9yIGl0LgorICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisjZW5kaWYKKyAgICAKICAgICByZXR1cm4gbWFrZVVu
aXF1ZTxDb250ZXh0TWVudT4oKTsKIH0KIApAQCAtMTUzNiw2ICsxNTY1LDE3IEBAIHZvaWQgQ29u
dGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnVBdChGcmFtZSYgZnJhbWUsIGNvbnN0
IEludFBvaW50JiBjbGljCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisKK3ZvaWQgQ29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93SW1hZ2VDb250cm9sc01lbnUoRXZl
bnQmIGV2ZW50KQoreworICAgIGNsZWFyQ29udGV4dE1lbnUoKTsKKyAgICBoYW5kbGVDb250ZXh0
TWVudUV2ZW50KGV2ZW50KTsKKyAgICBtX2NsaWVudC5zaG93Q29udGV4dE1lbnUoKTsKK30KKwor
I2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShDT05U
RVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNv
bnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgK
aW5kZXggNmZlMmJkM2E4NjdhMjdhYWM4Yjc0YjQxZTMzZWI1ZDE4NzZlNDA3ZS4uOTA2MWRhNzI0
YmMzZjgwYjM5MDI0Y2RlODc5Y2JkNjNjZTViNzBiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oCkBAIC02OSw2ICs2OSwxMCBAQCBwdWJsaWM6CiAjaWYg
VVNFKEFDQ0VTU0lCSUxJVFlfQ09OVEVYVF9NRU5VUykKICAgICB2b2lkIHNob3dDb250ZXh0TWVu
dUF0KEZyYW1lJiwgY29uc3QgSW50UG9pbnQmIGNsaWNrUG9pbnQpOwogI2VuZGlmCisgICAgCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBzaG93SW1hZ2VDb250cm9sc01l
bnUoRXZlbnQmKTsKKyNlbmRpZgogCiBwcml2YXRlOgogICAgIHN0ZDo6dW5pcXVlX3B0cjxDb250
ZXh0TWVudT4gbWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudCYsIE9wdGlvblNldDxIaXRUZXN0
UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSwgQ29udGV4dE1lbnVDb250ZXh0OjpUeXBlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKaW5kZXggMjcyODYwMTcyMTY1N2VmNDY4NWJi
Mjc3MjlmYWQ4ZjlmYjU5MGRmNy4uMjZmNGNmNDVhODFhYjAyODU1MTliZGQwYzU2MGVjYzBkMmVh
ZjkzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5jcHAKQEAgLTkxLDYgKzkx
LDkgQEAgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgQ29udHJvbFBhcnQg
Y29udHJvbFBhcnQpCiAgICAgY2FzZSBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGljYXRvclBh
cnQ6IHRzIDw8ICJjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvci1wYXJ0IjsgYnJl
YWs7CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAi
ZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNl
IFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgInJhdGluZy1sZXZlbC1pbmRpY2F0b3It
cGFydCI7IGJyZWFrOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1h
Z2VDb250cm9sc0J1dHRvblBhcnQ6IHRzIDw8ICJpbWFnZS1jb250cm9scy1idXR0b24tcGFydCI7
IGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBjYXNlIEFwcGxlUGF5
QnV0dG9uUGFydDogdHMgPDwgImFwcGxlLXBheS1idXR0b24tcGFydCI7IGJyZWFrOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKaW5kZXggY2U3YWQ5M2RiNmVhODk1NjBl
YmEwZTA4ZWM5YTllMmE0NjhkNzQyYi4uNDJiYjM2NDkwNTdiNDI1MTMxMTlmN2NlMDgwYzUyZTMw
YmU3NTkwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaApAQCAtOTEsNiArOTEs
OSBAQCBlbnVtIENvbnRyb2xQYXJ0IHsKICAgICBDb250aW51b3VzQ2FwYWNpdHlMZXZlbEluZGlj
YXRvclBhcnQsCiAgICAgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBS
YXRpbmdMZXZlbEluZGljYXRvclBhcnQsCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQsCisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZ
KQogICAgIEFwcGxlUGF5QnV0dG9uUGFydCwKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggODYyZmI5ZjRjZjRiZTkxNmU1OTlhYTY1MDQxNjI5MGVh
MDdmZDAzOC4uZjkyMTNlMmYzNTcxNDhmMTQwYzRkNDEwZDBlMTE0MTdkNzZmMGI5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC0xNDUsNiArMTQ1LDEwIEBA
IFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYm
IHN0eWxlLCBTdHlsZUltYWdlKiBzdHlsCiAgICAgLCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbyhp
bWFnZURldmljZVBpeGVsUmF0aW8pCiB7CiAgICAgdXBkYXRlQWx0VGV4dCgpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChpczxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50
KSkKKyAgICAgICAgbV9oYXNTaGFkb3dDb250cm9scyA9IGRvd25jYXN0PEhUTUxJbWFnZUVsZW1l
bnQ+KGVsZW1lbnQpLmltYWdlTWVudUVuYWJsZWQoKTsKKyNlbmRpZgogfQogCiBSZW5kZXJJbWFn
ZTo6UmVuZGVySW1hZ2UoRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlLCBT
dHlsZUltYWdlKiBzdHlsZUltYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHAKaW5kZXggODFkZmQ4ZmZjYWJmYWJkNjEwYTk2NDBkMjJkYzAyZjNjZjI2ODU5ZS4uMWRj
MTRjYzU1OTRhZThkOWJhZWVhMDU4YzlkMzZjM2I4MGUzOGE2MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCkBAIC0yNjcsNiArMjY3LDEwIEBAIHZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdFN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVudCogZWxl
bWVudCwgY29uc3QKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQ6
CiAgICAgY2FzZSBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVybiBhZGp1
c3RNZXRlclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4gYWRq
dXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKHN0eWxlLCBlbGVtZW50KTsKKyNlbmRpZgogICAg
IGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0Q2Fwc0xv
Y2tJbmRpY2F0b3JTdHlsZShzdHlsZSwgZWxlbWVudCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
QEAgLTU0Niw2ICs1NTAsMTAgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnQoY29uc3QgUmVuZGVy
Qm94JiBib3gsIENvbnRyb2xTdGF0ZXMmIGNvbnRyb2xTdGF0ZXMsIGNvbnMKICAgICAgICAgcmV0
dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQoYm94LCBwYWludEluZm8s
IGludGVncmFsU25hcHBlZFJlY3QpOwogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9u
UGFydDoKICAgICAgICAgcmV0dXJuIHBhaW50U2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uKGJveCwg
cGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorICAgICAgICByZXR1cm4g
cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRS
ZWN0KTsKKyNlbmRpZgogICAgIGNhc2UgQ2Fwc0xvY2tJbmRpY2F0b3JQYXJ0OgogICAgICAgICBy
ZXR1cm4gcGFpbnRDYXBzTG9ja0luZGljYXRvcihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFw
cGVkUmVjdCk7CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKQEAgLTYxMiw2ICs2MjAsOSBAQCBib29s
IFJlbmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0
IFBhaW50SW5mbyYgcGFpbnRJbgogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoK
ICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2Vh
cmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoK
ICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNjg2LDYgKzY5Nyw5IEBAIHZvaWQgUmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMoY29uc3QgUmVuZGVyQm94JiBib3gsIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJCiAgICAgY2FzZSBTZWFyY2hGaWVsZERlY29yYXRpb25QYXJ0OgogICAgIGNhc2Ug
U2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJl
c3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2Ug
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBi
cmVhazsKICAgICB9CkBAIC0xMjc3LDYgKzEyOTEsMTIgQEAgdm9pZCBSZW5kZXJUaGVtZTo6cGFp
bnRTbGlkZXJUaWNrcyhjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFp
bnQKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVuZGVy
VGhlbWU6OmFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0
IEVsZW1lbnQqKSBjb25zdAoreworfQorI2VuZGlmCisKIFNlY29uZHMgUmVuZGVyVGhlbWU6OmFu
aW1hdGlvblJlcGVhdEludGVydmFsRm9yUHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyUHJvZ3Jlc3Mm
KSBjb25zdAogewogICAgIHJldHVybiAwX3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCmluZGV4IDVlNTRlZjExY2U2OTQ3MzQwZGUzODY2OGVmZjM1NGU1NTdmZDI1YTQuLjhh
MWU0ZGZhZDFhNzE5MGJjMTVjYjUyZWYzMjQ0Mzc1ZGFjNjQ5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZS5oCkBAIC0yNDksNiArMjQ5LDExIEBAIHB1YmxpYzoKIAogICAg
IGVudW0gRmlsZVVwbG9hZERlY29yYXRpb25zIHsgU2luZ2xlRmlsZSwgTXVsdGlwbGVGaWxlcyB9
OwogICAgIHZpcnR1YWwgdm9pZCBwYWludEZpbGVVcGxvYWRJY29uRGVjb3JhdGlvbnMoY29uc3Qg
UmVuZGVyT2JqZWN0JiAvKmlucHV0UmVuZGVyZXIqLywgY29uc3QgUmVuZGVyT2JqZWN0JiAvKmJ1
dHRvblJlbmRlcmVyKi8sIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmLCBJY29uKiwg
RmlsZVVwbG9hZERlY29yYXRpb25zKSB7IH0KKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25z
dCB7IHJldHVybiBJbnRTaXplKCk7IH0KKyAgICB2aXJ0dWFsIEludFNpemUgaW1hZ2VDb250cm9s
c0J1dHRvblBvc2l0aW9uT2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5k
aWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRT
aXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNvbnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25z
dCB7IHJldHVybiBMYXlvdXRTaXplKCk7IH0KQEAgLTM1OSw2ICszNjQsMTEgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBj
b25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihj
b25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7
IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBwYWludElt
YWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwg
Y29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2
b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50Kikg
Y29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2Jq
ZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAw
OTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZjODcwOTliZTk0
OWEzMjAxOWFlNTBlYmMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
TWFjLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1
dHRvbkZvcklucHV0KGNvbnN0IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxl
JiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5
bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAog
I2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAgcHJpdmF0ZToK
ICAgICBpbnQgbWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29u
c3Q7CiAgICAgY29uc3QgSW50U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNv
bnN0IGludCogcHJvZ3Jlc3NCYXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0OworICAgIAor
I2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xz
QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJl
Y3QmKSBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3Qg
ZmluYWw7CisgICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBj
b25zdCBmaW5hbDsKKworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKnNlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFibGUgUmV0YWlu
UHRyPE5TUG9wVXBCdXR0b25DZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFibGUgUmV0YWlu
UHRyPE5TU2VhcmNoRmllbGRDZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkzZmVhMGZlODA3
MDYxYjM1OGMyLi5mNzM1NWU1ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3MTkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03NSw2ICs3NSw3
IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNpbXBvcnQgPHBh
bC9zcGkvbWFjL05TQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJbWFnZVNQSS5o
PgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oPgogI2lt
cG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGltZUV4dHJhcy5o
PgpAQCAtODIsMTcgKzgzLDYgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQotCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRo
ZSBzcGkgZGlyZWN0b3J5LgotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0jaW1wb3J0IDxB
cHBLaXQvQXBwS2l0RGVmaW5lc19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBBUFBLSVRfUFJJ
VkFURV9DTEFTUwotI2VuZGlmCi0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
LQogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3Bp
IGRpcmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChDRkRpY3Rpb25h
cnlSZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZyYW1lIGluVmll
dzooTlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1ZGVGb2N1czsK
QEAgLTEwOTMsNiArMTA4MywxNCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RMaXN0QnV0
dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwogCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVtZU1hYzo6YWRq
dXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxl
bWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFnZUNvbnRyb2xz
QnV0dG9uU2l6ZSgpLmhlaWdodCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAgIHN0eWxlLnNl
dFdpZHRoKExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCksIExlbmd0aFR5
cGU6OkZpeGVkKSk7Cit9CisjZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6cGFpbnRUZXh0
RmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywg
Y29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBs
b2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIyODAsNDcgQEAg
U3RyaW5nIFJlbmRlclRoZW1lTWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25zdCBGaWxlTGlz
dCogZmlsZUxpc3QsIGNvbnN0IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNhdG9yOjpjZW50
ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKK05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwqIFJlbmRlclRo
ZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7CisgICAgaWYgKCFt
X3NlcnZpY2VzUm9sbG92ZXJCdXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uID0gW05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxvdmVyQnV0dG9u
Q2VsbEZvclN0eWxlOk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyXTsKKyAgICAg
ICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6ZWxTdHlsZVJv
dW5kZWREaXNjbG9zdXJlXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRC
dXR0b25UeXBlOk5TQnV0dG9uVHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBbbV9zZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uIHNldEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOworICAgICAgICBb
bV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9CisgICAgcmV0dXJu
IG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5kZXJUaGVtZU1h
Yzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYgcmVuZGVyZXIs
IGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0KQoreworICAg
IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbCgpOworICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2NhbENvbnRleHQo
cGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZlciBzdGF0
ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250ZXh0KCkudHJh
bnNsYXRlKHJlY3QubG9jYXRpb24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1lKEludFBvaW50
KCksIHJlY3Quc2l6ZSgpKTsKKyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVyRnJhbWUgaW5W
aWV3OmRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENvbnRyb2xWaWV3
Om5pbF07CisgICAgcmV0dXJuIGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjpp
bWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEludFNpemUoc2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNpemUgUmVuZGVy
VGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0Cit7Cisg
ICAgLy8gRklYTUU6IEN1cnJlbnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBiZSB0aGUgc2Ft
ZSBubyBtYXR0ZXIgd2hhdCBpbWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAvLyBUaGlzIG1h
eSBub3QgYWx3YXlzIGJlIHRydWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMgY29uc3QgaW50
IGR1bW15RGltZW5zaW9uID0gMTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJlY3QoMCwgMCwg
ZHVtbXlEaW1lbnNpb24sIGR1bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91bmRzID0gW3Nl
cnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUltYWdlUmVjdCBw
cmVmZXJyZWRFZGdlOk5TTWluWUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1bW15RGltZW5z
aW9uIC0gYm91bmRzLm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2VuZGlmCisKICNp
ZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNv
blNpemUgPSA0ODsKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3JvdW5kUGFkZGlu
ZyA9IDY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5kZXggZTExZDZm
ZmE3ZGVlOWI0ODI4MTY1MTI3MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5MDdkYmM4YmNh
NWU1OTQxMTExMzRmOWU5YzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNl
ckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxl
LmNwcApAQCAtNzQsNiArNzQsOSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxl
OjptYXRoTUxTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6
bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0
eWxlOjpmdWxsc2NyZWVuU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50
U3R5bGU6OnBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9sc1N0eWxlU2hl
ZXQ7CisjZW5kaWYKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhUXVl
cnlTdHlsZVNoZWV0OwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5bGVTaGVldENv
bnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYwOGI5NzI5YWIw
MTIxZmVjMjRhMC4uZDI2ZDYwOTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgwZTMzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5IEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xzU3R5bGVTaGVl
dDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5bGVTaGVldDsK
ICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBp
bWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVN
RU5UKQogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5bGVTaGVldDsK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMxMzVlLi45MGRk
MzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwxNSArMTQyMSwx
NCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1Jl
ZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZlcmVuY2VzU2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3ZvaWQgV0tQcmVm
ZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9u
Z2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJbWFnZUNvbnRy
b2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0SW1hZ2VDb250
cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdl
Q29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiB7Ci0gICAg
Ly8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIGZh
bHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNvbnRyb2xzRW5h
YmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJsZWQoV0tQcmVm
ZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdjMDc2ZWNkYzVh
OGZmMDkwZjY3MTE3ODE1YzdlYzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2ZhZGY3ZmVlM2Jm
MWI3YzBkM2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tX
ZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdhcmVLZXlib2Fy
ZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiwKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNl
dFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJ
blRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldFNl
cnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0Vu
YWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0SW1hZ2VD
b250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk7
CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShbX2Nv
bmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAgICAvLyBXZSBh
cmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIgY2xpZW50IGhh
c24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlvbi4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1MzIxYjA0NWJj
N2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hv
dWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIFdLUmV0
YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3Nob3dzVVJMc0lu
VG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAgICBCT09MIF9p
bWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9yUGFpbnRBZnRl
clZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0b21hdGlvbjsK
QEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5
QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0ltYWdlT3JpZW50
YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAgIF9zZXJ2aWNl
Q29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gTk87CiAj
ZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdyA9IFlFUzsK
IApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xp
Y3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJhdGlvbi0+X3Vz
ZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFjZURpcmVjdGlv
blBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlwcyA9IHNlbGYt
Pl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2aWNlQ29udHJv
bHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgY29uZmlndXJh
dGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJvbHNFbmFibGVk
OwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3JvdXA7CiAjZW5k
aWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19GQU1JTFkpCkBA
IC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9uT3ZlcnJpZGVU
ZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAKIC0gKEJPT0wp
X2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxv
bmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1hZ2VDb250cm9s
c0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVkOihCT09MKWlt
YWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdl
ciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VDb250cm9sc0Vu
YWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9s
c01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXggMzI2OThkNWI4
ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0MDljOTBlOGM0
YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKQEAg
LTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dLQXR0cmlidXRp
b25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29sVGlwcyBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxl
ZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5vbmF0b21pYywg
c2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFi
bGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBv
cnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVy
PV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkIFdL
X0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJv
bHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFu
YWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21p
YywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVMaW1pdCBXS19B
UElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
d3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3BhZ2VHcm91cCBX
S19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAyOTA2Y2VmOWNj
NjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2EzYWY1ZDY3MDJk
MDBjYzJhODc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRu
ZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBv
ZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdlIGNvbnRyb2xz
LgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgQXJjYWR5IEdv
bGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0xJQl0g
VXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3ZWQgdGVzdCBn
YXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1j
b250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliNzVkNzZhMDQ4YWI0MDE1
YmUwMmFlNjY3NDdhMmI4NTEyZGRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2
eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRt
bApAQCAtMCwwICsxLDggQEAKKyA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisJaW50
ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNFbmFibGVkKHRydWUpOworCis8L3Njcmlw
dD4KKzxib2R5PgorPGltZyBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2LmpwZyIgeC13ZWJr
aXQtaW1hZ2VtZW51PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
Y2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0NTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFn
ZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1Ngor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4
KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNSwz
MCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNywyMikgc2l6ZSAy
N3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91
dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjgzMjEzYTNjZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0NTZmNWMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1h
Z2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1
ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1NgorICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoOCw4KSBzaXpl
IDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgw
LDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIxNCwzMCkgc2l6
ZSAyOHgyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6ZSAyOHgyNiBb
Y29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4IG91dHNldCAj
QzBDMEMwKV0K
</data>
<flag name="commit-queue"
          id="470888"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445654</attachid>
            <date>2021-12-01 18:53:04 -0800</date>
            <delta_ts>2021-12-01 19:00:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211201185303.patch</filename>
            <type>text/plain</type>
            <size>62554</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTEwZjFhZWE4NDVkYWNkMTM2ZWQ0ZmNmODI0YzM0NDcwNTAwZjZiNwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKworQGludGVyZmFjZSBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICgp
CisrIChOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICopc2VydmljZVJvbGxvdmVyQnV0dG9u
Q2VsbEZvclN0eWxlOihOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU3R5bGUpc3R5bGU7CistIChOU1Jl
Y3QpcmVjdEZvckJvdW5kczooTlNSZWN0KWJvdW5kcyBwcmVmZXJyZWRFZGdlOihOU1JlY3RFZGdl
KXByZWZlcnJlZEVkZ2U7CitAZW5kCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDdiNmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJl
NDc3MjQwNDcuLmJmNjQzNzcwOGI2OTc1MzcyMDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CkBAIC0xMDYyLDYgKzEwNjIsNyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcAogZG9tL1doZWVsRXZlbnQuY3BwCiBkb20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hN
TERvY3VtZW50LmNwcAorZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vw
b3J0cy9NZXNzYWdlUG9ydENoYW5uZWwuY3BwCiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0
Q2hhbm5lbFByb3ZpZGVyLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQ
cm92aWRlckltcGwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggZTRkOWZmMDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1
MDVkNi4uMGM2NmY3ZDBiYmIzMzlmY2Y3OGEwMWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5
OSw2ICsxMjk5LDcgQEAKIAkJNDRDOTkxOUYwRjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBG
M0QyMTBFMDA1ODY2NzAgLyogVGhlbWVJT1MuaCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAw
N0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDRTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRl
eHRJbmRpY2F0b3JMYXllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQ0RTM0OUY5MjQ2RjRFMTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJh
aXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUz
NDlGNzI0NkY0REM3MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEw
MDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEVFQTBGQTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250
cm9sc01hYy5oICovOyB9OwogCQk0NTBDRUJGMTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxl
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdE
MDAyRjg0RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1MTI1MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0
dG9uRWxlbWVudC5oICovOyB9OwogCQk0NTNFQjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRp
bWVGb3JtYXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ1M0VCNjM1MTU5QzU3MDQwMDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBA
QAogCQk0NEU4OEU1MTIzNkE1QzhEMDA5QjQ4NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEhpZ2hsaWdodC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIz
NkE2NjdGMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NEU4OEU1NDIzNkE2NkExMDA5QjQ4NDcgLyogSGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhpZ2hsaWdodC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2
Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VD
b250cm9sc01hYy5jc3M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0
NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdl
Q29udHJvbHNNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3
MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SW1hZ2VDb250cm9sc01hYy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENF
QkVFMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExhYmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJFRjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxl
RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJG
ODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBTcGluQnV0dG9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMDUzMSw2ICsyMDUzNSw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAogCQkJCTJENTAzNjY3MUJDREREQzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNw
cCAqLywKKwkJCQk0NEVFQTBGQzI3NDcyN0Y0MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5j
cHAgKi8sCisJCQkJNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMu
aCAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
QEAgLTIwNzAwLDYgKzIwNzA2LDcgQEAKIAkJNDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNo
YWRvdyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRF
RUEwRTYyNzNGOURFRDAwNTk0QTgzIC8qIG1hYyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3
QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVtZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5
ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxCdXR0b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEy
NUNBMDU3NDAwNTAwNDZCIC8qIERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2
Niw2ICsyMTI3MywxNCBAQAogCQkJcGF0aCA9IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCTQ0RUVBMEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlD
MDAwMDU5NEE4MyAvKiBpbWFnZUNvbnRyb2xzTWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0g
bWFjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBC
RDAwQjI5RkQyIC8qIGNvY29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKQEAgLTM0NTI2LDYgKzM0NTQxLDcgQEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5
MzEgLyogSW1hZ2VCdWZmZXJJT1N1cmZhY2VCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
MkExMEQ5MTBCMzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDNFMjFERDIxODM0NDRBMDBFNjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXND
Ry5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDRFRUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdl
Q29udHJvbHNNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFC
OSAvKiBJbWFnZURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNF
MkE2QyAvKiBJbWFnZURhdGFTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgx
RjU3Mzk3MjAwMEM0MkZCIC8qIEltYWdlRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzVi
MWM1MGIxOTU5Njc4YTQ3NWEyYmEzNTcyNjY3ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1
YTAxY2UyNGVkZjJkMWJhZWI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJp
bWl0aXZlVmFsdWVNYXBwaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRp
dmVWYWx1ZU1hcHBpbmdzLmgKQEAgLTYwOCw2ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUg
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU1ByaW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAg
ICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2Fz
ZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NT
VmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlm
CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAg
ICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCmluZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4
ZDE3YWE5ODRhNDE0OTMuLmFiOGVkZjAzMDcxZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcg
QEAKICAgICAgICAgICAgICAgICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3Ii
LAogICAgICAgICAgICAgICAgICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAog
ICAgICAgICAgICAgICAgICJyYXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAg
ICAiLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1h
cHBsZS1wYXktYnV0dG9uIiwKICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAg
ICAgICAgICJhdHRhY2htZW50IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NW
YWx1ZUtleXdvcmRzLmluIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4K
aW5kZXggOTQ1NjhiMTViN2E2ZWUxY2ZlNjRhZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRk
NjY1MjU0ZjBlNjRkYTBlZmNjNGUzYzhlZjU0MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Zh
bHVlS2V5d29yZHMuaW4KQEAgLTg4Nyw2ICs4ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNh
dG9yCiBjb250aW51b3VzLWNhcGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNp
dHktbGV2ZWwtaW5kaWNhdG9yCiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChF
TkFCTEVfU0VSVklDRV9DT05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRl
cm5hbC1pbWFnZS1jb250cm9scy1idXR0b24KKyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQ
UExFX1BBWSkgJiYgRU5BQkxFX0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1
NDRmMjZmNTFhOTIzZWU2MzBlNzkxOGRiOTMzODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1
MDY1ZmY5YmI3NmI1ODYzZDZkMWY3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9w
YXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L0NTU1BhcnNlcklkaW9tcy5jcHAKQEAgLTQwLDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93
ZWRJbk1vZGUodW5zaWduZWQgc2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAg
cmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRG
b2N1c1JpbmdDb2xvcjoKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8
IGlzUXVpcmtzTW9kZUJlaGF2aW9yKG1vZGUpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQorICAgIGNhc2UgQ1NTVmFsdWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAg
IHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdl
Q29udHJvbHNNYWMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEw
MmExMzAzNjM3YTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0lt
YWdlQ29udHJvbHNNYWMuY3BwCkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUg
IkVsZW1lbnRJbmxpbmVzLmgiCisjaW5jbHVkZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MRGl2RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUg
IkhUTUxTdHlsZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUg
IlNoYWRvd1Jvb3QuaCIKKyNpbmNsdWRlICJVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L0F0b21TdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNw
YWNlIEltYWdlQ29udHJvbHNNYWMgeworCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisK
K3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIo
KQoreworICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmlu
Zz4gaWRlbnRpZmllcigiaW1hZ2UtY29udHJvbHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9t
TGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9t
U3RyaW5nJiBpbWFnZUNvbnRyb2xzQnV0dG9uSWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1h
aW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFn
ZS1jb250cm9scy1idXR0b24iLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7Cisg
ICAgcmV0dXJuIGlkZW50aWZpZXI7Cit9CisKK2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVs
ZW1lbnQmIGVsZW1lbnQpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dS
b290KCk7CisgICAgaWYgKCFzaGFkb3dSb290IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFk
b3dSb290TW9kZTo6VXNlckFnZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1
cm4gc2hhZG93Um9vdC0+aGFzRWxlbWVudFdpdGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVu
dGlmaWVyKCkuaW1wbCgpKTsKK30KKworc3RhdGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VD
b250cm9sSG9zdChjb25zdCBOb2RlJiBub2RlKQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hh
ZG93SG9zdCgpOworICAgIGlmICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKworICAgIFJlZlB0ciBlbGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50
PigqaG9zdCkgfTsKKyAgICByZXR1cm4gaGFzQ29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6
IG51bGxwdHI7Cit9CisKK2Jvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBO
b2RlJiBub2RlKQoreworICAgIGF1dG8gaG9zdCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7Cisg
ICAgaWYgKCFob3N0KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNv
bnRyb2xSb290ID0gc3RhdGljX2Nhc3Q8VHJlZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRv
d1Jvb3QoKSkuZ2V0RWxlbWVudEJ5SWQoaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkp
CisgICAgICAgIHJldHVybiBub2RlLmlzRGVzY2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVu
dCYgZWxlbWVudCkKK3sKKyAgICBSZWYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7Cisg
ICAgUmVmIHNoYWRvd1Jvb3QgPSBlbGVtZW50LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsK
KyAgICBhdXRvIGNvbnRyb2xMYXllciA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQu
Z2V0KCkpOworICAgIGNvbnRyb2xMYXllci0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0Vs
ZW1lbnRJZGVudGlmaWVyKCkpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xM
YXllcik7CisgICAgCisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBT
dHJpbmc+IHNoYWRvd1N0eWxlKFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdl
Q29udHJvbHNNYWNVc2VyQWdlbnRTdHlsZVNoZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1Vz
ZXJBZ2VudFN0eWxlU2hlZXQpKSk7CisgICAgYXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6
OmNyZWF0ZShIVE1MTmFtZXM6OnN0eWxlVGFnLCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAg
IHN0eWxlLT5zZXRUZXh0Q29udGVudChzaGFkb3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBw
ZW5kQ2hpbGQoV1RGTW92ZShzdHlsZSkpOworICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1
dHRvbkVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVu
dCgpLCBudWxscHRyKTsKKyAgICBidXR0b24tPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNC
dXR0b25JZGVudGlmaWVyKCkpOworICAgIGNvbnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9u
KTsKKyAgICAKKyAgICBpZiAoYXV0byogcmVuZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigp
OyBpczxSZW5kZXJJbWFnZT4ocmVuZGVyT2JqZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVy
SW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisj
ZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdl
Q29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21h
Yy9JbWFnZUNvbnRyb2xzTWFjLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2
NjY2YmI3NzgyMzhiY2ZhMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9t
YWMvSW1hZ2VDb250cm9sc01hYy5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIkludFJlY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBIVE1MRWxlbWVudDsKK2NsYXNzIE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRy
b2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRy
b2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7Citib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1l
bnQoY29uc3QgTm9kZSYpOwordm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7
CisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2Ug
SW1hZ2VDb250cm9sc01hYworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgppbmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZm
MGUwOTVhMmY1Yjg0MzIyLi42ZGVhMzhlZjA5NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYg
KzQyOSw3IEBAIGF1dG9jYXBpdGFsaXplCiBvbndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlz
d2lyZWxlc3NjaGFuZ2VkCiBvbndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdl
ZAogb253ZWJraXRwcmVzZW50YXRpb25tb2RlY2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3
ZWJraXQtcGxheXNpbmxpbmUKIHgtd2Via2l0LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlk
ZW9wbGF5YmFja2Rpc2FibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJ
bWFnZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNw
cAppbmRleCA4MDUzYTYyNTJkMTM1ZGMyY2JmMWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIx
OGI3OWYwOTEyY2U2MTcxNTQxN2I3OGFjMzM4YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTYwLDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFj
LmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoSFRNTEltYWdlRWxlbWVudCk7CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRN
TEltYWdlRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwg
Y29uc3QgQXRvbVN0cmluCiAgICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpO
b3JtYWw7CiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVl
LCBtX2NvbXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRl
T3BlcmF0b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0
cikgeworICAgICAgICBtX2ltYWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAg
ICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9
PSBsb2FkaW5nQXR0cikgewogICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0
byBsYXp5IHRyYW5zaXRpb24uCiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRl
VmFsdWUodmFsdWUpKQpAQCAtMzc2LDYgKzM4NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6
OmRpZEF0dGFjaFJlbmRlcmVycygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdC
ZWZvcmVMb2FkRXZlbnQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0Vf
Q09OVFJPTFMpCisgICAgdXBkYXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBhdXRv
JiByZW5kZXJJbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAg
UmVuZGVySW1hZ2VSZXNvdXJjZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmlt
YWdlUmVzb3VyY2UoKTsKICAgICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgp
KQpAQCAtNzUzLDYgKzc2Niw1NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0
dGFjaG1lbnRJZGVudGlmaWVyKCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdl
RWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBl
bGVtZW50IGlzIGluc2lkZSBhIHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFn
ZSBjb250cm9sLgorICAgIGlmIChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47Cisg
ICAgaWYgKCFkb2N1bWVudCgpLnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAg
ICAgICAgcmV0dXJuOworICAgIGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7
CisgICAgaWYgKCFtX2ltYWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRl
c3Ryb3lJbWFnZUNvbnRyb2xzKCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYm
ICFoYXNDb250cm9scykKKyAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2
b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFT
U0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygp
KTsKKyAgICBJbWFnZUNvbnRyb2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30K
Kwordm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAg
YXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93
Um9vdCkKKyAgICAgICAgcmV0dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRv
d1Jvb3QtPmZpcnN0Q2hpbGQoKSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhU
TUxFbGVtZW50Pigqbm9kZSkpKTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5v
ZGUpOworICAgIH0KKyAgICBhdXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlm
ICghcmVuZGVyT2JqZWN0KQorICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1h
Z2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9v
bCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJ
bWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxF
bGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBG
SVhNRTogV2Ugc2hvdWxkIGZpbmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0
IGxvZ2ljLiBTZWUgcmRhcjovL3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1l
bnQ6OndpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
SW1hZ2VFbGVtZW50LmgKaW5kZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4
MjYyNC4uN2Y5MTRhNWFlNGNmOWY5MjBjNTA0MDk5YTIyNWY5ZjI0NmZjYjM1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsMTAgQEAgcHVibGlj
OgogCiAgICAgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlk
ZTsKICAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBib29sIGltYWdlTWVu
dUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2ltYWdlTWVudUVuYWJsZWQ7IH0KKyNlbmRpZgor
CiAgICAgSFRNTFBpY3R1cmVFbGVtZW50KiBwaWN0dXJlRWxlbWVudCgpIGNvbnN0OwogICAgIHZv
aWQgc2V0UGljdHVyZUVsZW1lbnQoSFRNTFBpY3R1cmVFbGVtZW50Kik7CiAKQEAgLTE4OCw2ICsx
OTIsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzRnJv
bUVsZW1lbnQoY29uc3QgRWxlbWVudCYpIGZpbmFsOwogCiAgICAgZmxvYXQgZWZmZWN0aXZlSW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKCkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09O
VFJPTFMpCisgICAgdm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgdm9pZCB0cnlDcmVh
dGVJbWFnZUNvbnRyb2xzKCk7CisgICAgdm9pZCBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAg
IGJvb2wgaGFzSW1hZ2VDb250cm9scygpIGNvbnN0OworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVh
dGVSZW5kZXJlcihjb25zdCBOb2RlJikgY29uc3Qgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIEhU
TUxTb3VyY2VFbGVtZW50KiBzb3VyY2VFbGVtZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTb3Vy
Y2VFbGVtZW50KEhUTUxTb3VyY2VFbGVtZW50Kik7CkBAIC0yMDEsNiArMjEzLDkgQEAgcHJpdmF0
ZToKICAgICBBdG9tU3RyaW5nIG1fY3VycmVudFNyYzsKICAgICBBdG9tU3RyaW5nIG1fcGFyc2Vk
VXNlbWFwOwogICAgIGZsb2F0IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvOworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgbV9pbWFnZU1lbnVFbmFibGVkIHsgZmFsc2UgfTsK
KyNlbmRpZgogICAgIGJvb2wgbV9oYWROYW1lQmVmb3JlQXR0cmlidXRlQ2hhbmdlZCB7IGZhbHNl
IH07IC8vIEZJWE1FOiBXZSBvbmx5IG5lZWQgdGhpcyBiZWNhdXNlIHBhcnNlQXR0cmlidXRlKCkg
Y2FuJ3Qgc2VlIHRoZSBvbGQgdmFsdWUuCiAgICAgYm9vbCBtX2lzRHJvcHBlZEltYWdlUGxhY2Vo
b2xkZXIgeyBmYWxzZSB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9t
YWMvaW1hZ2VDb250cm9sc01hYy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVhNmFlZjQ2ZmJjOTI0MjEyYmIx
ZTg1NmUyNTUyN2I5YWEzZDZhZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcwpAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNF
X0NPTlRST0xTKSAmJiBFTkFCTEVfU0VSVklDRV9DT05UUk9MUworCitkaXYjaW1hZ2UtY29udHJv
bHMgeworICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICBjb2xvcjogdHJhbnNwYXJlbnQ7Cit9CisKK2Rp
diNpbWFnZS1jb250cm9scyBidXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKKyAgICBwb3Np
dGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAyMHB4OworICAgIHJpZ2h0OiAyMHB4OworICAgIAor
ICAgIGRpc3BsYXk6IGJsb2NrOworCisgICAgYXBwZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNv
bnRyb2xzLWJ1dHRvbjsKKworICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CisgICAgb3Bh
Y2l0eTogMC4wOworfQorCitkaXYjaW1hZ2UtY29udHJvbHM6aG92ZXIgYnV0dG9uI2ltYWdlLWNv
bnRyb2xzLWJ1dHRvbiB7CisgICAgb3BhY2l0eTogMS4wOworfQorCisjZW5kaWYKKworCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggMzUxZGVm
NTU2ZjFjMzc0ZTQ1NTU3OWI0OGQ2YTcyOWJjODJlOWFiOS4uYWM3N2I2NjdiZDIxOGMyZmY2YzU3
MWZhODE5NzExNGMwZTA5NGU2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250
ZXh0TWVudUNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1l
bnVDb250cm9sbGVyLmNwcApAQCAtNzMsNiArNzMsMTAgQEAKICNpbmNsdWRlIDx3dGYvV2FsbFRp
bWUuaD4KICNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorI2Vu
ZGlmCisKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xNDMsNiArMTQ3LDIxIEBAIHZvaWQg
Q29udGV4dE1lbnVDb250cm9sbGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQmIGV2ZW50LCBDb250
ZXh0TWVudVByb3ZpZGVyJiBwCiAgICAgc2hvd0NvbnRleHRNZW51KGV2ZW50KTsKIH0KIAorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitzdGF0aWMgSW1hZ2UqIGltYWdlRnJvbUltYWdl
RWxlbWVudE5vZGUoTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvKiByZW5kZXJlciA9IG5vZGUucmVu
ZGVyZXIoKTsKKyAgICBpZiAoIWlzPFJlbmRlckltYWdlPihyZW5kZXJlcikpCisgICAgICAgIHJl
dHVybiBudWxscHRyOworICAgIGF1dG8qIGltYWdlID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpy
ZW5kZXJlcikuY2FjaGVkSW1hZ2UoKTsKKyAgICBpZiAoIWltYWdlIHx8IGltYWdlLT5lcnJvck9j
Y3VycmVkKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBpbWFnZS0+aW1h
Z2VGb3JSZW5kZXJlcihyZW5kZXJlcik7Cit9CisKKyNlbmRpZgorCiBzdGQ6OnVuaXF1ZV9wdHI8
Q29udGV4dE1lbnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVu
dShFdmVudCYgZXZlbnQsIE9wdGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSwg
Q29udGV4dE1lbnVDb250ZXh0OjpUeXBlIGNvbnRleHRUeXBlKQogewogICAgIGlmICghaXM8TW91
c2VFdmVudD4oZXZlbnQpKQpAQCAtMTYyLDYgKzE4MSwxNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q29u
dGV4dE1lbnU+IENvbnRleHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShF
dmVudAogCiAgICAgbV9jb250ZXh0ID0gQ29udGV4dE1lbnVDb250ZXh0KGNvbnRleHRUeXBlLCBy
ZXN1bHQpOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29u
dHJvbHNNYWM6OmlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQobm9kZSkpIHsKKyAgICAgICAg
aWYgKGF1dG8qIGltYWdlID0gaW1hZ2VGcm9tSW1hZ2VFbGVtZW50Tm9kZSgqcmVzdWx0LmlubmVy
Tm9uU2hhcmVkTm9kZSgpKSkKKyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250cm9sbGVkSW1h
Z2UoaW1hZ2UpOworCisgICAgICAgIC8vIEZJWE1FOiBJZiB3ZSBjb3VsZG4ndCBnZXQgdGhlIGlt
YWdlIHRoZW4gd2Ugc2hvdWxkbid0IHRyeSB0byBzaG93IHRoZSBpbWFnZSBjb250cm9scyBtZW51
IGZvciBpdC4KKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQorI2VuZGlmCisgICAgCiAg
ICAgcmV0dXJuIG1ha2VVbmlxdWU8Q29udGV4dE1lbnU+KCk7CiB9CiAKQEAgLTE1MzYsNiArMTU2
NSwxNyBAQCB2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51QXQoRnJh
bWUmIGZyYW1lLCBjb25zdCBJbnRQb2ludCYgY2xpYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorCit2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0ltYWdl
Q29udHJvbHNNZW51KEV2ZW50JiBldmVudCkKK3sKKyAgICBjbGVhckNvbnRleHRNZW51KCk7Cisg
ICAgaGFuZGxlQ29udGV4dE1lbnVFdmVudChldmVudCk7CisgICAgbV9jbGllbnQuc2hvd0NvbnRl
eHRNZW51KCk7Cit9CisKKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRp
ZiAvLyBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRN
ZW51Q29udHJvbGxlci5oCmluZGV4IDZmZTJiZDNhODY3YTI3YWFjOGI3NGI0MWUzM2ViNWQxODc2
ZTQwN2UuLjkwNjFkYTcyNGJjM2Y4MGIzOTAyNGNkZTg3OWNiZDYzY2U1YjcwYmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjksNiArNjksMTAg
QEAgcHVibGljOgogI2lmIFVTRShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCiAgICAgdm9p
ZCBzaG93Q29udGV4dE1lbnVBdChGcmFtZSYsIGNvbnN0IEludFBvaW50JiBjbGlja1BvaW50KTsK
ICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZvaWQgc2hv
d0ltYWdlQ29udHJvbHNNZW51KEV2ZW50Jik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IG1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQmLCBP
cHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRleHRNZW51Q29udGV4
dDo6VHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCmluZGV4IDI3Mjg2
MDE3MjE2NTdlZjQ2ODViYjI3NzI5ZmFkOGY5ZmI1OTBkZjcuLjI2ZjRjZjQ1YTgxYWIwMjg1NTE5
YmRkMGM1NjBlY2MwZDJlYWY5MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1RoZW1lVHlwZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMu
Y3BwCkBAIC05MSw2ICs5MSw5IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYg
dHMsIENvbnRyb2xQYXJ0IGNvbnRyb2xQYXJ0KQogICAgIGNhc2UgQ29udGludW91c0NhcGFjaXR5
TGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRp
Y2F0b3ItcGFydCI7IGJyZWFrOwogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNh
dG9yUGFydDogdHMgPDwgImRpc2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvci1wYXJ0Ijsg
YnJlYWs7CiAgICAgY2FzZSBSYXRpbmdMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJyYXRpbmct
bGV2ZWwtaW5kaWNhdG9yLXBhcnQiOyBicmVhazsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9M
UykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OiB0cyA8PCAiaW1hZ2UtY29udHJv
bHMtYnV0dG9uLXBhcnQiOyBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAg
ICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6IHRzIDw8ICJhcHBsZS1wYXktYnV0dG9uLXBhcnQi
OyBicmVhazsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhl
bWVUeXBlcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IGNl
N2FkOTNkYjZlYTg5NTYwZWJhMGUwOGVjOWE5ZTJhNDY4ZDc0MmIuLjQyYmIzNjQ5MDU3YjQyNTEz
MTE5ZjdjZTA4MGM1MmUzMGJlNzU5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1RoZW1lVHlwZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVz
LmgKQEAgLTkxLDYgKzkxLDkgQEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0Nh
cGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGlj
YXRvclBhcnQsCiAgICAgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAorI2VuZGlmCiAjaWYg
RU5BQkxFKEFQUExFX1BBWSkKICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDg2MmZiOWY0Y2Y0YmU5MTZl
NTk5YWE2NTA0MTYyOTBlYTA3ZmQwMzguLmY5MjEzZTJmMzU3MTQ4ZjE0MGM0ZDQxMGQwZTExNDE3
ZDc2ZjBiOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAt
MTQ1LDYgKzE0NSwxMCBAQCBSZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRWxlbWVudCYgZWxlbWVu
dCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5bAogICAgICwgbV9pbWFnZURl
dmljZVBpeGVsUmF0aW8oaW1hZ2VEZXZpY2VQaXhlbFJhdGlvKQogewogICAgIHVwZGF0ZUFsdFRl
eHQoKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoaXM8SFRNTEltYWdl
RWxlbWVudD4oZWxlbWVudCkpCisgICAgICAgIG1faGFzU2hhZG93Q29udHJvbHMgPSBkb3duY2Fz
dDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KS5pbWFnZU1lbnVFbmFibGVkKCk7CisjZW5kaWYK
IH0KIAogUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVy
U3R5bGUmJiBzdHlsZSwgU3R5bGVJbWFnZSogc3R5bGVJbWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuY3BwCmluZGV4IDgxZGZkOGZmY2FiZmFiZDYxMGE5NjQwZDIyZGMw
MmYzY2YyNjg1OWUuLjFkYzE0Y2M1NTk0YWU4ZDliYWVlYTA1OGM5ZDM2YzNiODBlMzhhNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMjY3LDYgKzI2Nywx
MCBAQCB2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RTdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNv
bnN0IEVsZW1lbnQqIGVsZW1lbnQsIGNvbnN0CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2
ZWxJbmRpY2F0b3JQYXJ0OgogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OgogICAg
ICAgICByZXR1cm4gYWRqdXN0TWV0ZXJTdHlsZShzdHlsZSwgZWxlbWVudCk7CisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAg
ICAgICAgcmV0dXJuIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShzdHlsZSwgZWxlbWVu
dCk7CisjZW5kaWYKICAgICBjYXNlIENhcHNMb2NrSW5kaWNhdG9yUGFydDoKICAgICAgICAgcmV0
dXJuIGFkanVzdENhcHNMb2NrSW5kaWNhdG9yU3R5bGUoc3R5bGUsIGVsZW1lbnQpOwogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCkBAIC01NDYsNiArNTUwLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBh
aW50KGNvbnN0IFJlbmRlckJveCYgYm94LCBDb250cm9sU3RhdGVzJiBjb250cm9sU3RhdGVzLCBj
b25zCiAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0
KGJveCwgcGFpbnRJbmZvLCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICAgICBjYXNlIFNlYXJjaEZp
ZWxkUmVzdWx0c0J1dHRvblBhcnQ6CiAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkUmVz
dWx0c0J1dHRvbihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoK
KyAgICAgICAgcmV0dXJuIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihib3gsIHBhaW50SW5mbywg
aW50ZWdyYWxTbmFwcGVkUmVjdCk7CisjZW5kaWYKICAgICBjYXNlIENhcHNMb2NrSW5kaWNhdG9y
UGFydDoKICAgICAgICAgcmV0dXJuIHBhaW50Q2Fwc0xvY2tJbmRpY2F0b3IoYm94LCBwYWludElu
Zm8sIGludGVncmFsU25hcHBlZFJlY3QpOwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBAIC02MTIs
NiArNjIwLDkgQEAgYm9vbCBSZW5kZXJUaGVtZTo6cGFpbnRCb3JkZXJPbmx5KGNvbnN0IFJlbmRl
ckJveCYgYm94LCBjb25zdCBQYWludEluZm8mIHBhaW50SW4KICAgICBjYXNlIFNlYXJjaEZpZWxk
RGVjb3JhdGlvblBhcnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFy
dDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRp
ZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTY4Niw2ICs2OTcsOSBA
QCB2b2lkIFJlbmRlclRoZW1lOjpwYWludERlY29yYXRpb25zKGNvbnN0IFJlbmRlckJveCYgYm94
LCBjb25zdCBQYWludEluZm8mIHBhaW50SQogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9u
UGFydDoKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNh
c2UgU2VhcmNoRmllbGRSZXN1bHRzQnV0dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKyAgICBjYXNlIEltYWdlQ29udHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVm
YXVsdDoKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMTI3Nyw2ICsxMjkxLDEyIEBAIHZvaWQg
UmVuZGVyVGhlbWU6OnBhaW50U2xpZGVyVGlja3MoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25z
dCBQYWludEluZm8mIHBhaW50CiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCit2b2lkIFJlbmRlclRoZW1lOjphZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVu
ZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QKK3sKK30KKyNlbmRpZgorCiBTZWNvbmRz
IFJlbmRlclRoZW1lOjphbmltYXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKGNvbnN0
IFJlbmRlclByb2dyZXNzJikgY29uc3QKIHsKICAgICByZXR1cm4gMF9zOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAppbmRleCA1ZTU0ZWYxMWNlNjk0NzM0MGRlMzg2NjhlZmYz
NTRlNTU3ZmQyNWE0Li44YTFlNGRmYWQxYTcxOTBiYzE1Y2I1MmVmMzI0NDM3NWRhYzY0OWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjQ5LDYgKzI0OSwxMSBA
QCBwdWJsaWM6CiAKICAgICBlbnVtIEZpbGVVcGxvYWREZWNvcmF0aW9ucyB7IFNpbmdsZUZpbGUs
IE11bHRpcGxlRmlsZXMgfTsKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRGaWxlVXBsb2FkSWNvbkRl
Y29yYXRpb25zKGNvbnN0IFJlbmRlck9iamVjdCYgLyppbnB1dFJlbmRlcmVyKi8sIGNvbnN0IFJl
bmRlck9iamVjdCYgLypidXR0b25SZW5kZXJlciovLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJ
bnRSZWN0JiwgSWNvbiosIEZpbGVVcGxvYWREZWNvcmF0aW9ucykgeyB9CisgICAgCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdmlydHVhbCBJbnRTaXplIGltYWdlQ29udHJvbHNC
dXR0b25TaXplKCkgY29uc3QgeyByZXR1cm4gSW50U2l6ZSgpOyB9CisgICAgdmlydHVhbCBJbnRT
aXplIGltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIElu
dFNpemUoKTsgfQorI2VuZGlmCiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAg
IHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50SW50cmluc2ljU2l6ZShjb25zdCBSZW5kZXJB
dHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5b3V0U2l6ZSgpOyB9CkBAIC0zNTksNiArMzY0
LDExIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxl
KFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBw
YWludExpc3RCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29u
c3QgRmxvYXRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQogI2VuZGlmCisgICAgCisjaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdmlydHVhbCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNC
dXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0
dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CisjZW5kaWYK
IAogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9ncmVzc0JhclN0eWxlKFJlbmRlclN0eWxlJiwg
Y29uc3QgRWxlbWVudCopIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFy
KGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7
IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CmluZGV4IGM0MWY3NDkwMDkyNWVmYTE2NWVlZWU4OWQ2OGI4ZTY2NjEwNTM1NTUuLjBiNzE4OTg1
MzU3ZjFmYzg3MDk5YmU5NDlhMzIwMTlhZTUwZWJjMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC0xNDUsNiArMTQ1LDEwIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBwYWludExpc3RCdXR0b25Gb3JJbnB1dChjb25zdCBSZW5kZXJPYmplY3QmLCBHcmFwaGlj
c0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmKTsKICAgICB2b2lkIGFkanVzdExpc3RCdXR0b25T
dHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdCBmaW5hbDsKICNlbmRpZgor
ICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZvaWQgYWRqdXN0SW1hZ2VD
b250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZp
bmFsOworI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU8pCiAgICAgYm9vbCBzdXBwb3J0c0Nsb3Nl
ZENhcHRpb25pbmcoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CkBAIC0yMDgsNiArMjEy
LDE0IEBAIHByaXZhdGU6CiAgICAgaW50IG1pbmltdW1Qcm9ncmVzc0JhckhlaWdodChjb25zdCBS
ZW5kZXJTdHlsZSYpIGNvbnN0OwogICAgIGNvbnN0IEludFNpemUqIHByb2dyZXNzQmFyU2l6ZXMo
KSBjb25zdDsKICAgICBjb25zdCBpbnQqIHByb2dyZXNzQmFyTWFyZ2lucyhOU0NvbnRyb2xTaXpl
KSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBib29sIHBh
aW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludElu
Zm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7CisgICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0
dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworICAgIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRvblBv
c2l0aW9uT2Zmc2V0KCkgY29uc3QgZmluYWw7CisKKyAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0OworI2VuZGlmCiAKICAg
ICBtdXRhYmxlIFJldGFpblB0cjxOU1BvcFVwQnV0dG9uQ2VsbD4gbV9wb3B1cEJ1dHRvbjsKICAg
ICBtdXRhYmxlIFJldGFpblB0cjxOU1NlYXJjaEZpZWxkQ2VsbD4gbV9zZWFyY2g7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggYWE2MGYyZWIyYzQyMzJl
YzkwZmE5M2ZlYTBmZTgwNzA2MWIzNThjMi4uZjczNTVlNWYwZjQ3NzNlODRmZjlkNGZkNGFhZmJm
MWQwYWJhNzE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRo
ZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5t
bQpAQCAtNzUsNiArNzUsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBlYXJhbmNlU1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0NlbGxTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkv
bWFjL05TSW1hZ2VTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU2VydmljZXNSb2xsb3Zl
ckJ1dHRvbkNlbGxTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU2hhcmluZ1NlcnZpY2VQ
aWNrZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvT2Jq
Q1J1bnRpbWVFeHRyYXMuaD4KQEAgLTgyLDE3ICs4Myw2IEBACiAjaW1wb3J0IDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKLSNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKLQotLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4g
U1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQotI2ltcG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgotI2Vsc2UKLSNk
ZWZpbmUgQVBQS0lUX1BSSVZBVEVfQ0xBU1MKLSNlbmRpZgotCi0jZW5kaWYgLy8gRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCi0KIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbnRvIGFuIFNQSS5o
IGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCiBAaW50ZXJmYWNlIE5TVGV4dEZpZWxkQ2VsbCAo
KQogLSAoQ0ZEaWN0aW9uYXJ5UmVmKV9jb3JlVUlEcmF3T3B0aW9uc1dpdGhGcmFtZTooTlNSZWN0
KWNlbGxGcmFtZSBpblZpZXc6KE5TVmlldyAqKWNvbnRyb2xWaWV3IGluY2x1ZGVGb2N1czooQk9P
TClpbmNsdWRlRm9jdXM7CkBAIC0xMDkzLDYgKzEwODMsMTQgQEAgdm9pZCBSZW5kZXJUaGVtZU1h
Yzo6YWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3QgRWxlbWVu
dCopIGMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgUmVu
ZGVyVGhlbWVNYWM6OmFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYg
c3R5bGUsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAoreworICAgIHN0eWxlLnNldEhlaWdodChMZW5n
dGgoaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKS5oZWlnaHQoKSwgTGVuZ3RoVHlwZTo6Rml4ZWQp
KTsKKyAgICBzdHlsZS5zZXRXaWR0aChMZW5ndGgoaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKS53
aWR0aCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworfQorI2VuZGlmCisKIGJvb2wgUmVuZGVyVGhl
bWVNYWM6OnBhaW50VGV4dEZpZWxkKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3QgUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBMb2NhbEN1cnJlbnRH
cmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KCkpOwpAQCAtMjI4
Miw2ICsyMjgwLDQ3IEBAIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6ZmlsZUxpc3ROYW1lRm9yV2lk
dGgoY29uc3QgRmlsZUxpc3QqIGZpbGVMaXN0LCBjb25zdCBGb250CiAgICAgcmV0dXJuIFN0cmlu
Z1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZvbnQpOwog
fQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitOU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25z
dAoreworICAgIGlmICghbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uKSB7CisgICAgICAgIG1fc2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbiA9IFtOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIHNlcnZp
Y2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTpOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU3R5bGVS
b2xsb3Zlcl07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0QmV6ZWxTdHls
ZTpOU0JlemVsU3R5bGVSb3VuZGVkRGlzY2xvc3VyZV07CisgICAgICAgIFttX3NlcnZpY2VzUm9s
bG92ZXJCdXR0b24gc2V0QnV0dG9uVHlwZTpOU0J1dHRvblR5cGVQdXNoT25QdXNoT2ZmXTsKKyAg
ICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRJbWFnZVBvc2l0aW9uOk5TSW1hZ2VP
bmx5XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRTdGF0ZTpOT107Cisg
ICAgfQorICAgIHJldHVybiBtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24uZ2V0KCk7Cit9CisKK2Jv
b2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJP
YmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgSW50UmVj
dCYgcmVjdCkKK3sKKyAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpjZWxsID0gc2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKTsKKyAgICBMb2NhbEN1cnJlbnRHcmFwaGljc0NvbnRl
eHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIEdyYXBoaWNzQ29udGV4
dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihwYWludEluZm8uY29udGV4dCgpKTsKKyAgICBwYWludElu
Zm8uY29udGV4dCgpLnRyYW5zbGF0ZShyZWN0LmxvY2F0aW9uKCkpOworICAgIEludFJlY3QgaW5u
ZXJGcmFtZShJbnRQb2ludCgpLCByZWN0LnNpemUoKSk7CisgICAgW2NlbGwgZHJhd1dpdGhGcmFt
ZTppbm5lckZyYW1lIGluVmlldzpkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpXTsKKyAgICBbY2Vs
bCBzZXRDb250cm9sVmlldzpuaWxdOworICAgIHJldHVybiBmYWxzZTsKK30KKworSW50U2l6ZSBS
ZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdAoreworICAgIHJl
dHVybiBJbnRTaXplKHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkuY2VsbFNpemUpOworfQor
CitJbnRTaXplIFJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZz
ZXQoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBDdXJyZW50bHkgdGhlIG9mZnNldHMgd2lsbCBh
bHdheXMgYmUgdGhlIHNhbWUgbm8gbWF0dGVyIHdoYXQgaW1hZ2UgcmVjdCB5b3UgdHJ5IHdpdGgu
CisgICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyBiZSB0cnVlIGluIHRoZSBmdXR1cmUuCisgICAg
c3RhdGljIGNvbnN0IGludCBkdW1teURpbWVuc2lvbiA9IDEwMDsKKyAgICBJbnRSZWN0IGR1bW15
SW1hZ2VSZWN0KDAsIDAsIGR1bW15RGltZW5zaW9uLCBkdW1teURpbWVuc2lvbik7CisgICAgTlNS
ZWN0IGJvdW5kcyA9IFtzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIHJlY3RGb3JCb3VuZHM6
ZHVtbXlJbWFnZVJlY3QgcHJlZmVycmVkRWRnZTpOU01pbllFZGdlXTsKKyAgICByZXR1cm4gSW50
U2l6ZShkdW1teURpbWVuc2lvbiAtIGJvdW5kcy5vcmlnaW4ueCwgYm91bmRzLm9yaWdpbi55KTsK
K30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKIGNvbnN0IENHRmxv
YXQgYXR0YWNobWVudEljb25TaXplID0gNDg7CiBjb25zdCBDR0Zsb2F0IGF0dGFjaG1lbnRJY29u
QmFja2dyb3VuZFBhZGRpbmcgPSA2OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUu
Y3BwCmluZGV4IGUxMWQ2ZmZhN2RlZTliNDgyODE2NTEyNzI0M2RjNzVlMWMyMzljYmMuLmExMDI3
ODAzNmJhOTA3ZGJjOGJjYTVlNTk0MTExMTM0ZjllOWMyNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTc0LDYgKzc0LDkgQEAgU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6bWF0aE1MU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyog
VXNlckFnZW50U3R5bGU6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRl
bnRzKiBVc2VyQWdlbnRTdHlsZTo6ZnVsbHNjcmVlblN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29u
dGVudHMqIFVzZXJBZ2VudFN0eWxlOjpwbHVnSW5zU3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKK1N0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmltYWdl
Q29udHJvbHNTdHlsZVNoZWV0OworI2VuZGlmCiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2Vu
dFN0eWxlOjptZWRpYVF1ZXJ5U3R5bGVTaGVldDsKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVO
VCkKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6OmRhdGFMaXN0U3R5bGVTaGVl
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmggYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCmluZGV4IGIxMWUxMGFlOWQ4YTI5
MDIzMDY2MDhiOTcyOWFiMDEyMWZlYzI0YTAuLmQyNmQ2MDkwOTdjMmZhZDFlMzMxYzQ1ZjQwMWQx
NGZmMDQ4MGUzM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0
eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaApAQCAtNDYs
NiArNDYsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogbWVkaWFD
b250cm9sc1N0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogZnVsbHNj
cmVlblN0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogcGx1Z0luc1N0
eWxlU2hlZXQ7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgc3RhdGljIFN0eWxl
U2hlZXRDb250ZW50cyogaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKICNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBkYXRh
TGlzdFN0eWxlU2hlZXQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMTUyNGEwYmVjM2MzNjI0ZDFiYzY2NGI0NjgyYjJl
M2M1OTgzMTM1ZS4uOTBkZDMyYmFjYjAzM2I3MTczNTI5ZjJmNWQyOTlhMjBjY2UzMjBkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKQEAg
LTE0MjEsMTUgKzE0MjEsMTQgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0U2VydmljZUNvbnRyb2xz
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogICAgIHJldHVybiB0b0lt
cGwocHJlZmVyZW5jZXNSZWYpLT5zZXJ2aWNlQ29udHJvbHNFbmFibGVkKCk7CiB9CiAKLXZvaWQg
V0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYsIGJv
b2wpCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVu
Y2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7Ci0gICAgLy8gSW1hZ2UgY29u
dHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgdG9JbXBsKHByZWZlcmVuY2VzUmVm
KS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoZW5hYmxlZCk7CiB9CiAKLWJvb2wgV0tQcmVmZXJl
bmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYpCitib29sIFdLUHJl
ZmVyZW5jZXNHZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmKQogewotICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVk
LgotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdG9JbXBsKHByZWZlcmVuY2VzUmVmKS0+
aW1hZ2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAogdm9pZCBXS1ByZWZlcmVuY2VzU2V0R2FtZXBh
ZHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcu
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4
IGJhZDQ3YzA3NmVjZGM1YThmZjA5MGY2NzExNzgxNWM3ZWM5ZDY0NDUuLmM0ZWU1MjUwNzY0MmRi
NGU1NGNmYWRmN2ZlZTNiZjFiN2MwZDNkM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDg5LDYgKzQ4OSw3IEBAIHN0YXRpYyB2b2lk
IGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkQ2FsbGJhY2soQ0ZOb3RpZmljYXRp
b25DZW50ZXJSZWYsCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5w
cmVmZXJlbmNlcygpLT5zZXRTaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCghIVtfY29uZmlndXJh
dGlvbiBfc2hvd3NVUkxzSW5Ub29sVGlwc10pOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVm
ZXJlbmNlcygpLT5zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9z
ZXJ2aWNlQ29udHJvbHNFbmFibGVkXSk7CisgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVu
Y2VzKCktPnNldEltYWdlQ29udHJvbHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9pbWFnZUNv
bnRyb2xzRW5hYmxlZF0pOwogCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VzKCkt
PnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koY29udmVydFVzZXJJbnRlcmZhY2VEaXJl
Y3Rpb25Qb2xpY3koW19jb25maWd1cmF0aW9uIHVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3ld
KSk7CiAgICAgLy8gV2UgYXJlIGluIHRoZSBWaWV3J3MgaW5pdGlhbGl6YXRpb24gcm91dGluZSwg
c28gb3VyIGNsaWVudCBoYXNuJ3QgaGFkIHRpbWUgdG8gc2V0IG91ciB1c2VyIGludGVyZmFjZSBk
aXJlY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDliMDJlOTE0MWY5OWY1MDk3YzY5
OGE1YjQ4NTMyMWIwNDViYzdmMWUuLjU5NzRhOWM5NzZiMGY1MjUwNDhjMGY4N2IxZGUwNzk2YTYw
ZWUyZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNTcsNiArMTU3LDcgQEAgc3RhdGlj
IGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJlZm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2
aWV3KCkKICAgICBXS1JldGFpblB0cjxXS1BhZ2VHcm91cFJlZj4gX3BhZ2VHcm91cDsKICAgICBC
T09MIF9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJs
ZWQ7CisgICAgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAjZW5kaWYKICAgICBCT09MIF93
YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93OwogICAgIEJPT0wgX2NvbnRyb2xs
ZWRCeUF1dG9tYXRpb247CkBAIC0yMjcsNiArMjI4LDcgQEAgc3RhdGljIGJvb2wgZGVmYXVsdFNo
b3VsZERlY2lkZVBvbGljeUJlZm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2aWV3KCkKICAgICBfcmVz
cGVjdHNJbWFnZU9yaWVudGF0aW9uID0gTk87CiAgICAgX3Nob3dzVVJMc0luVG9vbFRpcHMgPSBO
TzsKICAgICBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCA9IE5POworICAgIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZCA9IE5POwogI2VuZGlmCiAgICAgX3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3Zl
VG9XaW5kb3cgPSBZRVM7CiAKQEAgLTQyNSw2ICs0MjcsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0
U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIGNv
bmZpZ3VyYXRpb24tPl91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5ID0gc2VsZi0+X3VzZXJJ
bnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k7CiAgICAgY29uZmlndXJhdGlvbi0+X3Nob3dzVVJMc0lu
VG9vbFRpcHMgPSBzZWxmLT5fc2hvd3NVUkxzSW5Ub29sVGlwczsKICAgICBjb25maWd1cmF0aW9u
LT5fc2VydmljZUNvbnRyb2xzRW5hYmxlZCA9IHNlbGYtPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVk
OworICAgIGNvbmZpZ3VyYXRpb24tPl9pbWFnZUNvbnRyb2xzRW5hYmxlZCA9IHNlbGYtPl9pbWFn
ZUNvbnRyb2xzRW5hYmxlZDsKICAgICBjb25maWd1cmF0aW9uLT5fcGFnZUdyb3VwID0gc2VsZi5f
cGFnZUdyb3VwOwogI2VuZGlmCiAjaWYgRU5BQkxFKERBVEFfREVURUNUSU9OKSAmJiBQTEFURk9S
TShJT1NfRkFNSUxZKQpAQCAtMTE0NSwxMyArMTE0OCwxMiBAQCBzdGF0aWMgV2ViS2l0OjpBdHRy
aWJ1dGlvbk92ZXJyaWRlVGVzdGluZyB0b0F0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nKF9XS0F0
dHJpYgogCiAtIChCT09MKV9pbWFnZUNvbnRyb2xzRW5hYmxlZAogewotICAgIC8vIEltYWdlIGNv
bnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgotICAgIHJldHVybiBOTzsKKyAgICByZXR1
cm4gX2ltYWdlQ29udHJvbHNFbmFibGVkOwogfQogCiAtICh2b2lkKV9zZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZDooQk9PTClpbWFnZUNvbnRyb2xzRW5hYmxlZAogewotICAgIC8vIEltYWdlIGNvbnRy
b2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgorICAgIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCA9
IGltYWdlQ29udHJvbHNFbmFibGVkOwogfQogCiAtIChCT09MKV9yZXF1aXJlc1VzZXJBY3Rpb25G
b3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5o
CmluZGV4IDMyNjk4ZDViOGYyOGM5MjEzNjI3N2YzOWVhMWVjNTNlMmM1OGFmNjMuLjgxMzY1NTdj
MWZhYTU2NDA5YzkwZThjNGFjZTVmMTIyMjJjNTI4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uUHJpdmF0ZS5oCkBAIC0xMDUsNyArMTA1LDcgQEAgdHlwZWRlZiBOU19FTlVNKE5TVUludGVn
ZXIsIF9XS0F0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nKSB7CiAjZWxzZQogQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0U2hvd3NVUkxzSW5Ub29sVGlwczopIEJPT0wgX3Nob3dzVVJM
c0luVG9vbFRpcHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMikpOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX3NlcnZp
Y2VDb250cm9sc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMikpOwotQHByb3Bl
cnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9p
bWFnZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfREVQUkVDQVRFRCgiSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQiLCBtYWNvcygxMC4xMiwgMTIuMCkpOworQHByb3BlcnR5IChu
b25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9pbWFnZUNv
bnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdLX01BQ19UQkEpKTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UmVxdWlyZXNVc2VyQWN0aW9u
Rm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcjopIEJPT0wgX3JlcXVpcmVzVXNlckFjdGlvbkZvckVk
aXRpbmdDb250cm9sc01hbmFnZXIgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMikpOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRDUFVMaW1pdDopIGRvdWJs
ZSBfY3B1TGltaXQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldFBhZ2VHcm91cDopIFdLUGFnZUdyb3Vw
UmVmIF9wYWdlR3JvdXAgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4xMy40KSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
ODFkODAwMjkwNmNlZjljYzYyNGM2OTkzMjYyYzUyZTNlNjQ4NDkxNS4uZmM4Mjg5MDczYTQyOTA1
YzAxOTNhM2FmNWQ2NzAyZDAwY2MyYTg3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEx
LTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
UmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0byBhY2NvdW50IGZv
ciBpbWFnZSBjb250cm9scy4KKworICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMjEt
MTEtMjkgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1pbnRzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9ucyBhbmQgYmFzZWxpbmVzLiBV
bnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5
Yjc1ZDc2YTA0OGFiNDAxNWJlMDJhZTY2NzQ3YTJiODUxMmRkYmQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
VmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9k
eSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBh
dCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJv
bHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRkMDVmMzViNGI2MWNkNDdlYWM1ZmM0MTAzZmYzNDJiYWZm
MjA0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNv
bnRyb2xzLWJhc2ljLmh0bWwKQEAgLTAsMCArMSw4IEBACisgPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKQorCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0
cnVlKTsKKworPC9zY3JpcHQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJyZXNvdXJjZXMvZ3JlZW4tMjU2
eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KKzwvYm9keT4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjRiMjlkNTNjNTlmNWU4ZWJmN2YzMmRkNDk2M2Mw
ODYxOTU3NDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNh
dGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9E
WX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCww
KSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0K
K2xheWVyIGF0ICgyMTUsMzApIHNpemUgMjd4MjYKKyAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0
ICgyMDcsMjIpIHNpemUgMjd4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0g
W2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJh
c2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzIxM2EzY2RmOWEzMGJjOTNiYzg4NzAxMmRi
NDdmM2Q0NDU2ZjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
L2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXpl
IDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5
ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9yPSMwMDAwMDAwMF0KK2xheWVy
IGF0ICgyMTQsMzApIHNpemUgMjh4MjYKKyAgUmVuZGVyQnV0dG9uIHtCVVRUT059IGF0ICgyMDYs
MjIpIHNpemUgMjh4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29sb3I9I0MwQzBDMF0gW2JvcmRl
cjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445655</attachid>
            <date>2021-12-01 19:00:47 -0800</date>
            <delta_ts>2021-12-02 15:00:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211201190046.patch</filename>
            <type>text/plain</type>
            <size>62552</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDUwNThkOWEzNzdmMjhhODE2MDg3NTkxYmIwZjA3MWQ1YWZlMWQ1YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCitAaW50ZXJmYWNlIE5TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgKCkKKysgKE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKilz
ZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6KE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
dHlsZSlzdHlsZTsKKy0gKE5TUmVjdClyZWN0Rm9yQm91bmRzOihOU1JlY3QpYm91bmRzIHByZWZl
cnJlZEVkZ2U6KE5TUmVjdEVkZ2UpcHJlZmVycmVkRWRnZTsKK0BlbmQKKworI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3
NzI0MDQ3Li5iZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAKIGRvbS9XaGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxE
b2N1bWVudC5jcHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9y
dHMvTWVzc2FnZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXJJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1
ZDYuLjBjNjZmN2QwYmJiMzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTks
NiArMTI5OSw3IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNE
MjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdB
RTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5
RjcyNDZGNERDNzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuaCAqLzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1
MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAw
MkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuaCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1l
Rm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NTNFQjYzNTE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAK
IAkJNDRFODhFNTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZB
NjY3RjAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRF
ODhFNTQyMzZBNjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIaWdobGlnaHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3
NDQ5QzAwMDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29u
dHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcy
N0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNv
bnRyb2xzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3
RjQwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElt
YWdlQ29udHJvbHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0
RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjA1MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAg
Ki8sCisJCQkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3Bw
ICovLAorCQkJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmgg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0yMDcwMCw2ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFk
b3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVB
MEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JG
MEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgz
NDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVD
QTA1NzQwMDUwMDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYs
NiArMjEyNzMsMTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAw
MDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1h
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQw
MEIyOUZEMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC0zNDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMx
IC8qIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJB
MTBEOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJB
NkMgLyogSW1hZ2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1
NzM5NzIwMDBDNDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFj
NTBiMTk1OTY3OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEw
MWNlMjRlZGYyZDFiYWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAg
ICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2Ug
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgog
I2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQx
N2FhOTg0YTQxNDkzLi5hYjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBA
CiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwK
ICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAg
ICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAg
Ii1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBw
bGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAg
ICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmlu
ZGV4IDk0NTY4YjE1YjdhNmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2
NTI1NGYwZTY0ZGEwZWZjYzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRv
cgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5
LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJu
YWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBM
RV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0
ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2
NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2Vk
SW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJl
dHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9j
dXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBp
c1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICBy
ZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNv
bnRyb2xzTWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJh
MTMwMzYzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJF
bGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJI
VE1MU3R5bGVFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJT
aGFkb3dSb290LmgiCisjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitz
dGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkK
K3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+
IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0
cmluZyYgaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWlu
VGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBpZGVudGlmaWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9v
dCgpOworICAgIGlmICghc2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93
Um9vdE1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHNoYWRvd1Jvb3QtPmhhc0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRp
ZmllcigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29u
dHJvbEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRv
d0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4o
Kmhvc3QpIH07CisgICAgcmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBu
dWxscHRyOworfQorCitib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9k
ZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAg
IGlmICghaG9zdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250
cm9sUm9vdCA9IHN0YXRpY19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dS
b290KCkpLmdldEVsZW1lbnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQor
ICAgICAgICByZXR1cm4gbm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQm
IGVsZW1lbnQpCit7CisgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAg
IFJlZiBzaGFkb3dSb290ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Cisg
ICAgYXV0byBjb250cm9sTGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50Lmdl
dCgpKTsKKyAgICBjb250cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVt
ZW50SWRlbnRpZmllcigpKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5
ZXIpOworICAgIAorICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3Ry
aW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNv
bnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2Vy
QWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50Ojpj
cmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBz
dHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVu
ZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0
b25FbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQo
KSwgbnVsbHB0cik7CisgICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0
dG9uSWRlbnRpZmllcigpKTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7
CisgICAgCisgICAgaWYgKGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsg
aXM8UmVuZGVySW1hZ2U+KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlcklt
YWdlPigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNv
bnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMv
SW1hZ2VDb250cm9sc01hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2
NmJiNzc4MjM4YmNmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFj
L0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9s
c01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9s
cyhjb25zdCBIVE1MRWxlbWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50
KGNvbnN0IE5vZGUmKTsKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOwor
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIElt
YWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBl
MDk1YTJmNWI4NDMyMi4uNmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0
MjksNyBAQCBhdXRvY2FwaXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dp
cmVsZXNzY2hhbmdlZAogb253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQK
IG9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Vi
a2l0LXBsYXlzaW5saW5lCiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVv
cGxheWJhY2tkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAK
aW5kZXggODA1M2E2MjUyZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uZDEwOGZiMThi
NzlmMDkxMmNlNjE3MTU0MTdiNzhhYzMzOGJiOGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCkBAIC02MCw2ICs2MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKEhUTUxJbWFnZUVsZW1lbnQpOwpAQCAtMzA4LDYgKzMxMiwxMSBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9y
bWFsOwogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwg
bV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIp
IHsKKyAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAg
ICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
bG9hZGluZ0F0dHIpIHsKICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8g
bGF6eSB0cmFuc2l0aW9uLgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZh
bHVlKHZhbHVlKSkKQEAgLTM3Niw2ICszODUsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
aWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVm
b3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYg
cmVuZGVySW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJl
bmRlckltYWdlUmVzb3VyY2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFn
ZVJlc291cmNlKCk7CiAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkK
QEAgLTc1Myw2ICs3NjYsNTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRh
Y2htZW50SWRlbnRpZmllcigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxl
bWVudCBpcyBpbnNpZGUgYSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2Ug
Y29udHJvbC4KKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwor
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCisgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NF
UlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7
CisgICAgSW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisK
K3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1
dG8gc2hhZG93Um9vdCA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dS
b290LT5maXJzdENoaWxkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1M
RWxlbWVudD4oKm5vZGUpKSk7CisgICAgICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2Rl
KTsKKyAgICB9CisgICAgYXV0byogcmVuZGVyT2JqZWN0ID0gcmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlck9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIGRvd25jYXN0PFJlbmRlckltYWdl
PigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyhmYWxzZSk7Cit9CisKK2Jvb2wg
SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250cm9scygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKCp0aGlzKTsKK30KKworYm9vbCBIVE1MSW1h
Z2VFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBj
b25zdAoreworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBs
b2dpYy4gU2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2
MjQuLjdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2IzNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBpbWFnZU1lbnVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVkOyB9CisjZW5kaWYKKwog
ICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTky
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21F
bGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdl
RGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRl
SW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBi
b29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1M
U291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNl
RWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMyw5IEBAIHByaXZhdGU6
CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVz
ZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKICAgICBib29sIG1faGFkTmFtZUJlZm9yZUF0dHJpYnV0ZUNoYW5nZWQgeyBmYWxzZSB9
OyAvLyBGSVhNRTogV2Ugb25seSBuZWVkIHRoaXMgYmVjYXVzZSBwYXJzZUF0dHJpYnV0ZSgpIGNh
bid0IHNlZSB0aGUgb2xkIHZhbHVlLgogICAgIGJvb2wgbV9pc0Ryb3BwZWRJbWFnZVBsYWNlaG9s
ZGVyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4
NTZlMjU1MjdiOWFhM2Q2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKworZGl2I2ltYWdlLWNvbnRyb2xz
IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgY29sb3I6IHRyYW5zcGFyZW50OworfQorCitkaXYj
aW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAg
ICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250
cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNp
dHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250
cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1
NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFm
YTgxOTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4NjAx
NzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUxOWJk
ZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNw
cApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxl
dmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJy
ZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5nLWxl
dmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRyb2xz
LWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAg
IGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0Ijsg
YnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBjZTdh
ZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUxMzEx
OWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBh
Y2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2ZTU5
OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5mOTIxM2UyZjM1NzE0OGYxNDBjNGQ0MTBkMGUxMTQxN2Q3
NmYwYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE0
NSw2ICsxNDUsMTAgQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VEZXZp
Y2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRUZXh0
KCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8
SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkuaW1hZ2VNZW51RW5hYmxlZCgpOworI2VuZGlmCiB9
CiAKIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2MTBhOTY0MGQyMmRjMDJm
M2NmMjY4NTllLi4xZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMTAg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25z
dCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydDoKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKICAgICAg
ICAgcmV0dXJuIGFkanVzdE1ldGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAg
ICAgIHJldHVybiBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQp
OworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBhZGp1c3RDYXBzTG9ja0luZGljYXRvclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpAQCAtNTQ2LDYgKzU1MCwxMCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dChjb25zdCBSZW5kZXJCb3gmIGJveCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29u
cwogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydChi
b3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVs
ZFJlc3VsdHNCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6Cisg
ICAgICAgIHJldHVybiBwYWludEltYWdlQ29udHJvbHNCdXR0b24oYm94LCBwYWludEluZm8sIGlu
dGVncmFsU25hcHBlZFJlY3QpOworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBh
cnQ6CiAgICAgICAgIHJldHVybiBwYWludENhcHNMb2NrSW5kaWNhdG9yKGJveCwgcGFpbnRJbmZv
LCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNjEyLDYg
KzYyMCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25seShjb25zdCBSZW5kZXJC
b3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluCiAgICAgY2FzZSBTZWFyY2hGaWVsZERl
Y29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6
CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYK
ICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC02ODYsNiArNjk3LDkgQEAg
dm9pZCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJCb3gmIGJveCwg
Y29uc3QgUGFpbnRJbmZvJiBwYWludEkKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBh
cnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNl
IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzcsNiArMTI5MSwxMiBAQCB2b2lkIFJl
bmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogU2Vjb25kcyBS
ZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jhcihjb25zdCBS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDBfczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNWU1NGVmMTFjZTY5NDczNDBkZTM4NjY4ZWZmMzU0
ZTU1N2ZkMjVhNC4uOGExZTRkZmFkMWE3MTkwYmMxNWNiNTJlZjMyNDQzNzVkYWM2NDllMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTI0OSw2ICsyNDksMTEgQEAg
cHVibGljOgogCiAgICAgZW51bSBGaWxlVXBsb2FkRGVjb3JhdGlvbnMgeyBTaW5nbGVGaWxlLCBN
dWx0aXBsZUZpbGVzIH07CiAgICAgdmlydHVhbCB2b2lkIHBhaW50RmlsZVVwbG9hZEljb25EZWNv
cmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmIC8qaW5wdXRSZW5kZXJlciovLCBjb25zdCBSZW5k
ZXJPYmplY3QmIC8qYnV0dG9uUmVuZGVyZXIqLywgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYsIEljb24qLCBGaWxlVXBsb2FkRGVjb3JhdGlvbnMpIHsgfQorICAgIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0
dG9uU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEludFNpemUoKTsgfQorICAgIHZpcnR1YWwgSW50U2l6
ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25PZmZzZXQoKSBjb25zdCB7IHJldHVybiBJbnRT
aXplKCk7IH0KKyNlbmRpZgogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICB2
aXJ0dWFsIExheW91dFNpemUgYXR0YWNobWVudEludHJpbnNpY1NpemUoY29uc3QgUmVuZGVyQXR0
YWNobWVudCYpIGNvbnN0IHsgcmV0dXJuIExheW91dFNpemUoKTsgfQpAQCAtMzU5LDYgKzM2NCwx
MSBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGFkanVzdExpc3RCdXR0b25TdHlsZShS
ZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFp
bnRMaXN0QnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0
IEZsb2F0UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0
dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CisgICAgdmlydHVh
bCBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25z
dCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyByZXR1cm4gdHJ1ZTsgfQorI2VuZGlmCiAK
ICAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0UHJvZ3Jlc3NCYXJTdHlsZShSZW5kZXJTdHlsZSYsIGNv
bnN0IEVsZW1lbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgcGFpbnRQcm9ncmVzc0Jhcihj
b25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgeyBy
ZXR1cm4gdHJ1ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaApp
bmRleCBjNDFmNzQ5MDA5MjVlZmExNjVlZWVlODlkNjhiOGU2NjYxMDUzNTU1Li4wYjcxODk4NTM1
N2YxZmM4NzA5OWJlOTQ5YTMyMDE5YWU1MGViYzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGhlbWVNYWMuaApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBwcml2YXRlOgogICAgIHZv
aWQgcGFpbnRMaXN0QnV0dG9uRm9ySW5wdXQoY29uc3QgUmVuZGVyT2JqZWN0JiwgR3JhcGhpY3ND
b250ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jik7CiAgICAgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5
bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7CiAjZW5kaWYKKyAg
ICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIGFkanVzdEltYWdlQ29u
dHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1lbnQqKSBjb25zdCBmaW5h
bDsKKyNlbmRpZgogCiAjaWYgRU5BQkxFKFZJREVPKQogICAgIGJvb2wgc3VwcG9ydHNDbG9zZWRD
YXB0aW9uaW5nKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMjA4LDYgKzIxMiwx
NCBAQCBwcml2YXRlOgogICAgIGludCBtaW5pbXVtUHJvZ3Jlc3NCYXJIZWlnaHQoY29uc3QgUmVu
ZGVyU3R5bGUmKSBjb25zdDsKICAgICBjb25zdCBJbnRTaXplKiBwcm9ncmVzc0JhclNpemVzKCkg
Y29uc3Q7CiAgICAgY29uc3QgaW50KiBwcm9ncmVzc0Jhck1hcmdpbnMoTlNDb250cm9sU2l6ZSkg
Y29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBwYWlu
dEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZv
JiwgY29uc3QgSW50UmVjdCYpIGZpbmFsOworICAgIEludFNpemUgaW1hZ2VDb250cm9sc0J1dHRv
blNpemUoKSBjb25zdCBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25Qb3Np
dGlvbk9mZnNldCgpIGNvbnN0IGZpbmFsOworCisgICAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSBjb25zdDsKKyNlbmRpZgogCiAgICAg
bXV0YWJsZSBSZXRhaW5QdHI8TlNQb3BVcEJ1dHRvbkNlbGw+IG1fcG9wdXBCdXR0b247CiAgICAg
bXV0YWJsZSBSZXRhaW5QdHI8TlNTZWFyY2hGaWVsZENlbGw+IG1fc2VhcmNoOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCmluZGV4IGFhNjBmMmViMmM0MjMyZWM5
MGZhOTNmZWEwZmU4MDcwNjFiMzU4YzIuLmY3MzU1ZTVmMGY0NzczZTg0ZmY5ZDRmZDRhYWZiZjFk
MGFiYTcxOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0K
QEAgLTc1LDYgKzc1LDcgQEAKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TQXBwZWFyYW5jZVNQSS5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNDZWxsU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21h
Yy9OU0ltYWdlU1BJLmg+CisjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJC
dXR0b25DZWxsU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU1NoYXJpbmdTZXJ2aWNlUGlj
a2VyU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL09iakNS
dW50aW1lRXh0cmFzLmg+CkBAIC04MiwxNyArODMsNiBAQAogI2ltcG9ydCA8d3RmL1N0ZExpYkV4
dHJhcy5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCi0jaWYgRU5BQkxF
KFNFUlZJQ0VfQ09OVFJPTFMpCi0KLS8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbnRvIGFuIFNQ
SS5oIGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKLSNpbXBvcnQgPEFwcEtpdC9BcHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KLSNlbHNlCi0jZGVm
aW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCi0jZW5kaWYKLQotI2VuZGlmIC8vIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQotCiAvLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBm
aWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVyZmFjZSBOU1RleHRGaWVsZENlbGwgKCkK
IC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09wdGlvbnNXaXRoRnJhbWU6KE5TUmVjdClj
ZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9sVmlldyBpbmNsdWRlRm9jdXM6KEJPT0wp
aW5jbHVkZUZvY3VzOwpAQCAtMTA5Myw2ICsxMDgzLDE0IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6
OmFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQq
KSBjCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIFJlbmRl
clRoZW1lTWFjOjphZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0
eWxlLCBjb25zdCBFbGVtZW50KikgY29uc3QKK3sKKyAgICBzdHlsZS5zZXRIZWlnaHQoTGVuZ3Ro
KGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkuaGVpZ2h0KCksIExlbmd0aFR5cGU6OkZpeGVkKSk7
CisgICAgc3R5bGUuc2V0V2lkdGgoTGVuZ3RoKGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkud2lk
dGgoKSwgTGVuZ3RoVHlwZTo6Rml4ZWQpKTsKK30KKyNlbmRpZgorCiBib29sIFJlbmRlclRoZW1l
TWFjOjpwYWludFRleHRGaWVsZChjb25zdCBSZW5kZXJPYmplY3QmIG8sIGNvbnN0IFBhaW50SW5m
byYgcGFpbnRJbmZvLCBjb25zdCBGbG9hdFJlY3QmIHIpCiB7CiAgICAgTG9jYWxDdXJyZW50R3Jh
cGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCgpKTsKQEAgLTIyODIs
NiArMjI4MCw0NyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVNYWM6OmZpbGVMaXN0TmFtZUZvcldpZHRo
KGNvbnN0IEZpbGVMaXN0KiBmaWxlTGlzdCwgY29uc3QgRm9udAogICAgIHJldHVybiBTdHJpbmdU
cnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1bmNhdGUsIHdpZHRoLCBmb250KTsKIH0K
IAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCogUmVuZGVyVGhlbWVNYWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3QK
K3sKKyAgICBpZiAoIW1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbikgeworICAgICAgICBtX3NlcnZp
Y2VzUm9sbG92ZXJCdXR0b24gPSBbTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCBzZXJ2aWNl
Um9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6TlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlUm9s
bG92ZXJdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJlemVsU3R5bGU6
TlNCZXplbFN0eWxlUm91bmRlZERpc2Nsb3N1cmVdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uIHNldEJ1dHRvblR5cGU6TlNCdXR0b25UeXBlUHVzaE9uUHVzaE9mZl07CisgICAg
ICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0SW1hZ2VQb3NpdGlvbjpOU0ltYWdlT25s
eV07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0U3RhdGU6Tk9dOworICAg
IH0KKyAgICByZXR1cm4gbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uLmdldCgpOworfQorCitib29s
IFJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2Jq
ZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEludFJlY3Qm
IHJlY3QpCit7CisgICAgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqY2VsbCA9IHNlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsKCk7CisgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0
IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCgpKTsKKyAgICBHcmFwaGljc0NvbnRleHRT
dGF0ZVNhdmVyIHN0YXRlU2F2ZXIocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgcGFpbnRJbmZv
LmNvbnRleHQoKS50cmFuc2xhdGUocmVjdC5sb2NhdGlvbigpKTsKKyAgICBJbnRSZWN0IGlubmVy
RnJhbWUoSW50UG9pbnQoKSwgcmVjdC5zaXplKCkpOworICAgIFtjZWxsIGRyYXdXaXRoRnJhbWU6
aW5uZXJGcmFtZSBpblZpZXc6ZG9jdW1lbnRWaWV3Rm9yKHJlbmRlcmVyKV07CisgICAgW2NlbGwg
c2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0ludFNpemUgUmVu
ZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpLmNlbGxTaXplKTsKK30KKwor
SW50U2l6ZSBSZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogQ3VycmVudGx5IHRoZSBvZmZzZXRzIHdpbGwgYWx3
YXlzIGJlIHRoZSBzYW1lIG5vIG1hdHRlciB3aGF0IGltYWdlIHJlY3QgeW91IHRyeSB3aXRoLgor
ICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgYmUgdHJ1ZSBpbiB0aGUgZnV0dXJlLgorICAgIHN0
YXRpYyBjb25zdCBpbnQgZHVtbXlEaW1lbnNpb24gPSAxMDA7CisgICAgSW50UmVjdCBkdW1teUlt
YWdlUmVjdCgwLCAwLCBkdW1teURpbWVuc2lvbiwgZHVtbXlEaW1lbnNpb24pOworICAgIE5TUmVj
dCBib3VuZHMgPSBbc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKSByZWN0Rm9yQm91bmRzOmR1
bW15SW1hZ2VSZWN0IHByZWZlcnJlZEVkZ2U6TlNNaW5ZRWRnZV07CisgICAgcmV0dXJuIEludFNp
emUoZHVtbXlEaW1lbnNpb24gLSBib3VuZHMub3JpZ2luLngsIGJvdW5kcy5vcmlnaW4ueSk7Cit9
CisjZW5kaWYKKwogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiBjb25zdCBDR0Zsb2F0
IGF0dGFjaG1lbnRJY29uU2l6ZSA9IDQ4OwogY29uc3QgQ0dGbG9hdCBhdHRhY2htZW50SWNvbkJh
Y2tncm91bmRQYWRkaW5nID0gNjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNw
cAppbmRleCBlMTFkNmZmYTdkZWU5YjQ4MjgxNjUxMjcyNDNkYzc1ZTFjMjM5Y2JjLi5hMTAyNzgw
MzZiYTkwN2RiYzhiY2E1ZTU5NDExMTEzNGY5ZTljMjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
VXNlckFnZW50U3R5bGUuY3BwCkBAIC03NCw2ICs3NCw5IEBAIFN0eWxlU2hlZXRDb250ZW50cyog
VXNlckFnZW50U3R5bGU6Om1hdGhNTFN0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVz
ZXJBZ2VudFN0eWxlOjptZWRpYUNvbnRyb2xzU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50
cyogVXNlckFnZW50U3R5bGU6OmZ1bGxzY3JlZW5TdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRl
bnRzKiBVc2VyQWdlbnRTdHlsZTo6cGx1Z0luc1N0eWxlU2hlZXQ7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCitTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjppbWFnZUNv
bnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRT
dHlsZTo6bWVkaWFRdWVyeVN0eWxlU2hlZXQ7CiAjaWYgRU5BQkxFKERBVEFMSVNUX0VMRU1FTlQp
CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpkYXRhTGlzdFN0eWxlU2hlZXQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oIGIvU291
cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAppbmRleCBiMTFlMTBhZTlkOGEyOTAy
MzA2NjA4Yjk3MjlhYjAxMjFmZWMyNGEwLi5kMjZkNjA5MDk3YzJmYWQxZTMzMWM0NWY0MDFkMTRm
ZjA0ODBlMzNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHls
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKQEAgLTQ2LDYg
KzQ2LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIG1lZGlhQ29u
dHJvbHNTdHlsZVNoZWV0OwogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGZ1bGxzY3Jl
ZW5TdHlsZVNoZWV0OwogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIHBsdWdJbnNTdHls
ZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHN0YXRpYyBTdHlsZVNo
ZWV0Q29udGVudHMqIGltYWdlQ29udHJvbHNTdHlsZVNoZWV0OworI2VuZGlmCiAjaWYgRU5BQkxF
KERBVEFMSVNUX0VMRU1FTlQpCiAgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogZGF0YUxp
c3RTdHlsZVNoZWV0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDE1MjRhMGJlYzNjMzYyNGQxYmM2NjRiNDY4MmIyZTNj
NTk4MzEzNWUuLjkwZGQzMmJhY2IwMzNiNzE3MzUyOWYyZjVkMjk5YTIwY2NlMzIwZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCkBAIC0x
NDIxLDE1ICsxNDIxLDE0IEBAIGJvb2wgV0tQcmVmZXJlbmNlc0dldFNlcnZpY2VDb250cm9sc0Vu
YWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKICAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+c2VydmljZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCi12b2lkIFdL
UHJlZmVyZW5jZXNTZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmLCBib29s
KQordm9pZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQogewotICAgIC8vIEltYWdlIGNvbnRy
b2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgorICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZikt
PnNldEltYWdlQ29udHJvbHNFbmFibGVkKGVuYWJsZWQpOwogfQogCi1ib29sIFdLUHJlZmVyZW5j
ZXNHZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmKQorYm9vbCBXS1ByZWZl
cmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZikKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4K
LSAgICByZXR1cm4gZmFsc2U7CisgICAgcmV0dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmlt
YWdlQ29udHJvbHNFbmFibGVkKCk7CiB9CiAKIHZvaWQgV0tQcmVmZXJlbmNlc1NldEdhbWVwYWRz
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBi
YWQ0N2MwNzZlY2RjNWE4ZmYwOTBmNjcxMTc4MTVjN2VjOWQ2NDQ1Li5jNGVlNTI1MDc2NDJkYjRl
NTRjZmFkZjdmZWUzYmYxYjdjMGQzZDNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAgLTQ4OSw2ICs0ODksNyBAQCBzdGF0aWMgdm9pZCBo
YXJkd2FyZUtleWJvYXJkQXZhaWxhYmlsaXR5Q2hhbmdlZENhbGxiYWNrKENGTm90aWZpY2F0aW9u
Q2VudGVyUmVmLAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZXMoKS0+c2V0U2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRp
b24gX3Nob3dzVVJMc0luVG9vbFRpcHNdKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVy
ZW5jZXMoKS0+c2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZF0pOworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNl
cygpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCghIVtfY29uZmlndXJhdGlvbiBfaW1hZ2VDb250
cm9sc0VuYWJsZWRdKTsKIAogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5z
ZXRVc2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5KGNvbnZlcnRVc2VySW50ZXJmYWNlRGlyZWN0
aW9uUG9saWN5KFtfY29uZmlndXJhdGlvbiB1c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9saWN5XSkp
OwogICAgIC8vIFdlIGFyZSBpbiB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJvdXRpbmUsIHNv
IG91ciBjbGllbnQgaGFzbid0IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRlcmZhY2UgZGly
ZWN0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCA5YjAyZTkxNDFmOTlmNTA5N2M2OThh
NWI0ODUzMjFiMDQ1YmM3ZjFlLi41OTc0YTljOTc2YjBmNTI1MDQ4YzBmODdiMWRlMDc5NmE2MGVl
MmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMTU3LDYgKzE1Nyw3IEBAIHN0YXRpYyBi
b29sIGRlZmF1bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmll
dygpCiAgICAgV0tSZXRhaW5QdHI8V0tQYWdlR3JvdXBSZWY+IF9wYWdlR3JvdXA7CiAgICAgQk9P
TCBfc2hvd3NVUkxzSW5Ub29sVGlwczsKICAgICBCT09MIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVk
OworICAgIEJPT0wgX2ltYWdlQ29udHJvbHNFbmFibGVkOwogI2VuZGlmCiAgICAgQk9PTCBfd2Fp
dHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRvdzsKICAgICBCT09MIF9jb250cm9sbGVk
QnlBdXRvbWF0aW9uOwpAQCAtMjI3LDYgKzIyOCw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91
bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgX3Jlc3Bl
Y3RzSW1hZ2VPcmllbnRhdGlvbiA9IE5POwogICAgIF9zaG93c1VSTHNJblRvb2xUaXBzID0gTk87
CiAgICAgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgPSBOTzsKKyAgICBfaW1hZ2VDb250cm9sc0Vu
YWJsZWQgPSBOTzsKICNlbmRpZgogICAgIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRv
V2luZG93ID0gWUVTOwogCkBAIC00MjUsNiArNDI3LDcgQEAgc3RhdGljIGJvb2wgZGVmYXVsdFNo
b3VsZERlY2lkZVBvbGljeUJlZm9yZUxvYWRpbmdRdWlja0xvb2tQcmV2aWV3KCkKICAgICBjb25m
aWd1cmF0aW9uLT5fdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeSA9IHNlbGYtPl91c2VySW50
ZXJmYWNlRGlyZWN0aW9uUG9saWN5OwogICAgIGNvbmZpZ3VyYXRpb24tPl9zaG93c1VSTHNJblRv
b2xUaXBzID0gc2VsZi0+X3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgY29uZmlndXJhdGlvbi0+
X3NlcnZpY2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5fc2VydmljZUNvbnRyb2xzRW5hYmxlZDsK
KyAgICBjb25maWd1cmF0aW9uLT5faW1hZ2VDb250cm9sc0VuYWJsZWQgPSBzZWxmLT5faW1hZ2VD
b250cm9sc0VuYWJsZWQ7CiAgICAgY29uZmlndXJhdGlvbi0+X3BhZ2VHcm91cCA9IHNlbGYuX3Bh
Z2VHcm91cDsKICNlbmRpZgogI2lmIEVOQUJMRShEQVRBX0RFVEVDVElPTikgJiYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKQEAgLTExNDUsMTMgKzExNDgsMTIgQEAgc3RhdGljIFdlYktpdDo6QXR0cmli
dXRpb25PdmVycmlkZVRlc3RpbmcgdG9BdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZyhfV0tBdHRy
aWIKIAogLSAoQk9PTClfaW1hZ2VDb250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250
cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KLSAgICByZXR1cm4gTk87CisgICAgcmV0dXJu
IF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKIH0KIAogLSAodm9pZClfc2V0SW1hZ2VDb250cm9sc0Vu
YWJsZWQ6KEJPT0wpaW1hZ2VDb250cm9sc0VuYWJsZWQKIHsKLSAgICAvLyBJbWFnZSBjb250cm9s
cyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICBfaW1hZ2VDb250cm9sc0VuYWJsZWQgPSBp
bWFnZUNvbnRyb2xzRW5hYmxlZDsKIH0KIAogLSAoQk9PTClfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
RWRpdGluZ0NvbnRyb2xzTWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaApp
bmRleCAzMjY5OGQ1YjhmMjhjOTIxMzYyNzdmMzllYTFlYzUzZTJjNThhZjYzLi44MTM2NTU3YzFm
YWE1NjQwOWM5MGU4YzRhY2U1ZjEyMjIyYzUyOGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
blByaXZhdGUuaApAQCAtMTA1LDcgKzEwNSw3IEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2Vy
LCBfV0tBdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZykgewogI2Vsc2UKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFNob3dzVVJMc0luVG9vbFRpcHM6KSBCT09MIF9zaG93c1VSTHNJ
blRvb2xUaXBzIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldFNlcnZpY2VDb250cm9sc0VuYWJsZWQ6KSBCT09MIF9zZXJ2aWNl
Q29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKLUBwcm9wZXJ0
eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1h
Z2VDb250cm9sc0VuYWJsZWQgV0tfQVBJX0RFUFJFQ0FURUQoIkltYWdlIGNvbnRyb2xzIGFyZSBu
byBsb25nZXIgc3VwcG9ydGVkIiwgbWFjb3MoMTAuMTIsIDEyLjApKTsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCBzZXR0ZXI9X3NldEltYWdlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfaW1hZ2VDb250
cm9sc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcyhXS19NQUNfVEJBKSk7CiBAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldFJlcXVpcmVzVXNlckFjdGlvbkZv
ckVkaXRpbmdDb250cm9sc01hbmFnZXI6KSBCT09MIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0
aW5nQ29udHJvbHNNYW5hZ2VyIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTIpKTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0Q1BVTGltaXQ6KSBkb3VibGUg
X2NwdUxpbWl0IFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRQYWdlR3JvdXA6KSBXS1BhZ2VHcm91cFJl
ZiBfcGFnZUdyb3VwIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoMTAuMTMuNCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgx
ZDgwMDI5MDZjZWY5Y2M2MjRjNjk5MzI2MmM1MmUzZTY0ODQ5MTUuLmZjODI4OTA3M2E0MjkwNWMw
MTkzYTNhZjVkNjcwMmQwMGNjMmE4NzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0z
MCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJl
LWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gYWNjb3VudCBmb3Ig
aW1hZ2UgY29udHJvbHMuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTEx
LTI5ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4gVW5y
ZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWI3
NWQ3NmEwNDhhYjQwMTViZTAyYWU2Njc0N2EyYjg1MTJkZGJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQg
KDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIw
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy5odG1sCkBAIC0wLDAgKzEsOCBAQAorIDxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1
ZSk7CisKKzwvc2NyaXB0PgorPGJvZHk+Cis8aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1Nngy
NTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI0YjI5ZDUzYzU5ZjVlOGViZjdmMzJkZDQ5NjNjMDg2
MTk1NzQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRh
bGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkg
c2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
K2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCits
YXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2CisgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MjA3LDIyKSBzaXplIDI3eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFti
b3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMyMTNhM2NkZjlhMzBiYzkzYmM4ODcwMTJkYjQ3
ZjNkNDQ1NmY1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAy
NTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCitsYXllciBh
dCAoMjE0LDMwKSBzaXplIDI4eDI2CisgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA2LDIy
KSBzaXplIDI4eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6
ICgycHggb3V0c2V0ICNDMEMwQzApXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445768</attachid>
            <date>2021-12-02 13:11:48 -0800</date>
            <delta_ts>2021-12-02 14:01:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211202131147.patch</filename>
            <type>text/plain</type>
            <size>61920</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDUwNThkOWEzNzdmMjhhODE2MDg3NTkxYmIwZjA3MWQ1YWZlMWQ1YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCitAaW50ZXJmYWNlIE5TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgKCkKKysgKE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKilz
ZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6KE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
dHlsZSlzdHlsZTsKKy0gKE5TUmVjdClyZWN0Rm9yQm91bmRzOihOU1JlY3QpYm91bmRzIHByZWZl
cnJlZEVkZ2U6KE5TUmVjdEVkZ2UpcHJlZmVycmVkRWRnZTsKK0BlbmQKKworI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3
NzI0MDQ3Li5iZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAKIGRvbS9XaGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxE
b2N1bWVudC5jcHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9y
dHMvTWVzc2FnZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXJJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1
ZDYuLjBjNjZmN2QwYmJiMzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTks
NiArMTI5OSw3IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNE
MjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdB
RTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5
RjcyNDZGNERDNzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuaCAqLzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1
MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAw
MkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuaCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1l
Rm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NTNFQjYzNTE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAK
IAkJNDRFODhFNTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZB
NjY3RjAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRF
ODhFNTQyMzZBNjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIaWdobGlnaHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3
NDQ5QzAwMDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29u
dHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcy
N0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNv
bnRyb2xzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3
RjQwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElt
YWdlQ29udHJvbHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0
RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjA1MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAg
Ki8sCisJCQkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3Bw
ICovLAorCQkJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmgg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0yMDcwMCw2ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFk
b3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVB
MEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JG
MEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgz
NDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVD
QTA1NzQwMDUwMDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYs
NiArMjEyNzMsMTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAw
MDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1h
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQw
MEIyOUZEMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC0zNDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMx
IC8qIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJB
MTBEOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJB
NkMgLyogSW1hZ2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1
NzM5NzIwMDBDNDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFj
NTBiMTk1OTY3OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEw
MWNlMjRlZGYyZDFiYWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAg
ICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2Ug
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgog
I2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQx
N2FhOTg0YTQxNDkzLi5hYjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBA
CiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwK
ICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAg
ICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAg
Ii1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBw
bGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAg
ICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmlu
ZGV4IDk0NTY4YjE1YjdhNmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2
NTI1NGYwZTY0ZGEwZWZjYzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRv
cgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5
LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJu
YWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBM
RV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0
ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2
NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2Vk
SW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJl
dHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9j
dXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBp
c1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICBy
ZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNv
bnRyb2xzTWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJh
MTMwMzYzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJF
bGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJI
VE1MU3R5bGVFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJT
aGFkb3dSb290LmgiCisjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitz
dGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkK
K3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+
IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0
cmluZyYgaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWlu
VGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBpZGVudGlmaWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9v
dCgpOworICAgIGlmICghc2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93
Um9vdE1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHNoYWRvd1Jvb3QtPmhhc0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRp
ZmllcigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29u
dHJvbEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRv
d0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4o
Kmhvc3QpIH07CisgICAgcmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBu
dWxscHRyOworfQorCitib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9k
ZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAg
IGlmICghaG9zdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250
cm9sUm9vdCA9IHN0YXRpY19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dS
b290KCkpLmdldEVsZW1lbnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQor
ICAgICAgICByZXR1cm4gbm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQm
IGVsZW1lbnQpCit7CisgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAg
IFJlZiBzaGFkb3dSb290ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Cisg
ICAgYXV0byBjb250cm9sTGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50Lmdl
dCgpKTsKKyAgICBjb250cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVt
ZW50SWRlbnRpZmllcigpKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5
ZXIpOworICAgIAorICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3Ry
aW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNv
bnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2Vy
QWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50Ojpj
cmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBz
dHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVu
ZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0
b25FbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQo
KSwgbnVsbHB0cik7CisgICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0
dG9uSWRlbnRpZmllcigpKTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7
CisgICAgCisgICAgaWYgKGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsg
aXM8UmVuZGVySW1hZ2U+KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlcklt
YWdlPigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNv
bnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMv
SW1hZ2VDb250cm9sc01hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2
NmJiNzc4MjM4YmNmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFj
L0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9s
c01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9s
cyhjb25zdCBIVE1MRWxlbWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50
KGNvbnN0IE5vZGUmKTsKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOwor
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIElt
YWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBl
MDk1YTJmNWI4NDMyMi4uNmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0
MjksNyBAQCBhdXRvY2FwaXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dp
cmVsZXNzY2hhbmdlZAogb253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQK
IG9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Vi
a2l0LXBsYXlzaW5saW5lCiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVv
cGxheWJhY2tkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAK
aW5kZXggODA1M2E2MjUyZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uZDEwOGZiMThi
NzlmMDkxMmNlNjE3MTU0MTdiNzhhYzMzOGJiOGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCkBAIC02MCw2ICs2MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKEhUTUxJbWFnZUVsZW1lbnQpOwpAQCAtMzA4LDYgKzMxMiwxMSBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9y
bWFsOwogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwg
bV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIp
IHsKKyAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAg
ICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
bG9hZGluZ0F0dHIpIHsKICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8g
bGF6eSB0cmFuc2l0aW9uLgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZh
bHVlKHZhbHVlKSkKQEAgLTM3Niw2ICszODUsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
aWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVm
b3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYg
cmVuZGVySW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJl
bmRlckltYWdlUmVzb3VyY2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFn
ZVJlc291cmNlKCk7CiAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkK
QEAgLTc1Myw2ICs3NjYsNTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRh
Y2htZW50SWRlbnRpZmllcigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxl
bWVudCBpcyBpbnNpZGUgYSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2Ug
Y29udHJvbC4KKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwor
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCisgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NF
UlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7
CisgICAgSW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisK
K3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1
dG8gc2hhZG93Um9vdCA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dS
b290LT5maXJzdENoaWxkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1M
RWxlbWVudD4oKm5vZGUpKSk7CisgICAgICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2Rl
KTsKKyAgICB9CisgICAgYXV0byogcmVuZGVyT2JqZWN0ID0gcmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlck9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIGRvd25jYXN0PFJlbmRlckltYWdl
PigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyhmYWxzZSk7Cit9CisKK2Jvb2wg
SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250cm9scygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKCp0aGlzKTsKK30KKworYm9vbCBIVE1MSW1h
Z2VFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBj
b25zdAoreworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBs
b2dpYy4gU2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2
MjQuLjdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2IzNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBpbWFnZU1lbnVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVkOyB9CisjZW5kaWYKKwog
ICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTky
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21F
bGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdl
RGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRl
SW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBi
b29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1M
U291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNl
RWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMyw5IEBAIHByaXZhdGU6
CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVz
ZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKICAgICBib29sIG1faGFkTmFtZUJlZm9yZUF0dHJpYnV0ZUNoYW5nZWQgeyBmYWxzZSB9
OyAvLyBGSVhNRTogV2Ugb25seSBuZWVkIHRoaXMgYmVjYXVzZSBwYXJzZUF0dHJpYnV0ZSgpIGNh
bid0IHNlZSB0aGUgb2xkIHZhbHVlLgogICAgIGJvb2wgbV9pc0Ryb3BwZWRJbWFnZVBsYWNlaG9s
ZGVyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4
NTZlMjU1MjdiOWFhM2Q2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKworZGl2I2ltYWdlLWNvbnRyb2xz
IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgY29sb3I6IHRyYW5zcGFyZW50OworfQorCitkaXYj
aW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAg
ICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250
cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNp
dHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250
cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1
NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFm
YTgxOTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4NjAx
NzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUxOWJk
ZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNw
cApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxl
dmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJy
ZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5nLWxl
dmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRyb2xz
LWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAg
IGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0Ijsg
YnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBjZTdh
ZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUxMzEx
OWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBh
Y2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2ZTU5
OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5mOTIxM2UyZjM1NzE0OGYxNDBjNGQ0MTBkMGUxMTQxN2Q3
NmYwYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE0
NSw2ICsxNDUsMTAgQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VEZXZp
Y2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRUZXh0
KCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8
SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkuaW1hZ2VNZW51RW5hYmxlZCgpOworI2VuZGlmCiB9
CiAKIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2MTBhOTY0MGQyMmRjMDJm
M2NmMjY4NTllLi4xZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMTAg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25z
dCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydDoKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKICAgICAg
ICAgcmV0dXJuIGFkanVzdE1ldGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAg
ICAgIHJldHVybiBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQp
OworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBhZGp1c3RDYXBzTG9ja0luZGljYXRvclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpAQCAtNTQ2LDYgKzU1MCwxMCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dChjb25zdCBSZW5kZXJCb3gmIGJveCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29u
cwogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydChi
b3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVs
ZFJlc3VsdHNCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6Cisg
ICAgICAgIHJldHVybiBwYWludEltYWdlQ29udHJvbHNCdXR0b24oYm94LCBwYWludEluZm8sIGlu
dGVncmFsU25hcHBlZFJlY3QpOworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBh
cnQ6CiAgICAgICAgIHJldHVybiBwYWludENhcHNMb2NrSW5kaWNhdG9yKGJveCwgcGFpbnRJbmZv
LCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNjEyLDYg
KzYyMCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25seShjb25zdCBSZW5kZXJC
b3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluCiAgICAgY2FzZSBTZWFyY2hGaWVsZERl
Y29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6
CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYK
ICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC02ODYsNiArNjk3LDkgQEAg
dm9pZCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJCb3gmIGJveCwg
Y29uc3QgUGFpbnRJbmZvJiBwYWludEkKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBh
cnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNl
IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzcsNiArMTI5MSwxMiBAQCB2b2lkIFJl
bmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogU2Vjb25kcyBS
ZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jhcihjb25zdCBS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDBfczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNWU1NGVmMTFjZTY5NDczNDBkZTM4NjY4ZWZmMzU0
ZTU1N2ZkMjVhNC4uMzBlZDZhOTE5MTcwY2E2YjI4MWUzMTU0NmMzN2I4ZDc4MzM0NzMzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM1OSw2ICszNTksMTEgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVy
U3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlz
dEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9h
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0
eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAg
dmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3Qg
UmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJu
IHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXgg
YzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1NS4uMGI3MTg5ODUzNTdmMWZj
ODcwOTliZTk0OWEzMjAxOWFlNTBlYmMwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBh
aW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4
dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJl
bmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xz
QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7Cisj
ZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTQgQEAg
cHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0
eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0
OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0
OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFn
ZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXpl
KCkgY29uc3QgZmluYWw7CisgICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRpb25P
ZmZzZXQoKSBjb25zdCBmaW5hbDsKKworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwg
KnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFi
bGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFi
bGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkz
ZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3
MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03
NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJ
bWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQ
SS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGlt
ZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBm
aWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0j
aW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBB
UFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBp
biB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChD
RkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZy
YW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1
ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1
c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwog
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVt
ZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwg
Y29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFn
ZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAg
IHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCks
IExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6
cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIy
ODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25z
dCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNh
dG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwq
IFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxv
dmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVy
XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6
ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBb
bV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOwor
ICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9Cisg
ICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5k
ZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0
KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2Nh
bENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVT
YXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250
ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1l
KEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVy
RnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENv
bnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRo
ZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIElu
dFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNp
emUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNv
bnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBi
ZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAv
LyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMg
Y29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJl
Y3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91
bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUlt
YWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1
bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRh
Y2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3Jv
dW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5k
ZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5
MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJB
Z2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdl
bnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVz
ZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyog
VXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9s
c1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6
Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5
bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYw
OGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgw
ZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xz
U3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5
bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVl
dDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENv
bnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5
bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMx
MzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwx
NSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBh
cmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJ
bWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNl
c0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNv
bnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdj
MDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2Zh
ZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdh
cmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRl
clJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVu
Y2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9z
aG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2Vz
KCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VD
b250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+
c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNF
bmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAg
ICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIg
Y2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlv
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1
MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBk
ZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQog
ICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3No
b3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAg
ICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9y
UGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0
b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVj
aWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0lt
YWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAg
IF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVk
ID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRv
dyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGRE
ZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJh
dGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlw
cyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2
aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAg
Y29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJv
bHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3Jv
dXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9u
T3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAK
IC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMg
YXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1h
Z2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVk
OihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VD
b250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRp
bmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXgg
MzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0
MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dL
QXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29s
VGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRy
b2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5v
bmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29u
dHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9u
Z2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNF
bmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0
aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0Nv
bnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVM
aW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3Bh
Z2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAy
OTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2Ez
YWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQg
c3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdl
IGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAg
QXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliNzVkNzZh
MDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDAp
IHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNFbmFibGVkKHRydWUpOwor
Cis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2Lmpw
ZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0
NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIg
YXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNywy
Mikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVy
OiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjEzYTNjZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0
NTZmNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1
NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAo
OCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIx
NCwzMCkgc2l6ZSAyOHgyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6
ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4
IG91dHNldCAjQzBDMEMwKV0K
</data>
<flag name="review"
          id="471012"
          type_id="1"
          status="+"
          setter="thorton"
    />
    <flag name="commit-queue"
          id="471018"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445770</attachid>
            <date>2021-12-02 13:39:07 -0800</date>
            <delta_ts>2021-12-02 13:44:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211202133907.patch</filename>
            <type>text/plain</type>
            <size>61806</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDUwNThkOWEzNzdmMjhhODE2MDg3NTkxYmIwZjA3MWQ1YWZlMWQ1YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCitAaW50ZXJmYWNlIE5TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgKCkKKysgKE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKilz
ZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6KE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
dHlsZSlzdHlsZTsKKy0gKE5TUmVjdClyZWN0Rm9yQm91bmRzOihOU1JlY3QpYm91bmRzIHByZWZl
cnJlZEVkZ2U6KE5TUmVjdEVkZ2UpcHJlZmVycmVkRWRnZTsKK0BlbmQKKworI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3
NzI0MDQ3Li5iZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAKIGRvbS9XaGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxE
b2N1bWVudC5jcHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9y
dHMvTWVzc2FnZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXJJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1
ZDYuLjBjNjZmN2QwYmJiMzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTks
NiArMTI5OSw3IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNE
MjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdB
RTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5
RjcyNDZGNERDNzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuaCAqLzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1
MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAw
MkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuaCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1l
Rm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NTNFQjYzNTE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAK
IAkJNDRFODhFNTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZB
NjY3RjAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRF
ODhFNTQyMzZBNjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIaWdobGlnaHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3
NDQ5QzAwMDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29u
dHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcy
N0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNv
bnRyb2xzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3
RjQwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElt
YWdlQ29udHJvbHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0
RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjA1MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAg
Ki8sCisJCQkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3Bw
ICovLAorCQkJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmgg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0yMDcwMCw2ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFk
b3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVB
MEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JG
MEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgz
NDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVD
QTA1NzQwMDUwMDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYs
NiArMjEyNzMsMTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAw
MDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1h
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQw
MEIyOUZEMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC0zNDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMx
IC8qIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJB
MTBEOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJB
NkMgLyogSW1hZ2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1
NzM5NzIwMDBDNDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFj
NTBiMTk1OTY3OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEw
MWNlMjRlZGYyZDFiYWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAg
ICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2Ug
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgog
I2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQx
N2FhOTg0YTQxNDkzLi5hYjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBA
CiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwK
ICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAg
ICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAg
Ii1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBw
bGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAg
ICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmlu
ZGV4IDk0NTY4YjE1YjdhNmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2
NTI1NGYwZTY0ZGEwZWZjYzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRv
cgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5
LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJu
YWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBM
RV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0
ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2
NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2Vk
SW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJl
dHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9j
dXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBp
c1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICBy
ZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNv
bnRyb2xzTWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJh
MTMwMzYzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJF
bGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJI
VE1MU3R5bGVFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJT
aGFkb3dSb290LmgiCisjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitz
dGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkK
K3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+
IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0
cmluZyYgaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWlu
VGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBpZGVudGlmaWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9v
dCgpOworICAgIGlmICghc2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93
Um9vdE1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHNoYWRvd1Jvb3QtPmhhc0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRp
ZmllcigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29u
dHJvbEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRv
d0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4o
Kmhvc3QpIH07CisgICAgcmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBu
dWxscHRyOworfQorCitib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9k
ZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAg
IGlmICghaG9zdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250
cm9sUm9vdCA9IHN0YXRpY19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dS
b290KCkpLmdldEVsZW1lbnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQor
ICAgICAgICByZXR1cm4gbm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQm
IGVsZW1lbnQpCit7CisgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAg
IFJlZiBzaGFkb3dSb290ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Cisg
ICAgYXV0byBjb250cm9sTGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50Lmdl
dCgpKTsKKyAgICBjb250cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVt
ZW50SWRlbnRpZmllcigpKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5
ZXIpOworICAgIAorICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3Ry
aW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNv
bnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2Vy
QWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50Ojpj
cmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBz
dHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVu
ZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0
b25FbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQo
KSwgbnVsbHB0cik7CisgICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0
dG9uSWRlbnRpZmllcigpKTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7
CisgICAgCisgICAgaWYgKGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsg
aXM8UmVuZGVySW1hZ2U+KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlcklt
YWdlPigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNv
bnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMv
SW1hZ2VDb250cm9sc01hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2
NmJiNzc4MjM4YmNmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFj
L0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9s
c01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9s
cyhjb25zdCBIVE1MRWxlbWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50
KGNvbnN0IE5vZGUmKTsKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOwor
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIElt
YWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBl
MDk1YTJmNWI4NDMyMi4uNmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0
MjksNyBAQCBhdXRvY2FwaXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dp
cmVsZXNzY2hhbmdlZAogb253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQK
IG9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Vi
a2l0LXBsYXlzaW5saW5lCiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVv
cGxheWJhY2tkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAK
aW5kZXggODA1M2E2MjUyZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uZDEwOGZiMThi
NzlmMDkxMmNlNjE3MTU0MTdiNzhhYzMzOGJiOGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCkBAIC02MCw2ICs2MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKEhUTUxJbWFnZUVsZW1lbnQpOwpAQCAtMzA4LDYgKzMxMiwxMSBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9y
bWFsOwogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwg
bV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIp
IHsKKyAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAg
ICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
bG9hZGluZ0F0dHIpIHsKICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8g
bGF6eSB0cmFuc2l0aW9uLgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZh
bHVlKHZhbHVlKSkKQEAgLTM3Niw2ICszODUsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
aWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVm
b3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYg
cmVuZGVySW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJl
bmRlckltYWdlUmVzb3VyY2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFn
ZVJlc291cmNlKCk7CiAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkK
QEAgLTc1Myw2ICs3NjYsNTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRh
Y2htZW50SWRlbnRpZmllcigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxl
bWVudCBpcyBpbnNpZGUgYSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2Ug
Y29udHJvbC4KKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwor
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCisgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NF
UlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7
CisgICAgSW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisK
K3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1
dG8gc2hhZG93Um9vdCA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dS
b290LT5maXJzdENoaWxkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1M
RWxlbWVudD4oKm5vZGUpKSk7CisgICAgICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2Rl
KTsKKyAgICB9CisgICAgYXV0byogcmVuZGVyT2JqZWN0ID0gcmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlck9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIGRvd25jYXN0PFJlbmRlckltYWdl
PigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyhmYWxzZSk7Cit9CisKK2Jvb2wg
SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250cm9scygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKCp0aGlzKTsKK30KKworYm9vbCBIVE1MSW1h
Z2VFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBj
b25zdAoreworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBs
b2dpYy4gU2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2
MjQuLjdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2IzNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBpbWFnZU1lbnVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVkOyB9CisjZW5kaWYKKwog
ICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTky
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21F
bGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdl
RGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRl
SW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBi
b29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1M
U291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNl
RWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMyw5IEBAIHByaXZhdGU6
CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVz
ZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKICAgICBib29sIG1faGFkTmFtZUJlZm9yZUF0dHJpYnV0ZUNoYW5nZWQgeyBmYWxzZSB9
OyAvLyBGSVhNRTogV2Ugb25seSBuZWVkIHRoaXMgYmVjYXVzZSBwYXJzZUF0dHJpYnV0ZSgpIGNh
bid0IHNlZSB0aGUgb2xkIHZhbHVlLgogICAgIGJvb2wgbV9pc0Ryb3BwZWRJbWFnZVBsYWNlaG9s
ZGVyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4
NTZlMjU1MjdiOWFhM2Q2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKworZGl2I2ltYWdlLWNvbnRyb2xz
IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgY29sb3I6IHRyYW5zcGFyZW50OworfQorCitkaXYj
aW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAg
ICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250
cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNp
dHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250
cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1
NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFm
YTgxOTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4NjAx
NzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUxOWJk
ZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNw
cApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxl
dmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJy
ZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5nLWxl
dmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRyb2xz
LWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAg
IGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0Ijsg
YnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBjZTdh
ZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUxMzEx
OWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBh
Y2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2ZTU5
OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5mOTIxM2UyZjM1NzE0OGYxNDBjNGQ0MTBkMGUxMTQxN2Q3
NmYwYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE0
NSw2ICsxNDUsMTAgQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VEZXZp
Y2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRUZXh0
KCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8
SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkuaW1hZ2VNZW51RW5hYmxlZCgpOworI2VuZGlmCiB9
CiAKIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2MTBhOTY0MGQyMmRjMDJm
M2NmMjY4NTllLi4xZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMTAg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25z
dCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydDoKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKICAgICAg
ICAgcmV0dXJuIGFkanVzdE1ldGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAg
ICAgIHJldHVybiBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQp
OworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBhZGp1c3RDYXBzTG9ja0luZGljYXRvclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpAQCAtNTQ2LDYgKzU1MCwxMCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dChjb25zdCBSZW5kZXJCb3gmIGJveCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29u
cwogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydChi
b3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVs
ZFJlc3VsdHNCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6Cisg
ICAgICAgIHJldHVybiBwYWludEltYWdlQ29udHJvbHNCdXR0b24oYm94LCBwYWludEluZm8sIGlu
dGVncmFsU25hcHBlZFJlY3QpOworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBh
cnQ6CiAgICAgICAgIHJldHVybiBwYWludENhcHNMb2NrSW5kaWNhdG9yKGJveCwgcGFpbnRJbmZv
LCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNjEyLDYg
KzYyMCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25seShjb25zdCBSZW5kZXJC
b3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluCiAgICAgY2FzZSBTZWFyY2hGaWVsZERl
Y29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6
CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYK
ICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC02ODYsNiArNjk3LDkgQEAg
dm9pZCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJCb3gmIGJveCwg
Y29uc3QgUGFpbnRJbmZvJiBwYWludEkKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBh
cnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNl
IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzcsNiArMTI5MSwxMiBAQCB2b2lkIFJl
bmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogU2Vjb25kcyBS
ZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jhcihjb25zdCBS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDBfczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNWU1NGVmMTFjZTY5NDczNDBkZTM4NjY4ZWZmMzU0
ZTU1N2ZkMjVhNC4uMzBlZDZhOTE5MTcwY2E2YjI4MWUzMTU0NmMzN2I4ZDc4MzM0NzMzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTM1OSw2ICszNTksMTEgQEAg
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVy
U3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50TGlz
dEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBGbG9h
dFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0
eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OworICAgIHZpcnR1YWwgYm9v
bCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFp
bnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KKyNlbmRpZgogCiAgICAg
dmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50UHJvZ3Jlc3NCYXIoY29uc3Qg
UmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJu
IHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKaW5kZXgg
YzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1NS4uMGNiMzRiZThhZmM1OWYx
NGQyNGE5OTEwZDA4NDRhNDA3NTI1ZGE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIHBh
aW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJlbmRlck9iamVjdCYsIEdyYXBoaWNzQ29udGV4
dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJl
bmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOwogI2VuZGlmCisgICAgCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBhZGp1c3RJbWFnZUNvbnRyb2xz
QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3QgZmluYWw7Cisj
ZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1cHBvcnRzQ2xvc2VkQ2FwdGlv
bmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KQEAgLTIwOCw2ICsyMTIsMTIgQEAg
cHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dyZXNzQmFySGVpZ2h0KGNvbnN0IFJlbmRlclN0
eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6ZSogcHJvZ3Jlc3NCYXJTaXplcygpIGNvbnN0
OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJNYXJnaW5zKE5TQ29udHJvbFNpemUpIGNvbnN0
OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGJvb2wgcGFpbnRJbWFn
ZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNv
bnN0IEludFJlY3QmKSBmaW5hbDsKKworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwg
KnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgY29uc3Q7CisjZW5kaWYKIAogICAgIG11dGFi
bGUgUmV0YWluUHRyPE5TUG9wVXBCdXR0b25DZWxsPiBtX3BvcHVwQnV0dG9uOwogICAgIG11dGFi
bGUgUmV0YWluUHRyPE5TU2VhcmNoRmllbGRDZWxsPiBtX3NlYXJjaDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCBhYTYwZjJlYjJjNDIzMmVjOTBmYTkz
ZmVhMGZlODA3MDYxYjM1OGMyLi5mNzM1NWU1ZjBmNDc3M2U4NGZmOWQ0ZmQ0YWFmYmYxZDBhYmE3
MTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tCkBAIC03
NSw2ICs3NSw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0FwcGVhcmFuY2VTUEkuaD4KICNp
bXBvcnQgPHBhbC9zcGkvbWFjL05TQ2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNJ
bWFnZVNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbFNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNTaGFyaW5nU2VydmljZVBpY2tlclNQ
SS5oPgogI2ltcG9ydCA8d3RmL01hdGhFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9PYmpDUnVudGlt
ZUV4dHJhcy5oPgpAQCAtODIsMTcgKzgzLDYgQEAKICNpbXBvcnQgPHd0Zi9TdGRMaWJFeHRyYXMu
aD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAotI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQotCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgZ28gaW50byBhbiBTUEkuaCBm
aWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0j
aW1wb3J0IDxBcHBLaXQvQXBwS2l0RGVmaW5lc19Qcml2YXRlLmg+Ci0jZWxzZQotI2RlZmluZSBB
UFBLSVRfUFJJVkFURV9DTEFTUwotI2VuZGlmCi0KLSNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKLQogLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGludG8gYW4gU1BJLmggZmlsZSBp
biB0aGUgc3BpIGRpcmVjdG9yeS4KIEBpbnRlcmZhY2UgTlNUZXh0RmllbGRDZWxsICgpCiAtIChD
RkRpY3Rpb25hcnlSZWYpX2NvcmVVSURyYXdPcHRpb25zV2l0aEZyYW1lOihOU1JlY3QpY2VsbEZy
YW1lIGluVmlldzooTlNWaWV3ICopY29udHJvbFZpZXcgaW5jbHVkZUZvY3VzOihCT09MKWluY2x1
ZGVGb2N1czsKQEAgLTEwOTMsNiArMTA4MywxNCBAQCB2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1
c3RMaXN0QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgYwog
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQordm9pZCBSZW5kZXJUaGVt
ZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwg
Y29uc3QgRWxlbWVudCopIGNvbnN0Cit7CisgICAgc3R5bGUuc2V0SGVpZ2h0KExlbmd0aChpbWFn
ZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLmhlaWdodCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworICAg
IHN0eWxlLnNldFdpZHRoKExlbmd0aChpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpLndpZHRoKCks
IExlbmd0aFR5cGU6OkZpeGVkKSk7Cit9CisjZW5kaWYKKwogYm9vbCBSZW5kZXJUaGVtZU1hYzo6
cGFpbnRUZXh0RmllbGQoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgRmxvYXRSZWN0JiByKQogewogICAgIExvY2FsQ3VycmVudEdyYXBoaWNz
Q29udGV4dCBsb2NhbENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CkBAIC0yMjgyLDYgKzIy
ODAsNDcgQEAgU3RyaW5nIFJlbmRlclRoZW1lTWFjOjpmaWxlTGlzdE5hbWVGb3JXaWR0aChjb25z
dCBGaWxlTGlzdCogZmlsZUxpc3QsIGNvbnN0IEZvbnQKICAgICByZXR1cm4gU3RyaW5nVHJ1bmNh
dG9yOjpjZW50ZXJUcnVuY2F0ZShzdHJUb1RydW5jYXRlLCB3aWR0aCwgZm9udCk7CiB9CiAKKyNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwq
IFJlbmRlclRoZW1lTWFjOjpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24pIHsKKyAgICAgICAgbV9zZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uID0gW05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgc2VydmljZVJvbGxv
dmVyQnV0dG9uQ2VsbEZvclN0eWxlOk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVy
XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRCZXplbFN0eWxlOk5TQmV6
ZWxTdHlsZVJvdW5kZWREaXNjbG9zdXJlXTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbiBzZXRCdXR0b25UeXBlOk5TQnV0dG9uVHlwZVB1c2hPblB1c2hPZmZdOworICAgICAgICBb
bV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEltYWdlUG9zaXRpb246TlNJbWFnZU9ubHldOwor
ICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldFN0YXRlOk5PXTsKKyAgICB9Cisg
ICAgcmV0dXJuIG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbi5nZXQoKTsKK30KKworYm9vbCBSZW5k
ZXJUaGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYg
cmVuZGVyZXIsIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBJbnRSZWN0JiByZWN0
KQoreworICAgIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKmNlbGwgPSBzZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCgpOworICAgIExvY2FsQ3VycmVudEdyYXBoaWNzQ29udGV4dCBsb2Nh
bENvbnRleHQocGFpbnRJbmZvLmNvbnRleHQoKSk7CisgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVT
YXZlciBzdGF0ZVNhdmVyKHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIHBhaW50SW5mby5jb250
ZXh0KCkudHJhbnNsYXRlKHJlY3QubG9jYXRpb24oKSk7CisgICAgSW50UmVjdCBpbm5lckZyYW1l
KEludFBvaW50KCksIHJlY3Quc2l6ZSgpKTsKKyAgICBbY2VsbCBkcmF3V2l0aEZyYW1lOmlubmVy
RnJhbWUgaW5WaWV3OmRvY3VtZW50Vmlld0ZvcihyZW5kZXJlcildOworICAgIFtjZWxsIHNldENv
bnRyb2xWaWV3Om5pbF07CisgICAgcmV0dXJuIGZhbHNlOworfQorCitJbnRTaXplIFJlbmRlclRo
ZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIElu
dFNpemUoc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKS5jZWxsU2l6ZSk7Cit9CisKK0ludFNp
emUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCgpIGNv
bnN0Cit7CisgICAgLy8gRklYTUU6IEN1cnJlbnRseSB0aGUgb2Zmc2V0cyB3aWxsIGFsd2F5cyBi
ZSB0aGUgc2FtZSBubyBtYXR0ZXIgd2hhdCBpbWFnZSByZWN0IHlvdSB0cnkgd2l0aC4KKyAgICAv
LyBUaGlzIG1heSBub3QgYWx3YXlzIGJlIHRydWUgaW4gdGhlIGZ1dHVyZS4KKyAgICBzdGF0aWMg
Y29uc3QgaW50IGR1bW15RGltZW5zaW9uID0gMTAwOworICAgIEludFJlY3QgZHVtbXlJbWFnZVJl
Y3QoMCwgMCwgZHVtbXlEaW1lbnNpb24sIGR1bW15RGltZW5zaW9uKTsKKyAgICBOU1JlY3QgYm91
bmRzID0gW3NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkgcmVjdEZvckJvdW5kczpkdW1teUlt
YWdlUmVjdCBwcmVmZXJyZWRFZGdlOk5TTWluWUVkZ2VdOworICAgIHJldHVybiBJbnRTaXplKGR1
bW15RGltZW5zaW9uIC0gYm91bmRzLm9yaWdpbi54LCBib3VuZHMub3JpZ2luLnkpOworfQorI2Vu
ZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY29uc3QgQ0dGbG9hdCBhdHRh
Y2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25CYWNrZ3Jv
dW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdl
bnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKaW5k
ZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQzZGM3NWUxYzIzOWNiYy4uYTEwMjc4MDM2YmE5
MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJB
Z2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBAQCBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJB
Z2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdl
bnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVz
ZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRDb250ZW50cyog
VXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6aW1hZ2VDb250cm9s
c1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6
Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVNRU5UKQogU3R5
bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZGF0YUxpc3RTdHlsZVNoZWV0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5ZDhhMjkwMjMwNjYw
OGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5N2MyZmFkMWUzMzFjNDVmNDAxZDE0ZmYwNDgw
ZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBAIC00Niw2ICs0Niw5
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBtZWRpYUNvbnRyb2xz
U3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBmdWxsc2NyZWVuU3R5
bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVnSW5zU3R5bGVTaGVl
dDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBzdGF0aWMgU3R5bGVTaGVldENv
bnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogI2lmIEVOQUJMRShEQVRB
TElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGRhdGFMaXN0U3R5
bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJiMmUzYzU5ODMx
MzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApAQCAtMTQyMSwx
NSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVk
KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRvSW1wbChwcmVm
ZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9pZCBXS1ByZWZl
cmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCkKK3Zv
aWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYg
cHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBjb250cm9scyBh
cmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXRJ
bWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZlcmVuY2VzR2V0
SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQcmVmZXJlbmNl
c0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
CiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAg
cmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5pbWFnZUNv
bnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1lcGFkc0VuYWJs
ZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggYmFkNDdj
MDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlkNjQ0NS4uYzRlZTUyNTA3NjQyZGI0ZTU0Y2Zh
ZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZvaWQgaGFyZHdh
cmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRl
clJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVu
Y2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1cmF0aW9uIF9z
aG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2Vz
KCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX3NlcnZpY2VD
b250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+
c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNF
bmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMoKS0+c2V0VXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURpcmVjdGlvblBv
bGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeV0pKTsKICAg
ICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBzbyBvdXIg
Y2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRpcmVjdGlv
bi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdjNjk4YTViNDg1
MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZhNjBlZTJkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0aWMgYm9vbCBk
ZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQog
ICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAgIEJPT0wgX3No
b3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5hYmxlZDsKKyAg
ICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wgX3dhaXRzRm9y
UGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJvbGxlZEJ5QXV0
b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVj
aWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9yZXNwZWN0c0lt
YWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9IE5POwogICAg
IF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVk
ID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1vdmVUb1dpbmRv
dyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1bHRTaG91bGRE
ZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAgY29uZmlndXJh
dGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNlckludGVyZmFj
ZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxzSW5Ub29sVGlw
cyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRpb24tPl9zZXJ2
aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAg
Y29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2ltYWdlQ29udHJv
bHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxmLl9wYWdlR3Jv
dXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRGT1JNKElPU19G
QU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0dHJpYnV0aW9u
T3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dLQXR0cmliCiAK
IC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMg
YXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJldHVybiBfaW1h
Z2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJvbHNFbmFibGVk
OihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJl
IG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVkID0gaW1hZ2VD
b250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlvbkZvckVkaXRp
bmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKaW5kZXgg
MzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1N2MxZmFhNTY0
MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2
YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50ZWdlciwgX1dL
QXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NVUkxzSW5Ub29s
VGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2VydmljZUNvbnRy
b2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJvcGVydHkgKG5v
bmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29u
dHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBhcmUgbm8gbG9u
Z2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkgKG5vbmF0b21p
Yywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdlQ29udHJvbHNF
bmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0
aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0Nv
bnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91YmxlIF9jcHVM
aW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0eSAobm9uYXRv
bWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3JvdXBSZWYgX3Bh
Z2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4MWQ4MDAy
OTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li5mYzgyODkwNzNhNDI5MDVjMDE5M2Ez
YWY1ZDY3MDJkMDBjYzJhODc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMzAgIE1l
Z2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQg
c3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3RzIHRvIGFjY291bnQgZm9yIGltYWdl
IGNvbnRyb2xzLgorCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMv
aW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKwogMjAyMS0xMS0yOSAg
QXJjYWR5IEdvbGRtaW50cy1PcmxvdiAgPGFnb2xkbWludHNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR0xJQl0gVXBkYXRlIHRlc3QgZXhwZWN0YXRpb25zIGFuZCBiYXNlbGluZXMuIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdl
cy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTliNzVkNzZh
MDQ4YWI0MDE1YmUwMmFlNjY3NDdhMmI4NTEyZGRiZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0
ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRl
ckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZ
fSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDAp
IHNpemUgMjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgw
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNGQwNWYzNWI0YjYxY2Q0N2VhYzVmYzQxMDNmZjM0MmJhZmYyMDQxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMuaHRtbApAQCAtMCwwICsxLDggQEAKKyA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisJaW50ZXJuYWxzLnNldHRpbmdzLnNldEltYWdlQ29udHJvbHNFbmFibGVkKHRydWUpOwor
Cis8L3NjcmlwdD4KKzxib2R5PgorPGltZyBzcmM9InJlc291cmNlcy9ncmVlbi0yNTZ4MjU2Lmpw
ZyIgeC13ZWJraXQtaW1hZ2VtZW51PgorPC9ib2R5PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkyNGIyOWQ1M2M1OWY1ZThlYmY3ZjMyZGQ0OTYzYzA4NjE5NTc0
NTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtY2F0YWxpbmEv
ZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MTEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDAp
IHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2Nr
IHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAo
OCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUg
MjU2eDI1NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoOCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIg
YXQgKDIxNSwzMCkgc2l6ZSAyN3gyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNywy
Mikgc2l6ZSAyN3gyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVy
OiAoMnB4IG91dHNldCAjQzBDMEMwKV0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzMjEzYTNjZGY5YTMwYmM5M2JjODg3MDEyZGI0N2YzZDQ0
NTZmNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEgQEAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUg
ODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1M
fSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBz
aXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMjU2eDI1
NgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAo
OCw4KSBzaXplIDI1NngyNTYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDApIHNpemUgMjU2eDI1NiBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQgKDIx
NCwzMCkgc2l6ZSAyOHgyNgorICBSZW5kZXJCdXR0b24ge0JVVFRPTn0gYXQgKDIwNiwyMikgc2l6
ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4
IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445774</attachid>
            <date>2021-12-02 14:39:44 -0800</date>
            <delta_ts>2021-12-02 15:00:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233305-20211202143944.patch</filename>
            <type>text/plain</type>
            <size>61888</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLjExMTJhOWM2Y2M1MWFlMzFhM2ViMTM3ODFkNDEwYTc5YWRkNTJh
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIwMjEt
MTEtMjkgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlND
XSBQdWJsaWMgQ2xhc3MgRmllbGQgaW5pdGlhbGl6YXRpb24gaXMgc2xvdwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IDViNjBmODVjNzRhY2NiMmI2NDkzMzU3NzdmNjk3YmRmZTcxY2U0MTguLmY4MDRiNDA3MjIwM2M1
NTQxNDkzNTM5YzQxYjU3MDA2MjIzMjIzNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw5NSBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBmYXN0L2ltYWdlcy9p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sCisKKyAgICAgICAgSW1hZ2UgY29udHJvbCBtZW51cyBh
cmUgbmVlZGVkIGZvciBtYWlsIHRyYW5zaXRpb24gdG8gbW9kZXJuIFdlYktpdCwgc28gcmUtYWRk
IHRoZW0KKyAgICAgICAgYWZ0ZXIgdGhlIHJlbW92YWwgaW4gaHR0cHM6Ly90cmFjLndlYmtpdC5v
cmcvY2hhbmdlc2V0LzI3MjExNy93ZWJraXQKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAg
KiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6CisgICAgICAgICogY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZSk6CisgICAgICAg
ICogY3NzL0NTU1Byb3BlcnRpZXMuanNvbjoKKyAgICAgICAgKiBjc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbjoKKyAgICAgICAgKiBjc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjppc1ZhbHVlQWxsb3dlZEluTW9kZSk6CisgICAgICAgICogZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xz
TWFjOjppbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1hZ2VDb250cm9sSG9zdCk6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlQ29udHJvbHNNYWM6OmNvbnRhaW5lclJlY3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgICogZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwv
SFRNTEF0dHJpYnV0ZU5hbWVzLmluOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpIVE1MSW1hZ2VFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVycyk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29u
dHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdl
Q29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VD
b250cm9scyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpjaGls
ZFNob3VsZENyZWF0ZVJlbmRlcmVyIGNvbnN0KToKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc1NoYWRvd0Nv
bnRyb2xzIGNvbnN0KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9sc01h
Yy5jc3M6IEFkZGVkLgorICAgICAgICAoI2lmIGRlZmluZWQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKToKKyAgICAgICAgKGJ1dHRvbiNpbWFnZS1j
b250cm9scy1idXR0b24pOgorICAgICAgICAoZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRv
biNpbWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFn
ZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OnhX
ZWJraXRJbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVySW1hZ2VDb250cm9sczo6UmVuZGVySW1hZ2VDb250cm9scyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJJbWFnZUNvbnRyb2xzOjp1cGRhdGVMb2dpY2FsV2lkdGgpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVySW1hZ2VDb250cm9sczo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6aGFzQ29udHJvbCk6CisgICAgICAgIChXZWJDb3JlOjppbWFn
ZUNvbnRyb2xIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OmlzSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnQ6OnRyeUNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1lbnRNYWM6OkltYWdlQ29udHJvbHNS
b290RWxlbWVudE1hYyk6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWM6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFj
L0ltYWdlQ29udHJvbHNSb290RWxlbWVudE1hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBwYWdlL0Nv
bnRleHRNZW51Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppbWFnZUZyb21JbWFn
ZUVsZW1lbnROb2RlKToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRNZW51Q29udHJvbGxlcjo6
bWF5YmVDcmVhdGVDb250ZXh0TWVudSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNv
bnRyb2xsZXI6OnNob3dJbWFnZUNvbnRyb2xzTWVudSk6CisgICAgICAgICogcGFnZS9Db250ZXh0
TWVudUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnRleHRSZWNvZ25pdGlvbkNhbmRpZGF0ZUVsZW1l
bnQgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6b3BlcmF0b3I8PCk6CisgICAgICAgICogcGxhdGZvcm0vVGhlbWVUeXBlcy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVt
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OnBhaW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lOjpwYWludEJvcmRlck9ubHkpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhl
bWU6OnBhaW50RGVjb3JhdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFk
anVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZSBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZTo6aW1hZ2VDb250
cm9sc0J1dHRvblNpemUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6Omlt
YWdlQ29udHJvbHNCdXR0b25Qb3NpdGlvbk9mZnNldCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJUaGVtZTo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWVN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6ZG9jdW1lbnRWaWV3Rm9y
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNv
bnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVN
YWM6OnNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJvbHNCdXR0b24pOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25TaXplIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uUG9zaXRp
b25PZmZzZXQgY29uc3QpOgorICAgICAgICAqIHN0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcDoKKyAg
ICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5oOgorCiAyMDIxLTExLTI0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gY2xlYW4gdXAgY29t
cGlsZS10aW1lIGZsYWdzIGFuZCBjb25kaXRpb24gSURMIG1ldGhvZHMgYmVoaW5kIHRoZW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nCmluZGV4IDk4N2YxZjg2ODQ5NWUxOTMwMDNmMDJmOTViMjk2MzhlZDM1NDYz
ZTcuLjMzNTdjMGQ1MGJiODRlYTIwZmE1Mjk2MGU5ODFmZTZjNmJkZjI2YmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVn
YW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2Ug
Y29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIE1vdmUgU1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNl
c1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3Zp
ZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZDlkMjBlMTcwNWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNGJhZDhiNzdiYWU5
NTQzMDBiMWYxYjQyZDk2ODA2NzNkZTUyMzM5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAor
MjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbWFnZSBjb250cm9sIG1lbnVz
IGFyZSBuZWVkZWQgZm9yIG1haWwgdHJhbnNpdGlvbiB0byBtb2Rlcm4gV2ViS2l0LCBzbyByZS1h
ZGQgdGhlbQorICAgICAgICBhZnRlciB0aGUgcmVtb3ZhbCBpbiBodHRwczovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMjcyMTE3L3dlYmtpdAorCisgICAgICAgICogUGxhdGZvcm0vc3BpL21h
Yy9BcHBLaXRTUEkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5j
cHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAg
ICAgICAoV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9z
ZXR1cFBhZ2VDb25maWd1cmF0aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBpbml0XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGha
b25lOl0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xz
RW5hYmxlZF0pOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIF9zZXRJbWFnZUNv
bnRyb2xzRW5hYmxlZDpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb25Qcml2YXRlLmg6CisKIDIwMjEtMTEtMjkgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBQcm92aWRlIGRlZmF1
bHQgdmFsdWVzIGZvciBkZXNjcmlwdG9yIHN0cnVjdCBtZW1iZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IGVjODJiZjVi
NWEyOTlkNzEyMDcwMzQ4ZWM0MWJiZDliNjM2NzY5ZTIuLmVkZjFmZmY1YTg3ZDU5M2I4MzNiZTM3
OTg0MGJlMjRkNjkwNWM3ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC05MzQsNiArOTM0LDE3IEBAIEh5cGVybGlua0F1
ZGl0aW5nRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorSW1h
Z2VDb250cm9sc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogSW5hY3RpdmVNZWRpYUNhcHR1cmVTdGVh
bVJlcHJvbXB0SW50ZXJ2YWxJbk1pbnV0ZXM6CiAgIHR5cGU6IGRvdWJsZQogICB3ZWJjb3JlQmlu
ZGluZzogbm9uZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKaW5kZXggNmRjZjMwYzhkYzQzNzk2Njk1MmJkNTM5YThjYTI4NzBjMjU1NjAwOS4uODM0
ODEyODhmNzYyM2JhM2RiYTQ0ZGVmZWM2ZTMyM2JlODA3N2UxNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xMzIwLDYgKzEzMjAsNyBA
QCAkKFBST0pFQ1RfRElSKS9odG1sL3BhcnNlci9IVE1MRW50aXR5TmFtZXMuaW4KICQoUFJPSkVD
VF9ESVIpL2h0bWwvcGFyc2VyL2NyZWF0ZS1odG1sLWVudGl0eS10YWJsZQogJChQUk9KRUNUX0RJ
UikvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcwogJChQUk9KRUNUX0RJUikvaHRtbC9zaGFk
b3cvbWV0ZXJFbGVtZW50U2hhZG93LmNzcworJChQUk9KRUNUX0RJUikvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvaHRtbC90cmFjay9EYXRhQ3VlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggZGRlNjQ0NDA2MWQyMjMzMmI0MWEwMzg3MTkxMDgwZmY2MTExYmU5MC4uODRm
MDVhYWJhMTc5OGQzOTRjZmY4NTc2YWVkODc4MWNjYjE2ZWQ5ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNzYzLDYgKzE3NjMsNyBAQCBVU0VSX0FHRU5UX1NUWUxFX1NIRUVU
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9wbHVnSW5zLmNzcyBcCiAgICAgJChXZWJDb3JlKS9j
c3MvcXVpcmtzLmNzcyBcCiAgICAgJChXZWJDb3JlKS9jc3Mvc3ZnLmNzcyBcCisgICAgJChXZWJD
b3JlKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MgXAogICAgICQoV2ViQ29y
ZSkvaHRtbC9zaGFkb3cvaW1hZ2VPdmVybGF5LmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3No
YWRvdy9tZXRlckVsZW1lbnRTaGFkb3cuY3NzIFwKICAgICBNb2Rlcm5NZWRpYUNvbnRyb2xzLmNz
cyBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggYWU2OTk3NWZiYmI2Y2NiOWI2MWU0NzA3N2ExYTI1M2JjZGMzYWRiMC4uNTJjMzE5
OTMzYzM0NTAyY2MyNGJmZTkwY2UwZjlkMjYwNzA5NTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvUEFML1BBTC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjk0LDYgKzI5NCw3IEBA
CiAJCTQ0NTBGQ0EwMjFGNUY2MDIwMDRERkE1NiAvKiBRdWlja0xvb2tTb2Z0TGluay5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEZDOUUyMUY1RjYw
MjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEFGMjFGQTU0
RTYwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNv
ZnRMaW5rLmggKi87IH07CiAJCTQ0RTFBOEIwMjFGQTU0RUIwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0
TGluay5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLzsgfTsKKwkJNDRF
RUEwRkYyNzQ3NDM4QTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi87
IH07CiAJCTQ5OTZDMEYzMjcxNzY0NEMwMDJDMTI1RCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ5OTZDMEYyMjcxNzY0MkIwMDJDMTI1
RCAvKiBUQ0NTUEkuaCAqLzsgfTsKIAkJNTE3RTAzRjkyNEI3QzAwNzAwNTQ4OTVBIC8qIElPS2l0
U1BJTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTdFMDNGODI0QjdDMDA2MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCAqLzsgfTsKIAkJNTcwQUI4
RjEyMEFFMkU4RDAwQjhCRTg3IC8qIFNlY0tleVByb3h5U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1NzBBQjhGMDIwQUUyRThEMDBCOEJFODcgLyog
U2VjS2V5UHJveHlTUEkuaCAqLzsgfTsKQEAgLTY5OCw2ICs2OTksNyBAQAogCQk0NDUwRkM5RTIx
RjVGNjAyMDA0REZBNTYgLyogUXVpY2tMb29rU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUXVpY2tMb29rU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDRFMUE4QUQyMUZBNTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ0RTFBOEFFMjFGQTU0REEwMEMzMDQ4RSAvKiBMb29rdXBTb2Z0TGluay5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IExvb2t1cFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0NEVFQTBGRTI3NDc0Mzg5MDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOU1NlcnZpY2Vz
Um9sbG92ZXJCdXR0b25DZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ5
OTZDMEYyMjcxNzY0MkIwMDJDMTI1RCAvKiBUQ0NTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJ
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxN0UwM0Y4MjRCN0MwMDYwMDU0ODk1
QSAvKiBJT0tpdFNQSU1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJT0tp
dFNQSU1hYy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1NzBBQjhGMDIwQUUyRThE
MDBCOEJFODcgLyogU2VjS2V5UHJveHlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VjS2V5UHJveHlT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk2OCw2ICs5NzAsNyBAQAogCQkJ
CTBDNzc4NTdEMUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmgg
Ki8sCiAJCQkJMEM3Nzg1N0UxRjQ1MTMwRjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nTW9tZW50dW1D
YWxjdWxhdG9yU1BJLmggKi8sCiAJCQkJQTExNzVCNTkxRjZCNEE4NDAwQzRCOUYwIC8qIE5TU2Ny
b2xsVmlld1NQSS5oICovLAorCQkJCTQ0RUVBMEZFMjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZp
Y2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8sCiAJCQkJMEM3Nzg1N0YxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU4MDFGNDUx
MzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2VydmljZVNQSS5oICovLAogCQkJCTBDNzc4NTgxMUY0
NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oICovLApAQCAtMTUwNyw2ICsxNTEw
LDcgQEAKIAkJCQkwQzc3ODU5NjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdJbnB1dEZp
bHRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTcxRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU2Nyb2xsaW5nTW9tZW50dW1DYWxjdWxhdG9yU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MTE3NUI1QTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0NEVFQTBGRjI3NDc0MzhBMDA1OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTgxRjQ1MTMwRjAwRjRFQkI2
IC8qIE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4
NTk5MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NoYXJpbmdTZXJ2aWNlU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQkwQzc3ODU5QTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTcGVsbENoZWNrZXJTUEkuaCBp
biBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFj
L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDUwNThkOWEzNzdmMjhhODE2MDg3NTkxYmIwZjA3MWQ1YWZlMWQ1YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0
b25DZWxsU1BJLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKKyNpbXBvcnQgIk5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
UEkuaCIKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFwcEtpdC9B
cHBLaXREZWZpbmVzX1ByaXZhdGUuaD4KKyNpbXBvcnQgPEFwcEtpdC9OU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCA6IE5TQnV0dG9uQ2VsbAorQGVuZAorCitAaW50ZXJmYWNlIE5TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGwgKCkKKysgKE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwgKilz
ZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6KE5TU2hhcmluZ1NlcnZpY2VQaWNrZXJT
dHlsZSlzdHlsZTsKKy0gKE5TUmVjdClyZWN0Rm9yQm91bmRzOihOU1JlY3QpYm91bmRzIHByZWZl
cnJlZEVkZ2U6KE5TUmVjdEVkZ2UpcHJlZmVycmVkRWRnZTsKK0BlbmQKKworI2VuZGlmIC8vIFVT
RShBUFBMRV9JTlRFUk5BTF9TREspCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCA3YjZkNTYxNDY5OTJjZWE0MzdiODliNGU0Y2YxNjQyZTQ3
NzI0MDQ3Li5iZjY0Mzc3MDhiNjk3NTM3MjA0Zjc5YzYyMDQwNDJmZTViNDk1ODkwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMTA2Miw2ICsxMDYyLDcgQEAgZG9tL1dlYktpdFRyYW5zaXRpb25FdmVudC5j
cHAKIGRvbS9XaGVlbEV2ZW50LmNwcAogZG9tL1dpbmRvd0V2ZW50TG9vcC5jcHAKIGRvbS9YTUxE
b2N1bWVudC5jcHAKK2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAKIGRvbS9tZXNzYWdlcG9y
dHMvTWVzc2FnZVBvcnRDaGFubmVsLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENo
YW5uZWxQcm92aWRlci5jcHAKIGRvbS9tZXNzYWdlcG9ydHMvTWVzc2FnZVBvcnRDaGFubmVsUHJv
dmlkZXJJbXBsLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCmluZGV4IGU0ZDlmZjAyNzRhN2IzNzViOWNiNDdkM2E2ODNkNTAzZDgwNTA1
ZDYuLjBjNjZmN2QwYmJiMzM5ZmNmNzhhMDFmNWNiMDBkOThmZmEzZTZiNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyOTks
NiArMTI5OSw3IEBACiAJCTQ0Qzk5MTlGMEYzRDIxMEUwMDU4NjY3MCAvKiBUaGVtZUlPUy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRDOTkxOUQwRjNE
MjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggKi87IH07CiAJCTQ0Q0UyQkJGMjY0Mzc5QUYwMDdB
RTExMCAvKiBXZWJUZXh0SW5kaWNhdG9yTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0Q0UyQkJFMjY0Mzc5OUUwMDdBRTExMCAvKiBXZWJUZXh0
SW5kaWNhdG9yTGF5ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk0NEUzNDlGOTI0NkY0RTE5MDA2ODQ3OUMgLyogTGliV2ViUlRDRW51bVRyYWl0
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMzQ5
RjcyNDZGNERDNzAwNjg0NzlDIC8qIExpYldlYlJUQ0VudW1UcmFpdHMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0NEVFQTEwMDI3NDc1N0YxMDA1
OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJv
bHNNYWMuaCAqLzsgfTsKIAkJNDUwQ0VCRjExNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1
MENFQkVGMTUwNzNCQkUwMDJCQjE0OSAvKiBMYWJlbGFibGVFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDUxMjUwMjMxNURDRTM3RDAw
MkY4NEUyIC8qIFNwaW5CdXR0b25FbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NTEyNTAyMTE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1dHRv
bkVsZW1lbnQuaCAqLzsgfTsKIAkJNDUzRUI2MzcxNTlDNTcwNDAwMDAxQkI3IC8qIERhdGVUaW1l
Rm9ybWF0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NTNFQjYzNTE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtOTA2NSw2ICs5MDY2LDkgQEAK
IAkJNDRFODhFNTEyMzZBNUM4RDAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIaWdobGlnaHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFODhFNTIyMzZB
NjY3RjAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEhpZ2hsaWdodFJlZ2lzdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRF
ODhFNTQyMzZBNjZBMTAwOUI0ODQ3IC8qIEhpZ2hsaWdodC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBIaWdobGlnaHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGNjI3
NDQ5QzAwMDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LmNzczsgcGF0aCA9IGltYWdlQ29u
dHJvbHNNYWMuY3NzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NEVFQTBGQTI3NDcy
N0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbWFnZUNv
bnRyb2xzTWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZDMjc0NzI3
RjQwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElt
YWdlQ29udHJvbHNNYWMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTBDRUJF
RTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDUwQ0VCRUYxNTA3M0JCRTAwMkJCMTQ5IC8qIExhYmVsYWJsZUVs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGFiZWxhYmxlRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NTEyNTAyMDE1RENFMzdEMDAyRjg0
RTIgLyogU3BpbkJ1dHRvbkVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU3BpbkJ1dHRvbkVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMjA1MzEsNiArMjA1MzUsOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQkyRDUwMzY2NzFCQ0REREM0MDBFMjBCQjMgLyogR2VzdHVyZUV2ZW50cy5jcHAg
Ki8sCisJCQkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuY3Bw
ICovLAorCQkJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJbWFnZUNvbnRyb2xzTWFjLmgg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBA
IC0yMDcwMCw2ICsyMDcwNiw3IEBACiAJCTQxNTBGOUVEMTJCNkUwOTkwMDA4Qzg2MCAvKiBzaGFk
b3cgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVB
MEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8sCiAJCQkJN0MxRTk3MjUxQTlGOTgzNDAwN0JG
MEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5jcHAgKi8sCiAJCQkJN0MxRTk3MjYxQTlGOTgz
NDAwN0JGMEZCIC8qIEF1dG9GaWxsQnV0dG9uRWxlbWVudC5oICovLAogCQkJCUU1N0E3NDAxMjVD
QTA1NzQwMDUwMDQ2QiAvKiBEYXRhTGlzdEJ1dHRvbkVsZW1lbnQuY3BwICovLApAQCAtMjEyNjYs
NiArMjEyNzMsMTQgQEAKIAkJCXBhdGggPSBoaWdobGlnaHQ7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwogCQl9OworCQk0NEVFQTBFNjI3M0Y5REVEMDA1OTRBODMgLyogbWFjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0NEVFQTBGNjI3NDQ5QzAw
MDA1OTRBODMgLyogaW1hZ2VDb250cm9sc01hYy5jc3MgKi8sCisJCQkpOworCQkJcGF0aCA9IG1h
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ2NDI0MDQ0MjBFQUYwQkQw
MEIyOUZEMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC0zNDUyNiw2ICszNDU0MSw3IEBACiAJCQkJNzI3QTdGM0EyNDA3OEI4NDAwNEQyOTMx
IC8qIEltYWdlQnVmZmVySU9TdXJmYWNlQmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJB
MTBEOTEwQjM4MThCRDAwMDk5QUE0IC8qIEltYWdlQnVmZmVyUGlwZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0QzRTIxREQyMTgzNDQ0QTAwRTY2RjU1IC8qIEltYWdlQnVmZmVyVXRpbGl0aWVzQ0cu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzc5NzkxQTBENkI5RDBDMDAzODUxQjkg
LyogSW1hZ2VEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwODhGNTI2NEUxQzA4MDAzRTJB
NkMgLyogSW1hZ2VEYXRhU2V0dGluZ3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlGRUE4MUY1
NzM5NzIwMDBDNDJGQiAvKiBJbWFnZURlY29kZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgKaW5kZXggYzM0ZjM1YjFj
NTBiMTk1OTY3OGE0NzVhMmJhMzU3MjY2NzgyNzMyYi4uZjEwOTU4NjkxNWY4MjNmY2ZmNzNiNWEw
MWNlMjRlZGYyZDFiYWViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ByaW1p
dGl2ZVZhbHVlTWFwcGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZl
VmFsdWVNYXBwaW5ncy5oCkBAIC02MDgsNiArNjA4LDExIEBAIHRlbXBsYXRlPD4gaW5saW5lIENT
U1ByaW1pdGl2ZVZhbHVlOjpDU1NQcmltaXRpdmVWYWx1ZShDb250cm9sUGFydCBlKQogICAgICAg
ICBtX3ZhbHVlLnZhbHVlSUQgPSBDU1NWYWx1ZUJvcmRlcmxlc3NBdHRhY2htZW50OwogICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2Ug
SW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAgICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1Zh
bHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOworICAgICAgICBicmVhazsKKyNlbmRpZgog
I2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1dHRvblBhcnQ6CiAgICAg
ICAgIG1fdmFsdWUudmFsdWVJRCA9IENTU1ZhbHVlQXBwbGVQYXlCdXR0b247CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU1Byb3BlcnRpZXMuanNvbgppbmRleCAzM2I5YmE1NTNmMThlMTBmNzViNWJkNDI4OGQx
N2FhOTg0YTQxNDkzLi5hYjhlZGYwMzA3MWUzZWU3YjBmMDViYWFiNTZmNTA2OTIzNDI5OTBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGllcy5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KQEAgLTUwMDgsNiArNTAwOCw3IEBA
CiAgICAgICAgICAgICAgICAgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwK
ICAgICAgICAgICAgICAgICAiZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9yIiwKICAg
ICAgICAgICAgICAgICAicmF0aW5nLWxldmVsLWluZGljYXRvciIsCisgICAgICAgICAgICAgICAg
Ii1pbnRlcm5hbC1pbWFnZS1jb250cm9scy1idXR0b24iLAogICAgICAgICAgICAgICAgICItYXBw
bGUtcGF5LWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgInRleHRhcmVhIiwKICAgICAgICAgICAg
ICAgICAiYXR0YWNobWVudCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVmFs
dWVLZXl3b3Jkcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCmlu
ZGV4IDk0NTY4YjE1YjdhNmVlMWNmZTY0YWRiMTBjNWQ2MzM2ZTMxYzVkNzkuLjY0NjM1M2E0ZDY2
NTI1NGYwZTY0ZGEwZWZjYzRlM2M4ZWY1NDJjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1
ZUtleXdvcmRzLmluCkBAIC04ODcsNiArODg3LDkgQEAgcmVsZXZhbmN5LWxldmVsLWluZGljYXRv
cgogY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IKIGRpc2NyZXRlLWNhcGFjaXR5
LWxldmVsLWluZGljYXRvcgogcmF0aW5nLWxldmVsLWluZGljYXRvcgorI2lmIGRlZmluZWQoRU5B
QkxFX1NFUlZJQ0VfQ09OVFJPTFMpICYmIEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTCistaW50ZXJu
YWwtaW1hZ2UtY29udHJvbHMtYnV0dG9uCisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9BUFBM
RV9QQVkpICYmIEVOQUJMRV9BUFBMRV9QQVkKIC1hcHBsZS1wYXktYnV0dG9uCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRpb21zLmNwcAppbmRleCA2NTQ0
ZjI2ZjUxYTkyM2VlNjMwZTc5MThkYjkzMzg2ZmNhNWU1N2QxLi4yNTI5NzczMWIyZmFkZGViNTA2
NWZmOWJiNzZiNTg2M2Q2ZDFmNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL0NTU1BhcnNlcklkaW9tcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9D
U1NQYXJzZXJJZGlvbXMuY3BwCkBAIC00MCw2ICs0MCwxMCBAQCBib29sIGlzVmFsdWVBbGxvd2Vk
SW5Nb2RlKHVuc2lnbmVkIHNob3J0IGlkLCBDU1NQYXJzZXJNb2RlIG1vZGUpCiAgICAgICAgIHJl
dHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKTsKICAgICBjYXNlIENTU1ZhbHVlV2Via2l0Rm9j
dXNSaW5nQ29sb3I6CiAgICAgICAgIHJldHVybiBpc1VBU2hlZXRCZWhhdmlvcihtb2RlKSB8fCBp
c1F1aXJrc01vZGVCZWhhdmlvcihtb2RlKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykK
KyAgICBjYXNlIENTU1ZhbHVlSW50ZXJuYWxJbWFnZUNvbnRyb2xzQnV0dG9uOgorICAgICAgICBy
ZXR1cm4gaXNVQVNoZWV0QmVoYXZpb3IobW9kZSk7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAg
ICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
bWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNv
bnRyb2xzTWFjLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGZjOTE0OTI0NzNkYTIyY2M3NWM0MDE1M2RhMDJh
MTMwMzYzN2ExCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFn
ZUNvbnRyb2xzTWFjLmNwcApAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisKKyNpbmNsdWRlICJF
bGVtZW50SW5saW5lcy5oIgorI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTERpdkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMuaCIKKyNpbmNsdWRlICJI
VE1MU3R5bGVFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKKyNpbmNsdWRlICJT
aGFkb3dSb290LmgiCisjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9BdG9tU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFj
ZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitz
dGF0aWMgY29uc3QgQXRvbVN0cmluZyYgaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkK
K3sKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPGNvbnN0IEF0b21TdHJpbmc+
IGlkZW50aWZpZXIoImltYWdlLWNvbnRyb2xzIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxp
dGVyYWwpOworICAgIHJldHVybiBpZGVudGlmaWVyOworfQorCitzdGF0aWMgY29uc3QgQXRvbVN0
cmluZyYgaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBNYWlu
VGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uIiwgQXRvbVN0cmluZzo6Q29uc3RydWN0RnJvbUxpdGVyYWwpOworICAg
IHJldHVybiBpZGVudGlmaWVyOworfQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVt
ZW50JiBlbGVtZW50KQoreworICAgIGF1dG8gc2hhZG93Um9vdCA9IGVsZW1lbnQuc2hhZG93Um9v
dCgpOworICAgIGlmICghc2hhZG93Um9vdCB8fCBzaGFkb3dSb290LT5tb2RlKCkgIT0gU2hhZG93
Um9vdE1vZGU6OlVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJu
IHNoYWRvd1Jvb3QtPmhhc0VsZW1lbnRXaXRoSWQoKmltYWdlQ29udHJvbHNFbGVtZW50SWRlbnRp
ZmllcigpLmltcGwoKSk7Cit9CisKK3N0YXRpYyBSZWZQdHI8SFRNTEVsZW1lbnQ+IGltYWdlQ29u
dHJvbEhvc3QoY29uc3QgTm9kZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBub2RlLnNoYWRv
d0hvc3QoKTsKKyAgICBpZiAoIWlzPEhUTUxFbGVtZW50Pihob3N0KSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICBSZWZQdHIgZWxlbWVudCB7ICZkb3duY2FzdDxIVE1MRWxlbWVudD4o
Kmhvc3QpIH07CisgICAgcmV0dXJuIGhhc0NvbnRyb2xzKCplbGVtZW50KSA/IGVsZW1lbnQgOiBu
dWxscHRyOworfQorCitib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9k
ZSYgbm9kZSkKK3sKKyAgICBhdXRvIGhvc3QgPSBpbWFnZUNvbnRyb2xIb3N0KG5vZGUpOworICAg
IGlmICghaG9zdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKFJlZlB0ciBjb250
cm9sUm9vdCA9IHN0YXRpY19jYXN0PFRyZWVTY29wZSY+KCpob3N0LT51c2VyQWdlbnRTaGFkb3dS
b290KCkpLmdldEVsZW1lbnRCeUlkKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkpKQor
ICAgICAgICByZXR1cm4gbm9kZS5pc0Rlc2NlbmRhbnRPZigqY29udHJvbFJvb3QpOworCisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIGNyZWF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQm
IGVsZW1lbnQpCit7CisgICAgUmVmIGRvY3VtZW50ID0gZWxlbWVudC5kb2N1bWVudCgpOworICAg
IFJlZiBzaGFkb3dSb290ID0gZWxlbWVudC5lbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Cisg
ICAgYXV0byBjb250cm9sTGF5ZXIgPSBIVE1MRGl2RWxlbWVudDo6Y3JlYXRlKGRvY3VtZW50Lmdl
dCgpKTsKKyAgICBjb250cm9sTGF5ZXItPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNFbGVt
ZW50SWRlbnRpZmllcigpKTsKKyAgICBzaGFkb3dSb290LT5hcHBlbmRDaGlsZChjb250cm9sTGF5
ZXIpOworICAgIAorICAgIHN0YXRpYyBNYWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgU3Ry
aW5nPiBzaGFkb3dTdHlsZShTdHJpbmdJbXBsOjpjcmVhdGVXaXRob3V0Q29weWluZyhpbWFnZUNv
bnRyb2xzTWFjVXNlckFnZW50U3R5bGVTaGVldCwgc2l6ZW9mKGltYWdlQ29udHJvbHNNYWNVc2Vy
QWdlbnRTdHlsZVNoZWV0KSkpOworICAgIGF1dG8gc3R5bGUgPSBIVE1MU3R5bGVFbGVtZW50Ojpj
cmVhdGUoSFRNTE5hbWVzOjpzdHlsZVRhZywgZG9jdW1lbnQuZ2V0KCksIGZhbHNlKTsKKyAgICBz
dHlsZS0+c2V0VGV4dENvbnRlbnQoc2hhZG93U3R5bGUpOworICAgIHNoYWRvd1Jvb3QtPmFwcGVu
ZENoaWxkKFdURk1vdmUoc3R5bGUpKTsKKyAgICAKKyAgICBhdXRvIGJ1dHRvbiA9IEhUTUxCdXR0
b25FbGVtZW50OjpjcmVhdGUoSFRNTE5hbWVzOjpidXR0b25UYWcsIGVsZW1lbnQuZG9jdW1lbnQo
KSwgbnVsbHB0cik7CisgICAgYnV0dG9uLT5zZXRJZEF0dHJpYnV0ZShpbWFnZUNvbnRyb2xzQnV0
dG9uSWRlbnRpZmllcigpKTsKKyAgICBjb250cm9sTGF5ZXItPmFwcGVuZENoaWxkKGJ1dHRvbik7
CisgICAgCisgICAgaWYgKGF1dG8qIHJlbmRlck9iamVjdCA9IGVsZW1lbnQucmVuZGVyZXIoKTsg
aXM8UmVuZGVySW1hZ2U+KHJlbmRlck9iamVjdCkpCisgICAgICAgIGRvd25jYXN0PFJlbmRlcklt
YWdlPigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyh0cnVlKTsKK30KKworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorCit9IC8vIG5hbWVzcGFjZSBJbWFnZUNv
bnRyb2xzTWFjCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMv
SW1hZ2VDb250cm9sc01hYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyOGNjMDUzMTBmYzVkMzdmZDFlZTQwNjY2
NmJiNzc4MjM4YmNmYTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFj
L0ltYWdlQ29udHJvbHNNYWMuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgSFRNTEVsZW1lbnQ7CitjbGFzcyBOb2RlOworCituYW1lc3BhY2UgSW1hZ2VDb250cm9s
c01hYyB7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworYm9vbCBoYXNDb250cm9s
cyhjb25zdCBIVE1MRWxlbWVudCYpOworYm9vbCBpc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50
KGNvbnN0IE5vZGUmKTsKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOwor
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIElt
YWdlQ29udHJvbHNNYWMKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dHJpYnV0ZU5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KaW5kZXggYWRmMjBlNjUyNzQ2MGU1ZjVmMzBlZmM2ZjBl
MDk1YTJmNWI4NDMyMi4uNmRlYTM4ZWYwOTQ2ZTNlZWQ4M2VmZDBhZTYxNGVlOWQzMzE0NmE2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0cmlidXRlTmFtZXMuaW4KQEAgLTQyOSw2ICs0
MjksNyBAQCBhdXRvY2FwaXRhbGl6ZQogb253ZWJraXRjdXJyZW50cGxheWJhY2t0YXJnZXRpc3dp
cmVsZXNzY2hhbmdlZAogb253ZWJraXRwbGF5YmFja3RhcmdldGF2YWlsYWJpbGl0eWNoYW5nZWQK
IG9ud2Via2l0cHJlc2VudGF0aW9ubW9kZWNoYW5nZWQKK3gtd2Via2l0LWltYWdlbWVudQogd2Vi
a2l0LXBsYXlzaW5saW5lCiB4LXdlYmtpdC1haXJwbGF5CiB4LXdlYmtpdC13aXJlbGVzc3ZpZGVv
cGxheWJhY2tkaXNhYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAK
aW5kZXggODA1M2E2MjUyZDEzNWRjMmNiZjFjZWNmMDEzZTI1ODAwZjE4ODI0Yi4uZDEwOGZiMThi
NzlmMDkxMmNlNjE3MTU0MTdiNzhhYzMzOGJiOGFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxJbWFnZUVsZW1lbnQuY3BwCkBAIC02MCw2ICs2MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCisj
aWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5o
IgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKEhUTUxJbWFnZUVsZW1lbnQpOwpAQCAtMzA4LDYgKzMxMiwxMSBAQCB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbgogICAgICAgICBCbGVuZE1vZGUgYmxlbmRPcCA9IEJsZW5kTW9kZTo6Tm9y
bWFsOwogICAgICAgICBpZiAoIXBhcnNlQ29tcG9zaXRlQW5kQmxlbmRPcGVyYXRvcih2YWx1ZSwg
bV9jb21wb3NpdGVPcGVyYXRvciwgYmxlbmRPcCkpCiAgICAgICAgICAgICBtX2NvbXBvc2l0ZU9w
ZXJhdG9yID0gQ29tcG9zaXRlT3BlcmF0b3I6OlNvdXJjZU92ZXI7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCisgICAgfSBlbHNlIGlmIChuYW1lID09IHdlYmtpdGltYWdlbWVudUF0dHIp
IHsKKyAgICAgICAgbV9pbWFnZU1lbnVFbmFibGVkID0gIXZhbHVlLmlzTnVsbCgpOworICAgICAg
ICB1cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0g
bG9hZGluZ0F0dHIpIHsKICAgICAgICAgLy8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8g
bGF6eSB0cmFuc2l0aW9uLgogICAgICAgICBpZiAoIWhhc0xhenlMb2FkYWJsZUF0dHJpYnV0ZVZh
bHVlKHZhbHVlKSkKQEAgLTM3Niw2ICszODUsMTAgQEAgdm9pZCBIVE1MSW1hZ2VFbGVtZW50Ojpk
aWRBdHRhY2hSZW5kZXJlcnMoKQogICAgIGlmIChtX2ltYWdlTG9hZGVyLT5oYXNQZW5kaW5nQmVm
b3JlTG9hZEV2ZW50KCkpCiAgICAgICAgIHJldHVybjsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIHVwZGF0ZUltYWdlQ29udHJvbHMoKTsKKyNlbmRpZgorCiAgICAgYXV0byYg
cmVuZGVySW1hZ2UgPSBkb3duY2FzdDxSZW5kZXJJbWFnZT4oKnJlbmRlcmVyKCkpOwogICAgIFJl
bmRlckltYWdlUmVzb3VyY2UmIHJlbmRlckltYWdlUmVzb3VyY2UgPSByZW5kZXJJbWFnZS5pbWFn
ZVJlc291cmNlKCk7CiAgICAgaWYgKHJlbmRlckltYWdlUmVzb3VyY2UuY2FjaGVkSW1hZ2UoKSkK
QEAgLTc1Myw2ICs3NjYsNTQgQEAgY29uc3QgU3RyaW5nJiBIVE1MSW1hZ2VFbGVtZW50OjphdHRh
Y2htZW50SWRlbnRpZmllcigpIGNvbnN0CiAKICNlbmRpZiAvLyBFTkFCTEUoQVRUQUNITUVOVF9F
TEVNRU5UKQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIEhUTUxJbWFnZUVs
ZW1lbnQ6OnVwZGF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIC8vIElmIHRoaXMgaW1hZ2UgZWxl
bWVudCBpcyBpbnNpZGUgYSBzaGFkb3cgdHJlZSB0aGVuIGl0IGlzIHBhcnQgb2YgYW4gaW1hZ2Ug
Y29udHJvbC4KKyAgICBpZiAoaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGlmICghZG9jdW1lbnQoKS5zZXR0aW5ncygpLmltYWdlQ29udHJvbHNFbmFibGVkKCkpCisgICAg
ICAgIHJldHVybjsKKyAgICBib29sIGhhc0NvbnRyb2xzID0gaGFzSW1hZ2VDb250cm9scygpOwor
ICAgIGlmICghbV9pbWFnZU1lbnVFbmFibGVkICYmIGhhc0NvbnRyb2xzKQorICAgICAgICBkZXN0
cm95SW1hZ2VDb250cm9scygpOworICAgIGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCAmJiAh
aGFzQ29udHJvbHMpCisgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKTsKK30KKwordm9p
ZCBIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCkKK3sKKyAgICBBU1NF
UlQobV9pbWFnZU1lbnVFbmFibGVkKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7
CisgICAgSW1hZ2VDb250cm9sc01hYzo6Y3JlYXRlSW1hZ2VDb250cm9scygqdGhpcyk7Cit9CisK
K3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGVzdHJveUltYWdlQ29udHJvbHMoKQoreworICAgIGF1
dG8gc2hhZG93Um9vdCA9IHVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jv
b3QpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dS
b290LT5maXJzdENoaWxkKCkpIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklU
WV9JTVBMSUNBVElPTihJbWFnZUNvbnRyb2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1M
RWxlbWVudD4oKm5vZGUpKSk7CisgICAgICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2Rl
KTsKKyAgICB9CisgICAgYXV0byogcmVuZGVyT2JqZWN0ID0gcmVuZGVyZXIoKTsKKyAgICBpZiAo
IXJlbmRlck9iamVjdCkKKyAgICAgICAgcmV0dXJuOworICAgIGRvd25jYXN0PFJlbmRlckltYWdl
PigqcmVuZGVyT2JqZWN0KS5zZXRIYXNTaGFkb3dDb250cm9scyhmYWxzZSk7Cit9CisKK2Jvb2wg
SFRNTEltYWdlRWxlbWVudDo6aGFzSW1hZ2VDb250cm9scygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKCp0aGlzKTsKK30KKworYm9vbCBIVE1MSW1h
Z2VFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNvbnN0IE5vZGUmIGNoaWxkKSBj
b25zdAoreworICAgIHJldHVybiBoYXNTaGFkb3dSb290UGFyZW50KGNoaWxkKSAmJiBIVE1MRWxl
bWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjaGlsZCk7Cit9CisjZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogLy8gRklY
TUU6IFdlIHNob3VsZCBmaW5kIGEgYmV0dGVyIHBsYWNlIGZvciB0aGUgdG91Y2ggY2FsbG91dCBs
b2dpYy4gU2VlIHJkYXI6Ly9wcm9ibGVtLzQ4OTM3NzY3LgogYm9vbCBIVE1MSW1hZ2VFbGVtZW50
Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oCmluZGV4IGIyMDkxNGVmMTdkZTg4ZmE4ZTM3ZWIyYTIyY2QxMjI1N2FhODI2
MjQuLjdmOTE0YTVhZTRjZjlmOTIwYzUwNDA5OWEyMjVmOWYyNDZmY2IzNWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0xMTYsNiArMTE2LDEwIEBAIHB1YmxpYzoK
IAogICAgIGNvbnN0IEF0b21TdHJpbmcmIGltYWdlU291cmNlVVJMKCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBpbWFnZU1lbnVF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVkOyB9CisjZW5kaWYKKwog
ICAgIEhUTUxQaWN0dXJlRWxlbWVudCogcGljdHVyZUVsZW1lbnQoKSBjb25zdDsKICAgICB2b2lk
IHNldFBpY3R1cmVFbGVtZW50KEhUTUxQaWN0dXJlRWxlbWVudCopOwogCkBAIC0xODgsNiArMTky
LDE0IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb3B5Tm9uQXR0cmlidXRlUHJvcGVydGllc0Zyb21F
bGVtZW50KGNvbnN0IEVsZW1lbnQmKSBmaW5hbDsKIAogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdl
RGV2aWNlUGl4ZWxSYXRpbygpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOworICAgIHZvaWQgdHJ5Q3JlYXRl
SW1hZ2VDb250cm9scygpOworICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKKyAgICBi
b29sIGhhc0ltYWdlQ29udHJvbHMoKSBjb25zdDsKKyAgICBib29sIGNoaWxkU2hvdWxkQ3JlYXRl
UmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOworI2VuZGlmCiAKICAgICBIVE1M
U291cmNlRWxlbWVudCogc291cmNlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0U291cmNl
RWxlbWVudChIVE1MU291cmNlRWxlbWVudCopOwpAQCAtMjAxLDYgKzIxMyw5IEBAIHByaXZhdGU6
CiAgICAgQXRvbVN0cmluZyBtX2N1cnJlbnRTcmM7CiAgICAgQXRvbVN0cmluZyBtX3BhcnNlZFVz
ZW1hcDsKICAgICBmbG9hdCBtX2ltYWdlRGV2aWNlUGl4ZWxSYXRpbzsKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07Cisj
ZW5kaWYKICAgICBib29sIG1faGFkTmFtZUJlZm9yZUF0dHJpYnV0ZUNoYW5nZWQgeyBmYWxzZSB9
OyAvLyBGSVhNRTogV2Ugb25seSBuZWVkIHRoaXMgYmVjYXVzZSBwYXJzZUF0dHJpYnV0ZSgpIGNh
bid0IHNlZSB0aGUgb2xkIHZhbHVlLgogICAgIGJvb2wgbV9pc0Ryb3BwZWRJbWFnZVBsYWNlaG9s
ZGVyIHsgZmFsc2UgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cv
bWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFj
L2ltYWdlQ29udHJvbHNNYWMuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1YTZhZWY0NmZiYzkyNDIxMmJiMWU4
NTZlMjU1MjdiOWFhM2Q2YWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKworZGl2I2ltYWdlLWNvbnRyb2xz
IHsKKyAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgcG9zaXRpb246IHJlbGF0aXZlOwor
ICAgIG92ZXJmbG93OiBoaWRkZW47CisgICAgY29sb3I6IHRyYW5zcGFyZW50OworfQorCitkaXYj
aW1hZ2UtY29udHJvbHMgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7CisgICAgcG9zaXRp
b246IGFic29sdXRlOworICAgIHRvcDogMjBweDsKKyAgICByaWdodDogMjBweDsKKyAgICAKKyAg
ICBkaXNwbGF5OiBibG9jazsKKworICAgIGFwcGVhcmFuY2U6IC1pbnRlcm5hbC1pbWFnZS1jb250
cm9scy1idXR0b247CisKKyAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzOworICAgIG9wYWNp
dHk6IDAuMDsKK30KKworZGl2I2ltYWdlLWNvbnRyb2xzOmhvdmVyIGJ1dHRvbiNpbWFnZS1jb250
cm9scy1idXR0b24geworICAgIG9wYWNpdHk6IDEuMDsKK30KKworI2VuZGlmCisKKwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIuY3BwCmluZGV4IDM1MWRlZjU1
NmYxYzM3NGU0NTU1NzliNDhkNmE3MjliYzgyZTlhYjkuLmFjNzdiNjY3YmQyMThjMmZmNmM1NzFm
YTgxOTcxMTRjMGUwOTRlNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4
dE1lbnVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51
Q29udHJvbGxlci5jcHAKQEAgLTczLDYgKzczLDEwIEBACiAjaW5jbHVkZSA8d3RmL1dhbGxUaW1l
Lmg+CiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVyTmFtZXMuaD4KIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorI2luY2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKyNlbmRp
ZgorCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQzLDYgKzE0NywyMSBAQCB2b2lkIENv
bnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51KEV2ZW50JiBldmVudCwgQ29udGV4
dE1lbnVQcm92aWRlciYgcAogICAgIHNob3dDb250ZXh0TWVudShldmVudCk7CiB9CiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworc3RhdGljIEltYWdlKiBpbWFnZUZyb21JbWFnZUVs
ZW1lbnROb2RlKE5vZGUmIG5vZGUpCit7CisgICAgYXV0byogcmVuZGVyZXIgPSBub2RlLnJlbmRl
cmVyKCk7CisgICAgaWYgKCFpczxSZW5kZXJJbWFnZT4ocmVuZGVyZXIpKQorICAgICAgICByZXR1
cm4gbnVsbHB0cjsKKyAgICBhdXRvKiBpbWFnZSA9IGRvd25jYXN0PFJlbmRlckltYWdlPigqcmVu
ZGVyZXIpLmNhY2hlZEltYWdlKCk7CisgICAgaWYgKCFpbWFnZSB8fCBpbWFnZS0+ZXJyb3JPY2N1
cnJlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICByZXR1cm4gaW1hZ2UtPmltYWdl
Rm9yUmVuZGVyZXIocmVuZGVyZXIpOworfQorCisjZW5kaWYKKwogc3RkOjp1bmlxdWVfcHRyPENv
bnRleHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUo
RXZlbnQmIGV2ZW50LCBPcHRpb25TZXQ8SGl0VGVzdFJlcXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENv
bnRleHRNZW51Q29udGV4dDo6VHlwZSBjb250ZXh0VHlwZSkKIHsKICAgICBpZiAoIWlzPE1vdXNl
RXZlbnQ+KGV2ZW50KSkKQEAgLTE2Miw2ICsxODEsMTYgQEAgc3RkOjp1bmlxdWVfcHRyPENvbnRl
eHRNZW51PiBDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZl
bnQKIAogICAgIG1fY29udGV4dCA9IENvbnRleHRNZW51Q29udGV4dChjb250ZXh0VHlwZSwgcmVz
dWx0KTsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGlmIChJbWFnZUNvbnRy
b2xzTWFjOjppc0ltYWdlQ29udHJvbHNCdXR0b25FbGVtZW50KG5vZGUpKSB7CisgICAgICAgIGlm
IChhdXRvKiBpbWFnZSA9IGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnJlc3VsdC5pbm5lck5v
blNoYXJlZE5vZGUoKSkpCisgICAgICAgICAgICBtX2NvbnRleHQuc2V0Q29udHJvbGxlZEltYWdl
KGltYWdlKTsKKworICAgICAgICAvLyBGSVhNRTogSWYgd2UgY291bGRuJ3QgZ2V0IHRoZSBpbWFn
ZSB0aGVuIHdlIHNob3VsZG4ndCB0cnkgdG8gc2hvdyB0aGUgaW1hZ2UgY29udHJvbHMgbWVudSBm
b3IgaXQuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKyNlbmRpZgorICAgIAogICAg
IHJldHVybiBtYWtlVW5pcXVlPENvbnRleHRNZW51PigpOwogfQogCkBAIC0xNTM2LDYgKzE1NjUs
MTcgQEAgdm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dDb250ZXh0TWVudUF0KEZyYW1l
JiBmcmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKwordm9pZCBDb250ZXh0TWVudUNvbnRyb2xsZXI6OnNob3dJbWFnZUNv
bnRyb2xzTWVudShFdmVudCYgZXZlbnQpCit7CisgICAgY2xlYXJDb250ZXh0TWVudSgpOworICAg
IGhhbmRsZUNvbnRleHRNZW51RXZlbnQoZXZlbnQpOworICAgIG1fY2xpZW50LnNob3dDb250ZXh0
TWVudSgpOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuaAppbmRleCA2ZmUyYmQzYTg2N2EyN2FhYzhiNzRiNDFlMzNlYjVkMTg3NmU0
MDdlLi45MDYxZGE3MjRiYzNmODBiMzkwMjRjZGU4NzljYmQ2M2NlNWI3MGJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKQEAgLTY5LDYgKzY5LDEwIEBA
IHB1YmxpYzoKICNpZiBVU0UoQUNDRVNTSUJJTElUWV9DT05URVhUX01FTlVTKQogICAgIHZvaWQg
c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmLCBjb25zdCBJbnRQb2ludCYgY2xpY2tQb2ludCk7CiAj
ZW5kaWYKKyAgICAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2b2lkIHNob3dJ
bWFnZUNvbnRyb2xzTWVudShFdmVudCYpOworI2VuZGlmCiAKIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPENvbnRleHRNZW51PiBtYXliZUNyZWF0ZUNvbnRleHRNZW51KEV2ZW50JiwgT3B0
aW9uU2V0PEhpdFRlc3RSZXF1ZXN0OjpUeXBlPiBoaXRUeXBlLCBDb250ZXh0TWVudUNvbnRleHQ6
OlR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcAppbmRleCAyNzI4NjAx
NzIxNjU3ZWY0Njg1YmIyNzcyOWZhZDhmOWZiNTkwZGY3Li4yNmY0Y2Y0NWE4MWFiMDI4NTUxOWJk
ZDBjNTYwZWNjMGQyZWFmOTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9U
aGVtZVR5cGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNw
cApAQCAtOTEsNiArOTEsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRz
LCBDb250cm9sUGFydCBjb250cm9sUGFydCkKICAgICBjYXNlIENvbnRpbnVvdXNDYXBhY2l0eUxl
dmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImNvbnRpbnVvdXMtY2FwYWNpdHktbGV2ZWwtaW5kaWNh
dG9yLXBhcnQiOyBicmVhazsKICAgICBjYXNlIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRv
clBhcnQ6IHRzIDw8ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJy
ZWFrOwogICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OiB0cyA8PCAicmF0aW5nLWxl
dmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDogdHMgPDwgImltYWdlLWNvbnRyb2xz
LWJ1dHRvbi1wYXJ0IjsgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQogICAg
IGNhc2UgQXBwbGVQYXlCdXR0b25QYXJ0OiB0cyA8PCAiYXBwbGUtcGF5LWJ1dHRvbi1wYXJ0Ijsg
YnJlYWs7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1l
VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAppbmRleCBjZTdh
ZDkzZGI2ZWE4OTU2MGViYTBlMDhlYzlhOWUyYTQ2OGQ3NDJiLi40MmJiMzY0OTA1N2I0MjUxMzEx
OWY3Y2UwODBjNTJlMzBiZTc1OTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9UaGVtZVR5cGVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5o
CkBAIC05MSw2ICs5MSw5IEBAIGVudW0gQ29udHJvbFBhcnQgewogICAgIENvbnRpbnVvdXNDYXBh
Y2l0eUxldmVsSW5kaWNhdG9yUGFydCwKICAgICBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0LAogICAgIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydCwKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyAgICBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydCwKKyNlbmRpZgogI2lmIEVO
QUJMRShBUFBMRV9QQVkpCiAgICAgQXBwbGVQYXlCdXR0b25QYXJ0LAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA4NjJmYjlmNGNmNGJlOTE2ZTU5
OWFhNjUwNDE2MjkwZWEwN2ZkMDM4Li5mOTIxM2UyZjM1NzE0OGYxNDBjNGQ0MTBkMGUxMTQxN2Q3
NmYwYjkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTE0
NSw2ICsxNDUsMTAgQEAgUmVuZGVySW1hZ2U6OlJlbmRlckltYWdlKEVsZW1lbnQmIGVsZW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWwKICAgICAsIG1faW1hZ2VEZXZp
Y2VQaXhlbFJhdGlvKGltYWdlRGV2aWNlUGl4ZWxSYXRpbykKIHsKICAgICB1cGRhdGVBbHRUZXh0
KCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBtX2hhc1NoYWRvd0NvbnRyb2xzID0gZG93bmNhc3Q8
SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkuaW1hZ2VNZW51RW5hYmxlZCgpOworI2VuZGlmCiB9
CiAKIFJlbmRlckltYWdlOjpSZW5kZXJJbWFnZShEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUsIFN0eWxlSW1hZ2UqIHN0eWxlSW1hZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAppbmRleCA4MWRmZDhmZmNhYmZhYmQ2MTBhOTY0MGQyMmRjMDJm
M2NmMjY4NTllLi4xZGMxNGNjNTU5NGFlOGQ5YmFlZWEwNThjOWQzNmMzYjgwZTM4YTYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKQEAgLTI2Nyw2ICsyNjcsMTAg
QEAgdm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0U3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25z
dCBFbGVtZW50KiBlbGVtZW50LCBjb25zdAogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVs
SW5kaWNhdG9yUGFydDoKICAgICBjYXNlIFJhdGluZ0xldmVsSW5kaWNhdG9yUGFydDoKICAgICAg
ICAgcmV0dXJuIGFkanVzdE1ldGVyU3R5bGUoc3R5bGUsIGVsZW1lbnQpOworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisgICAg
ICAgIHJldHVybiBhZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoc3R5bGUsIGVsZW1lbnQp
OworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBhcnQ6CiAgICAgICAgIHJldHVy
biBhZGp1c3RDYXBzTG9ja0luZGljYXRvclN0eWxlKHN0eWxlLCBlbGVtZW50KTsKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQpAQCAtNTQ2LDYgKzU1MCwxMCBAQCBib29sIFJlbmRlclRoZW1lOjpwYWlu
dChjb25zdCBSZW5kZXJCb3gmIGJveCwgQ29udHJvbFN0YXRlcyYgY29udHJvbFN0YXRlcywgY29u
cwogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydChi
b3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CiAgICAgY2FzZSBTZWFyY2hGaWVs
ZFJlc3VsdHNCdXR0b25QYXJ0OgogICAgICAgICByZXR1cm4gcGFpbnRTZWFyY2hGaWVsZFJlc3Vs
dHNCdXR0b24oYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBlZFJlY3QpOworI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6Cisg
ICAgICAgIHJldHVybiBwYWludEltYWdlQ29udHJvbHNCdXR0b24oYm94LCBwYWludEluZm8sIGlu
dGVncmFsU25hcHBlZFJlY3QpOworI2VuZGlmCiAgICAgY2FzZSBDYXBzTG9ja0luZGljYXRvclBh
cnQ6CiAgICAgICAgIHJldHVybiBwYWludENhcHNMb2NrSW5kaWNhdG9yKGJveCwgcGFpbnRJbmZv
LCBpbnRlZ3JhbFNuYXBwZWRSZWN0KTsKICNpZiBFTkFCTEUoQVBQTEVfUEFZKQpAQCAtNjEyLDYg
KzYyMCw5IEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50Qm9yZGVyT25seShjb25zdCBSZW5kZXJC
b3gmIGJveCwgY29uc3QgUGFpbnRJbmZvJiBwYWludEluCiAgICAgY2FzZSBTZWFyY2hGaWVsZERl
Y29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1bHRzRGVjb3JhdGlvblBhcnQ6
CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNCdXR0b25QYXJ0OgorI2lmIEVOQUJMRShTRVJW
SUNFX0NPTlRST0xTKQorICAgIGNhc2UgSW1hZ2VDb250cm9sc0J1dHRvblBhcnQ6CisjZW5kaWYK
ICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKICAgICB9CkBAIC02ODYsNiArNjk3LDkgQEAg
dm9pZCBSZW5kZXJUaGVtZTo6cGFpbnREZWNvcmF0aW9ucyhjb25zdCBSZW5kZXJCb3gmIGJveCwg
Y29uc3QgUGFpbnRJbmZvJiBwYWludEkKICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBh
cnQ6CiAgICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNl
IFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1
bHQ6CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTEyNzcsNiArMTI5MSwxMiBAQCB2b2lkIFJl
bmRlclRoZW1lOjpwYWludFNsaWRlclRpY2tzKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludAogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xT
KQordm9pZCBSZW5kZXJUaGVtZTo6YWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRl
clN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0Cit7Cit9CisjZW5kaWYKKwogU2Vjb25kcyBS
ZW5kZXJUaGVtZTo6YW5pbWF0aW9uUmVwZWF0SW50ZXJ2YWxGb3JQcm9ncmVzc0Jhcihjb25zdCBS
ZW5kZXJQcm9ncmVzcyYpIGNvbnN0CiB7CiAgICAgcmV0dXJuIDBfczsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmgKaW5kZXggNWU1NGVmMTFjZTY5NDczNDBkZTM4NjY4ZWZmMzU0
ZTU1N2ZkMjVhNC4uOGVmMzAwZmNjNzM1OWE0ZmJiMGMxZGM1NDYwYTk4Mzc5YjE5OGQ4YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lLmgKQEAgLTI0OSw2ICsyNDksMTAgQEAg
cHVibGljOgogCiAgICAgZW51bSBGaWxlVXBsb2FkRGVjb3JhdGlvbnMgeyBTaW5nbGVGaWxlLCBN
dWx0aXBsZUZpbGVzIH07CiAgICAgdmlydHVhbCB2b2lkIHBhaW50RmlsZVVwbG9hZEljb25EZWNv
cmF0aW9ucyhjb25zdCBSZW5kZXJPYmplY3QmIC8qaW5wdXRSZW5kZXJlciovLCBjb25zdCBSZW5k
ZXJPYmplY3QmIC8qYnV0dG9uUmVuZGVyZXIqLywgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50
UmVjdCYsIEljb24qLCBGaWxlVXBsb2FkRGVjb3JhdGlvbnMpIHsgfQorICAgIAorI2lmIEVOQUJM
RShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZpcnR1YWwgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0
dG9uU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIEludFNpemUoKTsgfQorI2VuZGlmCiAKICNpZiBFTkFC
TEUoQVRUQUNITUVOVF9FTEVNRU5UKQogICAgIHZpcnR1YWwgTGF5b3V0U2l6ZSBhdHRhY2htZW50
SW50cmluc2ljU2l6ZShjb25zdCBSZW5kZXJBdHRhY2htZW50JikgY29uc3QgeyByZXR1cm4gTGF5
b3V0U2l6ZSgpOyB9CkBAIC0zNTksNiArMzYzLDExIEBAIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IHZvaWQgYWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCop
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBwYWludExpc3RCdXR0b24oY29uc3QgUmVuZGVyT2Jq
ZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgRmxvYXRSZWN0JikgeyByZXR1cm4gdHJ1ZTsg
fQogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdmlydHVh
bCB2b2lkIGFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0
IEVsZW1lbnQqKSBjb25zdDsKKyAgICB2aXJ0dWFsIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0
dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3Qm
KSB7IHJldHVybiB0cnVlOyB9CisjZW5kaWYKIAogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RQcm9n
cmVzc0JhclN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0OwogICAgIHZp
cnR1YWwgYm9vbCBwYWludFByb2dyZXNzQmFyKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFBh
aW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCmluZGV4IGM0MWY3NDkwMDkyNWVmYTE2NWVlZWU4
OWQ2OGI4ZTY2NjEwNTM1NTUuLmEwM2UxZjVjOTE2OWM2ZWY2NWUzZDQ2MTg3Y2FmMWUxNmZlMTlk
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oCkBAIC0xNDUs
NiArMTQ1LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWludExpc3RCdXR0b25Gb3JJbnB1dChj
b25zdCBSZW5kZXJPYmplY3QmLCBHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3QmKTsK
ICAgICB2b2lkIGFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHlsZSYsIGNvbnN0IEVsZW1l
bnQqKSBjb25zdCBmaW5hbDsKICNlbmRpZgorICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRS
T0xTKQorICAgIHZvaWQgYWRqdXN0SW1hZ2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxl
JiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFsOworI2VuZGlmCiAKICNpZiBFTkFCTEUoVklE
RU8pCiAgICAgYm9vbCBzdXBwb3J0c0Nsb3NlZENhcHRpb25pbmcoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CkBAIC0yMDgsNiArMjEyLDEzIEBAIHByaXZhdGU6CiAgICAgaW50IG1pbmlt
dW1Qcm9ncmVzc0JhckhlaWdodChjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogICAgIGNvbnN0
IEludFNpemUqIHByb2dyZXNzQmFyU2l6ZXMoKSBjb25zdDsKICAgICBjb25zdCBpbnQqIHByb2dy
ZXNzQmFyTWFyZ2lucyhOU0NvbnRyb2xTaXplKSBjb25zdDsKKyAgICAKKyNpZiBFTkFCTEUoU0VS
VklDRV9DT05UUk9MUykKKyAgICBib29sIHBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBS
ZW5kZXJPYmplY3QmLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JikgZmluYWw7Cisg
ICAgSW50U2l6ZSBpbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSgpIGNvbnN0IGZpbmFsOworCisgICAg
TlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwo
KSBjb25zdDsKKyNlbmRpZgogCiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNQb3BVcEJ1dHRvbkNl
bGw+IG1fcG9wdXBCdXR0b247CiAgICAgbXV0YWJsZSBSZXRhaW5QdHI8TlNTZWFyY2hGaWVsZENl
bGw+IG1fc2VhcmNoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
CmluZGV4IGFhNjBmMmViMmM0MjMyZWM5MGZhOTNmZWEwZmU4MDcwNjFiMzU4YzIuLjk2NDg1NjEw
YWZhMDJjMWNlYjUxOGE1MmViMzIwMTcxMWI5OGU2MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KQEAgLTc1LDYgKzc1LDcgQEAKICNpbXBvcnQgPHBhbC9z
cGkvbWFjL05TQXBwZWFyYW5jZVNQSS5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNDZWxsU1BJ
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0ltYWdlU1BJLmg+CisjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3Bp
L21hYy9OU1NoYXJpbmdTZXJ2aWNlUGlja2VyU1BJLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJh
cy5oPgogI2ltcG9ydCA8d3RmL09iakNSdW50aW1lRXh0cmFzLmg+CkBAIC04MiwxNyArODMsNiBA
QAogI2ltcG9ydCA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL3RleHQvU3RyaW5n
QnVpbGRlci5oPgogCi0jaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0KLS8vIEZJWE1FOiBU
aGlzIHNob3VsZCBnbyBpbnRvIGFuIFNQSS5oIGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCi0j
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKLSNpbXBvcnQgPEFwcEtpdC9BcHBLaXREZWZpbmVz
X1ByaXZhdGUuaD4KLSNlbHNlCi0jZGVmaW5lIEFQUEtJVF9QUklWQVRFX0NMQVNTCi0jZW5kaWYK
LQotI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotCiAvLyBGSVhNRTogVGhpcyBz
aG91bGQgZ28gaW50byBhbiBTUEkuaCBmaWxlIGluIHRoZSBzcGkgZGlyZWN0b3J5LgogQGludGVy
ZmFjZSBOU1RleHRGaWVsZENlbGwgKCkKIC0gKENGRGljdGlvbmFyeVJlZilfY29yZVVJRHJhd09w
dGlvbnNXaXRoRnJhbWU6KE5TUmVjdCljZWxsRnJhbWUgaW5WaWV3OihOU1ZpZXcgKiljb250cm9s
VmlldyBpbmNsdWRlRm9jdXM6KEJPT0wpaW5jbHVkZUZvY3VzOwpAQCAtMTA5Myw2ICsxMDgzLDE0
IEBAIHZvaWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdExpc3RCdXR0b25TdHlsZShSZW5kZXJTdHls
ZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqKSBjCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJ
Q0VfQ09OVFJPTFMpCit2b2lkIFJlbmRlclRoZW1lTWFjOjphZGp1c3RJbWFnZUNvbnRyb2xzQnV0
dG9uU3R5bGUoUmVuZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBFbGVtZW50KikgY29uc3QKK3sKKyAg
ICBzdHlsZS5zZXRIZWlnaHQoTGVuZ3RoKGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkuaGVpZ2h0
KCksIExlbmd0aFR5cGU6OkZpeGVkKSk7CisgICAgc3R5bGUuc2V0V2lkdGgoTGVuZ3RoKGltYWdl
Q29udHJvbHNCdXR0b25TaXplKCkud2lkdGgoKSwgTGVuZ3RoVHlwZTo6Rml4ZWQpKTsKK30KKyNl
bmRpZgorCiBib29sIFJlbmRlclRoZW1lTWFjOjpwYWludFRleHRGaWVsZChjb25zdCBSZW5kZXJP
YmplY3QmIG8sIGNvbnN0IFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBGbG9hdFJlY3QmIHIp
CiB7CiAgICAgTG9jYWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludElu
Zm8uY29udGV4dCgpKTsKQEAgLTIyODIsNiArMjI4MCwzNyBAQCBTdHJpbmcgUmVuZGVyVGhlbWVN
YWM6OmZpbGVMaXN0TmFtZUZvcldpZHRoKGNvbnN0IEZpbGVMaXN0KiBmaWxlTGlzdCwgY29uc3Qg
Rm9udAogICAgIHJldHVybiBTdHJpbmdUcnVuY2F0b3I6OmNlbnRlclRydW5jYXRlKHN0clRvVHJ1
bmNhdGUsIHdpZHRoLCBmb250KTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
TlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCogUmVuZGVyVGhlbWVNYWM6OnNlcnZpY2VzUm9s
bG92ZXJCdXR0b25DZWxsKCkgY29uc3QKK3sKKyAgICBpZiAoIW1fc2VydmljZXNSb2xsb3ZlckJ1
dHRvbikgeworICAgICAgICBtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gPSBbTlNTZXJ2aWNlc1Jv
bGxvdmVyQnV0dG9uQ2VsbCBzZXJ2aWNlUm9sbG92ZXJCdXR0b25DZWxsRm9yU3R5bGU6TlNTaGFy
aW5nU2VydmljZVBpY2tlclN0eWxlUm9sbG92ZXJdOworICAgICAgICBbbV9zZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uIHNldEJlemVsU3R5bGU6TlNCZXplbFN0eWxlUm91bmRlZERpc2Nsb3N1cmVdOwor
ICAgICAgICBbbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uIHNldEJ1dHRvblR5cGU6TlNCdXR0b25U
eXBlUHVzaE9uUHVzaE9mZl07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0
SW1hZ2VQb3NpdGlvbjpOU0ltYWdlT25seV07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJC
dXR0b24gc2V0U3RhdGU6Tk9dOworICAgIH0KKyAgICByZXR1cm4gbV9zZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uLmdldCgpOworfQorCitib29sIFJlbmRlclRoZW1lTWFjOjpwYWludEltYWdlQ29udHJv
bHNCdXR0b24oY29uc3QgUmVuZGVyT2JqZWN0JiByZW5kZXJlciwgY29uc3QgUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IEludFJlY3QmIHJlY3QpCit7CisgICAgTlNTZXJ2aWNlc1JvbGxvdmVy
QnV0dG9uQ2VsbCAqY2VsbCA9IHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCk7CisgICAgTG9j
YWxDdXJyZW50R3JhcGhpY3NDb250ZXh0IGxvY2FsQ29udGV4dChwYWludEluZm8uY29udGV4dCgp
KTsKKyAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2ZXIocGFpbnRJbmZvLmNv
bnRleHQoKSk7CisgICAgcGFpbnRJbmZvLmNvbnRleHQoKS50cmFuc2xhdGUocmVjdC5sb2NhdGlv
bigpKTsKKyAgICBJbnRSZWN0IGlubmVyRnJhbWUoSW50UG9pbnQoKSwgcmVjdC5zaXplKCkpOwor
ICAgIFtjZWxsIGRyYXdXaXRoRnJhbWU6aW5uZXJGcmFtZSBpblZpZXc6ZG9jdW1lbnRWaWV3Rm9y
KHJlbmRlcmVyKV07CisgICAgW2NlbGwgc2V0Q29udHJvbFZpZXc6bmlsXTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK0ludFNpemUgUmVuZGVyVGhlbWVNYWM6OmltYWdlQ29udHJvbHNCdXR0b25T
aXplKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW50U2l6ZShzZXJ2aWNlc1JvbGxvdmVyQnV0dG9u
Q2VsbCgpLmNlbGxTaXplKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxF
TUVOVCkKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudEljb25TaXplID0gNDg7CiBjb25zdCBDR0Zs
b2F0IGF0dGFjaG1lbnRJY29uQmFja2dyb3VuZFBhZGRpbmcgPSA2OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvVXNlckFnZW50U3R5bGUuY3BwCmluZGV4IGUxMWQ2ZmZhN2RlZTliNDgyODE2NTEyNzI0M2Rj
NzVlMWMyMzljYmMuLmExMDI3ODAzNmJhOTA3ZGJjOGJjYTVlNTk0MTExMTM0ZjllOWMyNDAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHAKQEAgLTc0LDYgKzc0LDkgQEAg
U3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6bWF0aE1MU3R5bGVTaGVldDsKIFN0
eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6Om1lZGlhQ29udHJvbHNTdHlsZVNoZWV0
OwogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZnVsbHNjcmVlblN0eWxlU2hl
ZXQ7CiBTdHlsZVNoZWV0Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjpwbHVnSW5zU3R5bGVTaGVl
dDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK1N0eWxlU2hlZXRDb250ZW50cyogVXNl
ckFnZW50U3R5bGU6OmltYWdlQ29udHJvbHNTdHlsZVNoZWV0OworI2VuZGlmCiBTdHlsZVNoZWV0
Q29udGVudHMqIFVzZXJBZ2VudFN0eWxlOjptZWRpYVF1ZXJ5U3R5bGVTaGVldDsKICNpZiBFTkFC
TEUoREFUQUxJU1RfRUxFTUVOVCkKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFnZW50U3R5bGU6
OmRhdGFMaXN0U3R5bGVTaGVldDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1Vz
ZXJBZ2VudFN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCmlu
ZGV4IGIxMWUxMGFlOWQ4YTI5MDIzMDY2MDhiOTcyOWFiMDEyMWZlYzI0YTAuLmQyNmQ2MDkwOTdj
MmZhZDFlMzMxYzQ1ZjQwMWQxNGZmMDQ4MGUzM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFn
ZW50U3R5bGUuaApAQCAtNDYsNiArNDYsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogbWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hl
ZXRDb250ZW50cyogZnVsbHNjcmVlblN0eWxlU2hlZXQ7CiAgICAgc3RhdGljIFN0eWxlU2hlZXRD
b250ZW50cyogcGx1Z0luc1N0eWxlU2hlZXQ7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgc3RhdGljIFN0eWxlU2hlZXRDb250ZW50cyogaW1hZ2VDb250cm9sc1N0eWxlU2hlZXQ7
CisjZW5kaWYKICNpZiBFTkFCTEUoREFUQUxJU1RfRUxFTUVOVCkKICAgICBzdGF0aWMgU3R5bGVT
aGVldENvbnRlbnRzKiBkYXRhTGlzdFN0eWxlU2hlZXQ7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAKaW5kZXggMTUyNGEwYmVjM2Mz
NjI0ZDFiYzY2NGI0NjgyYjJlM2M1OTgzMTM1ZS4uOTBkZDMyYmFjYjAzM2I3MTczNTI5ZjJmNWQy
OTlhMjBjY2UzMjBkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Mv
V0tQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHAKQEAgLTE0MjEsMTUgKzE0MjEsMTQgQEAgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0U2VydmljZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
KQogICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5zZXJ2aWNlQ29udHJvbHNFbmFi
bGVkKCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdL
UHJlZmVyZW5jZXNSZWYsIGJvb2wpCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRJbWFnZUNvbnRyb2xz
RW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCiB7
Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoZW5hYmxlZCk7CiB9
CiAKLWJvb2wgV0tQcmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYpCitib29sIFdLUHJlZmVyZW5jZXNHZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChXS1ByZWZl
cmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewotICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBu
byBsb25nZXIgc3VwcG9ydGVkLgotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4gdG9JbXBs
KHByZWZlcmVuY2VzUmVmKS0+aW1hZ2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAogdm9pZCBXS1By
ZWZlcmVuY2VzU2V0R2FtZXBhZHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYsIGJvb2wgZW5hYmxlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
V0tXZWJWaWV3Lm1tCmluZGV4IGJhZDQ3YzA3NmVjZGM1YThmZjA5MGY2NzExNzgxNWM3ZWM5ZDY0
NDUuLmM0ZWU1MjUwNzY0MmRiNGU1NGNmYWRmN2ZlZTNiZjFiN2MwZDNkM2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQpAQCAtNDg5LDYgKzQ4
OSw3IEBAIHN0YXRpYyB2b2lkIGhhcmR3YXJlS2V5Ym9hcmRBdmFpbGFiaWxpdHlDaGFuZ2VkQ2Fs
bGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJSZWYsCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHBh
Z2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRTaG93c1VSTHNJblRvb2xUaXBzRW5h
YmxlZCghIVtfY29uZmlndXJhdGlvbiBfc2hvd3NVUkxzSW5Ub29sVGlwc10pOwogICAgIHBhZ2VD
b25maWd1cmF0aW9uLT5wcmVmZXJlbmNlcygpLT5zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkKCEh
W19jb25maWd1cmF0aW9uIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkXSk7CisgICAgcGFnZUNvbmZp
Z3VyYXRpb24tPnByZWZlcmVuY2VzKCktPnNldEltYWdlQ29udHJvbHNFbmFibGVkKCEhW19jb25m
aWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xzRW5hYmxlZF0pOwogCiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VzKCktPnNldFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koY29udmVy
dFVzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3koW19jb25maWd1cmF0aW9uIHVzZXJJbnRlcmZh
Y2VEaXJlY3Rpb25Qb2xpY3ldKSk7CiAgICAgLy8gV2UgYXJlIGluIHRoZSBWaWV3J3MgaW5pdGlh
bGl6YXRpb24gcm91dGluZSwgc28gb3VyIGNsaWVudCBoYXNuJ3QgaGFkIHRpbWUgdG8gc2V0IG91
ciB1c2VyIGludGVyZmFjZSBkaXJlY3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDli
MDJlOTE0MWY5OWY1MDk3YzY5OGE1YjQ4NTMyMWIwNDViYzdmMWUuLjU5NzRhOWM5NzZiMGY1MjUw
NDhjMGY4N2IxZGUwNzk2YTYwZWUyZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNTcs
NiArMTU3LDcgQEAgc3RhdGljIGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJlZm9yZUxv
YWRpbmdRdWlja0xvb2tQcmV2aWV3KCkKICAgICBXS1JldGFpblB0cjxXS1BhZ2VHcm91cFJlZj4g
X3BhZ2VHcm91cDsKICAgICBCT09MIF9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIEJPT0wgX3Nl
cnZpY2VDb250cm9sc0VuYWJsZWQ7CisgICAgQk9PTCBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiAj
ZW5kaWYKICAgICBCT09MIF93YWl0c0ZvclBhaW50QWZ0ZXJWaWV3RGlkTW92ZVRvV2luZG93Owog
ICAgIEJPT0wgX2NvbnRyb2xsZWRCeUF1dG9tYXRpb247CkBAIC0yMjcsNiArMjI4LDcgQEAgc3Rh
dGljIGJvb2wgZGVmYXVsdFNob3VsZERlY2lkZVBvbGljeUJlZm9yZUxvYWRpbmdRdWlja0xvb2tQ
cmV2aWV3KCkKICAgICBfcmVzcGVjdHNJbWFnZU9yaWVudGF0aW9uID0gTk87CiAgICAgX3Nob3dz
VVJMc0luVG9vbFRpcHMgPSBOTzsKICAgICBfc2VydmljZUNvbnRyb2xzRW5hYmxlZCA9IE5POwor
ICAgIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCA9IE5POwogI2VuZGlmCiAgICAgX3dhaXRzRm9yUGFp
bnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3cgPSBZRVM7CiAKQEAgLTQyNSw2ICs0MjcsNyBAQCBz
dGF0aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9v
a1ByZXZpZXcoKQogICAgIGNvbmZpZ3VyYXRpb24tPl91c2VySW50ZXJmYWNlRGlyZWN0aW9uUG9s
aWN5ID0gc2VsZi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3k7CiAgICAgY29uZmlndXJh
dGlvbi0+X3Nob3dzVVJMc0luVG9vbFRpcHMgPSBzZWxmLT5fc2hvd3NVUkxzSW5Ub29sVGlwczsK
ICAgICBjb25maWd1cmF0aW9uLT5fc2VydmljZUNvbnRyb2xzRW5hYmxlZCA9IHNlbGYtPl9zZXJ2
aWNlQ29udHJvbHNFbmFibGVkOworICAgIGNvbmZpZ3VyYXRpb24tPl9pbWFnZUNvbnRyb2xzRW5h
YmxlZCA9IHNlbGYtPl9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICAgICBjb25maWd1cmF0aW9uLT5f
cGFnZUdyb3VwID0gc2VsZi5fcGFnZUdyb3VwOwogI2VuZGlmCiAjaWYgRU5BQkxFKERBVEFfREVU
RUNUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQpAQCAtMTE0NSwxMyArMTE0OCwxMiBAQCBz
dGF0aWMgV2ViS2l0OjpBdHRyaWJ1dGlvbk92ZXJyaWRlVGVzdGluZyB0b0F0dHJpYnV0aW9uT3Zl
cnJpZGVUZXN0aW5nKF9XS0F0dHJpYgogCiAtIChCT09MKV9pbWFnZUNvbnRyb2xzRW5hYmxlZAog
ewotICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgotICAgIHJl
dHVybiBOTzsKKyAgICByZXR1cm4gX2ltYWdlQ29udHJvbHNFbmFibGVkOwogfQogCiAtICh2b2lk
KV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDooQk9PTClpbWFnZUNvbnRyb2xzRW5hYmxlZAogewot
ICAgIC8vIEltYWdlIGNvbnRyb2xzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkLgorICAgIF9pbWFn
ZUNvbnRyb2xzRW5hYmxlZCA9IGltYWdlQ29udHJvbHNFbmFibGVkOwogfQogCiAtIChCT09MKV9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25m
aWd1cmF0aW9uUHJpdmF0ZS5oCmluZGV4IDMyNjk4ZDViOGYyOGM5MjEzNjI3N2YzOWVhMWVjNTNl
MmM1OGFmNjMuLjgxMzY1NTdjMWZhYTU2NDA5YzkwZThjNGFjZTVmMTIyMjJjNTI4YmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oCkBAIC0xMDUsNyArMTA1LDcgQEAgdHlwZWRl
ZiBOU19FTlVNKE5TVUludGVnZXIsIF9XS0F0dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nKSB7CiAj
ZWxzZQogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2hvd3NVUkxzSW5Ub29sVGlw
czopIEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHMgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
MikpOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0U2VydmljZUNvbnRyb2xzRW5h
YmxlZDopIEJPT0wgX3NlcnZpY2VDb250cm9sc0VuYWJsZWQgV0tfQVBJX0FWQUlMQUJMRShtYWNv
cygxMC4xMikpOwotQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9s
c0VuYWJsZWQ6KSBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfREVQUkVDQVRFRCgi
SW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQiLCBtYWNvcygxMC4xMiwgMTIu
MCkpOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0SW1hZ2VDb250cm9sc0VuYWJs
ZWQ6KSBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKFdL
X01BQ19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0
UmVxdWlyZXNVc2VyQWN0aW9uRm9yRWRpdGluZ0NvbnRyb2xzTWFuYWdlcjopIEJPT0wgX3JlcXVp
cmVzVXNlckFjdGlvbkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIgV0tfQVBJX0FWQUlMQUJMRSht
YWNvcygxMC4xMikpOwogQHByb3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9z
ZXRDUFVMaW1pdDopIGRvdWJsZSBfY3B1TGltaXQgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygxMC4x
My40KSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldFBhZ2VH
cm91cDopIFdLUGFnZUdyb3VwUmVmIF9wYWdlR3JvdXAgV0tfQVBJX0FWQUlMQUJMRShtYWNvcygx
MC4xMy40KSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggODFkODAwMjkwNmNlZjljYzYyNGM2OTkzMjYyYzUyZTNlNjQ4NDkx
NS4uZmM4Mjg5MDczYTQyOTA1YzAxOTNhM2FmNWQ2NzAyZDAwY2MyYTg3NyAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDIxLTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBs
ZS5jb20+CisKKyAgICAgICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0
ZXN0cyB0byBhY2NvdW50IGZvciBpbWFnZSBjb250cm9scy4KKworICAgICAgICAqIGZhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisKIDIwMjEtMTEtMjkgIEFyY2FkeSBHb2xkbWludHMtT3Jsb3YgIDxhZ29sZG1p
bnRzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dMSUJdIFVwZGF0ZSB0ZXN0IGV4cGVjdGF0aW9u
cyBhbmQgYmFzZWxpbmVzLiBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU5Yjc1ZDc2YTA0OGFiNDAxNWJlMDJhZTY2NzQ3YTJiODUxMmRkYmQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9s
cy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3IEBACitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgw
LDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBS
ZW5kZXJJbWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9p
bWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjRkMDVmMzViNGI2MWNkNDdl
YWM1ZmM0MTAzZmYzNDJiYWZmMjA0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKQEAgLTAsMCArMSw4IEBACisgPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKQorCWludGVybmFscy5zZXR0aW5ncy5zZXRJbWFn
ZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKKworPC9zY3JpcHQ+Cis8Ym9keT4KKzxpbWcgc3JjPSJy
ZXNvdXJjZXMvZ3JlZW4tMjU2eDI1Ni5qcGciIHgtd2Via2l0LWltYWdlbWVudT4KKzwvYm9keT4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtY2F0YWxpbmEvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2lt
YWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjRiMjlkNTNjNTlm
NWU4ZWJmN2YzMmRkNDk2M2MwODYxOTU3NDUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2lj
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2
MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
ICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJ
bWFnZSB7SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYg
W2NvbG9yPSMwMDAwMDAwMF0KK2xheWVyIGF0ICgyMTUsMzApIHNpemUgMjd4MjYKKyAgUmVuZGVy
QnV0dG9uIHtCVVRUT059IGF0ICgyMDcsMjIpIHNpemUgMjd4MjYgW2NvbG9yPSMwMDAwMDBEOF0g
W2JnY29sb3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMt
YmFzaWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2Vz
L2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzIxM2EzY2Rm
OWEzMGJjOTNiYzg4NzAxMmRiNDdmM2Q0NDU2ZjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDExIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAw
eDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJJbWFnZSB7
SU1HfSBhdCAoMCwwKSBzaXplIDI1NngyNTYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSAyNTZ4MjU2CisgIFJlbmRlckJsb2Nr
IChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDI1NngyNTYgW2NvbG9y
PSMwMDAwMDAwMF0KK2xheWVyIGF0ICgyMTQsMzApIHNpemUgMjh4MjYKKyAgUmVuZGVyQnV0dG9u
IHtCVVRUT059IGF0ICgyMDYsMjIpIHNpemUgMjh4MjYgW2NvbG9yPSMwMDAwMDBEOF0gW2JnY29s
b3I9I0MwQzBDMF0gW2JvcmRlcjogKDJweCBvdXRzZXQgI0MwQzBDMCldCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445776</attachid>
            <date>2021-12-02 15:00:12 -0800</date>
            <delta_ts>2021-12-02 15:50:08 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233305-20211202150011.patch</filename>
            <type>text/plain</type>
            <size>61868</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGY2Y2I4MDUyM2FiNDQxNjdmOWFhMTdl
MWUzY2E1MTJjNTE3YWZiMjMuLmNiNTRmMjc5ZjM4ODI0Nzc0NzJlZmM0YjgyNWZiZGM0OWQ5NmY0
MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdh
bl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBj
b250cm9sIG1lbnVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAg
ICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbDoKKwogMjAyMS0xMS0y
OSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFB1
YmxpYyBDbGFzcyBGaWVsZCBpbml0aWFsaXphdGlvbiBpcyBzbG93CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWI2
MGY4NWM3NGFjY2IyYjY0OTMzNTc3N2Y2OTdiZGZlNzFjZTQxOC4uYThkMjMyMTYxYTAwZDM4MTUy
ZjlhMmFhNDI1NDE3NGZkNDBmMDNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk1IEBACisyMDIx
LTExLTMwICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmUtYWRkIHN1cHBvcnQgb2YgaW1hZ2UgY29udHJvbCBtZW51cy4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzMwNQorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgVGVzdDogZmFzdC9pbWFnZXMvaW1hZ2UtY29u
dHJvbHMtYmFzaWMuaHRtbAorCisgICAgICAgIEltYWdlIGNvbnRyb2wgbWVudXMgYXJlIG5lZWRl
ZCBmb3IgbWFpbCB0cmFuc2l0aW9uIHRvIG1vZGVybiBXZWJLaXQsIHNvIHJlLWFkZCB0aGVtCisg
ICAgICAgIGFmdGVyIHRoZSByZW1vdmFsIGluIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5n
ZXNldC8yNzIxMTcvd2Via2l0CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNl
cy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGNzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmg6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTUHJpbWl0aXZlVmFsdWUpOgorICAgICAgICAqIGNzcy9D
U1NQcm9wZXJ0aWVzLmpzb246CisgICAgICAgICogY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW46Cisg
ICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6aXNWYWx1ZUFsbG93ZWRJbk1vZGUpOgorICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aW1h
Z2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQ29u
dHJvbHNNYWM6OmltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlQ29udHJvbHNNYWM6OmltYWdlQ29udHJvbEhvc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW1h
Z2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpJbWFnZUNvbnRyb2xzTWFjOjpjb250YWluZXJSZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkltYWdlQ29udHJvbHNNYWM6OmNyZWF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAqIGRv
bS9tYWMvSW1hZ2VDb250cm9sc01hYy5oOiBBZGRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxBdHRy
aWJ1dGVOYW1lcy5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6SFRNTEltYWdlRWxlbWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1hZ2VDb250cm9scyk6CisgICAg
ICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmRlc3Ryb3lJbWFnZUNvbnRyb2xz
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6Omhhc0ltYWdlQ29udHJvbHMg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6Y2hpbGRTaG91bGRD
cmVhdGVSZW5kZXJlciBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MSW1hZ2VFbGVtZW50Lmg6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpoYXNTaGFkb3dDb250cm9scyBj
b25zdCk6CisgICAgICAgICogaHRtbC9zaGFkb3cvbWFjL0ltYWdlQ29udHJvbHNNYWMuY3NzOiBB
ZGRlZC4KKyAgICAgICAgKCNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBF
TkFCTEVfU0VSVklDRV9DT05UUk9MUyk6CisgICAgICAgIChidXR0b24jaW1hZ2UtY29udHJvbHMt
YnV0dG9uKToKKyAgICAgICAgKGRpdiNpbWFnZS1jb250cm9sczpob3ZlciBidXR0b24jaW1hZ2Ut
Y29udHJvbHMtYnV0dG9uKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvSW1hZ2VDb250cm9s
c1Jvb3RFbGVtZW50TWFjLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjp4V2Via2l0SW1h
Z2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlcklt
YWdlQ29udHJvbHM6OlJlbmRlckltYWdlQ29udHJvbHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVySW1hZ2VDb250cm9sczo6dXBkYXRlTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckltYWdlQ29udHJvbHM6OmNvbXB1dGVMb2dpY2FsSGVpZ2h0IGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Omhhc0NvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6aW1hZ2VDb250cm9s
SG9zdCk6CisgICAgICAgIChXZWJDb3JlOjppc0ltYWdlQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50Ojp0cnlDcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjpJbWFnZUNvbnRyb2xzUm9vdEVsZW1l
bnRNYWMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VDb250cm9sc1Jvb3RFbGVtZW50TWFjOjpj
cmVhdGVFbGVtZW50UmVuZGVyZXIpOgorICAgICAgICAqIGh0bWwvc2hhZG93L21hYy9JbWFnZUNv
bnRyb2xzUm9vdEVsZW1lbnRNYWMuaDogQWRkZWQuCisgICAgICAgICogcGFnZS9Db250ZXh0TWVu
dUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW1hZ2VGcm9tSW1hZ2VFbGVtZW50
Tm9kZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0TWVudUNvbnRyb2xsZXI6Om1heWJlQ3Jl
YXRlQ29udGV4dE1lbnUpOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dE1lbnVDb250cm9sbGVy
OjpzaG93SW1hZ2VDb250cm9sc01lbnUpOgorICAgICAgICAqIHBhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRIYW5kbGVyOjp0ZXh0UmVjb2duaXRpb25DYW5kaWRhdGVFbGVtZW50IGNvbnN0
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Om9wZXJhdG9yPDwpOgorICAgICAgICAqIHBsYXRmb3JtL1RoZW1lVHlwZXMuaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1h
Z2U6OlJlbmRlckltYWdlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGhlbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmFkanVzdFN0eWxlKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclRoZW1lOjpwYWludCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVt
ZTo6cGFpbnRCb3JkZXJPbmx5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjpwYWlu
dERlY29yYXRpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjphZGp1c3RJbWFn
ZUNvbnRyb2xzQnV0dG9uU3R5bGUgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
aGVtZS5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWU6OmltYWdlQ29udHJvbHNCdXR0
b25TaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lOjppbWFnZUNvbnRy
b2xzQnV0dG9uUG9zaXRpb25PZmZzZXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGhlbWU6OnBhaW50SW1hZ2VDb250cm9sc0J1dHRvbik6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGhlbWVNYWM6OmRvY3VtZW50Vmlld0ZvciBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6YWRqdXN0SW1hZ2VDb250cm9sc0J1
dHRvblN0eWxlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpzZXJ2
aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJU
aGVtZU1hYzo6cGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRoZW1lTWFjOjppbWFnZUNvbnRyb2xzQnV0dG9uU2l6ZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblBvc2l0aW9uT2Zmc2V0
IGNvbnN0KToKKyAgICAgICAgKiBzdHlsZS9Vc2VyQWdlbnRTdHlsZS5jcHA6CisgICAgICAgICog
c3R5bGUvVXNlckFnZW50U3R5bGUuaDoKKwogMjAyMS0xMS0yNCAgQW50b2luZSBRdWludCAgPGdy
YW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIGNsZWFuIHVwIGNvbXBpbGUtdGlt
ZSBmbGFncyBhbmQgY29uZGl0aW9uIElETCBtZXRob2RzIGJlaGluZCB0aGVtCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5n
ZUxvZwppbmRleCA5ODdmMWY4Njg0OTVlMTkzMDAzZjAyZjk1YjI5NjM4ZWQzNTQ2M2U3Li5hMzlm
MGI0NDIyYzM3NTk5MWQ1OTc1NTU5ZjIyMWM3MjJhNGFhNjAyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNSBAQAorMjAyMS0xMS0zMCAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRu
ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFkZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wg
bWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIE1vdmUg
U1BJIHRvIFNQSSBzcGVjaWZpYyBmaWxlLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxvdmVyQnV0
dG9uQ2VsbFNQSS5oOiBBZGRlZC4KKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxt
bWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3ZpZGUgZGVmYXVsdCB2
YWx1ZXMgZm9yIGRlc2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZDlkMjBlMTcw
NWI0MTlmMjM2ZjAzMDAyZDEzMDlkOTY0ZWZkMjBhZi4uNjllMDU1Y2E5MWJmZjNiNTI5ZTBlNjU1
MDg3ZmFjYjY5NDQ1MmU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0xMS0zMCAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJlLWFk
ZCBzdXBwb3J0IG9mIGltYWdlIGNvbnRyb2wgbWVudXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMzMDUKKworICAgICAgICBSZXZpZXdlZCBieSBU
aW0gSG9ydG9uLgorCisgICAgICAgIEltYWdlIGNvbnRyb2wgbWVudXMgYXJlIG5lZWRlZCBmb3Ig
bWFpbCB0cmFuc2l0aW9uIHRvIG1vZGVybiBXZWJLaXQsIHNvIHJlLWFkZCB0aGVtCisgICAgICAg
IGFmdGVyIHRoZSByZW1vdmFsIGluIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8y
NzIxMTcvd2Via2l0CisKKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvbWFjL0FwcEtpdFNQSS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKyAgICAgICAgKFdL
UHJlZmVyZW5jZXNTZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVu
Y2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX3NldHVwUGFnZUNvbmZpZ3Vy
YXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAg
ICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAg
ICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVkXSk6CisgICAg
ICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gX3NldEltYWdlQ29udHJvbHNFbmFibGVkOl0p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvblBy
aXZhdGUuaDoKKwogMjAyMS0xMS0yOSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBw
bGUuY29tPgogCiAgICAgICAgIFtXZWJHUFVdIFByb3ZpZGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGRl
c2NyaXB0b3Igc3RydWN0IG1lbWJlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZl
cmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggZWM4MmJmNWI1YTI5OWQ3MTIwNzAzNDhl
YzQxYmJkOWI2MzY3NjllMi4uZWRmMWZmZjVhODdkNTkzYjgzM2JlMzc5ODQwYmUyNGQ2OTA1Yzc4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzLnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVu
Y2VzLnlhbWwKQEAgLTkzNCw2ICs5MzQsMTcgQEAgSHlwZXJsaW5rQXVkaXRpbmdFbmFibGVkOgog
ICAgIFdlYkNvcmU6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogCitJbWFnZUNvbnRyb2xzRW5hYmxl
ZDoKKyAgdHlwZTogYm9vbAorICBjb25kaXRpb246IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UK
KyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorCiBJbmFjdGl2ZU1lZGlhQ2FwdHVyZVN0ZWFtUmVwcm9tcHRJbnRlcnZh
bEluTWludXRlczoKICAgdHlwZTogZG91YmxlCiAgIHdlYmNvcmVCaW5kaW5nOiBub25lCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA2ZGNm
MzBjOGRjNDM3OTY2OTUyYmQ1MzlhOGNhMjg3MGMyNTU2MDA5Li44MzQ4MTI4OGY3NjIzYmEzZGJh
NDRkZWZlYzZlMzIzYmU4MDc3ZTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTEzMjAsNiArMTMyMCw3IEBAICQoUFJPSkVDVF9ESVIp
L2h0bWwvcGFyc2VyL0hUTUxFbnRpdHlOYW1lcy5pbgogJChQUk9KRUNUX0RJUikvaHRtbC9wYXJz
ZXIvY3JlYXRlLWh0bWwtZW50aXR5LXRhYmxlCiAkKFBST0pFQ1RfRElSKS9odG1sL3NoYWRvdy9p
bWFnZU92ZXJsYXkuY3NzCiAkKFBST0pFQ1RfRElSKS9odG1sL3NoYWRvdy9tZXRlckVsZW1lbnRT
aGFkb3cuY3NzCiskKFBST0pFQ1RfRElSKS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01h
Yy5jc3MKICQoUFJPSkVDVF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFjay5pZGwKICQoUFJPSkVD
VF9ESVIpL2h0bWwvdHJhY2svQXVkaW9UcmFja0xpc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9odG1s
L3RyYWNrL0RhdGFDdWUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkZGU2
NDQ0MDYxZDIyMzMyYjQxYTAzODcxOTEwODBmZjYxMTFiZTkwLi44NGYwNWFhYmExNzk4ZDM5NGNm
Zjg1NzZhZWQ4NzgxY2NiMTZlZDllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTE3NjMsNiArMTc2Myw3IEBAIFVTRVJfQUdFTlRfU1RZTEVfU0hFRVRTID0gXAogICAgICQoV2Vi
Q29yZSkvY3NzL3BsdWdJbnMuY3NzIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9xdWlya3MuY3NzIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy9zdmcuY3NzIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93
L21hYy9pbWFnZUNvbnRyb2xzTWFjLmNzcyBcCiAgICAgJChXZWJDb3JlKS9odG1sL3NoYWRvdy9p
bWFnZU92ZXJsYXkuY3NzIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvc2hhZG93L21ldGVyRWxlbWVu
dFNoYWRvdy5jc3MgXAogICAgIE1vZGVybk1lZGlhQ29udHJvbHMuY3NzIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhZTY5OTc1
ZmJiYjZjY2I5YjYxZTQ3MDc3YTFhMjUzYmNkYzNhZGIwLi41MmMzMTk5MzNjMzQ1MDJjYzI0YmZl
OTBjZTBmOWQyNjA3MDk1MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvUEFMLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BBTC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOTQsNiArMjk0LDcgQEAKIAkJNDQ1MEZDQTAyMUY1
RjYwMjAwNERGQTU2IC8qIFF1aWNrTG9va1NvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDUwRkM5RTIxRjVGNjAyMDA0REZBNTYgLyogUXVp
Y2tMb29rU29mdExpbmsuaCAqLzsgfTsKIAkJNDRFMUE4QUYyMUZBNTRFNjAwQzMwNDhFIC8qIExv
b2t1cFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NEUxQThBRDIxRkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLzsgfTsK
IAkJNDRFMUE4QjAyMUZBNTRFQjAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFMUE4QUUyMUZBNTREQTAw
QzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovOyB9OworCQk0NEVFQTBGRjI3NDc0MzhBMDA1
OTRBODMgLyogTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbFNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgz
IC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaCAqLzsgfTsKIAkJNDk5NkMwRjMy
NzE3NjQ0QzAwMkMxMjVEIC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDk5NkMwRjIyNzE3NjQyQjAwMkMxMjVEIC8qIFRDQ1NQSS5oICov
OyB9OwogCQk1MTdFMDNGOTI0QjdDMDA3MDA1NDg5NUEgLyogSU9LaXRTUElNYWMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0UwM0Y4MjRCN0MwMDYw
MDU0ODk1QSAvKiBJT0tpdFNQSU1hYy5oICovOyB9OwogCQk1NzBBQjhGMTIwQUUyRThEMDBCOEJF
ODcgLyogU2VjS2V5UHJveHlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNLZXlQcm94eVNQSS5o
ICovOyB9OwpAQCAtNjk4LDYgKzY5OSw3IEBACiAJCTQ0NTBGQzlFMjFGNUY2MDIwMDRERkE1NiAv
KiBRdWlja0xvb2tTb2Z0TGluay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBR
dWlja0xvb2tTb2Z0TGluay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEUxQThB
RDIxRkE1NERBMDBDMzA0OEUgLyogTG9va3VwU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTG9v
a3VwU29mdExpbmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRFMUE4QUUyMUZB
NTREQTAwQzMwNDhFIC8qIExvb2t1cFNvZnRMaW5rLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0g
TG9va3VwU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZF
Mjc0NzQzODkwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNl
bGxTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDk5NkMwRjIyNzE3NjQyQjAw
MkMxMjVEIC8qIFRDQ1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTE3RTAzRjgyNEI3QzAwNjAwNTQ4OTVBIC8qIElPS2l0U1BJTWFj
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElPS2l0U1BJTWFjLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTU3MEFCOEYwMjBBRTJFOEQwMEI4QkU4NyAvKiBTZWNL
ZXlQcm94eVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZWNLZXlQcm94eVNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtOTY4LDYgKzk3MCw3IEBACiAJCQkJMEM3Nzg1N0QxRjQ1MTMw
RjAwRjRFQkI2IC8qIE5TU2Nyb2xsaW5nSW5wdXRGaWx0ZXJTUEkuaCAqLywKIAkJCQkwQzc3ODU3
RTFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21lbnR1bUNhbGN1bGF0b3JTUEkuaCAq
LywKIAkJCQlBMTE3NUI1OTFGNkI0QTg0MDBDNEI5RjAgLyogTlNTY3JvbGxWaWV3U1BJLmggKi8s
CisJCQkJNDRFRUEwRkUyNzQ3NDM4OTAwNTk0QTgzIC8qIE5TU2VydmljZXNSb2xsb3ZlckJ1dHRv
bkNlbGxTUEkuaCAqLywKIAkJCQkwQzc3ODU3RjFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5n
U2VydmljZVBpY2tlclNQSS5oICovLAogCQkJCTBDNzc4NTgwMUY0NTEzMEYwMEY0RUJCNiAvKiBO
U1NoYXJpbmdTZXJ2aWNlU1BJLmggKi8sCiAJCQkJMEM3Nzg1ODExRjQ1MTMwRjAwRjRFQkI2IC8q
IE5TU3BlbGxDaGVja2VyU1BJLmggKi8sCkBAIC0xNTA3LDYgKzE1MTAsNyBAQAogCQkJCTBDNzc4
NTk2MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1Njcm9sbGluZ0lucHV0RmlsdGVyU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwQzc3ODU5NzFGNDUxMzBGMDBGNEVCQjYgLyogTlNTY3JvbGxpbmdNb21l
bnR1bUNhbGN1bGF0b3JTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMTc1QjVBMUY2QjRBODQw
MEM0QjlGMCAvKiBOU1Njcm9sbFZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQ0RUVBMEZG
Mjc0NzQzOEEwMDU5NEE4MyAvKiBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsU1BJLmggaW4g
SGVhZGVycyAqLywKIAkJCQkwQzc3ODU5ODFGNDUxMzBGMDBGNEVCQjYgLyogTlNTaGFyaW5nU2Vy
dmljZVBpY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEM3Nzg1OTkxRjQ1MTMwRjAwRjRF
QkI2IC8qIE5TU2hhcmluZ1NlcnZpY2VTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBDNzc4NTlB
MUY0NTEzMEYwMEY0RUJCNiAvKiBOU1NwZWxsQ2hlY2tlclNQSS5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvTlNTZXJ2aWNlc1JvbGxv
dmVyQnV0dG9uQ2VsbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL05TU2Vy
dmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNTA1OGQ5YTM3N2YyOGE4
MTYwODc1OTFiYjBmMDcxZDVhZmUxZDViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvbWFjL05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGxTUEkuaApAQCAt
MCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbC5oQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKworI2ltcG9ydCAiTlNTaGFyaW5nU2VydmljZVBpY2tlclNQSS5oIgorCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJp
dmF0ZS5oPgorI2ltcG9ydCA8QXBwS2l0L05TU2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwuaD4K
KworI2Vsc2UKKworQGludGVyZmFjZSBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsIDogTlNC
dXR0b25DZWxsCitAZW5kCisKK0BpbnRlcmZhY2UgTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2Vs
bCAoKQorKyAoTlNTZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCAqKXNlcnZpY2VSb2xsb3ZlckJ1
dHRvbkNlbGxGb3JTdHlsZTooTlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlKXN0eWxlOworLSAo
TlNSZWN0KXJlY3RGb3JCb3VuZHM6KE5TUmVjdClib3VuZHMgcHJlZmVycmVkRWRnZTooTlNSZWN0
RWRnZSlwcmVmZXJyZWRFZGdlOworQGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKworCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CmluZGV4IDdiNmQ1NjE0Njk5MmNlYTQzN2I4OWI0ZTRjZjE2NDJlNDc3MjQwNDcuLmJmNjQzNzcw
OGI2OTc1MzcyMDRmNzljNjIwNDA0MmZlNWI0OTU4OTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0xMDYy
LDYgKzEwNjIsNyBAQCBkb20vV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogZG9tL1doZWVsRXZl
bnQuY3BwCiBkb20vV2luZG93RXZlbnRMb29wLmNwcAogZG9tL1hNTERvY3VtZW50LmNwcAorZG9t
L21hYy9JbWFnZUNvbnRyb2xzTWFjLmNwcAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENo
YW5uZWwuY3BwCiBkb20vbWVzc2FnZXBvcnRzL01lc3NhZ2VQb3J0Q2hhbm5lbFByb3ZpZGVyLmNw
cAogZG9tL21lc3NhZ2Vwb3J0cy9NZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlckltcGwuY3BwCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggZTRkOWZmMDI3NGE3YjM3NWI5Y2I0N2QzYTY4M2Q1MDNkODA1MDVkNi4uMGM2NmY3ZDBiYmIz
MzlmY2Y3OGEwMWY1Y2IwMGQ5OGZmYTNlNmI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI5OSw2ICsxMjk5LDcgQEAKIAkJ
NDRDOTkxOUYwRjNEMjEwRTAwNTg2NjcwIC8qIFRoZW1lSU9TLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEM5OTE5RDBGM0QyMTBFMDA1ODY2NzAgLyog
VGhlbWVJT1MuaCAqLzsgfTsKIAkJNDRDRTJCQkYyNjQzNzlBRjAwN0FFMTEwIC8qIFdlYlRleHRJ
bmRpY2F0b3JMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDRDRTJCQkUyNjQzNzk5RTAwN0FFMTEwIC8qIFdlYlRleHRJbmRpY2F0b3JMYXllci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0RTM0
OUY5MjQ2RjRFMTkwMDY4NDc5QyAvKiBMaWJXZWJSVENFbnVtVHJhaXRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEUzNDlGNzI0NkY0REM3MDA2ODQ3
OUMgLyogTGliV2ViUlRDRW51bVRyYWl0cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQ0RUVBMTAwMjc0NzU3RjEwMDU5NEE4MyAvKiBJbWFnZUNv
bnRyb2xzTWFjLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NEVFQTBGQTI3NDcyN0YyMDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5oICovOyB9Owog
CQk0NTBDRUJGMTE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDUwQ0VCRUYxNTA3M0JCRTAw
MkJCMTQ5IC8qIExhYmVsYWJsZUVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0NTEyNTAyMzE1RENFMzdEMDAyRjg0RTIgLyogU3BpbkJ1
dHRvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ1MTI1MDIxMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9uRWxlbWVudC5oICovOyB9
OwogCQk0NTNFQjYzNzE1OUM1NzA0MDAwMDFCQjcgLyogRGF0ZVRpbWVGb3JtYXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ1M0VCNjM1MTU5QzU3MDQw
MDAwMUJCNyAvKiBEYXRlVGltZUZvcm1hdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CkBAIC05MDY1LDYgKzkwNjYsOSBAQAogCQk0NEU4OEU1MTIzNkE1
QzhEMDA5QjQ4NDcgLyogSGlnaGxpZ2h0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpZ2hsaWdodC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1MjIzNkE2NjdGMDA5QjQ4NDcgLyog
SGlnaGxpZ2h0UmVnaXN0ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlnaGxpZ2h0UmVnaXN0
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEU4OEU1NDIzNkE2NkExMDA5
QjQ4NDcgLyogSGlnaGxpZ2h0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEhpZ2hsaWdodC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAv
KiBpbWFnZUNvbnRyb2xzTWFjLmNzcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQuY3NzOyBwYXRoID0gaW1hZ2VDb250cm9sc01hYy5jc3M7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ0RUVBMEZBMjc0NzI3RjIwMDU5NEE4MyAvKiBJ
bWFnZUNvbnRyb2xzTWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEltYWdlQ29udHJvbHNNYWMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDRFRUEwRkMyNzQ3MjdGNDAwNTk0QTgzIC8qIElt
YWdlQ29udHJvbHNNYWMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW1hZ2VDb250cm9sc01hYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ1MENFQkVFMTUwNzNCQkUwMDJCQjE0
OSAvKiBMYWJlbGFibGVFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IExhYmVsYWJsZUVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NTBDRUJFRjE1MDczQkJFMDAyQkIxNDkgLyogTGFiZWxhYmxlRWxlbWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYWJlbGFibGVFbGVtZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ1MTI1MDIwMTVEQ0UzN0QwMDJGODRFMiAvKiBTcGluQnV0dG9u
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTcGluQnV0
dG9uRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDUzMSw2ICsy
MDUzNSw4IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTJENTAz
NjY3MUJDREREQzQwMEUyMEJCMyAvKiBHZXN0dXJlRXZlbnRzLmNwcCAqLywKKwkJCQk0NEVFQTBG
QzI3NDcyN0Y0MDA1OTRBODMgLyogSW1hZ2VDb250cm9sc01hYy5jcHAgKi8sCisJCQkJNDRFRUEw
RkEyNzQ3MjdGMjAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCAqLywKIAkJCSk7CiAJCQlw
YXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIwNzAwLDYgKzIwNzA2
LDcgQEAKIAkJNDE1MEY5RUQxMkI2RTA5OTAwMDhDODYwIC8qIHNoYWRvdyAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDRFRUEwRTYyNzNGOURFRDAwNTk0
QTgzIC8qIG1hYyAqLywKIAkJCQk3QzFFOTcyNTFBOUY5ODM0MDA3QkYwRkIgLyogQXV0b0ZpbGxC
dXR0b25FbGVtZW50LmNwcCAqLywKIAkJCQk3QzFFOTcyNjFBOUY5ODM0MDA3QkYwRkIgLyogQXV0
b0ZpbGxCdXR0b25FbGVtZW50LmggKi8sCiAJCQkJRTU3QTc0MDEyNUNBMDU3NDAwNTAwNDZCIC8q
IERhdGFMaXN0QnV0dG9uRWxlbWVudC5jcHAgKi8sCkBAIC0yMTI2Niw2ICsyMTI3MywxNCBAQAog
CQkJcGF0aCA9IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTQ0RUVBMEU2MjczRjlERUQwMDU5NEE4MyAvKiBtYWMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91
cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQ0RUVBMEY2Mjc0NDlDMDAwMDU5NEE4MyAvKiBpbWFn
ZUNvbnRyb2xzTWFjLmNzcyAqLywKKwkJCSk7CisJCQlwYXRoID0gbWFjOworCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDY0MjQwNDQyMEVBRjBCRDAwQjI5RkQyIC8qIGNvY29h
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTM0NTI2LDYg
KzM0NTQxLDcgQEAKIAkJCQk3MjdBN0YzQTI0MDc4Qjg0MDA0RDI5MzEgLyogSW1hZ2VCdWZmZXJJ
T1N1cmZhY2VCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEQ5MTBCMzgxOEJEMDAw
OTlBQTQgLyogSW1hZ2VCdWZmZXJQaXBlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjFERDIx
ODM0NDRBMDBFNjZGNTUgLyogSW1hZ2VCdWZmZXJVdGlsaXRpZXNDRy5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDRFRUExMDAyNzQ3NTdGMTAwNTk0QTgzIC8qIEltYWdlQ29udHJvbHNNYWMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE3Nzk3OTFBMEQ2QjlEMEMwMDM4NTFCOSAvKiBJbWFnZURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDQTA4OEY1MjY0RTFDMDgwMDNFMkE2QyAvKiBJbWFnZURhdGFT
ZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUZFQTgxRjU3Mzk3MjAwMEM0MkZCIC8q
IEltYWdlRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaAppbmRleCBjMzRmMzViMWM1MGIxOTU5Njc4YTQ3NWEy
YmEzNTcyNjY3ODI3MzJiLi5mMTA5NTg2OTE1ZjgyM2ZjZmY3M2I1YTAxY2UyNGVkZjJkMWJhZWI5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5n
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmgK
QEAgLTYwOCw2ICs2MDgsMTEgQEAgdGVtcGxhdGU8PiBpbmxpbmUgQ1NTUHJpbWl0aXZlVmFsdWU6
OkNTU1ByaW1pdGl2ZVZhbHVlKENvbnRyb2xQYXJ0IGUpCiAgICAgICAgIG1fdmFsdWUudmFsdWVJ
RCA9IENTU1ZhbHVlQm9yZGVybGVzc0F0dGFjaG1lbnQ7CiAgICAgICAgIGJyZWFrOwogI2VuZGlm
CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0
dG9uUGFydDoKKyAgICAgICAgbV92YWx1ZS52YWx1ZUlEID0gQ1NTVmFsdWVJbnRlcm5hbEltYWdl
Q29udHJvbHNCdXR0b247CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExF
X1BBWSkKICAgICBjYXNlIEFwcGxlUGF5QnV0dG9uUGFydDoKICAgICAgICAgbV92YWx1ZS52YWx1
ZUlEID0gQ1NTVmFsdWVBcHBsZVBheUJ1dHRvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydGll
cy5qc29uCmluZGV4IDMzYjliYTU1M2YxOGUxMGY3NWI1YmQ0Mjg4ZDE3YWE5ODRhNDE0OTMuLmFi
OGVkZjAzMDcxZTNlZTdiMGYwNWJhYWI1NmY1MDY5MjM0Mjk5MGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0aWVzLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1Byb3BlcnRpZXMuanNvbgpAQCAtNTAwOCw2ICs1MDA4LDcgQEAKICAgICAgICAgICAgICAg
ICAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAg
ICJkaXNjcmV0ZS1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3IiLAogICAgICAgICAgICAgICAgICJy
YXRpbmctbGV2ZWwtaW5kaWNhdG9yIiwKKyAgICAgICAgICAgICAgICAiLWludGVybmFsLWltYWdl
LWNvbnRyb2xzLWJ1dHRvbiIsCiAgICAgICAgICAgICAgICAgIi1hcHBsZS1wYXktYnV0dG9uIiwK
ICAgICAgICAgICAgICAgICAidGV4dGFyZWEiLAogICAgICAgICAgICAgICAgICJhdHRhY2htZW50
IiwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KaW5kZXggOTQ1NjhiMTViN2E2
ZWUxY2ZlNjRhZGIxMGM1ZDYzMzZlMzFjNWQ3OS4uNjQ2MzUzYTRkNjY1MjU0ZjBlNjRkYTBlZmNj
NGUzYzhlZjU0MmM2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KQEAg
LTg4Nyw2ICs4ODcsOSBAQCByZWxldmFuY3ktbGV2ZWwtaW5kaWNhdG9yCiBjb250aW51b3VzLWNh
cGFjaXR5LWxldmVsLWluZGljYXRvcgogZGlzY3JldGUtY2FwYWNpdHktbGV2ZWwtaW5kaWNhdG9y
CiByYXRpbmctbGV2ZWwtaW5kaWNhdG9yCisjaWYgZGVmaW5lZChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJiYgRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMKKy1pbnRlcm5hbC1pbWFnZS1jb250cm9s
cy1idXR0b24KKyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0FQUExFX1BBWSkgJiYgRU5BQkxF
X0FQUExFX1BBWQogLWFwcGxlLXBheS1idXR0b24KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NQYXJzZXJJZGlvbXMuY3BwCmluZGV4IDY1NDRmMjZmNTFhOTIzZWU2MzBl
NzkxOGRiOTMzODZmY2E1ZTU3ZDEuLjI1Mjk3NzMxYjJmYWRkZWI1MDY1ZmY5YmI3NmI1ODYzZDZk
MWY3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VySWRp
b21zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlcklkaW9tcy5j
cHAKQEAgLTQwLDYgKzQwLDEwIEBAIGJvb2wgaXNWYWx1ZUFsbG93ZWRJbk1vZGUodW5zaWduZWQg
c2hvcnQgaWQsIENTU1BhcnNlck1vZGUgbW9kZSkKICAgICAgICAgcmV0dXJuIGlzVUFTaGVldEJl
aGF2aW9yKG1vZGUpOwogICAgIGNhc2UgQ1NTVmFsdWVXZWJraXRGb2N1c1JpbmdDb2xvcjoKICAg
ICAgICAgcmV0dXJuIGlzVUFTaGVldEJlaGF2aW9yKG1vZGUpIHx8IGlzUXVpcmtzTW9kZUJlaGF2
aW9yKG1vZGUpOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIGNhc2UgQ1NTVmFs
dWVJbnRlcm5hbEltYWdlQ29udHJvbHNCdXR0b246CisgICAgICAgIHJldHVybiBpc1VBU2hlZXRC
ZWhhdmlvcihtb2RlKTsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9s
c01hYy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU4ZmM5MTQ5MjQ3M2RhMjJjYzc1YzQwMTUzZGEwMmExMzAzNjM3YTEKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3Bw
CkBAIC0wLDAgKzEsMTExIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkltYWdlQ29udHJvbHNNYWMuaCIKKworI2luY2x1ZGUgIkVsZW1lbnRJbmxpbmVzLmgi
CisjaW5jbHVkZSAiSFRNTEJ1dHRvbkVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MRGl2RWxlbWVu
dC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxTdHlsZUVsZW1lbnQu
aCIKKyNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgorI2luY2x1ZGUgIlNoYWRvd1Jvb3QuaCIKKyNp
bmNsdWRlICJVc2VyQWdlbnRTdHlsZVNoZWV0cy5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L0F0b21T
dHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIEltYWdlQ29udHJvbHNN
YWMgeworCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisKK3N0YXRpYyBjb25zdCBBdG9t
U3RyaW5nJiBpbWFnZUNvbnRyb2xzRWxlbWVudElkZW50aWZpZXIoKQoreworICAgIHN0YXRpYyBN
YWluVGhyZWFkTmV2ZXJEZXN0cm95ZWQ8Y29uc3QgQXRvbVN0cmluZz4gaWRlbnRpZmllcigiaW1h
Z2UtY29udHJvbHMiLCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0
dXJuIGlkZW50aWZpZXI7Cit9CisKK3N0YXRpYyBjb25zdCBBdG9tU3RyaW5nJiBpbWFnZUNvbnRy
b2xzQnV0dG9uSWRlbnRpZmllcigpCit7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ry
b3llZDxjb25zdCBBdG9tU3RyaW5nPiBpZGVudGlmaWVyKCJpbWFnZS1jb250cm9scy1idXR0b24i
LCBBdG9tU3RyaW5nOjpDb25zdHJ1Y3RGcm9tTGl0ZXJhbCk7CisgICAgcmV0dXJuIGlkZW50aWZp
ZXI7Cit9CisKK2Jvb2wgaGFzQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7
CisgICAgYXV0byBzaGFkb3dSb290ID0gZWxlbWVudC5zaGFkb3dSb290KCk7CisgICAgaWYgKCFz
aGFkb3dSb290IHx8IHNoYWRvd1Jvb3QtPm1vZGUoKSAhPSBTaGFkb3dSb290TW9kZTo6VXNlckFn
ZW50KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gc2hhZG93Um9vdC0+aGFz
RWxlbWVudFdpdGhJZCgqaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkuaW1wbCgpKTsK
K30KKworc3RhdGljIFJlZlB0cjxIVE1MRWxlbWVudD4gaW1hZ2VDb250cm9sSG9zdChjb25zdCBO
b2RlJiBub2RlKQoreworICAgIGF1dG8gaG9zdCA9IG5vZGUuc2hhZG93SG9zdCgpOworICAgIGlm
ICghaXM8SFRNTEVsZW1lbnQ+KGhvc3QpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IFJlZlB0ciBlbGVtZW50IHsgJmRvd25jYXN0PEhUTUxFbGVtZW50PigqaG9zdCkgfTsKKyAgICBy
ZXR1cm4gaGFzQ29udHJvbHMoKmVsZW1lbnQpID8gZWxlbWVudCA6IG51bGxwdHI7Cit9CisKK2Jv
b2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJiBub2RlKQoreworICAg
IGF1dG8gaG9zdCA9IGltYWdlQ29udHJvbEhvc3Qobm9kZSk7CisgICAgaWYgKCFob3N0KQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBpZiAoUmVmUHRyIGNvbnRyb2xSb290ID0gc3RhdGlj
X2Nhc3Q8VHJlZVNjb3BlJj4oKmhvc3QtPnVzZXJBZ2VudFNoYWRvd1Jvb3QoKSkuZ2V0RWxlbWVu
dEJ5SWQoaW1hZ2VDb250cm9sc0J1dHRvbklkZW50aWZpZXIoKSkpCisgICAgICAgIHJldHVybiBu
b2RlLmlzRGVzY2VuZGFudE9mKCpjb250cm9sUm9vdCk7CisKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK3ZvaWQgY3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYgZWxlbWVudCkKK3sKKyAg
ICBSZWYgZG9jdW1lbnQgPSBlbGVtZW50LmRvY3VtZW50KCk7CisgICAgUmVmIHNoYWRvd1Jvb3Qg
PSBlbGVtZW50LmVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBhdXRvIGNvbnRyb2xM
YXllciA9IEhUTUxEaXZFbGVtZW50OjpjcmVhdGUoZG9jdW1lbnQuZ2V0KCkpOworICAgIGNvbnRy
b2xMYXllci0+c2V0SWRBdHRyaWJ1dGUoaW1hZ2VDb250cm9sc0VsZW1lbnRJZGVudGlmaWVyKCkp
OworICAgIHNoYWRvd1Jvb3QtPmFwcGVuZENoaWxkKGNvbnRyb2xMYXllcik7CisgICAgCisgICAg
c3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxjb25zdCBTdHJpbmc+IHNoYWRvd1N0eWxl
KFN0cmluZ0ltcGw6OmNyZWF0ZVdpdGhvdXRDb3B5aW5nKGltYWdlQ29udHJvbHNNYWNVc2VyQWdl
bnRTdHlsZVNoZWV0LCBzaXplb2YoaW1hZ2VDb250cm9sc01hY1VzZXJBZ2VudFN0eWxlU2hlZXQp
KSk7CisgICAgYXV0byBzdHlsZSA9IEhUTUxTdHlsZUVsZW1lbnQ6OmNyZWF0ZShIVE1MTmFtZXM6
OnN0eWxlVGFnLCBkb2N1bWVudC5nZXQoKSwgZmFsc2UpOworICAgIHN0eWxlLT5zZXRUZXh0Q29u
dGVudChzaGFkb3dTdHlsZSk7CisgICAgc2hhZG93Um9vdC0+YXBwZW5kQ2hpbGQoV1RGTW92ZShz
dHlsZSkpOworICAgIAorICAgIGF1dG8gYnV0dG9uID0gSFRNTEJ1dHRvbkVsZW1lbnQ6OmNyZWF0
ZShIVE1MTmFtZXM6OmJ1dHRvblRhZywgZWxlbWVudC5kb2N1bWVudCgpLCBudWxscHRyKTsKKyAg
ICBidXR0b24tPnNldElkQXR0cmlidXRlKGltYWdlQ29udHJvbHNCdXR0b25JZGVudGlmaWVyKCkp
OworICAgIGNvbnRyb2xMYXllci0+YXBwZW5kQ2hpbGQoYnV0dG9uKTsKKyAgICAKKyAgICBpZiAo
YXV0byogcmVuZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOyBpczxSZW5kZXJJbWFnZT4o
cmVuZGVyT2JqZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmpl
Y3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKHRydWUpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNF
UlZJQ0VfQ09OVFJPTFMpCisKK30gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1h
Z2VDb250cm9sc01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFj
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDI4Y2MwNTMxMGZjNWQzN2ZkMWVlNDA2NjY2YmI3NzgyMzhiY2ZhMgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01h
Yy5oCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1
ZGUgIkludFJlY3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBIVE1MRWxlbWVu
dDsKK2NsYXNzIE5vZGU7CisKK25hbWVzcGFjZSBJbWFnZUNvbnRyb2xzTWFjIHsKKworI2lmIEVO
QUJMRShTRVJWSUNFX0NPTlRST0xTKQorCitib29sIGhhc0NvbnRyb2xzKGNvbnN0IEhUTUxFbGVt
ZW50Jik7Citib29sIGlzSW1hZ2VDb250cm9sc0J1dHRvbkVsZW1lbnQoY29uc3QgTm9kZSYpOwor
dm9pZCBjcmVhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50Jik7CisKKyNlbmRpZiAvLyBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKworfSAvLyBuYW1lc3BhY2UgSW1hZ2VDb250cm9sc01hYwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQXR0cmlidXRlTmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVO
YW1lcy5pbgppbmRleCBhZGYyMGU2NTI3NDYwZTVmNWYzMGVmYzZmMGUwOTVhMmY1Yjg0MzIyLi42
ZGVhMzhlZjA5NDZlM2VlZDgzZWZkMGFlNjE0ZWU5ZDMzMTQ2YTY2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRyaWJ1dGVOYW1lcy5pbgpAQCAtNDI5LDYgKzQyOSw3IEBAIGF1dG9jYXBp
dGFsaXplCiBvbndlYmtpdGN1cnJlbnRwbGF5YmFja3RhcmdldGlzd2lyZWxlc3NjaGFuZ2VkCiBv
bndlYmtpdHBsYXliYWNrdGFyZ2V0YXZhaWxhYmlsaXR5Y2hhbmdlZAogb253ZWJraXRwcmVzZW50
YXRpb25tb2RlY2hhbmdlZAoreC13ZWJraXQtaW1hZ2VtZW51CiB3ZWJraXQtcGxheXNpbmxpbmUK
IHgtd2Via2l0LWFpcnBsYXkKIHgtd2Via2l0LXdpcmVsZXNzdmlkZW9wbGF5YmFja2Rpc2FibGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcAppbmRleCA4MDUzYTYyNTJk
MTM1ZGMyY2JmMWNlY2YwMTNlMjU4MDBmMTg4MjRiLi5kMTA4ZmIxOGI3OWYwOTEyY2U2MTcxNTQx
N2I3OGFjMzM4YmI4YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5j
cHAKQEAgLTYwLDYgKzYwLDEwIEBACiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKKyNpZiBFTkFCTEUoU0VSVklD
RV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5kaWYKKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoSFRNTEltYWdl
RWxlbWVudCk7CkBAIC0zMDgsNiArMzEyLDExIEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6cGFy
c2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluCiAg
ICAgICAgIEJsZW5kTW9kZSBibGVuZE9wID0gQmxlbmRNb2RlOjpOb3JtYWw7CiAgICAgICAgIGlm
ICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2NvbXBvc2l0ZU9wZXJh
dG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0b3IgPSBDb21wb3Np
dGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAg
ICB9IGVsc2UgaWYgKG5hbWUgPT0gd2Via2l0aW1hZ2VtZW51QXR0cikgeworICAgICAgICBtX2lt
YWdlTWVudUVuYWJsZWQgPSAhdmFsdWUuaXNOdWxsKCk7CisgICAgICAgIHVwZGF0ZUltYWdlQ29u
dHJvbHMoKTsKKyNlbmRpZgogICAgIH0gZWxzZSBpZiAobmFtZSA9PSBsb2FkaW5nQXR0cikgewog
ICAgICAgICAvLyBObyBhY3Rpb24gbmVlZGVkIGZvciBlYWdlciB0byBsYXp5IHRyYW5zaXRpb24u
CiAgICAgICAgIGlmICghaGFzTGF6eUxvYWRhYmxlQXR0cmlidXRlVmFsdWUodmFsdWUpKQpAQCAt
Mzc2LDYgKzM4NSwxMCBAQCB2b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmRpZEF0dGFjaFJlbmRlcmVy
cygpCiAgICAgaWYgKG1faW1hZ2VMb2FkZXItPmhhc1BlbmRpbmdCZWZvcmVMb2FkRXZlbnQoKSkK
ICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdXBk
YXRlSW1hZ2VDb250cm9scygpOworI2VuZGlmCisKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRv
d25jYXN0PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CiAgICAgUmVuZGVySW1hZ2VSZXNvdXJj
ZSYgcmVuZGVySW1hZ2VSZXNvdXJjZSA9IHJlbmRlckltYWdlLmltYWdlUmVzb3VyY2UoKTsKICAg
ICBpZiAocmVuZGVySW1hZ2VSZXNvdXJjZS5jYWNoZWRJbWFnZSgpKQpAQCAtNzUzLDYgKzc2Niw1
NCBAQCBjb25zdCBTdHJpbmcmIEhUTUxJbWFnZUVsZW1lbnQ6OmF0dGFjaG1lbnRJZGVudGlmaWVy
KCkgY29uc3QKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKKyNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3ZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scygpCit7CisgICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBh
IHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgorICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQorICAgICAgICByZXR1cm47CisgICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IGJvb2wgaGFzQ29udHJvbHMgPSBoYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgaWYgKCFtX2ltYWdl
TWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCisgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCk7CisgICAgZWxzZSBpZiAobV9pbWFnZU1lbnVFbmFibGVkICYmICFoYXNDb250cm9scykKKyAg
ICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOworfQorCit2b2lkIEhUTUxJbWFnZUVsZW1l
bnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQoreworICAgIEFTU0VSVChtX2ltYWdlTWVudUVu
YWJsZWQpOworICAgIEFTU0VSVCghaGFzSW1hZ2VDb250cm9scygpKTsKKyAgICBJbWFnZUNvbnRy
b2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlzKTsKK30KKwordm9pZCBIVE1MSW1hZ2VF
bGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCit7CisgICAgYXV0byBzaGFkb3dSb290ID0g
dXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGlmICghc2hhZG93Um9vdCkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQo
KSkgeworICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKElt
YWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25jYXN0PEhUTUxFbGVtZW50Pigqbm9kZSkp
KTsKKyAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hpbGQoKm5vZGUpOworICAgIH0KKyAgICBh
dXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3Qp
LnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKK30KKworYm9vbCBIVE1MSW1hZ2VFbGVtZW50
OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW1hZ2VDb250cm9sc01h
Yzo6aGFzQ29udHJvbHMoKnRoaXMpOworfQorCitib29sIEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYgY2hpbGQpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYmIEhUTUxFbGVtZW50OjpjaGlsZFNob3Vs
ZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9DT05U
Uk9MUykKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAvLyBGSVhNRTogV2Ugc2hvdWxkIGZp
bmQgYSBiZXR0ZXIgcGxhY2UgZm9yIHRoZSB0b3VjaCBjYWxsb3V0IGxvZ2ljLiBTZWUgcmRhcjov
L3Byb2JsZW0vNDg5Mzc3NjcuCiBib29sIEhUTUxJbWFnZUVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzZUNsaWNrRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTElt
YWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5k
ZXggYjIwOTE0ZWYxN2RlODhmYThlMzdlYjJhMjJjZDEyMjU3YWE4MjYyNC4uN2Y5MTRhNWFlNGNm
OWY5MjBjNTA0MDk5YTIyNWY5ZjI0NmZjYjM1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmgKQEAgLTExNiw2ICsxMTYsMTAgQEAgcHVibGljOgogCiAgICAgY29uc3QgQXRv
bVN0cmluZyYgaW1hZ2VTb3VyY2VVUkwoKSBjb25zdCBvdmVycmlkZTsKICAgICAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBib29sIGltYWdlTWVudUVuYWJsZWQoKSBjb25zdCB7
IHJldHVybiBtX2ltYWdlTWVudUVuYWJsZWQ7IH0KKyNlbmRpZgorCiAgICAgSFRNTFBpY3R1cmVF
bGVtZW50KiBwaWN0dXJlRWxlbWVudCgpIGNvbnN0OwogICAgIHZvaWQgc2V0UGljdHVyZUVsZW1l
bnQoSFRNTFBpY3R1cmVFbGVtZW50Kik7CiAKQEAgLTE4OCw2ICsxOTIsMTQgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNvcHlOb25BdHRyaWJ1dGVQcm9wZXJ0aWVzRnJvbUVsZW1lbnQoY29uc3QgRWxl
bWVudCYpIGZpbmFsOwogCiAgICAgZmxvYXQgZWZmZWN0aXZlSW1hZ2VEZXZpY2VQaXhlbFJhdGlv
KCkgY29uc3Q7CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCB1
cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgdm9pZCB0cnlDcmVhdGVJbWFnZUNvbnRyb2xzKCk7
CisgICAgdm9pZCBkZXN0cm95SW1hZ2VDb250cm9scygpOworICAgIGJvb2wgaGFzSW1hZ2VDb250
cm9scygpIGNvbnN0OworICAgIGJvb2wgY2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBO
b2RlJikgY29uc3Qgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIEhUTUxTb3VyY2VFbGVtZW50KiBz
b3VyY2VFbGVtZW50KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRTb3VyY2VFbGVtZW50KEhUTUxTb3Vy
Y2VFbGVtZW50Kik7CkBAIC0yMDEsNiArMjEzLDkgQEAgcHJpdmF0ZToKICAgICBBdG9tU3RyaW5n
IG1fY3VycmVudFNyYzsKICAgICBBdG9tU3RyaW5nIG1fcGFyc2VkVXNlbWFwOwogICAgIGZsb2F0
IG1faW1hZ2VEZXZpY2VQaXhlbFJhdGlvOworI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIGJvb2wgbV9pbWFnZU1lbnVFbmFibGVkIHsgZmFsc2UgfTsKKyNlbmRpZgogICAgIGJvb2wg
bV9oYWROYW1lQmVmb3JlQXR0cmlidXRlQ2hhbmdlZCB7IGZhbHNlIH07IC8vIEZJWE1FOiBXZSBv
bmx5IG5lZWQgdGhpcyBiZWNhdXNlIHBhcnNlQXR0cmlidXRlKCkgY2FuJ3Qgc2VlIHRoZSBvbGQg
dmFsdWUuCiAgICAgYm9vbCBtX2lzRHJvcHBlZEltYWdlUGxhY2Vob2xkZXIgeyBmYWxzZSB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9s
c01hYy5jc3MgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01h
Yy5jc3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZDVhNmFlZjQ2ZmJjOTI0MjEyYmIxZTg1NmUyNTUyN2I5YWEzZDZh
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFn
ZUNvbnRyb2xzTWFjLmNzcwpAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisKKyNpZiBkZWZpbmVkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAmJiBFTkFC
TEVfU0VSVklDRV9DT05UUk9MUworCitkaXYjaW1hZ2UtY29udHJvbHMgeworICAgIGRpc3BsYXk6
IGlubGluZS1ibG9jazsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgb3ZlcmZsb3c6IGhp
ZGRlbjsKKyAgICBjb2xvcjogdHJhbnNwYXJlbnQ7Cit9CisKK2RpdiNpbWFnZS1jb250cm9scyBi
dXR0b24jaW1hZ2UtY29udHJvbHMtYnV0dG9uIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7Cisg
ICAgdG9wOiAyMHB4OworICAgIHJpZ2h0OiAyMHB4OworICAgIAorICAgIGRpc3BsYXk6IGJsb2Nr
OworCisgICAgYXBwZWFyYW5jZTogLWludGVybmFsLWltYWdlLWNvbnRyb2xzLWJ1dHRvbjsKKwor
ICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXM7CisgICAgb3BhY2l0eTogMC4wOworfQorCitk
aXYjaW1hZ2UtY29udHJvbHM6aG92ZXIgYnV0dG9uI2ltYWdlLWNvbnRyb2xzLWJ1dHRvbiB7Cisg
ICAgb3BhY2l0eTogMS4wOworfQorCisjZW5kaWYKKworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0NvbnRleHRNZW51Q29udHJvbGxlci5jcHAKaW5kZXggMzUxZGVmNTU2ZjFjMzc0ZTQ1NTU3OWI0
OGQ2YTcyOWJjODJlOWFiOS4uYWM3N2I2NjdiZDIxOGMyZmY2YzU3MWZhODE5NzExNGMwZTA5NGU2
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9Db250ZXh0TWVudUNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmNwcApA
QCAtNzMsNiArNzMsMTAgQEAKICNpbmNsdWRlIDx3dGYvV2FsbFRpbWUuaD4KICNpbmNsdWRlIDx3
dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01hYy5oIgorI2VuZGlmCisKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCkBAIC0xNDMsNiArMTQ3LDIxIEBAIHZvaWQgQ29udGV4dE1lbnVDb250cm9s
bGVyOjpzaG93Q29udGV4dE1lbnUoRXZlbnQmIGV2ZW50LCBDb250ZXh0TWVudVByb3ZpZGVyJiBw
CiAgICAgc2hvd0NvbnRleHRNZW51KGV2ZW50KTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorCitzdGF0aWMgSW1hZ2UqIGltYWdlRnJvbUltYWdlRWxlbWVudE5vZGUoTm9kZSYg
bm9kZSkKK3sKKyAgICBhdXRvKiByZW5kZXJlciA9IG5vZGUucmVuZGVyZXIoKTsKKyAgICBpZiAo
IWlzPFJlbmRlckltYWdlPihyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAg
IGF1dG8qIGltYWdlID0gZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJlcikuY2FjaGVkSW1h
Z2UoKTsKKyAgICBpZiAoIWltYWdlIHx8IGltYWdlLT5lcnJvck9jY3VycmVkKCkpCisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIHJldHVybiBpbWFnZS0+aW1hZ2VGb3JSZW5kZXJlcihyZW5k
ZXJlcik7Cit9CisKKyNlbmRpZgorCiBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IENvbnRl
eHRNZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudCYgZXZlbnQsIE9w
dGlvblNldDxIaXRUZXN0UmVxdWVzdDo6VHlwZT4gaGl0VHlwZSwgQ29udGV4dE1lbnVDb250ZXh0
OjpUeXBlIGNvbnRleHRUeXBlKQogewogICAgIGlmICghaXM8TW91c2VFdmVudD4oZXZlbnQpKQpA
QCAtMTYyLDYgKzE4MSwxNiBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4dE1lbnU+IENvbnRleHRN
ZW51Q29udHJvbGxlcjo6bWF5YmVDcmVhdGVDb250ZXh0TWVudShFdmVudAogCiAgICAgbV9jb250
ZXh0ID0gQ29udGV4dE1lbnVDb250ZXh0KGNvbnRleHRUeXBlLCByZXN1bHQpOwogCisjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgaWYgKEltYWdlQ29udHJvbHNNYWM6OmlzSW1hZ2VD
b250cm9sc0J1dHRvbkVsZW1lbnQobm9kZSkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGltYWdlID0g
aW1hZ2VGcm9tSW1hZ2VFbGVtZW50Tm9kZSgqcmVzdWx0LmlubmVyTm9uU2hhcmVkTm9kZSgpKSkK
KyAgICAgICAgICAgIG1fY29udGV4dC5zZXRDb250cm9sbGVkSW1hZ2UoaW1hZ2UpOworCisgICAg
ICAgIC8vIEZJWE1FOiBJZiB3ZSBjb3VsZG4ndCBnZXQgdGhlIGltYWdlIHRoZW4gd2Ugc2hvdWxk
bid0IHRyeSB0byBzaG93IHRoZSBpbWFnZSBjb250cm9scyBtZW51IGZvciBpdC4KKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CisgICAgfQorI2VuZGlmCisgICAgCiAgICAgcmV0dXJuIG1ha2VVbmlx
dWU8Q29udGV4dE1lbnU+KCk7CiB9CiAKQEAgLTE1MzYsNiArMTU2NSwxNyBAQCB2b2lkIENvbnRl
eHRNZW51Q29udHJvbGxlcjo6c2hvd0NvbnRleHRNZW51QXQoRnJhbWUmIGZyYW1lLCBjb25zdCBJ
bnRQb2ludCYgY2xpYwogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
Cit2b2lkIENvbnRleHRNZW51Q29udHJvbGxlcjo6c2hvd0ltYWdlQ29udHJvbHNNZW51KEV2ZW50
JiBldmVudCkKK3sKKyAgICBjbGVhckNvbnRleHRNZW51KCk7CisgICAgaGFuZGxlQ29udGV4dE1l
bnVFdmVudChldmVudCk7CisgICAgbV9jbGllbnQuc2hvd0NvbnRleHRNZW51KCk7Cit9CisKKyNl
bmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoQ09OVEVY
VF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29udGV4dE1lbnVDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnRleHRNZW51Q29udHJvbGxlci5oCmlu
ZGV4IDZmZTJiZDNhODY3YTI3YWFjOGI3NGI0MWUzM2ViNWQxODc2ZTQwN2UuLjkwNjFkYTcyNGJj
M2Y4MGIzOTAyNGNkZTg3OWNiZDYzY2U1YjcwYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ29udGV4dE1lbnVDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
b250ZXh0TWVudUNvbnRyb2xsZXIuaApAQCAtNjksNiArNjksMTAgQEAgcHVibGljOgogI2lmIFVT
RShBQ0NFU1NJQklMSVRZX0NPTlRFWFRfTUVOVVMpCiAgICAgdm9pZCBzaG93Q29udGV4dE1lbnVB
dChGcmFtZSYsIGNvbnN0IEludFBvaW50JiBjbGlja1BvaW50KTsKICNlbmRpZgorICAgIAorI2lm
IEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAgIHZvaWQgc2hvd0ltYWdlQ29udHJvbHNNZW51
KEV2ZW50Jik7CisjZW5kaWYKIAogcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udGV4
dE1lbnU+IG1heWJlQ3JlYXRlQ29udGV4dE1lbnUoRXZlbnQmLCBPcHRpb25TZXQ8SGl0VGVzdFJl
cXVlc3Q6OlR5cGU+IGhpdFR5cGUsIENvbnRleHRNZW51Q29udGV4dDo6VHlwZSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCmluZGV4IDI3Mjg2MDE3MjE2NTdlZjQ2ODViYjI3
NzI5ZmFkOGY5ZmI1OTBkZjcuLjI2ZjRjZjQ1YTgxYWIwMjg1NTE5YmRkMGM1NjBlY2MwZDJlYWY5
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuY3BwCkBAIC05MSw2ICs5MSw5
IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVhbSYgdHMsIENvbnRyb2xQYXJ0IGNv
bnRyb2xQYXJ0KQogICAgIGNhc2UgQ29udGludW91c0NhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0
OiB0cyA8PCAiY29udGludW91cy1jYXBhY2l0eS1sZXZlbC1pbmRpY2F0b3ItcGFydCI7IGJyZWFr
OwogICAgIGNhc2UgRGlzY3JldGVDYXBhY2l0eUxldmVsSW5kaWNhdG9yUGFydDogdHMgPDwgImRp
c2NyZXRlLWNhcGFjaXR5LWxldmVsLWluZGljYXRvci1wYXJ0IjsgYnJlYWs7CiAgICAgY2FzZSBS
YXRpbmdMZXZlbEluZGljYXRvclBhcnQ6IHRzIDw8ICJyYXRpbmctbGV2ZWwtaW5kaWNhdG9yLXBh
cnQiOyBicmVhazsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIEltYWdl
Q29udHJvbHNCdXR0b25QYXJ0OiB0cyA8PCAiaW1hZ2UtY29udHJvbHMtYnV0dG9uLXBhcnQiOyBi
cmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgY2FzZSBBcHBsZVBheUJ1
dHRvblBhcnQ6IHRzIDw8ICJhcHBsZS1wYXktYnV0dG9uLXBhcnQiOyBicmVhazsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVGhlbWVUeXBlcy5oCmluZGV4IGNlN2FkOTNkYjZlYTg5NTYwZWJh
MGUwOGVjOWE5ZTJhNDY4ZDc0MmIuLjQyYmIzNjQ5MDU3YjQyNTEzMTE5ZjdjZTA4MGM1MmUzMGJl
NzU5MGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1RoZW1lVHlwZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9UaGVtZVR5cGVzLmgKQEAgLTkxLDYgKzkxLDkg
QEAgZW51bSBDb250cm9sUGFydCB7CiAgICAgQ29udGludW91c0NhcGFjaXR5TGV2ZWxJbmRpY2F0
b3JQYXJ0LAogICAgIERpc2NyZXRlQ2FwYWNpdHlMZXZlbEluZGljYXRvclBhcnQsCiAgICAgUmF0
aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0LAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQorICAg
IEltYWdlQ29udHJvbHNCdXR0b25QYXJ0LAorI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkK
ICAgICBBcHBsZVBheUJ1dHRvblBhcnQsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwCmluZGV4IDg2MmZiOWY0Y2Y0YmU5MTZlNTk5YWE2NTA0MTYyOTBlYTA3
ZmQwMzguLmY5MjEzZTJmMzU3MTQ4ZjE0MGM0ZDQxMGQwZTExNDE3ZDc2ZjBiOTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtMTQ1LDYgKzE0NSwxMCBAQCBS
ZW5kZXJJbWFnZTo6UmVuZGVySW1hZ2UoRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBz
dHlsZSwgU3R5bGVJbWFnZSogc3R5bAogICAgICwgbV9pbWFnZURldmljZVBpeGVsUmF0aW8oaW1h
Z2VEZXZpY2VQaXhlbFJhdGlvKQogewogICAgIHVwZGF0ZUFsdFRleHQoKTsKKyNpZiBFTkFCTEUo
U0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAoaXM8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVudCkp
CisgICAgICAgIG1faGFzU2hhZG93Q29udHJvbHMgPSBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50
PihlbGVtZW50KS5pbWFnZU1lbnVFbmFibGVkKCk7CisjZW5kaWYKIH0KIAogUmVuZGVySW1hZ2U6
OlJlbmRlckltYWdlKERvY3VtZW50JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSwgU3R5
bGVJbWFnZSogc3R5bGVJbWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUaGVtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUu
Y3BwCmluZGV4IDgxZGZkOGZmY2FiZmFiZDYxMGE5NjQwZDIyZGMwMmYzY2YyNjg1OWUuLjFkYzE0
Y2M1NTk0YWU4ZDliYWVlYTA1OGM5ZDM2YzNiODBlMzhhNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmNwcApAQCAtMjY3LDYgKzI2NywxMCBAQCB2b2lkIFJlbmRlclRo
ZW1lOjphZGp1c3RTdHlsZShSZW5kZXJTdHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqIGVsZW1l
bnQsIGNvbnN0CiAgICAgY2FzZSBEaXNjcmV0ZUNhcGFjaXR5TGV2ZWxJbmRpY2F0b3JQYXJ0Ogog
ICAgIGNhc2UgUmF0aW5nTGV2ZWxJbmRpY2F0b3JQYXJ0OgogICAgICAgICByZXR1cm4gYWRqdXN0
TWV0ZXJTdHlsZShzdHlsZSwgZWxlbWVudCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMp
CisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIGFkanVz
dEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShzdHlsZSwgZWxlbWVudCk7CisjZW5kaWYKICAgICBj
YXNlIENhcHNMb2NrSW5kaWNhdG9yUGFydDoKICAgICAgICAgcmV0dXJuIGFkanVzdENhcHNMb2Nr
SW5kaWNhdG9yU3R5bGUoc3R5bGUsIGVsZW1lbnQpOwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBA
IC01NDYsNiArNTUwLDEwIEBAIGJvb2wgUmVuZGVyVGhlbWU6OnBhaW50KGNvbnN0IFJlbmRlckJv
eCYgYm94LCBDb250cm9sU3RhdGVzJiBjb250cm9sU3RhdGVzLCBjb25zCiAgICAgICAgIHJldHVy
biBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0KGJveCwgcGFpbnRJbmZvLCBp
bnRlZ3JhbFNuYXBwZWRSZWN0KTsKICAgICBjYXNlIFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvblBh
cnQ6CiAgICAgICAgIHJldHVybiBwYWludFNlYXJjaEZpZWxkUmVzdWx0c0J1dHRvbihib3gsIHBh
aW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVjdCk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyAgICAgICAgcmV0dXJuIHBh
aW50SW1hZ2VDb250cm9sc0J1dHRvbihib3gsIHBhaW50SW5mbywgaW50ZWdyYWxTbmFwcGVkUmVj
dCk7CisjZW5kaWYKICAgICBjYXNlIENhcHNMb2NrSW5kaWNhdG9yUGFydDoKICAgICAgICAgcmV0
dXJuIHBhaW50Q2Fwc0xvY2tJbmRpY2F0b3IoYm94LCBwYWludEluZm8sIGludGVncmFsU25hcHBl
ZFJlY3QpOwogI2lmIEVOQUJMRShBUFBMRV9QQVkpCkBAIC02MTIsNiArNjIwLDkgQEAgYm9vbCBS
ZW5kZXJUaGVtZTo6cGFpbnRCb3JkZXJPbmx5KGNvbnN0IFJlbmRlckJveCYgYm94LCBjb25zdCBQ
YWludEluZm8mIHBhaW50SW4KICAgICBjYXNlIFNlYXJjaEZpZWxkRGVjb3JhdGlvblBhcnQ6CiAg
ICAgY2FzZSBTZWFyY2hGaWVsZFJlc3VsdHNEZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNlYXJj
aEZpZWxkUmVzdWx0c0J1dHRvblBhcnQ6CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisg
ICAgY2FzZSBJbWFnZUNvbnRyb2xzQnV0dG9uUGFydDoKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTY4Niw2ICs2OTcsOSBAQCB2b2lkIFJlbmRlclRoZW1l
OjpwYWludERlY29yYXRpb25zKGNvbnN0IFJlbmRlckJveCYgYm94LCBjb25zdCBQYWludEluZm8m
IHBhaW50SQogICAgIGNhc2UgU2VhcmNoRmllbGREZWNvcmF0aW9uUGFydDoKICAgICBjYXNlIFNl
YXJjaEZpZWxkUmVzdWx0c0RlY29yYXRpb25QYXJ0OgogICAgIGNhc2UgU2VhcmNoRmllbGRSZXN1
bHRzQnV0dG9uUGFydDoKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBjYXNlIElt
YWdlQ29udHJvbHNCdXR0b25QYXJ0OgorI2VuZGlmCiAgICAgZGVmYXVsdDoKICAgICAgICAgYnJl
YWs7CiAgICAgfQpAQCAtMTI3Nyw2ICsxMjkxLDEyIEBAIHZvaWQgUmVuZGVyVGhlbWU6OnBhaW50
U2xpZGVyVGlja3MoY29uc3QgUmVuZGVyT2JqZWN0JiBvLCBjb25zdCBQYWludEluZm8mIHBhaW50
CiAKICNlbmRpZgogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCit2b2lkIFJlbmRlclRo
ZW1lOjphZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBF
bGVtZW50KikgY29uc3QKK3sKK30KKyNlbmRpZgorCiBTZWNvbmRzIFJlbmRlclRoZW1lOjphbmlt
YXRpb25SZXBlYXRJbnRlcnZhbEZvclByb2dyZXNzQmFyKGNvbnN0IFJlbmRlclByb2dyZXNzJikg
Y29uc3QKIHsKICAgICByZXR1cm4gMF9zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRoZW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWUuaAppbmRleCA1ZTU0ZWYxMWNlNjk0NzM0MGRlMzg2NjhlZmYzNTRlNTU3ZmQyNWE0Li44ZWYz
MDBmY2M3MzU5YTRmYmIwYzFkYzU0NjBhOTgzNzliMTk4ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGhlbWUuaApAQCAtMjQ5LDYgKzI0OSwxMCBAQCBwdWJsaWM6CiAKICAgICBl
bnVtIEZpbGVVcGxvYWREZWNvcmF0aW9ucyB7IFNpbmdsZUZpbGUsIE11bHRpcGxlRmlsZXMgfTsK
ICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRGaWxlVXBsb2FkSWNvbkRlY29yYXRpb25zKGNvbnN0IFJl
bmRlck9iamVjdCYgLyppbnB1dFJlbmRlcmVyKi8sIGNvbnN0IFJlbmRlck9iamVjdCYgLypidXR0
b25SZW5kZXJlciovLCBjb25zdCBQYWludEluZm8mLCBjb25zdCBJbnRSZWN0JiwgSWNvbiosIEZp
bGVVcGxvYWREZWNvcmF0aW9ucykgeyB9CisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCisgICAgdmlydHVhbCBJbnRTaXplIGltYWdlQ29udHJvbHNCdXR0b25TaXplKCkgY29uc3Qg
eyByZXR1cm4gSW50U2l6ZSgpOyB9CisjZW5kaWYKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VM
RU1FTlQpCiAgICAgdmlydHVhbCBMYXlvdXRTaXplIGF0dGFjaG1lbnRJbnRyaW5zaWNTaXplKGNv
bnN0IFJlbmRlckF0dGFjaG1lbnQmKSBjb25zdCB7IHJldHVybiBMYXlvdXRTaXplKCk7IH0KQEAg
LTM1OSw2ICszNjMsMTEgQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBhZGp1c3RMaXN0
QnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIHBhaW50TGlzdEJ1dHRvbihjb25zdCBSZW5kZXJPYmplY3QmLCBjb25zdCBQYWlu
dEluZm8mLCBjb25zdCBGbG9hdFJlY3QmKSB7IHJldHVybiB0cnVlOyB9CiAjZW5kaWYKKyAgICAK
KyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0SW1h
Z2VDb250cm9sc0J1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0
OworICAgIHZpcnR1YWwgYm9vbCBwYWludEltYWdlQ29udHJvbHNCdXR0b24oY29uc3QgUmVuZGVy
T2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3QgSW50UmVjdCYpIHsgcmV0dXJuIHRydWU7
IH0KKyNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkanVzdFByb2dyZXNzQmFyU3R5bGUoUmVu
ZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHBhaW50
UHJvZ3Jlc3NCYXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUGFpbnRJbmZvJiwgY29uc3Qg
SW50UmVjdCYpIHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUaGVtZU1hYy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRoZW1lTWFjLmgKaW5kZXggYzQxZjc0OTAwOTI1ZWZhMTY1ZWVlZTg5ZDY4YjhlNjY2MTA1MzU1
NS4uYTAzZTFmNWM5MTY5YzZlZjY1ZTNkNDYxODdjYWYxZTE2ZmUxOWRmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLmgKQEAgLTE0NSw2ICsxNDUsMTAgQEAgcHJp
dmF0ZToKICAgICB2b2lkIHBhaW50TGlzdEJ1dHRvbkZvcklucHV0KGNvbnN0IFJlbmRlck9iamVj
dCYsIEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0IEZsb2F0UmVjdCYpOwogICAgIHZvaWQgYWRqdXN0
TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiwgY29uc3QgRWxlbWVudCopIGNvbnN0IGZpbmFs
OwogI2VuZGlmCisgICAgCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgdm9pZCBh
ZGp1c3RJbWFnZUNvbnRyb2xzQnV0dG9uU3R5bGUoUmVuZGVyU3R5bGUmLCBjb25zdCBFbGVtZW50
KikgY29uc3QgZmluYWw7CisjZW5kaWYKIAogI2lmIEVOQUJMRShWSURFTykKICAgICBib29sIHN1
cHBvcnRzQ2xvc2VkQ2FwdGlvbmluZygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KQEAg
LTIwOCw2ICsyMTIsMTMgQEAgcHJpdmF0ZToKICAgICBpbnQgbWluaW11bVByb2dyZXNzQmFySGVp
Z2h0KGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAgICAgY29uc3QgSW50U2l6ZSogcHJvZ3Jl
c3NCYXJTaXplcygpIGNvbnN0OwogICAgIGNvbnN0IGludCogcHJvZ3Jlc3NCYXJNYXJnaW5zKE5T
Q29udHJvbFNpemUpIGNvbnN0OworICAgIAorI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQor
ICAgIGJvb2wgcGFpbnRJbWFnZUNvbnRyb2xzQnV0dG9uKGNvbnN0IFJlbmRlck9iamVjdCYsIGNv
bnN0IFBhaW50SW5mbyYsIGNvbnN0IEludFJlY3QmKSBmaW5hbDsKKyAgICBJbnRTaXplIGltYWdl
Q29udHJvbHNCdXR0b25TaXplKCkgY29uc3QgZmluYWw7CisKKyAgICBOU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsICpzZXJ2aWNlc1JvbGxvdmVyQnV0dG9uQ2VsbCgpIGNvbnN0OworI2VuZGlm
CiAKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1BvcFVwQnV0dG9uQ2VsbD4gbV9wb3B1cEJ1dHRv
bjsKICAgICBtdXRhYmxlIFJldGFpblB0cjxOU1NlYXJjaEZpZWxkQ2VsbD4gbV9zZWFyY2g7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVNYWMubW0KaW5kZXggYWE2MGYyZWIy
YzQyMzJlYzkwZmE5M2ZlYTBmZTgwNzA2MWIzNThjMi4uOTY0ODU2MTBhZmEwMmMxY2ViNTE4YTUy
ZWIzMjAxNzExYjk4ZTYwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVt
ZU1hYy5tbQpAQCAtNzUsNiArNzUsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9tYWMvTlNBcHBlYXJh
bmNlU1BJLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9OU0NlbGxTUEkuaD4KICNpbXBvcnQgPHBh
bC9zcGkvbWFjL05TSW1hZ2VTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU2VydmljZXNS
b2xsb3ZlckJ1dHRvbkNlbGxTUEkuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TU2hhcmluZ1Nl
cnZpY2VQaWNrZXJTUEkuaD4KICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3
dGYvT2JqQ1J1bnRpbWVFeHRyYXMuaD4KQEAgLTgyLDE3ICs4Myw2IEBACiAjaW1wb3J0IDx3dGYv
U3RkTGliRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKLSNp
ZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKLQotLy8gRklYTUU6IFRoaXMgc2hvdWxkIGdvIGlu
dG8gYW4gU1BJLmggZmlsZSBpbiB0aGUgc3BpIGRpcmVjdG9yeS4KLSNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQotI2ltcG9ydCA8QXBwS2l0L0FwcEtpdERlZmluZXNfUHJpdmF0ZS5oPgotI2Vs
c2UKLSNkZWZpbmUgQVBQS0lUX1BSSVZBVEVfQ0xBU1MKLSNlbmRpZgotCi0jZW5kaWYgLy8gRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0KIC8vIEZJWE1FOiBUaGlzIHNob3VsZCBnbyBpbnRvIGFu
IFNQSS5oIGZpbGUgaW4gdGhlIHNwaSBkaXJlY3RvcnkuCiBAaW50ZXJmYWNlIE5TVGV4dEZpZWxk
Q2VsbCAoKQogLSAoQ0ZEaWN0aW9uYXJ5UmVmKV9jb3JlVUlEcmF3T3B0aW9uc1dpdGhGcmFtZToo
TlNSZWN0KWNlbGxGcmFtZSBpblZpZXc6KE5TVmlldyAqKWNvbnRyb2xWaWV3IGluY2x1ZGVGb2N1
czooQk9PTClpbmNsdWRlRm9jdXM7CkBAIC0xMDkzLDYgKzEwODMsMTQgQEAgdm9pZCBSZW5kZXJU
aGVtZU1hYzo6YWRqdXN0TGlzdEJ1dHRvblN0eWxlKFJlbmRlclN0eWxlJiBzdHlsZSwgY29uc3Qg
RWxlbWVudCopIGMKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKK3Zv
aWQgUmVuZGVyVGhlbWVNYWM6OmFkanVzdEltYWdlQ29udHJvbHNCdXR0b25TdHlsZShSZW5kZXJT
dHlsZSYgc3R5bGUsIGNvbnN0IEVsZW1lbnQqKSBjb25zdAoreworICAgIHN0eWxlLnNldEhlaWdo
dChMZW5ndGgoaW1hZ2VDb250cm9sc0J1dHRvblNpemUoKS5oZWlnaHQoKSwgTGVuZ3RoVHlwZTo6
Rml4ZWQpKTsKKyAgICBzdHlsZS5zZXRXaWR0aChMZW5ndGgoaW1hZ2VDb250cm9sc0J1dHRvblNp
emUoKS53aWR0aCgpLCBMZW5ndGhUeXBlOjpGaXhlZCkpOworfQorI2VuZGlmCisKIGJvb2wgUmVu
ZGVyVGhlbWVNYWM6OnBhaW50VGV4dEZpZWxkKGNvbnN0IFJlbmRlck9iamVjdCYgbywgY29uc3Qg
UGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IEZsb2F0UmVjdCYgcikKIHsKICAgICBMb2NhbEN1
cnJlbnRHcmFwaGljc0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KCkpOwpA
QCAtMjI4Miw2ICsyMjgwLDM3IEBAIFN0cmluZyBSZW5kZXJUaGVtZU1hYzo6ZmlsZUxpc3ROYW1l
Rm9yV2lkdGgoY29uc3QgRmlsZUxpc3QqIGZpbGVMaXN0LCBjb25zdCBGb250CiAgICAgcmV0dXJu
IFN0cmluZ1RydW5jYXRvcjo6Y2VudGVyVHJ1bmNhdGUoc3RyVG9UcnVuY2F0ZSwgd2lkdGgsIGZv
bnQpOwogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitOU1NlcnZpY2VzUm9sbG92
ZXJCdXR0b25DZWxsKiBSZW5kZXJUaGVtZU1hYzo6c2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwo
KSBjb25zdAoreworICAgIGlmICghbV9zZXJ2aWNlc1JvbGxvdmVyQnV0dG9uKSB7CisgICAgICAg
IG1fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiA9IFtOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxs
IHNlcnZpY2VSb2xsb3ZlckJ1dHRvbkNlbGxGb3JTdHlsZTpOU1NoYXJpbmdTZXJ2aWNlUGlja2Vy
U3R5bGVSb2xsb3Zlcl07CisgICAgICAgIFttX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24gc2V0QmV6
ZWxTdHlsZTpOU0JlemVsU3R5bGVSb3VuZGVkRGlzY2xvc3VyZV07CisgICAgICAgIFttX3NlcnZp
Y2VzUm9sbG92ZXJCdXR0b24gc2V0QnV0dG9uVHlwZTpOU0J1dHRvblR5cGVQdXNoT25QdXNoT2Zm
XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRJbWFnZVBvc2l0aW9uOk5T
SW1hZ2VPbmx5XTsKKyAgICAgICAgW21fc2VydmljZXNSb2xsb3ZlckJ1dHRvbiBzZXRTdGF0ZTpO
T107CisgICAgfQorICAgIHJldHVybiBtX3NlcnZpY2VzUm9sbG92ZXJCdXR0b24uZ2V0KCk7Cit9
CisKK2Jvb2wgUmVuZGVyVGhlbWVNYWM6OnBhaW50SW1hZ2VDb250cm9sc0J1dHRvbihjb25zdCBS
ZW5kZXJPYmplY3QmIHJlbmRlcmVyLCBjb25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
SW50UmVjdCYgcmVjdCkKK3sKKyAgICBOU1NlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsICpjZWxs
ID0gc2VydmljZXNSb2xsb3ZlckJ1dHRvbkNlbGwoKTsKKyAgICBMb2NhbEN1cnJlbnRHcmFwaGlj
c0NvbnRleHQgbG9jYWxDb250ZXh0KHBhaW50SW5mby5jb250ZXh0KCkpOworICAgIEdyYXBoaWNz
Q29udGV4dFN0YXRlU2F2ZXIgc3RhdGVTYXZlcihwYWludEluZm8uY29udGV4dCgpKTsKKyAgICBw
YWludEluZm8uY29udGV4dCgpLnRyYW5zbGF0ZShyZWN0LmxvY2F0aW9uKCkpOworICAgIEludFJl
Y3QgaW5uZXJGcmFtZShJbnRQb2ludCgpLCByZWN0LnNpemUoKSk7CisgICAgW2NlbGwgZHJhd1dp
dGhGcmFtZTppbm5lckZyYW1lIGluVmlldzpkb2N1bWVudFZpZXdGb3IocmVuZGVyZXIpXTsKKyAg
ICBbY2VsbCBzZXRDb250cm9sVmlldzpuaWxdOworICAgIHJldHVybiBmYWxzZTsKK30KKworSW50
U2l6ZSBSZW5kZXJUaGVtZU1hYzo6aW1hZ2VDb250cm9sc0J1dHRvblNpemUoKSBjb25zdAorewor
ICAgIHJldHVybiBJbnRTaXplKHNlcnZpY2VzUm9sbG92ZXJCdXR0b25DZWxsKCkuY2VsbFNpemUp
OworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5UKQogY29uc3QgQ0dG
bG9hdCBhdHRhY2htZW50SWNvblNpemUgPSA0ODsKIGNvbnN0IENHRmxvYXQgYXR0YWNobWVudElj
b25CYWNrZ3JvdW5kUGFkZGluZyA9IDY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHls
ZS9Vc2VyQWdlbnRTdHlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHls
ZS5jcHAKaW5kZXggZTExZDZmZmE3ZGVlOWI0ODI4MTY1MTI3MjQzZGM3NWUxYzIzOWNiYy4uYTEw
Mjc4MDM2YmE5MDdkYmM4YmNhNWU1OTQxMTExMzRmOWU5YzI0MCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1VzZXJBZ2VudFN0eWxlLmNwcApAQCAtNzQsNiArNzQsOSBAQCBTdHlsZVNoZWV0Q29udGVu
dHMqIFVzZXJBZ2VudFN0eWxlOjptYXRoTUxTdHlsZVNoZWV0OwogU3R5bGVTaGVldENvbnRlbnRz
KiBVc2VyQWdlbnRTdHlsZTo6bWVkaWFDb250cm9sc1N0eWxlU2hlZXQ7CiBTdHlsZVNoZWV0Q29u
dGVudHMqIFVzZXJBZ2VudFN0eWxlOjpmdWxsc2NyZWVuU3R5bGVTaGVldDsKIFN0eWxlU2hlZXRD
b250ZW50cyogVXNlckFnZW50U3R5bGU6OnBsdWdJbnNTdHlsZVNoZWV0OworI2lmIEVOQUJMRShT
RVJWSUNFX0NPTlRST0xTKQorU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6aW1h
Z2VDb250cm9sc1N0eWxlU2hlZXQ7CisjZW5kaWYKIFN0eWxlU2hlZXRDb250ZW50cyogVXNlckFn
ZW50U3R5bGU6Om1lZGlhUXVlcnlTdHlsZVNoZWV0OwogI2lmIEVOQUJMRShEQVRBTElTVF9FTEVN
RU5UKQogU3R5bGVTaGVldENvbnRlbnRzKiBVc2VyQWdlbnRTdHlsZTo6ZGF0YUxpc3RTdHlsZVNo
ZWV0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50U3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1VzZXJBZ2VudFN0eWxlLmgKaW5kZXggYjExZTEwYWU5ZDhh
MjkwMjMwNjYwOGI5NzI5YWIwMTIxZmVjMjRhMC4uZDI2ZDYwOTA5N2MyZmFkMWUzMzFjNDVmNDAx
ZDE0ZmYwNDgwZTMzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvVXNlckFnZW50
U3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9Vc2VyQWdlbnRTdHlsZS5oCkBAIC00
Niw2ICs0Niw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBtZWRp
YUNvbnRyb2xzU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBmdWxs
c2NyZWVuU3R5bGVTaGVldDsKICAgICBzdGF0aWMgU3R5bGVTaGVldENvbnRlbnRzKiBwbHVnSW5z
U3R5bGVTaGVldDsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBzdGF0aWMgU3R5
bGVTaGVldENvbnRlbnRzKiBpbWFnZUNvbnRyb2xzU3R5bGVTaGVldDsKKyNlbmRpZgogI2lmIEVO
QUJMRShEQVRBTElTVF9FTEVNRU5UKQogICAgIHN0YXRpYyBTdHlsZVNoZWV0Q29udGVudHMqIGRh
dGFMaXN0U3R5bGVTaGVldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcAppbmRleCAxNTI0YTBiZWMzYzM2MjRkMWJjNjY0YjQ2ODJi
MmUzYzU5ODMxMzVlLi45MGRkMzJiYWNiMDMzYjcxNzM1MjlmMmY1ZDI5OWEyMGNjZTMyMGRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcApA
QCAtMTQyMSwxNSArMTQyMSwxNCBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRTZXJ2aWNlQ29udHJv
bHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCiAgICAgcmV0dXJuIHRv
SW1wbChwcmVmZXJlbmNlc1JlZiktPnNlcnZpY2VDb250cm9sc0VuYWJsZWQoKTsKIH0KIAotdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwg
Ym9vbCkKK3ZvaWQgV0tQcmVmZXJlbmNlc1NldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICAvLyBJbWFnZSBj
b250cm9scyBhcmUgbm8gbG9uZ2VyIHN1cHBvcnRlZC4KKyAgICB0b0ltcGwocHJlZmVyZW5jZXNS
ZWYpLT5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZChlbmFibGVkKTsKIH0KIAotYm9vbCBXS1ByZWZl
cmVuY2VzR2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZikKK2Jvb2wgV0tQ
cmVmZXJlbmNlc0dldEltYWdlQ29udHJvbHNFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYpCiB7Ci0gICAgLy8gSW1hZ2UgY29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0
ZWQuCi0gICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYp
LT5pbWFnZUNvbnRyb2xzRW5hYmxlZCgpOwogfQogCiB2b2lkIFdLUHJlZmVyZW5jZXNTZXRHYW1l
cGFkc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgYm9vbCBlbmFibGVk
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5k
ZXggYmFkNDdjMDc2ZWNkYzVhOGZmMDkwZjY3MTE3ODE1YzdlYzlkNjQ0NS4uYzRlZTUyNTA3NjQy
ZGI0ZTU0Y2ZhZGY3ZmVlM2JmMWI3YzBkM2QzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODksNiArNDg5LDcgQEAgc3RhdGljIHZv
aWQgaGFyZHdhcmVLZXlib2FyZEF2YWlsYWJpbGl0eUNoYW5nZWRDYWxsYmFjayhDRk5vdGlmaWNh
dGlvbkNlbnRlclJlZiwKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24t
PnByZWZlcmVuY2VzKCktPnNldFNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkKCEhW19jb25maWd1
cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnBy
ZWZlcmVuY2VzKCktPnNldFNlcnZpY2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24g
X3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVy
ZW5jZXMoKS0+c2V0SW1hZ2VDb250cm9sc0VuYWJsZWQoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdl
Q29udHJvbHNFbmFibGVkXSk7CiAKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZXMo
KS0+c2V0VXNlckludGVyZmFjZURpcmVjdGlvblBvbGljeShjb252ZXJ0VXNlckludGVyZmFjZURp
cmVjdGlvblBvbGljeShbX2NvbmZpZ3VyYXRpb24gdXNlckludGVyZmFjZURpcmVjdGlvblBvbGlj
eV0pKTsKICAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5l
LCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNl
IGRpcmVjdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggOWIwMmU5MTQxZjk5ZjUwOTdj
Njk4YTViNDg1MzIxYjA0NWJjN2YxZS4uNTk3NGE5Yzk3NmIwZjUyNTA0OGMwZjg3YjFkZTA3OTZh
NjBlZTJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
V2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE1Nyw2ICsxNTcsNyBAQCBzdGF0
aWMgYm9vbCBkZWZhdWx0U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1By
ZXZpZXcoKQogICAgIFdLUmV0YWluUHRyPFdLUGFnZUdyb3VwUmVmPiBfcGFnZUdyb3VwOwogICAg
IEJPT0wgX3Nob3dzVVJMc0luVG9vbFRpcHM7CiAgICAgQk9PTCBfc2VydmljZUNvbnRyb2xzRW5h
YmxlZDsKKyAgICBCT09MIF9pbWFnZUNvbnRyb2xzRW5hYmxlZDsKICNlbmRpZgogICAgIEJPT0wg
X3dhaXRzRm9yUGFpbnRBZnRlclZpZXdEaWRNb3ZlVG9XaW5kb3c7CiAgICAgQk9PTCBfY29udHJv
bGxlZEJ5QXV0b21hdGlvbjsKQEAgLTIyNyw2ICsyMjgsNyBAQCBzdGF0aWMgYm9vbCBkZWZhdWx0
U2hvdWxkRGVjaWRlUG9saWN5QmVmb3JlTG9hZGluZ1F1aWNrTG9va1ByZXZpZXcoKQogICAgIF9y
ZXNwZWN0c0ltYWdlT3JpZW50YXRpb24gPSBOTzsKICAgICBfc2hvd3NVUkxzSW5Ub29sVGlwcyA9
IE5POwogICAgIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gTk87CisgICAgX2ltYWdlQ29udHJv
bHNFbmFibGVkID0gTk87CiAjZW5kaWYKICAgICBfd2FpdHNGb3JQYWludEFmdGVyVmlld0RpZE1v
dmVUb1dpbmRvdyA9IFlFUzsKIApAQCAtNDI1LDYgKzQyNyw3IEBAIHN0YXRpYyBib29sIGRlZmF1
bHRTaG91bGREZWNpZGVQb2xpY3lCZWZvcmVMb2FkaW5nUXVpY2tMb29rUHJldmlldygpCiAgICAg
Y29uZmlndXJhdGlvbi0+X3VzZXJJbnRlcmZhY2VEaXJlY3Rpb25Qb2xpY3kgPSBzZWxmLT5fdXNl
ckludGVyZmFjZURpcmVjdGlvblBvbGljeTsKICAgICBjb25maWd1cmF0aW9uLT5fc2hvd3NVUkxz
SW5Ub29sVGlwcyA9IHNlbGYtPl9zaG93c1VSTHNJblRvb2xUaXBzOwogICAgIGNvbmZpZ3VyYXRp
b24tPl9zZXJ2aWNlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X3NlcnZpY2VDb250cm9sc0VuYWJs
ZWQ7CisgICAgY29uZmlndXJhdGlvbi0+X2ltYWdlQ29udHJvbHNFbmFibGVkID0gc2VsZi0+X2lt
YWdlQ29udHJvbHNFbmFibGVkOwogICAgIGNvbmZpZ3VyYXRpb24tPl9wYWdlR3JvdXAgPSBzZWxm
Ll9wYWdlR3JvdXA7CiAjZW5kaWYKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pICYmIFBMQVRG
T1JNKElPU19GQU1JTFkpCkBAIC0xMTQ1LDEzICsxMTQ4LDEyIEBAIHN0YXRpYyBXZWJLaXQ6OkF0
dHJpYnV0aW9uT3ZlcnJpZGVUZXN0aW5nIHRvQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcoX1dL
QXR0cmliCiAKIC0gKEJPT0wpX2ltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2Ug
Y29udHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCi0gICAgcmV0dXJuIE5POworICAgIHJl
dHVybiBfaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKHZvaWQpX3NldEltYWdlQ29udHJv
bHNFbmFibGVkOihCT09MKWltYWdlQ29udHJvbHNFbmFibGVkCiB7Ci0gICAgLy8gSW1hZ2UgY29u
dHJvbHMgYXJlIG5vIGxvbmdlciBzdXBwb3J0ZWQuCisgICAgX2ltYWdlQ29udHJvbHNFbmFibGVk
ID0gaW1hZ2VDb250cm9sc0VuYWJsZWQ7CiB9CiAKIC0gKEJPT0wpX3JlcXVpcmVzVXNlckFjdGlv
bkZvckVkaXRpbmdDb250cm9sc01hbmFnZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uUHJpdmF0ZS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRl
LmgKaW5kZXggMzI2OThkNWI4ZjI4YzkyMTM2Mjc3ZjM5ZWExZWM1M2UyYzU4YWY2My4uODEzNjU1
N2MxZmFhNTY0MDljOTBlOGM0YWNlNWYxMjIyMmM1MjhiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb25Qcml2YXRlLmgKQEAgLTEwNSw3ICsxMDUsNyBAQCB0eXBlZGVmIE5TX0VOVU0oTlNVSW50
ZWdlciwgX1dLQXR0cmlidXRpb25PdmVycmlkZVRlc3RpbmcpIHsKICNlbHNlCiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRTaG93c1VSTHNJblRvb2xUaXBzOikgQk9PTCBfc2hvd3NV
UkxzSW5Ub29sVGlwcyBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRTZXJ2aWNlQ29udHJvbHNFbmFibGVkOikgQk9PTCBfc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7Ci1AcHJv
cGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wg
X2ltYWdlQ29udHJvbHNFbmFibGVkIFdLX0FQSV9ERVBSRUNBVEVEKCJJbWFnZSBjb250cm9scyBh
cmUgbm8gbG9uZ2VyIHN1cHBvcnRlZCIsIG1hY29zKDEwLjEyLCAxMi4wKSk7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgc2V0dGVyPV9zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZDopIEJPT0wgX2ltYWdl
Q29udHJvbHNFbmFibGVkIFdLX0FQSV9BVkFJTEFCTEUobWFjb3MoV0tfTUFDX1RCQSkpOwogQHBy
b3BlcnR5IChub25hdG9taWMsIHJlYWR3cml0ZSwgc2V0dGVyPV9zZXRSZXF1aXJlc1VzZXJBY3Rp
b25Gb3JFZGl0aW5nQ29udHJvbHNNYW5hZ2VyOikgQk9PTCBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
RWRpdGluZ0NvbnRyb2xzTWFuYWdlciBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEyKSk7CiBA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBzZXR0ZXI9X3NldENQVUxpbWl0OikgZG91
YmxlIF9jcHVMaW1pdCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKIEBwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHNldHRlcj1fc2V0UGFnZUdyb3VwOikgV0tQYWdlR3Jv
dXBSZWYgX3BhZ2VHcm91cCBXS19BUElfQVZBSUxBQkxFKG1hY29zKDEwLjEzLjQpKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA4MWQ4MDAyOTA2Y2VmOWNjNjI0YzY5OTMyNjJjNTJlM2U2NDg0OTE1Li5hMmIyMTE4MmY1Yjk5
ZjRiZjdlM2MxZGZjNDllOTA4YWQ2MmJiNTVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEt
MTEtMzAgIE1lZ2FuIEdhcmRuZXIgIDxtZWdhbl9nYXJkbmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZS1hZGQgc3VwcG9ydCBvZiBpbWFnZSBjb250cm9sIG1lbnVzLgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMzA1CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gYWNjb3VudCBmb3Ig
aW1hZ2UgY29udHJvbHMuCisKKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2lt
YWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIxLTEx
LTI5ICBBcmNhZHkgR29sZG1pbnRzLU9ybG92ICA8YWdvbGRtaW50c0BpZ2FsaWEuY29tPgogCiAg
ICAgICAgIFtHTElCXSBVcGRhdGUgdGVzdCBleHBlY3RhdGlvbnMgYW5kIGJhc2VsaW5lcy4gVW5y
ZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1h
Z2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
aW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OWI3
NWQ3NmEwNDhhYjQwMTViZTAyYWU2Njc0N2EyYjg1MTJkZGJkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9pbWFnZXMvaW1hZ2UtY29udHJvbHMtYmFzaWMtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsNyBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZp
ZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAg
UmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkg
e0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQg
KDAsMCkgc2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xz
LWJhc2ljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjI0ZDA1ZjM1YjRiNjFjZDQ3ZWFjNWZjNDEwM2ZmMzQyYmFmZjIw
NDEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ltYWdlcy9pbWFnZS1jb250
cm9scy1iYXNpYy5odG1sCkBAIC0wLDAgKzEsOCBAQAorIDxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykKKwlpbnRlcm5hbHMuc2V0dGluZ3Muc2V0SW1hZ2VDb250cm9sc0VuYWJsZWQodHJ1
ZSk7CisKKzwvc2NyaXB0PgorPGJvZHk+Cis8aW1nIHNyYz0icmVzb3VyY2VzL2dyZWVuLTI1Nngy
NTYuanBnIiB4LXdlYmtpdC1pbWFnZW1lbnU+Cis8L2JvZHk+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLWNhdGFsaW5hL2Zh
c3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy1jYXRhbGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI0YjI5ZDUzYzU5ZjVlOGViZjdmMzJkZDQ5NjNjMDg2
MTk1NzQ1MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy1jYXRh
bGluYS9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwxMSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkg
c2l6ZSAyNTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
K2xheWVyIGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCits
YXllciBhdCAoMjE1LDMwKSBzaXplIDI3eDI2CisgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAo
MjA3LDIyKSBzaXplIDI3eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFti
b3JkZXI6ICgycHggb3V0c2V0ICNDMEMwQzApXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvaW1hZ2VzL2ltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNp
Yy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODMyMTNhM2NkZjlhMzBiYzkzYmM4ODcwMTJkYjQ3
ZjNkNDQ1NmY1YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2ltYWdlcy9pbWFnZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
MSBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAy
NTZ4MjU2CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVy
IGF0ICg4LDgpIHNpemUgMjU2eDI1NgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSAyNTZ4MjU2IFtjb2xvcj0jMDAwMDAwMDBdCitsYXllciBh
dCAoMjE0LDMwKSBzaXplIDI4eDI2CisgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMjA2LDIy
KSBzaXplIDI4eDI2IFtjb2xvcj0jMDAwMDAwRDhdIFtiZ2NvbG9yPSNDMEMwQzBdIFtib3JkZXI6
ICgycHggb3V0c2V0ICNDMEMwQzApXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>