<?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>225276</bug_id>
          
          <creation_ts>2021-05-01 21:54:25 -0700</creation_ts>
          <short_desc>Allow AppHighlight visibility to be toggled</short_desc>
          <delta_ts>2021-05-03 22:54:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1756021</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-01 21:54:25 -0700</bug_when>
    <thetext>Allow AppHighlight visibility to be toggled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756022</commentid>
    <comment_count>1</comment_count>
      <attachid>427519</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-01 21:59:56 -0700</bug_when>
    <thetext>Created attachment 427519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756025</commentid>
    <comment_count>2</comment_count>
      <attachid>427519</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-01 22:36:06 -0700</bug_when>
    <thetext>Comment on attachment 427519
Patch

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

&gt; Source/WebKit/ChangeLog:6
&gt; +        Reviewed by NOBODY (OOPS!).

These ChangeLog entries should have at least a brief sentence or two.

&gt; Source/WebCore/Modules/highlight/HighlightRegister.cpp:68
&gt; +void HighlightRegister::setActive(HighlightsActive active)

Nit - maybe a newline before this function definition?

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:39
&gt; +enum class HighlightsActive : bool { No, Yes };

Maybe `AppHighlightVisibility : bool { Hidden, Visible };` would be more consistent with the rest of the code?

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:52
&gt; +    HighlightsActive isActive() { return m_active; }

Nit - `AppHighlightVisibility appHighlightVisibility() const { return m_appHighlightVisibility; }`

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:58
&gt; +    
&gt; +    

Some extra newlines here.

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:63
&gt; +    HighlightsActive m_active;

Maybe initialize this to a consistent value? (e.g. `AppHighlightVisibility m_appHighlightVisibility { AppHighlightVisibility::Hidden };`)

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:581
&gt; +void WebPageProxy::setAppHighlightsActive(WebCore::HighlightsActive active)

Nit - `setAppHighlightVisibility(AppHighlightVisibility visibility)`

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:7528
&gt; +    auto document = makeRefPtr(m_page-&gt;focusController().focusedOrMainFrame().document());

Do we just want the focused (or main) frame here? Or should we set visibility in all frames?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756026</commentid>
    <comment_count>3</comment_count>
      <attachid>427519</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-01 22:44:27 -0700</bug_when>
    <thetext>Comment on attachment 427519
Patch

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

&gt;&gt; Source/WebCore/Modules/highlight/HighlightRegister.cpp:68
&gt;&gt; +void HighlightRegister::setActive(HighlightsActive active)
&gt; 
&gt; Nit - maybe a newline before this function definition?

Actually, maybe once the enum reaches `HighlightRegister` it should just be a `bool`, since `HighlightRegister` is used for both CSS highlights and app highlights.

Or alternately, you could make it so that `AppHighlightVisibility` state only affects the entry corresponding to `appHighlightKey()`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756031</commentid>
    <comment_count>4</comment_count>
      <attachid>427521</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-02 00:48:19 -0700</bug_when>
    <thetext>Created attachment 427521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756321</commentid>
    <comment_count>5</comment_count>
      <attachid>427602</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-03 14:22:43 -0700</bug_when>
    <thetext>Created attachment 427602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756330</commentid>
    <comment_count>6</comment_count>
      <attachid>427602</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-05-03 14:38:01 -0700</bug_when>
    <thetext>Comment on attachment 427602
Patch

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

&gt; Source/WebCore/Modules/highlight/Highlight.h:63
&gt; +    void forceRepaint();

There&apos;s nothing forceful about this, it should just be called `repaint` like elsewhere

&gt; Source/WebCore/Modules/highlight/HighlightRegister.cpp:69
&gt; +void HighlightRegister::setHighlightsVisibility(HighlightVisibility highlightsVisibility)

plural? singular? I&apos;m not sure.

