<?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>209572</bug_id>
          
          <creation_ts>2020-03-25 17:21:30 -0700</creation_ts>
          <short_desc>[css-grid] Problems when referencing grid line names with auto repeat()</short_desc>
          <delta_ts>2020-05-28 15:04:19 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.chromium.org/p/chromium/issues/detail?id=966090</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oriol Brufau">obrufau</reporter>
          <assigned_to name="Oriol Brufau">obrufau</assigned_to>
          <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jfernandez</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>rego</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1634124</commentid>
    <comment_count>0</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-25 17:21:30 -0700</bug_when>
    <thetext>There are some problems when referencing named grid lines with the presence of the auto repeat() syntax:

- If the 1st track is defined with auto repeat(), then the code assumes
  that the referenced line appears after the repeated tracks. But it may
  actually precede them.

- If the referenced line appears both inside and outside the auto
  repeat(), then it can resolve to the outside raw index, without
  expanding the auto repeat().

- The logic for placing a placement property set to both an integer and
  an identifier is wrong with auto repeat().

- The indices of both implicit grid lines defined in grid-template-areas
  and explicit ones defined in grid-template-rows/columns are stored
  together in NamedGridColumnLines and NamedGridRowLines. This is
  problematic because the former indices already refer to the final
  explicit grid so they don&apos;t have to be increased when expanding an
  auto repeat(), but the latter ones should.

This causes some WPT failures:

https://wpt.fyi/results/css/css-grid/placement/grid-placement-using-named-grid-lines-002.html
https://wpt.fyi/results/css/css-grid/placement/grid-placement-using-named-grid-lines-004.html
https://wpt.fyi/results/css/css-grid/placement/grid-placement-using-named-grid-lines-005.html

Chromium was already fixed in https://crbug.com/966090</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634126</commentid>
    <comment_count>1</comment_count>
      <attachid>394562</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-25 17:25:57 -0700</bug_when>
    <thetext>Created attachment 394562
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634132</commentid>
    <comment_count>2</comment_count>
      <attachid>394562</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-25 17:38:08 -0700</bug_when>
    <thetext>Comment on attachment 394562
Patch

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

Looks good assuming these new tests all pass.

&gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:76
&gt; +    m_implicitNamedLinesIndexes = implicitGridLinesIterator == implicitGridLineNames.end() ? nullptr : &amp;implicitGridLinesIterator-&gt;value;

It’s really risky to store a pointer to a value slot in a HashMap. If any change is made to the map, adding or removing anything, rehashing means the pointer can end up invalid. Worse, it’s basically unpredictable how often this will happen so you could do a lot of testing and never observe it. How does the new code and existing code protect itself from this?

&gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:93
&gt;  bool NamedLineCollection::contains(unsigned line) const

I’m concerned about how many times this loops through a vector. Seems like it could have poor performance, O(n^2), if we have a lot of these. There’s a reason we use maps and sets so much in WebKit. Sometimes they are bad for simple cases, but they help us avoid creating O(n^2) algorithms by accident. What prevents this from leading to pathological performance problems in large grids?

&gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:100
&gt; +    auto find = [](const Vector&lt;unsigned&gt;* indexes, size_t line) {

Normally we’d call this operation &quot;contains&quot; rather than &quot;find&quot; since it returns a boolean.

Why are we mixing unsigned and size_t for line? Should just use unsigned.

&gt; Source/WebCore/rendering/style/GridPositionsResolver.h:62
&gt; +    const Vector&lt;unsigned&gt;* m_implicitNamedLinesIndexes = { nullptr };

Don’t need the &quot;=&quot; here. The two lines above don’t have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634137</commentid>
    <comment_count>3</comment_count>
      <attachid>394564</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-25 18:00:40 -0700</bug_when>
    <thetext>Created attachment 394564
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634144</commentid>
    <comment_count>4</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-25 18:31:58 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #2)
&gt; Comment on attachment 394562 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394562&amp;action=review
&gt; 
&gt; Looks good assuming these new tests all pass.

They pass locally.

&gt; &gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:76
&gt; &gt; +    m_implicitNamedLinesIndexes = implicitGridLinesIterator == implicitGridLineNames.end() ? nullptr : &amp;implicitGridLinesIterator-&gt;value;
&gt; 
&gt; It’s really risky to store a pointer to a value slot in a HashMap. If any
&gt; change is made to the map, adding or removing anything, rehashing means the
&gt; pointer can end up invalid. Worse, it’s basically unpredictable how often
&gt; this will happen so you could do a lot of testing and never observe it. How
&gt; does the new code and existing code protect itself from this?

Not completely sure. I didn&apos;t write the existing code, now I&apos;m just trying to copy that.
But layout only has acces to a const RenderStyle, so it seems unlikely for the map to change.

&gt; &gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:93
&gt; &gt;  bool NamedLineCollection::contains(unsigned line) const
&gt; 
&gt; I’m concerned about how many times this loops through a vector. Seems like
&gt; it could have poor performance, O(n^2), if we have a lot of these. There’s a
&gt; reason we use maps and sets so much in WebKit. Sometimes they are bad for
&gt; simple cases, but they help us avoid creating O(n^2) algorithms by accident.
&gt; What prevents this from leading to pathological performance problems in
&gt; large grids?

Can you clarify the O(n^2)? It seems to me that the worst that can happen is that
we may iterate all m_implicitNamedLinesIndexes, m_namedLinesIndexes, and
m_autoRepeatNamedLinesIndexes. If each vector has size n, wouldn&apos;t that be O(3n)?

&gt; &gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:100
&gt; &gt; +    auto find = [](const Vector&lt;unsigned&gt;* indexes, size_t line) {
&gt; 
&gt; Normally we’d call this operation &quot;contains&quot; rather than &quot;find&quot; since it
&gt; returns a boolean.

Done.

&gt; Why are we mixing unsigned and size_t for line? Should just use unsigned.

Done.

&gt; 
&gt; &gt; Source/WebCore/rendering/style/GridPositionsResolver.h:62
&gt; &gt; +    const Vector&lt;unsigned&gt;* m_implicitNamedLinesIndexes = { nullptr };
&gt; 
&gt; Don’t need the &quot;=&quot; here. The two lines above don’t have it.

Done.

Also added some initializing stuff in StyleGridData.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634154</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-25 18:58:20 -0700</bug_when>
    <thetext>(In reply to Oriol Brufau from comment #4)
&gt; &gt; &gt; Source/WebCore/rendering/style/GridPositionsResolver.cpp:93
&gt; &gt; &gt;  bool NamedLineCollection::contains(unsigned line) const
&gt; &gt; 
&gt; &gt; I’m concerned about how many times this loops through a vector. Seems like
&gt; &gt; it could have poor performance, O(n^2), if we have a lot of these. There’s a
&gt; &gt; reason we use maps and sets so much in WebKit. Sometimes they are bad for
&gt; &gt; simple cases, but they help us avoid creating O(n^2) algorithms by accident.
&gt; &gt; What prevents this from leading to pathological performance problems in
&gt; &gt; large grids?
&gt; 
&gt; Can you clarify the O(n^2)? It seems to me that the worst that can happen is
&gt; that
&gt; we may iterate all m_implicitNamedLinesIndexes, m_namedLinesIndexes, and
&gt; m_autoRepeatNamedLinesIndexes. If each vector has size n, wouldn&apos;t that be
&gt; O(3n)?

I’m assuming the number of times this contains function is called is also proportion to the size of the grid/document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634307</commentid>
    <comment_count>6</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-26 07:13:38 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; I’m assuming the number of times this contains function is called is also
&gt; proportion to the size of the grid/document.

Ah, you mean having a grid with n named lines and n grid items referencing named lines. Then yes, it seems O(n^2), but that was already the case before this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634389</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-26 10:04:28 -0700</bug_when>
    <thetext>(In reply to Oriol Brufau from comment #6)
&gt; (In reply to Darin Adler from comment #5)
&gt; &gt; I’m assuming the number of times this contains function is called is also
&gt; &gt; proportion to the size of the grid/document.
&gt; 
&gt; Ah, you mean having a grid with n named lines and n grid items referencing
&gt; named lines. Then yes, it seems O(n^2), but that was already the case before
&gt; this patch.

That’s right. I wasn’t limiting my remarks to the patch, but rather about the algorithms in the code including but not limited to the new bits in the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634460</commentid>
    <comment_count>8</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-26 11:42:30 -0700</bug_when>
    <thetext>(In reply to Oriol Brufau from comment #6)
&gt; Ah, you mean having a grid with n named lines and n grid items referencing
&gt; named lines. Then yes, it seems O(n^2), but that was already the case before
&gt; this patch.

Looking better at it, with a single grid item suffices.
Because lookAheadForNamedGridLine and lookBackForNamedGridLine call NamedLineCollection::contains in a loop.
So using &apos;grid-column: foo n&apos; means n calls, each of which iterates the vectors.
This should definitely be addressed before increasing the maximum number of tracks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1635646</commentid>
    <comment_count>9</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-03-30 12:23:19 -0700</bug_when>
    <thetext>*** Bug 209756 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656646</commentid>
    <comment_count>10</comment_count>
      <attachid>400396</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-05-27 15:48:39 -0700</bug_when>
    <thetext>Created attachment 400396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656648</commentid>
    <comment_count>11</comment_count>
      <attachid>400397</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-05-27 15:51:49 -0700</bug_when>
    <thetext>Created attachment 400397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1656655</commentid>
    <comment_count>12</comment_count>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-05-27 16:01:59 -0700</bug_when>
    <thetext>I have rebased the patch and included https://crrev.com/771984

Darin, regarding the HashMap value pointers, are you fine with deferring their substitution to another bug? They are already being used right now anyways, I&apos;m only adding a 3rd one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657008</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-28 14:00:23 -0700</bug_when>
    <thetext>/Volumes/Data/worker/Commit-Queue/build/LayoutTests/imported/w3c/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657020</commentid>
    <comment_count>14</comment_count>
      <attachid>400505</attachid>
    <who name="Oriol Brufau">obrufau</who>
    <bug_when>2020-05-28 14:33:54 -0700</bug_when>
    <thetext>Created attachment 400505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657033</commentid>
    <comment_count>15</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-05-28 15:03:39 -0700</bug_when>
    <thetext>Committed r262262: &lt;https://trac.webkit.org/changeset/262262&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 400505.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1657034</commentid>
    <comment_count>16</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-28 15:04:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/63734311&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394562</attachid>
            <date>2020-03-25 17:25:57 -0700</date>
            <delta_ts>2020-03-25 18:00:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209572-20200326012555.patch</filename>
            <type>text/plain</type>
            <size>34586</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEwNzcwMWUxMTdiMGFi
MDVjNGJlODk0MmM2Y2Y3NDhlMDUwOWZmOS4uODQyZWFjZjlhM2E4YmY3MTY5ZDg4N2YzMGE0NmNk
OTJmNTM1N2ZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAzLTI1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXgg
cmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBt
dWx0aXBsZSBwcm9ibGVtcyB3aGVuIHJlZmVyZW5jaW5nIG5hbWVkIGdyaWQgbGluZXMgd2l0aCB0
aGUgcHJlc2VuY2Ugb2YKKyAgICAgICAgdGhlIGF1dG8gcmVwZWF0KCkgc3ludGF4OgorCisgICAg
ICAgICAgLSBJZiB0aGUgMXN0IHRyYWNrIHdhcyBkZWZpbmVkIHdpdGggYXV0byByZXBlYXQoKSwg
dGhlbiB0aGUgY29kZSB1c2VkIHRvIGFzc3VtZSB0aGF0IHRoZQorICAgICAgICAgICAgcmVmZXJl
bmNlZCBsaW5lIGFwcGVhcmVkIGFmdGVyIHRoZSByZXBlYXRlZCB0cmFja3MuIEJ1dCBpdCBtYXkg
YWN0dWFsbHkgcHJlY2VkZSB0aGVtLgorCisgICAgICAgICAgLSBJZiB0aGUgcmVmZXJlbmNlZCBs
aW5lIGFwcGVhcmVkIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBhdXRvIHJlcGVhdCgpLCB0
aGVuIGl0CisgICAgICAgICAgICBjb3VsZCByZXNvbHZlIHRvIHRoZSBvdXRzaWRlIHJhdyBpbmRl
eCwgd2l0aG91dCBleHBhbmRpbmcgdGhlIGF1dG8gcmVwZWF0KCkuCisKKyAgICAgICAgICAtIFRo
ZSBsb2dpYyBmb3IgcGxhY2luZyBhIHBsYWNlbWVudCBwcm9wZXJ0eSBzZXQgdG8gYm90aCBhbiBp
bnRlZ2VyIGFuZCBhbiBpZGVudGlmaWVyCisgICAgICAgICAgICB3YXMgd3Jvbmcgd2l0aCBhdXRv
IHJlcGVhdCgpLgorICAgICAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUg
c2FtZSBwcm9wZXIgbG9naWMgdGhhdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbgorICAgICAg
ICAgICAgT3JkZXJlZE5hbWVkTGluZXNDb2xsZWN0b3JJbkdyaWRMYXlvdXQ6OmNvbGxlY3RMaW5l
TmFtZXNGb3JJbmRleAorCisgICAgICAgICAgLSBUaGUgaW5kaWNlcyBvZiBib3RoIGltcGxpY2l0
IGdyaWQgbGluZXMgZGVmaW5lZCB3aXRoIGdyaWQtdGVtcGxhdGUtYXJlYXMgYW5kIGV4cGxpY2l0
CisgICAgICAgICAgICBvbmVzIGRlZmluZWQgd2l0aCBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1u
cyB1c2VkIHRvIGJlIHN0b3JlZCB0b2dldGhlciBpbgorICAgICAgICAgICAgTmFtZWRHcmlkQ29s
dW1uTGluZXMgYW5kIE5hbWVkR3JpZFJvd0xpbmVzLiBUaGlzIHdhcyBwcm9ibGVtYXRpYyBiZWNh
dXNlIHRoZSBmb3JtZXIKKyAgICAgICAgICAgIGluZGljZXMgYWxyZWFkeSByZWZlciB0byB0aGUg
ZmluYWwgZXhwbGljaXQgZ3JpZCBzbyB0aGV5IGRvbid0IGhhdmUgdG8gYmUgaW5jcmVhc2VkIHdo
ZW4KKyAgICAgICAgICAgIGV4cGFuZGluZyBhbiBhdXRvIHJlcGVhdCgpLCBidXQgdGhlIGxhdHRl
ciBvbmVzIHNob3VsZC4KKyAgICAgICAgICAgIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBzdG9yZXMg
dGhlIGluZGljZXMgaW4gc2VwYXJhdGUgZmllbGRzIGFuZCB1c2VzIHRoZSBjb3JyZWN0IGxvZ2lj
CisgICAgICAgICAgICBmb3IgZWFjaCBvbmUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQt
cGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9n
cmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNS5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246Omhhc0V4cGxpY2l0TmFtZWRMaW5l
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpoYXNOYW1l
ZExpbmVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246OmNv
bnRhaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246OmZp
cnN0RXhwbGljaXRQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVD
b2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW1wbGljaXROYW1l
ZEdyaWRDb2x1bW5MaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
aW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlR3JpZERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVp
bGRlckN1c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFw
cGx5VmFsdWVHcmlkVGVtcGxhdGVBcmVhcyk6CisKIDIwMjAtMDMtMjUgIFNpbW9uIEZyYXNlciAg
PHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIENvbXBvc2l0aW5nQ2hh
bmdlUmVwYWludCB3aGljaCB3YXMgYWx3YXlzIENvbXBvc2l0aW5nQ2hhbmdlUmVwYWludE5vdwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNS
ZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9u
c1Jlc29sdmVyLmNwcAppbmRleCAzZDk5ODEzMTYyNTRmZWM3MmEzMDdhNzdiZmYwN2ZjZjQzZDZj
YzU1Li5hMDZmODZhNGZkZDA5ZWM5OGRlY2JmYTQxZWM3MTEyYzM1MWQxZDlmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29s
dmVyLmNwcApAQCAtNjQsNiArNjQsNyBAQCBOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVD
b2xsZWN0aW9uKGNvbnN0IFJlbmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUsCiAgICAgYm9v
bCBpc1Jvd0F4aXMgPSBkaXJlY3Rpb24gPT0gRm9yQ29sdW1uczsKICAgICBjb25zdCBOYW1lZEdy
aWRMaW5lc01hcCYgZ3JpZExpbmVOYW1lcyA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHls
ZS5uYW1lZEdyaWRDb2x1bW5MaW5lcygpIDogZ3JpZENvbnRhaW5lclN0eWxlLm5hbWVkR3JpZFJv
d0xpbmVzKCk7CiAgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGF1dG9SZXBlYXRHcmlkTGlu
ZU5hbWVzID0gaXNSb3dBeGlzID8gZ3JpZENvbnRhaW5lclN0eWxlLmF1dG9SZXBlYXROYW1lZEdy
aWRDb2x1bW5MaW5lcygpIDogZ3JpZENvbnRhaW5lclN0eWxlLmF1dG9SZXBlYXROYW1lZEdyaWRS
b3dMaW5lcygpOworICAgIGNvbnN0IE5hbWVkR3JpZExpbmVzTWFwJiBpbXBsaWNpdEdyaWRMaW5l
TmFtZXMgPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVyU3R5bGUuaW1wbGljaXROYW1lZEdyaWRD
b2x1bW5MaW5lcygpIDogZ3JpZENvbnRhaW5lclN0eWxlLmltcGxpY2l0TmFtZWRHcmlkUm93TGlu
ZXMoKTsKIAogICAgIGF1dG8gbGluZXNJdGVyYXRvciA9IGdyaWRMaW5lTmFtZXMuZmluZChuYW1l
ZExpbmUpOwogICAgIG1fbmFtZWRMaW5lc0luZGV4ZXMgPSBsaW5lc0l0ZXJhdG9yID09IGdyaWRM
aW5lTmFtZXMuZW5kKCkgPyBudWxscHRyIDogJmxpbmVzSXRlcmF0b3ItPnZhbHVlOwpAQCAtNzEs
NjggKzcyLDg0IEBAIE5hbWVkTGluZUNvbGxlY3Rpb246Ok5hbWVkTGluZUNvbGxlY3Rpb24oY29u
c3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwKICAgICBhdXRvIGF1dG9SZXBlYXRM
aW5lc0l0ZXJhdG9yID0gYXV0b1JlcGVhdEdyaWRMaW5lTmFtZXMuZmluZChuYW1lZExpbmUpOwog
ICAgIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzID0gYXV0b1JlcGVhdExpbmVzSXRlcmF0
b3IgPT0gYXV0b1JlcGVhdEdyaWRMaW5lTmFtZXMuZW5kKCkgPyBudWxscHRyIDogJmF1dG9SZXBl
YXRMaW5lc0l0ZXJhdG9yLT52YWx1ZTsKIAorICAgIGF1dG8gaW1wbGljaXRHcmlkTGluZXNJdGVy
YXRvciA9IGltcGxpY2l0R3JpZExpbmVOYW1lcy5maW5kKG5hbWVkTGluZSk7CisgICAgbV9pbXBs
aWNpdE5hbWVkTGluZXNJbmRleGVzID0gaW1wbGljaXRHcmlkTGluZXNJdGVyYXRvciA9PSBpbXBs
aWNpdEdyaWRMaW5lTmFtZXMuZW5kKCkgPyBudWxscHRyIDogJmltcGxpY2l0R3JpZExpbmVzSXRl
cmF0b3ItPnZhbHVlOworCiAgICAgbV9pbnNlcnRpb25Qb2ludCA9IGlzUm93QXhpcyA/IGdyaWRD
b250YWluZXJTdHlsZS5ncmlkQXV0b1JlcGVhdENvbHVtbnNJbnNlcnRpb25Qb2ludCgpIDogZ3Jp
ZENvbnRhaW5lclN0eWxlLmdyaWRBdXRvUmVwZWF0Um93c0luc2VydGlvblBvaW50KCk7CiAKICAg
ICBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGggPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVy
U3R5bGUuZ3JpZEF1dG9SZXBlYXRDb2x1bW5zKCkuc2l6ZSgpIDogZ3JpZENvbnRhaW5lclN0eWxl
LmdyaWRBdXRvUmVwZWF0Um93cygpLnNpemUoKTsKIH0KIAotYm9vbCBOYW1lZExpbmVDb2xsZWN0
aW9uOjpoYXNOYW1lZExpbmVzKCkgY29uc3QKK2Jvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6aGFz
RXhwbGljaXROYW1lZExpbmVzKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5k
ZXhlcyB8fCBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlczsKIH0KIAotc2l6ZV90IE5hbWVk
TGluZUNvbGxlY3Rpb246OmZpbmQodW5zaWduZWQgbGluZSkgY29uc3QKK2Jvb2wgTmFtZWRMaW5l
Q29sbGVjdGlvbjo6aGFzTmFtZWRMaW5lcygpIGNvbnN0CiB7Ci0gICAgaWYgKGxpbmUgPiBtX2xh
c3RMaW5lKQotICAgICAgICByZXR1cm4gbm90Rm91bmQ7Ci0KLSAgICBpZiAoIW1fYXV0b1JlcGVh
dE5hbWVkTGluZXNJbmRleGVzIHx8IGxpbmUgPCBtX2luc2VydGlvblBvaW50KQotICAgICAgICBy
ZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcyA/IG1fbmFtZWRMaW5lc0luZGV4ZXMtPmZpbmQobGlu
ZSkgOiBub3RGb3VuZDsKLQotICAgIGlmIChsaW5lIDw9IChtX2luc2VydGlvblBvaW50ICsgbV9h
dXRvUmVwZWF0VG90YWxUcmFja3MpKSB7Ci0gICAgICAgIHNpemVfdCBsb2NhbEluZGV4ID0gbGlu
ZSAtIG1faW5zZXJ0aW9uUG9pbnQ7Ci0KLSAgICAgICAgc2l6ZV90IGluZGV4SW5GaXJzdFJlcGV0
aXRpb24gPSBsb2NhbEluZGV4ICUgbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoOwotICAgICAg
ICBpZiAoaW5kZXhJbkZpcnN0UmVwZXRpdGlvbikKLSAgICAgICAgICAgIHJldHVybiBtX2F1dG9S
ZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+ZmluZChpbmRleEluRmlyc3RSZXBldGl0aW9uKTsKLQot
ICAgICAgICAvLyBUaGUgbGluZSBuYW1lcyBkZWZpbmVkIGluIHRoZSBsYXN0IGxpbmUgYXJlIGFs
c28gcHJlc2VudCBpbiB0aGUgZmlyc3QgbGluZSBvZiB0aGUgbmV4dAotICAgICAgICAvLyByZXBl
dGl0aW9uIChpZiBhbnkpLiBTYW1lIGZvciB0aGUgbGluZSBuYW1lcyBkZWZpbmVkIGluIHRoZSBm
aXJzdCBsaW5lLgotICAgICAgICBpZiAobG9jYWxJbmRleCA9PSBtX2F1dG9SZXBlYXRUb3RhbFRy
YWNrcykKLSAgICAgICAgICAgIHJldHVybiBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+
ZmluZChtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgpOwotICAgICAgICBzaXplX3QgcG9zaXRp
b24gPSBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+ZmluZCgwdSk7Ci0gICAgICAgIGlm
IChwb3NpdGlvbiAhPSBub3RGb3VuZCkKLSAgICAgICAgICAgIHJldHVybiBwb3NpdGlvbjsKLSAg
ICAgICAgcmV0dXJuIGxvY2FsSW5kZXggPyBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+
ZmluZChtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgpIDogbm90Rm91bmQ7Ci0gICAgfQotCi0g
ICAgcmV0dXJuIG1fbmFtZWRMaW5lc0luZGV4ZXMgPyBtX25hbWVkTGluZXNJbmRleGVzLT5maW5k
KGxpbmUgLSAobV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxKSkgOiBub3RGb3VuZDsKKyAgICBy
ZXR1cm4gaGFzRXhwbGljaXROYW1lZExpbmVzKCkgfHwgbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRl
eGVzOwogfQogCiBib29sIE5hbWVkTGluZUNvbGxlY3Rpb246OmNvbnRhaW5zKHVuc2lnbmVkIGxp
bmUpIGNvbnN0CiB7CiAgICAgQVNTRVJUKGhhc05hbWVkTGluZXMoKSk7Ci0gICAgcmV0dXJuIGZp
bmQobGluZSkgIT0gbm90Rm91bmQ7CisKKyAgICBpZiAobGluZSA+IG1fbGFzdExpbmUpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgIGF1dG8gZmluZCA9IFtdKGNvbnN0IFZlY3Rvcjx1bnNp
Z25lZD4qIGluZGV4ZXMsIHNpemVfdCBsaW5lKSB7CisgICAgICAgIHJldHVybiBpbmRleGVzICYm
IGluZGV4ZXMtPmZpbmQobGluZSkgIT0gbm90Rm91bmQ7CisgICAgfTsKKworICAgIGlmIChmaW5k
KG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcywgbGluZSkpCisgICAgICAgIHJldHVybiB0cnVl
OworCisgICAgaWYgKCFtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGggfHwgbGluZSA8IG1faW5z
ZXJ0aW9uUG9pbnQpCisgICAgICAgIHJldHVybiBmaW5kKG1fbmFtZWRMaW5lc0luZGV4ZXMsIGxp
bmUpOworCisgICAgQVNTRVJUKG1fYXV0b1JlcGVhdFRvdGFsVHJhY2tzKTsKKworICAgIGlmIChs
aW5lID4gbV9pbnNlcnRpb25Qb2ludCArIG1fYXV0b1JlcGVhdFRvdGFsVHJhY2tzKQorICAgICAg
ICByZXR1cm4gZmluZChtX25hbWVkTGluZXNJbmRleGVzLCBsaW5lIC0gKG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzIC0gMSkpOworCisgICAgaWYgKGxpbmUgPT0gbV9pbnNlcnRpb25Qb2ludCkKKyAg
ICAgICAgcmV0dXJuIGZpbmQobV9uYW1lZExpbmVzSW5kZXhlcywgbGluZSkgfHwgZmluZChtX2F1
dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcywgMCk7CisKKyAgICBpZiAobGluZSA9PSBtX2luc2Vy
dGlvblBvaW50ICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MpCisgICAgICAgIHJldHVybiBmaW5k
KG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLCBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5n
dGgpIHx8IGZpbmQobV9uYW1lZExpbmVzSW5kZXhlcywgbV9pbnNlcnRpb25Qb2ludCArIDEpOwor
CisgICAgc2l6ZV90IGF1dG9SZXBlYXRJbmRleEluRmlyc3RSZXBldGl0aW9uID0gKGxpbmUgLSBt
X2luc2VydGlvblBvaW50KSAlIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aDsKKyAgICBpZiAo
IWF1dG9SZXBlYXRJbmRleEluRmlyc3RSZXBldGl0aW9uICYmIGZpbmQobV9hdXRvUmVwZWF0TmFt
ZWRMaW5lc0luZGV4ZXMsIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBmaW5kKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
LCBhdXRvUmVwZWF0SW5kZXhJbkZpcnN0UmVwZXRpdGlvbik7CiB9CiAKLXVuc2lnbmVkIE5hbWVk
TGluZUNvbGxlY3Rpb246OmZpcnN0UG9zaXRpb24oKSBjb25zdAordW5zaWduZWQgTmFtZWRMaW5l
Q29sbGVjdGlvbjo6Zmlyc3RFeHBsaWNpdFBvc2l0aW9uKCkgY29uc3QKIHsKLSAgICBBU1NFUlQo
aGFzTmFtZWRMaW5lcygpKTsKKyAgICBBU1NFUlQoaGFzRXhwbGljaXROYW1lZExpbmVzKCkpOwog
ICAgIHVuc2lnbmVkIGZpcnN0TGluZSA9IDA7CiAKLSAgICBpZiAoIW1fYXV0b1JlcGVhdE5hbWVk
TGluZXNJbmRleGVzKSB7Ci0gICAgICAgIGlmICghbV9pbnNlcnRpb25Qb2ludCB8fCBtX2luc2Vy
dGlvblBvaW50IDwgbV9uYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSkKLSAgICAgICAg
ICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsgKG1fYXV0b1Jl
cGVhdFRvdGFsVHJhY2tzID8gbV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxIDogMCk7CisgICAg
Ly8gSWYgdGhlcmUgaXMgbm8gYXV0byByZXBlYXQoKSwgdGhlcmUgbXVzdCBiZSBzb21lIG5hbWVk
IGxpbmUgb3V0c2lkZSwgcmV0dXJuIHRoZSAxc3Qgb25lLiBBbHNvIHJldHVybiBpdCBpZiBpdCBw
cmVjZWRlcyB0aGUgYXV0by1yZXBlYXQoKS4KKyAgICBpZiAoIW1fYXV0b1JlcGVhdFRyYWNrTGlz
dExlbmd0aCB8fCAobV9uYW1lZExpbmVzSW5kZXhlcyAmJiBtX25hbWVkTGluZXNJbmRleGVzLT5h
dChmaXJzdExpbmUpIDw9IG1faW5zZXJ0aW9uUG9pbnQpKQogICAgICAgICByZXR1cm4gbV9uYW1l
ZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKTsKLSAgICB9CiAKLSAgICBpZiAoIW1fbmFtZWRM
aW5lc0luZGV4ZXMpCisgICAgLy8gUmV0dXJuIHRoZSAxc3QgbmFtZWQgbGluZSBpbnNpZGUgdGhl
IGF1dG8gcmVwZWF0KCksIGlmIGFueS4KKyAgICBpZiAobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0lu
ZGV4ZXMpCiAgICAgICAgIHJldHVybiBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+YXQo
Zmlyc3RMaW5lKSArIG1faW5zZXJ0aW9uUG9pbnQ7CiAKLSAgICBpZiAoIW1faW5zZXJ0aW9uUG9p
bnQpCi0gICAgICAgIHJldHVybiBzdGQ6Om1pbihtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJz
dExpbmUpICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MsIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJ
bmRleGVzLT5hdChmaXJzdExpbmUpKTsKKyAgICAvLyBUaGUgMXN0IG5hbWVkIGxpbmUgbXVzdCBi
ZSBhZnRlciB0aGUgYXV0byByZXBlYXQoKS4KKyAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhl
cy0+YXQoZmlyc3RMaW5lKSArIG1fYXV0b1JlcGVhdFRvdGFsVHJhY2tzIC0gMTsKK30KIAotICAg
IHJldHVybiBzdGQ6Om1pbihtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpLCBtX2F1
dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSArIG1faW5zZXJ0aW9uUG9p
bnQpOwordW5zaWduZWQgTmFtZWRMaW5lQ29sbGVjdGlvbjo6Zmlyc3RQb3NpdGlvbigpIGNvbnN0
Cit7CisgICAgQVNTRVJUKGhhc05hbWVkTGluZXMoKSk7CisgICAgdW5zaWduZWQgZmlyc3RMaW5l
ID0gMDsKKyAgICBpZiAoIW1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcykKKyAgICAgICAgcmV0
dXJuIGZpcnN0RXhwbGljaXRQb3NpdGlvbigpOworICAgIGlmICghaGFzRXhwbGljaXROYW1lZExp
bmVzKCkpCisgICAgICAgIHJldHVybiBtX2ltcGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZp
cnN0TGluZSk7CisgICAgcmV0dXJuIHN0ZDo6bWluKGZpcnN0RXhwbGljaXRQb3NpdGlvbigpLCBt
X2ltcGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkpOwogfQogCiBzdGF0aWMg
dm9pZCBhZGp1c3RHcmlkUG9zaXRpb25zRnJvbVN0eWxlKGNvbnN0IFJlbmRlckJveCYgZ3JpZEl0
ZW0sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIEdyaWRQb3NpdGlvbiYgaW5p
dGlhbFBvc2l0aW9uLCBHcmlkUG9zaXRpb24mIGZpbmFsUG9zaXRpb24pCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmgKaW5k
ZXggOGNhMjA5YjZhYzNhMTdiNzk0Njg5OTJkMDE0Y2FkNDliOWMwYjQ4NC4uMjA2ZWNlNmVjNzEz
MTA4YjdlZmI5YzQ3ZWRkMDk2MmQ3MWYxYjhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaApAQCAtNTQsMTAgKzU0
LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGNvbnRhaW5zKHVuc2lnbmVkIGxpbmUpIGNvbnN0Owog
CiBwcml2YXRlOgotICAgIHNpemVfdCBmaW5kKHVuc2lnbmVkIGxpbmUpIGNvbnN0OworICAgIGJv
b2wgaGFzRXhwbGljaXROYW1lZExpbmVzKCkgY29uc3Q7CisgICAgdW5zaWduZWQgZmlyc3RFeHBs
aWNpdFBvc2l0aW9uKCkgY29uc3Q7CiAKICAgICBjb25zdCBWZWN0b3I8dW5zaWduZWQ+KiBtX25h
bWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OwogICAgIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4q
IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OworICAgIGNvbnN0IFZl
Y3Rvcjx1bnNpZ25lZD4qIG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcyA9IHsgbnVsbHB0ciB9
OwogCiAgICAgdW5zaWduZWQgbV9pbnNlcnRpb25Qb2ludDsKICAgICB1bnNpZ25lZCBtX2xhc3RM
aW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0
eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRl
eCA1NmYwMzYxZTljZDUxNGYxOTk0ZjBiMmE1ZWQzODBhNjkxODQ2MzZlLi5jNWY5MzBmZWJjMThk
NjI4OTg0ZTljOTZmMWVhNmM3OTg1MzRiMDk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvUmVuZGVyU3R5bGUuaApAQCAtNTM5LDYgKzUzOSw4IEBAIHB1YmxpYzoKICAgICBj
b25zdCBOYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE5hbWVk
R3JpZFJvd0xpbmVzOyB9CiAgICAgY29uc3QgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwJiBhdXRv
UmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5M
aW5lczsgfQogICAgIGNvbnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE9y
ZGVyZWROYW1lZEdyaWRSb3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmdyaWQtPmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7IH0KKyAgICBj
b25zdCBOYW1lZEdyaWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIGNv
bnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxpY2l0TmFtZWRH
cmlkQ29sdW1uTGluZXM7IH0KKyAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgaW1wbGljaXRO
YW1lZEdyaWRSb3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmdyaWQtPmltcGxpY2l0TmFtZWRHcmlkUm93TGluZXM7IH0KICAgICBjb25zdCBOYW1lZEdyaWRB
cmVhTWFwJiBuYW1lZEdyaWRBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Z3JpZC0+bmFtZWRHcmlkQXJlYTsgfQogICAgIHNpemVfdCBuYW1lZEdyaWRBcmVhUm93
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5uYW1l
ZEdyaWRBcmVhUm93Q291bnQ7IH0KICAgICBzaXplX3QgbmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50
KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+bmFtZWRHcmlk
QXJlYUNvbHVtbkNvdW50OyB9CkBAIC0xMTEwLDYgKzExMTIsOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRBdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMoY29uc3QgTmFtZWRHcmlkTGluZXNNYXAm
IG5hbWVkR3JpZFJvd0xpbmVzKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERh
dGEsIGdyaWQsIGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcywgbmFtZWRHcmlkUm93TGluZXMp
OyB9CiAgICAgdm9pZCBzZXRBdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKGNv
bnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgb3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVz
KSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1dG9SZXBl
YXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMsIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5l
cyk7IH0KICAgICB2b2lkIHNldEF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoY29u
c3QgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwJiBvcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpIHsg
U0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgYXV0b1JlcGVhdE9y
ZGVyZWROYW1lZEdyaWRSb3dMaW5lcywgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzKTsgfQorICAg
IHZvaWQgc2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhjb25zdCBOYW1lZEdyaWRMaW5l
c01hcCYgbmFtZWRHcmlkQ29sdW1uTGluZXMpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YSwgZ3JpZCwgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcywgbmFtZWRHcmlk
Q29sdW1uTGluZXMpOyB9CisgICAgdm9pZCBzZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKGNv
bnN0IE5hbWVkR3JpZExpbmVzTWFwJiBuYW1lZEdyaWRSb3dMaW5lcykgeyBTRVRfTkVTVEVEX1ZB
UihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVz
LCBuYW1lZEdyaWRSb3dMaW5lcyk7IH0KICAgICB2b2lkIHNldE5hbWVkR3JpZEFyZWEoY29uc3Qg
TmFtZWRHcmlkQXJlYU1hcCYgbmFtZWRHcmlkQXJlYSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhLCBuYW1lZEdyaWRBcmVhKTsgfQog
ICAgIHZvaWQgc2V0TmFtZWRHcmlkQXJlYVJvd0NvdW50KHNpemVfdCByb3dDb3VudCkgeyBTRVRf
TkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhUm93
Q291bnQsIHJvd0NvdW50KTsgfQogICAgIHZvaWQgc2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50
KHNpemVfdCBjb2x1bW5Db3VudCkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQsIGNvbHVtbkNvdW50KTsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmgKaW5kZXggODA0
Yzc0ODUxMWIzODZiODQ0MTA5MTdiYjZhNDUzNjhmOThjODMzZi4uYzY3N2QwNzk4NjdjMTI2NTJk
OTkyZWZlZDUyMDRiZTBlOTI0ZDNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvU3R5bGVHcmlkRGF0YS5oCkBAIC01MSw2ICs1MSw3IEBAIHB1YmxpYzoKICAgICAgICAg
ICAgICYmIG5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8ubmFtZWRHcmlkQ29sdW1uTGluZXMgJiYg
bmFtZWRHcmlkUm93TGluZXMgPT0gby5uYW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYg
YXV0b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8uYXV0b1JlcGVhdE5hbWVkR3JpZENv
bHVtbkxpbmVzICYmIGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcyA9PSBvLmF1dG9SZXBlYXRO
YW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRDb2x1bW5MaW5lcyA9PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMg
JiYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyA9PSBvLmF1dG9SZXBlYXRPcmRl
cmVkTmFtZWRHcmlkUm93TGluZXMKKyAgICAgICAgICAgICYmIGltcGxpY2l0TmFtZWRHcmlkQ29s
dW1uTGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzICYmIGltcGxpY2l0TmFt
ZWRHcmlkUm93TGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzCiAgICAgICAgICAg
ICAmJiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYSAmJiBuYW1lZEdyaWRBcmVhID09
IG8ubmFtZWRHcmlkQXJlYQogICAgICAgICAgICAgJiYgbmFtZWRHcmlkQXJlYVJvd0NvdW50ID09
IG8ubmFtZWRHcmlkQXJlYVJvd0NvdW50ICYmIG5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudCA9PSBv
Lm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudAogICAgICAgICAgICAgJiYgb3JkZXJlZE5hbWVkR3Jp
ZFJvd0xpbmVzID09IG8ub3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzICYmIG9yZGVyZWROYW1lZEdy
aWRDb2x1bW5MaW5lcyA9PSBvLm9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcwpAQCAtNzgsNiAr
NzksOSBAQCBwdWJsaWM6CiAgICAgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwIGF1dG9SZXBlYXRP
cmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXM7CiAgICAgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFw
IGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7CiAKKyAgICBOYW1lZEdyaWRMaW5l
c01hcCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzOworICAgIE5hbWVkR3JpZExpbmVzTWFw
IGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXM7CisKICAgICB1bnNpZ25lZCBncmlkQXV0b0Zsb3cg
OiBHcmlkQXV0b0Zsb3dCaXRzOwogCiAgICAgVmVjdG9yPEdyaWRUcmFja1NpemU+IGdyaWRBdXRv
Um93czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3Rv
bS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKaW5kZXggYzM1
MGVlNTkzMGE3Zjc3YTUwNTg3MGIwM2Q5MmU0MDUyNDRhMDZiOC4uN2I1ZmY2MTI5OTViZTE0ZTdk
MDcyOTIwZmFhZDZhYTVlN2NjOWQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWls
ZGVyQ3VzdG9tLmgKQEAgLTE2NTksMTIgKzE2NTksMTIgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1
c3RvbTo6YXBwbHlWYWx1ZUdyaWRUZW1wbGF0ZUFyZWFzKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0
YXQKICAgICBhdXRvJiBncmlkVGVtcGxhdGVBcmVhc1ZhbHVlID0gZG93bmNhc3Q8Q1NTR3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZT4odmFsdWUpOwogICAgIGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIG5l
d05hbWVkR3JpZEFyZWFzID0gZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5ncmlkQXJlYU1hcCgpOwog
Ci0gICAgTmFtZWRHcmlkTGluZXNNYXAgbmFtZWRHcmlkQ29sdW1uTGluZXMgPSBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5uYW1lZEdyaWRDb2x1bW5MaW5lcygpOwotICAgIE5hbWVkR3JpZExpbmVzTWFw
IG5hbWVkR3JpZFJvd0xpbmVzID0gYnVpbGRlclN0YXRlLnN0eWxlKCkubmFtZWRHcmlkUm93TGlu
ZXMoKTsKLSAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVJbXBsaWNpdE5hbWVkR3JpZExpbmVz
RnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBuYW1lZEdyaWRDb2x1bW5MaW5lcywgRm9y
Q29sdW1ucyk7Ci0gICAgQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRlSW1wbGljaXROYW1lZEdyaWRM
aW5lc0Zyb21HcmlkQXJlYShuZXdOYW1lZEdyaWRBcmVhcywgbmFtZWRHcmlkUm93TGluZXMsIEZv
clJvd3MpOwotICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZENvbHVtbkxpbmVz
KG5hbWVkR3JpZENvbHVtbkxpbmVzKTsKLSAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1l
ZEdyaWRSb3dMaW5lcyhuYW1lZEdyaWRSb3dMaW5lcyk7CisgICAgTmFtZWRHcmlkTGluZXNNYXAg
aW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lczsKKyAgICBOYW1lZEdyaWRMaW5lc01hcCBpbXBs
aWNpdE5hbWVkR3JpZFJvd0xpbmVzOworICAgIEJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0ZUltcGxp
Y2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEobmV3TmFtZWRHcmlkQXJlYXMsIGltcGxpY2l0
TmFtZWRHcmlkQ29sdW1uTGluZXMsIEZvckNvbHVtbnMpOworICAgIEJ1aWxkZXJDb252ZXJ0ZXI6
OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEobmV3TmFtZWRHcmlkQXJl
YXMsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMsIEZvclJvd3MpOworICAgIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMoaW1wbGljaXROYW1lZEdy
aWRDb2x1bW5MaW5lcyk7CisgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0SW1wbGljaXROYW1l
ZEdyaWRSb3dMaW5lcyhpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKTsKIAogICAgIGJ1aWxkZXJT
dGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5ncmlk
QXJlYU1hcCgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhUm93
Q291bnQoZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5yb3dDb3VudCgpKTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IGNmZDFmNzBlMTk4MDk4M2U3MjcwY2JiYWMyMTJlNGRkNDBiZmYw
MGUuLjc5OWVhMTc0NTgyNzJlN2FiZDMwMmQ5ZGZhN2E3MWNjZmMyZDk3ZTUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAzLTI1ICBPcmlvbCBC
cnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXggcmVm
ZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wb3J0IFdQVCB0ZXN0cy4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQt
cGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLWV4cGVjdGVkLnhodDogQWRkZWQu
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDIuaHRtbDogQWRkZWQuCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMtZXhwZWN0ZWQueGh0OiBBZGRlZC4KKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBs
YWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMy5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNC1leHBlY3RlZC54aHQ6IEFkZGVkLgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVz
aW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1LWV4cGVjdGVkLnhodDogQWRkZWQuCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQt
dXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDYtZXhwZWN0ZWQueGh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwNi5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0w
My0yNSAgRnJhbmsgWWFuZyAgPGd1b3dlaV95YW5nQGFwcGxlLmNvbT4KICAgICAgICAgCiAgICAg
ICAgIFdlYktpdCB1c2VzIEFscGhhYmV0aWMgQmFzZWxpbmUgd2hlbiAiLXdlYmtpdC10ZXh0LW9y
aWVudGF0aW9uIiBpcyAibWl4ZWQiIGluIFZlcnRpY2FsIFdyaXRpbmcgTW9kZSAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi1l
eHBlY3RlZC54aHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1s
aW5lcy0wMDItZXhwZWN0ZWQueGh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YTEzNzk0NDgyYTk0ZjZjMTBiZDlk
NGM5ODcwNGU2M2VmNjAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDItZXhwZWN0ZWQueGh0CkBAIC0wLDAgKzEs
MTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmlj
dC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRk
Ij4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyA8aGVhZD4K
KyAgPHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iR8OpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3RhbGJvdC5vcmcv
QnJvd3NlckJ1Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyIgLz4KKyAgPHN0eWxlIHR5cGU9InRl
eHQvY3NzIj48IVtDREFUQVsKKyAgZGl2CisgIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
CisgIGhlaWdodDogMTAwcHg7CisgIHdpZHRoOiAxMDBweDsKKyAgfQorICBdXT48L3N0eWxlPgor
IDwvaGVhZD4KKyA8Ym9keT4KKyAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQg
Z3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+CisgIDxkaXY+PC9k
aXY+CisgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjU0MDFk
N2NmZDcyNGEwNjlmMjFhMWNhOWVhMDc5MGMxYTI2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxh
Y2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLmh0bWwKQEAg
LTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8
dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IEdyaWQgaXRlbSBwbGFjZW1lbnQgd2l0aCBuYW1l
ZCBsaW5lIGFuZCBhdXRvIHJlcGVhdCgpPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5r
IHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1w
bGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1m
aWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRl
bnQ9IkdyaWQgcGxhY2VtZW50IGFsZ29yaXRobSBpcyBhYmxlIHRvIHNlbGVjdCB0aGUgMXN0IGxp
bmUgYnkgbmFtZSB3aGVuIHRoZSAxc3QgdHJhY2sgaXMgZGVmaW5lZCB3aXRoIGF1dG8gcmVwZWF0
KCkuIj4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgd2lkdGg6IDEwMHB4
OworICBoZWlnaHQ6IDEwMHB4OworICBiYWNrZ3JvdW5kOiByZWQ7CisgIGdyaWQtdGVtcGxhdGUt
Y29sdW1uczogW2FyZWEtc3RhcnRdIHJlcGVhdChhdXRvLWZpbGwsIDEwcHgpIFthcmVhLWVuZF07
CisgIGdyaWQtdGVtcGxhdGUtcm93czogW2FyZWEtc3RhcnRdIHJlcGVhdChhdXRvLWZpbGwsIDEw
cHggW2FyZWEtc3RhcnRdKSBbYXJlYS1lbmRdOworfQorLmdyaWQgPiBkaXYgeworICBncmlkLWFy
ZWE6IGFyZWE7CisgIGJhY2tncm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT4KKzxwPlRlc3QgcGFz
c2VzIGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8
L3N0cm9uZz4uPC9wPgorPGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXY+PC9kaXY+Cis8L2Rpdj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxp
bmVzLTAwMy1leHBlY3RlZC54aHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFt
ZWQtZ3JpZC1saW5lcy0wMDMtZXhwZWN0ZWQueGh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YTEzNzk0NDgyYTk0
ZjZjMTBiZDlkNGM5ODcwNGU2M2VmNjAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMtZXhwZWN0ZWQueGh0CkBA
IC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwg
MS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1z
dHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4K
KyA8aGVhZD4KKyAgPHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+CisgIDxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR8OpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3Rh
bGJvdC5vcmcvQnJvd3NlckJ1Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyIgLz4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgZGl2CisgIHsKKyAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CisgIGhlaWdodDogMTAwcHg7CisgIHdpZHRoOiAxMDBweDsKKyAgfQorICBdXT48
L3N0eWxlPgorIDwvaGVhZD4KKyA8Ym9keT4KKyAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMg
YSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cisg
IDxkaXY+PC9kaXY+CisgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dy
aWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMTE3M2UwYTQ1NWEwNDE1NmNhODc1NTc3OWQ3YTJhZTRiMjRiMTAzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAz
Lmh0bWwKQEAgLTAsMCArMSwyNyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IEdyaWQgaXRlbSBwbGFjZW1lbnQg
d2l0aCBuYW1lZCBsaW5lIGFuZCBhdXRvIHJlcGVhdCgpPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0
aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBpZ2FsaWEuY29t
Ij4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQt
MS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4vLi4vcmVmZXJl
bmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBuYW1lPSJhc3Nl
cnQiIGNvbnRlbnQ9IkdyaWQgcGxhY2VtZW50IGFsZ29yaXRobSBpcyBhYmxlIHRvIHNlbGVjdCB0
aGUgcmlnaHQgbGluZSB3aGVuIHRoZXJlIGlzIGFuIGF1dG8gcmVwZWF0KCkuIj4KKzxzdHlsZT4K
Ky5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgd2lkdGg6IDMwMHB4OworICBoZWlnaHQ6IDMw
MHB4OworICBwb3NpdGlvbjogcmVsYXRpdmU7CisgIHRvcDogLTIwMHB4OworICBsZWZ0OiAtMjAw
cHg7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMTAwcHggMTAw
cHgpIFthcmVhLXN0YXJ0XSAxMDBweCBbYXJlYS1lbmRdOworICBncmlkLXRlbXBsYXRlLXJvd3M6
IHJlcGVhdChhdXRvLWZpbGwsIDEwMHB4IDEwMHB4IFthcmVhLXN0YXJ0XSkgW2FyZWEtc3RhcnRd
IDEwMHB4IFthcmVhLWVuZF07Cit9CisuZ3JpZCA+IGRpdiB7CisgIGdyaWQtYXJlYTogYXJlYTsK
KyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBwYXNzZXMgaWYgdGhl
cmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48
L3A+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0LWV4
cGVjdGVkLnhodCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxp
bmVzLTAwNC1leHBlY3RlZC54aHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhMTM3OTQ0ODJhOTRmNmMxMGJkOWQ0
Yzk4NzA0ZTYzZWY2MDMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNl
bWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNC1leHBlY3RlZC54aHQKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQi
PgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorIDxoZWFkPgor
ICA8dGl0bGU+Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRo
b3IiIHRpdGxlPSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0iaHR0cDovL3d3dy5ndGFsYm90Lm9yZy9C
cm93c2VyQnVnc1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUvIiAvPgorICA8c3R5bGUgdHlwZT0idGV4
dC9jc3MiPjwhW0NEQVRBWworICBkaXYKKyAgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsK
KyAgaGVpZ2h0OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4OworICB9CisgIF1dPjwvc3R5bGU+Cisg
PC9oZWFkPgorIDxib2R5PgorICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBn
cmVlbiBzcXVhcmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJvbmc+LjwvcD4KKyAgPGRpdj48L2Rp
dj4KKyA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1l
bnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNl
bWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMzM2IxYTll
ZTllYzdmOTcyZGY3MmI4NjU4YmFlNTNjODE2M2ZkNWUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFj
ZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbApAQCAt
MCwwICsxLDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0
aXRsZT5DU1MgR3JpZCBMYXlvdXQgVGVzdDogR3JpZCBpdGVtIHBsYWNlbWVudCB3aXRoICcmbHQ7
aW50ZWdlciZndDsgJiYgJmx0O2N1c3RvbS1pZGVudCZndDsnIGFuZCBhdXRvIHJlcGVhdCgpPC90
aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWls
dG86b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3
dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRj
aCIgaHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnho
dCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkdyaWQgcGxhY2VtZW50IGFsZ29yaXRo
bSBpcyBhYmxlIHRvIHNlbGVjdCB0aGUgcmlnaHQgbGluZSB3aGVuIHVzaW5nIHRoZSAnPGludGVn
ZXI+ICYmIDxjdXN0b20taWRlbnQ+JyBzeW50YXggYW5kIHRoZXJlIGlzIGFuIGF1dG8gcmVwZWF0
KCkuIj4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAgd2lkdGg6IDMwMHB4
OworICBoZWlnaHQ6IDMwMHB4OworICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IFtmb29dIHJlcGVh
dChhdXRvLWZpbGwsIDEwMHB4IFtmb29dKTsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQo
YXV0by1maWxsLCBbZm9vXSAxMDBweCk7Cit9CisuZ3JpZCA+IGRpdiB7CisgIGdyaWQtYXJlYTog
MSBmb28gLyAxIGZvbzsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVz
dCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5v
IHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdj48L2Rpdj4KKzwv
ZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdy
aWQtbGluZXMtMDA1LWV4cGVjdGVkLnhodCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwNS1leHBlY3RlZC54aHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhMTM3OTQ0
ODJhOTRmNmMxMGJkOWQ0Yzk4NzA0ZTYzZWY2MDMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNS1leHBlY3RlZC54
aHQKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBY
SFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0
bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0
bWwiPgorIDxoZWFkPgorICA8dGl0bGU+Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKyAg
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0iaHR0cDovL3d3
dy5ndGFsYm90Lm9yZy9Ccm93c2VyQnVnc1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUvIiAvPgorICA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICBkaXYKKyAgeworICBiYWNrZ3JvdW5k
LWNvbG9yOiBncmVlbjsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4OworICB9Cisg
IF1dPjwvc3R5bGU+CisgPC9oZWFkPgorIDxib2R5PgorICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVy
ZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVhcmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJvbmc+Ljwv
cD4KKyAgPGRpdj48L2Rpdj4KKyA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUuaHRtbCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIwZDkyOTg5NTVmNjkyYjJjNDIxMTNhNzQ3Y2E1MjYyN2YyOTc4OGIKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDUuaHRtbApAQCAtMCwwICsxLDI1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJz
ZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3JpZCBMYXlvdXQgVGVzdDogR3JpZCBpdGVtIHBsYWNl
bWVudCB3aXRoIGltcGxpY2l0IG5hbWVkIGxpbmUgYW5kIGF1dG8gcmVwZWF0KCk8L3RpdGxlPgor
PGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJPcmlvbCBCcnVmYXUiIGhyZWY9Im1haWx0bzpvYnJ1
ZmF1QGlnYWxpYS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwOi8vd3d3LnczLm9y
Zy9UUi9jc3MtZ3JpZC0xLyNsaW5lLXBsYWNlbWVudCI+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSIuLi8uLi9yZWZlcmVuY2UvcmVmLWZpbGxlZC1ncmVlbi0xMDBweC1zcXVhcmUueGh0Ij4KKzxt
ZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iR3JpZCBwbGFjZW1lbnQgYWxnb3JpdGhtIGlzIGFi
bGUgdG8gc2VsZWN0IHRoZSByaWdodCBsaW5lIHdoZW4gZGVmaW5lZCBpbXBsaWNpdGx5IHdpdGgg
Z3JpZC10ZW1wbGF0ZS1hcmVhcy4iPgorPHN0eWxlPgorLmdyaWQgeworICBkaXNwbGF5OiBncmlk
OworICB3aWR0aDogMzAwcHg7CisgIGhlaWdodDogMzAwcHg7CisgIGdyaWQtdGVtcGxhdGUtYXJl
YXM6ICJhcmVhIjsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCAx
MDBweCk7CisgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KGF1dG8tZmlsbCwgMTAwcHgpIFth
cmVhLWVuZF0gMTAwcHg7Cit9CisuZ3JpZCA+IGRpdiB7CisgIGdyaWQtYXJlYTogYXJlYTsKKyAg
YmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUg
aXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+
Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdj48L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
cGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA2LWV4cGVj
dGVkLnhodCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVz
LTAwNi1leHBlY3RlZC54aHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhMTM3OTQ0ODJhOTRmNmMxMGJkOWQ0Yzk4
NzA0ZTYzZWY2MDMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi1leHBlY3RlZC54aHQKQEAgLTAsMCArMSwxOSBA
QAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9F
TiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgor
PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorIDxoZWFkPgorICA8
dGl0bGU+Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3Ii
IHRpdGxlPSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0iaHR0cDovL3d3dy5ndGFsYm90Lm9yZy9Ccm93
c2VyQnVnc1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUvIiAvPgorICA8c3R5bGUgdHlwZT0idGV4dC9j
c3MiPjwhW0NEQVRBWworICBkaXYKKyAgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAg
aGVpZ2h0OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4OworICB9CisgIF1dPjwvc3R5bGU+CisgPC9o
ZWFkPgorIDxib2R5PgorICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVl
biBzcXVhcmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJvbmc+LjwvcD4KKyAgPGRpdj48L2Rpdj4K
KyA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQt
dXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwNTg1OGY3M2M1
YWIxN2IwYTgyMTY3ZmU2Mzk5MTMwYWMxZGRlYmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbApAQCAtMCww
ICsxLDI3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRs
ZT5DU1MgR3JpZCBMYXlvdXQgVGVzdDogR3JpZCBpdGVtIHBsYWNlbWVudCB3aXRoIGltcGxpY2l0
IG5hbWVkIGxpbmUsICcmbHQ7aW50ZWdlciZndDsgJiYgJmx0O2N1c3RvbS1pZGVudCZndDsnLCBh
bmQgYXV0byByZXBlYXQoKTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik9yaW9s
IEJydWZhdSIgaHJlZj0ibWFpbHRvOm9icnVmYXVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9Imhl
bHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy1ncmlkLTEvI2xpbmUtcGxhY2VtZW50
Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Ii4uLy4uL3JlZmVyZW5jZS9yZWYtZmlsbGVkLWdy
ZWVuLTEwMHB4LXNxdWFyZS54aHQiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJHcmlk
IHBsYWNlbWVudCBhbGdvcml0aG0gaXMgYWJsZSB0byBzZWxlY3QgdGhlIHJpZ2h0IGxpbmUgd2hl
biBkZWZpbmVkIGltcGxpY2l0bHkgd2l0aCBncmlkLXRlbXBsYXRlLWFyZWFzLCByZWZlcmVuY2Vk
IHVzaW5nIHRoZSAnPGludGVnZXI+ICYmIDxjdXN0b20taWRlbnQ+JyBzeW50YXgsIGFuZCB3aXRo
IGF1dG8gcmVwZWF0KCkuIj4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAg
d2lkdGg6IDMwMHB4OworICBoZWlnaHQ6IDMwMHB4OworICBtYXJnaW4tbGVmdDogLTEwMHB4Owor
ICBtYXJnaW4tdG9wOiAtMTAwcHg7CisgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICIuIC4iICIuIGZv
byI7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMTAwcHgpIFtm
b28tc3RhcnRdOworICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIDEwMHB4
KSBbZm9vLXN0YXJ0XTsKK30KKy5ncmlkID4gZGl2IHsKKyAgZ3JpZC1hcmVhOiAxIGZvby1zdGFy
dCAvIDEgZm9vLXN0YXJ0OworICBiYWNrZ3JvdW5kOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8cD5U
ZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVhcmUgYW5kIDxzdHJvbmc+
bm8gcmVkPC9zdHJvbmc+LjwvcD4KKzxkaXYgY2xhc3M9ImdyaWQiPgorICA8ZGl2PjwvZGl2Pgor
PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
dzNjLWltcG9ydC5sb2cKaW5kZXggY2QxYzUwZTBkMzRjOTgwZDQ4NDBiOTkwMDk2MGE5YjEzNzc2
ZmI0OC4uOTAzMmQ2MDhiYTUxYmZmNmNjOTYyOWRiZjNlNzUyYTIwY2IzZWU5NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC93M2MtaW1wb3J0Lmxv
ZwpAQCAtMjQsMyArMjQsMTMgQEAgTGlzdCBvZiBmaWxlczoKIC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1sYXlv
dXQtcGxhY2VtZW50LXNob3J0aGFuZHMuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11
c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMS1leHBlY3RlZC54aHQKIC9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1w
bGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDEuaHRtbAorL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlk
LXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi1leHBlY3RlZC54aHQKKy9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFj
ZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDIuaHRtbAorL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMy1leHBlY3Rl
ZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0w
MDMuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVz
LTAwNC1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQt
Z3JpZC1saW5lcy0wMDQuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1l
ZC1ncmlkLWxpbmVzLTAwNS1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQt
dXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394564</attachid>
            <date>2020-03-25 18:00:40 -0700</date>
            <delta_ts>2020-05-27 15:48:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209572-20200326020038.patch</filename>
            <type>text/plain</type>
            <size>36234</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODEwNzcwMWUxMTdiMGFi
MDVjNGJlODk0MmM2Y2Y3NDhlMDUwOWZmOS4uZDIzODIxNzM5NmJjZDBmMWJiMmRmZGQwYjczNTAw
ODhjZjIyODFjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIwLTAzLTI1ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXgg
cmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBt
dWx0aXBsZSBwcm9ibGVtcyB3aGVuIHJlZmVyZW5jaW5nIG5hbWVkIGdyaWQgbGluZXMgd2l0aCB0
aGUgcHJlc2VuY2Ugb2YKKyAgICAgICAgdGhlIGF1dG8gcmVwZWF0KCkgc3ludGF4OgorCisgICAg
ICAgICAgLSBJZiB0aGUgMXN0IHRyYWNrIHdhcyBkZWZpbmVkIHdpdGggYXV0byByZXBlYXQoKSwg
dGhlbiB0aGUgY29kZSB1c2VkIHRvIGFzc3VtZSB0aGF0IHRoZQorICAgICAgICAgICAgcmVmZXJl
bmNlZCBsaW5lIGFwcGVhcmVkIGFmdGVyIHRoZSByZXBlYXRlZCB0cmFja3MuIEJ1dCBpdCBtYXkg
YWN0dWFsbHkgcHJlY2VkZSB0aGVtLgorCisgICAgICAgICAgLSBJZiB0aGUgcmVmZXJlbmNlZCBs
aW5lIGFwcGVhcmVkIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBhdXRvIHJlcGVhdCgpLCB0
aGVuIGl0CisgICAgICAgICAgICBjb3VsZCByZXNvbHZlIHRvIHRoZSBvdXRzaWRlIHJhdyBpbmRl
eCwgd2l0aG91dCBleHBhbmRpbmcgdGhlIGF1dG8gcmVwZWF0KCkuCisKKyAgICAgICAgICAtIFRo
ZSBsb2dpYyBmb3IgcGxhY2luZyBhIHBsYWNlbWVudCBwcm9wZXJ0eSBzZXQgdG8gYm90aCBhbiBp
bnRlZ2VyIGFuZCBhbiBpZGVudGlmaWVyCisgICAgICAgICAgICB3YXMgd3Jvbmcgd2l0aCBhdXRv
IHJlcGVhdCgpLgorICAgICAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUg
c2FtZSBwcm9wZXIgbG9naWMgdGhhdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbgorICAgICAg
ICAgICAgT3JkZXJlZE5hbWVkTGluZXNDb2xsZWN0b3JJbkdyaWRMYXlvdXQ6OmNvbGxlY3RMaW5l
TmFtZXNGb3JJbmRleAorCisgICAgICAgICAgLSBUaGUgaW5kaWNlcyBvZiBib3RoIGltcGxpY2l0
IGdyaWQgbGluZXMgZGVmaW5lZCB3aXRoIGdyaWQtdGVtcGxhdGUtYXJlYXMgYW5kIGV4cGxpY2l0
CisgICAgICAgICAgICBvbmVzIGRlZmluZWQgd2l0aCBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1u
cyB1c2VkIHRvIGJlIHN0b3JlZCB0b2dldGhlciBpbgorICAgICAgICAgICAgTmFtZWRHcmlkQ29s
dW1uTGluZXMgYW5kIE5hbWVkR3JpZFJvd0xpbmVzLiBUaGlzIHdhcyBwcm9ibGVtYXRpYyBiZWNh
dXNlIHRoZSBmb3JtZXIKKyAgICAgICAgICAgIGluZGljZXMgYWxyZWFkeSByZWZlciB0byB0aGUg
ZmluYWwgZXhwbGljaXQgZ3JpZCBzbyB0aGV5IGRvbid0IGhhdmUgdG8gYmUgaW5jcmVhc2VkIHdo
ZW4KKyAgICAgICAgICAgIGV4cGFuZGluZyBhbiBhdXRvIHJlcGVhdCgpLCBidXQgdGhlIGxhdHRl
ciBvbmVzIHNob3VsZC4KKyAgICAgICAgICAgIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBzdG9yZXMg
dGhlIGluZGljZXMgaW4gc2VwYXJhdGUgZmllbGRzIGFuZCB1c2VzIHRoZSBjb3JyZWN0IGxvZ2lj
CisgICAgICAgICAgICBmb3IgZWFjaCBvbmUuCisKKyAgICAgICAgVGVzdHM6IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCisgICAgICAgICAgICAgICBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMuaHRtbAorICAgICAgICAgICAgICAgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQt
cGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0Lmh0bWwKKyAgICAgICAgICAgICAg
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9n
cmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNS5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xsZWN0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246Omhhc0V4cGxpY2l0TmFtZWRMaW5l
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpoYXNOYW1l
ZExpbmVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246OmNv
bnRhaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246OmZp
cnN0RXhwbGljaXRQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVD
b2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5
bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW1wbGljaXROYW1l
ZEdyaWRDb2x1bW5MaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
aW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlkRGF0YSk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZERhdGE6Om9wZXJh
dG9yPT0gY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVHcmlkVGVtcGxh
dGVBcmVhcyk6CisKIDIwMjAtMDMtMjUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBs
ZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIENvbXBvc2l0aW5nQ2hhbmdlUmVwYWludCB3aGljaCB3
YXMgYWx3YXlzIENvbXBvc2l0aW5nQ2hhbmdlUmVwYWludE5vdwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmNwcAppbmRl
eCAzZDk5ODEzMTYyNTRmZWM3MmEzMDdhNzdiZmYwN2ZjZjQzZDZjYzU1Li4zM2M3MDNjNWYwNmZh
NjVhM2Y2ZmJkYTJkZTc2ZGVhM2ZiNjFiOGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmNwcApAQCAtNjQsNiAr
NjQsNyBAQCBOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xsZWN0aW9uKGNvbnN0IFJl
bmRlclN0eWxlJiBncmlkQ29udGFpbmVyU3R5bGUsCiAgICAgYm9vbCBpc1Jvd0F4aXMgPSBkaXJl
Y3Rpb24gPT0gRm9yQ29sdW1uczsKICAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgZ3JpZExp
bmVOYW1lcyA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHlsZS5uYW1lZEdyaWRDb2x1bW5M
aW5lcygpIDogZ3JpZENvbnRhaW5lclN0eWxlLm5hbWVkR3JpZFJvd0xpbmVzKCk7CiAgICAgY29u
c3QgTmFtZWRHcmlkTGluZXNNYXAmIGF1dG9SZXBlYXRHcmlkTGluZU5hbWVzID0gaXNSb3dBeGlz
ID8gZ3JpZENvbnRhaW5lclN0eWxlLmF1dG9SZXBlYXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIDog
Z3JpZENvbnRhaW5lclN0eWxlLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcygpOworICAgIGNv
bnN0IE5hbWVkR3JpZExpbmVzTWFwJiBpbXBsaWNpdEdyaWRMaW5lTmFtZXMgPSBpc1Jvd0F4aXMg
PyBncmlkQ29udGFpbmVyU3R5bGUuaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIDogZ3Jp
ZENvbnRhaW5lclN0eWxlLmltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoKTsKIAogICAgIGF1dG8g
bGluZXNJdGVyYXRvciA9IGdyaWRMaW5lTmFtZXMuZmluZChuYW1lZExpbmUpOwogICAgIG1fbmFt
ZWRMaW5lc0luZGV4ZXMgPSBsaW5lc0l0ZXJhdG9yID09IGdyaWRMaW5lTmFtZXMuZW5kKCkgPyBu
dWxscHRyIDogJmxpbmVzSXRlcmF0b3ItPnZhbHVlOwpAQCAtNzEsNjggKzcyLDg0IEBAIE5hbWVk
TGluZUNvbGxlY3Rpb246Ok5hbWVkTGluZUNvbGxlY3Rpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdy
aWRDb250YWluZXJTdHlsZSwKICAgICBhdXRvIGF1dG9SZXBlYXRMaW5lc0l0ZXJhdG9yID0gYXV0
b1JlcGVhdEdyaWRMaW5lTmFtZXMuZmluZChuYW1lZExpbmUpOwogICAgIG1fYXV0b1JlcGVhdE5h
bWVkTGluZXNJbmRleGVzID0gYXV0b1JlcGVhdExpbmVzSXRlcmF0b3IgPT0gYXV0b1JlcGVhdEdy
aWRMaW5lTmFtZXMuZW5kKCkgPyBudWxscHRyIDogJmF1dG9SZXBlYXRMaW5lc0l0ZXJhdG9yLT52
YWx1ZTsKIAorICAgIGF1dG8gaW1wbGljaXRHcmlkTGluZXNJdGVyYXRvciA9IGltcGxpY2l0R3Jp
ZExpbmVOYW1lcy5maW5kKG5hbWVkTGluZSk7CisgICAgbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRl
eGVzID0gaW1wbGljaXRHcmlkTGluZXNJdGVyYXRvciA9PSBpbXBsaWNpdEdyaWRMaW5lTmFtZXMu
ZW5kKCkgPyBudWxscHRyIDogJmltcGxpY2l0R3JpZExpbmVzSXRlcmF0b3ItPnZhbHVlOworCiAg
ICAgbV9pbnNlcnRpb25Qb2ludCA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHlsZS5ncmlk
QXV0b1JlcGVhdENvbHVtbnNJbnNlcnRpb25Qb2ludCgpIDogZ3JpZENvbnRhaW5lclN0eWxlLmdy
aWRBdXRvUmVwZWF0Um93c0luc2VydGlvblBvaW50KCk7CiAKICAgICBtX2F1dG9SZXBlYXRUcmFj
a0xpc3RMZW5ndGggPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZEF1dG9SZXBl
YXRDb2x1bW5zKCkuc2l6ZSgpIDogZ3JpZENvbnRhaW5lclN0eWxlLmdyaWRBdXRvUmVwZWF0Um93
cygpLnNpemUoKTsKIH0KIAotYm9vbCBOYW1lZExpbmVDb2xsZWN0aW9uOjpoYXNOYW1lZExpbmVz
KCkgY29uc3QKK2Jvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6aGFzRXhwbGljaXROYW1lZExpbmVz
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcyB8fCBtX2F1dG9SZXBl
YXROYW1lZExpbmVzSW5kZXhlczsKIH0KIAotc2l6ZV90IE5hbWVkTGluZUNvbGxlY3Rpb246OmZp
bmQodW5zaWduZWQgbGluZSkgY29uc3QKK2Jvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6aGFzTmFt
ZWRMaW5lcygpIGNvbnN0CiB7Ci0gICAgaWYgKGxpbmUgPiBtX2xhc3RMaW5lKQotICAgICAgICBy
ZXR1cm4gbm90Rm91bmQ7Ci0KLSAgICBpZiAoIW1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
IHx8IGxpbmUgPCBtX2luc2VydGlvblBvaW50KQotICAgICAgICByZXR1cm4gbV9uYW1lZExpbmVz
SW5kZXhlcyA/IG1fbmFtZWRMaW5lc0luZGV4ZXMtPmZpbmQobGluZSkgOiBub3RGb3VuZDsKLQot
ICAgIGlmIChsaW5lIDw9IChtX2luc2VydGlvblBvaW50ICsgbV9hdXRvUmVwZWF0VG90YWxUcmFj
a3MpKSB7Ci0gICAgICAgIHNpemVfdCBsb2NhbEluZGV4ID0gbGluZSAtIG1faW5zZXJ0aW9uUG9p
bnQ7Ci0KLSAgICAgICAgc2l6ZV90IGluZGV4SW5GaXJzdFJlcGV0aXRpb24gPSBsb2NhbEluZGV4
ICUgbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoOwotICAgICAgICBpZiAoaW5kZXhJbkZpcnN0
UmVwZXRpdGlvbikKLSAgICAgICAgICAgIHJldHVybiBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5k
ZXhlcy0+ZmluZChpbmRleEluRmlyc3RSZXBldGl0aW9uKTsKLQotICAgICAgICAvLyBUaGUgbGlu
ZSBuYW1lcyBkZWZpbmVkIGluIHRoZSBsYXN0IGxpbmUgYXJlIGFsc28gcHJlc2VudCBpbiB0aGUg
Zmlyc3QgbGluZSBvZiB0aGUgbmV4dAotICAgICAgICAvLyByZXBldGl0aW9uIChpZiBhbnkpLiBT
YW1lIGZvciB0aGUgbGluZSBuYW1lcyBkZWZpbmVkIGluIHRoZSBmaXJzdCBsaW5lLgotICAgICAg
ICBpZiAobG9jYWxJbmRleCA9PSBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcykKLSAgICAgICAgICAg
IHJldHVybiBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+ZmluZChtX2F1dG9SZXBlYXRU
cmFja0xpc3RMZW5ndGgpOwotICAgICAgICBzaXplX3QgcG9zaXRpb24gPSBtX2F1dG9SZXBlYXRO
YW1lZExpbmVzSW5kZXhlcy0+ZmluZCgwdSk7Ci0gICAgICAgIGlmIChwb3NpdGlvbiAhPSBub3RG
b3VuZCkKLSAgICAgICAgICAgIHJldHVybiBwb3NpdGlvbjsKLSAgICAgICAgcmV0dXJuIGxvY2Fs
SW5kZXggPyBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+ZmluZChtX2F1dG9SZXBlYXRU
cmFja0xpc3RMZW5ndGgpIDogbm90Rm91bmQ7Ci0gICAgfQotCi0gICAgcmV0dXJuIG1fbmFtZWRM
aW5lc0luZGV4ZXMgPyBtX25hbWVkTGluZXNJbmRleGVzLT5maW5kKGxpbmUgLSAobV9hdXRvUmVw
ZWF0VG90YWxUcmFja3MgLSAxKSkgOiBub3RGb3VuZDsKKyAgICByZXR1cm4gaGFzRXhwbGljaXRO
YW1lZExpbmVzKCkgfHwgbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzOwogfQogCiBib29sIE5h
bWVkTGluZUNvbGxlY3Rpb246OmNvbnRhaW5zKHVuc2lnbmVkIGxpbmUpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKGhhc05hbWVkTGluZXMoKSk7Ci0gICAgcmV0dXJuIGZpbmQobGluZSkgIT0gbm90Rm91
bmQ7CisKKyAgICBpZiAobGluZSA+IG1fbGFzdExpbmUpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIGF1dG8gY29udGFpbnMgPSBbXShjb25zdCBWZWN0b3I8dW5zaWduZWQ+KiBpbmRleGVz
LCB1bnNpZ25lZCBsaW5lKSB7CisgICAgICAgIHJldHVybiBpbmRleGVzICYmIGluZGV4ZXMtPmZp
bmQobGluZSkgIT0gbm90Rm91bmQ7CisgICAgfTsKKworICAgIGlmIChjb250YWlucyhtX2ltcGxp
Y2l0TmFtZWRMaW5lc0luZGV4ZXMsIGxpbmUpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAg
IGlmICghbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoIHx8IGxpbmUgPCBtX2luc2VydGlvblBv
aW50KQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9uYW1lZExpbmVzSW5kZXhlcywgbGluZSk7
CisKKyAgICBBU1NFUlQobV9hdXRvUmVwZWF0VG90YWxUcmFja3MpOworCisgICAgaWYgKGxpbmUg
PiBtX2luc2VydGlvblBvaW50ICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MpCisgICAgICAgIHJl
dHVybiBjb250YWlucyhtX25hbWVkTGluZXNJbmRleGVzLCBsaW5lIC0gKG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzIC0gMSkpOworCisgICAgaWYgKGxpbmUgPT0gbV9pbnNlcnRpb25Qb2ludCkKKyAg
ICAgICAgcmV0dXJuIGNvbnRhaW5zKG1fbmFtZWRMaW5lc0luZGV4ZXMsIGxpbmUpIHx8IGNvbnRh
aW5zKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLCAwKTsKKworICAgIGlmIChsaW5lID09
IG1faW5zZXJ0aW9uUG9pbnQgKyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcykKKyAgICAgICAgcmV0
dXJuIGNvbnRhaW5zKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLCBtX2F1dG9SZXBlYXRU
cmFja0xpc3RMZW5ndGgpIHx8IGNvbnRhaW5zKG1fbmFtZWRMaW5lc0luZGV4ZXMsIG1faW5zZXJ0
aW9uUG9pbnQgKyAxKTsKKworICAgIHNpemVfdCBhdXRvUmVwZWF0SW5kZXhJbkZpcnN0UmVwZXRp
dGlvbiA9IChsaW5lIC0gbV9pbnNlcnRpb25Qb2ludCkgJSBtX2F1dG9SZXBlYXRUcmFja0xpc3RM
ZW5ndGg7CisgICAgaWYgKCFhdXRvUmVwZWF0SW5kZXhJbkZpcnN0UmVwZXRpdGlvbiAmJiBjb250
YWlucyhtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcywgbV9hdXRvUmVwZWF0VHJhY2tMaXN0
TGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGNvbnRhaW5zKG1fYXV0
b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLCBhdXRvUmVwZWF0SW5kZXhJbkZpcnN0UmVwZXRpdGlv
bik7CiB9CiAKLXVuc2lnbmVkIE5hbWVkTGluZUNvbGxlY3Rpb246OmZpcnN0UG9zaXRpb24oKSBj
b25zdAordW5zaWduZWQgTmFtZWRMaW5lQ29sbGVjdGlvbjo6Zmlyc3RFeHBsaWNpdFBvc2l0aW9u
KCkgY29uc3QKIHsKLSAgICBBU1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKKyAgICBBU1NFUlQoaGFz
RXhwbGljaXROYW1lZExpbmVzKCkpOwogICAgIHVuc2lnbmVkIGZpcnN0TGluZSA9IDA7CiAKLSAg
ICBpZiAoIW1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzKSB7Ci0gICAgICAgIGlmICghbV9p
bnNlcnRpb25Qb2ludCB8fCBtX2luc2VydGlvblBvaW50IDwgbV9uYW1lZExpbmVzSW5kZXhlcy0+
YXQoZmlyc3RMaW5lKSkKLSAgICAgICAgICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzLT5h
dChmaXJzdExpbmUpICsgKG1fYXV0b1JlcGVhdFRvdGFsVHJhY2tzID8gbV9hdXRvUmVwZWF0VG90
YWxUcmFja3MgLSAxIDogMCk7CisgICAgLy8gSWYgdGhlcmUgaXMgbm8gYXV0byByZXBlYXQoKSwg
dGhlcmUgbXVzdCBiZSBzb21lIG5hbWVkIGxpbmUgb3V0c2lkZSwgcmV0dXJuIHRoZSAxc3Qgb25l
LiBBbHNvIHJldHVybiBpdCBpZiBpdCBwcmVjZWRlcyB0aGUgYXV0by1yZXBlYXQoKS4KKyAgICBp
ZiAoIW1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCB8fCAobV9uYW1lZExpbmVzSW5kZXhlcyAm
JiBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpIDw9IG1faW5zZXJ0aW9uUG9pbnQp
KQogICAgICAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKTsKLSAg
ICB9CiAKLSAgICBpZiAoIW1fbmFtZWRMaW5lc0luZGV4ZXMpCisgICAgLy8gUmV0dXJuIHRoZSAx
c3QgbmFtZWQgbGluZSBpbnNpZGUgdGhlIGF1dG8gcmVwZWF0KCksIGlmIGFueS4KKyAgICBpZiAo
bV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMpCiAgICAgICAgIHJldHVybiBtX2F1dG9SZXBl
YXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSArIG1faW5zZXJ0aW9uUG9pbnQ7CiAK
LSAgICBpZiAoIW1faW5zZXJ0aW9uUG9pbnQpCi0gICAgICAgIHJldHVybiBzdGQ6Om1pbihtX25h
bWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3Ms
IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpKTsKKyAgICAvLyBU
aGUgMXN0IG5hbWVkIGxpbmUgbXVzdCBiZSBhZnRlciB0aGUgYXV0byByZXBlYXQoKS4KKyAgICBy
ZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSArIG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzIC0gMTsKK30KIAotICAgIHJldHVybiBzdGQ6Om1pbihtX25hbWVkTGluZXNJbmRl
eGVzLT5hdChmaXJzdExpbmUpLCBtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmly
c3RMaW5lKSArIG1faW5zZXJ0aW9uUG9pbnQpOwordW5zaWduZWQgTmFtZWRMaW5lQ29sbGVjdGlv
bjo6Zmlyc3RQb3NpdGlvbigpIGNvbnN0Cit7CisgICAgQVNTRVJUKGhhc05hbWVkTGluZXMoKSk7
CisgICAgdW5zaWduZWQgZmlyc3RMaW5lID0gMDsKKyAgICBpZiAoIW1faW1wbGljaXROYW1lZExp
bmVzSW5kZXhlcykKKyAgICAgICAgcmV0dXJuIGZpcnN0RXhwbGljaXRQb3NpdGlvbigpOworICAg
IGlmICghaGFzRXhwbGljaXROYW1lZExpbmVzKCkpCisgICAgICAgIHJldHVybiBtX2ltcGxpY2l0
TmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSk7CisgICAgcmV0dXJuIHN0ZDo6bWluKGZp
cnN0RXhwbGljaXRQb3NpdGlvbigpLCBtX2ltcGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZp
cnN0TGluZSkpOwogfQogCiBzdGF0aWMgdm9pZCBhZGp1c3RHcmlkUG9zaXRpb25zRnJvbVN0eWxl
KGNvbnN0IFJlbmRlckJveCYgZ3JpZEl0ZW0sIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJl
Y3Rpb24sIEdyaWRQb3NpdGlvbiYgaW5pdGlhbFBvc2l0aW9uLCBHcmlkUG9zaXRpb24mIGZpbmFs
UG9zaXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3Jp
ZFBvc2l0aW9uc1Jlc29sdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3Jp
ZFBvc2l0aW9uc1Jlc29sdmVyLmgKaW5kZXggOGNhMjA5YjZhYzNhMTdiNzk0Njg5OTJkMDE0Y2Fk
NDliOWMwYjQ4NC4uNjIzYjYyYzZjMjQxZGMxMzAyNTA3OGQxNTFmNmE5OTBkNWRjMTA2ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNv
bHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25z
UmVzb2x2ZXIuaApAQCAtNTQsMTAgKzU0LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGNvbnRhaW5z
KHVuc2lnbmVkIGxpbmUpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIHNpemVfdCBmaW5kKHVuc2ln
bmVkIGxpbmUpIGNvbnN0OworICAgIGJvb2wgaGFzRXhwbGljaXROYW1lZExpbmVzKCkgY29uc3Q7
CisgICAgdW5zaWduZWQgZmlyc3RFeHBsaWNpdFBvc2l0aW9uKCkgY29uc3Q7CiAKICAgICBjb25z
dCBWZWN0b3I8dW5zaWduZWQ+KiBtX25hbWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OwogICAg
IGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4qIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzIHsg
bnVsbHB0ciB9OworICAgIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4qIG1faW1wbGljaXROYW1lZExp
bmVzSW5kZXhlcyB7IG51bGxwdHIgfTsKIAogICAgIHVuc2lnbmVkIG1faW5zZXJ0aW9uUG9pbnQ7
CiAgICAgdW5zaWduZWQgbV9sYXN0TGluZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggNTZmMDM2MWU5Y2Q1MTRmMTk5NGYwYjJhNWVkMzgwYTY5
MTg0NjM2ZS4uYzVmOTMwZmViYzE4ZDYyODk4NGU5Yzk2ZjFlYTZjNzk4NTM0YjA5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUzOSw2ICs1
MzksOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGF1dG9SZXBlYXRO
YW1lZEdyaWRSb3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEt
PmdyaWQtPmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lczsgfQogICAgIGNvbnN0IE9yZGVyZWRO
YW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcygp
IGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmF1dG9SZXBlYXRP
cmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXM7IH0KICAgICBjb25zdCBPcmRlcmVkTmFtZWRHcmlk
TGluZXNNYXAmIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5hdXRvUmVwZWF0T3JkZXJlZE5hbWVk
R3JpZFJvd0xpbmVzOyB9CisgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGltcGxpY2l0TmFt
ZWRHcmlkQ29sdW1uTGluZXMoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LT5ncmlkLT5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzOyB9CisgICAgY29uc3QgTmFtZWRH
cmlkTGluZXNNYXAmIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoKSBjb25zdCB7IHJldHVybiBt
X3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5pbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzOyB9
CiAgICAgY29uc3QgTmFtZWRHcmlkQXJlYU1hcCYgbmFtZWRHcmlkQXJlYSgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPm5hbWVkR3JpZEFyZWE7IH0KICAgICBz
aXplX3QgbmFtZWRHcmlkQXJlYVJvd0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5o
ZXJpdGVkRGF0YS0+Z3JpZC0+bmFtZWRHcmlkQXJlYVJvd0NvdW50OyB9CiAgICAgc2l6ZV90IG5h
bWVkR3JpZEFyZWFDb2x1bW5Db3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmdyaWQtPm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudDsgfQpAQCAtMTExMCw2ICsxMTEy
LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzKGNv
bnN0IE5hbWVkR3JpZExpbmVzTWFwJiBuYW1lZEdyaWRSb3dMaW5lcykgeyBTRVRfTkVTVEVEX1ZB
UihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBhdXRvUmVwZWF0TmFtZWRHcmlkUm93TGlu
ZXMsIG5hbWVkR3JpZFJvd0xpbmVzKTsgfQogICAgIHZvaWQgc2V0QXV0b1JlcGVhdE9yZGVyZWRO
YW1lZEdyaWRDb2x1bW5MaW5lcyhjb25zdCBPcmRlcmVkTmFtZWRHcmlkTGluZXNNYXAmIG9yZGVy
ZWROYW1lZEdyaWRDb2x1bW5MaW5lcykgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLCBncmlkLCBhdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzLCBvcmRl
cmVkTmFtZWRHcmlkQ29sdW1uTGluZXMpOyB9CiAgICAgdm9pZCBzZXRBdXRvUmVwZWF0T3JkZXJl
ZE5hbWVkR3JpZFJvd0xpbmVzKGNvbnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgb3JkZXJl
ZE5hbWVkR3JpZFJvd0xpbmVzKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERh
dGEsIGdyaWQsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMsIG9yZGVyZWROYW1l
ZEdyaWRSb3dMaW5lcyk7IH0KKyAgICB2b2lkIHNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGlu
ZXMoY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIG5hbWVkR3JpZENvbHVtbkxpbmVzKSB7IFNFVF9O
RVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGltcGxpY2l0TmFtZWRHcmlk
Q29sdW1uTGluZXMsIG5hbWVkR3JpZENvbHVtbkxpbmVzKTsgfQorICAgIHZvaWQgc2V0SW1wbGlj
aXROYW1lZEdyaWRSb3dMaW5lcyhjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgbmFtZWRHcmlkUm93
TGluZXMpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgaW1w
bGljaXROYW1lZEdyaWRSb3dMaW5lcywgbmFtZWRHcmlkUm93TGluZXMpOyB9CiAgICAgdm9pZCBz
ZXROYW1lZEdyaWRBcmVhKGNvbnN0IE5hbWVkR3JpZEFyZWFNYXAmIG5hbWVkR3JpZEFyZWEpIHsg
U0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgbmFtZWRHcmlkQXJl
YSwgbmFtZWRHcmlkQXJlYSk7IH0KICAgICB2b2lkIHNldE5hbWVkR3JpZEFyZWFSb3dDb3VudChz
aXplX3Qgcm93Q291bnQpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwg
Z3JpZCwgbmFtZWRHcmlkQXJlYVJvd0NvdW50LCByb3dDb3VudCk7IH0KICAgICB2b2lkIHNldE5h
bWVkR3JpZEFyZWFDb2x1bW5Db3VudChzaXplX3QgY29sdW1uQ291bnQpIHsgU0VUX05FU1RFRF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgbmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50
LCBjb2x1bW5Db3VudCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUdyaWREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUdyaWREYXRhLmNwcAppbmRleCA0MGQ5ZGM5YTgxODkxMTdjZDE3YjY1MWQ4ZjIyNzQ4NTYz
ZjMyZDU2Li41NjZmM2JiMWY3NDFmMDY1MzYzYjg0YTBkODIzMjBiZmU0MjY3ODU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCkBAIC00
MSw2ICs0MSw4IEBAIFN0eWxlR3JpZERhdGE6OlN0eWxlR3JpZERhdGEoKQogICAgICwgYXV0b1Jl
cGVhdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlkUm93TGlu
ZXMoKSkKICAgICAsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMoUmVuZGVy
U3R5bGU6OmluaXRpYWxPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMoKSkKICAgICAsIGF1dG9S
ZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoUmVuZGVyU3R5bGU6OmluaXRpYWxPcmRlcmVk
TmFtZWRHcmlkUm93TGluZXMoKSkKKyAgICAsIGltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMo
UmVuZGVyU3R5bGU6OmluaXRpYWxOYW1lZEdyaWRDb2x1bW5MaW5lcygpKQorICAgICwgaW1wbGlj
aXROYW1lZEdyaWRSb3dMaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE5hbWVkR3JpZFJvd0xpbmVz
KCkpCiAgICAgLCBncmlkQXV0b0Zsb3coUmVuZGVyU3R5bGU6OmluaXRpYWxHcmlkQXV0b0Zsb3co
KSkKICAgICAsIGdyaWRBdXRvUm93cyhSZW5kZXJTdHlsZTo6aW5pdGlhbEdyaWRBdXRvUm93cygp
KQogICAgICwgZ3JpZEF1dG9Db2x1bW5zKFJlbmRlclN0eWxlOjppbml0aWFsR3JpZEF1dG9Db2x1
bW5zKCkpCkBAIC02OCw2ICs3MCw4IEBAIGlubGluZSBTdHlsZUdyaWREYXRhOjpTdHlsZUdyaWRE
YXRhKGNvbnN0IFN0eWxlR3JpZERhdGEmIG8pCiAgICAgLCBhdXRvUmVwZWF0TmFtZWRHcmlkUm93
TGluZXMoby5hdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMpCiAgICAgLCBhdXRvUmVwZWF0T3Jk
ZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKG8uYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1
bW5MaW5lcykKICAgICAsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoby5hdXRv
UmVwZWF0T3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzKQorICAgICwgaW1wbGljaXROYW1lZEdyaWRD
b2x1bW5MaW5lcyhvLmltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMpCisgICAgLCBpbXBsaWNp
dE5hbWVkR3JpZFJvd0xpbmVzKG8uaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcykKICAgICAsIGdy
aWRBdXRvRmxvdyhvLmdyaWRBdXRvRmxvdykKICAgICAsIGdyaWRBdXRvUm93cyhvLmdyaWRBdXRv
Um93cykKICAgICAsIGdyaWRBdXRvQ29sdW1ucyhvLmdyaWRBdXRvQ29sdW1ucykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWREYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oCmluZGV4IDgwNGM3NDg1
MTFiMzg2Yjg0NDEwOTE3YmI2YTQ1MzY4Zjk4YzgzM2YuLmM2NzdkMDc5ODY3YzEyNjUyZDk5MmVm
ZWQ1MjA0YmUwZTkyNGQzZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dHlsZS9TdHlsZUdyaWREYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZERhdGEuaApAQCAtNTEsNiArNTEsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAm
JiBuYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLm5hbWVkR3JpZENvbHVtbkxpbmVzICYmIG5hbWVk
R3JpZFJvd0xpbmVzID09IG8ubmFtZWRHcmlkUm93TGluZXMKICAgICAgICAgICAgICYmIGF1dG9S
ZXBlYXROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLmF1dG9SZXBlYXROYW1lZEdyaWRDb2x1bW5M
aW5lcyAmJiBhdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMgPT0gby5hdXRvUmVwZWF0TmFtZWRH
cmlkUm93TGluZXMKICAgICAgICAgICAgICYmIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29s
dW1uTGluZXMgPT0gby5hdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzICYmIGF1
dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMgPT0gby5hdXRvUmVwZWF0T3JkZXJlZE5h
bWVkR3JpZFJvd0xpbmVzCisgICAgICAgICAgICAmJiBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxp
bmVzID09IG8uaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyAmJiBpbXBsaWNpdE5hbWVkR3Jp
ZFJvd0xpbmVzID09IG8uaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYg
bmFtZWRHcmlkQXJlYSA9PSBvLm5hbWVkR3JpZEFyZWEgJiYgbmFtZWRHcmlkQXJlYSA9PSBvLm5h
bWVkR3JpZEFyZWEKICAgICAgICAgICAgICYmIG5hbWVkR3JpZEFyZWFSb3dDb3VudCA9PSBvLm5h
bWVkR3JpZEFyZWFSb3dDb3VudCAmJiBuYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQgPT0gby5uYW1l
ZEdyaWRBcmVhQ29sdW1uQ291bnQKICAgICAgICAgICAgICYmIG9yZGVyZWROYW1lZEdyaWRSb3dM
aW5lcyA9PSBvLm9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyAmJiBvcmRlcmVkTmFtZWRHcmlkQ29s
dW1uTGluZXMgPT0gby5vcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMKQEAgLTc4LDYgKzc5LDkg
QEAgcHVibGljOgogICAgIE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCBhdXRvUmVwZWF0T3JkZXJl
ZE5hbWVkR3JpZENvbHVtbkxpbmVzOwogICAgIE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCBhdXRv
UmVwZWF0T3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzOwogCisgICAgTmFtZWRHcmlkTGluZXNNYXAg
aW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lczsKKyAgICBOYW1lZEdyaWRMaW5lc01hcCBpbXBs
aWNpdE5hbWVkR3JpZFJvd0xpbmVzOworCiAgICAgdW5zaWduZWQgZ3JpZEF1dG9GbG93IDogR3Jp
ZEF1dG9GbG93Qml0czsKIAogICAgIFZlY3RvcjxHcmlkVHJhY2tTaXplPiBncmlkQXV0b1Jvd3M7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUJ1aWxkZXJDdXN0b20uaCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1c3RvbS5oCmluZGV4IGMzNTBlZTU5
MzBhN2Y3N2E1MDU4NzBiMDNkOTJlNDA1MjQ0YTA2YjguLjdiNWZmNjEyOTk1YmUxNGU3ZDA3Mjky
MGZhYWQ2YWE1ZTdjYzlkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
QnVpbGRlckN1c3RvbS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQnVpbGRlckN1
c3RvbS5oCkBAIC0xNjU5LDEyICsxNjU5LDEyIEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206
OmFwcGx5VmFsdWVHcmlkVGVtcGxhdGVBcmVhcyhCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0CiAg
ICAgYXV0byYgZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZSA9IGRvd25jYXN0PENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWU+KHZhbHVlKTsKICAgICBjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBuZXdOYW1l
ZEdyaWRBcmVhcyA9IGdyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuZ3JpZEFyZWFNYXAoKTsKIAotICAg
IE5hbWVkR3JpZExpbmVzTWFwIG5hbWVkR3JpZENvbHVtbkxpbmVzID0gYnVpbGRlclN0YXRlLnN0
eWxlKCkubmFtZWRHcmlkQ29sdW1uTGluZXMoKTsKLSAgICBOYW1lZEdyaWRMaW5lc01hcCBuYW1l
ZEdyaWRSb3dMaW5lcyA9IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLm5hbWVkR3JpZFJvd0xpbmVzKCk7
Ci0gICAgQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRlSW1wbGljaXROYW1lZEdyaWRMaW5lc0Zyb21H
cmlkQXJlYShuZXdOYW1lZEdyaWRBcmVhcywgbmFtZWRHcmlkQ29sdW1uTGluZXMsIEZvckNvbHVt
bnMpOwotICAgIEJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNG
cm9tR3JpZEFyZWEobmV3TmFtZWRHcmlkQXJlYXMsIG5hbWVkR3JpZFJvd0xpbmVzLCBGb3JSb3dz
KTsKLSAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRDb2x1bW5MaW5lcyhuYW1l
ZEdyaWRDb2x1bW5MaW5lcyk7Ci0gICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0TmFtZWRHcmlk
Um93TGluZXMobmFtZWRHcmlkUm93TGluZXMpOworICAgIE5hbWVkR3JpZExpbmVzTWFwIGltcGxp
Y2l0TmFtZWRHcmlkQ29sdW1uTGluZXM7CisgICAgTmFtZWRHcmlkTGluZXNNYXAgaW1wbGljaXRO
YW1lZEdyaWRSb3dMaW5lczsKKyAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVJbXBsaWNpdE5h
bWVkR3JpZExpbmVzRnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBpbXBsaWNpdE5hbWVk
R3JpZENvbHVtbkxpbmVzLCBGb3JDb2x1bW5zKTsKKyAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVh
dGVJbXBsaWNpdE5hbWVkR3JpZExpbmVzRnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBp
bXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzLCBGb3JSb3dzKTsKKyAgICBidWlsZGVyU3RhdGUuc3R5
bGUoKS5zZXRJbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKGltcGxpY2l0TmFtZWRHcmlkQ29s
dW1uTGluZXMpOworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlk
Um93TGluZXMoaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyk7CiAKICAgICBidWlsZGVyU3RhdGUu
c3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhKGdyaWRUZW1wbGF0ZUFyZWFzVmFsdWUuZ3JpZEFyZWFN
YXAoKSk7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0TmFtZWRHcmlkQXJlYVJvd0NvdW50
KGdyaWRUZW1wbGF0ZUFyZWFzVmFsdWUucm93Q291bnQoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBjZmQxZjcwZTE5ODA5ODNlNzI3MGNiYmFjMjEyZTRkZDQwYmZmMDBlLi43
OTllYTE3NDU4MjcyZTdhYmQzMDJkOWRmYTdhNzFjY2ZjMmQ5N2U1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0wMy0yNSAgT3Jpb2wgQnJ1ZmF1
ICA8b2JydWZhdUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtjc3MtZ3JpZF0gRml4IHJlZmVyZW5j
aW5nIGdyaWQgbGluZSBuYW1lcyB3aXRoIGF1dG8gcmVwZWF0KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwOTU3MgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcG9ydCBXUFQgdGVzdHMuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNl
bWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi1leHBlY3RlZC54aHQ6IEFkZGVkLgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxh
Y2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50
LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAzLWV4cGVjdGVkLnhodDogQWRkZWQuCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1l
bnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMuaHRtbDogQWRkZWQuCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNp
bmctbmFtZWQtZ3JpZC1saW5lcy0wMDQtZXhwZWN0ZWQueGh0OiBBZGRlZC4KKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11
c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1u
YW1lZC1ncmlkLWxpbmVzLTAwNS1leHBlY3RlZC54aHQ6IEFkZGVkLgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5n
LW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVk
LWdyaWQtbGluZXMtMDA2LWV4cGVjdGVkLnhodDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFt
ZWQtZ3JpZC1saW5lcy0wMDYuaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2c6CisKIDIwMjAtMDMtMjUg
IEZyYW5rIFlhbmcgIDxndW93ZWlfeWFuZ0BhcHBsZS5jb20+CiAgICAgICAgIAogICAgICAgICBX
ZWJLaXQgdXNlcyBBbHBoYWJldGljIEJhc2VsaW5lIHdoZW4gIi13ZWJraXQtdGV4dC1vcmllbnRh
dGlvbiIgaXMgIm1peGVkIiBpbiBWZXJ0aWNhbCBXcml0aW5nIE1vZGUgCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9w
bGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDItZXhwZWN0
ZWQueGh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMt
MDAyLWV4cGVjdGVkLnhodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWExMzc5NDQ4MmE5NGY2YzEwYmQ5ZDRjOTg3
MDRlNjNlZjYwMzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50
LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLWV4cGVjdGVkLnhodApAQCAtMCwwICsxLDE5IEBA
Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VO
IiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8
aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgPGhlYWQ+CisgIDx0
aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9IkfDqXJhcmQgVGFsYm90IiBocmVmPSJodHRwOi8vd3d3Lmd0YWxib3Qub3JnL0Jyb3dz
ZXJCdWdzU2VjdGlvbi9jc3MyMXRlc3RzdWl0ZS8iIC8+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2Nz
cyI+PCFbQ0RBVEFbCisgIGRpdgorICB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOworICBo
ZWlnaHQ6IDEwMHB4OworICB3aWR0aDogMTAwcHg7CisgIH0KKyAgXV0+PC9zdHlsZT4KKyA8L2hl
YWQ+CisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdyZWVu
IHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0cm9uZz4uPC9wPgorICA8ZGl2PjwvZGl2Pgor
IDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11
c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50
LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI1NDAxZDdjZmQ3
MjRhMDY5ZjIxYTFjYTllYTA3OTBjMWEyNmE0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVu
dC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCkBAIC0wLDAg
KzEsMjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxl
PkNTUyBHcmlkIExheW91dCBUZXN0OiBHcmlkIGl0ZW0gcGxhY2VtZW50IHdpdGggbmFtZWQgbGlu
ZSBhbmQgYXV0byByZXBlYXQoKTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik9y
aW9sIEJydWZhdSIgaHJlZj0ibWFpbHRvOm9icnVmYXVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9
ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy1ncmlkLTEvI2xpbmUtcGxhY2Vt
ZW50Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Ii4uLy4uL3JlZmVyZW5jZS9yZWYtZmlsbGVk
LWdyZWVuLTEwMHB4LXNxdWFyZS54aHQiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJH
cmlkIHBsYWNlbWVudCBhbGdvcml0aG0gaXMgYWJsZSB0byBzZWxlY3QgdGhlIDFzdCBsaW5lIGJ5
IG5hbWUgd2hlbiB0aGUgMXN0IHRyYWNrIGlzIGRlZmluZWQgd2l0aCBhdXRvIHJlcGVhdCgpLiI+
Cis8c3R5bGU+CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIHdpZHRoOiAxMDBweDsKKyAg
aGVpZ2h0OiAxMDBweDsKKyAgYmFja2dyb3VuZDogcmVkOworICBncmlkLXRlbXBsYXRlLWNvbHVt
bnM6IFthcmVhLXN0YXJ0XSByZXBlYXQoYXV0by1maWxsLCAxMHB4KSBbYXJlYS1lbmRdOworICBn
cmlkLXRlbXBsYXRlLXJvd3M6IFthcmVhLXN0YXJ0XSByZXBlYXQoYXV0by1maWxsLCAxMHB4IFth
cmVhLXN0YXJ0XSkgW2FyZWEtZW5kXTsKK30KKy5ncmlkID4gZGl2IHsKKyAgZ3JpZC1hcmVhOiBh
cmVhOworICBiYWNrZ3JvdW5kOiBncmVlbjsKK30KKzwvc3R5bGU+Cis8cD5UZXN0IHBhc3NlcyBp
ZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVhcmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJv
bmc+LjwvcD4KKzxkaXYgY2xhc3M9ImdyaWQiPgorICA8ZGl2PjwvZGl2PgorPC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0w
MDMtZXhwZWN0ZWQueGh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdy
aWQtbGluZXMtMDAzLWV4cGVjdGVkLnhodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWExMzc5NDQ4MmE5NGY2YzEw
YmQ5ZDRjOTg3MDRlNjNlZjYwMzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQt
cGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAzLWV4cGVjdGVkLnhodApAQCAtMCww
ICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBT
dHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0
LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgPGhl
YWQ+CisgIDx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3RpdGxlPgorICA8bGluayByZWw9
ImF1dGhvciIgdGl0bGU9IkfDqXJhcmQgVGFsYm90IiBocmVmPSJodHRwOi8vd3d3Lmd0YWxib3Qu
b3JnL0Jyb3dzZXJCdWdzU2VjdGlvbi9jc3MyMXRlc3RzdWl0ZS8iIC8+CisgIDxzdHlsZSB0eXBl
PSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgIGRpdgorICB7CisgIGJhY2tncm91bmQtY29sb3I6IGdy
ZWVuOworICBoZWlnaHQ6IDEwMHB4OworICB3aWR0aDogMTAwcHg7CisgIH0KKyAgXV0+PC9zdHls
ZT4KKyA8L2hlYWQ+CisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIGEgZmls
bGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0cm9uZz4uPC9wPgorICA8ZGl2
PjwvZGl2PgorIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBs
YWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMy5odG1sIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQt
cGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzEx
NzNlMGE0NTVhMDQxNTZjYTg3NTU3NzlkN2EyYWU0YjI0YjEwMwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMy5odG1s
CkBAIC0wLDAgKzEsMjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgi
PgorPHRpdGxlPkNTUyBHcmlkIExheW91dCBUZXN0OiBHcmlkIGl0ZW0gcGxhY2VtZW50IHdpdGgg
bmFtZWQgbGluZSBhbmQgYXV0byByZXBlYXQoKTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIg
dGl0bGU9Ik9yaW9sIEJydWZhdSIgaHJlZj0ibWFpbHRvOm9icnVmYXVAaWdhbGlhLmNvbSI+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMub3JnL1RSL2Nzcy1ncmlkLTEvI2xp
bmUtcGxhY2VtZW50Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Ii4uLy4uL3JlZmVyZW5jZS9y
ZWYtZmlsbGVkLWdyZWVuLTEwMHB4LXNxdWFyZS54aHQiPgorPG1ldGEgbmFtZT0iYXNzZXJ0IiBj
b250ZW50PSJHcmlkIHBsYWNlbWVudCBhbGdvcml0aG0gaXMgYWJsZSB0byBzZWxlY3QgdGhlIHJp
Z2h0IGxpbmUgd2hlbiB0aGVyZSBpcyBhbiBhdXRvIHJlcGVhdCgpLiI+Cis8c3R5bGU+CisuZ3Jp
ZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIHdpZHRoOiAzMDBweDsKKyAgaGVpZ2h0OiAzMDBweDsK
KyAgcG9zaXRpb246IHJlbGF0aXZlOworICB0b3A6IC0yMDBweDsKKyAgbGVmdDogLTIwMHB4Owor
ICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDEwMHB4IDEwMHB4KSBb
YXJlYS1zdGFydF0gMTAwcHggW2FyZWEtZW5kXTsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBl
YXQoYXV0by1maWxsLCAxMDBweCAxMDBweCBbYXJlYS1zdGFydF0pIFthcmVhLXN0YXJ0XSAxMDBw
eCBbYXJlYS1lbmRdOworfQorLmdyaWQgPiBkaXYgeworICBncmlkLWFyZWE6IGFyZWE7CisgIGJh
Y2tncm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT4KKzxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlz
IGEgZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0cm9uZz4uPC9wPgor
PGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXY+PC9kaXY+Cis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNC1leHBlY3Rl
ZC54aHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0w
MDQtZXhwZWN0ZWQueGh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YTEzNzk0NDgyYTk0ZjZjMTBiZDlkNGM5ODcw
NGU2M2VmNjAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQt
dXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQtZXhwZWN0ZWQueGh0CkBAIC0wLDAgKzEsMTkgQEAK
KzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4i
ICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxo
dG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyA8aGVhZD4KKyAgPHRp
dGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iR8OpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3RhbGJvdC5vcmcvQnJvd3Nl
ckJ1Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyIgLz4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3Nz
Ij48IVtDREFUQVsKKyAgZGl2CisgIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgIGhl
aWdodDogMTAwcHg7CisgIHdpZHRoOiAxMDBweDsKKyAgfQorICBdXT48L3N0eWxlPgorIDwvaGVh
ZD4KKyA8Ym9keT4KKyAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4g
c3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+CisgIDxkaXY+PC9kaXY+Cisg
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVz
aW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQt
dXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzNiMWE5ZWU5ZWM3
Zjk3MmRmNzJiODY1OGJhZTUzYzgxNjNmZDVlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50
L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA0Lmh0bWwKQEAgLTAsMCAr
MSwyNCBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+
Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IEdyaWQgaXRlbSBwbGFjZW1lbnQgd2l0aCAnJmx0O2ludGVn
ZXImZ3Q7ICYmICZsdDtjdXN0b20taWRlbnQmZ3Q7JyBhbmQgYXV0byByZXBlYXQoKTwvdGl0bGU+
Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9Ik9yaW9sIEJydWZhdSIgaHJlZj0ibWFpbHRvOm9i
cnVmYXVAaWdhbGlhLmNvbSI+Cis8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHA6Ly93d3cudzMu
b3JnL1RSL2Nzcy1ncmlkLTEvI2xpbmUtcGxhY2VtZW50Ij4KKzxsaW5rIHJlbD0ibWF0Y2giIGhy
ZWY9Ii4uLy4uL3JlZmVyZW5jZS9yZWYtZmlsbGVkLWdyZWVuLTEwMHB4LXNxdWFyZS54aHQiPgor
PG1ldGEgbmFtZT0iYXNzZXJ0IiBjb250ZW50PSJHcmlkIHBsYWNlbWVudCBhbGdvcml0aG0gaXMg
YWJsZSB0byBzZWxlY3QgdGhlIHJpZ2h0IGxpbmUgd2hlbiB1c2luZyB0aGUgJzxpbnRlZ2VyPiAm
JiA8Y3VzdG9tLWlkZW50Picgc3ludGF4IGFuZCB0aGVyZSBpcyBhbiBhdXRvIHJlcGVhdCgpLiI+
Cis8c3R5bGU+CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIHdpZHRoOiAzMDBweDsKKyAg
aGVpZ2h0OiAzMDBweDsKKyAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbZm9vXSByZXBlYXQoYXV0
by1maWxsLCAxMDBweCBbZm9vXSk7CisgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KGF1dG8t
ZmlsbCwgW2Zvb10gMTAwcHgpOworfQorLmdyaWQgPiBkaXYgeworICBncmlkLWFyZWE6IDEgZm9v
IC8gMSBmb287CisgIGJhY2tncm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT4KKzxwPlRlc3QgcGFz
c2VzIGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8
L3N0cm9uZz4uPC9wPgorPGRpdiBjbGFzcz0iZ3JpZCI+CisgIDxkaXY+PC9kaXY+Cis8L2Rpdj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxp
bmVzLTAwNS1leHBlY3RlZC54aHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFt
ZWQtZ3JpZC1saW5lcy0wMDUtZXhwZWN0ZWQueGh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YTEzNzk0NDgyYTk0
ZjZjMTBiZDlkNGM5ODcwNGU2M2VmNjAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUtZXhwZWN0ZWQueGh0CkBA
IC0wLDAgKzEsMTkgQEAKKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwg
MS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1z
dHJpY3QuZHRkIj4KKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4K
KyA8aGVhZD4KKyAgPHRpdGxlPkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+CisgIDxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iR8OpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3Rh
bGJvdC5vcmcvQnJvd3NlckJ1Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyIgLz4KKyAgPHN0eWxl
IHR5cGU9InRleHQvY3NzIj48IVtDREFUQVsKKyAgZGl2CisgIHsKKyAgYmFja2dyb3VuZC1jb2xv
cjogZ3JlZW47CisgIGhlaWdodDogMTAwcHg7CisgIHdpZHRoOiAxMDBweDsKKyAgfQorICBdXT48
L3N0eWxlPgorIDwvaGVhZD4KKyA8Ym9keT4KKyAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMg
YSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cisg
IDxkaXY+PC9kaXY+CisgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dy
aWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWwgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yMGQ5Mjk4OTU1ZjY5MmIyYzQyMTEzYTc0N2NhNTI2MjdmMjk3ODhiCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1
Lmh0bWwKQEAgLTAsMCArMSwyNSBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8dGl0bGU+Q1NTIEdyaWQgTGF5b3V0IFRlc3Q6IEdyaWQgaXRlbSBwbGFjZW1lbnQg
d2l0aCBpbXBsaWNpdCBuYW1lZCBsaW5lIGFuZCBhdXRvIHJlcGVhdCgpPC90aXRsZT4KKzxsaW5r
IHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBp
Z2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIv
Y3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4v
Li4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBu
YW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkdyaWQgcGxhY2VtZW50IGFsZ29yaXRobSBpcyBhYmxlIHRv
IHNlbGVjdCB0aGUgcmlnaHQgbGluZSB3aGVuIGRlZmluZWQgaW1wbGljaXRseSB3aXRoIGdyaWQt
dGVtcGxhdGUtYXJlYXMuIj4KKzxzdHlsZT4KKy5ncmlkIHsKKyAgZGlzcGxheTogZ3JpZDsKKyAg
d2lkdGg6IDMwMHB4OworICBoZWlnaHQ6IDMwMHB4OworICBncmlkLXRlbXBsYXRlLWFyZWFzOiAi
YXJlYSI7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgMTAwcHgp
OworICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdChhdXRvLWZpbGwsIDEwMHB4KSBbYXJlYS1l
bmRdIDEwMHB4OworfQorLmdyaWQgPiBkaXYgeworICBncmlkLWFyZWE6IGFyZWE7CisgIGJhY2tn
cm91bmQ6IGdyZWVuOworfQorPC9zdHlsZT4KKzxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIGEg
ZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0cm9uZz4uPC9wPgorPGRp
diBjbGFzcz0iZ3JpZCI+CisgIDxkaXY+PC9kaXY+Cis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi1leHBlY3RlZC54
aHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDYt
ZXhwZWN0ZWQueGh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YTEzNzk0NDgyYTk0ZjZjMTBiZDlkNGM5ODcwNGU2
M2VmNjAzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNp
bmctbmFtZWQtZ3JpZC1saW5lcy0wMDYtZXhwZWN0ZWQueGh0CkBAIC0wLDAgKzEsMTkgQEAKKzwh
RE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJo
dHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKzxodG1s
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4KKyA8aGVhZD4KKyAgPHRpdGxl
PkNTUyBSZWZ0ZXN0IFJlZmVyZW5jZTwvdGl0bGU+CisgIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRs
ZT0iR8OpcmFyZCBUYWxib3QiIGhyZWY9Imh0dHA6Ly93d3cuZ3RhbGJvdC5vcmcvQnJvd3NlckJ1
Z3NTZWN0aW9uL2NzczIxdGVzdHN1aXRlLyIgLz4KKyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj48
IVtDREFUQVsKKyAgZGl2CisgIHsKKyAgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47CisgIGhlaWdo
dDogMTAwcHg7CisgIHdpZHRoOiAxMDBweDsKKyAgfQorICBdXT48L3N0eWxlPgorIDwvaGVhZD4K
KyA8Ym9keT4KKyAgPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1
YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+CisgIDxkaXY+PC9kaXY+CisgPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5n
LW5hbWVkLWdyaWQtbGluZXMtMDA2Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNp
bmctbmFtZWQtZ3JpZC1saW5lcy0wMDYuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDU4NThmNzNjNWFiMTdi
MGE4MjE2N2ZlNjM5OTEzMGFjMWRkZWJhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dy
aWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA2Lmh0bWwKQEAgLTAsMCArMSwy
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8dGl0bGU+Q1NT
IEdyaWQgTGF5b3V0IFRlc3Q6IEdyaWQgaXRlbSBwbGFjZW1lbnQgd2l0aCBpbXBsaWNpdCBuYW1l
ZCBsaW5lLCAnJmx0O2ludGVnZXImZ3Q7ICYmICZsdDtjdXN0b20taWRlbnQmZ3Q7JywgYW5kIGF1
dG8gcmVwZWF0KCk8L3RpdGxlPgorPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJPcmlvbCBCcnVm
YXUiIGhyZWY9Im1haWx0bzpvYnJ1ZmF1QGlnYWxpYS5jb20iPgorPGxpbmsgcmVsPSJoZWxwIiBo
cmVmPSJodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MtZ3JpZC0xLyNsaW5lLXBsYWNlbWVudCI+Cis8
bGluayByZWw9Im1hdGNoIiBocmVmPSIuLi8uLi9yZWZlcmVuY2UvcmVmLWZpbGxlZC1ncmVlbi0x
MDBweC1zcXVhcmUueGh0Ij4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iR3JpZCBwbGFj
ZW1lbnQgYWxnb3JpdGhtIGlzIGFibGUgdG8gc2VsZWN0IHRoZSByaWdodCBsaW5lIHdoZW4gZGVm
aW5lZCBpbXBsaWNpdGx5IHdpdGggZ3JpZC10ZW1wbGF0ZS1hcmVhcywgcmVmZXJlbmNlZCB1c2lu
ZyB0aGUgJzxpbnRlZ2VyPiAmJiA8Y3VzdG9tLWlkZW50Picgc3ludGF4LCBhbmQgd2l0aCBhdXRv
IHJlcGVhdCgpLiI+Cis8c3R5bGU+CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIHdpZHRo
OiAzMDBweDsKKyAgaGVpZ2h0OiAzMDBweDsKKyAgbWFyZ2luLWxlZnQ6IC0xMDBweDsKKyAgbWFy
Z2luLXRvcDogLTEwMHB4OworICBncmlkLXRlbXBsYXRlLWFyZWFzOiAiLiAuIiAiLiBmb28iOwor
ICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIDEwMHB4KSBbZm9vLXN0
YXJ0XTsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoYXV0by1maWxsLCAxMDBweCkgW2Zv
by1zdGFydF07Cit9CisuZ3JpZCA+IGRpdiB7CisgIGdyaWQtYXJlYTogMSBmb28tc3RhcnQgLyAx
IGZvby1zdGFydDsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBw
YXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJl
ZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNzPSJncmlkIj4KKyAgPGRpdj48L2Rpdj4KKzwvZGl2
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L3czYy1p
bXBvcnQubG9nCmluZGV4IGNkMWM1MGUwZDM0Yzk4MGQ0ODQwYjk5MDA5NjBhOWIxMzc3NmZiNDgu
LjkwMzJkNjA4YmE1MWJmZjZjYzk2MjlkYmYzZTc1MmEyMGNiM2VlOTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC93M2MtaW1wb3J0LmxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2cKQEAg
LTI0LDMgKzI0LDEzIEBAIExpc3Qgb2YgZmlsZXM6CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtbGF5b3V0LXBs
YWNlbWVudC1zaG9ydGhhbmRzLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDEtZXhwZWN0ZWQueGh0CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAxLmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFj
ZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDItZXhwZWN0ZWQueGh0CisvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50
L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAyLmh0bWwKKy9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDMtZXhwZWN0ZWQueGh0
CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDAzLmh0
bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQt
ZXhwZWN0ZWQueGh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQt
bGluZXMtMDA0Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3Jp
ZC1saW5lcy0wMDUtZXhwZWN0ZWQueGh0CisvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5n
LW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWwKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNp
bmctbmFtZWQtZ3JpZC1saW5lcy0wMDYtZXhwZWN0ZWQueGh0CisvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxh
Y2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA2Lmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400396</attachid>
            <date>2020-05-27 15:48:39 -0700</date>
            <delta_ts>2020-05-27 15:51:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209572-20200528004837.patch</filename>
            <type>text/plain</type>
            <size>30909</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkM2ViZjM4ZDk1ZDdj
MGE2NDM2Y2FhYWZmZjcyMGRlNmMwZjYwZi4uODUwMDk1Nzk3MjA3YTlhMDgxY2Q0ZTk4OTM3MTk4
ZDgzMDRhMjE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIwLTA1LTI3ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXgg
cmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBt
dWx0aXBsZSBwcm9ibGVtcyB3aGVuIHJlZmVyZW5jaW5nIG5hbWVkIGdyaWQgbGluZXMgd2l0aCB0
aGUgcHJlc2VuY2Ugb2YKKyAgICAgICAgdGhlIGF1dG8gcmVwZWF0KCkgc3ludGF4OgorCisgICAg
ICAgICAgLSBJZiB0aGUgMXN0IHRyYWNrIHdhcyBkZWZpbmVkIHdpdGggYXV0byByZXBlYXQoKSwg
dGhlbiB0aGUgY29kZSB1c2VkIHRvIGFzc3VtZSB0aGF0IHRoZQorICAgICAgICAgICAgcmVmZXJl
bmNlZCBsaW5lIGFwcGVhcmVkIGFmdGVyIHRoZSByZXBlYXRlZCB0cmFja3MuIEJ1dCBpdCBtYXkg
YWN0dWFsbHkgcHJlY2VkZSB0aGVtLgorCisgICAgICAgICAgLSBJZiB0aGUgcmVmZXJlbmNlZCBs
aW5lIGFwcGVhcmVkIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBhdXRvIHJlcGVhdCgpLCB0
aGVuIGl0CisgICAgICAgICAgICBjb3VsZCByZXNvbHZlIHRvIHRoZSBvdXRzaWRlIHJhdyBpbmRl
eCwgd2l0aG91dCBleHBhbmRpbmcgdGhlIGF1dG8gcmVwZWF0KCkuCisKKyAgICAgICAgICAtIFRo
ZSBsb2dpYyBmb3IgcGxhY2luZyBhIHBsYWNlbWVudCBwcm9wZXJ0eSBzZXQgdG8gYm90aCBhbiBp
bnRlZ2VyIGFuZCBhbiBpZGVudGlmaWVyCisgICAgICAgICAgICB3YXMgd3Jvbmcgd2l0aCBhdXRv
IHJlcGVhdCgpLgorICAgICAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUg
c2FtZSBwcm9wZXIgbG9naWMgdGhhdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbgorICAgICAg
ICAgICAgT3JkZXJlZE5hbWVkTGluZXNDb2xsZWN0b3JJbkdyaWRMYXlvdXQ6OmNvbGxlY3RMaW5l
TmFtZXNGb3JJbmRleAorCisgICAgICAgICAgLSBUaGUgaW5kaWNlcyBvZiBib3RoIGltcGxpY2l0
IGdyaWQgbGluZXMgZGVmaW5lZCB3aXRoIGdyaWQtdGVtcGxhdGUtYXJlYXMgYW5kIGV4cGxpY2l0
CisgICAgICAgICAgICBvbmVzIGRlZmluZWQgd2l0aCBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1u
cyB1c2VkIHRvIGJlIHN0b3JlZCB0b2dldGhlciBpbgorICAgICAgICAgICAgTmFtZWRHcmlkQ29s
dW1uTGluZXMgYW5kIE5hbWVkR3JpZFJvd0xpbmVzLiBUaGlzIHdhcyBwcm9ibGVtYXRpYyBiZWNh
dXNlIHRoZSBmb3JtZXIKKyAgICAgICAgICAgIGluZGljZXMgYWxyZWFkeSByZWZlciB0byB0aGUg
ZmluYWwgZXhwbGljaXQgZ3JpZCBzbyB0aGV5IGRvbid0IGhhdmUgdG8gYmUgaW5jcmVhc2VkIHdo
ZW4KKyAgICAgICAgICAgIGV4cGFuZGluZyBhbiBhdXRvIHJlcGVhdCgpLCBidXQgdGhlIGxhdHRl
ciBvbmVzIHNob3VsZC4KKyAgICAgICAgICAgIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBzdG9yZXMg
dGhlIGluZGljZXMgaW4gc2VwYXJhdGUgZmllbGRzIGFuZCB1c2VzIHRoZSBjb3JyZWN0IGxvZ2lj
CisgICAgICAgICAgICBmb3IgZWFjaCBvbmUuIFRoaXMgYWxzbyBmaXhlcyAnZ3JpZC10ZW1wbGF0
ZS1hcmVhczogaW5oZXJpdCcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHBvcnQgb2YgdGhl
c2UgQ2hyb21pdW0gcGF0Y2hlczoKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NDQy
NgorICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzQ1OTI1CisgICAgICAgICAgLSBodHRw
czovL2NycmV2LmNvbS83NDc2MzEKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NzY2
OQorICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzcyMDEyCisKKyAgICAgICAgVGVzdHM6
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9n
cmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxh
Y2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDku
aHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xs
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246Omhhc0V4cGxp
Y2l0TmFtZWRMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0
aW9uOjpoYXNOYW1lZExpbmVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNv
bGxlY3Rpb246OmNvbnRhaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNv
bGxlY3Rpb246OmZpcnN0RXhwbGljaXRQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpOYW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
aW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdHlsZTo6aW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5l
cyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlkRGF0YSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3Jp
ZERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1
c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5p
dGlhbEdyaWRUZW1wbGF0ZUFyZWFzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVy
Q3VzdG9tOjphcHBseUluaGVyaXRHcmlkVGVtcGxhdGVBcmVhcyk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUdyaWRUZW1wbGF0ZUFyZWFzKToKKwog
MjAyMC0wNS0yMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBpT1M6IFByZXNzaW5nIHRhYiBpbiB0aGUgTWFpbCBzdWJqZWN0IGZpZWxkIG1vdmVzIGZv
Y3VzIHRvIHRoZSBib2R5LCBidXQgcHJlc3Npbmcgc2hpZnQgdGFiIGRvZXNuJ3QgbW92ZSBpdCBi
YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0
aW9uc1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9z
aXRpb25zUmVzb2x2ZXIuY3BwCmluZGV4IDNkOTk4MTMxNjI1NGZlYzcyYTMwN2E3N2JmZjA3ZmNm
NDNkNmNjNTUuLjMzYzcwM2M1ZjA2ZmE2NWEzZjZmYmRhMmRlNzZkZWEzZmI2MWI4ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25z
UmVzb2x2ZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBAIE5hbWVkTGluZUNvbGxlY3Rpb246Ok5hbWVk
TGluZUNvbGxlY3Rpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwKICAg
ICBib29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zOwogICAgIGNvbnN0IE5h
bWVkR3JpZExpbmVzTWFwJiBncmlkTGluZU5hbWVzID0gaXNSb3dBeGlzID8gZ3JpZENvbnRhaW5l
clN0eWxlLm5hbWVkR3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUubmFtZWRH
cmlkUm93TGluZXMoKTsKICAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdEdy
aWRMaW5lTmFtZXMgPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5h
bWVkR3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5hbWVk
R3JpZFJvd0xpbmVzKCk7CisgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGltcGxpY2l0R3Jp
ZExpbmVOYW1lcyA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHlsZS5pbXBsaWNpdE5hbWVk
R3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuaW1wbGljaXROYW1lZEdyaWRS
b3dMaW5lcygpOwogCiAgICAgYXV0byBsaW5lc0l0ZXJhdG9yID0gZ3JpZExpbmVOYW1lcy5maW5k
KG5hbWVkTGluZSk7CiAgICAgbV9uYW1lZExpbmVzSW5kZXhlcyA9IGxpbmVzSXRlcmF0b3IgPT0g
Z3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmbGluZXNJdGVyYXRvci0+dmFsdWU7CkBA
IC03MSw2OCArNzIsODQgQEAgTmFtZWRMaW5lQ29sbGVjdGlvbjo6TmFtZWRMaW5lQ29sbGVjdGlv
bihjb25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLAogICAgIGF1dG8gYXV0b1Jl
cGVhdExpbmVzSXRlcmF0b3IgPSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5maW5kKG5hbWVkTGlu
ZSk7CiAgICAgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMgPSBhdXRvUmVwZWF0TGluZXNJ
dGVyYXRvciA9PSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmYXV0
b1JlcGVhdExpbmVzSXRlcmF0b3ItPnZhbHVlOwogCisgICAgYXV0byBpbXBsaWNpdEdyaWRMaW5l
c0l0ZXJhdG9yID0gaW1wbGljaXRHcmlkTGluZU5hbWVzLmZpbmQobmFtZWRMaW5lKTsKKyAgICBt
X2ltcGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMgPSBpbXBsaWNpdEdyaWRMaW5lc0l0ZXJhdG9yID09
IGltcGxpY2l0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmaW1wbGljaXRHcmlkTGlu
ZXNJdGVyYXRvci0+dmFsdWU7CisKICAgICBtX2luc2VydGlvblBvaW50ID0gaXNSb3dBeGlzID8g
Z3JpZENvbnRhaW5lclN0eWxlLmdyaWRBdXRvUmVwZWF0Q29sdW1uc0luc2VydGlvblBvaW50KCkg
OiBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZEF1dG9SZXBlYXRSb3dzSW5zZXJ0aW9uUG9pbnQoKTsK
IAogICAgIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCA9IGlzUm93QXhpcyA/IGdyaWRDb250
YWluZXJTdHlsZS5ncmlkQXV0b1JlcGVhdENvbHVtbnMoKS5zaXplKCkgOiBncmlkQ29udGFpbmVy
U3R5bGUuZ3JpZEF1dG9SZXBlYXRSb3dzKCkuc2l6ZSgpOwogfQogCi1ib29sIE5hbWVkTGluZUNv
bGxlY3Rpb246Omhhc05hbWVkTGluZXMoKSBjb25zdAorYm9vbCBOYW1lZExpbmVDb2xsZWN0aW9u
OjpoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSBjb25zdAogewogICAgIHJldHVybiBtX25hbWVkTGlu
ZXNJbmRleGVzIHx8IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzOwogfQogCi1zaXplX3Qg
TmFtZWRMaW5lQ29sbGVjdGlvbjo6ZmluZCh1bnNpZ25lZCBsaW5lKSBjb25zdAorYm9vbCBOYW1l
ZExpbmVDb2xsZWN0aW9uOjpoYXNOYW1lZExpbmVzKCkgY29uc3QKIHsKLSAgICBpZiAobGluZSA+
IG1fbGFzdExpbmUpCi0gICAgICAgIHJldHVybiBub3RGb3VuZDsKLQotICAgIGlmICghbV9hdXRv
UmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMgfHwgbGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCi0gICAg
ICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzID8gbV9uYW1lZExpbmVzSW5kZXhlcy0+Zmlu
ZChsaW5lKSA6IG5vdEZvdW5kOwotCi0gICAgaWYgKGxpbmUgPD0gKG1faW5zZXJ0aW9uUG9pbnQg
KyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcykpIHsKLSAgICAgICAgc2l6ZV90IGxvY2FsSW5kZXgg
PSBsaW5lIC0gbV9pbnNlcnRpb25Qb2ludDsKLQotICAgICAgICBzaXplX3QgaW5kZXhJbkZpcnN0
UmVwZXRpdGlvbiA9IGxvY2FsSW5kZXggJSBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGg7Ci0g
ICAgICAgIGlmIChpbmRleEluRmlyc3RSZXBldGl0aW9uKQotICAgICAgICAgICAgcmV0dXJuIG1f
YXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKGluZGV4SW5GaXJzdFJlcGV0aXRpb24p
OwotCi0gICAgICAgIC8vIFRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4gdGhlIGxhc3QgbGluZSBh
cmUgYWxzbyBwcmVzZW50IGluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBuZXh0Ci0gICAgICAgIC8v
IHJlcGV0aXRpb24gKGlmIGFueSkuIFNhbWUgZm9yIHRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4g
dGhlIGZpcnN0IGxpbmUuCi0gICAgICAgIGlmIChsb2NhbEluZGV4ID09IG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzKQotICAgICAgICAgICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRl
eGVzLT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCk7Ci0gICAgICAgIHNpemVfdCBw
b3NpdGlvbiA9IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKDB1KTsKLSAgICAg
ICAgaWYgKHBvc2l0aW9uICE9IG5vdEZvdW5kKQotICAgICAgICAgICAgcmV0dXJuIHBvc2l0aW9u
OwotICAgICAgICByZXR1cm4gbG9jYWxJbmRleCA/IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRl
eGVzLT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgOiBub3RGb3VuZDsKLSAgICB9
Ci0KLSAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcyA/IG1fbmFtZWRMaW5lc0luZGV4ZXMt
PmZpbmQobGluZSAtIChtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEpKSA6IG5vdEZvdW5kOwor
ICAgIHJldHVybiBoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSB8fCBtX2ltcGxpY2l0TmFtZWRMaW5l
c0luZGV4ZXM7CiB9CiAKIGJvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6Y29udGFpbnModW5zaWdu
ZWQgbGluZSkgY29uc3QKIHsKICAgICBBU1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKLSAgICByZXR1
cm4gZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKworICAgIGlmIChsaW5lID4gbV9sYXN0TGluZSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBjb250YWlucyA9IFtdKGNvbnN0IFZl
Y3Rvcjx1bnNpZ25lZD4qIGluZGV4ZXMsIHVuc2lnbmVkIGxpbmUpIHsKKyAgICAgICAgcmV0dXJu
IGluZGV4ZXMgJiYgaW5kZXhlcy0+ZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKyAgICB9OworCisg
ICAgaWYgKGNvbnRhaW5zKG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcywgbGluZSkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKCFtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgg
fHwgbGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCisgICAgICAgIHJldHVybiBjb250YWlucyhtX25h
bWVkTGluZXNJbmRleGVzLCBsaW5lKTsKKworICAgIEFTU0VSVChtX2F1dG9SZXBlYXRUb3RhbFRy
YWNrcyk7CisKKyAgICBpZiAobGluZSA+IG1faW5zZXJ0aW9uUG9pbnQgKyBtX2F1dG9SZXBlYXRU
b3RhbFRyYWNrcykKKyAgICAgICAgcmV0dXJuIGNvbnRhaW5zKG1fbmFtZWRMaW5lc0luZGV4ZXMs
IGxpbmUgLSAobV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxKSk7CisKKyAgICBpZiAobGluZSA9
PSBtX2luc2VydGlvblBvaW50KQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9uYW1lZExpbmVz
SW5kZXhlcywgbGluZSkgfHwgY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMs
IDApOworCisgICAgaWYgKGxpbmUgPT0gbV9pbnNlcnRpb25Qb2ludCArIG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzKQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5l
c0luZGV4ZXMsIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgfHwgY29udGFpbnMobV9uYW1l
ZExpbmVzSW5kZXhlcywgbV9pbnNlcnRpb25Qb2ludCArIDEpOworCisgICAgc2l6ZV90IGF1dG9S
ZXBlYXRJbmRleEluRmlyc3RSZXBldGl0aW9uID0gKGxpbmUgLSBtX2luc2VydGlvblBvaW50KSAl
IG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aDsKKyAgICBpZiAoIWF1dG9SZXBlYXRJbmRleElu
Rmlyc3RSZXBldGl0aW9uICYmIGNvbnRhaW5zKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
LCBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMsIGF1dG9SZXBl
YXRJbmRleEluRmlyc3RSZXBldGl0aW9uKTsKIH0KIAotdW5zaWduZWQgTmFtZWRMaW5lQ29sbGVj
dGlvbjo6Zmlyc3RQb3NpdGlvbigpIGNvbnN0Cit1bnNpZ25lZCBOYW1lZExpbmVDb2xsZWN0aW9u
OjpmaXJzdEV4cGxpY2l0UG9zaXRpb24oKSBjb25zdAogewotICAgIEFTU0VSVChoYXNOYW1lZExp
bmVzKCkpOworICAgIEFTU0VSVChoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSk7CiAgICAgdW5zaWdu
ZWQgZmlyc3RMaW5lID0gMDsKIAotICAgIGlmICghbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4
ZXMpIHsKLSAgICAgICAgaWYgKCFtX2luc2VydGlvblBvaW50IHx8IG1faW5zZXJ0aW9uUG9pbnQg
PCBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpKQotICAgICAgICAgICAgcmV0dXJu
IG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyAobV9hdXRvUmVwZWF0VG90YWxU
cmFja3MgPyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEgOiAwKTsKKyAgICAvLyBJZiB0aGVy
ZSBpcyBubyBhdXRvIHJlcGVhdCgpLCB0aGVyZSBtdXN0IGJlIHNvbWUgbmFtZWQgbGluZSBvdXRz
aWRlLCByZXR1cm4gdGhlIDFzdCBvbmUuIEFsc28gcmV0dXJuIGl0IGlmIGl0IHByZWNlZGVzIHRo
ZSBhdXRvLXJlcGVhdCgpLgorICAgIGlmICghbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoIHx8
IChtX25hbWVkTGluZXNJbmRleGVzICYmIG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGlu
ZSkgPD0gbV9pbnNlcnRpb25Qb2ludCkpCiAgICAgICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRl
eGVzLT5hdChmaXJzdExpbmUpOwotICAgIH0KIAotICAgIGlmICghbV9uYW1lZExpbmVzSW5kZXhl
cykKKyAgICAvLyBSZXR1cm4gdGhlIDFzdCBuYW1lZCBsaW5lIGluc2lkZSB0aGUgYXV0byByZXBl
YXQoKSwgaWYgYW55LgorICAgIGlmIChtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcykKICAg
ICAgICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUp
ICsgbV9pbnNlcnRpb25Qb2ludDsKIAotICAgIGlmICghbV9pbnNlcnRpb25Qb2ludCkKLSAgICAg
ICAgcmV0dXJuIHN0ZDo6bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyBt
X2F1dG9SZXBlYXRUb3RhbFRyYWNrcywgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMtPmF0
KGZpcnN0TGluZSkpOworICAgIC8vIFRoZSAxc3QgbmFtZWQgbGluZSBtdXN0IGJlIGFmdGVyIHRo
ZSBhdXRvIHJlcGVhdCgpLgorICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJz
dExpbmUpICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxOworfQogCi0gICAgcmV0dXJuIHN0
ZDo6bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSksIG1fYXV0b1JlcGVhdE5h
bWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsgbV9pbnNlcnRpb25Qb2ludCk7Cit1bnNp
Z25lZCBOYW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uKCkgY29uc3QKK3sKKyAgICBB
U1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKKyAgICB1bnNpZ25lZCBmaXJzdExpbmUgPSAwOworICAg
IGlmICghbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzKQorICAgICAgICByZXR1cm4gZmlyc3RF
eHBsaWNpdFBvc2l0aW9uKCk7CisgICAgaWYgKCFoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSkKKyAg
ICAgICAgcmV0dXJuIG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKTsK
KyAgICByZXR1cm4gc3RkOjptaW4oZmlyc3RFeHBsaWNpdFBvc2l0aW9uKCksIG1faW1wbGljaXRO
YW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkanVz
dEdyaWRQb3NpdGlvbnNGcm9tU3R5bGUoY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFBvc2l0aW9uJiBpbml0aWFsUG9zaXRp
b24sIEdyaWRQb3NpdGlvbiYgZmluYWxQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaAppbmRleCA4Y2EyMDli
NmFjM2ExN2I3OTQ2ODk5MmQwMTRjYWQ0OWI5YzBiNDg0Li42MjNiNjJjNmMyNDFkYzEzMDI1MDc4
ZDE1MWY2YTk5MGQ1ZGMxMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5oCkBAIC01NCwxMCArNTQsMTIgQEAgcHVi
bGljOgogICAgIGJvb2wgY29udGFpbnModW5zaWduZWQgbGluZSkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgc2l6ZV90IGZpbmQodW5zaWduZWQgbGluZSkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBs
aWNpdE5hbWVkTGluZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBmaXJzdEV4cGxpY2l0UG9zaXRp
b24oKSBjb25zdDsKIAogICAgIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4qIG1fbmFtZWRMaW5lc0lu
ZGV4ZXMgeyBudWxscHRyIH07CiAgICAgY29uc3QgVmVjdG9yPHVuc2lnbmVkPiogbV9hdXRvUmVw
ZWF0TmFtZWRMaW5lc0luZGV4ZXMgeyBudWxscHRyIH07CisgICAgY29uc3QgVmVjdG9yPHVuc2ln
bmVkPiogbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OwogCiAgICAgdW5z
aWduZWQgbV9pbnNlcnRpb25Qb2ludDsKICAgICB1bnNpZ25lZCBtX2xhc3RMaW5lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA0Y2Y2ZDhmZWYz
NTY3NmFkNzBlOTFmY2ZiNjE1OGNkMmY4MzM4M2Q4Li5kM2MxNWI5YTc0MjE0MTNjNWI4YTZjMDg4
NTBjZjg1Y2E1NjVmN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaApAQCAtNTQwLDYgKzU0MCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBOYW1lZEdy
aWRMaW5lc01hcCYgYXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVz
OyB9CiAgICAgY29uc3QgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwJiBhdXRvUmVwZWF0T3JkZXJl
ZE5hbWVkR3JpZENvbHVtbkxpbmVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lczsgfQogICAg
IGNvbnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRSb3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQt
PmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7IH0KKyAgICBjb25zdCBOYW1lZEdy
aWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGlu
ZXM7IH0KKyAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRSb3dM
aW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxp
Y2l0TmFtZWRHcmlkUm93TGluZXM7IH0KICAgICBjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBuYW1l
ZEdyaWRBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+
bmFtZWRHcmlkQXJlYTsgfQogICAgIHNpemVfdCBuYW1lZEdyaWRBcmVhUm93Q291bnQoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5uYW1lZEdyaWRBcmVhUm93
Q291bnQ7IH0KICAgICBzaXplX3QgbmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+bmFtZWRHcmlkQXJlYUNvbHVtbkNv
dW50OyB9CkBAIC0xMTE2LDYgKzExMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvUmVw
ZWF0TmFtZWRHcmlkUm93TGluZXMoY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIG5hbWVkR3JpZFJv
d0xpbmVzKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1
dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcywgbmFtZWRHcmlkUm93TGluZXMpOyB9CiAgICAgdm9p
ZCBzZXRBdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKGNvbnN0IE9yZGVyZWRO
YW1lZEdyaWRMaW5lc01hcCYgb3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKSB7IFNFVF9ORVNU
RURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1dG9SZXBlYXRPcmRlcmVkTmFt
ZWRHcmlkQ29sdW1uTGluZXMsIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyk7IH0KICAgICB2
b2lkIHNldEF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoY29uc3QgT3JkZXJlZE5h
bWVkR3JpZExpbmVzTWFwJiBvcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpIHsgU0VUX05FU1RFRF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRSb3dMaW5lcywgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzKTsgfQorICAgIHZvaWQgc2V0SW1w
bGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgbmFtZWRH
cmlkQ29sdW1uTGluZXMpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwg
Z3JpZCwgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcywgbmFtZWRHcmlkQ29sdW1uTGluZXMp
OyB9CisgICAgdm9pZCBzZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKGNvbnN0IE5hbWVkR3Jp
ZExpbmVzTWFwJiBuYW1lZEdyaWRSb3dMaW5lcykgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25J
bmhlcml0ZWREYXRhLCBncmlkLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzLCBuYW1lZEdyaWRS
b3dMaW5lcyk7IH0KICAgICB2b2lkIHNldE5hbWVkR3JpZEFyZWEoY29uc3QgTmFtZWRHcmlkQXJl
YU1hcCYgbmFtZWRHcmlkQXJlYSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhLCBuYW1lZEdyaWRBcmVhKTsgfQogICAgIHZvaWQgc2V0
TmFtZWRHcmlkQXJlYVJvd0NvdW50KHNpemVfdCByb3dDb3VudCkgeyBTRVRfTkVTVEVEX1ZBUiht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhUm93Q291bnQsIHJvd0Nv
dW50KTsgfQogICAgIHZvaWQgc2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KHNpemVfdCBjb2x1
bW5Db3VudCkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBu
YW1lZEdyaWRBcmVhQ29sdW1uQ291bnQsIGNvbHVtbkNvdW50KTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCmluZGV4IDQwZDlkYzlhODE4
OTExN2NkMTdiNjUxZDhmMjI3NDg1NjNmMzJkNTYuLjU2NmYzYmIxZjc0MWYwNjUzNjNiODRhMGQ4
MjMyMGJmZTQyNjc4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUdyaWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHcmlkRGF0YS5jcHAKQEAgLTQxLDYgKzQxLDggQEAgU3R5bGVHcmlkRGF0YTo6U3R5bGVH
cmlkRGF0YSgpCiAgICAgLCBhdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMoUmVuZGVyU3R5bGU6
OmluaXRpYWxOYW1lZEdyaWRSb3dMaW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1l
ZEdyaWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRDb2x1
bW5MaW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyhSZW5k
ZXJTdHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcygpKQorICAgICwgaW1wbGlj
aXROYW1lZEdyaWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE5hbWVkR3JpZENvbHVt
bkxpbmVzKCkpCisgICAgLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjpp
bml0aWFsTmFtZWRHcmlkUm93TGluZXMoKSkKICAgICAsIGdyaWRBdXRvRmxvdyhSZW5kZXJTdHls
ZTo6aW5pdGlhbEdyaWRBdXRvRmxvdygpKQogICAgICwgZ3JpZEF1dG9Sb3dzKFJlbmRlclN0eWxl
Ojppbml0aWFsR3JpZEF1dG9Sb3dzKCkpCiAgICAgLCBncmlkQXV0b0NvbHVtbnMoUmVuZGVyU3R5
bGU6OmluaXRpYWxHcmlkQXV0b0NvbHVtbnMoKSkKQEAgLTY4LDYgKzcwLDggQEAgaW5saW5lIFN0
eWxlR3JpZERhdGE6OlN0eWxlR3JpZERhdGEoY29uc3QgU3R5bGVHcmlkRGF0YSYgbykKICAgICAs
IGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5l
cykKICAgICAsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMoby5hdXRvUmVw
ZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWRO
YW1lZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpCisg
ICAgLCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKG8uaW1wbGljaXROYW1lZEdyaWRDb2x1
bW5MaW5lcykKKyAgICAsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoby5pbXBsaWNpdE5hbWVk
R3JpZFJvd0xpbmVzKQogICAgICwgZ3JpZEF1dG9GbG93KG8uZ3JpZEF1dG9GbG93KQogICAgICwg
Z3JpZEF1dG9Sb3dzKG8uZ3JpZEF1dG9Sb3dzKQogICAgICwgZ3JpZEF1dG9Db2x1bW5zKG8uZ3Jp
ZEF1dG9Db2x1bW5zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdy
aWREYXRhLmgKaW5kZXggODA0Yzc0ODUxMWIzODZiODQ0MTA5MTdiYjZhNDUzNjhmOThjODMzZi4u
YzY3N2QwNzk4NjdjMTI2NTJkOTkyZWZlZDUyMDRiZTBlOTI0ZDNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oCkBAIC01MSw2ICs1MSw3IEBA
IHB1YmxpYzoKICAgICAgICAgICAgICYmIG5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8ubmFtZWRH
cmlkQ29sdW1uTGluZXMgJiYgbmFtZWRHcmlkUm93TGluZXMgPT0gby5uYW1lZEdyaWRSb3dMaW5l
cwogICAgICAgICAgICAgJiYgYXV0b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8uYXV0
b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzICYmIGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5l
cyA9PSBvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYgYXV0b1Jl
cGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFt
ZWRHcmlkQ29sdW1uTGluZXMgJiYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyA9
PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMKKyAgICAgICAgICAgICYmIGlt
cGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxp
bmVzICYmIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZFJv
d0xpbmVzCiAgICAgICAgICAgICAmJiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYSAm
JiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYQogICAgICAgICAgICAgJiYgbmFtZWRH
cmlkQXJlYVJvd0NvdW50ID09IG8ubmFtZWRHcmlkQXJlYVJvd0NvdW50ICYmIG5hbWVkR3JpZEFy
ZWFDb2x1bW5Db3VudCA9PSBvLm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudAogICAgICAgICAgICAg
JiYgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzID09IG8ub3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVz
ICYmIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLm9yZGVyZWROYW1lZEdyaWRDb2x1
bW5MaW5lcwpAQCAtNzgsNiArNzksOSBAQCBwdWJsaWM6CiAgICAgT3JkZXJlZE5hbWVkR3JpZExp
bmVzTWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXM7CiAgICAgT3JkZXJl
ZE5hbWVkR3JpZExpbmVzTWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7CiAK
KyAgICBOYW1lZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzOworICAg
IE5hbWVkR3JpZExpbmVzTWFwIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXM7CisKICAgICB1bnNp
Z25lZCBncmlkQXV0b0Zsb3cgOiBHcmlkQXV0b0Zsb3dCaXRzOwogCiAgICAgVmVjdG9yPEdyaWRU
cmFja1NpemU+IGdyaWRBdXRvUm93czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmgKaW5kZXggZGEwNmJjNTdlMDg3ZGJhZGY3MmE2YjA0ZWQ5YzFlYjhiNWQwMWVkOC4u
NDZlMzFjNjFkYjM3MDk2Njg0YjlmNzkyNDVkMmM0MDYwYjZjODlhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2NDUsNiArMTY0NSw5IEBAIGlubGlu
ZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U2l6ZShCdWlsZGVyU3RhdGUmIGJ1
aWxkZXJTdGF0ZSwgQ1NTVmFsCiAKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5p
dGlhbEdyaWRUZW1wbGF0ZUFyZWFzKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQogeworICAg
IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMoUmVu
ZGVyU3R5bGU6OmluaXRpYWxOYW1lZEdyaWRDb2x1bW5MaW5lcygpKTsKKyAgICBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5zZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjppbml0
aWFsTmFtZWRHcmlkUm93TGluZXMoKSk7CisKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRO
YW1lZEdyaWRBcmVhKFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlkQXJlYSgpKTsKICAgICBi
dWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoUmVuZGVyU3R5bGU6
OmluaXRpYWxOYW1lZEdyaWRBcmVhQ291bnQoKSk7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCku
c2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlk
QXJlYUNvdW50KCkpOwpAQCAtMTY1Miw2ICsxNjU1LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1
c3RvbTo6YXBwbHlJbml0aWFsR3JpZFRlbXBsYXRlQXJlYXMoQnVpbGRlclN0YXRlJiBidWlsZGVy
U3QKIAogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0R3JpZFRlbXBsYXRl
QXJlYXMoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7CisgICAgYnVpbGRlclN0YXRlLnN0
eWxlKCkuc2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhidWlsZGVyU3RhdGUucGFyZW50
U3R5bGUoKS5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKCkpOworICAgIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCkuaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcygpKTsKKwogICAgIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFt
ZWRHcmlkQXJlYSgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVh
Um93Q291bnQoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFtZWRHcmlkQXJlYVJvd0NvdW50
KCkpOwogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWFDb2x1bW5Db3Vu
dChidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKS5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7
CkBAIC0xNjYxLDE4ICsxNjY3LDE5IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5
VmFsdWVHcmlkVGVtcGxhdGVBcmVhcyhCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0CiB7CiAgICAg
aWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKICAgICAgICAgQVNTRVJUKGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7
CisgICAgICAgIGFwcGx5SW5pdGlhbEdyaWRUZW1wbGF0ZUFyZWFzKGJ1aWxkZXJTdGF0ZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvJiBncmlkVGVtcGxhdGVBcmVhc1ZhbHVl
ID0gZG93bmNhc3Q8Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZT4odmFsdWUpOwogICAgIGNvbnN0
IE5hbWVkR3JpZEFyZWFNYXAmIG5ld05hbWVkR3JpZEFyZWFzID0gZ3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZS5ncmlkQXJlYU1hcCgpOwogCi0gICAgTmFtZWRHcmlkTGluZXNNYXAgbmFtZWRHcmlkQ29s
dW1uTGluZXMgPSBidWlsZGVyU3RhdGUuc3R5bGUoKS5uYW1lZEdyaWRDb2x1bW5MaW5lcygpOwot
ICAgIE5hbWVkR3JpZExpbmVzTWFwIG5hbWVkR3JpZFJvd0xpbmVzID0gYnVpbGRlclN0YXRlLnN0
eWxlKCkubmFtZWRHcmlkUm93TGluZXMoKTsKLSAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVJ
bXBsaWNpdE5hbWVkR3JpZExpbmVzRnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBuYW1l
ZEdyaWRDb2x1bW5MaW5lcywgRm9yQ29sdW1ucyk7Ci0gICAgQnVpbGRlckNvbnZlcnRlcjo6Y3Jl
YXRlSW1wbGljaXROYW1lZEdyaWRMaW5lc0Zyb21HcmlkQXJlYShuZXdOYW1lZEdyaWRBcmVhcywg
bmFtZWRHcmlkUm93TGluZXMsIEZvclJvd3MpOwotICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNl
dE5hbWVkR3JpZENvbHVtbkxpbmVzKG5hbWVkR3JpZENvbHVtbkxpbmVzKTsKLSAgICBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRSb3dMaW5lcyhuYW1lZEdyaWRSb3dMaW5lcyk7Cisg
ICAgTmFtZWRHcmlkTGluZXNNYXAgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lczsKKyAgICBO
YW1lZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzOworICAgIEJ1aWxkZXJD
b252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEobmV3TmFt
ZWRHcmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMsIEZvckNvbHVtbnMpOwor
ICAgIEJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3Jp
ZEFyZWEobmV3TmFtZWRHcmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMsIEZvclJv
d3MpOworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1u
TGluZXMoaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk7CisgICAgYnVpbGRlclN0YXRlLnN0
eWxlKCkuc2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyhpbXBsaWNpdE5hbWVkR3JpZFJvd0xp
bmVzKTsKIAogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5ncmlkQXJlYU1hcCgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUo
KS5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5yb3dDb3Vu
dCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDczZWFlZmE4M2ZiOTA4Zjdl
NzI2MzFmNDFjMGE5YzAzODQyZWI3YWYuLmM1MmVmMzNmZDFjY2Q1ODQwNTI5NGFhMjcyMmUwNWY3
ZTQ1N2I1YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTA1LTI3ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW2Nzcy1ncmlkXSBGaXggcmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byBy
ZXBlYXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5NTcyCisKKyAgICAgICAgSW1wb3J0IFdQVCB0ZXN0cy4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5h
bWVkLWdyaWQtbGluZXMtMDA4LWV4cGVjdGVkLnhodDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQt
Z3JpZC1saW5lcy0wMDktZXhwZWN0ZWQueGh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1l
ZC1ncmlkLWxpbmVzLTAwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wNS0yMiAg
Q2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLWdyaWRdIFVwZGF0ZSBXUFQgaW1wb3J0ZWQgdGVzdHMgYW5kIGRlZHVwbGljYXRlIGNv
bW1vbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTAwOTM1OWU2OGIwZDdjMTExOWZkNWQ2
NjMzMWZhNTkzYTI2OGZhNC4uZjU4ZWFlY2MzNTJiMmNmMjE0NTIxNWJiZTkzMjBjYjZhMGUzNDAy
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjcxLDkgKzQyNzEsNiBAQCB3ZWJraXQub3JnL2Iv
MjA5NDYwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bv
cy9kZXNjZW5kYQogd2Via2l0Lm9yZy9iLzIwOTQ2MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9hYnNwb3MvZGVzY2VuZGFudC1zdGF0aWMtcG9zaXRpb24tMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDk0NjAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWJzcG9zL2Rlc2NlbmRhbnQtc3Rh
dGljLXBvc2l0aW9uLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjA5NDYwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bv
cy9kZXNjZW5kYW50LXN0YXRpYy1wb3NpdGlvbi0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1w
bGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1s
aW5lcy0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwOTY1MCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9ncmlkLWl0ZW1zL2dy
aWQtaXRlbS1wZXJjZW50YWdlLXNpemVzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjA5NjUwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2dyaWQtaXRlbXMvZ3JpZC1pdGVtLXBlcmNlbnRhZ2Utc2l6ZXMtMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDk2NTAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvZ3JpZC1pdGVtcy9ncmlkLWl0ZW0tcGVyY2VudGFn
ZS1zaXplcy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2Vt
ZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA4LWV4cGVjdGVkLnho
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1l
eHBlY3RlZC54aHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhMTM3OTQ0ODJhOTRmNmMxMGJkOWQ0Yzk4NzA0ZTYz
ZWY2MDMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1leHBlY3RlZC54aHQKQEAgLTAsMCArMSwxOSBAQAorPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0
dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorIDxoZWFkPgorICA8dGl0bGU+
Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0iaHR0cDovL3d3dy5ndGFsYm90Lm9yZy9Ccm93c2VyQnVn
c1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUvIiAvPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwh
W0NEQVRBWworICBkaXYKKyAgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgaGVpZ2h0
OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4OworICB9CisgIF1dPjwvc3R5bGU+CisgPC9oZWFkPgor
IDxib2R5PgorICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVh
cmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJvbmc+LjwvcD4KKyAgPGRpdj48L2Rpdj4KKyA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlZTQ4NDQ4YWVjNmNmZmI0
MmVkNWU5OTk0NWJmOGY3ZTMwNWI4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1Mg
R3JpZCBMYXlvdXQgVGVzdDogR3JpZCBpdGVtIHBsYWNlbWVudCB3aXRoIGluaGVyaXRlZCBncmlk
LXRlbXBsYXRlLWFyZWFzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wg
QnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQi
PgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3Jl
ZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkdyaWQg
cGxhY2VtZW50IGFsZ29yaXRobSBpcyBhYmxlIHRvIHNlbGVjdCB0aGUgcmlnaHQgbGluZSB3aGVu
IGRlZmluZWQgaW1wbGljaXRseSB3aXRoIGFuIGluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFz
LiI+Cis8c3R5bGU+Cisud3JhcHBlciB7CisgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICJhIGIiICJh
IGMiOworfQorLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLWFyZWFz
OiBpbmhlcml0OworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91
bmQ6IHJlZDsKK30KKy5pdGVtIHsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgor
PHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ry
b25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KKyAgPGRpdiBj
bGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYSI+
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYiI+PC9kaXY+
CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYyI+PC9kaXY+CisgIDwv
ZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDktZXhwZWN0ZWQueGh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5LWV4cGVjdGVkLnhodApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NWExMzc5NDQ4MmE5NGY2YzEwYmQ5ZDRjOTg3MDRlNjNlZjYwMzMxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5LWV4
cGVjdGVkLnhodApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1cz
Qy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwx
L0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCI+CisgPGhlYWQ+CisgIDx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3Rp
dGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkfDqXJhcmQgVGFsYm90IiBocmVmPSJo
dHRwOi8vd3d3Lmd0YWxib3Qub3JnL0Jyb3dzZXJCdWdzU2VjdGlvbi9jc3MyMXRlc3RzdWl0ZS8i
IC8+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgIGRpdgorICB7CisgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICBoZWlnaHQ6IDEwMHB4OworICB3aWR0aDogMTAwcHg7
CisgIH0KKyAgXV0+PC9zdHlsZT4KKyA8L2hlYWQ+CisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2Vz
IGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0
cm9uZz4uPC9wPgorICA8ZGl2PjwvZGl2PgorIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTBjYjE0MGViY2E4NzcwOWRhNWQwMzA1ZWZjMzAwYjQ3YmU2YWFiMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1n
cmlkLWxpbmVzLTAwOS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBHcmlkIExheW91dCBUZXN0OiBHcmlkIGl0
ZW0gcGxhY2VtZW50IHdpdGggbm9uLWluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86
b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIg
aHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+
Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkNoZWNrcyB0aGF0IGluaGVyaXRpbmcgZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zIGFuZCBncmlkLXRlbXBsYXRlLXJvd3MgZG9lc24ndCBhbHNvIGlu
aGVyaXQgZ3JpZC10ZW1wbGF0ZS1hcmVhcy4iPgorPHN0eWxlPgorLndyYXBwZXIgeworICBncmlk
LXRlbXBsYXRlLWFyZWFzOiAiYXJlYSI7Cit9CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7Cisg
IHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgZ3JpZC1hdXRvLWNvbHVtbnM6IDBw
eCAxMDAlOworICBncmlkLWF1dG8tcm93czogMHB4IDEwMCU7CisgIGdyaWQtdGVtcGxhdGUtY29s
dW1uczogaW5oZXJpdDsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBpbmhlcml0OworICBiYWNrZ3Jv
dW5kOiByZWQ7Cit9CisuaXRlbSB7CisgIGdyaWQtYXJlYTogYXJlYTsKKyAgYmFja2dyb3VuZDog
Z3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQg
Z3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNz
PSJ3cmFwcGVyIj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0iaXRlbSI+
PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2cKaW5kZXggZDMzZDhkZjU5MWJlMjM3MDAy
ZDM4ZjA2YWUzNTkzNDkyMTU1NWRlZi4uZWMyNzZiOGFiMzJlMmRiMjcxMjFjMDU1ZGQxNmVmMDli
MGFlMjc2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC93M2MtaW1wb3J0LmxvZwpAQCAtNDAsNSArNDAsOSBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
cGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA3LWV4cGVj
dGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxp
bmVzLTAwOC1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFt
ZWQtZ3JpZC1saW5lcy0wMDguaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1u
YW1lZC1ncmlkLWxpbmVzLTAwOS1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1l
bnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXRlbXBs
YXRlLWFyZWFzLW11c3Qta2VlcC1uYW1lZC1jb2x1bW5zLW9yZGVyLTAwMS1leHBlY3RlZC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtdGVtcGxhdGUtYXJlYXMtbXVzdC1rZWVwLW5hbWVkLWNvbHVtbnMt
b3JkZXItMDAxLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400397</attachid>
            <date>2020-05-27 15:51:49 -0700</date>
            <delta_ts>2020-05-28 14:33:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209572-20200528005147.patch</filename>
            <type>text/plain</type>
            <size>30909</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkM2ViZjM4ZDk1ZDdj
MGE2NDM2Y2FhYWZmZjcyMGRlNmMwZjYwZi4uMThhM2QwZTUxODE1N2EwZDljNTY1ZGU1MDJjNGQ5
N2VlMzgxYmYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIwLTA1LTI3ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXgg
cmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBt
dWx0aXBsZSBwcm9ibGVtcyB3aGVuIHJlZmVyZW5jaW5nIG5hbWVkIGdyaWQgbGluZXMgd2l0aCB0
aGUgcHJlc2VuY2Ugb2YKKyAgICAgICAgdGhlIGF1dG8gcmVwZWF0KCkgc3ludGF4OgorCisgICAg
ICAgICAgLSBJZiB0aGUgMXN0IHRyYWNrIHdhcyBkZWZpbmVkIHdpdGggYXV0byByZXBlYXQoKSwg
dGhlbiB0aGUgY29kZSB1c2VkIHRvIGFzc3VtZSB0aGF0IHRoZQorICAgICAgICAgICAgcmVmZXJl
bmNlZCBsaW5lIGFwcGVhcmVkIGFmdGVyIHRoZSByZXBlYXRlZCB0cmFja3MuIEJ1dCBpdCBtYXkg
YWN0dWFsbHkgcHJlY2VkZSB0aGVtLgorCisgICAgICAgICAgLSBJZiB0aGUgcmVmZXJlbmNlZCBs
aW5lIGFwcGVhcmVkIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBhdXRvIHJlcGVhdCgpLCB0
aGVuIGl0CisgICAgICAgICAgICBjb3VsZCByZXNvbHZlIHRvIHRoZSBvdXRzaWRlIHJhdyBpbmRl
eCwgd2l0aG91dCBleHBhbmRpbmcgdGhlIGF1dG8gcmVwZWF0KCkuCisKKyAgICAgICAgICAtIFRo
ZSBsb2dpYyBmb3IgcGxhY2luZyBhIHBsYWNlbWVudCBwcm9wZXJ0eSBzZXQgdG8gYm90aCBhbiBp
bnRlZ2VyIGFuZCBhbiBpZGVudGlmaWVyCisgICAgICAgICAgICB3YXMgd3Jvbmcgd2l0aCBhdXRv
IHJlcGVhdCgpLgorICAgICAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUg
c2FtZSBwcm9wZXIgbG9naWMgdGhhdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbgorICAgICAg
ICAgICAgT3JkZXJlZE5hbWVkTGluZXNDb2xsZWN0b3JJbkdyaWRMYXlvdXQ6OmNvbGxlY3RMaW5l
TmFtZXNGb3JJbmRleAorCisgICAgICAgICAgLSBUaGUgaW5kaWNlcyBvZiBib3RoIGltcGxpY2l0
IGdyaWQgbGluZXMgZGVmaW5lZCB3aXRoIGdyaWQtdGVtcGxhdGUtYXJlYXMgYW5kIGV4cGxpY2l0
CisgICAgICAgICAgICBvbmVzIGRlZmluZWQgd2l0aCBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1u
cyB1c2VkIHRvIGJlIHN0b3JlZCB0b2dldGhlciBpbgorICAgICAgICAgICAgTmFtZWRHcmlkQ29s
dW1uTGluZXMgYW5kIE5hbWVkR3JpZFJvd0xpbmVzLiBUaGlzIHdhcyBwcm9ibGVtYXRpYyBiZWNh
dXNlIHRoZSBmb3JtZXIKKyAgICAgICAgICAgIGluZGljZXMgYWxyZWFkeSByZWZlciB0byB0aGUg
ZmluYWwgZXhwbGljaXQgZ3JpZCBzbyB0aGV5IGRvbid0IGhhdmUgdG8gYmUgaW5jcmVhc2VkIHdo
ZW4KKyAgICAgICAgICAgIGV4cGFuZGluZyBhbiBhdXRvIHJlcGVhdCgpLCBidXQgdGhlIGxhdHRl
ciBvbmVzIHNob3VsZC4KKyAgICAgICAgICAgIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBzdG9yZXMg
dGhlIGluZGljZXMgaW4gc2VwYXJhdGUgZmllbGRzIGFuZCB1c2VzIHRoZSBjb3JyZWN0IGxvZ2lj
CisgICAgICAgICAgICBmb3IgZWFjaCBvbmUuIFRoaXMgYWxzbyBmaXhlcyAnZ3JpZC10ZW1wbGF0
ZS1hcmVhczogaW5oZXJpdCcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHBvcnQgb2YgdGhl
c2UgQ2hyb21pdW0gcGF0Y2hlczoKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NDQy
NgorICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzQ1OTI1CisgICAgICAgICAgLSBodHRw
czovL2NycmV2LmNvbS83NDc2MzEKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NzY2
OQorICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzcxOTg0CisKKyAgICAgICAgVGVzdHM6
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9n
cmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCisgICAgICAgICAg
ICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1l
bnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbAorICAgICAg
ICAgICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxh
Y2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWwKKyAg
ICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5odG1s
CisgICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Z3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDku
aHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xs
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246Omhhc0V4cGxp
Y2l0TmFtZWRMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0
aW9uOjpoYXNOYW1lZExpbmVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNv
bGxlY3Rpb246OmNvbnRhaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNv
bGxlY3Rpb246OmZpcnN0RXhwbGljaXRQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpOYW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiBy
ZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6
aW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJTdHlsZTo6aW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5l
cyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlkRGF0YSk6CisgICAgICAgICogcmVu
ZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3Jp
ZERhdGE6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1
c3RvbS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5p
dGlhbEdyaWRUZW1wbGF0ZUFyZWFzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVy
Q3VzdG9tOjphcHBseUluaGVyaXRHcmlkVGVtcGxhdGVBcmVhcyk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUdyaWRUZW1wbGF0ZUFyZWFzKToKKwog
MjAyMC0wNS0yMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBpT1M6IFByZXNzaW5nIHRhYiBpbiB0aGUgTWFpbCBzdWJqZWN0IGZpZWxkIG1vdmVzIGZv
Y3VzIHRvIHRoZSBib2R5LCBidXQgcHJlc3Npbmcgc2hpZnQgdGFiIGRvZXNuJ3QgbW92ZSBpdCBi
YWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0
aW9uc1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9z
aXRpb25zUmVzb2x2ZXIuY3BwCmluZGV4IDNkOTk4MTMxNjI1NGZlYzcyYTMwN2E3N2JmZjA3ZmNm
NDNkNmNjNTUuLjMzYzcwM2M1ZjA2ZmE2NWEzZjZmYmRhMmRlNzZkZWEzZmI2MWI4ZGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25z
UmVzb2x2ZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBAIE5hbWVkTGluZUNvbGxlY3Rpb246Ok5hbWVk
TGluZUNvbGxlY3Rpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwKICAg
ICBib29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zOwogICAgIGNvbnN0IE5h
bWVkR3JpZExpbmVzTWFwJiBncmlkTGluZU5hbWVzID0gaXNSb3dBeGlzID8gZ3JpZENvbnRhaW5l
clN0eWxlLm5hbWVkR3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUubmFtZWRH
cmlkUm93TGluZXMoKTsKICAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdEdy
aWRMaW5lTmFtZXMgPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5h
bWVkR3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5hbWVk
R3JpZFJvd0xpbmVzKCk7CisgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGltcGxpY2l0R3Jp
ZExpbmVOYW1lcyA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHlsZS5pbXBsaWNpdE5hbWVk
R3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuaW1wbGljaXROYW1lZEdyaWRS
b3dMaW5lcygpOwogCiAgICAgYXV0byBsaW5lc0l0ZXJhdG9yID0gZ3JpZExpbmVOYW1lcy5maW5k
KG5hbWVkTGluZSk7CiAgICAgbV9uYW1lZExpbmVzSW5kZXhlcyA9IGxpbmVzSXRlcmF0b3IgPT0g
Z3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmbGluZXNJdGVyYXRvci0+dmFsdWU7CkBA
IC03MSw2OCArNzIsODQgQEAgTmFtZWRMaW5lQ29sbGVjdGlvbjo6TmFtZWRMaW5lQ29sbGVjdGlv
bihjb25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLAogICAgIGF1dG8gYXV0b1Jl
cGVhdExpbmVzSXRlcmF0b3IgPSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5maW5kKG5hbWVkTGlu
ZSk7CiAgICAgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMgPSBhdXRvUmVwZWF0TGluZXNJ
dGVyYXRvciA9PSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmYXV0
b1JlcGVhdExpbmVzSXRlcmF0b3ItPnZhbHVlOwogCisgICAgYXV0byBpbXBsaWNpdEdyaWRMaW5l
c0l0ZXJhdG9yID0gaW1wbGljaXRHcmlkTGluZU5hbWVzLmZpbmQobmFtZWRMaW5lKTsKKyAgICBt
X2ltcGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMgPSBpbXBsaWNpdEdyaWRMaW5lc0l0ZXJhdG9yID09
IGltcGxpY2l0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmaW1wbGljaXRHcmlkTGlu
ZXNJdGVyYXRvci0+dmFsdWU7CisKICAgICBtX2luc2VydGlvblBvaW50ID0gaXNSb3dBeGlzID8g
Z3JpZENvbnRhaW5lclN0eWxlLmdyaWRBdXRvUmVwZWF0Q29sdW1uc0luc2VydGlvblBvaW50KCkg
OiBncmlkQ29udGFpbmVyU3R5bGUuZ3JpZEF1dG9SZXBlYXRSb3dzSW5zZXJ0aW9uUG9pbnQoKTsK
IAogICAgIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCA9IGlzUm93QXhpcyA/IGdyaWRDb250
YWluZXJTdHlsZS5ncmlkQXV0b1JlcGVhdENvbHVtbnMoKS5zaXplKCkgOiBncmlkQ29udGFpbmVy
U3R5bGUuZ3JpZEF1dG9SZXBlYXRSb3dzKCkuc2l6ZSgpOwogfQogCi1ib29sIE5hbWVkTGluZUNv
bGxlY3Rpb246Omhhc05hbWVkTGluZXMoKSBjb25zdAorYm9vbCBOYW1lZExpbmVDb2xsZWN0aW9u
OjpoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSBjb25zdAogewogICAgIHJldHVybiBtX25hbWVkTGlu
ZXNJbmRleGVzIHx8IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzOwogfQogCi1zaXplX3Qg
TmFtZWRMaW5lQ29sbGVjdGlvbjo6ZmluZCh1bnNpZ25lZCBsaW5lKSBjb25zdAorYm9vbCBOYW1l
ZExpbmVDb2xsZWN0aW9uOjpoYXNOYW1lZExpbmVzKCkgY29uc3QKIHsKLSAgICBpZiAobGluZSA+
IG1fbGFzdExpbmUpCi0gICAgICAgIHJldHVybiBub3RGb3VuZDsKLQotICAgIGlmICghbV9hdXRv
UmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMgfHwgbGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCi0gICAg
ICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzID8gbV9uYW1lZExpbmVzSW5kZXhlcy0+Zmlu
ZChsaW5lKSA6IG5vdEZvdW5kOwotCi0gICAgaWYgKGxpbmUgPD0gKG1faW5zZXJ0aW9uUG9pbnQg
KyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcykpIHsKLSAgICAgICAgc2l6ZV90IGxvY2FsSW5kZXgg
PSBsaW5lIC0gbV9pbnNlcnRpb25Qb2ludDsKLQotICAgICAgICBzaXplX3QgaW5kZXhJbkZpcnN0
UmVwZXRpdGlvbiA9IGxvY2FsSW5kZXggJSBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGg7Ci0g
ICAgICAgIGlmIChpbmRleEluRmlyc3RSZXBldGl0aW9uKQotICAgICAgICAgICAgcmV0dXJuIG1f
YXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKGluZGV4SW5GaXJzdFJlcGV0aXRpb24p
OwotCi0gICAgICAgIC8vIFRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4gdGhlIGxhc3QgbGluZSBh
cmUgYWxzbyBwcmVzZW50IGluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBuZXh0Ci0gICAgICAgIC8v
IHJlcGV0aXRpb24gKGlmIGFueSkuIFNhbWUgZm9yIHRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4g
dGhlIGZpcnN0IGxpbmUuCi0gICAgICAgIGlmIChsb2NhbEluZGV4ID09IG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzKQotICAgICAgICAgICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRl
eGVzLT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCk7Ci0gICAgICAgIHNpemVfdCBw
b3NpdGlvbiA9IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKDB1KTsKLSAgICAg
ICAgaWYgKHBvc2l0aW9uICE9IG5vdEZvdW5kKQotICAgICAgICAgICAgcmV0dXJuIHBvc2l0aW9u
OwotICAgICAgICByZXR1cm4gbG9jYWxJbmRleCA/IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRl
eGVzLT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgOiBub3RGb3VuZDsKLSAgICB9
Ci0KLSAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcyA/IG1fbmFtZWRMaW5lc0luZGV4ZXMt
PmZpbmQobGluZSAtIChtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEpKSA6IG5vdEZvdW5kOwor
ICAgIHJldHVybiBoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSB8fCBtX2ltcGxpY2l0TmFtZWRMaW5l
c0luZGV4ZXM7CiB9CiAKIGJvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6Y29udGFpbnModW5zaWdu
ZWQgbGluZSkgY29uc3QKIHsKICAgICBBU1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKLSAgICByZXR1
cm4gZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKworICAgIGlmIChsaW5lID4gbV9sYXN0TGluZSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBjb250YWlucyA9IFtdKGNvbnN0IFZl
Y3Rvcjx1bnNpZ25lZD4qIGluZGV4ZXMsIHVuc2lnbmVkIGxpbmUpIHsKKyAgICAgICAgcmV0dXJu
IGluZGV4ZXMgJiYgaW5kZXhlcy0+ZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKyAgICB9OworCisg
ICAgaWYgKGNvbnRhaW5zKG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcywgbGluZSkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKCFtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgg
fHwgbGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCisgICAgICAgIHJldHVybiBjb250YWlucyhtX25h
bWVkTGluZXNJbmRleGVzLCBsaW5lKTsKKworICAgIEFTU0VSVChtX2F1dG9SZXBlYXRUb3RhbFRy
YWNrcyk7CisKKyAgICBpZiAobGluZSA+IG1faW5zZXJ0aW9uUG9pbnQgKyBtX2F1dG9SZXBlYXRU
b3RhbFRyYWNrcykKKyAgICAgICAgcmV0dXJuIGNvbnRhaW5zKG1fbmFtZWRMaW5lc0luZGV4ZXMs
IGxpbmUgLSAobV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxKSk7CisKKyAgICBpZiAobGluZSA9
PSBtX2luc2VydGlvblBvaW50KQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9uYW1lZExpbmVz
SW5kZXhlcywgbGluZSkgfHwgY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMs
IDApOworCisgICAgaWYgKGxpbmUgPT0gbV9pbnNlcnRpb25Qb2ludCArIG1fYXV0b1JlcGVhdFRv
dGFsVHJhY2tzKQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5l
c0luZGV4ZXMsIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgfHwgY29udGFpbnMobV9uYW1l
ZExpbmVzSW5kZXhlcywgbV9pbnNlcnRpb25Qb2ludCArIDEpOworCisgICAgc2l6ZV90IGF1dG9S
ZXBlYXRJbmRleEluRmlyc3RSZXBldGl0aW9uID0gKGxpbmUgLSBtX2luc2VydGlvblBvaW50KSAl
IG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aDsKKyAgICBpZiAoIWF1dG9SZXBlYXRJbmRleElu
Rmlyc3RSZXBldGl0aW9uICYmIGNvbnRhaW5zKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
LCBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMsIGF1dG9SZXBl
YXRJbmRleEluRmlyc3RSZXBldGl0aW9uKTsKIH0KIAotdW5zaWduZWQgTmFtZWRMaW5lQ29sbGVj
dGlvbjo6Zmlyc3RQb3NpdGlvbigpIGNvbnN0Cit1bnNpZ25lZCBOYW1lZExpbmVDb2xsZWN0aW9u
OjpmaXJzdEV4cGxpY2l0UG9zaXRpb24oKSBjb25zdAogewotICAgIEFTU0VSVChoYXNOYW1lZExp
bmVzKCkpOworICAgIEFTU0VSVChoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSk7CiAgICAgdW5zaWdu
ZWQgZmlyc3RMaW5lID0gMDsKIAotICAgIGlmICghbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4
ZXMpIHsKLSAgICAgICAgaWYgKCFtX2luc2VydGlvblBvaW50IHx8IG1faW5zZXJ0aW9uUG9pbnQg
PCBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpKQotICAgICAgICAgICAgcmV0dXJu
IG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyAobV9hdXRvUmVwZWF0VG90YWxU
cmFja3MgPyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEgOiAwKTsKKyAgICAvLyBJZiB0aGVy
ZSBpcyBubyBhdXRvIHJlcGVhdCgpLCB0aGVyZSBtdXN0IGJlIHNvbWUgbmFtZWQgbGluZSBvdXRz
aWRlLCByZXR1cm4gdGhlIDFzdCBvbmUuIEFsc28gcmV0dXJuIGl0IGlmIGl0IHByZWNlZGVzIHRo
ZSBhdXRvLXJlcGVhdCgpLgorICAgIGlmICghbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoIHx8
IChtX25hbWVkTGluZXNJbmRleGVzICYmIG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGlu
ZSkgPD0gbV9pbnNlcnRpb25Qb2ludCkpCiAgICAgICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRl
eGVzLT5hdChmaXJzdExpbmUpOwotICAgIH0KIAotICAgIGlmICghbV9uYW1lZExpbmVzSW5kZXhl
cykKKyAgICAvLyBSZXR1cm4gdGhlIDFzdCBuYW1lZCBsaW5lIGluc2lkZSB0aGUgYXV0byByZXBl
YXQoKSwgaWYgYW55LgorICAgIGlmIChtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcykKICAg
ICAgICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUp
ICsgbV9pbnNlcnRpb25Qb2ludDsKIAotICAgIGlmICghbV9pbnNlcnRpb25Qb2ludCkKLSAgICAg
ICAgcmV0dXJuIHN0ZDo6bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyBt
X2F1dG9SZXBlYXRUb3RhbFRyYWNrcywgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMtPmF0
KGZpcnN0TGluZSkpOworICAgIC8vIFRoZSAxc3QgbmFtZWQgbGluZSBtdXN0IGJlIGFmdGVyIHRo
ZSBhdXRvIHJlcGVhdCgpLgorICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJz
dExpbmUpICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxOworfQogCi0gICAgcmV0dXJuIHN0
ZDo6bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSksIG1fYXV0b1JlcGVhdE5h
bWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsgbV9pbnNlcnRpb25Qb2ludCk7Cit1bnNp
Z25lZCBOYW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uKCkgY29uc3QKK3sKKyAgICBB
U1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKKyAgICB1bnNpZ25lZCBmaXJzdExpbmUgPSAwOworICAg
IGlmICghbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzKQorICAgICAgICByZXR1cm4gZmlyc3RF
eHBsaWNpdFBvc2l0aW9uKCk7CisgICAgaWYgKCFoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSkKKyAg
ICAgICAgcmV0dXJuIG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKTsK
KyAgICByZXR1cm4gc3RkOjptaW4oZmlyc3RFeHBsaWNpdFBvc2l0aW9uKCksIG1faW1wbGljaXRO
YW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkanVz
dEdyaWRQb3NpdGlvbnNGcm9tU3R5bGUoY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRy
YWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFBvc2l0aW9uJiBpbml0aWFsUG9zaXRp
b24sIEdyaWRQb3NpdGlvbiYgZmluYWxQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaAppbmRleCA4Y2EyMDli
NmFjM2ExN2I3OTQ2ODk5MmQwMTRjYWQ0OWI5YzBiNDg0Li42MjNiNjJjNmMyNDFkYzEzMDI1MDc4
ZDE1MWY2YTk5MGQ1ZGMxMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5oCkBAIC01NCwxMCArNTQsMTIgQEAgcHVi
bGljOgogICAgIGJvb2wgY29udGFpbnModW5zaWduZWQgbGluZSkgY29uc3Q7CiAKIHByaXZhdGU6
Ci0gICAgc2l6ZV90IGZpbmQodW5zaWduZWQgbGluZSkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBs
aWNpdE5hbWVkTGluZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBmaXJzdEV4cGxpY2l0UG9zaXRp
b24oKSBjb25zdDsKIAogICAgIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4qIG1fbmFtZWRMaW5lc0lu
ZGV4ZXMgeyBudWxscHRyIH07CiAgICAgY29uc3QgVmVjdG9yPHVuc2lnbmVkPiogbV9hdXRvUmVw
ZWF0TmFtZWRMaW5lc0luZGV4ZXMgeyBudWxscHRyIH07CisgICAgY29uc3QgVmVjdG9yPHVuc2ln
bmVkPiogbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OwogCiAgICAgdW5z
aWduZWQgbV9pbnNlcnRpb25Qb2ludDsKICAgICB1bnNpZ25lZCBtX2xhc3RMaW5lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA0Y2Y2ZDhmZWYz
NTY3NmFkNzBlOTFmY2ZiNjE1OGNkMmY4MzM4M2Q4Li5kM2MxNWI5YTc0MjE0MTNjNWI4YTZjMDg4
NTBjZjg1Y2E1NjVmN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvUmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuaApAQCAtNTQwLDYgKzU0MCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBOYW1lZEdy
aWRMaW5lc01hcCYgYXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzKCkgY29uc3QgeyByZXR1cm4g
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVz
OyB9CiAgICAgY29uc3QgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwJiBhdXRvUmVwZWF0T3JkZXJl
ZE5hbWVkR3JpZENvbHVtbkxpbmVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVk
RGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lczsgfQogICAg
IGNvbnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRSb3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQt
PmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7IH0KKyAgICBjb25zdCBOYW1lZEdy
aWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGlu
ZXM7IH0KKyAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRSb3dM
aW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxp
Y2l0TmFtZWRHcmlkUm93TGluZXM7IH0KICAgICBjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBuYW1l
ZEdyaWRBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+
bmFtZWRHcmlkQXJlYTsgfQogICAgIHNpemVfdCBuYW1lZEdyaWRBcmVhUm93Q291bnQoKSBjb25z
dCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5uYW1lZEdyaWRBcmVhUm93
Q291bnQ7IH0KICAgICBzaXplX3QgbmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+bmFtZWRHcmlkQXJlYUNvbHVtbkNv
dW50OyB9CkBAIC0xMTE2LDYgKzExMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvUmVw
ZWF0TmFtZWRHcmlkUm93TGluZXMoY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIG5hbWVkR3JpZFJv
d0xpbmVzKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1
dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcywgbmFtZWRHcmlkUm93TGluZXMpOyB9CiAgICAgdm9p
ZCBzZXRBdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKGNvbnN0IE9yZGVyZWRO
YW1lZEdyaWRMaW5lc01hcCYgb3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKSB7IFNFVF9ORVNU
RURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1dG9SZXBlYXRPcmRlcmVkTmFt
ZWRHcmlkQ29sdW1uTGluZXMsIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyk7IH0KICAgICB2
b2lkIHNldEF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoY29uc3QgT3JkZXJlZE5h
bWVkR3JpZExpbmVzTWFwJiBvcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpIHsgU0VUX05FU1RFRF9W
QVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRSb3dMaW5lcywgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzKTsgfQorICAgIHZvaWQgc2V0SW1w
bGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgbmFtZWRH
cmlkQ29sdW1uTGluZXMpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwg
Z3JpZCwgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcywgbmFtZWRHcmlkQ29sdW1uTGluZXMp
OyB9CisgICAgdm9pZCBzZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKGNvbnN0IE5hbWVkR3Jp
ZExpbmVzTWFwJiBuYW1lZEdyaWRSb3dMaW5lcykgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25J
bmhlcml0ZWREYXRhLCBncmlkLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzLCBuYW1lZEdyaWRS
b3dMaW5lcyk7IH0KICAgICB2b2lkIHNldE5hbWVkR3JpZEFyZWEoY29uc3QgTmFtZWRHcmlkQXJl
YU1hcCYgbmFtZWRHcmlkQXJlYSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWRE
YXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhLCBuYW1lZEdyaWRBcmVhKTsgfQogICAgIHZvaWQgc2V0
TmFtZWRHcmlkQXJlYVJvd0NvdW50KHNpemVfdCByb3dDb3VudCkgeyBTRVRfTkVTVEVEX1ZBUiht
X3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhUm93Q291bnQsIHJvd0Nv
dW50KTsgfQogICAgIHZvaWQgc2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KHNpemVfdCBjb2x1
bW5Db3VudCkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBu
YW1lZEdyaWRBcmVhQ29sdW1uQ291bnQsIGNvbHVtbkNvdW50KTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCmluZGV4IDQwZDlkYzlhODE4
OTExN2NkMTdiNjUxZDhmMjI3NDg1NjNmMzJkNTYuLjU2NmYzYmIxZjc0MWYwNjUzNjNiODRhMGQ4
MjMyMGJmZTQyNjc4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9TdHlsZUdyaWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
U3R5bGVHcmlkRGF0YS5jcHAKQEAgLTQxLDYgKzQxLDggQEAgU3R5bGVHcmlkRGF0YTo6U3R5bGVH
cmlkRGF0YSgpCiAgICAgLCBhdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMoUmVuZGVyU3R5bGU6
OmluaXRpYWxOYW1lZEdyaWRSb3dMaW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1l
ZEdyaWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRDb2x1
bW5MaW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyhSZW5k
ZXJTdHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcygpKQorICAgICwgaW1wbGlj
aXROYW1lZEdyaWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE5hbWVkR3JpZENvbHVt
bkxpbmVzKCkpCisgICAgLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjpp
bml0aWFsTmFtZWRHcmlkUm93TGluZXMoKSkKICAgICAsIGdyaWRBdXRvRmxvdyhSZW5kZXJTdHls
ZTo6aW5pdGlhbEdyaWRBdXRvRmxvdygpKQogICAgICwgZ3JpZEF1dG9Sb3dzKFJlbmRlclN0eWxl
Ojppbml0aWFsR3JpZEF1dG9Sb3dzKCkpCiAgICAgLCBncmlkQXV0b0NvbHVtbnMoUmVuZGVyU3R5
bGU6OmluaXRpYWxHcmlkQXV0b0NvbHVtbnMoKSkKQEAgLTY4LDYgKzcwLDggQEAgaW5saW5lIFN0
eWxlR3JpZERhdGE6OlN0eWxlR3JpZERhdGEoY29uc3QgU3R5bGVHcmlkRGF0YSYgbykKICAgICAs
IGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5l
cykKICAgICAsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMoby5hdXRvUmVw
ZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWRO
YW1lZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpCisg
ICAgLCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKG8uaW1wbGljaXROYW1lZEdyaWRDb2x1
bW5MaW5lcykKKyAgICAsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoby5pbXBsaWNpdE5hbWVk
R3JpZFJvd0xpbmVzKQogICAgICwgZ3JpZEF1dG9GbG93KG8uZ3JpZEF1dG9GbG93KQogICAgICwg
Z3JpZEF1dG9Sb3dzKG8uZ3JpZEF1dG9Sb3dzKQogICAgICwgZ3JpZEF1dG9Db2x1bW5zKG8uZ3Jp
ZEF1dG9Db2x1bW5zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L1N0eWxlR3JpZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdy
aWREYXRhLmgKaW5kZXggODA0Yzc0ODUxMWIzODZiODQ0MTA5MTdiYjZhNDUzNjhmOThjODMzZi4u
YzY3N2QwNzk4NjdjMTI2NTJkOTkyZWZlZDUyMDRiZTBlOTI0ZDNlOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oCkBAIC01MSw2ICs1MSw3IEBA
IHB1YmxpYzoKICAgICAgICAgICAgICYmIG5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8ubmFtZWRH
cmlkQ29sdW1uTGluZXMgJiYgbmFtZWRHcmlkUm93TGluZXMgPT0gby5uYW1lZEdyaWRSb3dMaW5l
cwogICAgICAgICAgICAgJiYgYXV0b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8uYXV0
b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzICYmIGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5l
cyA9PSBvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYgYXV0b1Jl
cGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFt
ZWRHcmlkQ29sdW1uTGluZXMgJiYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyA9
PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMKKyAgICAgICAgICAgICYmIGlt
cGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxp
bmVzICYmIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZFJv
d0xpbmVzCiAgICAgICAgICAgICAmJiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYSAm
JiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYQogICAgICAgICAgICAgJiYgbmFtZWRH
cmlkQXJlYVJvd0NvdW50ID09IG8ubmFtZWRHcmlkQXJlYVJvd0NvdW50ICYmIG5hbWVkR3JpZEFy
ZWFDb2x1bW5Db3VudCA9PSBvLm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudAogICAgICAgICAgICAg
JiYgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzID09IG8ub3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVz
ICYmIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLm9yZGVyZWROYW1lZEdyaWRDb2x1
bW5MaW5lcwpAQCAtNzgsNiArNzksOSBAQCBwdWJsaWM6CiAgICAgT3JkZXJlZE5hbWVkR3JpZExp
bmVzTWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXM7CiAgICAgT3JkZXJl
ZE5hbWVkR3JpZExpbmVzTWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7CiAK
KyAgICBOYW1lZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzOworICAg
IE5hbWVkR3JpZExpbmVzTWFwIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXM7CisKICAgICB1bnNp
Z25lZCBncmlkQXV0b0Zsb3cgOiBHcmlkQXV0b0Zsb3dCaXRzOwogCiAgICAgVmVjdG9yPEdyaWRU
cmFja1NpemU+IGdyaWRBdXRvUm93czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVy
Q3VzdG9tLmgKaW5kZXggZGEwNmJjNTdlMDg3ZGJhZGY3MmE2YjA0ZWQ5YzFlYjhiNWQwMWVkOC4u
NDZlMzFjNjFkYjM3MDk2Njg0YjlmNzkyNDVkMmM0MDYwYjZjODlhMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2NDUsNiArMTY0NSw5IEBAIGlubGlu
ZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U2l6ZShCdWlsZGVyU3RhdGUmIGJ1
aWxkZXJTdGF0ZSwgQ1NTVmFsCiAKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5p
dGlhbEdyaWRUZW1wbGF0ZUFyZWFzKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQogeworICAg
IGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMoUmVu
ZGVyU3R5bGU6OmluaXRpYWxOYW1lZEdyaWRDb2x1bW5MaW5lcygpKTsKKyAgICBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5zZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjppbml0
aWFsTmFtZWRHcmlkUm93TGluZXMoKSk7CisKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXRO
YW1lZEdyaWRBcmVhKFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlkQXJlYSgpKTsKICAgICBi
dWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoUmVuZGVyU3R5bGU6
OmluaXRpYWxOYW1lZEdyaWRBcmVhQ291bnQoKSk7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCku
c2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlk
QXJlYUNvdW50KCkpOwpAQCAtMTY1Miw2ICsxNjU1LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1
c3RvbTo6YXBwbHlJbml0aWFsR3JpZFRlbXBsYXRlQXJlYXMoQnVpbGRlclN0YXRlJiBidWlsZGVy
U3QKIAogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0R3JpZFRlbXBsYXRl
QXJlYXMoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7CisgICAgYnVpbGRlclN0YXRlLnN0
eWxlKCkuc2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhidWlsZGVyU3RhdGUucGFyZW50
U3R5bGUoKS5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKCkpOworICAgIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoYnVpbGRlclN0YXRlLnBhcmVu
dFN0eWxlKCkuaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcygpKTsKKwogICAgIGJ1aWxkZXJTdGF0
ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFt
ZWRHcmlkQXJlYSgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVh
Um93Q291bnQoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFtZWRHcmlkQXJlYVJvd0NvdW50
KCkpOwogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWFDb2x1bW5Db3Vu
dChidWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKS5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7
CkBAIC0xNjYxLDE4ICsxNjY3LDE5IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5
VmFsdWVHcmlkVGVtcGxhdGVBcmVhcyhCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0CiB7CiAgICAg
aWYgKGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKICAgICAgICAgQVNTRVJUKGRvd25j
YXN0PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7
CisgICAgICAgIGFwcGx5SW5pdGlhbEdyaWRUZW1wbGF0ZUFyZWFzKGJ1aWxkZXJTdGF0ZSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvJiBncmlkVGVtcGxhdGVBcmVhc1ZhbHVl
ID0gZG93bmNhc3Q8Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZT4odmFsdWUpOwogICAgIGNvbnN0
IE5hbWVkR3JpZEFyZWFNYXAmIG5ld05hbWVkR3JpZEFyZWFzID0gZ3JpZFRlbXBsYXRlQXJlYXNW
YWx1ZS5ncmlkQXJlYU1hcCgpOwogCi0gICAgTmFtZWRHcmlkTGluZXNNYXAgbmFtZWRHcmlkQ29s
dW1uTGluZXMgPSBidWlsZGVyU3RhdGUuc3R5bGUoKS5uYW1lZEdyaWRDb2x1bW5MaW5lcygpOwot
ICAgIE5hbWVkR3JpZExpbmVzTWFwIG5hbWVkR3JpZFJvd0xpbmVzID0gYnVpbGRlclN0YXRlLnN0
eWxlKCkubmFtZWRHcmlkUm93TGluZXMoKTsKLSAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVJ
bXBsaWNpdE5hbWVkR3JpZExpbmVzRnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBuYW1l
ZEdyaWRDb2x1bW5MaW5lcywgRm9yQ29sdW1ucyk7Ci0gICAgQnVpbGRlckNvbnZlcnRlcjo6Y3Jl
YXRlSW1wbGljaXROYW1lZEdyaWRMaW5lc0Zyb21HcmlkQXJlYShuZXdOYW1lZEdyaWRBcmVhcywg
bmFtZWRHcmlkUm93TGluZXMsIEZvclJvd3MpOwotICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNl
dE5hbWVkR3JpZENvbHVtbkxpbmVzKG5hbWVkR3JpZENvbHVtbkxpbmVzKTsKLSAgICBidWlsZGVy
U3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRSb3dMaW5lcyhuYW1lZEdyaWRSb3dMaW5lcyk7Cisg
ICAgTmFtZWRHcmlkTGluZXNNYXAgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lczsKKyAgICBO
YW1lZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzOworICAgIEJ1aWxkZXJD
b252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEobmV3TmFt
ZWRHcmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMsIEZvckNvbHVtbnMpOwor
ICAgIEJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3Jp
ZEFyZWEobmV3TmFtZWRHcmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMsIEZvclJv
d3MpOworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1u
TGluZXMoaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk7CisgICAgYnVpbGRlclN0YXRlLnN0
eWxlKCkuc2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyhpbXBsaWNpdE5hbWVkR3JpZFJvd0xp
bmVzKTsKIAogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRl
bXBsYXRlQXJlYXNWYWx1ZS5ncmlkQXJlYU1hcCgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUo
KS5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5yb3dDb3Vu
dCgpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDczZWFlZmE4M2ZiOTA4Zjdl
NzI2MzFmNDFjMGE5YzAzODQyZWI3YWYuLmM1MmVmMzNmZDFjY2Q1ODQwNTI5NGFhMjcyMmUwNWY3
ZTQ1N2I1YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDIwLTA1LTI3ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW2Nzcy1ncmlkXSBGaXggcmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byBy
ZXBlYXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjA5NTcyCisKKyAgICAgICAgSW1wb3J0IFdQVCB0ZXN0cy4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5h
bWVkLWdyaWQtbGluZXMtMDA4LWV4cGVjdGVkLnhodDogQWRkZWQuCisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQt
Z3JpZC1saW5lcy0wMDktZXhwZWN0ZWQueGh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1l
ZC1ncmlkLWxpbmVzLTAwOS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wNS0yMiAg
Q2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbY3NzLWdyaWRdIFVwZGF0ZSBXUFQgaW1wb3J0ZWQgdGVzdHMgYW5kIGRlZHVwbGljYXRlIGNv
bW1vbiB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMTAwOTM1OWU2OGIwZDdjMTExOWZkNWQ2
NjMzMWZhNTkzYTI2OGZhNC4uZjU4ZWFlY2MzNTJiMmNmMjE0NTIxNWJiZTkzMjBjYjZhMGUzNDAy
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00MjcxLDkgKzQyNzEsNiBAQCB3ZWJraXQub3JnL2Iv
MjA5NDYwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bv
cy9kZXNjZW5kYQogd2Via2l0Lm9yZy9iLzIwOTQ2MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9hYnNwb3MvZGVzY2VuZGFudC1zdGF0aWMtcG9zaXRpb24tMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDk0NjAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvYWJzcG9zL2Rlc2NlbmRhbnQtc3Rh
dGljLXBvc2l0aW9uLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MjA5NDYwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bv
cy9kZXNjZW5kYW50LXN0YXRpYy1wb3NpdGlvbi0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1w
bGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1s
aW5lcy0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwOTY1MCBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9ncmlkLWl0ZW1zL2dy
aWQtaXRlbS1wZXJjZW50YWdlLXNpemVzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjA5NjUwIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1ncmlkL2dyaWQtaXRlbXMvZ3JpZC1pdGVtLXBlcmNlbnRhZ2Utc2l6ZXMtMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMDk2NTAgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvZ3JpZC1pdGVtcy9ncmlkLWl0ZW0tcGVyY2VudGFn
ZS1zaXplcy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2Vt
ZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA4LWV4cGVjdGVkLnho
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1l
eHBlY3RlZC54aHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDVhMTM3OTQ0ODJhOTRmNmMxMGJkOWQ0Yzk4NzA0ZTYz
ZWY2MDMzMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1leHBlY3RlZC54aHQKQEAgLTAsMCArMSwxOSBAQAorPCFE
T0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0
dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwg
eG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorIDxoZWFkPgorICA8dGl0bGU+
Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxl
PSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0iaHR0cDovL3d3dy5ndGFsYm90Lm9yZy9Ccm93c2VyQnVn
c1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUvIiAvPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwh
W0NEQVRBWworICBkaXYKKyAgeworICBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgaGVpZ2h0
OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4OworICB9CisgIF1dPjwvc3R5bGU+CisgPC9oZWFkPgor
IDxib2R5PgorICA8cD5UZXN0IHBhc3NlcyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVh
cmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9zdHJvbmc+LjwvcD4KKyAgPGRpdj48L2Rpdj4KKyA8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2lu
Zy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlZTQ4NDQ4YWVjNmNmZmI0
MmVkNWU5OTk0NWJmOGY3ZTMwNWI4YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbApAQCAtMCwwICsxLDMw
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1Mg
R3JpZCBMYXlvdXQgVGVzdDogR3JpZCBpdGVtIHBsYWNlbWVudCB3aXRoIGluaGVyaXRlZCBncmlk
LXRlbXBsYXRlLWFyZWFzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wg
QnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVs
cCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQi
PgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3Jl
ZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkdyaWQg
cGxhY2VtZW50IGFsZ29yaXRobSBpcyBhYmxlIHRvIHNlbGVjdCB0aGUgcmlnaHQgbGluZSB3aGVu
IGRlZmluZWQgaW1wbGljaXRseSB3aXRoIGFuIGluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFz
LiI+Cis8c3R5bGU+Cisud3JhcHBlciB7CisgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICJhIGIiICJh
IGMiOworfQorLmdyaWQgeworICBkaXNwbGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLWFyZWFz
OiBpbmhlcml0OworICB3aWR0aDogMTAwcHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91
bmQ6IHJlZDsKK30KKy5pdGVtIHsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgor
PHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ry
b25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KKyAgPGRpdiBj
bGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYSI+
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYiI+PC9kaXY+
CisgICAgPGRpdiBjbGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYyI+PC9kaXY+CisgIDwv
ZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmct
bmFtZWQtZ3JpZC1saW5lcy0wMDktZXhwZWN0ZWQueGh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5LWV4cGVjdGVkLnhodApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
NWExMzc5NDQ4MmE5NGY2YzEwYmQ5ZDRjOTg3MDRlNjNlZjYwMzMxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5LWV4
cGVjdGVkLnhodApAQCAtMCwwICsxLDE5IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1cz
Qy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwx
L0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MTk5OS94aHRtbCI+CisgPGhlYWQ+CisgIDx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3Rp
dGxlPgorICA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkfDqXJhcmQgVGFsYm90IiBocmVmPSJo
dHRwOi8vd3d3Lmd0YWxib3Qub3JnL0Jyb3dzZXJCdWdzU2VjdGlvbi9jc3MyMXRlc3RzdWl0ZS8i
IC8+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PCFbQ0RBVEFbCisgIGRpdgorICB7CisgIGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOworICBoZWlnaHQ6IDEwMHB4OworICB3aWR0aDogMTAwcHg7
CisgIH0KKyAgXV0+PC9zdHlsZT4KKyA8L2hlYWQ+CisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2Vz
IGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdyZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0
cm9uZz4uPC9wPgorICA8ZGl2PjwvZGl2PgorIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS5odG1s
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5Lmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMTBjYjE0MGViY2E4NzcwOWRhNWQwMzA1ZWZjMzAwYjQ3YmU2YWFiMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1n
cmlkLWxpbmVzLTAwOS5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPkNTUyBHcmlkIExheW91dCBUZXN0OiBHcmlkIGl0
ZW0gcGxhY2VtZW50IHdpdGggbm9uLWluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFzPC90aXRs
ZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86
b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53
My5vcmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIg
aHJlZj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+
Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkNoZWNrcyB0aGF0IGluaGVyaXRpbmcgZ3Jp
ZC10ZW1wbGF0ZS1jb2x1bW5zIGFuZCBncmlkLXRlbXBsYXRlLXJvd3MgZG9lc24ndCBhbHNvIGlu
aGVyaXQgZ3JpZC10ZW1wbGF0ZS1hcmVhcy4iPgorPHN0eWxlPgorLndyYXBwZXIgeworICBncmlk
LXRlbXBsYXRlLWFyZWFzOiAiYXJlYSI7Cit9CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7Cisg
IHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgZ3JpZC1hdXRvLWNvbHVtbnM6IDBw
eCAxMDAlOworICBncmlkLWF1dG8tcm93czogMHB4IDEwMCU7CisgIGdyaWQtdGVtcGxhdGUtY29s
dW1uczogaW5oZXJpdDsKKyAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBpbmhlcml0OworICBiYWNrZ3Jv
dW5kOiByZWQ7Cit9CisuaXRlbSB7CisgIGdyaWQtYXJlYTogYXJlYTsKKyAgYmFja2dyb3VuZDog
Z3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQg
Z3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNz
PSJ3cmFwcGVyIj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0iaXRlbSI+
PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2cKaW5kZXggZDMzZDhkZjU5MWJlMjM3MDAy
ZDM4ZjA2YWUzNTkzNDkyMTU1NWRlZi4uZWMyNzZiOGFiMzJlMmRiMjcxMjFjMDU1ZGQxNmVmMDli
MGFlMjc2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC93M2MtaW1wb3J0LmxvZwpAQCAtNDAsNSArNDAsOSBAQCBMaXN0IG9mIGZpbGVzOgogL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi5odG1sCiAv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
cGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA3LWV4cGVj
dGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDcuaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxp
bmVzLTAwOC1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFt
ZWQtZ3JpZC1saW5lcy0wMDguaHRtbAorL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1u
YW1lZC1ncmlkLWxpbmVzLTAwOS1leHBlY3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1l
bnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXRlbXBs
YXRlLWFyZWFzLW11c3Qta2VlcC1uYW1lZC1jb2x1bW5zLW9yZGVyLTAwMS1leHBlY3RlZC5odG1s
CiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvcGxhY2VtZW50L2dyaWQtdGVtcGxhdGUtYXJlYXMtbXVzdC1rZWVwLW5hbWVkLWNvbHVtbnMt
b3JkZXItMDAxLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>400505</attachid>
            <date>2020-05-28 14:33:54 -0700</date>
            <delta_ts>2020-05-28 15:03:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209572-20200528233352.patch</filename>
            <type>text/plain</type>
            <size>30942</size>
            <attacher name="Oriol Brufau">obrufau</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYyMDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGZkM2ViZjM4ZDk1ZDdj
MGE2NDM2Y2FhYWZmZjcyMGRlNmMwZjYwZi4uOTEwY2QzMjQ4M2Q2ZGI1MTNmNjk0OWE1MDZkOWQ3
NzkxM2Q3MzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY3IEBACisyMDIwLTA1LTI3ICBPcmlv
bCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAgW2Nzcy1ncmlkXSBGaXgg
cmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBlYXQoKQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5NTcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBtdWx0
aXBsZSBwcm9ibGVtcyB3aGVuIHJlZmVyZW5jaW5nIG5hbWVkIGdyaWQgbGluZXMgd2l0aCB0aGUg
cHJlc2VuY2Ugb2YKKyAgICAgICAgdGhlIGF1dG8gcmVwZWF0KCkgc3ludGF4OgorCisgICAgICAg
ICAgLSBJZiB0aGUgMXN0IHRyYWNrIHdhcyBkZWZpbmVkIHdpdGggYXV0byByZXBlYXQoKSwgdGhl
biB0aGUgY29kZSB1c2VkIHRvIGFzc3VtZSB0aGF0IHRoZQorICAgICAgICAgICAgcmVmZXJlbmNl
ZCBsaW5lIGFwcGVhcmVkIGFmdGVyIHRoZSByZXBlYXRlZCB0cmFja3MuIEJ1dCBpdCBtYXkgYWN0
dWFsbHkgcHJlY2VkZSB0aGVtLgorCisgICAgICAgICAgLSBJZiB0aGUgcmVmZXJlbmNlZCBsaW5l
IGFwcGVhcmVkIGJvdGggaW5zaWRlIGFuZCBvdXRzaWRlIHRoZSBhdXRvIHJlcGVhdCgpLCB0aGVu
IGl0CisgICAgICAgICAgICBjb3VsZCByZXNvbHZlIHRvIHRoZSBvdXRzaWRlIHJhdyBpbmRleCwg
d2l0aG91dCBleHBhbmRpbmcgdGhlIGF1dG8gcmVwZWF0KCkuCisKKyAgICAgICAgICAtIFRoZSBs
b2dpYyBmb3IgcGxhY2luZyBhIHBsYWNlbWVudCBwcm9wZXJ0eSBzZXQgdG8gYm90aCBhbiBpbnRl
Z2VyIGFuZCBhbiBpZGVudGlmaWVyCisgICAgICAgICAgICB3YXMgd3Jvbmcgd2l0aCBhdXRvIHJl
cGVhdCgpLgorICAgICAgICAgICAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSB1c2luZyB0aGUgc2Ft
ZSBwcm9wZXIgbG9naWMgdGhhdCB3YXMgYWxyZWFkeSBpbXBsZW1lbnRlZCBpbgorICAgICAgICAg
ICAgT3JkZXJlZE5hbWVkTGluZXNDb2xsZWN0b3JJbkdyaWRMYXlvdXQ6OmNvbGxlY3RMaW5lTmFt
ZXNGb3JJbmRleAorCisgICAgICAgICAgLSBUaGUgaW5kaWNlcyBvZiBib3RoIGltcGxpY2l0IGdy
aWQgbGluZXMgZGVmaW5lZCB3aXRoIGdyaWQtdGVtcGxhdGUtYXJlYXMgYW5kIGV4cGxpY2l0Cisg
ICAgICAgICAgICBvbmVzIGRlZmluZWQgd2l0aCBncmlkLXRlbXBsYXRlLXJvd3MvY29sdW1ucyB1
c2VkIHRvIGJlIHN0b3JlZCB0b2dldGhlciBpbgorICAgICAgICAgICAgTmFtZWRHcmlkQ29sdW1u
TGluZXMgYW5kIE5hbWVkR3JpZFJvd0xpbmVzLiBUaGlzIHdhcyBwcm9ibGVtYXRpYyBiZWNhdXNl
IHRoZSBmb3JtZXIKKyAgICAgICAgICAgIGluZGljZXMgYWxyZWFkeSByZWZlciB0byB0aGUgZmlu
YWwgZXhwbGljaXQgZ3JpZCBzbyB0aGV5IGRvbid0IGhhdmUgdG8gYmUgaW5jcmVhc2VkIHdoZW4K
KyAgICAgICAgICAgIGV4cGFuZGluZyBhbiBhdXRvIHJlcGVhdCgpLCBidXQgdGhlIGxhdHRlciBv
bmVzIHNob3VsZC4KKyAgICAgICAgICAgIFRoZXJlZm9yZSwgdGhpcyBwYXRjaCBzdG9yZXMgdGhl
IGluZGljZXMgaW4gc2VwYXJhdGUgZmllbGRzIGFuZCB1c2VzIHRoZSBjb3JyZWN0IGxvZ2ljCisg
ICAgICAgICAgICBmb3IgZWFjaCBvbmUuIFRoaXMgYWxzbyBmaXhlcyAnZ3JpZC10ZW1wbGF0ZS1h
cmVhczogaW5oZXJpdCcuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBhIHBvcnQgb2YgdGhlc2Ug
Q2hyb21pdW0gcGF0Y2hlczoKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NDQyNgor
ICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzQ1OTI1CisgICAgICAgICAgLSBodHRwczov
L2NycmV2LmNvbS83NDc2MzEKKyAgICAgICAgICAtIGh0dHBzOi8vY3JyZXYuY29tLzc0NzY2OQor
ICAgICAgICAgIC0gaHR0cHM6Ly9jcnJldi5jb20vNzcxOTg0CisKKyAgICAgICAgVGVzdHM6IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlk
LXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwMi5odG1sCisgICAgICAgICAgICAg
ICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDQuaHRtbAorICAgICAgICAg
ICAgICAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2Vt
ZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA1Lmh0bWwKKyAgICAg
ICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5odG1sCisg
ICAgICAgICAgICAgICBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDkuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9uOjpOYW1lZExpbmVDb2xsZWN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxlY3Rpb246Omhhc0V4cGxpY2l0
TmFtZWRMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZExpbmVDb2xsZWN0aW9u
OjpoYXNOYW1lZExpbmVzIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxl
Y3Rpb246OmNvbnRhaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5hbWVkTGluZUNvbGxl
Y3Rpb246OmZpcnN0RXhwbGljaXRQb3NpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpO
YW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uIGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmg6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6aW1w
bGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJTdHlsZTo6aW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyBjb25zdCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6c2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyk6
CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlkRGF0YSk6CisgICAgICAgICogcmVuZGVy
aW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlR3JpZERh
dGE6Om9wZXJhdG9yPT0gY29uc3QpOgorICAgICAgICAqIHN0eWxlL1N0eWxlQnVpbGRlckN1c3Rv
bS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGU6OkJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlh
bEdyaWRUZW1wbGF0ZUFyZWFzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlOjpCdWlsZGVyQ3Vz
dG9tOjphcHBseUluaGVyaXRHcmlkVGVtcGxhdGVBcmVhcyk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZTo6QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUdyaWRUZW1wbGF0ZUFyZWFzKToKKwogMjAy
MC0wNS0yMiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBpT1M6IFByZXNzaW5nIHRhYiBpbiB0aGUgTWFpbCBzdWJqZWN0IGZpZWxkIG1vdmVzIGZvY3Vz
IHRvIHRoZSBib2R5LCBidXQgcHJlc3Npbmcgc2hpZnQgdGFiIGRvZXNuJ3QgbW92ZSBpdCBiYWNr
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvR3JpZFBvc2l0aW9u
c1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRp
b25zUmVzb2x2ZXIuY3BwCmluZGV4IDNkOTk4MTMxNjI1NGZlYzcyYTMwN2E3N2JmZjA3ZmNmNDNk
NmNjNTUuLjMzYzcwM2M1ZjA2ZmE2NWEzZjZmYmRhMmRlNzZkZWEzZmI2MWI4ZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVz
b2x2ZXIuY3BwCkBAIC02NCw2ICs2NCw3IEBAIE5hbWVkTGluZUNvbGxlY3Rpb246Ok5hbWVkTGlu
ZUNvbGxlY3Rpb24oY29uc3QgUmVuZGVyU3R5bGUmIGdyaWRDb250YWluZXJTdHlsZSwKICAgICBi
b29sIGlzUm93QXhpcyA9IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zOwogICAgIGNvbnN0IE5hbWVk
R3JpZExpbmVzTWFwJiBncmlkTGluZU5hbWVzID0gaXNSb3dBeGlzID8gZ3JpZENvbnRhaW5lclN0
eWxlLm5hbWVkR3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUubmFtZWRHcmlk
Um93TGluZXMoKTsKICAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdEdyaWRM
aW5lTmFtZXMgPSBpc1Jvd0F4aXMgPyBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5hbWVk
R3JpZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuYXV0b1JlcGVhdE5hbWVkR3Jp
ZFJvd0xpbmVzKCk7CisgICAgY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIGltcGxpY2l0R3JpZExp
bmVOYW1lcyA9IGlzUm93QXhpcyA/IGdyaWRDb250YWluZXJTdHlsZS5pbXBsaWNpdE5hbWVkR3Jp
ZENvbHVtbkxpbmVzKCkgOiBncmlkQ29udGFpbmVyU3R5bGUuaW1wbGljaXROYW1lZEdyaWRSb3dM
aW5lcygpOwogCiAgICAgYXV0byBsaW5lc0l0ZXJhdG9yID0gZ3JpZExpbmVOYW1lcy5maW5kKG5h
bWVkTGluZSk7CiAgICAgbV9uYW1lZExpbmVzSW5kZXhlcyA9IGxpbmVzSXRlcmF0b3IgPT0gZ3Jp
ZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmbGluZXNJdGVyYXRvci0+dmFsdWU7CkBAIC03
MSw2OCArNzIsODQgQEAgTmFtZWRMaW5lQ29sbGVjdGlvbjo6TmFtZWRMaW5lQ29sbGVjdGlvbihj
b25zdCBSZW5kZXJTdHlsZSYgZ3JpZENvbnRhaW5lclN0eWxlLAogICAgIGF1dG8gYXV0b1JlcGVh
dExpbmVzSXRlcmF0b3IgPSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5maW5kKG5hbWVkTGluZSk7
CiAgICAgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMgPSBhdXRvUmVwZWF0TGluZXNJdGVy
YXRvciA9PSBhdXRvUmVwZWF0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmYXV0b1Jl
cGVhdExpbmVzSXRlcmF0b3ItPnZhbHVlOwogCisgICAgYXV0byBpbXBsaWNpdEdyaWRMaW5lc0l0
ZXJhdG9yID0gaW1wbGljaXRHcmlkTGluZU5hbWVzLmZpbmQobmFtZWRMaW5lKTsKKyAgICBtX2lt
cGxpY2l0TmFtZWRMaW5lc0luZGV4ZXMgPSBpbXBsaWNpdEdyaWRMaW5lc0l0ZXJhdG9yID09IGlt
cGxpY2l0R3JpZExpbmVOYW1lcy5lbmQoKSA/IG51bGxwdHIgOiAmaW1wbGljaXRHcmlkTGluZXNJ
dGVyYXRvci0+dmFsdWU7CisKICAgICBtX2luc2VydGlvblBvaW50ID0gaXNSb3dBeGlzID8gZ3Jp
ZENvbnRhaW5lclN0eWxlLmdyaWRBdXRvUmVwZWF0Q29sdW1uc0luc2VydGlvblBvaW50KCkgOiBn
cmlkQ29udGFpbmVyU3R5bGUuZ3JpZEF1dG9SZXBlYXRSb3dzSW5zZXJ0aW9uUG9pbnQoKTsKIAog
ICAgIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCA9IGlzUm93QXhpcyA/IGdyaWRDb250YWlu
ZXJTdHlsZS5ncmlkQXV0b1JlcGVhdENvbHVtbnMoKS5zaXplKCkgOiBncmlkQ29udGFpbmVyU3R5
bGUuZ3JpZEF1dG9SZXBlYXRSb3dzKCkuc2l6ZSgpOwogfQogCi1ib29sIE5hbWVkTGluZUNvbGxl
Y3Rpb246Omhhc05hbWVkTGluZXMoKSBjb25zdAorYm9vbCBOYW1lZExpbmVDb2xsZWN0aW9uOjpo
YXNFeHBsaWNpdE5hbWVkTGluZXMoKSBjb25zdAogewogICAgIHJldHVybiBtX25hbWVkTGluZXNJ
bmRleGVzIHx8IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzOwogfQogCi1zaXplX3QgTmFt
ZWRMaW5lQ29sbGVjdGlvbjo6ZmluZCh1bnNpZ25lZCBsaW5lKSBjb25zdAorYm9vbCBOYW1lZExp
bmVDb2xsZWN0aW9uOjpoYXNOYW1lZExpbmVzKCkgY29uc3QKIHsKLSAgICBpZiAobGluZSA+IG1f
bGFzdExpbmUpCi0gICAgICAgIHJldHVybiBub3RGb3VuZDsKLQotICAgIGlmICghbV9hdXRvUmVw
ZWF0TmFtZWRMaW5lc0luZGV4ZXMgfHwgbGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCi0gICAgICAg
IHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzID8gbV9uYW1lZExpbmVzSW5kZXhlcy0+ZmluZChs
aW5lKSA6IG5vdEZvdW5kOwotCi0gICAgaWYgKGxpbmUgPD0gKG1faW5zZXJ0aW9uUG9pbnQgKyBt
X2F1dG9SZXBlYXRUb3RhbFRyYWNrcykpIHsKLSAgICAgICAgc2l6ZV90IGxvY2FsSW5kZXggPSBs
aW5lIC0gbV9pbnNlcnRpb25Qb2ludDsKLQotICAgICAgICBzaXplX3QgaW5kZXhJbkZpcnN0UmVw
ZXRpdGlvbiA9IGxvY2FsSW5kZXggJSBtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGg7Ci0gICAg
ICAgIGlmIChpbmRleEluRmlyc3RSZXBldGl0aW9uKQotICAgICAgICAgICAgcmV0dXJuIG1fYXV0
b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKGluZGV4SW5GaXJzdFJlcGV0aXRpb24pOwot
Ci0gICAgICAgIC8vIFRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4gdGhlIGxhc3QgbGluZSBhcmUg
YWxzbyBwcmVzZW50IGluIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBuZXh0Ci0gICAgICAgIC8vIHJl
cGV0aXRpb24gKGlmIGFueSkuIFNhbWUgZm9yIHRoZSBsaW5lIG5hbWVzIGRlZmluZWQgaW4gdGhl
IGZpcnN0IGxpbmUuCi0gICAgICAgIGlmIChsb2NhbEluZGV4ID09IG1fYXV0b1JlcGVhdFRvdGFs
VHJhY2tzKQotICAgICAgICAgICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
LT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCk7Ci0gICAgICAgIHNpemVfdCBwb3Np
dGlvbiA9IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5maW5kKDB1KTsKLSAgICAgICAg
aWYgKHBvc2l0aW9uICE9IG5vdEZvdW5kKQotICAgICAgICAgICAgcmV0dXJuIHBvc2l0aW9uOwot
ICAgICAgICByZXR1cm4gbG9jYWxJbmRleCA/IG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVz
LT5maW5kKG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgOiBub3RGb3VuZDsKLSAgICB9Ci0K
LSAgICByZXR1cm4gbV9uYW1lZExpbmVzSW5kZXhlcyA/IG1fbmFtZWRMaW5lc0luZGV4ZXMtPmZp
bmQobGluZSAtIChtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEpKSA6IG5vdEZvdW5kOworICAg
IHJldHVybiBoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSB8fCBtX2ltcGxpY2l0TmFtZWRMaW5lc0lu
ZGV4ZXM7CiB9CiAKIGJvb2wgTmFtZWRMaW5lQ29sbGVjdGlvbjo6Y29udGFpbnModW5zaWduZWQg
bGluZSkgY29uc3QKIHsKICAgICBBU1NFUlQoaGFzTmFtZWRMaW5lcygpKTsKLSAgICByZXR1cm4g
ZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKworICAgIGlmIChsaW5lID4gbV9sYXN0TGluZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgYXV0byBjb250YWlucyA9IFtdKGNvbnN0IFZlY3Rv
cjx1bnNpZ25lZD4qIGluZGV4ZXMsIHVuc2lnbmVkIGxpbmUpIHsKKyAgICAgICAgcmV0dXJuIGlu
ZGV4ZXMgJiYgaW5kZXhlcy0+ZmluZChsaW5lKSAhPSBub3RGb3VuZDsKKyAgICB9OworCisgICAg
aWYgKGNvbnRhaW5zKG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcywgbGluZSkpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgaWYgKCFtX2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGggfHwg
bGluZSA8IG1faW5zZXJ0aW9uUG9pbnQpCisgICAgICAgIHJldHVybiBjb250YWlucyhtX25hbWVk
TGluZXNJbmRleGVzLCBsaW5lKTsKKworICAgIEFTU0VSVChtX2F1dG9SZXBlYXRUb3RhbFRyYWNr
cyk7CisKKyAgICBpZiAobGluZSA+IG1faW5zZXJ0aW9uUG9pbnQgKyBtX2F1dG9SZXBlYXRUb3Rh
bFRyYWNrcykKKyAgICAgICAgcmV0dXJuIGNvbnRhaW5zKG1fbmFtZWRMaW5lc0luZGV4ZXMsIGxp
bmUgLSAobV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxKSk7CisKKyAgICBpZiAobGluZSA9PSBt
X2luc2VydGlvblBvaW50KQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9uYW1lZExpbmVzSW5k
ZXhlcywgbGluZSkgfHwgY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMsIDAp
OworCisgICAgaWYgKGxpbmUgPT0gbV9pbnNlcnRpb25Qb2ludCArIG1fYXV0b1JlcGVhdFRvdGFs
VHJhY2tzKQorICAgICAgICByZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0lu
ZGV4ZXMsIG1fYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCkgfHwgY29udGFpbnMobV9uYW1lZExp
bmVzSW5kZXhlcywgbV9pbnNlcnRpb25Qb2ludCArIDEpOworCisgICAgc2l6ZV90IGF1dG9SZXBl
YXRJbmRleEluRmlyc3RSZXBldGl0aW9uID0gKGxpbmUgLSBtX2luc2VydGlvblBvaW50KSAlIG1f
YXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aDsKKyAgICBpZiAoIWF1dG9SZXBlYXRJbmRleEluRmly
c3RSZXBldGl0aW9uICYmIGNvbnRhaW5zKG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLCBt
X2F1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBy
ZXR1cm4gY29udGFpbnMobV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMsIGF1dG9SZXBlYXRJ
bmRleEluRmlyc3RSZXBldGl0aW9uKTsKIH0KIAotdW5zaWduZWQgTmFtZWRMaW5lQ29sbGVjdGlv
bjo6Zmlyc3RQb3NpdGlvbigpIGNvbnN0Cit1bnNpZ25lZCBOYW1lZExpbmVDb2xsZWN0aW9uOjpm
aXJzdEV4cGxpY2l0UG9zaXRpb24oKSBjb25zdAogewotICAgIEFTU0VSVChoYXNOYW1lZExpbmVz
KCkpOworICAgIEFTU0VSVChoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSk7CiAgICAgdW5zaWduZWQg
Zmlyc3RMaW5lID0gMDsKIAotICAgIGlmICghbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMp
IHsKLSAgICAgICAgaWYgKCFtX2luc2VydGlvblBvaW50IHx8IG1faW5zZXJ0aW9uUG9pbnQgPCBt
X25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpKQotICAgICAgICAgICAgcmV0dXJuIG1f
bmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyAobV9hdXRvUmVwZWF0VG90YWxUcmFj
a3MgPyBtX2F1dG9SZXBlYXRUb3RhbFRyYWNrcyAtIDEgOiAwKTsKKyAgICAvLyBJZiB0aGVyZSBp
cyBubyBhdXRvIHJlcGVhdCgpLCB0aGVyZSBtdXN0IGJlIHNvbWUgbmFtZWQgbGluZSBvdXRzaWRl
LCByZXR1cm4gdGhlIDFzdCBvbmUuIEFsc28gcmV0dXJuIGl0IGlmIGl0IHByZWNlZGVzIHRoZSBh
dXRvLXJlcGVhdCgpLgorICAgIGlmICghbV9hdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoIHx8ICht
X25hbWVkTGluZXNJbmRleGVzICYmIG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkg
PD0gbV9pbnNlcnRpb25Qb2ludCkpCiAgICAgICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVz
LT5hdChmaXJzdExpbmUpOwotICAgIH0KIAotICAgIGlmICghbV9uYW1lZExpbmVzSW5kZXhlcykK
KyAgICAvLyBSZXR1cm4gdGhlIDFzdCBuYW1lZCBsaW5lIGluc2lkZSB0aGUgYXV0byByZXBlYXQo
KSwgaWYgYW55LgorICAgIGlmIChtX2F1dG9SZXBlYXROYW1lZExpbmVzSW5kZXhlcykKICAgICAg
ICAgcmV0dXJuIG1fYXV0b1JlcGVhdE5hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsg
bV9pbnNlcnRpb25Qb2ludDsKIAotICAgIGlmICghbV9pbnNlcnRpb25Qb2ludCkKLSAgICAgICAg
cmV0dXJuIHN0ZDo6bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSkgKyBtX2F1
dG9SZXBlYXRUb3RhbFRyYWNrcywgbV9hdXRvUmVwZWF0TmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZp
cnN0TGluZSkpOworICAgIC8vIFRoZSAxc3QgbmFtZWQgbGluZSBtdXN0IGJlIGFmdGVyIHRoZSBh
dXRvIHJlcGVhdCgpLgorICAgIHJldHVybiBtX25hbWVkTGluZXNJbmRleGVzLT5hdChmaXJzdExp
bmUpICsgbV9hdXRvUmVwZWF0VG90YWxUcmFja3MgLSAxOworfQogCi0gICAgcmV0dXJuIHN0ZDo6
bWluKG1fbmFtZWRMaW5lc0luZGV4ZXMtPmF0KGZpcnN0TGluZSksIG1fYXV0b1JlcGVhdE5hbWVk
TGluZXNJbmRleGVzLT5hdChmaXJzdExpbmUpICsgbV9pbnNlcnRpb25Qb2ludCk7Cit1bnNpZ25l
ZCBOYW1lZExpbmVDb2xsZWN0aW9uOjpmaXJzdFBvc2l0aW9uKCkgY29uc3QKK3sKKyAgICBBU1NF
UlQoaGFzTmFtZWRMaW5lcygpKTsKKyAgICB1bnNpZ25lZCBmaXJzdExpbmUgPSAwOworICAgIGlm
ICghbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzKQorICAgICAgICByZXR1cm4gZmlyc3RFeHBs
aWNpdFBvc2l0aW9uKCk7CisgICAgaWYgKCFoYXNFeHBsaWNpdE5hbWVkTGluZXMoKSkKKyAgICAg
ICAgcmV0dXJuIG1faW1wbGljaXROYW1lZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKTsKKyAg
ICByZXR1cm4gc3RkOjptaW4oZmlyc3RFeHBsaWNpdFBvc2l0aW9uKCksIG1faW1wbGljaXROYW1l
ZExpbmVzSW5kZXhlcy0+YXQoZmlyc3RMaW5lKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGFkanVzdEdy
aWRQb3NpdGlvbnNGcm9tU3R5bGUoY29uc3QgUmVuZGVyQm94JiBncmlkSXRlbSwgR3JpZFRyYWNr
U2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbiwgR3JpZFBvc2l0aW9uJiBpbml0aWFsUG9zaXRpb24s
IEdyaWRQb3NpdGlvbiYgZmluYWxQb3NpdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9HcmlkUG9zaXRpb25zUmVzb2x2ZXIuaAppbmRleCA4Y2EyMDliNmFj
M2ExN2I3OTQ2ODk5MmQwMTRjYWQ0OWI5YzBiNDg0Li42MjNiNjJjNmMyNDFkYzEzMDI1MDc4ZDE1
MWY2YTk5MGQ1ZGMxMDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvR3JpZFBvc2l0aW9uc1Jlc29sdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL0dyaWRQb3NpdGlvbnNSZXNvbHZlci5oCkBAIC01NCwxMCArNTQsMTIgQEAgcHVibGlj
OgogICAgIGJvb2wgY29udGFpbnModW5zaWduZWQgbGluZSkgY29uc3Q7CiAKIHByaXZhdGU6Ci0g
ICAgc2l6ZV90IGZpbmQodW5zaWduZWQgbGluZSkgY29uc3Q7CisgICAgYm9vbCBoYXNFeHBsaWNp
dE5hbWVkTGluZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBmaXJzdEV4cGxpY2l0UG9zaXRpb24o
KSBjb25zdDsKIAogICAgIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4qIG1fbmFtZWRMaW5lc0luZGV4
ZXMgeyBudWxscHRyIH07CiAgICAgY29uc3QgVmVjdG9yPHVuc2lnbmVkPiogbV9hdXRvUmVwZWF0
TmFtZWRMaW5lc0luZGV4ZXMgeyBudWxscHRyIH07CisgICAgY29uc3QgVmVjdG9yPHVuc2lnbmVk
PiogbV9pbXBsaWNpdE5hbWVkTGluZXNJbmRleGVzIHsgbnVsbHB0ciB9OwogCiAgICAgdW5zaWdu
ZWQgbV9pbnNlcnRpb25Qb2ludDsKICAgICB1bnNpZ25lZCBtX2xhc3RMaW5lOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCA0Y2Y2ZDhmZWYzNTY3
NmFkNzBlOTFmY2ZiNjE1OGNkMmY4MzM4M2Q4Li5kM2MxNWI5YTc0MjE0MTNjNWI4YTZjMDg4NTBj
Zjg1Y2E1NjVmN2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaApAQCAtNTQwLDYgKzU0MCw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBOYW1lZEdyaWRM
aW5lc01hcCYgYXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzKCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+YXV0b1JlcGVhdE5hbWVkR3JpZFJvd0xpbmVzOyB9
CiAgICAgY29uc3QgT3JkZXJlZE5hbWVkR3JpZExpbmVzTWFwJiBhdXRvUmVwZWF0T3JkZXJlZE5h
bWVkR3JpZENvbHVtbkxpbmVzKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0
YS0+Z3JpZC0+YXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lczsgfQogICAgIGNv
bnN0IE9yZGVyZWROYW1lZEdyaWRMaW5lc01hcCYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRS
b3dMaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmF1
dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7IH0KKyAgICBjb25zdCBOYW1lZEdyaWRM
aW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcygpIGNvbnN0IHsgcmV0dXJuIG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXM7
IH0KKyAgICBjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgaW1wbGljaXROYW1lZEdyaWRSb3dMaW5l
cygpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmdyaWQtPmltcGxpY2l0
TmFtZWRHcmlkUm93TGluZXM7IH0KICAgICBjb25zdCBOYW1lZEdyaWRBcmVhTWFwJiBuYW1lZEdy
aWRBcmVhKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+bmFt
ZWRHcmlkQXJlYTsgfQogICAgIHNpemVfdCBuYW1lZEdyaWRBcmVhUm93Q291bnQoKSBjb25zdCB7
IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5ncmlkLT5uYW1lZEdyaWRBcmVhUm93Q291
bnQ7IH0KICAgICBzaXplX3QgbmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KCkgY29uc3QgeyByZXR1
cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Z3JpZC0+bmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50
OyB9CkBAIC0xMTE2LDYgKzExMTgsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBdXRvUmVwZWF0
TmFtZWRHcmlkUm93TGluZXMoY29uc3QgTmFtZWRHcmlkTGluZXNNYXAmIG5hbWVkR3JpZFJvd0xp
bmVzKSB7IFNFVF9ORVNURURfVkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1dG9S
ZXBlYXROYW1lZEdyaWRSb3dMaW5lcywgbmFtZWRHcmlkUm93TGluZXMpOyB9CiAgICAgdm9pZCBz
ZXRBdXRvUmVwZWF0T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKGNvbnN0IE9yZGVyZWROYW1l
ZEdyaWRMaW5lc01hcCYgb3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKSB7IFNFVF9ORVNURURf
VkFSKG1fcmFyZU5vbkluaGVyaXRlZERhdGEsIGdyaWQsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRH
cmlkQ29sdW1uTGluZXMsIG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyk7IH0KICAgICB2b2lk
IHNldEF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMoY29uc3QgT3JkZXJlZE5hbWVk
R3JpZExpbmVzTWFwJiBvcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpIHsgU0VUX05FU1RFRF9WQVIo
bV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3JpZCwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRS
b3dMaW5lcywgb3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzKTsgfQorICAgIHZvaWQgc2V0SW1wbGlj
aXROYW1lZEdyaWRDb2x1bW5MaW5lcyhjb25zdCBOYW1lZEdyaWRMaW5lc01hcCYgbmFtZWRHcmlk
Q29sdW1uTGluZXMpIHsgU0VUX05FU1RFRF9WQVIobV9yYXJlTm9uSW5oZXJpdGVkRGF0YSwgZ3Jp
ZCwgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcywgbmFtZWRHcmlkQ29sdW1uTGluZXMpOyB9
CisgICAgdm9pZCBzZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKGNvbnN0IE5hbWVkR3JpZExp
bmVzTWFwJiBuYW1lZEdyaWRSb3dMaW5lcykgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLCBncmlkLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzLCBuYW1lZEdyaWRSb3dM
aW5lcyk7IH0KICAgICB2b2lkIHNldE5hbWVkR3JpZEFyZWEoY29uc3QgTmFtZWRHcmlkQXJlYU1h
cCYgbmFtZWRHcmlkQXJlYSkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRh
LCBncmlkLCBuYW1lZEdyaWRBcmVhLCBuYW1lZEdyaWRBcmVhKTsgfQogICAgIHZvaWQgc2V0TmFt
ZWRHcmlkQXJlYVJvd0NvdW50KHNpemVfdCByb3dDb3VudCkgeyBTRVRfTkVTVEVEX1ZBUihtX3Jh
cmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1lZEdyaWRBcmVhUm93Q291bnQsIHJvd0NvdW50
KTsgfQogICAgIHZvaWQgc2V0TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KHNpemVfdCBjb2x1bW5D
b3VudCkgeyBTRVRfTkVTVEVEX1ZBUihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLCBncmlkLCBuYW1l
ZEdyaWRBcmVhQ29sdW1uQ291bnQsIGNvbHVtbkNvdW50KTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuY3BwCmluZGV4IDQwZDlkYzlhODE4OTEx
N2NkMTdiNjUxZDhmMjI3NDg1NjNmMzJkNTYuLjU2NmYzYmIxZjc0MWYwNjUzNjNiODRhMGQ4MjMy
MGJmZTQyNjc4NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9T
dHlsZUdyaWREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5
bGVHcmlkRGF0YS5jcHAKQEAgLTQxLDYgKzQxLDggQEAgU3R5bGVHcmlkRGF0YTo6U3R5bGVHcmlk
RGF0YSgpCiAgICAgLCBhdXRvUmVwZWF0TmFtZWRHcmlkUm93TGluZXMoUmVuZGVyU3R5bGU6Omlu
aXRpYWxOYW1lZEdyaWRSb3dMaW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdy
aWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRDb2x1bW5M
aW5lcygpKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyhSZW5kZXJT
dHlsZTo6aW5pdGlhbE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcygpKQorICAgICwgaW1wbGljaXRO
YW1lZEdyaWRDb2x1bW5MaW5lcyhSZW5kZXJTdHlsZTo6aW5pdGlhbE5hbWVkR3JpZENvbHVtbkxp
bmVzKCkpCisgICAgLCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjppbml0
aWFsTmFtZWRHcmlkUm93TGluZXMoKSkKICAgICAsIGdyaWRBdXRvRmxvdyhSZW5kZXJTdHlsZTo6
aW5pdGlhbEdyaWRBdXRvRmxvdygpKQogICAgICwgZ3JpZEF1dG9Sb3dzKFJlbmRlclN0eWxlOjpp
bml0aWFsR3JpZEF1dG9Sb3dzKCkpCiAgICAgLCBncmlkQXV0b0NvbHVtbnMoUmVuZGVyU3R5bGU6
OmluaXRpYWxHcmlkQXV0b0NvbHVtbnMoKSkKQEAgLTY4LDYgKzcwLDggQEAgaW5saW5lIFN0eWxl
R3JpZERhdGE6OlN0eWxlR3JpZERhdGEoY29uc3QgU3R5bGVHcmlkRGF0YSYgbykKICAgICAsIGF1
dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcykK
ICAgICAsIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXMoby5hdXRvUmVwZWF0
T3JkZXJlZE5hbWVkR3JpZENvbHVtbkxpbmVzKQogICAgICwgYXV0b1JlcGVhdE9yZGVyZWROYW1l
ZEdyaWRSb3dMaW5lcyhvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMpCisgICAg
LCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKG8uaW1wbGljaXROYW1lZEdyaWRDb2x1bW5M
aW5lcykKKyAgICAsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoby5pbXBsaWNpdE5hbWVkR3Jp
ZFJvd0xpbmVzKQogICAgICwgZ3JpZEF1dG9GbG93KG8uZ3JpZEF1dG9GbG93KQogICAgICwgZ3Jp
ZEF1dG9Sb3dzKG8uZ3JpZEF1dG9Sb3dzKQogICAgICwgZ3JpZEF1dG9Db2x1bW5zKG8uZ3JpZEF1
dG9Db2x1bW5zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlR3JpZERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZUdyaWRE
YXRhLmgKaW5kZXggODA0Yzc0ODUxMWIzODZiODQ0MTA5MTdiYjZhNDUzNjhmOThjODMzZi4uYzY3
N2QwNzk4NjdjMTI2NTJkOTkyZWZlZDUyMDRiZTBlOTI0ZDNlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlR3JpZERhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVHcmlkRGF0YS5oCkBAIC01MSw2ICs1MSw3IEBAIHB1
YmxpYzoKICAgICAgICAgICAgICYmIG5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8ubmFtZWRHcmlk
Q29sdW1uTGluZXMgJiYgbmFtZWRHcmlkUm93TGluZXMgPT0gby5uYW1lZEdyaWRSb3dMaW5lcwog
ICAgICAgICAgICAgJiYgYXV0b1JlcGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzID09IG8uYXV0b1Jl
cGVhdE5hbWVkR3JpZENvbHVtbkxpbmVzICYmIGF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcyA9
PSBvLmF1dG9SZXBlYXROYW1lZEdyaWRSb3dMaW5lcwogICAgICAgICAgICAgJiYgYXV0b1JlcGVh
dE9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRH
cmlkQ29sdW1uTGluZXMgJiYgYXV0b1JlcGVhdE9yZGVyZWROYW1lZEdyaWRSb3dMaW5lcyA9PSBv
LmF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXMKKyAgICAgICAgICAgICYmIGltcGxp
Y2l0TmFtZWRHcmlkQ29sdW1uTGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVz
ICYmIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMgPT0gby5pbXBsaWNpdE5hbWVkR3JpZFJvd0xp
bmVzCiAgICAgICAgICAgICAmJiBuYW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYSAmJiBu
YW1lZEdyaWRBcmVhID09IG8ubmFtZWRHcmlkQXJlYQogICAgICAgICAgICAgJiYgbmFtZWRHcmlk
QXJlYVJvd0NvdW50ID09IG8ubmFtZWRHcmlkQXJlYVJvd0NvdW50ICYmIG5hbWVkR3JpZEFyZWFD
b2x1bW5Db3VudCA9PSBvLm5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudAogICAgICAgICAgICAgJiYg
b3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzID09IG8ub3JkZXJlZE5hbWVkR3JpZFJvd0xpbmVzICYm
IG9yZGVyZWROYW1lZEdyaWRDb2x1bW5MaW5lcyA9PSBvLm9yZGVyZWROYW1lZEdyaWRDb2x1bW5M
aW5lcwpAQCAtNzgsNiArNzksOSBAQCBwdWJsaWM6CiAgICAgT3JkZXJlZE5hbWVkR3JpZExpbmVz
TWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkQ29sdW1uTGluZXM7CiAgICAgT3JkZXJlZE5h
bWVkR3JpZExpbmVzTWFwIGF1dG9SZXBlYXRPcmRlcmVkTmFtZWRHcmlkUm93TGluZXM7CiAKKyAg
ICBOYW1lZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzOworICAgIE5h
bWVkR3JpZExpbmVzTWFwIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXM7CisKICAgICB1bnNpZ25l
ZCBncmlkQXV0b0Zsb3cgOiBHcmlkQXV0b0Zsb3dCaXRzOwogCiAgICAgVmVjdG9yPEdyaWRUcmFj
a1NpemU+IGdyaWRBdXRvUm93czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQnVpbGRlckN1c3RvbS5oIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3Vz
dG9tLmgKaW5kZXggZGEwNmJjNTdlMDg3ZGJhZGY3MmE2YjA0ZWQ5YzFlYjhiNWQwMWVkOC4uNDZl
MzFjNjFkYjM3MDk2Njg0YjlmNzkyNDVkMmM0MDYwYjZjODlhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvc3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKQEAgLTE2NDUsNiArMTY0NSw5IEBAIGlubGluZSB2
b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVGb250U2l6ZShCdWlsZGVyU3RhdGUmIGJ1aWxk
ZXJTdGF0ZSwgQ1NTVmFsCiAKIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlh
bEdyaWRUZW1wbGF0ZUFyZWFzKEJ1aWxkZXJTdGF0ZSYgYnVpbGRlclN0YXRlKQogeworICAgIGJ1
aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMoUmVuZGVy
U3R5bGU6OmluaXRpYWxOYW1lZEdyaWRDb2x1bW5MaW5lcygpKTsKKyAgICBidWlsZGVyU3RhdGUu
c3R5bGUoKS5zZXRJbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzKFJlbmRlclN0eWxlOjppbml0aWFs
TmFtZWRHcmlkUm93TGluZXMoKSk7CisKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1l
ZEdyaWRBcmVhKFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlkQXJlYSgpKTsKICAgICBidWls
ZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhUm93Q291bnQoUmVuZGVyU3R5bGU6Omlu
aXRpYWxOYW1lZEdyaWRBcmVhQ291bnQoKSk7CiAgICAgYnVpbGRlclN0YXRlLnN0eWxlKCkuc2V0
TmFtZWRHcmlkQXJlYUNvbHVtbkNvdW50KFJlbmRlclN0eWxlOjppbml0aWFsTmFtZWRHcmlkQXJl
YUNvdW50KCkpOwpAQCAtMTY1Miw2ICsxNjU1LDkgQEAgaW5saW5lIHZvaWQgQnVpbGRlckN1c3Rv
bTo6YXBwbHlJbml0aWFsR3JpZFRlbXBsYXRlQXJlYXMoQnVpbGRlclN0YXRlJiBidWlsZGVyU3QK
IAogaW5saW5lIHZvaWQgQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0R3JpZFRlbXBsYXRlQXJl
YXMoQnVpbGRlclN0YXRlJiBidWlsZGVyU3RhdGUpCiB7CisgICAgYnVpbGRlclN0YXRlLnN0eWxl
KCkuc2V0SW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyhidWlsZGVyU3RhdGUucGFyZW50U3R5
bGUoKS5pbXBsaWNpdE5hbWVkR3JpZENvbHVtbkxpbmVzKCkpOworICAgIGJ1aWxkZXJTdGF0ZS5z
dHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMoYnVpbGRlclN0YXRlLnBhcmVudFN0
eWxlKCkuaW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcygpKTsKKwogICAgIGJ1aWxkZXJTdGF0ZS5z
dHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFtZWRH
cmlkQXJlYSgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5zZXROYW1lZEdyaWRBcmVhUm93
Q291bnQoYnVpbGRlclN0YXRlLnBhcmVudFN0eWxlKCkubmFtZWRHcmlkQXJlYVJvd0NvdW50KCkp
OwogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWFDb2x1bW5Db3VudChi
dWlsZGVyU3RhdGUucGFyZW50U3R5bGUoKS5uYW1lZEdyaWRBcmVhQ29sdW1uQ291bnQoKSk7CkBA
IC0xNjYxLDE4ICsxNjY3LDE5IEBAIGlubGluZSB2b2lkIEJ1aWxkZXJDdXN0b206OmFwcGx5VmFs
dWVHcmlkVGVtcGxhdGVBcmVhcyhCdWlsZGVyU3RhdGUmIGJ1aWxkZXJTdGF0CiB7CiAgICAgaWYg
KGlzPENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkpIHsKICAgICAgICAgQVNTRVJUKGRvd25jYXN0
PENTU1ByaW1pdGl2ZVZhbHVlPih2YWx1ZSkudmFsdWVJRCgpID09IENTU1ZhbHVlTm9uZSk7Cisg
ICAgICAgIGFwcGx5SW5pdGlhbEdyaWRUZW1wbGF0ZUFyZWFzKGJ1aWxkZXJTdGF0ZSk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvJiBncmlkVGVtcGxhdGVBcmVhc1ZhbHVlID0g
ZG93bmNhc3Q8Q1NTR3JpZFRlbXBsYXRlQXJlYXNWYWx1ZT4odmFsdWUpOwogICAgIGNvbnN0IE5h
bWVkR3JpZEFyZWFNYXAmIG5ld05hbWVkR3JpZEFyZWFzID0gZ3JpZFRlbXBsYXRlQXJlYXNWYWx1
ZS5ncmlkQXJlYU1hcCgpOwogCi0gICAgTmFtZWRHcmlkTGluZXNNYXAgbmFtZWRHcmlkQ29sdW1u
TGluZXMgPSBidWlsZGVyU3RhdGUuc3R5bGUoKS5uYW1lZEdyaWRDb2x1bW5MaW5lcygpOwotICAg
IE5hbWVkR3JpZExpbmVzTWFwIG5hbWVkR3JpZFJvd0xpbmVzID0gYnVpbGRlclN0YXRlLnN0eWxl
KCkubmFtZWRHcmlkUm93TGluZXMoKTsKLSAgICBCdWlsZGVyQ29udmVydGVyOjpjcmVhdGVJbXBs
aWNpdE5hbWVkR3JpZExpbmVzRnJvbUdyaWRBcmVhKG5ld05hbWVkR3JpZEFyZWFzLCBuYW1lZEdy
aWRDb2x1bW5MaW5lcywgRm9yQ29sdW1ucyk7Ci0gICAgQnVpbGRlckNvbnZlcnRlcjo6Y3JlYXRl
SW1wbGljaXROYW1lZEdyaWRMaW5lc0Zyb21HcmlkQXJlYShuZXdOYW1lZEdyaWRBcmVhcywgbmFt
ZWRHcmlkUm93TGluZXMsIEZvclJvd3MpOwotICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5h
bWVkR3JpZENvbHVtbkxpbmVzKG5hbWVkR3JpZENvbHVtbkxpbmVzKTsKLSAgICBidWlsZGVyU3Rh
dGUuc3R5bGUoKS5zZXROYW1lZEdyaWRSb3dMaW5lcyhuYW1lZEdyaWRSb3dMaW5lcyk7CisgICAg
TmFtZWRHcmlkTGluZXNNYXAgaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lczsKKyAgICBOYW1l
ZEdyaWRMaW5lc01hcCBpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVzOworICAgIEJ1aWxkZXJDb252
ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFyZWEobmV3TmFtZWRH
cmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGluZXMsIEZvckNvbHVtbnMpOworICAg
IEJ1aWxkZXJDb252ZXJ0ZXI6OmNyZWF0ZUltcGxpY2l0TmFtZWRHcmlkTGluZXNGcm9tR3JpZEFy
ZWEobmV3TmFtZWRHcmlkQXJlYXMsIGltcGxpY2l0TmFtZWRHcmlkUm93TGluZXMsIEZvclJvd3Mp
OworICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldEltcGxpY2l0TmFtZWRHcmlkQ29sdW1uTGlu
ZXMoaW1wbGljaXROYW1lZEdyaWRDb2x1bW5MaW5lcyk7CisgICAgYnVpbGRlclN0YXRlLnN0eWxl
KCkuc2V0SW1wbGljaXROYW1lZEdyaWRSb3dMaW5lcyhpbXBsaWNpdE5hbWVkR3JpZFJvd0xpbmVz
KTsKIAogICAgIGJ1aWxkZXJTdGF0ZS5zdHlsZSgpLnNldE5hbWVkR3JpZEFyZWEoZ3JpZFRlbXBs
YXRlQXJlYXNWYWx1ZS5ncmlkQXJlYU1hcCgpKTsKICAgICBidWlsZGVyU3RhdGUuc3R5bGUoKS5z
ZXROYW1lZEdyaWRBcmVhUm93Q291bnQoZ3JpZFRlbXBsYXRlQXJlYXNWYWx1ZS5yb3dDb3VudCgp
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDczZWFlZmE4M2ZiOTA4ZjdlNzI2
MzFmNDFjMGE5YzAzODQyZWI3YWYuLjEyZjY4N2FmZDc5Y2NjNzlhYmM0MDkyMWU5MDFjMzM0YTli
ZTIzZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisy
MDIwLTA1LTI3ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CisKKyAgICAgICAg
W2Nzcy1ncmlkXSBGaXggcmVmZXJlbmNpbmcgZ3JpZCBsaW5lIG5hbWVzIHdpdGggYXV0byByZXBl
YXQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA5
NTcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSW1wb3J0
IFdQVCB0ZXN0cy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQv
cGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA4LWV4cGVj
dGVkLnhodDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDguaHRt
bDogQWRkZWQuCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFj
ZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDktZXhwZWN0ZWQu
eGh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3Bs
YWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVu
dC93M2MtaW1wb3J0LmxvZzoKKwogMjAyMC0wNS0yMiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVy
ZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWdyaWRdIFVwZGF0ZSBXUFQg
aW1wb3J0ZWQgdGVzdHMgYW5kIGRlZHVwbGljYXRlIGNvbW1vbiB0ZXN0cwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMKaW5kZXggMTAwOTM1OWU2OGIwZDdjMTExOWZkNWQ2NjMzMWZhNTkzYTI2OGZhNC4uZjU4ZWFl
Y2MzNTJiMmNmMjE0NTIxNWJiZTkzMjBjYjZhMGUzNDAyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBA
IC00MjcxLDkgKzQyNzEsNiBAQCB3ZWJraXQub3JnL2IvMjA5NDYwIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bvcy9kZXNjZW5kYQogd2Via2l0Lm9yZy9i
LzIwOTQ2MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9hYnNw
b3MvZGVzY2VuZGFudC1zdGF0aWMtcG9zaXRpb24tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIHdlYmtpdC5vcmcvYi8yMDk0NjAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWdyaWQvYWJzcG9zL2Rlc2NlbmRhbnQtc3RhdGljLXBvc2l0aW9uLTAwMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjA5NDYwIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2Fic3Bvcy9kZXNjZW5kYW50LXN0YXRpYy1wb3Np
dGlvbi0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3Jp
ZC1saW5lcy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotd2Via2l0Lm9yZy9iLzIwOTU3
MiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQv
Z3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDUuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIwOTY1MCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9ncmlkLWl0ZW1zL2dyaWQtaXRlbS1wZXJjZW50YWdlLXNpemVz
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMjA5NjUwIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL2dyaWQtaXRlbXMvZ3JpZC1p
dGVtLXBlcmNlbnRhZ2Utc2l6ZXMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtp
dC5vcmcvYi8yMDk2NTAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdy
aWQvZ3JpZC1pdGVtcy9ncmlkLWl0ZW0tcGVyY2VudGFnZS1zaXplcy0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5n
LW5hbWVkLWdyaWQtbGluZXMtMDA4LWV4cGVjdGVkLnhodCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNl
bWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1leHBlY3RlZC54aHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MDVhMTM3OTQ0ODJhOTRmNmMxMGJkOWQ0Yzk4NzA0ZTYzZWY2MDMzMQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1l
eHBlY3RlZC54aHQKQEAgLTAsMCArMSwxOSBAQAorPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9X
M0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1s
MS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgorPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwiPgorIDxoZWFkPgorICA8dGl0bGU+Q1NTIFJlZnRlc3QgUmVmZXJlbmNlPC90
aXRsZT4KKyAgPGxpbmsgcmVsPSJhdXRob3IiIHRpdGxlPSJHw6lyYXJkIFRhbGJvdCIgaHJlZj0i
aHR0cDovL3d3dy5ndGFsYm90Lm9yZy9Ccm93c2VyQnVnc1NlY3Rpb24vY3NzMjF0ZXN0c3VpdGUv
IiAvPgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhW0NEQVRBWworICBkaXYKKyAgeworICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgaGVpZ2h0OiAxMDBweDsKKyAgd2lkdGg6IDEwMHB4
OworICB9CisgIF1dPjwvc3R5bGU+CisgPC9oZWFkPgorIDxib2R5PgorICA8cD5UZXN0IHBhc3Nl
cyBpZiB0aGVyZSBpcyBhIGZpbGxlZCBncmVlbiBzcXVhcmUgYW5kIDxzdHJvbmc+bm8gcmVkPC9z
dHJvbmc+LjwvcD4KKyAgPGRpdj48L2Rpdj4KKyA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDguaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1n
cmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZlZTQ4NDQ4YWVjNmNmZmI0MmVkNWU5OTk0NWJmOGY3ZTMwNWI4YmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQt
Z3JpZC1saW5lcy0wMDguaHRtbApAQCAtMCwwICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxt
ZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzx0aXRsZT5DU1MgR3JpZCBMYXlvdXQgVGVzdDogR3JpZCBp
dGVtIHBsYWNlbWVudCB3aXRoIGluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFzPC90aXRsZT4K
KzxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86b2Jy
dWZhdUBpZ2FsaWEuY29tIj4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5v
cmcvVFIvY3NzLWdyaWQtMS8jbGluZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJl
Zj0iLi4vLi4vcmVmZXJlbmNlL3JlZi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8
bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IkdyaWQgcGxhY2VtZW50IGFsZ29yaXRobSBpcyBh
YmxlIHRvIHNlbGVjdCB0aGUgcmlnaHQgbGluZSB3aGVuIGRlZmluZWQgaW1wbGljaXRseSB3aXRo
IGFuIGluaGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFzLiI+Cis8c3R5bGU+Cisud3JhcHBlciB7
CisgIGdyaWQtdGVtcGxhdGUtYXJlYXM6ICJhIGIiICJhIGMiOworfQorLmdyaWQgeworICBkaXNw
bGF5OiBncmlkOworICBncmlkLXRlbXBsYXRlLWFyZWFzOiBpbmhlcml0OworICB3aWR0aDogMTAw
cHg7CisgIGhlaWdodDogMTAwcHg7CisgIGJhY2tncm91bmQ6IHJlZDsKK30KKy5pdGVtIHsKKyAg
YmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+VGVzdCBwYXNzZXMgaWYgdGhlcmUg
aXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25nPm5vIHJlZDwvc3Ryb25nPi48L3A+
Cis8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KKyAgPGRpdiBjbGFzcz0iZ3JpZCI+CisgICAgPGRpdiBj
bGFzcz0iaXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYSI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0i
aXRlbSIgc3R5bGU9ImdyaWQtYXJlYTogYiI+PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iaXRlbSIg
c3R5bGU9ImdyaWQtYXJlYTogYyI+PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3Jp
ZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDktZXhw
ZWN0ZWQueGh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50LXVzaW5nLW5hbWVkLWdyaWQtbGlu
ZXMtMDA5LWV4cGVjdGVkLnhodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWExMzc5NDQ4MmE5NGY2YzEwYmQ5ZDRj
OTg3MDRlNjNlZjYwMzMxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5LWV4cGVjdGVkLnhodApAQCAtMCwwICsxLDE5
IEBACis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3Qv
L0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+
Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgPGhlYWQ+Cisg
IDx0aXRsZT5DU1MgUmVmdGVzdCBSZWZlcmVuY2U8L3RpdGxlPgorICA8bGluayByZWw9ImF1dGhv
ciIgdGl0bGU9IkfDqXJhcmQgVGFsYm90IiBocmVmPSJodHRwOi8vd3d3Lmd0YWxib3Qub3JnL0Jy
b3dzZXJCdWdzU2VjdGlvbi9jc3MyMXRlc3RzdWl0ZS8iIC8+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0
L2NzcyI+PCFbQ0RBVEFbCisgIGRpdgorICB7CisgIGJhY2tncm91bmQtY29sb3I6IGdyZWVuOwor
ICBoZWlnaHQ6IDEwMHB4OworICB3aWR0aDogMTAwcHg7CisgIH0KKyAgXV0+PC9zdHlsZT4KKyA8
L2hlYWQ+CisgPGJvZHk+CisgIDxwPlRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIGEgZmlsbGVkIGdy
ZWVuIHNxdWFyZSBhbmQgPHN0cm9uZz5ubyByZWQ8L3N0cm9uZz4uPC9wPgorICA8ZGl2PjwvZGl2
PgorIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVu
dC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2Vt
ZW50LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTBjYjE0MGVi
Y2E4NzcwOWRhNWQwMzA1ZWZjMzAwYjQ3YmU2YWFiMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNl
bWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS5odG1sCkBAIC0w
LDAgKzEsMzIgQEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRp
dGxlPkNTUyBHcmlkIExheW91dCBUZXN0OiBHcmlkIGl0ZW0gcGxhY2VtZW50IHdpdGggbm9uLWlu
aGVyaXRlZCBncmlkLXRlbXBsYXRlLWFyZWFzPC90aXRsZT4KKzxsaW5rIHJlbD0iYXV0aG9yIiB0
aXRsZT0iT3Jpb2wgQnJ1ZmF1IiBocmVmPSJtYWlsdG86b2JydWZhdUBpZ2FsaWEuY29tIj4KKzxs
aW5rIHJlbD0iaGVscCIgaHJlZj0iaHR0cDovL3d3dy53My5vcmcvVFIvY3NzLWdyaWQtMS8jbGlu
ZS1wbGFjZW1lbnQiPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0iLi4vLi4vcmVmZXJlbmNlL3Jl
Zi1maWxsZWQtZ3JlZW4tMTAwcHgtc3F1YXJlLnhodCI+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNv
bnRlbnQ9IkNoZWNrcyB0aGF0IGluaGVyaXRpbmcgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIGFuZCBn
cmlkLXRlbXBsYXRlLXJvd3MgZG9lc24ndCBhbHNvIGluaGVyaXQgZ3JpZC10ZW1wbGF0ZS1hcmVh
cy4iPgorPHN0eWxlPgorLndyYXBwZXIgeworICBncmlkLXRlbXBsYXRlLWFyZWFzOiAiYXJlYSI7
Cit9CisuZ3JpZCB7CisgIGRpc3BsYXk6IGdyaWQ7CisgIHdpZHRoOiAxMDBweDsKKyAgaGVpZ2h0
OiAxMDBweDsKKyAgZ3JpZC1hdXRvLWNvbHVtbnM6IDBweCAxMDAlOworICBncmlkLWF1dG8tcm93
czogMHB4IDEwMCU7CisgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogaW5oZXJpdDsKKyAgZ3JpZC10
ZW1wbGF0ZS1yb3dzOiBpbmhlcml0OworICBiYWNrZ3JvdW5kOiByZWQ7Cit9CisuaXRlbSB7Cisg
IGdyaWQtYXJlYTogYXJlYTsKKyAgYmFja2dyb3VuZDogZ3JlZW47Cit9Cis8L3N0eWxlPgorPHA+
VGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgYSBmaWxsZWQgZ3JlZW4gc3F1YXJlIGFuZCA8c3Ryb25n
Pm5vIHJlZDwvc3Ryb25nPi48L3A+Cis8ZGl2IGNsYXNzPSJ3cmFwcGVyIj4KKyAgPGRpdiBjbGFz
cz0iZ3JpZCI+CisgICAgPGRpdiBjbGFzcz0iaXRlbSI+PC9kaXY+CisgIDwvZGl2PgorPC9kaXY+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvdzNjLWlt
cG9ydC5sb2cKaW5kZXggZDMzZDhkZjU5MWJlMjM3MDAyZDM4ZjA2YWUzNTkzNDkyMTU1NWRlZi4u
ZWMyNzZiOGFiMzJlMmRiMjcxMjFjMDU1ZGQxNmVmMDliMGFlMjc2NCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxh
Y2VtZW50L3czYy1pbXBvcnQubG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC93M2MtaW1wb3J0LmxvZwpAQCAt
NDAsNSArNDAsOSBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11
c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwNi5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtcGxhY2VtZW50
LXVzaW5nLW5hbWVkLWdyaWQtbGluZXMtMDA3LWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3Jp
ZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDcuaHRtbAorL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9n
cmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOC1leHBlY3RlZC54aHQKKy9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZ3JpZC9w
bGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5lcy0wMDguaHRtbAor
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1ncmlk
L3BsYWNlbWVudC9ncmlkLXBsYWNlbWVudC11c2luZy1uYW1lZC1ncmlkLWxpbmVzLTAwOS1leHBl
Y3RlZC54aHQKKy9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZ3JpZC9wbGFjZW1lbnQvZ3JpZC1wbGFjZW1lbnQtdXNpbmctbmFtZWQtZ3JpZC1saW5l
cy0wMDkuaHRtbAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1ncmlkL3BsYWNlbWVudC9ncmlkLXRlbXBsYXRlLWFyZWFzLW11c3Qta2VlcC1uYW1l
ZC1jb2x1bW5zLW9yZGVyLTAwMS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWdyaWQvcGxhY2VtZW50L2dyaWQtdGVtcGxh
dGUtYXJlYXMtbXVzdC1rZWVwLW5hbWVkLWNvbHVtbnMtb3JkZXItMDAxLmh0bWwK
</data>

          </attachment>
      

    </bug>

</bugzilla>