&gt; Source/WebCore/rendering/InlineTextBox.cpp:915
&gt; +            for (auto&amp; highlight : appHighlightRegister-&gt;map()) {

Can this code and the code above be merged?

&gt; Source/WebCore/rendering/RenderReplaced.cpp:152
&gt; +                        continue;

Can this code and the code below be merged?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756337</commentid>
    <comment_count>7</comment_count>
      <attachid>427602</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-03 15:04:49 -0700</bug_when>
    <thetext>Comment on attachment 427602
Patch

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

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:39
&gt; +enum class HighlightVisibility : bool { Visible, Hidden };

Nit - I think thorton indicated that 0 should probably be the Hidden value.

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:50
&gt; +    HighlightVisibility highlightsVisibility() { return m_highlightsVisibility; }

Nit - this is still non-const

&gt; Source/WebCore/Modules/highlight/HighlightRegister.h:63
&gt; +    HighlightVisibility m_highlightsVisibility {HighlightVisibility::Hidden};

Nit - spaces around `HighlightVisibility::Hidden`

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:7532
&gt; +    auto document = makeRefPtr(m_page-&gt;focusController().focusedOrMainFrame().document());

I think you meant to remove this.

&gt; Source/WebKit/WebProcess/WebPage/WebPage.messages.in:632
&gt; +    SetAppHighlightsVisibility(enum:bool WebCore::HighlightVisibility active)

Nit - `SetAppHighlightsVisibility(enum:bool WebCore::HighlightVisibility visibility)`</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756351</commentid>
    <comment_count>8</comment_count>
      <attachid>427611</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-03 16:02:42 -0700</bug_when>
    <thetext>Created attachment 427611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756386</commentid>
    <comment_count>9</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-03 17:21:21 -0700</bug_when>
    <thetext>rdar://77410861</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756388</commentid>
    <comment_count>10</comment_count>
      <attachid>427611</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-03 17:22:30 -0700</bug_when>
    <thetext>Comment on attachment 427611
Patch

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

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:7529
&gt; +        if (auto* document = frame-&gt;document())

This should be protected with a RefPtr, like so:

```
auto document = makeRefPtr(frame-&gt;document())
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756439</commentid>
    <comment_count>11</comment_count>
      <attachid>427637</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-03 22:15:44 -0700</bug_when>
    <thetext>Created attachment 427637
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756441</commentid>
    <comment_count>12</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2021-05-03 22:18:47 -0700</bug_when>
    <thetext>rdar://77351075</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756448</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-03 22:54:23 -0700</bug_when>
    <thetext>Committed r276947 (237280@main): &lt;https://commits.webkit.org/237280@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 427637.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427519</attachid>
            <date>2021-05-01 21:59:56 -0700</date>
            <delta_ts>2021-05-02 00:48:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225276-20210501215955.patch</filename>
            <type>text/plain</type>
            <size>16448</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MmU3OWIzZWIwZDNh
MjUyOGIzMDkxNDUxZjM3MjEyMTM2YmQxNi4uNjY0YmVkMzc1N2QzZjA4OTQzMTkxMjA4ZTZkNzM2
ZTkwYzcyZWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA1LTAxICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgQXBw
SGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlnaGxpZ2h0Ojpmb3JjZVJlcGFpbnQpOgorICAgICAg
ICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oOgorICAgICAgICAqIE1vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpZ2hsaWdo
dFJlZ2lzdGVyOjpzZXRBY3RpdmUpOgorICAgICAgICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hs
aWdodFJlZ2lzdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpIaWdobGlnaHRSZWdpc3Rlcjo6aXNB
Y3RpdmUpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZVRleHRCb3g6OmNvbGxlY3RNYXJrZWRUZXh0c0ZvckhpZ2hsaWdodHMg
Y29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y2FsY3VsYXRlSGlnaGxpZ2h0Q29sb3IgY29uc3Qp
OgorCiAyMDIxLTA0LTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIEFwcCBoaWdobGlnaHQgVUkgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gc2VsZWN0
aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzRmMTRiNjM1NGM4MmFhYWU2
Njk0OWM2ZjNhYmUyZWE2ZTA2ZGJlMC4uZDdhNzAxMzUzNGYzNmJkYTIwZTBiMDc5ZDlmMDYxYTc3
ODRjMjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0wMSAgTWVnYW4gR2Fy
ZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEFwcEhpZ2hs
aWdodCB2aXNpYmlsaXR5IHRvIGJlIHRvZ2dsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAg
ICAgIChoZWFkZXJzX2Zvcl90eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzdG9yZUFw
cEhpZ2hsaWdodHNBbmRTY3JvbGxUb0luZGV4KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzZXRBcHBIaWdobGlnaHRzQWN0aXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbjp3aXRoU2Vu
ZGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRhcmdldEZvckFjdGlvbjp3aXRoU2Vu
ZGVyOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0QXBwSGlnaGxpZ2h0c0FjdGl2ZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMS0wNC0zMCAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHAgaGlnaGxpZ2h0IFVJIHNob3VsZCBi
ZSBkaXNhYmxlZCB3aGVuIHNlbGVjdGluZyB0ZXh0IGluIGltYWdlIG92ZXJsYXlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAppbmRleCBhNjU5N2Vh
MjYzYTZhNTFkNDQ4OWYwYzFkNzYwNDJiNjk3ZDVhMzhkLi5mYWJjZTIwYzEyMzU1ZmI5ZDkwZTAz
Yzk3ZWM2N2IzYTdlYmZhMzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodC5jcHAKQEAgLTEwMSw1ICsxMDEsMTEgQEAgYm9vbCBIaWdobGlnaHQ6OmFk
ZFRvU2V0TGlrZShTdGF0aWNSYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3Zv
aWQgSGlnaGxpZ2h0Ojpmb3JjZVJlcGFpbnQoKQoreworICAgIGZvciAoYXV0byYgZGF0YSA6IG1f
cmFuZ2VzRGF0YSkKKyAgICAgICAgcmVwYWludFJhbmdlKGRhdGEtPnJhbmdlKTsKK30KKwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oCmluZGV4IDlk
OThjODcxNGViYzA1YTQ5ZDdkOTZhMzJlZjRiMGMyZjlkMjUxNmYuLmE3NTIxYTk0ZTUxNjEzZjQ3
YmUwYjJlM2E3ZGFkM2Y1YzZhZDllMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodC5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGFk
ZFRvU2V0TGlrZShTdGF0aWNSYW5nZSYpOwogICAgIGJvb2wgcmVtb3ZlRnJvbVNldExpa2UoY29u
c3QgU3RhdGljUmFuZ2UmKTsKICAgICB2b2lkIGluaXRpYWxpemVTZXRMaWtlKERPTVNldEFkYXB0
ZXImKTsKKyAgICAKKyAgICB2b2lkIGZvcmNlUmVwYWludCgpOwogICAgIGNvbnN0IFZlY3RvcjxS
ZWY8SGlnaGxpZ2h0UmFuZ2VEYXRhPj4mIHJhbmdlc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jh
bmdlc0RhdGE7IH0KIAogICAgIC8vIEZJWE1FOiBBZGQgV0VCQ09SRV9FWFBPUlQgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiYgc3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcAppbmRleCA2OGVkMjdmZGIzZjc0ZTBiMWE5
MzlmNTgxZmU3MjM4NjM3MGZmY2Q5Li5hNWVkZWIyZjQ5YTAyZTg1MmExZmVkMmJhNjk4MzY1OGU1
ZmU2Y2JlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRSZWdpc3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCkBAIC02NSw1ICs2NSwxNiBAQCB2b2lkIEhpZ2hsaWdodFJl
Z2lzdGVyOjphZGRBcHBIaWdobGlnaHQoUmVmPFN0YXRpY1JhbmdlPiYmIHZhbHVlKQogICAgIGVs
c2UKICAgICAgICAgc2V0RnJvbU1hcExpa2UoYXBwSGlnaGxpZ2h0S2V5KCksIEhpZ2hsaWdodDo6
Y3JlYXRlKFdURk1vdmUodmFsdWUpKSk7CiB9Cit2b2lkIEhpZ2hsaWdodFJlZ2lzdGVyOjpzZXRB
Y3RpdmUoSGlnaGxpZ2h0c0FjdGl2ZSBhY3RpdmUpCit7CisgICAgaWYgKG1fYWN0aXZlID09IGFj
dGl2ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fYWN0aXZlID0gYWN0aXZlOworICAg
IAorICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogbV9tYXApCisgICAgICAgIGhpZ2hsaWdodC52
YWx1ZS0+Zm9yY2VSZXBhaW50KCk7Cit9CisKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmgKaW5kZXggOWQyNmIx
NmRlNzg5N2VkODk1NTM4ZWEzODdhNzZjZmZiOTAwNDI0NS4uNzUzNmNjMGNlZjIwMzdkNjBiZDU1
YzdkMTA0N2ViZDM1NjRmMGNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5oCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIERP
TVN0cmluZzsKIGNsYXNzIEhpZ2hsaWdodDsKIGNsYXNzIFN0YXRpY1JhbmdlOwogCitlbnVtIGNs
YXNzIEhpZ2hsaWdodHNBY3RpdmUgOiBib29sIHsgTm8sIFllcyB9OworCiBjbGFzcyBIaWdobGln
aHRSZWdpc3RlciA6IHB1YmxpYyBSZWZDb3VudGVkPEhpZ2hsaWdodFJlZ2lzdGVyPiB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFJlZjxIaWdobGlnaHRSZWdpc3Rlcj4gY3JlYXRlKCkgeyByZXR1cm4g
YWRvcHRSZWYoKm5ldyBIaWdobGlnaHRSZWdpc3Rlcik7IH0KQEAgLTQ3LDEyICs0OSwxOSBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIFdFQkNPUkVfRVhQT1JUIHZv
aWQgYWRkQXBwSGlnaGxpZ2h0KFJlZjxTdGF0aWNSYW5nZT4mJik7CiAgICAgc3RhdGljIEFTQ0lJ
TGl0ZXJhbCBhcHBIaWdobGlnaHRLZXkoKTsKKyAgICBIaWdobGlnaHRzQWN0aXZlIGlzQWN0aXZl
KCkgeyByZXR1cm4gbV9hY3RpdmU7IH0KKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEFjdGl2
ZShIaWdobGlnaHRzQWN0aXZlKTsKICNlbmRpZgogICAgIGNvbnN0IEhhc2hNYXA8U3RyaW5nLCBS
ZWY8SGlnaGxpZ2h0Pj4mIG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFwOyB9CiAgICAgCisgICAg
CisgICAgCiBwcml2YXRlOgogICAgIEhpZ2hsaWdodFJlZ2lzdGVyKCkgPSBkZWZhdWx0OwogICAg
IEhhc2hNYXA8U3RyaW5nLCBSZWY8SGlnaGxpZ2h0Pj4gbV9tYXA7CisjaWYgRU5BQkxFKEFQUF9I
SUdITElHSFRTKQorICAgIEhpZ2hsaWdodHNBY3RpdmUgbV9hY3RpdmU7CisjZW5kaWYKIH07CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCAyNmU2
Yzg0MmE1MTdlZDQyMmM4MjQyMTdmODlhMjFkMmNmNzUwMGNiLi5jMTNjZjdjNmFkOTJlODM4MGFj
Y2NiNWU3NTdmOGNjZTM5NDEyMzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGlu
ZVRleHRCb3guY3BwCkBAIC05MTEsMTQgKzkxMSwxNiBAQCBWZWN0b3I8TWFya2VkVGV4dD4gSW5s
aW5lVGV4dEJveDo6Y29sbGVjdE1hcmtlZFRleHRzRm9ySGlnaGxpZ2h0cyhUZXh0UGFpbnRQaGFz
ZQogICAgIH0KICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgaWYgKGF1dG8gYXBwSGln
aGxpZ2h0UmVnaXN0ZXIgPSByZW5kZXJlcigpLmRvY3VtZW50KCkuYXBwSGlnaGxpZ2h0UmVnaXN0
ZXJJZkV4aXN0cygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxp
Z2h0UmVnaXN0ZXItPm1hcCgpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIHJhbmdlRGF0YSA6
IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFo
aWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkpCi0gICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPmlzQWN0aXZl
KCkgPT0gSGlnaGxpZ2h0c0FjdGl2ZTo6WWVzKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGhp
Z2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgeworICAgICAgICAgICAgICAg
IGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkpIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJh
bmdlRGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAg
ICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmRdID0gaGlnaGxpZ2h0U3Rh
cnRFbmQoaGlnaGxpZ2h0RGF0YSk7Ci0gICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodFN0YXJ0
IDwgaGlnaGxpZ2h0RW5kKQotICAgICAgICAgICAgICAgICAgICBtYXJrZWRUZXh0cy5hcHBlbmQo
eyBoaWdobGlnaHRTdGFydCwgaGlnaGxpZ2h0RW5kLCBNYXJrZWRUZXh0OjpBcHBIaWdobGlnaHQg
fSk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRF
bmRdID0gaGlnaGxpZ2h0U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChoaWdobGlnaHRTdGFydCA8IGhpZ2hsaWdodEVuZCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIG1hcmtlZFRleHRzLmFwcGVuZCh7IGhpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmQs
IE1hcmtlZFRleHQ6OkFwcEhpZ2hsaWdodCB9KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcAppbmRleCA5ZjQ1ZmY0ZDZkNGRjNzJjNWE4YzI1OGI5YTBhNmU2Y2Y3OTMz
ZmQ4Li4zYjNhYzYxZWM1OWU0ZGQ3ODljMjgzNmIyYjVkNTE1OGIxYmY3NTEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTE0NSwxNyArMTQ1LDE5
IEBAIENvbG9yIFJlbmRlclJlcGxhY2VkOjpjYWxjdWxhdGVIaWdobGlnaHRDb2xvcigpIGNvbnN0
CiAgICAgSGlnaGxpZ2h0RGF0YSBoaWdobGlnaHREYXRhOwogI2lmIEVOQUJMRShBUFBfSElHSExJ
R0hUUykKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IGRvY3VtZW50KCkuYXBw
SGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgaGlnaGxp
Z2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPm1hcCgpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1
dG8mIHJhbmdlRGF0YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkpCi0g
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXBwSGlnaGxpZ2h0UmVn
aXN0ZXItPmlzQWN0aXZlKCkgPT0gSGlnaGxpZ2h0c0FjdGl2ZTo6WWVzKSB7CisgICAgICAgICAg
ICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgewor
ICAgICAgICAgICAgICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5y
YW5nZXNEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNl
dFJlbmRlclJhbmdlKHJhbmdlRGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICAgICAgICAgIGF1dG8gc3RhdGUgPSBoaWdobGlnaHREYXRhLmhpZ2hsaWdo
dFN0YXRlRm9yUmVuZGVyZXIoKnRoaXMpOwotICAgICAgICAgICAgICAgIGlmICghaXNIaWdobGln
aHRlZChzdGF0ZSwgaGlnaGxpZ2h0RGF0YSkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgICAgICBhdXRvIHN0YXRlID0gaGlnaGxpZ2h0RGF0YS5oaWdobGln
aHRTdGF0ZUZvclJlbmRlcmVyKCp0aGlzKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0hp
Z2hsaWdodGVkKHN0YXRlLCBoaWdobGlnaHREYXRhKSkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgICAgICAgICAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlv
bnM+IHN0eWxlQ29sb3JPcHRpb25zID0geyBTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1B
cHBlYXJhbmNlIH07Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lKCkuYXBwSGlnaGxpZ2h0
Q29sb3Ioc3R5bGVDb2xvck9wdGlvbnMpOworICAgICAgICAgICAgICAgICAgICBPcHRpb25TZXQ8
U3R5bGVDb2xvcjo6T3B0aW9ucz4gc3R5bGVDb2xvck9wdGlvbnMgPSB7IFN0eWxlQ29sb3I6Ok9w
dGlvbnM6OlVzZVN5c3RlbUFwcGVhcmFuY2UgfTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHRoZW1lKCkuYXBwSGlnaGxpZ2h0Q29sb3Ioc3R5bGVDb2xvck9wdGlvbnMpOworICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDcxMWUwMTI2M2U0YzVmMWFiMWMwNmU5MzM1
ZWQxZWMyMWU0NmIxNTguLjg3NDE5ZDZhMGE1YTgyMTFhNjA4MzM5MGEyYzk0NjkwZjI0ZjdkYzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysr
IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNjk0LDYgKzY5
NCw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6R3Jh
bW1hckRldGFpbCc6IFsnPFdlYkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4nXSwKICAgICAgICAg
J1dlYkNvcmU6Okhhc0luc2VjdXJlQ29udGVudCc6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBl
cy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFw
cCc6IFsnPFdlYkNvcmUvQXBwSGlnaGxpZ2h0Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpIaWdo
bGlnaHRzQWN0aXZlJzogWyc8V2ViQ29yZS9IaWdobGlnaHRSZWdpc3Rlci5oPiddLAogICAgICAg
ICAnV2ViQ29yZTo6SW5jbHVkZVNlY3VyZUNvb2tpZXMnOiBbJzxXZWJDb3JlL0Nvb2tpZUphci5o
PiddLAogICAgICAgICAnV2ViQ29yZTo6SW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1v
ZGUnOiBbJzxXZWJDb3JlL0luZGV4ZWREQi5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SW5wdXRN
b2RlJzogWyc8V2ViQ29yZS9JbnB1dE1vZGUuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggZTM3YWRmOGU0N2E1MzMx
MWU0M2EyNGYwZDUxMjQ2NTg4ZTU4ODJjZC4uZTlhNmE0NzA4ZDJmNDljNTQ2ZTAwOGU1OWJmM2Zl
YWZlOGUxMjRkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KQEAgLTU3Miw5ICs1NzIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xsVG9JbmRleChjb25zdCBWZWN0b3I8UmVmPFNo
YXJlZE0KIAogICAgICAgICBtZW1vcnlIYW5kbGVzLmFwcGVuZChTaGFyZWRNZW1vcnk6OklQQ0hh
bmRsZSB7IFdURk1vdmUoaGFuZGxlKSwgaGlnaGxpZ2h0LT5zaXplKCkgfSk7CiAgICAgfQorICAg
IAorICAgIHNldFVwSGlnaGxpZ2h0c09ic2VydmVyKCk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpSZXN0b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoV1RGTW92ZShtZW1v
cnlIYW5kbGVzKSwgaW5kZXgpKTsKIH0KKwordm9pZCBXZWJQYWdlUHJveHk6OnNldEFwcEhpZ2hs
aWdodHNBY3RpdmUoV2ViQ29yZTo6SGlnaGxpZ2h0c0FjdGl2ZSBhY3RpdmUpCit7CisgICAgaWYg
KCFoYXNSdW5uaW5nUHJvY2VzcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRBcHBIaWdobGlnaHRzQWN0aXZlKGFjdGl2ZSkpOworfQorCiAjZW5k
aWYKIAogU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgV2ViUGFnZVByb3h5OjpjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNWFmMjhiODJkM2I0
NGM4ZDYxM2FhNmNkMzNkZDYzOTZiYzBjMWU1OC4uNmE0MjM5ZTlhZWM2ZThlMjcyNjFkZTU1MjI2
NDdlMzc2NGE0ZjY1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTI2MCw2ICsyNjAsNyBAQCBlbnVtIGNsYXNzIEV2ZW50TWFrZXNHYW1lcGFkc1Zpc2libGUgOiBi
b29sOwogZW51bSBjbGFzcyBMb2NrQmFja0ZvcndhcmRMaXN0IDogYm9vbDsKIGVudW0gY2xhc3Mg
SGFzSW5zZWN1cmVDb250ZW50IDogYm9vbDsKIGVudW0gY2xhc3MgSGlnaGxpZ2h0UmVxdWVzdE9y
aWdpbmF0ZWRJbkFwcCA6IGJvb2w7CitlbnVtIGNsYXNzIEhpZ2hsaWdodHNBY3RpdmUgOiBib29s
OwogZW51bSBjbGFzcyBNb3VzZUV2ZW50UG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgTm90
aWZpY2F0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKIGVudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9s
aWN5IDogdWludDhfdDsKQEAgLTE4OTAsNiArMTg5MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNy
ZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShXZWJDb3JlOjpDcmVhdGVOZXdHcm91cEZv
ckhpZ2hsaWdodCwgV2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCk7CiAg
ICAgdm9pZCBzdG9yZUFwcEhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKTsK
ICAgICB2b2lkIHJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xsVG9JbmRleChjb25zdCBWZWN0
b3I8UmVmPFdlYktpdDo6U2hhcmVkTWVtb3J5Pj4mIGhpZ2hsaWdodHMsIGNvbnN0IE9wdGlvbmFs
PHVuc2lnbmVkPiBpbmRleCk7CisgICAgdm9pZCBzZXRBcHBIaWdobGlnaHRzQWN0aXZlKGNvbnN0
IFdlYkNvcmU6OkhpZ2hsaWdodHNBY3RpdmUpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFf
U1RSRUFNKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggYmU3ZTc0MTYwYzJjYWQwOWQyN2RhOTFhMmQ2YmJm
NjhhOTg2NjIwZS4uZjc2Nzc5N2FlZWUzMzYyYzQ3Mjk0M2QzYjk0MmRhNTlhNGNiMjAwNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLm1tCkBAIC0zNTc1LDE0ICszNTc1LDYgQEAgV0VCQ09SRV9DT01NQU5EX0ZPUl9X
RUJWSUVXKHBhc3RlQW5kTWF0Y2hTdHlsZSk7CiAgICAgICAgIHx8IGFjdGlvbiA9PSBAc2VsZWN0
b3IoX3RyYW5zcG9zZSkpCiAgICAgICAgIHJldHVybiBlZGl0b3JTdGF0ZS5pc0NvbnRlbnRFZGl0
YWJsZTsKIAotI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKLSAgICBpZiAoYWN0aW9uID09IEBz
ZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJbkN1cnJlbnRHcm91cFdpdGhSYW5nZTopIHx8IGFjdGlv
biA9PSBAc2VsZWN0b3IoY3JlYXRlSGlnaGxpZ2h0SW5OZXdHcm91cFdpdGhSYW5nZTopKSB7Ci0g
ICAgICAgIC8vIEZJWE1FOiBJdCBkb2Vzbid0IHNlZW0gbGlrZSB0aGlzIGNvZGVwYXRoIGlzIGV4
ZXJjaXNlZCwgc2luY2UgVUlLaXQgb25seSBhc2tzIGZvciB0aGUgYWN0aW9uIHRhcmdldCBmb3Ig
Y3VzdG9tIGFjdGlvbnMKLSAgICAgICAgLy8gYWRkZWQgdmlhIC1bVUlNZW51Q29udHJvbGxlciBz
ZXRNZW51SXRlbXM6XS4gQ2FuIHdlIHJlbW92ZSB0aGlzIGNoZWNrPwotICAgICAgICByZXR1cm4g
c2VsZi5zaG91bGRBbGxvd0FwcEhpZ2hsaWdodENyZWF0aW9uOwotICAgIH0KLSNlbmRpZgotCiAg
ICAgcmV0dXJuIFtfd2ViVmlldyBjYW5QZXJmb3JtQWN0aW9uOmFjdGlvbiB3aXRoU2VuZGVyOnNl
bmRlcl07CiB9CiAKQEAgLTM3NzQsOCArMzc2NiwxMSBAQCBXRUJDT1JFX0NPTU1BTkRfRk9SX1dF
QlZJRVcocGFzdGVBbmRNYXRjaFN0eWxlKTsKIC0gKGlkKXRhcmdldEZvckFjdGlvbjooU0VMKWFj
dGlvbiB3aXRoU2VuZGVyOihpZClzZW5kZXIKIHsKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMp
Ci0gICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IoY3JlYXRlSGlnaGxpZ2h0SW5DdXJyZW50R3Jv
dXBXaXRoUmFuZ2U6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodEluTmV3
R3JvdXBXaXRoUmFuZ2U6KSkKLSAgICAgICAgcmV0dXJuIHNlbGYuc2hvdWxkQWxsb3dBcHBIaWdo
bGlnaHRDcmVhdGlvbiA/IHNlbGYgOiBuaWw7CisgICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3Io
Y3JlYXRlSGlnaGxpZ2h0SW5DdXJyZW50R3JvdXBXaXRoUmFuZ2U6KSkKKyAgICAgICAgcmV0dXJu
IHNlbGYuc2hvdWxkQWxsb3dBcHBIaWdobGlnaHRDcmVhdGlvbiAmJiBfcGFnZS0+aGlnaGxpZ2h0
c1Zpc2libGUoKSA/IHNlbGYgOiBuaWw7CisgICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IoY3Jl
YXRlSGlnaGxpZ2h0SW5OZXdHcm91cFdpdGhSYW5nZTopKQorICAgICAgICByZXR1cm4gc2VsZi5z
aG91bGRBbGxvd0FwcEhpZ2hsaWdodENyZWF0aW9uICYmICFfcGFnZS0+aGlnaGxpZ2h0c1Zpc2li
bGUoKSA/IHNlbGYgOiBuaWw7CisgICAgCiAjZW5kaWYKICAgICByZXR1cm4gW193ZWJWaWV3IHRh
cmdldEZvckFjdGlvbjphY3Rpb24gd2l0aFNlbmRlcjpzZW5kZXJdOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmNDU3Yzg2NGIzZDIzYTBi
MGI1NTljNmU4NmU2ZWQ5NzIyYTJmODlhLi44OGI5NTg4ZGFlZTg0OGJhZjg1NWRhMjEwYWE2ODdh
MjVhOWZiNzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNzUyMiw2ICs3NTIyLDE0IEBAIHZvaWQgV2ViUGFnZTo6cmVzdG9yZUFwcEhpZ2hs
aWdodHNBbmRTY3JvbGxUb0luZGV4KGNvbnN0IFZlY3RvcjxTaGFyZWRNZW1vcnk6OklQCiAgICAg
ICAgIGkrKzsKICAgICB9CiB9CisKK3ZvaWQgV2ViUGFnZTo6c2V0QXBwSGlnaGxpZ2h0c0FjdGl2
ZShXZWJDb3JlOjpIaWdobGlnaHRzQWN0aXZlIGFjdGl2ZSkKK3sKKyAgICBhdXRvIGRvY3VtZW50
ID0gbWFrZVJlZlB0cihtX3BhZ2UtPmZvY3VzQ29udHJvbGxlcigpLmZvY3VzZWRPck1haW5GcmFt
ZSgpLmRvY3VtZW50KCkpOworCisgICAgZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVyKCku
c2V0QWN0aXZlKGFjdGl2ZSk7Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJ
T05fQ09PUkRJTkFUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggZmJiM2EwYTZlODM1YjVlNzhjOGYxNjE2YWJhNWU2NWRkNTc0NDdkNS4uZjcxMGNl
ZmZkMTVhN2EwMDVmZmVhMmVkZDVlNGY3MjBjZTVlYWMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjE2LDYgKzIxNiw3IEBAIGVudW0gY2xhc3Mg
RHJhZ0FwcGxpY2F0aW9uRmxhZ3MgOiB1aW50OF90OwogZW51bSBjbGFzcyBEcmFnSGFuZGxpbmdN
ZXRob2QgOiB1aW50OF90OwogZW51bSBjbGFzcyBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlIDog
Ym9vbDsKIGVudW0gY2xhc3MgSGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCA6IGJvb2w7
CitlbnVtIGNsYXNzIEhpZ2hsaWdodHNBY3RpdmUgOiBib29sOwogZW51bSBjbGFzcyBTZWxlY3Rp
b25EaXJlY3Rpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBTaG91bGRUcmVhdEFzQ29udGludWlu
Z0xvYWQgOiBib29sOwogZW51bSBjbGFzcyBUZXh0SW5kaWNhdG9yUHJlc2VudGF0aW9uVHJhbnNp
dGlvbiA6IHVpbnQ4X3Q7CkBAIC0xNDIwLDYgKzE0MjEsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShXZWJDb3JlOjpDcmVhdGVOZXdHcm91
cEZvckhpZ2hsaWdodCwgV2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCk7
CiAgICAgdm9pZCByZXN0b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVj
dG9yPFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiYmLCBjb25zdCBPcHRpb25hbDx1bnNpZ25lZD4g
aW5kZXgpOworICAgIHZvaWQgc2V0QXBwSGlnaGxpZ2h0c0FjdGl2ZShjb25zdCBXZWJDb3JlOjpI
aWdobGlnaHRzQWN0aXZlKTsKICNlbmRpZgogCiAgICAgdm9pZCBkaXNwYXRjaFdoZWVsRXZlbnRX
aXRob3V0U2Nyb2xsaW5nKGNvbnN0IFdlYldoZWVsRXZlbnQmLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDMxYTZkN2JiYWIzNjA4NGUxN2JjMDQxOTAxZDc1
OWRiNmI1MjI3YmIuLmY5ZTVkNmJjMDg2MmM0NzYwMWNjOTU4ZmUyNWI0MzkyNDE2YzYwMTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgpAQCAtNjI5LDYgKzYyOSw3IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1h
bmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRpdGluZ0NvbW1hbmRUeXBlCiAjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIENyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRS
YW5nZShlbnVtOmJvb2wgV2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQgY3JlYXRl
TmV3R3JvdXAsIGVudW06Ym9vbCBXZWJDb3JlOjpIaWdobGlnaHRSZXF1ZXN0T3JpZ2luYXRlZElu
QXBwIHJlcXVlc3RPcmlnaW4pCiAgICAgUmVzdG9yZUFwcEhpZ2hsaWdodHNBbmRTY3JvbGxUb0lu
ZGV4KFZlY3RvcjxXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiBtZW1vcnlIYW5kbGVz
LCBPcHRpb25hbDx1bnNpZ25lZD4gaW5kZXgpCisgICAgU2V0QXBwSGlnaGxpZ2h0c0FjdGl2ZShl
bnVtOmJvb2wgV2ViQ29yZTo6SGlnaGxpZ2h0c0FjdGl2ZSBhY3RpdmUpCiAjZW5kaWYKIAogICAg
IERpc3BhdGNoV2hlZWxFdmVudFdpdGhvdXRTY3JvbGxpbmcoV2ViS2l0OjpXZWJXaGVlbEV2ZW50
IGV2ZW50KSAtPiAoYm9vbCBoYW5kbGVkKSBBc3luYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427521</attachid>
            <date>2021-05-02 00:48:19 -0700</date>
            <delta_ts>2021-05-03 14:22:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225276-20210502004818.patch</filename>
            <type>text/plain</type>
            <size>16871</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MmU3OWIzZWIwZDNh
MjUyOGIzMDkxNDUxZjM3MjEyMTM2YmQxNi4uNjY0YmVkMzc1N2QzZjA4OTQzMTkxMjA4ZTZkNzM2
ZTkwYzcyZWJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIxLTA1LTAxICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgQXBw
SGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlnaGxpZ2h0Ojpmb3JjZVJlcGFpbnQpOgorICAgICAg
ICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oOgorICAgICAgICAqIE1vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhpZ2hsaWdo
dFJlZ2lzdGVyOjpzZXRBY3RpdmUpOgorICAgICAgICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hs
aWdodFJlZ2lzdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpIaWdobGlnaHRSZWdpc3Rlcjo6aXNB
Y3RpdmUpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OklubGluZVRleHRCb3g6OmNvbGxlY3RNYXJrZWRUZXh0c0ZvckhpZ2hsaWdodHMg
Y29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y2FsY3VsYXRlSGlnaGxpZ2h0Q29sb3IgY29uc3Qp
OgorCiAyMDIxLTA0LTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIEFwcCBoaWdobGlnaHQgVUkgc2hvdWxkIGJlIGRpc2FibGVkIHdoZW4gc2VsZWN0
aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzRmMTRiNjM1NGM4MmFhYWU2
Njk0OWM2ZjNhYmUyZWE2ZTA2ZGJlMC4uZDdhNzAxMzUzNGYzNmJkYTIwZTBiMDc5ZDlmMDYxYTc3
ODRjMjNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMS0wNS0wMSAgTWVnYW4gR2Fy
ZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IEFwcEhpZ2hs
aWdodCB2aXNpYmlsaXR5IHRvIGJlIHRvZ2dsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTI3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAg
ICAgIChoZWFkZXJzX2Zvcl90eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFn
ZVByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzdG9yZUFw
cEhpZ2hsaWdodHNBbmRTY3JvbGxUb0luZGV4KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5OjpzZXRBcHBIaWdobGlnaHRzQWN0aXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24ubW06CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbjp3aXRoU2Vu
ZGVyOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IHRhcmdldEZvckFjdGlvbjp3aXRoU2Vu
ZGVyOl0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6c2V0QXBwSGlnaGxpZ2h0c0FjdGl2ZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMS0wNC0zMCAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBBcHAgaGlnaGxpZ2h0IFVJIHNob3VsZCBi
ZSBkaXNhYmxlZCB3aGVuIHNlbGVjdGluZyB0ZXh0IGluIGltYWdlIG92ZXJsYXlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAppbmRleCBhNjU5N2Vh
MjYzYTZhNTFkNDQ4OWYwYzFkNzYwNDJiNjk3ZDVhMzhkLi5mYWJjZTIwYzEyMzU1ZmI5ZDkwZTAz
Yzk3ZWM2N2IzYTdlYmZhMzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodC5jcHAKQEAgLTEwMSw1ICsxMDEsMTEgQEAgYm9vbCBIaWdobGlnaHQ6OmFk
ZFRvU2V0TGlrZShTdGF0aWNSYW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3Zv
aWQgSGlnaGxpZ2h0Ojpmb3JjZVJlcGFpbnQoKQoreworICAgIGZvciAoYXV0byYgZGF0YSA6IG1f
cmFuZ2VzRGF0YSkKKyAgICAgICAgcmVwYWludFJhbmdlKGRhdGEtPnJhbmdlKTsKK30KKwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oCmluZGV4IDlk
OThjODcxNGViYzA1YTQ5ZDdkOTZhMzJlZjRiMGMyZjlkMjUxNmYuLmE3NTIxYTk0ZTUxNjEzZjQ3
YmUwYjJlM2E3ZGFkM2Y1YzZhZDllMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodC5oCkBAIC01OSw2ICs1OSw4IEBAIHB1YmxpYzoKICAgICBib29sIGFk
ZFRvU2V0TGlrZShTdGF0aWNSYW5nZSYpOwogICAgIGJvb2wgcmVtb3ZlRnJvbVNldExpa2UoY29u
c3QgU3RhdGljUmFuZ2UmKTsKICAgICB2b2lkIGluaXRpYWxpemVTZXRMaWtlKERPTVNldEFkYXB0
ZXImKTsKKyAgICAKKyAgICB2b2lkIGZvcmNlUmVwYWludCgpOwogICAgIGNvbnN0IFZlY3RvcjxS
ZWY8SGlnaGxpZ2h0UmFuZ2VEYXRhPj4mIHJhbmdlc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jh
bmdlc0RhdGE7IH0KIAogICAgIC8vIEZJWE1FOiBBZGQgV0VCQ09SRV9FWFBPUlQgQ1NTU3R5bGVE
ZWNsYXJhdGlvbiYgc3R5bGUoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcAppbmRleCA2OGVkMjdmZGIzZjc0ZTBiMWE5
MzlmNTgxZmU3MjM4NjM3MGZmY2Q5Li43MTg4ZTM1MTQxMzY3MjhjOTUwZGJiMjAxYzg1MTAzZjFi
ZGQxZWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRSZWdpc3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQv
SGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCkBAIC02NSw1ICs2NSwxNiBAQCB2b2lkIEhpZ2hsaWdodFJl
Z2lzdGVyOjphZGRBcHBIaWdobGlnaHQoUmVmPFN0YXRpY1JhbmdlPiYmIHZhbHVlKQogICAgIGVs
c2UKICAgICAgICAgc2V0RnJvbU1hcExpa2UoYXBwSGlnaGxpZ2h0S2V5KCksIEhpZ2hsaWdodDo6
Y3JlYXRlKFdURk1vdmUodmFsdWUpKSk7CiB9Cit2b2lkIEhpZ2hsaWdodFJlZ2lzdGVyOjpzZXRB
cHBIaWdobGlnaHRzVmlzaWJpbGl0eShBcHBIaWdobGlnaHRWaXNpYmlsaXR5IGFwcEhpZ2hsaWdo
dHNWaXNpYmlsaXR5KQoreworICAgIGlmIChtX2FwcEhpZ2hsaWdodHNWaXNpYmlsaXR5ID09IGFw
cEhpZ2hsaWdodHNWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm47CisgICAgCisgICAgbV9hcHBI
aWdobGlnaHRzVmlzaWJpbGl0eSA9IGFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5OworICAgIAorICAg
IGZvciAoYXV0byYgaGlnaGxpZ2h0IDogbV9tYXApCisgICAgICAgIGhpZ2hsaWdodC52YWx1ZS0+
Zm9yY2VSZXBhaW50KCk7Cit9CisKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmgKaW5kZXggOWQyNmIxNmRlNzg5
N2VkODk1NTM4ZWEzODdhNzZjZmZiOTAwNDI0NS4uNjhmM2VhZTU0ODM2MDk4M2JiMWJmMWM0MThi
ZDI5NDRkYThiZGE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGln
aHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hs
aWdodC9IaWdobGlnaHRSZWdpc3Rlci5oCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIERPTVN0cmlu
ZzsKIGNsYXNzIEhpZ2hsaWdodDsKIGNsYXNzIFN0YXRpY1JhbmdlOwogCitlbnVtIGNsYXNzIEFw
cEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sIHsgVmlzaWJsZSwgSGlkZGVuIH07CisKIGNsYXNz
IEhpZ2hsaWdodFJlZ2lzdGVyIDogcHVibGljIFJlZkNvdW50ZWQ8SGlnaGxpZ2h0UmVnaXN0ZXI+
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhpZ2hsaWdodFJlZ2lzdGVyPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodFJlZ2lzdGVyKTsgfQpAQCAtNDcsMTIgKzQ5
LDE5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBhZGRBcHBIaWdobGlnaHQoUmVmPFN0YXRpY1JhbmdlPiYmKTsKICAgICBzdGF0
aWMgQVNDSUlMaXRlcmFsIGFwcEhpZ2hsaWdodEtleSgpOworICAgIEFwcEhpZ2hsaWdodFZpc2li
aWxpdHkgYXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoKSB7IHJldHVybiBtX2FwcEhpZ2hsaWdodHNW
aXNpYmlsaXR5OyB9CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBcHBIaWdobGlnaHRzVmlz
aWJpbGl0eShBcHBIaWdobGlnaHRWaXNpYmlsaXR5KTsKICNlbmRpZgogICAgIGNvbnN0IEhhc2hN
YXA8U3RyaW5nLCBSZWY8SGlnaGxpZ2h0Pj4mIG1hcCgpIGNvbnN0IHsgcmV0dXJuIG1fbWFwOyB9
CiAgICAgCisgICAgCisgICAgCiBwcml2YXRlOgogICAgIEhpZ2hsaWdodFJlZ2lzdGVyKCkgPSBk
ZWZhdWx0OwogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWY8SGlnaGxpZ2h0Pj4gbV9tYXA7CisjaWYg
RU5BQkxFKEFQUF9ISUdITElHSFRTKQorICAgIEFwcEhpZ2hsaWdodFZpc2liaWxpdHkgbV9hcHBI
aWdobGlnaHRzVmlzaWJpbGl0eTsKKyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZVRleHRCb3guY3BwCmluZGV4IDI2ZTZjODQyYTUxN2VkNDIyYzgyNDIxN2Y4
OWEyMWQyY2Y3NTAwY2IuLjNiM2I5NTI1ODU0NWFmMDY4NTAzZjFlZmRjM2NjZGQ5NGEwODVkNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTkxMSwx
NCArOTExLDE2IEBAIFZlY3RvcjxNYXJrZWRUZXh0PiBJbmxpbmVUZXh0Qm94Ojpjb2xsZWN0TWFy
a2VkVGV4dHNGb3JIaWdobGlnaHRzKFRleHRQYWludFBoYXNlCiAgICAgfQogI2lmIEVOQUJMRShB
UFBfSElHSExJR0hUUykKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IHJlbmRl
cmVyKCkuZG9jdW1lbnQoKS5hcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkpIHsKLSAgICAg
ICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsK
LSAgICAgICAgICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5n
ZXNEYXRhKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWhpZ2hsaWdodERhdGEuc2V0UmVuZGVy
UmFuZ2UocmFuZ2VEYXRhKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IGlmIChhcHBIaWdobGlnaHRSZWdpc3Rlci0+YXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoKSA9PSBB
cHBIaWdobGlnaHRWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8m
IGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgeworICAgICAgICAgICAg
ICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdl
KHJhbmdlRGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICAgICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmRdID0gaGlnaGxpZ2h0
U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7Ci0gICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodFN0
YXJ0IDwgaGlnaGxpZ2h0RW5kKQotICAgICAgICAgICAgICAgICAgICBtYXJrZWRUZXh0cy5hcHBl
bmQoeyBoaWdobGlnaHRTdGFydCwgaGlnaGxpZ2h0RW5kLCBNYXJrZWRUZXh0OjpBcHBIaWdobGln
aHQgfSk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGln
aHRFbmRdID0gaGlnaGxpZ2h0U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChoaWdobGlnaHRTdGFydCA8IGhpZ2hsaWdodEVuZCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1hcmtlZFRleHRzLmFwcGVuZCh7IGhpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRF
bmQsIE1hcmtlZFRleHQ6OkFwcEhpZ2hsaWdodCB9KTsKKyAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcAppbmRleCA5ZjQ1ZmY0ZDZkNGRjNzJjNWE4YzI1OGI5YTBhNmU2Y2Y3
OTMzZmQ4Li44ZmZjODMwYjUxZjg4YjA5NTVjYTA5ZmZiZjUwNjgwODQxNmRiM2Q0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTE0NSwxNyArMTQ1
LDE5IEBAIENvbG9yIFJlbmRlclJlcGxhY2VkOjpjYWxjdWxhdGVIaWdobGlnaHRDb2xvcigpIGNv
bnN0CiAgICAgSGlnaGxpZ2h0RGF0YSBoaWdobGlnaHREYXRhOwogI2lmIEVOQUJMRShBUFBfSElH
SExJR0hUUykKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IGRvY3VtZW50KCku
YXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgaGln
aGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPm1hcCgpKSB7Ci0gICAgICAgICAgICBmb3Ig
KGF1dG8mIHJhbmdlRGF0YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkp
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXBwSGlnaGxpZ2h0
UmVnaXN0ZXItPmFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KCkgPT0gQXBwSGlnaGxpZ2h0VmlzaWJp
bGl0eTo6VmlzaWJsZSkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBI
aWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHJh
bmdlRGF0YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghaGlnaGxpZ2h0RGF0YS5zZXRSZW5kZXJSYW5nZShyYW5nZURhdGEpKQorICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgICAgICBhdXRvIHN0
YXRlID0gaGlnaGxpZ2h0RGF0YS5oaWdobGlnaHRTdGF0ZUZvclJlbmRlcmVyKCp0aGlzKTsKLSAg
ICAgICAgICAgICAgICBpZiAoIWlzSGlnaGxpZ2h0ZWQoc3RhdGUsIGhpZ2hsaWdodERhdGEpKQot
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBz
dGF0ZSA9IGhpZ2hsaWdodERhdGEuaGlnaGxpZ2h0U3RhdGVGb3JSZW5kZXJlcigqdGhpcyk7Cisg
ICAgICAgICAgICAgICAgICAgIGlmICghaXNIaWdobGlnaHRlZChzdGF0ZSwgaGlnaGxpZ2h0RGF0
YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAg
IE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBzdHlsZUNvbG9yT3B0aW9ucyA9IHsgU3R5
bGVDb2xvcjo6T3B0aW9uczo6VXNlU3lzdGVtQXBwZWFyYW5jZSB9OwotICAgICAgICAgICAgICAg
IHJldHVybiB0aGVtZSgpLmFwcEhpZ2hsaWdodENvbG9yKHN0eWxlQ29sb3JPcHRpb25zKTsKKyAg
ICAgICAgICAgICAgICAgICAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IHN0eWxlQ29s
b3JPcHRpb25zID0geyBTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1BcHBlYXJhbmNlIH07
CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZSgpLmFwcEhpZ2hsaWdodENvbG9yKHN0
eWxlQ29sb3JPcHRpb25zKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRl
eCA3MTFlMDEyNjNlNGM1ZjFhYjFjMDZlOTMzNWVkMWVjMjFlNDZiMTU4Li43N2IwMzNhYjMyNjc0
NTUwMDVjZmE2OGFjNGE0ZjU0YmY2NjYwMjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJr
aXQvbWVzc2FnZXMucHkKQEAgLTY5NCw2ICs2OTQsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0
eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRhaWwnOiBbJzxXZWJDb3JlL1RleHRD
aGVja2VyQ2xpZW50Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQn
OiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6Okhp
Z2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAnOiBbJzxXZWJDb3JlL0FwcEhpZ2hsaWdodC5o
PiddLAorICAgICAgICAnV2ViQ29yZTo6QXBwSGlnaGxpZ2h0VmlzaWJpbGl0eSc6IFsnPFdlYkNv
cmUvSGlnaGxpZ2h0UmVnaXN0ZXIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkluY2x1ZGVTZWN1
cmVDb29raWVzJzogWyc8V2ViQ29yZS9Db29raWVKYXIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6
OkluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVNb2RlJzogWyc8V2ViQ29yZS9JbmRleGVk
REIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OklucHV0TW9kZSc6IFsnPFdlYkNvcmUvSW5wdXRN
b2RlLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
YWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQ
cm94eUNvY29hLm1tCmluZGV4IGUzN2FkZjhlNDdhNTMzMTFlNDNhMjRmMGQ1MTI0NjU4OGU1ODgy
Y2QuLmRjMjIwZmQxYzQzMTJhOWY4YTQ5MzVlMTExYzYyNjFlYjljZWNiZmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCkBAIC01
NzIsOSArNTcyLDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpyZXN0b3JlQXBwSGlnaGxpZ2h0c0Fu
ZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFJlZjxTaGFyZWRNCiAKICAgICAgICAgbWVtb3J5
SGFuZGxlcy5hcHBlbmQoU2hhcmVkTWVtb3J5OjpJUENIYW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSks
IGhpZ2hsaWdodC0+c2l6ZSgpIH0pOwogICAgIH0KKyAgICAKKyAgICBzZXRVcEhpZ2hsaWdodHNP
YnNlcnZlcigpOwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6UmVzdG9yZUFwcEhpZ2hs
aWdodHNBbmRTY3JvbGxUb0luZGV4KFdURk1vdmUobWVtb3J5SGFuZGxlcyksIGluZGV4KSk7CiB9
CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0eShXZWJDb3Jl
OjpBcHBIaWdobGlnaHRWaXNpYmlsaXR5IGFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KQoreworICAg
IGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFnZTo6U2V0QXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoYXBwSGlnaGxpZ2h0
c1Zpc2liaWxpdHkpKTsKK30KKwogI2VuZGlmCiAKIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFy
cmF5IFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVuc2lvbnNTYW5kYm94RXh0ZW5zaW9u
cyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCmluZGV4IDVhZjI4YjgyZDNiNDRjOGQ2MTNhYTZjZDMzZGQ2Mzk2YmMwYzFlNTguLmQ1
MjAyYjQwNzNkM2JmMjA4MTM4MjZmYmJlOTdjNWUzYzYxZmE2YmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yNjAsNiArMjYwLDcgQEAgZW51bSBjbGFzcyBFdmVu
dE1ha2VzR2FtZXBhZHNWaXNpYmxlIDogYm9vbDsKIGVudW0gY2xhc3MgTG9ja0JhY2tGb3J3YXJk
TGlzdCA6IGJvb2w7CiBlbnVtIGNsYXNzIEhhc0luc2VjdXJlQ29udGVudCA6IGJvb2w7CiBlbnVt
IGNsYXNzIEhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAgOiBib29sOworZW51bSBjbGFz
cyBBcHBIaWdobGlnaHRWaXNpYmlsaXR5IDogYm9vbDsKIGVudW0gY2xhc3MgTW91c2VFdmVudFBv
bGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIE5vdGlmaWNhdGlvbkRpcmVjdGlvbiA6IHVpbnQ4
X3Q7CiBlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeSA6IHVpbnQ4X3Q7CkBAIC0xODkwLDYg
KzE4OTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVBcHBIaWdobGlnaHRJblNlbGVjdGVk
UmFuZ2UoV2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQsIFdlYkNvcmU6OkhpZ2hs
aWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHApOwogICAgIHZvaWQgc3RvcmVBcHBIaWdobGlnaHQo
Y29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0Jik7CiAgICAgdm9pZCByZXN0b3JlQXBwSGlnaGxp
Z2h0c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFJlZjxXZWJLaXQ6OlNoYXJlZE1lbW9y
eT4+JiBoaWdobGlnaHRzLCBjb25zdCBPcHRpb25hbDx1bnNpZ25lZD4gaW5kZXgpOworICAgIHZv
aWQgc2V0QXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0
VmlzaWJpbGl0eSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5tbQppbmRleCBiZTdlNzQxNjBjMmNhZDA5ZDI3ZGE5MWEyZDZiYmY2OGE5ODY2MjBlLi4zNzA5
OTc3M2E3ZjM4NDYyYTFmYTQyMTMyOWI0MTExMDViYjM3NWM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTM1NzUsMTQgKzM1NzUsNiBAQCBXRUJDT1JFX0NPTU1BTkRfRk9SX1dFQlZJRVcocGFzdGVBbmRN
YXRjaFN0eWxlKTsKICAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3RvcihfdHJhbnNwb3NlKSkK
ICAgICAgICAgcmV0dXJuIGVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRhYmxlOwogCi0jaWYgRU5B
QkxFKEFQUF9ISUdITElHSFRTKQotICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhp
Z2hsaWdodEluQ3VycmVudEdyb3VwV2l0aFJhbmdlOikgfHwgYWN0aW9uID09IEBzZWxlY3Rvcihj
cmVhdGVIaWdobGlnaHRJbk5ld0dyb3VwV2l0aFJhbmdlOikpIHsKLSAgICAgICAgLy8gRklYTUU6
IEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoaXMgY29kZXBhdGggaXMgZXhlcmNpc2VkLCBzaW5jZSBV
SUtpdCBvbmx5IGFza3MgZm9yIHRoZSBhY3Rpb24gdGFyZ2V0IGZvciBjdXN0b20gYWN0aW9ucwot
ICAgICAgICAvLyBhZGRlZCB2aWEgLVtVSU1lbnVDb250cm9sbGVyIHNldE1lbnVJdGVtczpdLiBD
YW4gd2UgcmVtb3ZlIHRoaXMgY2hlY2s/Ci0gICAgICAgIHJldHVybiBzZWxmLnNob3VsZEFsbG93
QXBwSGlnaGxpZ2h0Q3JlYXRpb247Ci0gICAgfQotI2VuZGlmCi0KICAgICByZXR1cm4gW193ZWJW
aWV3IGNhblBlcmZvcm1BY3Rpb246YWN0aW9uIHdpdGhTZW5kZXI6c2VuZGVyXTsKIH0KIApAQCAt
Mzc3NCw4ICszNzY2LDExIEBAIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhwYXN0ZUFuZE1h
dGNoU3R5bGUpOwogLSAoaWQpdGFyZ2V0Rm9yQWN0aW9uOihTRUwpYWN0aW9uIHdpdGhTZW5kZXI6
KGlkKXNlbmRlcgogewogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKLSAgICBpZiAoYWN0aW9u
ID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJbkN1cnJlbnRHcm91cFdpdGhSYW5nZTopIHx8
IGFjdGlvbiA9PSBAc2VsZWN0b3IoY3JlYXRlSGlnaGxpZ2h0SW5OZXdHcm91cFdpdGhSYW5nZTop
KQotICAgICAgICByZXR1cm4gc2VsZi5zaG91bGRBbGxvd0FwcEhpZ2hsaWdodENyZWF0aW9uID8g
c2VsZiA6IG5pbDsKKyAgICBpZiAoYWN0aW9uID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJ
bkN1cnJlbnRHcm91cFdpdGhSYW5nZTopKQorICAgICAgICByZXR1cm4gc2VsZi5zaG91bGRBbGxv
d0FwcEhpZ2hsaWdodENyZWF0aW9uICYmIF9wYWdlLT5hcHBIaWdobGlnaHRzVmlzaWJpbGl0eSgp
ID8gc2VsZiA6IG5pbDsKKyAgICBpZiAoYWN0aW9uID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGln
aHRJbk5ld0dyb3VwV2l0aFJhbmdlOikpCisgICAgICAgIHJldHVybiBzZWxmLnNob3VsZEFsbG93
QXBwSGlnaGxpZ2h0Q3JlYXRpb24gJiYgIV9wYWdlLT5hcHBIaWdobGlnaHRzVmlzaWJpbGl0eSgp
ID8gc2VsZiA6IG5pbDsKKyAgICAKICNlbmRpZgogICAgIHJldHVybiBbX3dlYlZpZXcgdGFyZ2V0
Rm9yQWN0aW9uOmFjdGlvbiB3aXRoU2VuZGVyOnNlbmRlcl07CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY0NTdjODY0YjNkMjNhMGIwYjU1
OWM2ZTg2ZTZlZDk3MjJhMmY4OWEuLjA1MGVhYmNjNWU5YTY5YjYyMDc2MjdlNzc1ZTFiZDk5OWZl
YTY2NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC03NTIyLDYgKzc1MjIsMTQgQEAgdm9pZCBXZWJQYWdlOjpyZXN0b3JlQXBwSGlnaGxpZ2h0
c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFNoYXJlZE1lbW9yeTo6SVAKICAgICAgICAg
aSsrOwogICAgIH0KIH0KKwordm9pZCBXZWJQYWdlOjpzZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0
eShXZWJDb3JlOjpBcHBIaWdobGlnaHRWaXNpYmlsaXR5IGFwcEhpZ2hsaWdodFZpc2liaWxpdHkp
Cit7CisgICAgYXV0byBkb2N1bWVudCA9IG1ha2VSZWZQdHIobV9wYWdlLT5mb2N1c0NvbnRyb2xs
ZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKS5kb2N1bWVudCgpKTsKKworICAgIGRvY3VtZW50LT5h
cHBIaWdobGlnaHRSZWdpc3RlcigpLnNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KGFwcEhpZ2hs
aWdodFZpc2liaWxpdHkpOworfQorCiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9O
X0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CmluZGV4IGZiYjNhMGE2ZTgzNWI1ZTc4YzhmMTYxNmFiYTVlNjVkZDU3NDQ3ZDUuLmNiZGNmODdl
MDQxNzljNDlhZWU2OTBiYmVjYWU2ODA0NGY4Zjk2NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTIxNiw2ICsyMTYsNyBAQCBlbnVtIGNsYXNzIERy
YWdBcHBsaWNhdGlvbkZsYWdzIDogdWludDhfdDsKIGVudW0gY2xhc3MgRHJhZ0hhbmRsaW5nTWV0
aG9kIDogdWludDhfdDsKIGVudW0gY2xhc3MgRXZlbnRNYWtlc0dhbWVwYWRzVmlzaWJsZSA6IGJv
b2w7CiBlbnVtIGNsYXNzIEhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAgOiBib29sOwor
ZW51bSBjbGFzcyBBcHBIaWdobGlnaHRWaXNpYmlsaXR5IDogYm9vbDsKIGVudW0gY2xhc3MgU2Vs
ZWN0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKIGVudW0gY2xhc3MgU2hvdWxkVHJlYXRBc0NvbnRp
bnVpbmdMb2FkIDogYm9vbDsKIGVudW0gY2xhc3MgVGV4dEluZGljYXRvclByZXNlbnRhdGlvblRy
YW5zaXRpb24gOiB1aW50OF90OwpAQCAtMTQyMCw2ICsxNDIxLDcgQEAgcHVibGljOgogCiAgICAg
Ym9vbCBjcmVhdGVBcHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoV2ViQ29yZTo6Q3JlYXRlTmV3
R3JvdXBGb3JIaWdobGlnaHQsIFdlYkNvcmU6OkhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5B
cHApOwogICAgIHZvaWQgcmVzdG9yZUFwcEhpZ2hsaWdodHNBbmRTY3JvbGxUb0luZGV4KGNvbnN0
IFZlY3RvcjxTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZT4mJiwgY29uc3QgT3B0aW9uYWw8dW5zaWdu
ZWQ+IGluZGV4KTsKKyAgICB2b2lkIHNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KGNvbnN0IFdl
YkNvcmU6OkFwcEhpZ2hsaWdodFZpc2liaWxpdHkpOwogI2VuZGlmCiAKICAgICB2b2lkIGRpc3Bh
dGNoV2hlZWxFdmVudFdpdGhvdXRTY3JvbGxpbmcoY29uc3QgV2ViV2hlZWxFdmVudCYsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMzFhNmQ3YmJhYjM2MDg0
ZTE3YmMwNDE5MDFkNzU5ZGI2YjUyMjdiYi4uYmIxZTU4MDliOTNiNGVhMDZmNDViZmMxNmVlYmRi
NjE3MDk0MDM0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC02MjksNiArNjI5LDcgQEAgR2VuZXJhdGVTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29t
bWFuZFR5cGUKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgQ3JlYXRlQXBwSGlnaGxp
Z2h0SW5TZWxlY3RlZFJhbmdlKGVudW06Ym9vbCBXZWJDb3JlOjpDcmVhdGVOZXdHcm91cEZvckhp
Z2hsaWdodCBjcmVhdGVOZXdHcm91cCwgZW51bTpib29sIFdlYkNvcmU6OkhpZ2hsaWdodFJlcXVl
c3RPcmlnaW5hdGVkSW5BcHAgcmVxdWVzdE9yaWdpbikKICAgICBSZXN0b3JlQXBwSGlnaGxpZ2h0
c0FuZFNjcm9sbFRvSW5kZXgoVmVjdG9yPFdlYktpdDo6U2hhcmVkTWVtb3J5OjpJUENIYW5kbGU+
IG1lbW9yeUhhbmRsZXMsIE9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCkKKyAgICBTZXRBcHBIaWdo
bGlnaHRzVmlzaWJpbGl0eShlbnVtOmJvb2wgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0VmlzaWJpbGl0
eSBhY3RpdmUpCiAjZW5kaWYKIAogICAgIERpc3BhdGNoV2hlZWxFdmVudFdpdGhvdXRTY3JvbGxp
bmcoV2ViS2l0OjpXZWJXaGVlbEV2ZW50IGV2ZW50KSAtPiAoYm9vbCBoYW5kbGVkKSBBc3luYwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427602</attachid>
            <date>2021-05-03 14:22:43 -0700</date>
            <delta_ts>2021-05-03 16:02:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225276-20210503142242.patch</filename>
            <type>text/plain</type>
            <size>17274</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MmU3OWIzZWIwZDNh
MjUyOGIzMDkxNDUxZjM3MjEyMTM2YmQxNi4uZGYyYWRlN2U4NWMwYjZmMWNhMjk5YWFiMGJmNTU3
NGQyZjZiODQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA1LTAxICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgQXBw
SGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnRpbmcgaW5mcmFzdHJ1Y3R1cmUg
dG8gYWxsb3cgaGlnaGxpZ2h0cyB0byBiZSB0dXJuZWQgb24gYW5kIG9mZi4gCisgICAgICAgIFRo
aXMgaXMgZG9uZSB3aXRoIGEgc2ltcGxlIHN0YXRlIGFuZCBhIGZvcmNlZCByZXBhaW50IG9uIHRo
ZSBhcmVhcyB0aGF0IGhhdmUgaGlnaGxpZ2h0cy4KKworICAgICAgICAqIE1vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaWdobGlnaHQ6OmZvcmNlUmVw
YWludCk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0Lmg6CisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SGlnaGxpZ2h0UmVnaXN0ZXI6OnNldEFjdGl2ZSk6CisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhpZ2hsaWdo
dFJlZ2lzdGVyOjppc0FjdGl2ZSk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6Y29sbGVjdE1hcmtlZFRleHRz
Rm9ySGlnaGxpZ2h0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjYWxjdWxhdGVIaWdobGln
aHRDb2xvciBjb25zdCk6CisKIDIwMjEtMDQtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQXBwIGhpZ2hsaWdodCBVSSBzaG91bGQgYmUgZGlzYWJs
ZWQgd2hlbiBzZWxlY3RpbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNGYx
NGI2MzU0YzgyYWFhZTY2OTQ5YzZmM2FiZTJlYTZlMDZkYmUwLi5iOTIzZmQ1ZDA5OGI3NDEyYmRj
ZjRhNTM1ZmFkYmM4MTYwMmE3YTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA1
LTAxICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
QWxsb3cgQXBwSGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnRpbmcgaW5mcmFz
dHJ1Y3R1cmUgdG8gYWxsb3cgaGlnaGxpZ2h0cyB0byBiZSB0dXJuZWQgb24gYW5kIG9mZi4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAoaGVhZGVyc19m
b3JfdHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc3RvcmVBcHBIaWdobGlnaHRzQW5k
U2Nyb2xsVG9JbmRleCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0QXBwSGln
aGxpZ2h0c0FjdGl2ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IGNhblBlcmZvcm1BY3Rpb246d2l0aFNlbmRlcjpdKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyB0YXJnZXRGb3JBY3Rpb246d2l0aFNlbmRlcjpdKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnNldEFwcEhpZ2hsaWdodHNBY3RpdmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisKIDIwMjEtMDQtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXBwIGhpZ2hsaWdodCBVSSBzaG91bGQgYmUgZGlzYWJsZWQgd2hl
biBzZWxlY3RpbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5jcHAKaW5kZXggYTY1OTdlYTI2M2E2YTUxZDQ0ODlm
MGMxZDc2MDQyYjY5N2Q1YTM4ZC4uZmFiY2UyMGMxMjM1NWZiOWQ5MGUwM2M5N2VjNjdiM2E3ZWJm
YTMwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
Y3BwCkBAIC0xMDEsNSArMTAxLDExIEBAIGJvb2wgSGlnaGxpZ2h0OjphZGRUb1NldExpa2UoU3Rh
dGljUmFuZ2UmIHJhbmdlKQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEhpZ2hsaWdodDo6
Zm9yY2VSZXBhaW50KCkKK3sKKyAgICBmb3IgKGF1dG8mIGRhdGEgOiBtX3Jhbmdlc0RhdGEpCisg
ICAgICAgIHJlcGFpbnRSYW5nZShkYXRhLT5yYW5nZSk7Cit9CisKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuaAppbmRleCA5ZDk4Yzg3MTRlYmMwNWE0
OWQ3ZDk2YTMyZWY0YjBjMmY5ZDI1MTZmLi5hNzUyMWE5NGU1MTYxM2Y0N2JlMGIyZTNhN2RhZDNm
NWM2YWQ5ZTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9I
aWdobGlnaHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGln
aHQuaApAQCAtNTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhZGRUb1NldExpa2UoU3Rh
dGljUmFuZ2UmKTsKICAgICBib29sIHJlbW92ZUZyb21TZXRMaWtlKGNvbnN0IFN0YXRpY1Jhbmdl
Jik7CiAgICAgdm9pZCBpbml0aWFsaXplU2V0TGlrZShET01TZXRBZGFwdGVyJik7CisgICAgCisg
ICAgdm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICBjb25zdCBWZWN0b3I8UmVmPEhpZ2hsaWdodFJh
bmdlRGF0YT4+JiByYW5nZXNEYXRhKCkgY29uc3QgeyByZXR1cm4gbV9yYW5nZXNEYXRhOyB9CiAK
ICAgICAvLyBGSVhNRTogQWRkIFdFQkNPUkVfRVhQT1JUIENTU1N0eWxlRGVjbGFyYXRpb24mIHN0
eWxlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRSZWdpc3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdo
bGlnaHRSZWdpc3Rlci5jcHAKaW5kZXggNjhlZDI3ZmRiM2Y3NGUwYjFhOTM5ZjU4MWZlNzIzODYz
NzBmZmNkOS4uZWJlNmQxOTkzM2FhZDBiMGViZTdjOTNkMTc2MjAwMGEyNmIwNDYzOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmNwcApAQCAtNjUsNSArNjUsMTcgQEAgdm9pZCBIaWdobGlnaHRSZWdpc3Rlcjo6YWRkQXBw
SGlnaGxpZ2h0KFJlZjxTdGF0aWNSYW5nZT4mJiB2YWx1ZSkKICAgICBlbHNlCiAgICAgICAgIHNl
dEZyb21NYXBMaWtlKGFwcEhpZ2hsaWdodEtleSgpLCBIaWdobGlnaHQ6OmNyZWF0ZShXVEZNb3Zl
KHZhbHVlKSkpOwogfQorCit2b2lkIEhpZ2hsaWdodFJlZ2lzdGVyOjpzZXRIaWdobGlnaHRzVmlz
aWJpbGl0eShIaWdobGlnaHRWaXNpYmlsaXR5IGhpZ2hsaWdodHNWaXNpYmlsaXR5KQoreworICAg
IGlmIChtX2hpZ2hsaWdodHNWaXNpYmlsaXR5ID09IGhpZ2hsaWdodHNWaXNpYmlsaXR5KQorICAg
ICAgICByZXR1cm47CisgICAgCisgICAgbV9oaWdobGlnaHRzVmlzaWJpbGl0eSA9IGhpZ2hsaWdo
dHNWaXNpYmlsaXR5OworICAgIAorICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogbV9tYXApCisg
ICAgICAgIGhpZ2hsaWdodC52YWx1ZS0+Zm9yY2VSZXBhaW50KCk7Cit9CisKICNlbmRpZgogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVn
aXN0ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmgKaW5kZXggOWQyNmIxNmRlNzg5N2VkODk1NTM4ZWEzODdhNzZjZmZiOTAwNDI0NS4uYjk0
NzA5M2NiMTgzOGM0YWJlNmE3NWI1NWVkOWM5ZGZlZTIxNzE0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5oCkBAIC0zNiw2
ICszNiw4IEBAIGNsYXNzIERPTVN0cmluZzsKIGNsYXNzIEhpZ2hsaWdodDsKIGNsYXNzIFN0YXRp
Y1JhbmdlOwogCitlbnVtIGNsYXNzIEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sIHsgVmlzaWJs
ZSwgSGlkZGVuIH07CisKIGNsYXNzIEhpZ2hsaWdodFJlZ2lzdGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8SGlnaGxpZ2h0UmVnaXN0ZXI+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhpZ2hsaWdo
dFJlZ2lzdGVyPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodFJlZ2lz
dGVyKTsgfQpAQCAtNDQsNiArNDYsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RnJvbU1hcExp
a2UoU3RyaW5nJiYsIFJlZjxIaWdobGlnaHQ+JiYpOwogICAgIHZvaWQgY2xlYXIoKTsKICAgICBi
b29sIHJlbW92ZShjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBIaWdobGlnaHRWaXNpYmlsaXR5
IGhpZ2hsaWdodHNWaXNpYmlsaXR5KCkgeyByZXR1cm4gbV9oaWdobGlnaHRzVmlzaWJpbGl0eTsg
fQorICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SGlnaGxpZ2h0c1Zpc2liaWxpdHkoSGlnaGxp
Z2h0VmlzaWJpbGl0eSk7CisgICAgCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgYWRkQXBwSGlnaGxpZ2h0KFJlZjxTdGF0aWNSYW5nZT4mJik7CiAg
ICAgc3RhdGljIEFTQ0lJTGl0ZXJhbCBhcHBIaWdobGlnaHRLZXkoKTsKQEAgLTUzLDYgKzU5LDgg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICBIaWdobGlnaHRSZWdpc3RlcigpID0gZGVmYXVsdDsK
ICAgICBIYXNoTWFwPFN0cmluZywgUmVmPEhpZ2hsaWdodD4+IG1fbWFwOworCisgICAgSGlnaGxp
Z2h0VmlzaWJpbGl0eSBtX2hpZ2hsaWdodHNWaXNpYmlsaXR5IHtIaWdobGlnaHRWaXNpYmlsaXR5
OjpIaWRkZW59OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRC
b3guY3BwCmluZGV4IDI2ZTZjODQyYTUxN2VkNDIyYzgyNDIxN2Y4OWEyMWQyY2Y3NTAwY2IuLmUy
Y2FlMDI4MzI2ODJiZjc4YTFjOWVjODk4MTkyNzJmNjk5NWU2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAgLTkxMSwxNCArOTExLDE2IEBAIFZlY3Rv
cjxNYXJrZWRUZXh0PiBJbmxpbmVUZXh0Qm94Ojpjb2xsZWN0TWFya2VkVGV4dHNGb3JIaWdobGln
aHRzKFRleHRQYWludFBoYXNlCiAgICAgfQogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAg
ICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5h
cHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkpIHsKLSAgICAgICAgZm9yIChhdXRvJiBoaWdo
bGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsKLSAgICAgICAgICAgIGZvciAo
YXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkpIHsKLSAgICAg
ICAgICAgICAgICBpZiAoIWhpZ2hsaWdodERhdGEuc2V0UmVuZGVyUmFuZ2UocmFuZ2VEYXRhKSkK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIGlmIChhcHBIaWdobGlnaHRS
ZWdpc3Rlci0+aGlnaGxpZ2h0c1Zpc2liaWxpdHkoKSA9PSBIaWdobGlnaHRWaXNpYmlsaXR5OjpW
aXNpYmxlKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdo
dFJlZ2lzdGVyLT5tYXAoKSkgeworICAgICAgICAgICAgICAgIGZvciAoYXV0byYgcmFuZ2VEYXRh
IDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkpCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAgIGF1dG8gW2hpZ2hsaWdo
dFN0YXJ0LCBoaWdobGlnaHRFbmRdID0gaGlnaGxpZ2h0U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7
Ci0gICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodFN0YXJ0IDwgaGlnaGxpZ2h0RW5kKQotICAg
ICAgICAgICAgICAgICAgICBtYXJrZWRUZXh0cy5hcHBlbmQoeyBoaWdobGlnaHRTdGFydCwgaGln
aGxpZ2h0RW5kLCBNYXJrZWRUZXh0OjpBcHBIaWdobGlnaHQgfSk7CisgICAgICAgICAgICAgICAg
ICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmRdID0gaGlnaGxpZ2h0U3RhcnRF
bmQoaGlnaGxpZ2h0RGF0YSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChoaWdobGlnaHRTdGFy
dCA8IGhpZ2hsaWdodEVuZCkKKyAgICAgICAgICAgICAgICAgICAgICAgIG1hcmtlZFRleHRzLmFw
cGVuZCh7IGhpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmQsIE1hcmtlZFRleHQ6OkFwcEhpZ2hs
aWdodCB9KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA5
ZjQ1ZmY0ZDZkNGRjNzJjNWE4YzI1OGI5YTBhNmU2Y2Y3OTMzZmQ4Li4yYTkzOWNlNWJhODQwNzUz
YmQ1OWYzNmIwNzJjM2FlOGM1M2QyZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTE0NSwxNyArMTQ1LDE5IEBAIENvbG9yIFJlbmRlclJlcGxh
Y2VkOjpjYWxjdWxhdGVIaWdobGlnaHRDb2xvcigpIGNvbnN0CiAgICAgSGlnaGxpZ2h0RGF0YSBo
aWdobGlnaHREYXRhOwogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBpZiAoYXV0byBh
cHBIaWdobGlnaHRSZWdpc3RlciA9IGRvY3VtZW50KCkuYXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4
aXN0cygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVn
aXN0ZXItPm1hcCgpKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8mIHJhbmdlRGF0YSA6IGhpZ2hs
aWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKCFoaWdobGln
aHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkpCi0gICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICBpZiAoYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPmhpZ2hsaWdodHNWaXNp
YmlsaXR5KCkgPT0gSGlnaGxpZ2h0VmlzaWJpbGl0eTo6VmlzaWJsZSkgeworICAgICAgICAgICAg
Zm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsKKyAg
ICAgICAgICAgICAgICBmb3IgKGF1dG8mIHJhbmdlRGF0YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFu
Z2VzRGF0YSgpKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghaGlnaGxpZ2h0RGF0YS5zZXRS
ZW5kZXJSYW5nZShyYW5nZURhdGEpKQorICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
CiAKLSAgICAgICAgICAgICAgICBhdXRvIHN0YXRlID0gaGlnaGxpZ2h0RGF0YS5oaWdobGlnaHRT
dGF0ZUZvclJlbmRlcmVyKCp0aGlzKTsKLSAgICAgICAgICAgICAgICBpZiAoIWlzSGlnaGxpZ2h0
ZWQoc3RhdGUsIGhpZ2hsaWdodERhdGEpKQotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsK
KyAgICAgICAgICAgICAgICAgICAgYXV0byBzdGF0ZSA9IGhpZ2hsaWdodERhdGEuaGlnaGxpZ2h0
U3RhdGVGb3JSZW5kZXJlcigqdGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGlmICghaXNIaWdo
bGlnaHRlZChzdGF0ZSwgaGlnaGxpZ2h0RGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKIAotICAgICAgICAgICAgICAgIE9wdGlvblNldDxTdHlsZUNvbG9yOjpPcHRpb25z
PiBzdHlsZUNvbG9yT3B0aW9ucyA9IHsgU3R5bGVDb2xvcjo6T3B0aW9uczo6VXNlU3lzdGVtQXBw
ZWFyYW5jZSB9OwotICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZSgpLmFwcEhpZ2hsaWdodENv
bG9yKHN0eWxlQ29sb3JPcHRpb25zKTsKKyAgICAgICAgICAgICAgICAgICAgT3B0aW9uU2V0PFN0
eWxlQ29sb3I6Ok9wdGlvbnM+IHN0eWxlQ29sb3JPcHRpb25zID0geyBTdHlsZUNvbG9yOjpPcHRp
b25zOjpVc2VTeXN0ZW1BcHBlYXJhbmNlIH07CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0
aGVtZSgpLmFwcEhpZ2hsaWdodENvbG9yKHN0eWxlQ29sb3JPcHRpb25zKTsKKyAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3Jp
cHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA3MTFlMDEyNjNlNGM1ZjFhYjFjMDZlOTMzNWVk
MWVjMjFlNDZiMTU4Li44ZjVjYjAwMjFmMzM2NWJkMzkxNzg2ZWNhNThjYzVjNTRlNjI1Mjc3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBi
L1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTY5NCw2ICs2OTQs
NyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OkdyYW1t
YXJEZXRhaWwnOiBbJzxXZWJDb3JlL1RleHRDaGVja2VyQ2xpZW50Lmg+J10sCiAgICAgICAgICdX
ZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQnOiBbJzxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMu
aD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAn
OiBbJzxXZWJDb3JlL0FwcEhpZ2hsaWdodC5oPiddLAorICAgICAgICAnV2ViQ29yZTo6SGlnaGxp
Z2h0VmlzaWJpbGl0eSc6IFsnPFdlYkNvcmUvSGlnaGxpZ2h0UmVnaXN0ZXIuaD4nXSwKICAgICAg
ICAgJ1dlYkNvcmU6OkluY2x1ZGVTZWN1cmVDb29raWVzJzogWyc8V2ViQ29yZS9Db29raWVKYXIu
aD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkluZGV4ZWREQjo6T2JqZWN0U3RvcmVPdmVyd3JpdGVN
b2RlJzogWyc8V2ViQ29yZS9JbmRleGVkREIuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OklucHV0
TW9kZSc6IFsnPFdlYkNvcmUvSW5wdXRNb2RlLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCmluZGV4IGUzN2FkZjhlNDdhNTMz
MTFlNDNhMjRmMGQ1MTI0NjU4OGU1ODgyY2QuLjhlZGMwODVlZmNiZjI3ZGI4OTU3NDZkN2JkM2Y0
ZDdjYjQxYWM4ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlBhZ2VQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlBhZ2VQcm94eUNvY29hLm1tCkBAIC01NzIsOSArNTcyLDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpyZXN0b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFJlZjxT
aGFyZWRNCiAKICAgICAgICAgbWVtb3J5SGFuZGxlcy5hcHBlbmQoU2hhcmVkTWVtb3J5OjpJUENI
YW5kbGUgeyBXVEZNb3ZlKGhhbmRsZSksIGhpZ2hsaWdodC0+c2l6ZSgpIH0pOwogICAgIH0KKyAg
ICAKKyAgICBzZXRVcEhpZ2hsaWdodHNPYnNlcnZlcigpOwogCiAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6UmVzdG9yZUFwcEhpZ2hsaWdodHNBbmRTY3JvbGxUb0luZGV4KFdURk1vdmUobWVt
b3J5SGFuZGxlcyksIGluZGV4KSk7CiB9CisKK3ZvaWQgV2ViUGFnZVByb3h5OjpzZXRBcHBIaWdo
bGlnaHRzVmlzaWJpbGl0eShXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5IGFwcEhpZ2hsaWdo
dHNWaXNpYmlsaXR5KQoreworICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0QXBwSGlnaGxpZ2h0c1Zp
c2liaWxpdHkoYXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkpKTsKK30KKwogI2VuZGlmCiAKIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5IFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVu
c2lvbnNTYW5kYm94RXh0ZW5zaW9ucyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDVhZjI4YjgyZDNiNDRjOGQ2MTNhYTZj
ZDMzZGQ2Mzk2YmMwYzFlNTguLjk2MTM4YjkyNjdkZDcwZDQyYmEzNjhjOGQzOTFiNzg0YTI4MjFk
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0yNjAsNiArMjYw
LDcgQEAgZW51bSBjbGFzcyBFdmVudE1ha2VzR2FtZXBhZHNWaXNpYmxlIDogYm9vbDsKIGVudW0g
Y2xhc3MgTG9ja0JhY2tGb3J3YXJkTGlzdCA6IGJvb2w7CiBlbnVtIGNsYXNzIEhhc0luc2VjdXJl
Q29udGVudCA6IGJvb2w7CiBlbnVtIGNsYXNzIEhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5B
cHAgOiBib29sOworZW51bSBjbGFzcyBIaWdobGlnaHRWaXNpYmlsaXR5IDogYm9vbDsKIGVudW0g
Y2xhc3MgTW91c2VFdmVudFBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIE5vdGlmaWNhdGlv
bkRpcmVjdGlvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFJvdXRlU2hhcmluZ1BvbGljeSA6IHVp
bnQ4X3Q7CkBAIC0xODkwLDYgKzE4OTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBjcmVhdGVBcHBI
aWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoV2ViQ29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGln
aHQsIFdlYkNvcmU6OkhpZ2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHApOwogICAgIHZvaWQg
c3RvcmVBcHBIaWdobGlnaHQoY29uc3QgV2ViQ29yZTo6QXBwSGlnaGxpZ2h0Jik7CiAgICAgdm9p
ZCByZXN0b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFJlZjxX
ZWJLaXQ6OlNoYXJlZE1lbW9yeT4+JiBoaWdobGlnaHRzLCBjb25zdCBPcHRpb25hbDx1bnNpZ25l
ZD4gaW5kZXgpOworICAgIHZvaWQgc2V0QXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoY29uc3QgV2Vi
Q29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiZTdlNzQxNjBjMmNhZDA5ZDI3ZGE5MWEyZDZiYmY2
OGE5ODY2MjBlLi4zNzA5OTc3M2E3ZjM4NDYyYTFmYTQyMTMyOWI0MTExMDViYjM3NWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KQEAgLTM1NzUsMTQgKzM1NzUsNiBAQCBXRUJDT1JFX0NPTU1BTkRfRk9SX1dF
QlZJRVcocGFzdGVBbmRNYXRjaFN0eWxlKTsKICAgICAgICAgfHwgYWN0aW9uID09IEBzZWxlY3Rv
cihfdHJhbnNwb3NlKSkKICAgICAgICAgcmV0dXJuIGVkaXRvclN0YXRlLmlzQ29udGVudEVkaXRh
YmxlOwogCi0jaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotICAgIGlmIChhY3Rpb24gPT0gQHNl
bGVjdG9yKGNyZWF0ZUhpZ2hsaWdodEluQ3VycmVudEdyb3VwV2l0aFJhbmdlOikgfHwgYWN0aW9u
ID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJbk5ld0dyb3VwV2l0aFJhbmdlOikpIHsKLSAg
ICAgICAgLy8gRklYTUU6IEl0IGRvZXNuJ3Qgc2VlbSBsaWtlIHRoaXMgY29kZXBhdGggaXMgZXhl
cmNpc2VkLCBzaW5jZSBVSUtpdCBvbmx5IGFza3MgZm9yIHRoZSBhY3Rpb24gdGFyZ2V0IGZvciBj
dXN0b20gYWN0aW9ucwotICAgICAgICAvLyBhZGRlZCB2aWEgLVtVSU1lbnVDb250cm9sbGVyIHNl
dE1lbnVJdGVtczpdLiBDYW4gd2UgcmVtb3ZlIHRoaXMgY2hlY2s/Ci0gICAgICAgIHJldHVybiBz
ZWxmLnNob3VsZEFsbG93QXBwSGlnaGxpZ2h0Q3JlYXRpb247Ci0gICAgfQotI2VuZGlmCi0KICAg
ICByZXR1cm4gW193ZWJWaWV3IGNhblBlcmZvcm1BY3Rpb246YWN0aW9uIHdpdGhTZW5kZXI6c2Vu
ZGVyXTsKIH0KIApAQCAtMzc3NCw4ICszNzY2LDExIEBAIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VC
VklFVyhwYXN0ZUFuZE1hdGNoU3R5bGUpOwogLSAoaWQpdGFyZ2V0Rm9yQWN0aW9uOihTRUwpYWN0
aW9uIHdpdGhTZW5kZXI6KGlkKXNlbmRlcgogewogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykK
LSAgICBpZiAoYWN0aW9uID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJbkN1cnJlbnRHcm91
cFdpdGhSYW5nZTopIHx8IGFjdGlvbiA9PSBAc2VsZWN0b3IoY3JlYXRlSGlnaGxpZ2h0SW5OZXdH
cm91cFdpdGhSYW5nZTopKQotICAgICAgICByZXR1cm4gc2VsZi5zaG91bGRBbGxvd0FwcEhpZ2hs
aWdodENyZWF0aW9uID8gc2VsZiA6IG5pbDsKKyAgICBpZiAoYWN0aW9uID09IEBzZWxlY3Rvcihj
cmVhdGVIaWdobGlnaHRJbkN1cnJlbnRHcm91cFdpdGhSYW5nZTopKQorICAgICAgICByZXR1cm4g
c2VsZi5zaG91bGRBbGxvd0FwcEhpZ2hsaWdodENyZWF0aW9uICYmIF9wYWdlLT5hcHBIaWdobGln
aHRzVmlzaWJpbGl0eSgpID8gc2VsZiA6IG5pbDsKKyAgICBpZiAoYWN0aW9uID09IEBzZWxlY3Rv
cihjcmVhdGVIaWdobGlnaHRJbk5ld0dyb3VwV2l0aFJhbmdlOikpCisgICAgICAgIHJldHVybiBz
ZWxmLnNob3VsZEFsbG93QXBwSGlnaGxpZ2h0Q3JlYXRpb24gJiYgIV9wYWdlLT5hcHBIaWdobGln
aHRzVmlzaWJpbGl0eSgpID8gc2VsZiA6IG5pbDsKKyAgICAKICNlbmRpZgogICAgIHJldHVybiBb
X3dlYlZpZXcgdGFyZ2V0Rm9yQWN0aW9uOmFjdGlvbiB3aXRoU2VuZGVyOnNlbmRlcl07CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY0NTdj
ODY0YjNkMjNhMGIwYjU1OWM2ZTg2ZTZlZDk3MjJhMmY4OWEuLjhmNzBiZTM2NGU4OTA0ODYwZWZl
MDcxZGIwYmI1ZjRjNGY1YzY4MTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC03NTIyLDYgKzc1MjIsMTYgQEAgdm9pZCBXZWJQYWdlOjpyZXN0
b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoY29uc3QgVmVjdG9yPFNoYXJlZE1lbW9y
eTo6SVAKICAgICAgICAgaSsrOwogICAgIH0KIH0KKwordm9pZCBXZWJQYWdlOjpzZXRBcHBIaWdo
bGlnaHRzVmlzaWJpbGl0eShXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5IGFwcEhpZ2hsaWdo
dFZpc2liaWxpdHkpCit7CisgICAgZm9yIChSZWZQdHI8RnJhbWU+IGZyYW1lID0gbV9tYWluRnJh
bWUtPmNvcmVGcmFtZSgpOyBmcmFtZTsgZnJhbWUgPSBmcmFtZS0+dHJlZSgpLnRyYXZlcnNlTmV4
dFJlbmRlcmVkKCkpIHsKKyAgICAgICAgaWYgKGF1dG8qIGRvY3VtZW50ID0gZnJhbWUtPmRvY3Vt
ZW50KCkpCisgICAgICAgICAgICBkb2N1bWVudC0+YXBwSGlnaGxpZ2h0UmVnaXN0ZXIoKS5zZXRI
aWdobGlnaHRzVmlzaWJpbGl0eShhcHBIaWdobGlnaHRWaXNpYmlsaXR5KTsKKyAgICB9CisgICAg
YXV0byBkb2N1bWVudCA9IG1ha2VSZWZQdHIobV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1
c2VkT3JNYWluRnJhbWUoKS5kb2N1bWVudCgpKTsKK30KKwogI2VuZGlmCiAKICNpZiBFTkFCTEUo
TUVESUFfU0VTU0lPTl9DT09SRElOQVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAppbmRleCBmYmIzYTBhNmU4MzViNWU3OGM4ZjE2MTZhYmE1ZTY1ZGQ1NzQ0
N2Q1Li4zMmY2NGU5YjAxMmFkMDQzMzNiNjg2ZDIwNDk0Y2M5ODg1YzFlMGNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0yMTYsNiArMjE2LDcgQEAg
ZW51bSBjbGFzcyBEcmFnQXBwbGljYXRpb25GbGFncyA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIERy
YWdIYW5kbGluZ01ldGhvZCA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIEV2ZW50TWFrZXNHYW1lcGFk
c1Zpc2libGUgOiBib29sOwogZW51bSBjbGFzcyBIaWdobGlnaHRSZXF1ZXN0T3JpZ2luYXRlZElu
QXBwIDogYm9vbDsKK2VudW0gY2xhc3MgSGlnaGxpZ2h0VmlzaWJpbGl0eSA6IGJvb2w7CiBlbnVt
IGNsYXNzIFNlbGVjdGlvbkRpcmVjdGlvbiA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFNob3VsZFRy
ZWF0QXNDb250aW51aW5nTG9hZCA6IGJvb2w7CiBlbnVtIGNsYXNzIFRleHRJbmRpY2F0b3JQcmVz
ZW50YXRpb25UcmFuc2l0aW9uIDogdWludDhfdDsKQEAgLTE0MjAsNiArMTQyMSw3IEBAIHB1Ymxp
YzoKIAogICAgIGJvb2wgY3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKFdlYkNvcmU6
OkNyZWF0ZU5ld0dyb3VwRm9ySGlnaGxpZ2h0LCBXZWJDb3JlOjpIaWdobGlnaHRSZXF1ZXN0T3Jp
Z2luYXRlZEluQXBwKTsKICAgICB2b2lkIHJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xsVG9J
bmRleChjb25zdCBWZWN0b3I8U2hhcmVkTWVtb3J5OjpJUENIYW5kbGU+JiYsIGNvbnN0IE9wdGlv
bmFsPHVuc2lnbmVkPiBpbmRleCk7CisgICAgdm9pZCBzZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0
eShjb25zdCBXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5KTsKICNlbmRpZgogCiAgICAgdm9p
ZCBkaXNwYXRjaFdoZWVsRXZlbnRXaXRob3V0U2Nyb2xsaW5nKGNvbnN0IFdlYldoZWVsRXZlbnQm
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDMxYTZkN2Ji
YWIzNjA4NGUxN2JjMDQxOTAxZDc1OWRiNmI1MjI3YmIuLmZiZmNiY2VlYjNiYmY4Y2FjM2M3MjU0
ZTVkY2VlMDg1MjkyYmQ2ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNjI5LDYgKzYyOSw3IEBAIEdlbmVyYXRl
U3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhldGljRWRp
dGluZ0NvbW1hbmRUeXBlCiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIENyZWF0ZUFw
cEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShlbnVtOmJvb2wgV2ViQ29yZTo6Q3JlYXRlTmV3R3Jv
dXBGb3JIaWdobGlnaHQgY3JlYXRlTmV3R3JvdXAsIGVudW06Ym9vbCBXZWJDb3JlOjpIaWdobGln
aHRSZXF1ZXN0T3JpZ2luYXRlZEluQXBwIHJlcXVlc3RPcmlnaW4pCiAgICAgUmVzdG9yZUFwcEhp
Z2hsaWdodHNBbmRTY3JvbGxUb0luZGV4KFZlY3RvcjxXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SVBD
SGFuZGxlPiBtZW1vcnlIYW5kbGVzLCBPcHRpb25hbDx1bnNpZ25lZD4gaW5kZXgpCisgICAgU2V0
QXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkoZW51bTpib29sIFdlYkNvcmU6OkhpZ2hsaWdodFZpc2li
aWxpdHkgYWN0aXZlKQogI2VuZGlmCiAKICAgICBEaXNwYXRjaFdoZWVsRXZlbnRXaXRob3V0U2Ny
b2xsaW5nKFdlYktpdDo6V2ViV2hlZWxFdmVudCBldmVudCkgLT4gKGJvb2wgaGFuZGxlZCkgQXN5
bmMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427611</attachid>
            <date>2021-05-03 16:02:42 -0700</date>
            <delta_ts>2021-05-03 22:15:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225276-20210503160241.patch</filename>
            <type>text/plain</type>
            <size>17178</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MmU3OWIzZWIwZDNh
MjUyOGIzMDkxNDUxZjM3MjEyMTM2YmQxNi4uZGYyYWRlN2U4NWMwYjZmMWNhMjk5YWFiMGJmNTU3
NGQyZjZiODQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA1LTAxICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgQXBw
SGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnRpbmcgaW5mcmFzdHJ1Y3R1cmUg
dG8gYWxsb3cgaGlnaGxpZ2h0cyB0byBiZSB0dXJuZWQgb24gYW5kIG9mZi4gCisgICAgICAgIFRo
aXMgaXMgZG9uZSB3aXRoIGEgc2ltcGxlIHN0YXRlIGFuZCBhIGZvcmNlZCByZXBhaW50IG9uIHRo
ZSBhcmVhcyB0aGF0IGhhdmUgaGlnaGxpZ2h0cy4KKworICAgICAgICAqIE1vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaWdobGlnaHQ6OmZvcmNlUmVw
YWludCk6CisgICAgICAgICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0Lmg6CisgICAgICAg
ICogTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SGlnaGxpZ2h0UmVnaXN0ZXI6OnNldEFjdGl2ZSk6CisgICAgICAgICogTW9kdWxlcy9o
aWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkhpZ2hsaWdo
dFJlZ2lzdGVyOjppc0FjdGl2ZSk6CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3gu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lVGV4dEJveDo6Y29sbGVjdE1hcmtlZFRleHRz
Rm9ySGlnaGxpZ2h0cyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjYWxjdWxhdGVIaWdobGln
aHRDb2xvciBjb25zdCk6CisKIDIwMjEtMDQtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2ll
aEBhcHBsZS5jb20+CiAKICAgICAgICAgQXBwIGhpZ2hsaWdodCBVSSBzaG91bGQgYmUgZGlzYWJs
ZWQgd2hlbiBzZWxlY3RpbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNGYx
NGI2MzU0YzgyYWFhZTY2OTQ5YzZmM2FiZTJlYTZlMDZkYmUwLi5iOTIzZmQ1ZDA5OGI3NDEyYmRj
ZjRhNTM1ZmFkYmM4MTYwMmE3YTA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIxLTA1
LTAxICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
QWxsb3cgQXBwSGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnRpbmcgaW5mcmFz
dHJ1Y3R1cmUgdG8gYWxsb3cgaGlnaGxpZ2h0cyB0byBiZSB0dXJuZWQgb24gYW5kIG9mZi4KKwor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5OgorICAgICAgICAoaGVhZGVyc19m
b3JfdHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1t
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc3RvcmVBcHBIaWdobGlnaHRzQW5k
U2Nyb2xsVG9JbmRleCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2V0QXBwSGln
aGxpZ2h0c0FjdGl2ZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IGNhblBlcmZvcm1BY3Rpb246d2l0aFNlbmRlcjpdKToKKyAgICAg
ICAgKC1bV0tDb250ZW50VmlldyB0YXJnZXRGb3JBY3Rpb246d2l0aFNlbmRlcjpdKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OnNldEFwcEhpZ2hsaWdodHNBY3RpdmUpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW46CisKIDIwMjEtMDQtMzAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBs
ZS5jb20+CiAKICAgICAgICAgQXBwIGhpZ2hsaWdodCBVSSBzaG91bGQgYmUgZGlzYWJsZWQgd2hl
biBzZWxlY3RpbmcgdGV4dCBpbiBpbWFnZSBvdmVybGF5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5jcHAKaW5kZXggYTY1OTdlYTI2M2E2YTUxZDQ0ODlm
MGMxZDc2MDQyYjY5N2Q1YTM4ZC4uMTM0ZjNhOWIyYmNmOWRiZjFjODI0ZDlhMjczNTI3OTQwZDNl
NjE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
Y3BwCkBAIC0xMDEsNSArMTAxLDExIEBAIGJvb2wgSGlnaGxpZ2h0OjphZGRUb1NldExpa2UoU3Rh
dGljUmFuZ2UmIHJhbmdlKQogICAgIHJldHVybiB0cnVlOwogfQogCit2b2lkIEhpZ2hsaWdodDo6
cmVwYWludCgpCit7CisgICAgZm9yIChhdXRvJiBkYXRhIDogbV9yYW5nZXNEYXRhKQorICAgICAg
ICByZXBhaW50UmFuZ2UoZGF0YS0+cmFuZ2UpOworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmgKaW5kZXggOWQ5OGM4NzE0ZWJjMDVhNDlkN2Q5
NmEzMmVmNGIwYzJmOWQyNTE2Zi4uMzQ0NjZhM2MwNDQwMmM4MTdkM2M3ZDkzOWJjODlkOTI3MjNk
OGVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxp
Z2h0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmgK
QEAgLTU5LDYgKzU5LDggQEAgcHVibGljOgogICAgIGJvb2wgYWRkVG9TZXRMaWtlKFN0YXRpY1Jh
bmdlJik7CiAgICAgYm9vbCByZW1vdmVGcm9tU2V0TGlrZShjb25zdCBTdGF0aWNSYW5nZSYpOwog
ICAgIHZvaWQgaW5pdGlhbGl6ZVNldExpa2UoRE9NU2V0QWRhcHRlciYpOworICAgIAorICAgIHZv
aWQgcmVwYWludCgpOwogICAgIGNvbnN0IFZlY3RvcjxSZWY8SGlnaGxpZ2h0UmFuZ2VEYXRhPj4m
IHJhbmdlc0RhdGEoKSBjb25zdCB7IHJldHVybiBtX3Jhbmdlc0RhdGE7IH0KIAogICAgIC8vIEZJ
WE1FOiBBZGQgV0VCQ09SRV9FWFBPUlQgQ1NTU3R5bGVEZWNsYXJhdGlvbiYgc3R5bGUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lz
dGVyLmNwcAppbmRleCA2OGVkMjdmZGIzZjc0ZTBiMWE5MzlmNTgxZmU3MjM4NjM3MGZmY2Q5Li41
NjA5OWRjNzkwODAxYjE2NmM3ZTdiNWY2NzljMjY0NzUyM2NmZGU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuY3BwCkBA
IC02NSw1ICs2NSwxNyBAQCB2b2lkIEhpZ2hsaWdodFJlZ2lzdGVyOjphZGRBcHBIaWdobGlnaHQo
UmVmPFN0YXRpY1JhbmdlPiYmIHZhbHVlKQogICAgIGVsc2UKICAgICAgICAgc2V0RnJvbU1hcExp
a2UoYXBwSGlnaGxpZ2h0S2V5KCksIEhpZ2hsaWdodDo6Y3JlYXRlKFdURk1vdmUodmFsdWUpKSk7
CiB9CisKK3ZvaWQgSGlnaGxpZ2h0UmVnaXN0ZXI6OnNldEhpZ2hsaWdodFZpc2liaWxpdHkoSGln
aGxpZ2h0VmlzaWJpbGl0eSBoaWdobGlnaHRWaXNpYmlsaXR5KQoreworICAgIGlmIChtX2hpZ2hs
aWdodFZpc2liaWxpdHkgPT0gaGlnaGxpZ2h0VmlzaWJpbGl0eSkKKyAgICAgICAgcmV0dXJuOwor
ICAgIAorICAgIG1faGlnaGxpZ2h0VmlzaWJpbGl0eSA9IGhpZ2hsaWdodFZpc2liaWxpdHk7Cisg
ICAgCisgICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBtX21hcCkKKyAgICAgICAgaGlnaGxpZ2h0
LnZhbHVlLT5yZXBhaW50KCk7Cit9CisKICNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmgKaW5kZXggOWQyNmIxNmRl
Nzg5N2VkODk1NTM4ZWEzODdhNzZjZmZiOTAwNDI0NS4uZGE5MmNhMTA1YjE1YWIwMzkxYzY5ODM2
ZjRmOTRkYjRiNGU3N2FhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdo
bGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5oCkBAIC0zNiw2ICszNiw4IEBAIGNsYXNzIERPTVN0
cmluZzsKIGNsYXNzIEhpZ2hsaWdodDsKIGNsYXNzIFN0YXRpY1JhbmdlOwogCitlbnVtIGNsYXNz
IEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sIHsgSGlkZGVuLCBWaXNpYmxlIH07CisKIGNsYXNz
IEhpZ2hsaWdodFJlZ2lzdGVyIDogcHVibGljIFJlZkNvdW50ZWQ8SGlnaGxpZ2h0UmVnaXN0ZXI+
IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPEhpZ2hsaWdodFJlZ2lzdGVyPiBjcmVhdGUoKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IEhpZ2hsaWdodFJlZ2lzdGVyKTsgfQpAQCAtNDQsNiArNDYs
MTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3RyaW5nJiYsIFJlZjxIaWdo
bGlnaHQ+JiYpOwogICAgIHZvaWQgY2xlYXIoKTsKICAgICBib29sIHJlbW92ZShjb25zdCBTdHJp
bmcmKTsKKyAgICAKKyAgICBIaWdobGlnaHRWaXNpYmlsaXR5IGhpZ2hsaWdodHNWaXNpYmlsaXR5
KCkgY29uc3QgeyByZXR1cm4gbV9oaWdobGlnaHRWaXNpYmlsaXR5OyB9CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRIaWdobGlnaHRWaXNpYmlsaXR5KEhpZ2hsaWdodFZpc2liaWxpdHkpOwor
ICAgIAogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGFkZEFwcEhpZ2hsaWdodChSZWY8U3RhdGljUmFuZ2U+JiYpOwogICAgIHN0YXRpYyBBU0NJSUxp
dGVyYWwgYXBwSGlnaGxpZ2h0S2V5KCk7CkBAIC01Myw2ICs1OSw4IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgSGlnaGxpZ2h0UmVnaXN0ZXIoKSA9IGRlZmF1bHQ7CiAgICAgSGFzaE1hcDxTdHJp
bmcsIFJlZjxIaWdobGlnaHQ+PiBtX21hcDsKKworICAgIEhpZ2hsaWdodFZpc2liaWxpdHkgbV9o
aWdobGlnaHRWaXNpYmlsaXR5IHsgSGlnaGxpZ2h0VmlzaWJpbGl0eTo6SGlkZGVuIH07CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKaW5kZXggMjZl
NmM4NDJhNTE3ZWQ0MjJjODI0MjE3Zjg5YTIxZDJjZjc1MDBjYi4uZTJjYWUwMjgzMjY4MmJmNzhh
MWM5ZWM4OTgxOTI3MmY2OTk1ZTZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZVRleHRCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVUZXh0Qm94LmNwcApAQCAtOTExLDE0ICs5MTEsMTYgQEAgVmVjdG9yPE1hcmtlZFRleHQ+IElu
bGluZVRleHRCb3g6OmNvbGxlY3RNYXJrZWRUZXh0c0ZvckhpZ2hsaWdodHMoVGV4dFBhaW50UGhh
c2UKICAgICB9CiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIGlmIChhdXRvIGFwcEhp
Z2hsaWdodFJlZ2lzdGVyID0gcmVuZGVyZXIoKS5kb2N1bWVudCgpLmFwcEhpZ2hsaWdodFJlZ2lz
dGVySWZFeGlzdHMoKSkgewotICAgICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IGFwcEhpZ2hs
aWdodFJlZ2lzdGVyLT5tYXAoKSkgewotICAgICAgICAgICAgZm9yIChhdXRvJiByYW5nZURhdGEg
OiBoaWdobGlnaHQudmFsdWUtPnJhbmdlc0RhdGEoKSkgewotICAgICAgICAgICAgICAgIGlmICgh
aGlnaGxpZ2h0RGF0YS5zZXRSZW5kZXJSYW5nZShyYW5nZURhdGEpKQotICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgaWYgKGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5oaWdobGln
aHRzVmlzaWJpbGl0eSgpID09IEhpZ2hsaWdodFZpc2liaWxpdHk6OlZpc2libGUpIHsKKyAgICAg
ICAgICAgIGZvciAoYXV0byYgaGlnaGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPm1hcCgp
KSB7CisgICAgICAgICAgICAgICAgZm9yIChhdXRvJiByYW5nZURhdGEgOiBoaWdobGlnaHQudmFs
dWUtPnJhbmdlc0RhdGEoKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoIWhpZ2hsaWdodERh
dGEuc2V0UmVuZGVyUmFuZ2UocmFuZ2VEYXRhKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgICAgICAgICAgYXV0byBbaGlnaGxpZ2h0U3RhcnQsIGhpZ2hsaWdo
dEVuZF0gPSBoaWdobGlnaHRTdGFydEVuZChoaWdobGlnaHREYXRhKTsKLSAgICAgICAgICAgICAg
ICBpZiAoaGlnaGxpZ2h0U3RhcnQgPCBoaWdobGlnaHRFbmQpCi0gICAgICAgICAgICAgICAgICAg
IG1hcmtlZFRleHRzLmFwcGVuZCh7IGhpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmQsIE1hcmtl
ZFRleHQ6OkFwcEhpZ2hsaWdodCB9KTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBbaGlnaGxp
Z2h0U3RhcnQsIGhpZ2hsaWdodEVuZF0gPSBoaWdobGlnaHRTdGFydEVuZChoaWdobGlnaHREYXRh
KTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodFN0YXJ0IDwgaGlnaGxpZ2h0RW5k
KQorICAgICAgICAgICAgICAgICAgICAgICAgbWFya2VkVGV4dHMuYXBwZW5kKHsgaGlnaGxpZ2h0
U3RhcnQsIGhpZ2hsaWdodEVuZCwgTWFya2VkVGV4dDo6QXBwSGlnaGxpZ2h0IH0pOworICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDlmNDVmZjRkNmQ0ZGM3MmM1
YThjMjU4YjlhMGE2ZTZjZjc5MzNmZDguLjJhOTM5Y2U1YmE4NDA3NTNiZDU5ZjM2YjA3MmMzYWU4
YzUzZDJkNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNw
cApAQCAtMTQ1LDE3ICsxNDUsMTkgQEAgQ29sb3IgUmVuZGVyUmVwbGFjZWQ6OmNhbGN1bGF0ZUhp
Z2hsaWdodENvbG9yKCkgY29uc3QKICAgICBIaWdobGlnaHREYXRhIGhpZ2hsaWdodERhdGE7CiAj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQogICAgIGlmIChhdXRvIGFwcEhpZ2hsaWdodFJlZ2lz
dGVyID0gZG9jdW1lbnQoKS5hcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkpIHsKLSAgICAg
ICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFwKCkpIHsK
LSAgICAgICAgICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5n
ZXNEYXRhKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWhpZ2hsaWdodERhdGEuc2V0UmVuZGVy
UmFuZ2UocmFuZ2VEYXRhKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
IGlmIChhcHBIaWdobGlnaHRSZWdpc3Rlci0+aGlnaGxpZ2h0c1Zpc2liaWxpdHkoKSA9PSBIaWdo
bGlnaHRWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGhpZ2hs
aWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgeworICAgICAgICAgICAgICAgIGZv
ciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdl
RGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAg
ICAgIGF1dG8gc3RhdGUgPSBoaWdobGlnaHREYXRhLmhpZ2hsaWdodFN0YXRlRm9yUmVuZGVyZXIo
KnRoaXMpOwotICAgICAgICAgICAgICAgIGlmICghaXNIaWdobGlnaHRlZChzdGF0ZSwgaGlnaGxp
Z2h0RGF0YSkpCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAg
ICAgICBhdXRvIHN0YXRlID0gaGlnaGxpZ2h0RGF0YS5oaWdobGlnaHRTdGF0ZUZvclJlbmRlcmVy
KCp0aGlzKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFpc0hpZ2hsaWdodGVkKHN0YXRlLCBo
aWdobGlnaHREYXRhKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgICAgICAgICAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IHN0eWxlQ29sb3JPcHRp
b25zID0geyBTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1BcHBlYXJhbmNlIH07Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRoZW1lKCkuYXBwSGlnaGxpZ2h0Q29sb3Ioc3R5bGVDb2xvck9w
dGlvbnMpOworICAgICAgICAgICAgICAgICAgICBPcHRpb25TZXQ8U3R5bGVDb2xvcjo6T3B0aW9u
cz4gc3R5bGVDb2xvck9wdGlvbnMgPSB7IFN0eWxlQ29sb3I6Ok9wdGlvbnM6OlVzZVN5c3RlbUFw
cGVhcmFuY2UgfTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoZW1lKCkuYXBwSGlnaGxp
Z2h0Q29sb3Ioc3R5bGVDb2xvck9wdGlvbnMpOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CmluZGV4IDcxMWUwMTI2M2U0YzVmMWFiMWMwNmU5MzM1ZWQxZWMyMWU0NmIxNTguLjhm
NWNiMDAyMWYzMzY1YmQzOTE3ODZlY2E1OGNjNWM1NGU2MjUyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtNjk0LDYgKzY5NCw3IEBAIGRlZiBoZWFkZXJz
X2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6R3JhbW1hckRldGFpbCc6IFsnPFdl
YkNvcmUvVGV4dENoZWNrZXJDbGllbnQuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6Okhhc0luc2Vj
dXJlQ29udGVudCc6IFsnPFdlYkNvcmUvRnJhbWVMb2FkZXJUeXBlcy5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCc6IFsnPFdlYkNvcmUvQXBw
SGlnaGxpZ2h0Lmg+J10sCisgICAgICAgICdXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5Jzog
Wyc8V2ViQ29yZS9IaWdobGlnaHRSZWdpc3Rlci5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SW5j
bHVkZVNlY3VyZUNvb2tpZXMnOiBbJzxXZWJDb3JlL0Nvb2tpZUphci5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6SW5kZXhlZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUnOiBbJzxXZWJDb3Jl
L0luZGV4ZWREQi5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SW5wdXRNb2RlJzogWyc8V2ViQ29y
ZS9JbnB1dE1vZGUuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1dlYlBhZ2VQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
V2ViUGFnZVByb3h5Q29jb2EubW0KaW5kZXggZTM3YWRmOGU0N2E1MzMxMWU0M2EyNGYwZDUxMjQ2
NTg4ZTU4ODJjZC4uOGVkYzA4NWVmY2JmMjdkYjg5NTc0NmQ3YmQzZjRkN2NiNDFhYzhkMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0KQEAgLTU3Miw5ICs1NzIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc3RvcmVBcHBIaWdo
bGlnaHRzQW5kU2Nyb2xsVG9JbmRleChjb25zdCBWZWN0b3I8UmVmPFNoYXJlZE0KIAogICAgICAg
ICBtZW1vcnlIYW5kbGVzLmFwcGVuZChTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSB7IFdURk1vdmUo
aGFuZGxlKSwgaGlnaGxpZ2h0LT5zaXplKCkgfSk7CiAgICAgfQorICAgIAorICAgIHNldFVwSGln
aGxpZ2h0c09ic2VydmVyKCk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXN0b3Jl
QXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoV1RGTW92ZShtZW1vcnlIYW5kbGVzKSwgaW5k
ZXgpKTsKIH0KKwordm9pZCBXZWJQYWdlUHJveHk6OnNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5
KFdlYkNvcmU6OkhpZ2hsaWdodFZpc2liaWxpdHkgYXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkpCit7
CisgICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBz
ZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0eShhcHBIaWdo
bGlnaHRzVmlzaWJpbGl0eSkpOworfQorCiAjZW5kaWYKIAogU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRl
bnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKaW5kZXggNWFmMjhiODJkM2I0NGM4ZDYxM2FhNmNkMzNkZDYzOTZiYzBjMWU1
OC4uOTYxMzhiOTI2N2RkNzBkNDJiYTM2OGM4ZDM5MWI3ODRhMjgyMWQ5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTI2MCw2ICsyNjAsNyBAQCBlbnVtIGNsYXNz
IEV2ZW50TWFrZXNHYW1lcGFkc1Zpc2libGUgOiBib29sOwogZW51bSBjbGFzcyBMb2NrQmFja0Zv
cndhcmRMaXN0IDogYm9vbDsKIGVudW0gY2xhc3MgSGFzSW5zZWN1cmVDb250ZW50IDogYm9vbDsK
IGVudW0gY2xhc3MgSGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCA6IGJvb2w7CitlbnVt
IGNsYXNzIEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sOwogZW51bSBjbGFzcyBNb3VzZUV2ZW50
UG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgTm90aWZpY2F0aW9uRGlyZWN0aW9uIDogdWlu
dDhfdDsKIGVudW0gY2xhc3MgUm91dGVTaGFyaW5nUG9saWN5IDogdWludDhfdDsKQEAgLTE4OTAs
NiArMTg5MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0
ZWRSYW5nZShXZWJDb3JlOjpDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCwgV2ViQ29yZTo6SGln
aGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCk7CiAgICAgdm9pZCBzdG9yZUFwcEhpZ2hsaWdo
dChjb25zdCBXZWJDb3JlOjpBcHBIaWdobGlnaHQmKTsKICAgICB2b2lkIHJlc3RvcmVBcHBIaWdo
bGlnaHRzQW5kU2Nyb2xsVG9JbmRleChjb25zdCBWZWN0b3I8UmVmPFdlYktpdDo6U2hhcmVkTWVt
b3J5Pj4mIGhpZ2hsaWdodHMsIGNvbnN0IE9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCk7CisgICAg
dm9pZCBzZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpIaWdobGlnaHRW
aXNpYmlsaXR5KTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
bW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
Lm1tCmluZGV4IGJlN2U3NDE2MGMyY2FkMDlkMjdkYTkxYTJkNmJiZjY4YTk4NjYyMGUuLjM3MDk5
NzczYTdmMzg0NjJhMWZhNDIxMzI5YjQxMTEwNWJiMzc1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAt
MzU3NSwxNCArMzU3NSw2IEBAIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhwYXN0ZUFuZE1h
dGNoU3R5bGUpOwogICAgICAgICB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKF90cmFuc3Bvc2UpKQog
ICAgICAgICByZXR1cm4gZWRpdG9yU3RhdGUuaXNDb250ZW50RWRpdGFibGU7CiAKLSNpZiBFTkFC
TEUoQVBQX0hJR0hMSUdIVFMpCi0gICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IoY3JlYXRlSGln
aGxpZ2h0SW5DdXJyZW50R3JvdXBXaXRoUmFuZ2U6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGNy
ZWF0ZUhpZ2hsaWdodEluTmV3R3JvdXBXaXRoUmFuZ2U6KSkgewotICAgICAgICAvLyBGSVhNRTog
SXQgZG9lc24ndCBzZWVtIGxpa2UgdGhpcyBjb2RlcGF0aCBpcyBleGVyY2lzZWQsIHNpbmNlIFVJ
S2l0IG9ubHkgYXNrcyBmb3IgdGhlIGFjdGlvbiB0YXJnZXQgZm9yIGN1c3RvbSBhY3Rpb25zCi0g
ICAgICAgIC8vIGFkZGVkIHZpYSAtW1VJTWVudUNvbnRyb2xsZXIgc2V0TWVudUl0ZW1zOl0uIENh
biB3ZSByZW1vdmUgdGhpcyBjaGVjaz8KLSAgICAgICAgcmV0dXJuIHNlbGYuc2hvdWxkQWxsb3dB
cHBIaWdobGlnaHRDcmVhdGlvbjsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiBbX3dlYlZp
ZXcgY2FuUGVyZm9ybUFjdGlvbjphY3Rpb24gd2l0aFNlbmRlcjpzZW5kZXJdOwogfQogCkBAIC0z
Nzc0LDggKzM3NjYsMTEgQEAgV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJWSUVXKHBhc3RlQW5kTWF0
Y2hTdHlsZSk7CiAtIChpZCl0YXJnZXRGb3JBY3Rpb246KFNFTClhY3Rpb24gd2l0aFNlbmRlcjoo
aWQpc2VuZGVyCiB7CiAjaWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotICAgIGlmIChhY3Rpb24g
PT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodEluQ3VycmVudEdyb3VwV2l0aFJhbmdlOikgfHwg
YWN0aW9uID09IEBzZWxlY3RvcihjcmVhdGVIaWdobGlnaHRJbk5ld0dyb3VwV2l0aFJhbmdlOikp
Ci0gICAgICAgIHJldHVybiBzZWxmLnNob3VsZEFsbG93QXBwSGlnaGxpZ2h0Q3JlYXRpb24gPyBz
ZWxmIDogbmlsOworICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodElu
Q3VycmVudEdyb3VwV2l0aFJhbmdlOikpCisgICAgICAgIHJldHVybiBzZWxmLnNob3VsZEFsbG93
QXBwSGlnaGxpZ2h0Q3JlYXRpb24gJiYgX3BhZ2UtPmFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KCkg
PyBzZWxmIDogbmlsOworICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdo
dEluTmV3R3JvdXBXaXRoUmFuZ2U6KSkKKyAgICAgICAgcmV0dXJuIHNlbGYuc2hvdWxkQWxsb3dB
cHBIaWdobGlnaHRDcmVhdGlvbiAmJiAhX3BhZ2UtPmFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KCkg
PyBzZWxmIDogbmlsOworICAgIAogI2VuZGlmCiAgICAgcmV0dXJuIFtfd2ViVmlldyB0YXJnZXRG
b3JBY3Rpb246YWN0aW9uIHdpdGhTZW5kZXI6c2VuZGVyXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjQ1N2M4NjRiM2QyM2EwYjBiNTU5
YzZlODZlNmVkOTcyMmEyZjg5YS4uMjk2Mjk4ODM2YzRkNjUyMmVmZDc2YTQ2Yzk2NGNlOGRmOTM2
NTc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
QEAgLTc1MjIsNiArNzUyMiwxNSBAQCB2b2lkIFdlYlBhZ2U6OnJlc3RvcmVBcHBIaWdobGlnaHRz
QW5kU2Nyb2xsVG9JbmRleChjb25zdCBWZWN0b3I8U2hhcmVkTWVtb3J5OjpJUAogICAgICAgICBp
Kys7CiAgICAgfQogfQorCit2b2lkIFdlYlBhZ2U6OnNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5
KFdlYkNvcmU6OkhpZ2hsaWdodFZpc2liaWxpdHkgYXBwSGlnaGxpZ2h0VmlzaWJpbGl0eSkKK3sK
KyAgICBmb3IgKFJlZlB0cjxGcmFtZT4gZnJhbWUgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCk7
IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVyZWQoKSkgewor
ICAgICAgICBpZiAoYXV0byogZG9jdW1lbnQgPSBmcmFtZS0+ZG9jdW1lbnQoKSkKKyAgICAgICAg
ICAgIGRvY3VtZW50LT5hcHBIaWdobGlnaHRSZWdpc3RlcigpLnNldEhpZ2hsaWdodFZpc2liaWxp
dHkoYXBwSGlnaGxpZ2h0VmlzaWJpbGl0eSk7CisgICAgfQorfQorCiAjZW5kaWYKIAogI2lmIEVO
QUJMRShNRURJQV9TRVNTSU9OX0NPT1JESU5BVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGZiYjNhMGE2ZTgzNWI1ZTc4YzhmMTYxNmFiYTVlNjVk
ZDU3NDQ3ZDUuLjMyZjY0ZTliMDEyYWQwNDMzM2I2ODZkMjA0OTRjYzk4ODVjMWUwY2YgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTIxNiw2ICsyMTYs
NyBAQCBlbnVtIGNsYXNzIERyYWdBcHBsaWNhdGlvbkZsYWdzIDogdWludDhfdDsKIGVudW0gY2xh
c3MgRHJhZ0hhbmRsaW5nTWV0aG9kIDogdWludDhfdDsKIGVudW0gY2xhc3MgRXZlbnRNYWtlc0dh
bWVwYWRzVmlzaWJsZSA6IGJvb2w7CiBlbnVtIGNsYXNzIEhpZ2hsaWdodFJlcXVlc3RPcmlnaW5h
dGVkSW5BcHAgOiBib29sOworZW51bSBjbGFzcyBIaWdobGlnaHRWaXNpYmlsaXR5IDogYm9vbDsK
IGVudW0gY2xhc3MgU2VsZWN0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKIGVudW0gY2xhc3MgU2hv
dWxkVHJlYXRBc0NvbnRpbnVpbmdMb2FkIDogYm9vbDsKIGVudW0gY2xhc3MgVGV4dEluZGljYXRv
clByZXNlbnRhdGlvblRyYW5zaXRpb24gOiB1aW50OF90OwpAQCAtMTQyMCw2ICsxNDIxLDcgQEAg
cHVibGljOgogCiAgICAgYm9vbCBjcmVhdGVBcHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoV2Vi
Q29yZTo6Q3JlYXRlTmV3R3JvdXBGb3JIaWdobGlnaHQsIFdlYkNvcmU6OkhpZ2hsaWdodFJlcXVl
c3RPcmlnaW5hdGVkSW5BcHApOwogICAgIHZvaWQgcmVzdG9yZUFwcEhpZ2hsaWdodHNBbmRTY3Jv
bGxUb0luZGV4KGNvbnN0IFZlY3RvcjxTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZT4mJiwgY29uc3Qg
T3B0aW9uYWw8dW5zaWduZWQ+IGluZGV4KTsKKyAgICB2b2lkIHNldEFwcEhpZ2hsaWdodHNWaXNp
YmlsaXR5KGNvbnN0IFdlYkNvcmU6OkhpZ2hsaWdodFZpc2liaWxpdHkpOwogI2VuZGlmCiAKICAg
ICB2b2lkIGRpc3BhdGNoV2hlZWxFdmVudFdpdGhvdXRTY3JvbGxpbmcoY29uc3QgV2ViV2hlZWxF
dmVudCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMzFh
NmQ3YmJhYjM2MDg0ZTE3YmMwNDE5MDFkNzU5ZGI2YjUyMjdiYi4uNWJiZmI3NTQ5NzNkZjU5NjFj
YzEwNzk3ZDgyMzk5NTg2NWI3NGRiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC02MjksNiArNjI5LDcgQEAgR2Vu
ZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZFR5cGUKICNpZiBFTkFCTEUoQVBQX0hJR0hMSUdIVFMpCiAgICAgQ3Jl
YXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKGVudW06Ym9vbCBXZWJDb3JlOjpDcmVhdGVO
ZXdHcm91cEZvckhpZ2hsaWdodCBjcmVhdGVOZXdHcm91cCwgZW51bTpib29sIFdlYkNvcmU6Okhp
Z2hsaWdodFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAgcmVxdWVzdE9yaWdpbikKICAgICBSZXN0b3Jl
QXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRvSW5kZXgoVmVjdG9yPFdlYktpdDo6U2hhcmVkTWVtb3J5
OjpJUENIYW5kbGU+IG1lbW9yeUhhbmRsZXMsIE9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCkKKyAg
ICBTZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0eShlbnVtOmJvb2wgV2ViQ29yZTo6SGlnaGxpZ2h0
VmlzaWJpbGl0eSBoaWdobGlnaHRWaXNpYmlsaXR5KQogI2VuZGlmCiAKICAgICBEaXNwYXRjaFdo
ZWVsRXZlbnRXaXRob3V0U2Nyb2xsaW5nKFdlYktpdDo6V2ViV2hlZWxFdmVudCBldmVudCkgLT4g
KGJvb2wgaGFuZGxlZCkgQXN5bmMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427637</attachid>
            <date>2021-05-03 22:15:44 -0700</date>
            <delta_ts>2021-05-03 22:54:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225276-20210503221543.patch</filename>
            <type>text/plain</type>
            <size>22703</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4MmU3OWIzZWIwZDNh
MjUyOGIzMDkxNDUxZjM3MjEyMTM2YmQxNi4uYjE2YmI2NmVkZWU5NDhhZDI5ZDc5NTk5M2IyNjQ1
NDBiZTBhZDc2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA1LTAxICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgQXBw
SGlnaGxpZ2h0IHZpc2liaWxpdHkgdG8gYmUgdG9nZ2xlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1Mjc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
V2Vuc29uIEhzaWVoLgorCisgICAgICAgIEFkZCBzdXBwb3J0aW5nIGluZnJhc3RydWN0dXJlIHRv
IGFsbG93IGhpZ2hsaWdodHMgdG8gYmUgdHVybmVkIG9uIGFuZCBvZmYuIAorICAgICAgICBUaGlz
IGlzIGRvbmUgd2l0aCBhIHNpbXBsZSBzdGF0ZSBhbmQgYSBmb3JjZWQgcmVwYWludCBvbiB0aGUg
YXJlYXMgdGhhdCBoYXZlIGhpZ2hsaWdodHMuCisKKyAgICAgICAgKiBNb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SGlnaGxpZ2h0Ojpmb3JjZVJlcGFp
bnQpOgorICAgICAgICAqIE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5oOgorICAgICAgICAq
IE1vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkhpZ2hsaWdodFJlZ2lzdGVyOjpzZXRBY3RpdmUpOgorICAgICAgICAqIE1vZHVsZXMvaGln
aGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpIaWdobGlnaHRS
ZWdpc3Rlcjo6aXNBY3RpdmUpOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZVRleHRCb3g6OmNvbGxlY3RNYXJrZWRUZXh0c0Zv
ckhpZ2hsaWdodHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y2FsY3VsYXRlSGlnaGxpZ2h0
Q29sb3IgY29uc3QpOgorCiAyMDIxLTA0LTMwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhA
YXBwbGUuY29tPgogCiAgICAgICAgIEFwcCBoaWdobGlnaHQgVUkgc2hvdWxkIGJlIGRpc2FibGVk
IHdoZW4gc2VsZWN0aW5nIHRleHQgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzRmMTRi
NjM1NGM4MmFhYWU2Njk0OWM2ZjNhYmUyZWE2ZTA2ZGJlMC4uOWRkNmY4YTVkZjE0MDZjMmUzNjdh
ZTQwNTNjYzU1YmY5ZDgzZTJiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0wNS0w
MSAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFs
bG93IEFwcEhpZ2hsaWdodCB2aXNpYmlsaXR5IHRvIGJlIHRvZ2dsZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTI3NgorCisgICAgICAgIFJldmll
d2VkIGJ5IFdlbnNvbiBIc2llaC4KKworICAgICAgICBBZGQgc3VwcG9ydGluZyBpbmZyYXN0cnVj
dHVyZSB0byBhbGxvdyBoaWdobGlnaHRzIHRvIGJlIHR1cm5lZCBvbiBhbmQgb2ZmLgorCisgICAg
ICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAgICAgIChoZWFkZXJzX2Zvcl90
eXBlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVzdG9yZUFwcEhpZ2hsaWdodHNBbmRTY3Jv
bGxUb0luZGV4KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRBcHBIaWdobGln
aHRzQWN0aXZlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW06CisgICAgICAgICgt
W1dLQ29udGVudFZpZXcgY2FuUGVyZm9ybUFjdGlvbjp3aXRoU2VuZGVyOl0pOgorICAgICAgICAo
LVtXS0NvbnRlbnRWaWV3IHRhcmdldEZvckFjdGlvbjp3aXRoU2VuZGVyOl0pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFn
ZTo6c2V0QXBwSGlnaGxpZ2h0c0FjdGl2ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbjoKKwogMjAyMS0wNC0zMCAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBBcHAgaGlnaGxpZ2h0IFVJIHNob3VsZCBiZSBkaXNhYmxlZCB3aGVuIHNl
bGVjdGluZyB0ZXh0IGluIGltYWdlIG92ZXJsYXlzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9oaWdobGlnaHQvSGlnaGxpZ2h0LmNwcAppbmRleCBhNjU5N2VhMjYzYTZhNTFkNDQ4OWYwYzFk
NzYwNDJiNjk3ZDVhMzhkLi4xMzRmM2E5YjJiY2Y5ZGJmMWM4MjRkOWEyNzM1Mjc5NDBkM2U2MTQ4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodC5jcHAK
QEAgLTEwMSw1ICsxMDEsMTEgQEAgYm9vbCBIaWdobGlnaHQ6OmFkZFRvU2V0TGlrZShTdGF0aWNS
YW5nZSYgcmFuZ2UpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK3ZvaWQgSGlnaGxpZ2h0OjpyZXBh
aW50KCkKK3sKKyAgICBmb3IgKGF1dG8mIGRhdGEgOiBtX3Jhbmdlc0RhdGEpCisgICAgICAgIHJl
cGFpbnRSYW5nZShkYXRhLT5yYW5nZSk7Cit9CisKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuaAppbmRleCA5ZDk4Yzg3MTRlYmMwNWE0OWQ3ZDk2YTMy
ZWY0YjBjMmY5ZDI1MTZmLi4zNDQ2NmEzYzA0NDAyYzgxN2QzYzdkOTM5YmM4OWQ5MjcyM2Q4ZWQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHQuaApAQCAt
NTksNiArNTksOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBhZGRUb1NldExpa2UoU3RhdGljUmFuZ2Um
KTsKICAgICBib29sIHJlbW92ZUZyb21TZXRMaWtlKGNvbnN0IFN0YXRpY1JhbmdlJik7CiAgICAg
dm9pZCBpbml0aWFsaXplU2V0TGlrZShET01TZXRBZGFwdGVyJik7CisgICAgCisgICAgdm9pZCBy
ZXBhaW50KCk7CiAgICAgY29uc3QgVmVjdG9yPFJlZjxIaWdobGlnaHRSYW5nZURhdGE+PiYgcmFu
Z2VzRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFuZ2VzRGF0YTsgfQogCiAgICAgLy8gRklYTUU6
IEFkZCBXRUJDT1JFX0VYUE9SVCBDU1NTdHlsZURlY2xhcmF0aW9uJiBzdHlsZSgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIu
Y3BwCmluZGV4IDY4ZWQyN2ZkYjNmNzRlMGIxYTkzOWY1ODFmZTcyMzg2MzcwZmZjZDkuLjU2MDk5
ZGM3OTA4MDFiMTY2YzdlN2I1ZjY3OWMyNjQ3NTIzY2ZkZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5jcHAKQEAgLTY1
LDUgKzY1LDE3IEBAIHZvaWQgSGlnaGxpZ2h0UmVnaXN0ZXI6OmFkZEFwcEhpZ2hsaWdodChSZWY8
U3RhdGljUmFuZ2U+JiYgdmFsdWUpCiAgICAgZWxzZQogICAgICAgICBzZXRGcm9tTWFwTGlrZShh
cHBIaWdobGlnaHRLZXkoKSwgSGlnaGxpZ2h0OjpjcmVhdGUoV1RGTW92ZSh2YWx1ZSkpKTsKIH0K
Kwordm9pZCBIaWdobGlnaHRSZWdpc3Rlcjo6c2V0SGlnaGxpZ2h0VmlzaWJpbGl0eShIaWdobGln
aHRWaXNpYmlsaXR5IGhpZ2hsaWdodFZpc2liaWxpdHkpCit7CisgICAgaWYgKG1faGlnaGxpZ2h0
VmlzaWJpbGl0eSA9PSBoaWdobGlnaHRWaXNpYmlsaXR5KQorICAgICAgICByZXR1cm47CisgICAg
CisgICAgbV9oaWdobGlnaHRWaXNpYmlsaXR5ID0gaGlnaGxpZ2h0VmlzaWJpbGl0eTsKKyAgICAK
KyAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IG1fbWFwKQorICAgICAgICBoaWdobGlnaHQudmFs
dWUtPnJlcGFpbnQoKTsKK30KKwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2hpZ2hsaWdodC9IaWdobGlnaHRSZWdpc3Rlci5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9oaWdobGlnaHQvSGlnaGxpZ2h0UmVnaXN0ZXIuaAppbmRleCA5ZDI2YjE2ZGU3ODk3
ZWQ4OTU1MzhlYTM4N2E3NmNmZmI5MDA0MjQ1Li40NGQ1NTE0ZTc2Y2Q0ZjIzNTZlOWNiMDExZjA5
Mzg2MmRiYzgyOGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hpZ2hsaWdo
dC9IaWdobGlnaHRSZWdpc3Rlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaGlnaGxp
Z2h0L0hpZ2hsaWdodFJlZ2lzdGVyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNwcmFnbWEgb25jZQog
CiAjaW5jbHVkZSAiSGlnaGxpZ2h0LmgiCisjaW5jbHVkZSAiSGlnaGxpZ2h0VmlzaWJpbGl0eS5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
IApAQCAtNDQsNiArNDUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0RnJvbU1hcExpa2UoU3Ry
aW5nJiYsIFJlZjxIaWdobGlnaHQ+JiYpOwogICAgIHZvaWQgY2xlYXIoKTsKICAgICBib29sIHJl
bW92ZShjb25zdCBTdHJpbmcmKTsKKyAgICAKKyAgICBIaWdobGlnaHRWaXNpYmlsaXR5IGhpZ2hs
aWdodHNWaXNpYmlsaXR5KCkgY29uc3QgeyByZXR1cm4gbV9oaWdobGlnaHRWaXNpYmlsaXR5OyB9
CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRIaWdobGlnaHRWaXNpYmlsaXR5KEhpZ2hsaWdo
dFZpc2liaWxpdHkpOworICAgIAogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBXRUJD
T1JFX0VYUE9SVCB2b2lkIGFkZEFwcEhpZ2hsaWdodChSZWY8U3RhdGljUmFuZ2U+JiYpOwogICAg
IHN0YXRpYyBBU0NJSUxpdGVyYWwgYXBwSGlnaGxpZ2h0S2V5KCk7CkBAIC01Myw2ICs1OCw4IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSGlnaGxpZ2h0UmVnaXN0ZXIoKSA9IGRlZmF1bHQ7CiAg
ICAgSGFzaE1hcDxTdHJpbmcsIFJlZjxIaWdobGlnaHQ+PiBtX21hcDsKKworICAgIEhpZ2hsaWdo
dFZpc2liaWxpdHkgbV9oaWdobGlnaHRWaXNpYmlsaXR5IHsgSGlnaGxpZ2h0VmlzaWJpbGl0eTo6
SGlkZGVuIH07CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHRWaXNpYmlsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2hp
Z2hsaWdodC9IaWdobGlnaHRWaXNpYmlsaXR5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODIxMmIyZjkwOTdjYmVl
MDdkZWZmNzRhNzI2NzNhYjI3NmUwYzA5OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaGlnaGxpZ2h0L0hpZ2hsaWdodFZpc2liaWxpdHkuaApAQCAtMCwwICsxLDMy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5LTIwMjAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sIHsgSGlkZGVuLCBWaXNp
YmxlIH07CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA2Y2ZmNGU5OWRlYjRlMzAzNThhMmU0NTZiNWRkNTBiMmMwYTM1MDYw
Li43NWU0NDIyOTRhMTU1NjczNjUzNzgwYjYzNWJiZGU5ZDdjMTI1MzA5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjYyLDYg
KzEyNjIsNyBAQAogCQk0NDhCMUI3QTBGM0EyRjlCMDA0N0E5RTIgLyogVGV4dFNpemVBZGp1c3Rt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDhC
MUI3ODBGM0EyRjlCMDA0N0E5RTIgLyogVGV4dFNpemVBZGp1c3RtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDQ5NkUzOUUxMzk4MTM2QzAw
M0VFMzJBIC8qIEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0OTZFMzlDMTM5ODEzNkMwMDNFRTMyQSAvKiBK
U1NWR0FuaW1hdGVNb3Rpb25FbGVtZW50LmggKi87IH07CiAJCTQ0OTZFM0EwMTM5ODEzQTUwMDNF
RTMyQSAvKiBKU1NWR01QYXRoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDQ5NkUzOUYxMzk4MTNBNTAwM0VFMzJBIC8qIEpTU1ZHTVBhdGhF
bGVtZW50LmggKi87IH07CisJCTQ0OUQ4NjRGMjY0MEM5QzUwMDAxMjJERSAvKiBIaWdobGlnaHRW
aXNpYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NDlEODY0RDI2NDBDOUI5MDAwMTIyREUgLyogSGlnaGxpZ2h0VmlzaWJpbGl0eS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQ0QTIwREI5MEY4
NDE2NkMwMEIzRTFGRSAvKiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QTIwREI4MEY4NDE2NkMwMEIzRTFGRSAv
KiBXZWJDb3JlVVJMUmVzcG9uc2VJT1MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk0NEEyOEFBQzEyREZCOEFDMDBBRTkyM0IgLyogTWF0aE1MRWxl
bWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQ0QTI4QUFCMTJERkI4QUMwMEFFOTIzQiAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5oICov
OyB9OwogCQk0NEEyOEFBRjEyREZCOEJGMDBBRTkyM0IgLyogTWF0aE1MTmFtZXMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QTI4QUFFMTJERkI4QkYw
MEFFOTIzQiAvKiBNYXRoTUxOYW1lcy5oICovOyB9OwpAQCAtODIzNCw2ICs4MjM1LDcgQEAKIAkJ
NDQ5NkUzOUMxMzk4MTM2QzAwM0VFMzJBIC8qIEpTU1ZHQW5pbWF0ZU1vdGlvbkVsZW1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBbmltYXRlTW90aW9uRWxlbWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDk2RTM5RjEzOTgxM0E1MDAzRUUz
MkEgLyogSlNTVkdNUGF0aEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNTVkdNUGF0aEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ5
NkUzQTExMzk4MTNDQjAwM0VFMzJBIC8qIEpTU1ZHTVBhdGhFbGVtZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHTVBhdGhFbGVtZW50LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDQ5RDg2NEQyNjQwQzlCOTAwMDEyMkRFIC8qIEhpZ2hs
aWdodFZpc2liaWxpdHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlnaGxpZ2h0VmlzaWJpbGl0eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEEyMERCODBGODQxNjZDMDBCM0UxRkUgLyog
V2ViQ29yZVVSTFJlc3BvbnNlSU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkNvcmVVUkxSZXNwb25zZUlPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0
NEEyOEFBQjEyREZCOEFDMDBBRTkyM0IgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTWF0aE1MRWxlbWVudEZhY3RvcnkuaDsgcGF0aCA9
IERlcml2ZWRTb3VyY2VzL1dlYkNvcmUvTWF0aE1MRWxlbWVudEZhY3RvcnkuaDsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNDRBMjhBQUUxMkRGQjhCRjAwQUU5MjNCIC8q
IE1hdGhNTE5hbWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE1hdGhNTE5h
bWVzLmg7IHBhdGggPSBEZXJpdmVkU291cmNlcy9XZWJDb3JlL01hdGhNTE5hbWVzLmg7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC0yMDA1MCw2ICsyMDA1Miw3IEBACiAJ
CQkJNDRFODhFNTIyMzZBNjY3RjAwOUI0ODQ3IC8qIEhpZ2hsaWdodFJlZ2lzdGVyLmNwcCAqLywK
IAkJCQk0NEU4OEU1MDIzNkE1NkFDMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaCAqLywK
IAkJCQk0NEU4OEU0QzIzNjkxMjhBMDA5QjQ4NDcgLyogSGlnaGxpZ2h0UmVnaXN0ZXIuaWRsICov
LAorCQkJCTQ0OUQ4NjREMjY0MEM5QjkwMDAxMjJERSAvKiBIaWdobGlnaHRWaXNpYmlsaXR5Lmgg
Ki8sCiAJCQkpOwogCQkJcGF0aCA9IGhpZ2hsaWdodDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0zMTQyNSw2ICszMTQyOCw3IEBACiAJCQkJMzFBNzk1QzcxODg4QkNCMjAwMzgyRjkw
IC8qIEFOR0xFSW5zdGFuY2VkQXJyYXlzLmggaW4gSGVhZGVycyAqLywKIAkJCQk0OUU5MTJBQjBF
RkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUVGQ0VE
QzIwMkIzOEE5MDBEN0M0MTEgLyogQW5pbWF0aW9uRWZmZWN0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0NDlEODY0RjI2NDBDOUM1MDAwMTIyREUgLyogSGlnaGxpZ2h0VmlzaWJpbGl0eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzFFMkM0MjYyMUM5MzUyODAwMjRGOEM4IC8qIEFuaW1hdGlvbkVmZmVj
dFBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTk4NDgwMTFBMUQ4MTdCMDBBMTMzMTggLyog
QW5pbWF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxMUFEMTI2MjM2RDg2RTUwMDZG
RjM3QyAvKiBBbmltYXRpb25FdmVudEJhc2UuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCmluZGV4IDI2ZTZjODQyYTUxN2VkNDIyYzgy
NDIxN2Y4OWEyMWQyY2Y3NTAwY2IuLmUyY2FlMDI4MzI2ODJiZjc4YTFjOWVjODk4MTkyNzJmNjk5
NWU2ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKQEAg
LTkxMSwxNCArOTExLDE2IEBAIFZlY3RvcjxNYXJrZWRUZXh0PiBJbmxpbmVUZXh0Qm94Ojpjb2xs
ZWN0TWFya2VkVGV4dHNGb3JIaWdobGlnaHRzKFRleHRQYWludFBoYXNlCiAgICAgfQogI2lmIEVO
QUJMRShBUFBfSElHSExJR0hUUykKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9
IHJlbmRlcmVyKCkuZG9jdW1lbnQoKS5hcHBIaWdobGlnaHRSZWdpc3RlcklmRXhpc3RzKCkpIHsK
LSAgICAgICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGlnaHRSZWdpc3Rlci0+bWFw
KCkpIHsKLSAgICAgICAgICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVl
LT5yYW5nZXNEYXRhKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoIWhpZ2hsaWdodERhdGEuc2V0
UmVuZGVyUmFuZ2UocmFuZ2VEYXRhKSkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgIGlmIChhcHBIaWdobGlnaHRSZWdpc3Rlci0+aGlnaGxpZ2h0c1Zpc2liaWxpdHkoKSA9
PSBIaWdobGlnaHRWaXNpYmlsaXR5OjpWaXNpYmxlKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8m
IGhpZ2hsaWdodCA6IGFwcEhpZ2hsaWdodFJlZ2lzdGVyLT5tYXAoKSkgeworICAgICAgICAgICAg
ICAgIGZvciAoYXV0byYgcmFuZ2VEYXRhIDogaGlnaGxpZ2h0LnZhbHVlLT5yYW5nZXNEYXRhKCkp
IHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdl
KHJhbmdlRGF0YSkpCisgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAg
ICAgICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRFbmRdID0gaGlnaGxpZ2h0
U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7Ci0gICAgICAgICAgICAgICAgaWYgKGhpZ2hsaWdodFN0
YXJ0IDwgaGlnaGxpZ2h0RW5kKQotICAgICAgICAgICAgICAgICAgICBtYXJrZWRUZXh0cy5hcHBl
bmQoeyBoaWdobGlnaHRTdGFydCwgaGlnaGxpZ2h0RW5kLCBNYXJrZWRUZXh0OjpBcHBIaWdobGln
aHQgfSk7CisgICAgICAgICAgICAgICAgICAgIGF1dG8gW2hpZ2hsaWdodFN0YXJ0LCBoaWdobGln
aHRFbmRdID0gaGlnaGxpZ2h0U3RhcnRFbmQoaGlnaGxpZ2h0RGF0YSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmIChoaWdobGlnaHRTdGFydCA8IGhpZ2hsaWdodEVuZCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1hcmtlZFRleHRzLmFwcGVuZCh7IGhpZ2hsaWdodFN0YXJ0LCBoaWdobGlnaHRF
bmQsIE1hcmtlZFRleHQ6OkFwcEhpZ2hsaWdodCB9KTsKKyAgICAgICAgICAgICAgICB9CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcAppbmRleCA5ZjQ1ZmY0ZDZkNGRjNzJjNWE4YzI1OGI5YTBhNmU2Y2Y3
OTMzZmQ4Li4yYTkzOWNlNWJhODQwNzUzYmQ1OWYzNmIwNzJjM2FlOGM1M2QyZDRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTE0NSwxNyArMTQ1
LDE5IEBAIENvbG9yIFJlbmRlclJlcGxhY2VkOjpjYWxjdWxhdGVIaWdobGlnaHRDb2xvcigpIGNv
bnN0CiAgICAgSGlnaGxpZ2h0RGF0YSBoaWdobGlnaHREYXRhOwogI2lmIEVOQUJMRShBUFBfSElH
SExJR0hUUykKICAgICBpZiAoYXV0byBhcHBIaWdobGlnaHRSZWdpc3RlciA9IGRvY3VtZW50KCku
YXBwSGlnaGxpZ2h0UmVnaXN0ZXJJZkV4aXN0cygpKSB7Ci0gICAgICAgIGZvciAoYXV0byYgaGln
aGxpZ2h0IDogYXBwSGlnaGxpZ2h0UmVnaXN0ZXItPm1hcCgpKSB7Ci0gICAgICAgICAgICBmb3Ig
KGF1dG8mIHJhbmdlRGF0YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKCFoaWdobGlnaHREYXRhLnNldFJlbmRlclJhbmdlKHJhbmdlRGF0YSkp
Ci0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAoYXBwSGlnaGxpZ2h0
UmVnaXN0ZXItPmhpZ2hsaWdodHNWaXNpYmlsaXR5KCkgPT0gSGlnaGxpZ2h0VmlzaWJpbGl0eTo6
VmlzaWJsZSkgeworICAgICAgICAgICAgZm9yIChhdXRvJiBoaWdobGlnaHQgOiBhcHBIaWdobGln
aHRSZWdpc3Rlci0+bWFwKCkpIHsKKyAgICAgICAgICAgICAgICBmb3IgKGF1dG8mIHJhbmdlRGF0
YSA6IGhpZ2hsaWdodC52YWx1ZS0+cmFuZ2VzRGF0YSgpKSB7CisgICAgICAgICAgICAgICAgICAg
IGlmICghaGlnaGxpZ2h0RGF0YS5zZXRSZW5kZXJSYW5nZShyYW5nZURhdGEpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgICAgICBhdXRvIHN0YXRlID0g
aGlnaGxpZ2h0RGF0YS5oaWdobGlnaHRTdGF0ZUZvclJlbmRlcmVyKCp0aGlzKTsKLSAgICAgICAg
ICAgICAgICBpZiAoIWlzSGlnaGxpZ2h0ZWQoc3RhdGUsIGhpZ2hsaWdodERhdGEpKQotICAgICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgYXV0byBzdGF0ZSA9
IGhpZ2hsaWdodERhdGEuaGlnaGxpZ2h0U3RhdGVGb3JSZW5kZXJlcigqdGhpcyk7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghaXNIaWdobGlnaHRlZChzdGF0ZSwgaGlnaGxpZ2h0RGF0YSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgICAgIE9wdGlv
blNldDxTdHlsZUNvbG9yOjpPcHRpb25zPiBzdHlsZUNvbG9yT3B0aW9ucyA9IHsgU3R5bGVDb2xv
cjo6T3B0aW9uczo6VXNlU3lzdGVtQXBwZWFyYW5jZSB9OwotICAgICAgICAgICAgICAgIHJldHVy
biB0aGVtZSgpLmFwcEhpZ2hsaWdodENvbG9yKHN0eWxlQ29sb3JPcHRpb25zKTsKKyAgICAgICAg
ICAgICAgICAgICAgT3B0aW9uU2V0PFN0eWxlQ29sb3I6Ok9wdGlvbnM+IHN0eWxlQ29sb3JPcHRp
b25zID0geyBTdHlsZUNvbG9yOjpPcHRpb25zOjpVc2VTeXN0ZW1BcHBlYXJhbmNlIH07CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0aGVtZSgpLmFwcEhpZ2hsaWdodENvbG9yKHN0eWxlQ29s
b3JPcHRpb25zKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCA3MTFl
MDEyNjNlNGM1ZjFhYjFjMDZlOTMzNWVkMWVjMjFlNDZiMTU4Li45ZDhlZmFhNTMwMmY2OTdmYzk5
MjYzZGM5YTgyM2ZiNmFmYjVmMTgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTY5NCw2ICs2OTQsNyBAQCBkZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToK
ICAgICAgICAgJ1dlYkNvcmU6OkdyYW1tYXJEZXRhaWwnOiBbJzxXZWJDb3JlL1RleHRDaGVja2Vy
Q2xpZW50Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpIYXNJbnNlY3VyZUNvbnRlbnQnOiBbJzxX
ZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkhpZ2hsaWdo
dFJlcXVlc3RPcmlnaW5hdGVkSW5BcHAnOiBbJzxXZWJDb3JlL0FwcEhpZ2hsaWdodC5oPiddLAor
ICAgICAgICAnV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eSc6IFsnPFdlYkNvcmUvSGlnaGxp
Z2h0VmlzaWJpbGl0eS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SW5jbHVkZVNlY3VyZUNvb2tp
ZXMnOiBbJzxXZWJDb3JlL0Nvb2tpZUphci5oPiddLAogICAgICAgICAnV2ViQ29yZTo6SW5kZXhl
ZERCOjpPYmplY3RTdG9yZU92ZXJ3cml0ZU1vZGUnOiBbJzxXZWJDb3JlL0luZGV4ZWREQi5oPidd
LAogICAgICAgICAnV2ViQ29yZTo6SW5wdXRNb2RlJzogWyc8V2ViQ29yZS9JbnB1dE1vZGUuaD4n
XSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29j
b2EubW0KaW5kZXggZTM3YWRmOGU0N2E1MzMxMWU0M2EyNGYwZDUxMjQ2NTg4ZTU4ODJjZC4uOGVk
YzA4NWVmY2JmMjdkYjg5NTc0NmQ3YmQzZjRkN2NiNDFhYzhkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KQEAgLTU3Miw5ICs1
NzIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xs
VG9JbmRleChjb25zdCBWZWN0b3I8UmVmPFNoYXJlZE0KIAogICAgICAgICBtZW1vcnlIYW5kbGVz
LmFwcGVuZChTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSB7IFdURk1vdmUoaGFuZGxlKSwgaGlnaGxp
Z2h0LT5zaXplKCkgfSk7CiAgICAgfQorICAgIAorICAgIHNldFVwSGlnaGxpZ2h0c09ic2VydmVy
KCk7CiAKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpSZXN0b3JlQXBwSGlnaGxpZ2h0c0Fu
ZFNjcm9sbFRvSW5kZXgoV1RGTW92ZShtZW1vcnlIYW5kbGVzKSwgaW5kZXgpKTsKIH0KKwordm9p
ZCBXZWJQYWdlUHJveHk6OnNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KFdlYkNvcmU6OkhpZ2hs
aWdodFZpc2liaWxpdHkgYXBwSGlnaGxpZ2h0c1Zpc2liaWxpdHkpCit7CisgICAgaWYgKCFoYXNS
dW5uaW5nUHJvY2VzcygpKQorICAgICAgICByZXR1cm47CisKKyAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRBcHBIaWdobGlnaHRzVmlzaWJpbGl0eShhcHBIaWdobGlnaHRzVmlzaWJpbGl0
eSkpOworfQorCiAjZW5kaWYKIAogU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgV2ViUGFn
ZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nl
c3NQcm94eSYgcHJvY2VzcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggNWFmMjhiODJkM2I0NGM4ZDYxM2FhNmNkMzNkZDYzOTZiYzBjMWU1OC4uOTYxMzhiOTI2N2Rk
NzBkNDJiYTM2OGM4ZDM5MWI3ODRhMjgyMWQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTI2MCw2ICsyNjAsNyBAQCBlbnVtIGNsYXNzIEV2ZW50TWFrZXNHYW1l
cGFkc1Zpc2libGUgOiBib29sOwogZW51bSBjbGFzcyBMb2NrQmFja0ZvcndhcmRMaXN0IDogYm9v
bDsKIGVudW0gY2xhc3MgSGFzSW5zZWN1cmVDb250ZW50IDogYm9vbDsKIGVudW0gY2xhc3MgSGln
aGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCA6IGJvb2w7CitlbnVtIGNsYXNzIEhpZ2hsaWdo
dFZpc2liaWxpdHkgOiBib29sOwogZW51bSBjbGFzcyBNb3VzZUV2ZW50UG9saWN5IDogdWludDhf
dDsKIGVudW0gY2xhc3MgTm90aWZpY2F0aW9uRGlyZWN0aW9uIDogdWludDhfdDsKIGVudW0gY2xh
c3MgUm91dGVTaGFyaW5nUG9saWN5IDogdWludDhfdDsKQEAgLTE4OTAsNiArMTg5MSw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShXZWJDb3Jl
OjpDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCwgV2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9y
aWdpbmF0ZWRJbkFwcCk7CiAgICAgdm9pZCBzdG9yZUFwcEhpZ2hsaWdodChjb25zdCBXZWJDb3Jl
OjpBcHBIaWdobGlnaHQmKTsKICAgICB2b2lkIHJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xs
VG9JbmRleChjb25zdCBWZWN0b3I8UmVmPFdlYktpdDo6U2hhcmVkTWVtb3J5Pj4mIGhpZ2hsaWdo
dHMsIGNvbnN0IE9wdGlvbmFsPHVuc2lnbmVkPiBpbmRleCk7CisgICAgdm9pZCBzZXRBcHBIaWdo
bGlnaHRzVmlzaWJpbGl0eShjb25zdCBXZWJDb3JlOjpIaWdobGlnaHRWaXNpYmlsaXR5KTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGJlN2U3
NDE2MGMyY2FkMDlkMjdkYTkxYTJkNmJiZjY4YTk4NjYyMGUuLjM3MDk5NzczYTdmMzg0NjJhMWZh
NDIxMzI5YjQxMTEwNWJiMzc1YzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMzU3NSwxNCArMzU3NSw2
IEBAIFdFQkNPUkVfQ09NTUFORF9GT1JfV0VCVklFVyhwYXN0ZUFuZE1hdGNoU3R5bGUpOwogICAg
ICAgICB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKF90cmFuc3Bvc2UpKQogICAgICAgICByZXR1cm4g
ZWRpdG9yU3RhdGUuaXNDb250ZW50RWRpdGFibGU7CiAKLSNpZiBFTkFCTEUoQVBQX0hJR0hMSUdI
VFMpCi0gICAgaWYgKGFjdGlvbiA9PSBAc2VsZWN0b3IoY3JlYXRlSGlnaGxpZ2h0SW5DdXJyZW50
R3JvdXBXaXRoUmFuZ2U6KSB8fCBhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodElu
TmV3R3JvdXBXaXRoUmFuZ2U6KSkgewotICAgICAgICAvLyBGSVhNRTogSXQgZG9lc24ndCBzZWVt
IGxpa2UgdGhpcyBjb2RlcGF0aCBpcyBleGVyY2lzZWQsIHNpbmNlIFVJS2l0IG9ubHkgYXNrcyBm
b3IgdGhlIGFjdGlvbiB0YXJnZXQgZm9yIGN1c3RvbSBhY3Rpb25zCi0gICAgICAgIC8vIGFkZGVk
IHZpYSAtW1VJTWVudUNvbnRyb2xsZXIgc2V0TWVudUl0ZW1zOl0uIENhbiB3ZSByZW1vdmUgdGhp
cyBjaGVjaz8KLSAgICAgICAgcmV0dXJuIHNlbGYuc2hvdWxkQWxsb3dBcHBIaWdobGlnaHRDcmVh
dGlvbjsKLSAgICB9Ci0jZW5kaWYKLQogICAgIHJldHVybiBbX3dlYlZpZXcgY2FuUGVyZm9ybUFj
dGlvbjphY3Rpb24gd2l0aFNlbmRlcjpzZW5kZXJdOwogfQogCkBAIC0zNzc0LDggKzM3NjYsMTEg
QEAgV0VCQ09SRV9DT01NQU5EX0ZPUl9XRUJWSUVXKHBhc3RlQW5kTWF0Y2hTdHlsZSk7CiAtIChp
ZCl0YXJnZXRGb3JBY3Rpb246KFNFTClhY3Rpb24gd2l0aFNlbmRlcjooaWQpc2VuZGVyCiB7CiAj
aWYgRU5BQkxFKEFQUF9ISUdITElHSFRTKQotICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNy
ZWF0ZUhpZ2hsaWdodEluQ3VycmVudEdyb3VwV2l0aFJhbmdlOikgfHwgYWN0aW9uID09IEBzZWxl
Y3RvcihjcmVhdGVIaWdobGlnaHRJbk5ld0dyb3VwV2l0aFJhbmdlOikpCi0gICAgICAgIHJldHVy
biBzZWxmLnNob3VsZEFsbG93QXBwSGlnaGxpZ2h0Q3JlYXRpb24gPyBzZWxmIDogbmlsOworICAg
IGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodEluQ3VycmVudEdyb3VwV2l0
aFJhbmdlOikpCisgICAgICAgIHJldHVybiBzZWxmLnNob3VsZEFsbG93QXBwSGlnaGxpZ2h0Q3Jl
YXRpb24gJiYgX3BhZ2UtPmFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KCkgPyBzZWxmIDogbmlsOwor
ICAgIGlmIChhY3Rpb24gPT0gQHNlbGVjdG9yKGNyZWF0ZUhpZ2hsaWdodEluTmV3R3JvdXBXaXRo
UmFuZ2U6KSkKKyAgICAgICAgcmV0dXJuIHNlbGYuc2hvdWxkQWxsb3dBcHBIaWdobGlnaHRDcmVh
dGlvbiAmJiAhX3BhZ2UtPmFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KCkgPyBzZWxmIDogbmlsOwor
ICAgIAogI2VuZGlmCiAgICAgcmV0dXJuIFtfd2ViVmlldyB0YXJnZXRGb3JBY3Rpb246YWN0aW9u
IHdpdGhTZW5kZXI6c2VuZGVyXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggZjQ1N2M4NjRiM2QyM2EwYjBiNTU5YzZlODZlNmVkOTcyMmEy
Zjg5YS4uZjE3MGQ5ZWYzMTQ5NzQ4OTA5OTdjYmZlOWVlZjFkYmU2MjU4ODZmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc1MjIsNiArNzUy
MiwxNSBAQCB2b2lkIFdlYlBhZ2U6OnJlc3RvcmVBcHBIaWdobGlnaHRzQW5kU2Nyb2xsVG9JbmRl
eChjb25zdCBWZWN0b3I8U2hhcmVkTWVtb3J5OjpJUAogICAgICAgICBpKys7CiAgICAgfQogfQor
Cit2b2lkIFdlYlBhZ2U6OnNldEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KFdlYkNvcmU6OkhpZ2hs
aWdodFZpc2liaWxpdHkgYXBwSGlnaGxpZ2h0VmlzaWJpbGl0eSkKK3sKKyAgICBmb3IgKFJlZlB0
cjxGcmFtZT4gZnJhbWUgPSBtX21haW5GcmFtZS0+Y29yZUZyYW1lKCk7IGZyYW1lOyBmcmFtZSA9
IGZyYW1lLT50cmVlKCkudHJhdmVyc2VOZXh0UmVuZGVyZWQoKSkgeworICAgICAgICBpZiAoYXV0
byBkb2N1bWVudCA9IG1ha2VSZWZQdHIoZnJhbWUtPmRvY3VtZW50KCkpKQorICAgICAgICAgICAg
ZG9jdW1lbnQtPmFwcEhpZ2hsaWdodFJlZ2lzdGVyKCkuc2V0SGlnaGxpZ2h0VmlzaWJpbGl0eShh
cHBIaWdobGlnaHRWaXNpYmlsaXR5KTsKKyAgICB9Cit9CisKICNlbmRpZgogCiAjaWYgRU5BQkxF
KE1FRElBX1NFU1NJT05fQ09PUkRJTkFUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKaW5kZXggZmJiM2EwYTZlODM1YjVlNzhjOGYxNjE2YWJhNWU2NWRkNTc0
NDdkNS4uMzJmNjRlOWIwMTJhZDA0MzMzYjY4NmQyMDQ5NGNjOTg4NWMxZTBjZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMjE2LDYgKzIxNiw3IEBA
IGVudW0gY2xhc3MgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgOiB1aW50OF90OwogZW51bSBjbGFzcyBE
cmFnSGFuZGxpbmdNZXRob2QgOiB1aW50OF90OwogZW51bSBjbGFzcyBFdmVudE1ha2VzR2FtZXBh
ZHNWaXNpYmxlIDogYm9vbDsKIGVudW0gY2xhc3MgSGlnaGxpZ2h0UmVxdWVzdE9yaWdpbmF0ZWRJ
bkFwcCA6IGJvb2w7CitlbnVtIGNsYXNzIEhpZ2hsaWdodFZpc2liaWxpdHkgOiBib29sOwogZW51
bSBjbGFzcyBTZWxlY3Rpb25EaXJlY3Rpb24gOiB1aW50OF90OwogZW51bSBjbGFzcyBTaG91bGRU
cmVhdEFzQ29udGludWluZ0xvYWQgOiBib29sOwogZW51bSBjbGFzcyBUZXh0SW5kaWNhdG9yUHJl
c2VudGF0aW9uVHJhbnNpdGlvbiA6IHVpbnQ4X3Q7CkBAIC0xNDIwLDYgKzE0MjEsNyBAQCBwdWJs
aWM6CiAKICAgICBib29sIGNyZWF0ZUFwcEhpZ2hsaWdodEluU2VsZWN0ZWRSYW5nZShXZWJDb3Jl
OjpDcmVhdGVOZXdHcm91cEZvckhpZ2hsaWdodCwgV2ViQ29yZTo6SGlnaGxpZ2h0UmVxdWVzdE9y
aWdpbmF0ZWRJbkFwcCk7CiAgICAgdm9pZCByZXN0b3JlQXBwSGlnaGxpZ2h0c0FuZFNjcm9sbFRv
SW5kZXgoY29uc3QgVmVjdG9yPFNoYXJlZE1lbW9yeTo6SVBDSGFuZGxlPiYmLCBjb25zdCBPcHRp
b25hbDx1bnNpZ25lZD4gaW5kZXgpOworICAgIHZvaWQgc2V0QXBwSGlnaGxpZ2h0c1Zpc2liaWxp
dHkoY29uc3QgV2ViQ29yZTo6SGlnaGxpZ2h0VmlzaWJpbGl0eSk7CiAjZW5kaWYKIAogICAgIHZv
aWQgZGlzcGF0Y2hXaGVlbEV2ZW50V2l0aG91dFNjcm9sbGluZyhjb25zdCBXZWJXaGVlbEV2ZW50
JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCAzMWE2ZDdi
YmFiMzYwODRlMTdiYzA0MTkwMWQ3NTlkYjZiNTIyN2JiLi41YmJmYjc1NDk3M2RmNTk2MWNjMTA3
OTdkODIzOTk1ODY1Yjc0ZGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTYyOSw2ICs2MjksNyBAQCBHZW5lcmF0
ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0Vk
aXRpbmdDb21tYW5kVHlwZQogI2lmIEVOQUJMRShBUFBfSElHSExJR0hUUykKICAgICBDcmVhdGVB
cHBIaWdobGlnaHRJblNlbGVjdGVkUmFuZ2UoZW51bTpib29sIFdlYkNvcmU6OkNyZWF0ZU5ld0dy
b3VwRm9ySGlnaGxpZ2h0IGNyZWF0ZU5ld0dyb3VwLCBlbnVtOmJvb2wgV2ViQ29yZTo6SGlnaGxp
Z2h0UmVxdWVzdE9yaWdpbmF0ZWRJbkFwcCByZXF1ZXN0T3JpZ2luKQogICAgIFJlc3RvcmVBcHBI
aWdobGlnaHRzQW5kU2Nyb2xsVG9JbmRleChWZWN0b3I8V2ViS2l0OjpTaGFyZWRNZW1vcnk6OklQ
Q0hhbmRsZT4gbWVtb3J5SGFuZGxlcywgT3B0aW9uYWw8dW5zaWduZWQ+IGluZGV4KQorICAgIFNl
dEFwcEhpZ2hsaWdodHNWaXNpYmlsaXR5KGVudW06Ym9vbCBXZWJDb3JlOjpIaWdobGlnaHRWaXNp
YmlsaXR5IGhpZ2hsaWdodFZpc2liaWxpdHkpCiAjZW5kaWYKIAogICAgIERpc3BhdGNoV2hlZWxF
dmVudFdpdGhvdXRTY3JvbGxpbmcoV2ViS2l0OjpXZWJXaGVlbEV2ZW50IGV2ZW50KSAtPiAoYm9v
bCBoYW5kbGVkKSBBc3luYwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>