<?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>202421</bug_id>
          
          <creation_ts>2019-10-01 12:26:13 -0700</creation_ts>
          <short_desc>Socket RWI client should acquire backend commands from server</short_desc>
          <delta_ts>2019-10-03 14:38:24 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>annulen</cc>
    
    <cc>basuke</cc>
    
    <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1575645</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 12:26:13 -0700</bug_when>
    <thetext>Socket RWI client should acquire backend commands from server</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575669</commentid>
    <comment_count>1</comment_count>
      <attachid>379935</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 12:54:17 -0700</bug_when>
    <thetext>Created attachment 379935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575670</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-10-01 12:54:38 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575677</commentid>
    <comment_count>3</comment_count>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-01 13:11:36 -0700</bug_when>
    <thetext>*** Bug 199016 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575689</commentid>
    <comment_count>4</comment_count>
      <attachid>379935</attachid>
    <who name="Basuke Suzuki">basuke</who>
    <bug_when>2019-10-01 13:20:41 -0700</bug_when>
    <thetext>Comment on attachment 379935
Patch

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

This is informal review.

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:134
&gt; +bool RemoteInspectorServer::start(const char* address, uint16_t port, String&amp;&amp; backendCommandsPath)

PlayStation port doesn&apos;t require this argument. I think it is better to add another method to set m_backendCommandsPath. It shouldn&apos;t be too late if the path is set just after start().

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.h:43
&gt; +    JS_EXPORT_PRIVATE bool start(const char* address, uint16_t port, String&amp;&amp; backendCommandsPath = String());

Ditto.

&gt; Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp:68
&gt; +    Inspector::RemoteInspectorServer::singleton().start(host.utf8().data(), port.value(), backendCommandsPath());

Ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575698</commentid>
    <comment_count>5</comment_count>
      <attachid>379935</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-01 13:26:55 -0700</bug_when>
    <thetext>Comment on attachment 379935
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:268
&gt; +    if (!m_backendCommandsPath)

Should this be `isEmpty()`?

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:269
&gt; +        return String();

You can use `{ }` instead.

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:273
&gt; +        return String();

Ditto

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:278
&gt; +        return String();

Ditto

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:283
&gt; +    FileSystem::readFromFile(handle, buffer.data(), size);

Should we be early-returning with a `String()` if this returns `-1`?

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.h:43
&gt; +    JS_EXPORT_PRIVATE bool start(const char* address, uint16_t port, String&amp;&amp; backendCommandsPath = String());

I don&apos;t think we should have a fallback for this.  I&apos;d expect any callers to provide a `backendCommandsPath` (which is what it looks like is done now already).  Are there other callers of this that don&apos;t provide a `backendCommandsPath`?

&gt; Source/JavaScriptCore/inspector/scripts/codegen/generate_js_backend_commands.py:158
&gt; +class CppBackendCommandsGenerator(JSBackendCommandsGenerator):

I think we&apos;d prefer if you moved this into a separate file &apos;generate_cpp_backend_commands.py&apos;.

&gt; Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166
&gt; +        generators.append(CppBackendCommandsGenerator(*generator_arguments))

Please include this for &quot;Frameworks.Test&quot; too.  We should also probably have some sort of testing for this, especially since you do some character replacements for the C++ string.

&gt; Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp:191
&gt; +void RemoteInspectorClient::setBackendCommands(const Event&amp; event)

I think this signature is missing from the header &apos;RemoateInspectorClient.h&apos;.

&gt; Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp:196
&gt; +    m_backendCommandsURL = makeString(&quot;data:text/javascript;base64,&quot;, *event.message);

Style: I think we prefer using `.value()` for `Optional` instead of `*`.

&gt; Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp:45
&gt; +        return String();

Ditto

&gt; Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp:49
&gt; +        return String();

Ditto

&gt; Source/WebKit/UIProcess/win/WebProcessPoolWin.cpp:51
&gt; +    return String(path);

Do you need to explicitly construct the `String`, or can it be implicit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575762</commentid>
    <comment_count>6</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 15:17:45 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #5)
&gt; &gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.h:43
&gt; &gt; +    JS_EXPORT_PRIVATE bool start(const char* address, uint16_t port, String&amp;&amp; backendCommandsPath = String());
&gt; 
&gt; I don&apos;t think we should have a fallback for this.  I&apos;d expect any callers to
&gt; provide a `backendCommandsPath` (which is what it looks like is done now
&gt; already).  Are there other callers of this that don&apos;t provide a
&gt; `backendCommandsPath`?

It&apos;s just PS that uses the C++ copy instead of the path to the JS resource, so yeah, I&apos;ll split that out as Basuke also suggested.

&gt; &gt; Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166
&gt; &gt; +        generators.append(CppBackendCommandsGenerator(*generator_arguments))
&gt; 
&gt; Please include this for &quot;Frameworks.Test&quot; too.  We should also probably have
&gt; some sort of testing for this, especially since you do some character
&gt; replacements for the C++ string.

Er, now that you mention it, we shouldn&apos;t be doing these string replaces at all, since C++11 has raw strings.

&gt; &gt; Source/WebKit/UIProcess/socket/RemoteInspectorClient.cpp:191
&gt; &gt; +void RemoteInspectorClient::setBackendCommands(const Event&amp; event)
&gt; 
&gt; I think this signature is missing from the header &apos;RemoateInspectorClient.h&apos;.

Oddly enough, it&apos;s already there and just not implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575793</commentid>
    <comment_count>7</comment_count>
      <attachid>379964</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 16:30:10 -0700</bug_when>
    <thetext>Created attachment 379964
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575794</commentid>
    <comment_count>8</comment_count>
      <attachid>379964</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 16:32:09 -0700</bug_when>
    <thetext>Comment on attachment 379964
Patch

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

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:265
&gt; +    return s_inspectorBackendCommandsString ? s_inspectorBackendCommandsString : String();

Style note: Apparently initializer lists aren&apos;t syntactically valid inside ternary branches. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575826</commentid>
    <comment_count>9</comment_count>
      <attachid>379976</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 18:01:38 -0700</bug_when>
    <thetext>Created attachment 379976
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575832</commentid>
    <comment_count>10</comment_count>
      <attachid>379978</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 18:47:03 -0700</bug_when>
    <thetext>Created attachment 379978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575835</commentid>
    <comment_count>11</comment_count>
      <attachid>379979</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 19:04:59 -0700</bug_when>
    <thetext>Created attachment 379979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1575840</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-01 19:22:39 -0700</bug_when>
    <thetext>Sigh...no matter how many files I add, it doesn&apos;t please iOS.

I&apos;m sure that in itself is fixable, but this all feels like a ton of Xcode wiring for something that we have no particular expectation of ever using outside of PlayStation port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576164</commentid>
    <comment_count>13</comment_count>
      <attachid>380054</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-02 13:53:18 -0700</bug_when>
    <thetext>Created attachment 380054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576166</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-02 13:53:52 -0700</bug_when>
    <thetext>Here&apos;s the patch without any special support for PlayStation port -- we can deal with that stuff at a later date.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576426</commentid>
    <comment_count>15</comment_count>
      <attachid>380054</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-10-03 08:53:58 -0700</bug_when>
    <thetext>Comment on attachment 380054
Patch

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

r=me

&gt; Source/JavaScriptCore/inspector/remote/socket/RemoteInspectorServer.cpp:263
&gt; +    auto handle = FileSystem::openFile(m_backendCommandsPath, FileSystem::FileOpenMode::Read);

NIT: I would reorganize this function a bit so you can better ensure that `FileSystem::closeFile` gets called:
```
    if (m_backendCommandsPath.isEmpty())
        return { };

    auto handle = FileSystem::openFile(m_backendCommandsPath, FileSystem::FileOpenMode::Read);
    if (!FileSystem::isHandleValid(handle))
        return { };

    String result;
    long long size;
    if (FileSystem::getFileSize(handle, size)) {
        Vector&lt;char&gt; buffer(size);
        auto bytesRead = FileSystem::readFromFile(handle, buffer.data(), size);
        result = String::adopt(WTFMove(buffer));
    }
    FileSystem::closeFile(handle);
    return result;
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576531</commentid>
    <comment_count>16</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-03 11:50:53 -0700</bug_when>
    <thetext>Unfortunately it doesn&apos;t seem like String::adopt can handle a Vector of char, which is the type used by FileSystem::readFromFile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576586</commentid>
    <comment_count>17</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-03 13:52:48 -0700</bug_when>
    <thetext>(In reply to Ross Kirsling from comment #16)
&gt; Unfortunately it doesn&apos;t seem like String::adopt can handle a Vector of
&gt; char, which is the type used by FileSystem::readFromFile.

(Nevermind, I can reinterpret_cast from LChar...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576587</commentid>
    <comment_count>18</comment_count>
      <attachid>380159</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2019-10-03 13:54:03 -0700</bug_when>
    <thetext>Created attachment 380159
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576607</commentid>
    <comment_count>19</comment_count>
      <attachid>380159</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-03 14:37:54 -0700</bug_when>
    <thetext>Comment on attachment 380159
Patch for landing

Clearing flags on attachment: 380159

Committed r250679: &lt;https://trac.webkit.org/changeset/250679&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576608</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-10-03 14:37:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1576609</commentid>
    <comment_count>21</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-10-03 14:38:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/55961622&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379935</attachid>
            <date>2019-10-01 12:54:17 -0700</date>
            <delta_ts>2019-10-01 16:30:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191001125416.patch</filename>
            <type>text/plain</type>
            <size>14983</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTlkMWI0NzcxOTU4NzU3OGE5ZGY4MDliOTUyOThmYjU1NDk3MTU4Li5hOTI3ZjUwNTU5ZTFhYTY4
ZjhmMDIxY2Q0NWRmYjQ1MGZiNjgzNGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNiBAQAorMjAxOS0xMC0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybVBsYXlT
dGF0aW9uLmNtYWtlOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJh
dGVfanNfYmFja2VuZF9jb21tYW5kcy5weToKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9n
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHk6CisgICAgICAgIEdlbmVyYXRl
IGEgSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcCAoaG9sZGluZyB0aGUgY29udGVudHMgb2Yg
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIGFzIGEgQysrIHN0cmluZyksCisgICAgICAgIHRv
IGJlIHVzZWQgb24gcGxhdGZvcm1zIGxpa2UgUGxheVN0YXRpb24gd2hpY2ggZG9uJ3QgaGF2ZSBh
IHJlc291cmNlIGJ1bmRsZSB0byBhY2Nlc3MuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpS
ZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnN0YXJ0KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3Rl
SW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudCk6CisgICAgICAgIChJbnNwZWN0
b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRzIGNvbnN0KToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaDoKKyAg
ICAgICAgT24gUGxheVN0YXRpb24sIGFjcXVpcmUgdGhlIGNvbnRlbnRzIG9mIEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcyBmcm9tIHRoZSBnZW5lcmF0ZWQgQysrIGZpbGUuCisgICAgICAgIEVsc2V3
aGVyZSwgZXhwZWN0IHRoYXQgYSBwYXRoIHRvIHRoZSBKUyByZXNvdXJjZSBmaWxlIHdpbGwgYmUg
cHJvdmlkZWQgYW5kIHJlYWQgaXRzIGNvbnRlbnRzLgorICAgICAgICBFaXRoZXIgd2F5LCBzZW5k
IG9mZiB0aGUgYmFzZTY0LWVuY29kZWQgY29udGVudHMgaW4gYSAiQmFja2VuZENvbW1hbmRzIiBt
ZXNzYWdlIHdoZW4gc2V0dGluZyB1cCBhIGNsaWVudC4KKwogMjAxOS0xMC0wMSAgTWljaGFlbCBT
YWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4gYW5kIFBhdWxvIE1hdG9zICA8cG1hdG9zQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW1lBUlJdIFByb3Blcmx5IGhhbmRsZSBzdXJyb2dhdGVzIHdoZW4g
bWF0Y2hpbmcgYmFjayByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM0YmE5Yjc5NjkyY2I3NDIxZWZm
ZThhYTAyZGVlNWY2ODBhZGUzMGMuLmMwYzFlZDE1N2FlN2Y4YTEzOTFkMmIxNTkyNjQ2OWZiOWJi
MTZlOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTAtMDEgIFJvc3MgS2lyc2xp
bmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFNvY2tldCBSV0kgY2xpZW50
IHNob3VsZCBhY3F1aXJlIGJhY2tlbmQgY29tbWFuZHMgZnJvbSBzZXJ2ZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQyMQorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL3NvY2tldC9S
ZW1vdGVJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0
b3JDbGllbnQ6OmRpc3BhdGNoTWFwKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW5zcGVjdG9y
Q2xpZW50OjpzZXRCYWNrZW5kQ29tbWFuZHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9zb2NrZXQv
UmVtb3RlSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIFJlY2VpdmUgIkJhY2tlbmRDb21tYW5k
cyIgbWVzc2FnZSBmcm9tIHNlcnZlciAod2hpY2ggaXMgYWxyZWFkeSBiYXNlNjQtZW5jb2RlZCkg
YW5kIGhhbmQgaXQgb3ZlciB0byBSV0lQcm94eS4KKworICAgICAgICAqIFVJUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc1Bvb2xXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpiYWNrZW5kQ29tbWFuZHNQ
YXRoKToKKyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZlcik6
CisgICAgICAgIE9uIFdpbmRvd3MsIGluaXRpYWxpemUgc2VydmVyIHdpdGggdGhlIHBhdGggdG8g
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIGZyb20gdGhlIENGQnVuZGxlLgorCiAyMDE5LTEw
LTAxICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRml4IEdUSyBidWlsZCBhZnRlciByMjUwNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMTc3MjJhMWVjYTQyNTJjMDBlM2RkMDM4NDUxZDkwYjkwMDI0ZjZkYy4uMDJk
OThlOGQzNmU3MmY1Yjg2MzZhMTU1MTY5MzEwYTJiNGQxNDQ5MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE3Miw2ICsxMTcyLDcgQEAgYWRkX2N1c3RvbV9jb21tYW5k
KAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKICAgICAgICAgICAgJHtKYXZhU2Ny
aXB0Q29yZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmNwcAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19E
SVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAorICAgICAgICAgICAke0ph
dmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuY3BwCiAgICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VS
Q0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogICAgIE1BSU5f
REVQRU5ERU5DWSAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L0NvbWJpbmVk
RG9tYWlucy5qc29uCiAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9QUk9U
T0NPTF9TQ1JJUFRTfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3Jt
UGxheVN0YXRpb24uY21ha2UgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1QbGF5U3Rh
dGlvbi5jbWFrZQppbmRleCA2MGJmYTc4YTRkYjFhNDY3MDdiNTI3ZmRlMDRiNTY5MDQzMWQ4Y2M3
Li40YzQyYjQ4YTVkYWVlMTgyZjU2Y2ZhNjE0OGYyYTEyZTFjNDgxYjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZQpAQCAtMzIsNiArMzIs
OCBAQCBsaXN0KEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU29ja2V0RW5kcG9pbnQuY3BwCiAKICAgICBpbnNw
ZWN0b3IvcmVtb3RlL3NvY2tldC9wb3NpeC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRQT1NJWC5jcHAK
KworICAgICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vaW5zcGVjdG9yL0lu
c3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKICkKIAogaWYgKCR7V1RGX0xJQlJBUllfVFlQRX0g
U1RSRVFVQUwgIlNUQVRJQyIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2
ZXIuY3BwCmluZGV4IDdiZTBiYmE5OGVkMmVkZDE3NTFkNDAxNTE4ZDE3MWNmNjY1MGU2ODguLjI2
Mzc0ZThmZGMwYjgxNzE1MDg1M2I5YjFkZDU4ZThjYzQ1ODUwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3Nv
Y2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuY3BwCkBAIC0yOSw5ICsyOSwxNCBAQAogI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQogCiAjaW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yTWVzc2Fn
ZVBhcnNlci5oIgotCisjaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYv
SlNPTlZhbHVlcy5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvQmFzZTY0Lmg+CisKKyNpZiBQTEFURk9STShQTEFZU1RBVElPTikKK2V4dGVybiBjb25z
dCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZzsKKyNlbmRpZgogCiBuYW1l
c3BhY2UgSW5zcGVjdG9yIHsKIApAQCAtMTI2LDkgKzEzMSwxMCBAQCBSZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXImIFJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkKICAgICByZXR1cm4gc2Vy
dmVyOwogfQogCi1ib29sIFJlbW90ZUluc3BlY3RvclNlcnZlcjo6c3RhcnQoY29uc3QgY2hhciog
YWRkcmVzcywgdWludDE2X3QgcG9ydCkKK2Jvb2wgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzdGFy
dChjb25zdCBjaGFyKiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBTdHJpbmcmJiBiYWNrZW5kQ29t
bWFuZHNQYXRoKQogewogICAgIG1fc2VydmVyID0gbGlzdGVuSW5ldChhZGRyZXNzLCBwb3J0KTsK
KyAgICBtX2JhY2tlbmRDb21tYW5kc1BhdGggPSBXVEZNb3ZlKGJhY2tlbmRDb21tYW5kc1BhdGgp
OwogICAgIHJldHVybiBpc1J1bm5pbmcoKTsKIH0KIApAQCAtMTUwLDYgKzE1NiwxMSBAQCB2b2lk
IFJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2V0dXBJbnNwZWN0b3JDbGllbnQoY29uc3QgRXZlbnQm
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKKyAgICBhdXRvIGJhY2tlbmRDb21t
YW5kc0V2ZW50ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKKyAgICBiYWNrZW5kQ29tbWFuZHNF
dmVudC0+c2V0U3RyaW5nKCJldmVudCJfcywgIkJhY2tlbmRDb21tYW5kcyJfcyk7CisgICAgYmFj
a2VuZENvbW1hbmRzRXZlbnQtPnNldFN0cmluZygibWVzc2FnZSJfcywgYmFzZTY0RW5jb2RlKGJh
Y2tlbmRDb21tYW5kcygpLnV0ZjgoKSkpOworICAgIHNlbmRXZWJJbnNwZWN0b3JFdmVudChtX2Ns
aWVudENvbm5lY3Rpb24udmFsdWUoKSwgYmFja2VuZENvbW1hbmRzRXZlbnQtPnRvSlNPTlN0cmlu
ZygpKTsKKwogICAgIGF1dG8gc2V0dXBFdmVudCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CiAg
ICAgc2V0dXBFdmVudC0+c2V0U3RyaW5nKCJldmVudCJfcywgIkdldFRhcmdldExpc3QiX3MpOwog
CkBAIC0yNDksNiArMjYwLDMzIEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZW5kTWVz
c2FnZVRvRnJvbnRlbmQoY29uc3QgRXZlbnQmIGV2ZW50KQogICAgIHNlbmRXZWJJbnNwZWN0b3JF
dmVudChtX2NsaWVudENvbm5lY3Rpb24udmFsdWUoKSwgc2VuZEV2ZW50LT50b0pTT05TdHJpbmco
KSk7CiB9CiAKK1N0cmluZyBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OmJhY2tlbmRDb21tYW5kcygp
IGNvbnN0Cit7CisjaWYgUExBVEZPUk0oUExBWVNUQVRJT04pCisgICAgcmV0dXJuIHNfaW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID8gc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJp
bmcgOiBTdHJpbmcoKTsKKyNlbHNlCisgICAgaWYgKCFtX2JhY2tlbmRDb21tYW5kc1BhdGgpCisg
ICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIGF1dG8gaGFuZGxlID0gRmlsZVN5c3RlbTo6
b3BlbkZpbGUobV9iYWNrZW5kQ29tbWFuZHNQYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Blbk1vZGU6
OlJlYWQpOworICAgIGlmICghRmlsZVN5c3RlbTo6aXNIYW5kbGVWYWxpZChoYW5kbGUpKQorICAg
ICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBsb25nIGxvbmcgc2l6ZTsKKyAgICBpZiAoIUZp
bGVTeXN0ZW06OmdldEZpbGVTaXplKGhhbmRsZSwgc2l6ZSkpIHsKKyAgICAgICAgRmlsZVN5c3Rl
bTo6Y2xvc2VGaWxlKGhhbmRsZSk7CisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICB9CisK
KyAgICBWZWN0b3I8Y2hhcj4gYnVmZmVyOworICAgIGJ1ZmZlci5yZXNpemUoc2l6ZSk7CisgICAg
RmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGhhbmRsZSwgYnVmZmVyLmRhdGEoKSwgc2l6ZSk7Cisg
ICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGhhbmRsZSk7CisKKyAgICByZXR1cm4gU3RyaW5nKGJ1
ZmZlci5kYXRhKCksIHNpemUpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgogCiAjZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
U2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQv
UmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKaW5kZXggZWYxMWUwOWE4N2QyZmVjYzdiZDk0MDY5ODVh
MmFlYWFiNWYzYjlmNC4uZGQzOTJjMjA3ZGRkNzVlNmRkMTczNDVjYzNmMDcyOGRhOTMwYTgwMiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0
L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaApAQCAtNDAsNyArNDAs
NyBAQCBjbGFzcyBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXIgOiBwdWJsaWMgUmVtb3RlSW5zcGVjdG9y
Q29ubmVjdGlvbkNsaWVudCB7CiBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgc3RhdGlj
IFJlbW90ZUluc3BlY3RvclNlcnZlciYgc2luZ2xldG9uKCk7CiAKLSAgICBKU19FWFBPUlRfUFJJ
VkFURSBib29sIHN0YXJ0KGNvbnN0IGNoYXIqIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQpOworICAg
IEpTX0VYUE9SVF9QUklWQVRFIGJvb2wgc3RhcnQoY29uc3QgY2hhciogYWRkcmVzcywgdWludDE2
X3QgcG9ydCwgU3RyaW5nJiYgYmFja2VuZENvbW1hbmRzUGF0aCA9IFN0cmluZygpKTsKICAgICBi
b29sIGlzUnVubmluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9zZXJ2ZXI7IH0KIAogICAgIEpTX0VY
UE9SVF9QUklWQVRFIE9wdGlvbmFsPHVpbnQxNl90PiBsaXN0ZW5Gb3JUYXJnZXRzKCk7CkBAIC02
Nyw2ICs2Nyw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNlbmRXZWJJbnNwZWN0b3JFdmVudChD
b25uZWN0aW9uSUQsIGNvbnN0IFN0cmluZyYpOwogCisgICAgU3RyaW5nIGJhY2tlbmRDb21tYW5k
cygpIGNvbnN0OworCiAgICAgSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPiYgZGlzcGF0Y2hN
YXAoKSBvdmVycmlkZTsKIAogICAgIEhhc2hTZXQ8c3RkOjpwYWlyPENvbm5lY3Rpb25JRCwgVGFy
Z2V0SUQ+PiBtX2luc3BlY3Rpb25UYXJnZXRzOwpAQCAtODIsNiArODQsOCBAQCBwcml2YXRlOgog
CiAgICAgLy8gQ29ubmVjdGlvbiBmcm9tIFJlbW90ZUluc3BlY3RvckNsaWVudC4KICAgICBPcHRp
b25hbDxDb25uZWN0aW9uSUQ+IG1fY2xpZW50Q29ubmVjdGlvbjsKKworICAgIFN0cmluZyBtX2Jh
Y2tlbmRDb21tYW5kc1BhdGg7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dl
bmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1hbmRzLnB5Cmlu
ZGV4IGQ5NzRlYTIxYTRiMzczMTU4NGYzYjk3NzVkNTI2NTNkNmQ5MTRhZTQuLjRhMDA2OWQ4OGY2
YjQwNmZhNDgzZjk0MGUxNzQ1YmM0NDA5MmQ0ZjQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2pzX2JhY2tlbmRfY29t
bWFuZHMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcy5weQpAQCAtMTUzLDMgKzE1MywxNSBA
QCBjbGFzcyBKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcihHZW5lcmF0b3IpOgogICAgICAgICAg
ICAgbGluZXMuYXBwZW5kKCdJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCIlKGRvbWFp
bilzIik7JyAlIGFjdGl2YXRlX2FyZ3MpCiAKICAgICAgICAgcmV0dXJuICJcbiIuam9pbihsaW5l
cykKKworCitjbGFzcyBDcHBCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IoSlNCYWNrZW5kQ29tbWFu
ZHNHZW5lcmF0b3IpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgor
ICAgICAgICBKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvci5fX2luaXRfXyhzZWxmLCAqYXJncywg
Kiprd2FyZ3MpCisKKyAgICBkZWYgb3V0cHV0X2ZpbGVuYW1lKHNlbGYpOgorICAgICAgICByZXR1
cm4gJ0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAnCisKKyAgICBkZWYgZ2VuZXJhdGVfb3V0
cHV0KHNlbGYpOgorICAgICAgICBjb2RlID0gSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IuZ2Vu
ZXJhdGVfb3V0cHV0KHNlbGYpLnJlcGxhY2UoJyInLCByJ1wiJykucmVwbGFjZSgnXG4nLCByJ1xu
JykKKyAgICAgICAgcmV0dXJuICdjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5k
c1N0cmluZyA9ICJ7fSI7XG4nLmZvcm1hdChjb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKaW5kZXggMmIxZDg3ODJjYjJhN2U5
MmM4MmJjYjU3MzNiMTlhZGQ0OTVkMjlkNS4uZmI3ZmNiN2VhYWZhM2MzZWQ1NDZmY2IxOTRhYmMx
ZmNiZjdhMTIzNSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CkBAIC0xNjMsNiArMTYzLDcgQEAgZGVmIGdlbmVyYXRlX2Zyb21f
c3BlY2lmaWNhdGlvbihwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGg9Tm9uZSwKIAogICAg
IGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29ya3MuSmF2YVNjcmlwdENvcmU6CiAg
ICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKCpnZW5l
cmF0b3JfYXJndW1lbnRzKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZENv
bW1hbmRzR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9y
cy5hcHBlbmQoQ3BwQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoKmdl
bmVyYXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5k
RGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAg
IGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5l
cmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCA2N2UyMzg4
MzRiYTBmNTZmZmZkNzQ5YWIwYWFkZWJjY2IyYWRjYzdkLi5kMTBkYzEzNzk3MmM5M2FkNDU2N2Vk
NTg5MzRjMTM3MjIyNjQ0OWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9z
b2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtNTQsNyArNTQsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGxvYWQoKQogICAgIHsKLSAgICAgICAgbV9wcm94eS0+bG9hZCht
X2RlYnVnZ2FibGVUeXBlLCBTdHJpbmcoKSk7CisgICAgICAgIG1fcHJveHktPmxvYWQobV9kZWJ1
Z2dhYmxlVHlwZSwgbV9pbnNwZWN0b3JDbGllbnQuYmFja2VuZENvbW1hbmRzVVJMKCkpOwogICAg
IH0KIAogICAgIHZvaWQgc2hvdygpCkBAIC0xMTcsNiArMTE3LDcgQEAgdm9pZCBSZW1vdGVJbnNw
ZWN0b3JDbGllbnQ6OnNlbmRXZWJJbnNwZWN0b3JFdmVudChjb25zdCBTdHJpbmcmIGV2ZW50KQog
SGFzaE1hcDxTdHJpbmcsIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVu
dDo6Q2FsbEhhbmRsZXI+JiBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OmRpc3BhdGNoTWFwKCkKIHsK
ICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPj4g
ZGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+KHsKKyAgICAgICAgeyAi
QmFja2VuZENvbW1hbmRzIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3Bl
Y3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKSB9LAogICAgICAgICB7ICJTZXRUYXJnZXRM
aXN0Il9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3RvckNsaWVudDo6
c2V0VGFyZ2V0TGlzdCkgfSwKICAgICAgICAgeyAiU2VuZE1lc3NhZ2VUb0Zyb250ZW5kIl9zLCBz
dGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3RvckNsaWVudDo6c2VuZE1lc3Nh
Z2VUb0Zyb250ZW5kKSB9LAogICAgIH0pOwpAQCAtMTg3LDYgKzE4OCwxNCBAQCB2b2lkIFJlbW90
ZUluc3BlY3RvckNsaWVudDo6Y2xvc2VGcm9tRnJvbnRlbmQoQ29ubmVjdGlvbklEIGNvbm5lY3Rp
b25JRCwgVGFyZ2V0SQogICAgIG1faW5zcGVjdG9yUHJveHlNYXAucmVtb3ZlKHN0ZDo6bWFrZV9w
YWlyKGNvbm5lY3Rpb25JRCwgdGFyZ2V0SUQpKTsKIH0KIAordm9pZCBSZW1vdGVJbnNwZWN0b3JD
bGllbnQ6OnNldEJhY2tlbmRDb21tYW5kcyhjb25zdCBFdmVudCYgZXZlbnQpCit7CisgICAgaWYg
KCFldmVudC5tZXNzYWdlIHx8IGV2ZW50Lm1lc3NhZ2UtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9iYWNrZW5kQ29tbWFuZHNVUkwgPSBtYWtlU3RyaW5nKCJkYXRhOnRleHQv
amF2YXNjcmlwdDtiYXNlNjQsIiwgKmV2ZW50Lm1lc3NhZ2UpOworfQorCiB2b2lkIFJlbW90ZUlu
c3BlY3RvckNsaWVudDo6c2V0VGFyZ2V0TGlzdChjb25zdCBFdmVudCYgZXZlbnQpCiB7CiAgICAg
aWYgKCFldmVudC5jb25uZWN0aW9uSUQgfHwgIWV2ZW50Lm1lc3NhZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmgKaW5k
ZXggNzU0YTkxNGU3YmIwYTk4MjhjMjFmYjk2MjQ5YTUwNGIyYjZkYjk2YS4uZGFhZDRiMmE0NDk3
NmYxZDE4OTFiMTJjYjUyZWQxZWU3NzgyZTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaApAQCAtNjMsNiArNjMs
NyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIGNvbnN0IEhhc2hNYXA8Q29ubmVjdGlvbklELCBW
ZWN0b3I8VGFyZ2V0Pj4mIHRhcmdldHMoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldHM7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIGJhY2tlbmRDb21tYW5kc1VSTCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFj
a2VuZENvbW1hbmRzVVJMOyB9CiAKICAgICB2b2lkIGluc3BlY3QoQ29ubmVjdGlvbklELCBUYXJn
ZXRJRCwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvQmFja2VuZChDb25u
ZWN0aW9uSUQsIFRhcmdldElELCBjb25zdCBTdHJpbmcmKTsKQEAgLTgzLDYgKzg0LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgc2VuZFdlYkluc3BlY3RvckV2ZW50KGNvbnN0IFN0cmluZyYpOwog
CisgICAgU3RyaW5nIG1fYmFja2VuZENvbW1hbmRzVVJMOwogICAgIFJlbW90ZUluc3BlY3Rvck9i
c2VydmVyJiBtX29ic2VydmVyOwogICAgIE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gbV9jb25uZWN0
aW9uSUQ7CiAgICAgSGFzaE1hcDxDb25uZWN0aW9uSUQsIFZlY3RvcjxUYXJnZXQ+PiBtX3Rhcmdl
dHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bv
b2xXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2lu
LmNwcAppbmRleCAyZTYwNDQ3OGIyYWU4NmZhM2JiM2IzYjJhNzg3YmJhM2U1ZWQ1MmRhLi5jMmZj
ZDkyOWIxM2ZhZmFmZjAzMjA5MGRjNTBkMWMyNWQ4NTM3NWJiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAKQEAgLTI5LDE1ICsyOSwy
OCBAQAogCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1
ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5o
PgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlQnVu
ZGxlV2luLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoUkVN
T1RFX0lOU1BFQ1RPUikKK3N0YXRpYyBTdHJpbmcgYmFja2VuZENvbW1hbmRzUGF0aCgpCit7Cisg
ICAgUmV0YWluUHRyPENGVVJMUmVmPiB1cmxSZWYgPSBhZG9wdENGKENGQnVuZGxlQ29weVJlc291
cmNlVVJMKFdlYkNvcmU6OndlYktpdEJ1bmRsZSgpLCBDRlNUUigiSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzIiksIENGU1RSKCJqcyIpLCBDRlNUUigiV2ViSW5zcGVjdG9yVUlcXFByb3RvY29sIikp
KTsKKyAgICBpZiAoIXVybFJlZikKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgY2hh
ciBwYXRoW01BWF9QQVRIXTsKKyAgICBpZiAoIUNGVVJMR2V0RmlsZVN5c3RlbVJlcHJlc2VudGF0
aW9uKHVybFJlZi5nZXQoKSwgZmFsc2UsIHJlaW50ZXJwcmV0X2Nhc3Q8VUludDgqPihwYXRoKSwg
TUFYX1BBVEgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICByZXR1cm4gU3RyaW5n
KHBhdGgpOworfQorCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplUmVtb3RlSW5zcGVjdG9yU2VydmVy
KFN0cmluZ1ZpZXcgYWRkcmVzcykKIHsKICAgICBpZiAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0
b3JTZXJ2ZXI6OnNpbmdsZXRvbigpLmlzUnVubmluZygpKQpAQCAtNDYsMTMgKzU5LDEzIEBAIHN0
YXRpYyB2b2lkIGluaXRpYWxpemVSZW1vdGVJbnNwZWN0b3JTZXJ2ZXIoU3RyaW5nVmlldyBhZGRy
ZXNzKQogICAgIGF1dG8gcG9zID0gYWRkcmVzcy5maW5kKCc6Jyk7CiAgICAgaWYgKHBvcyA9PSBu
b3RGb3VuZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBob3N0ID0gYWRkcmVzcy5zdWJz
dHJpbmcoMCwgcG9zKTsKICAgICBhdXRvIHBvcnQgPSBhZGRyZXNzLnN1YnN0cmluZyhwb3MgKyAx
KS50b1VJbnQ2NFN0cmljdCgpOwotCiAgICAgaWYgKCFwb3J0KQogICAgICAgICByZXR1cm47CiAK
LSAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuc3RhcnQo
aG9zdC51dGY4KCkuZGF0YSgpLCBwb3J0LnZhbHVlKCkpOworICAgIEluc3BlY3Rvcjo6UmVtb3Rl
SW5zcGVjdG9yU2VydmVyOjpzaW5nbGV0b24oKS5zdGFydChob3N0LnV0ZjgoKS5kYXRhKCksIHBv
cnQudmFsdWUoKSwgYmFja2VuZENvbW1hbmRzUGF0aCgpKTsKIH0KICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379964</attachid>
            <date>2019-10-01 16:30:10 -0700</date>
            <delta_ts>2019-10-01 18:01:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191001163009.patch</filename>
            <type>text/plain</type>
            <size>83871</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTlkMWI0NzcxOTU4NzU3OGE5ZGY4MDliOTUyOThmYjU1NDk3MTU4Li4wMzQzNjc2MmE1YzQ5NjA4
MTIxOTkxM2RlODlhZTNlMzI4YTJjYTM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MCBAQAorMjAxOS0xMC0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybVBsYXlT
dGF0aW9uLmNtYWtlOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19pbml0
X18ucHk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBf
YmFja2VuZF9jb21tYW5kcy5weTogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
Z2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5OgorICAgICAgICBHZW5lcmF0
ZSBhIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAgKGhvbGRpbmcgdGhlIGNvbnRlbnRzIG9m
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBhcyBhIEMrKyBzdHJpbmcpLAorICAgICAgICB0
byBiZSB1c2VkIG9uIHBsYXRmb3JtcyBsaWtlIFBsYXlTdGF0aW9uIHdoaWNoIGRvbid0IGhhdmUg
YSByZXNvdXJjZSBidW5kbGUgdG8gYWNjZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90
ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6
UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudCk6CisgICAgICAgIChJ
bnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRzIGNvbnN0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIu
aDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXRCYWNrZW5k
Q29tbWFuZHNQYXRoKToKKyAgICAgICAgT24gUGxheVN0YXRpb24sIGFjcXVpcmUgdGhlIGNvbnRl
bnRzIG9mIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcyBmcm9tIHRoZSBnZW5lcmF0ZWQgQysrIGZp
bGUuCisgICAgICAgIEVsc2V3aGVyZSwgZXhwZWN0IHRoYXQgYSBwYXRoIHRvIHRoZSBKUyByZXNv
dXJjZSBmaWxlIHdpbGwgYmUgcHJvdmlkZWQgYW5kIHJlYWQgaXRzIGNvbnRlbnRzLgorICAgICAg
ICBFaXRoZXIgd2F5LCBzZW5kIG9mZiB0aGUgYmFzZTY0LWVuY29kZWQgY29udGVudHMgaW4gYSAi
QmFja2VuZENvbW1hbmRzIiBtZXNzYWdlIHdoZW4gc2V0dGluZyB1cCBhIGNsaWVudC4KKworICAg
ICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3RlZC9kZWZpbml0aW9ucy13
aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpz
b24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0
ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4tYXZhaWxhYmls
aXR5Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3Vs
dDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2Vu
dW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3Rz
L2dlbmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJl
c3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdDoKKyAgICAg
ICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlwZS1p
ZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJz
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGlu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1h
bGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBl
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVzdWx0
OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZpbml0
aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9tYWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0u
anNvbi1yZXN1bHQ6CisgICAgICAgIFVwZGF0ZSBpbnNwZWN0b3IgZ2VuZXJhdG9yIHRlc3QgcmVz
dWx0cyB0byBpbmNsdWRlIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAuIAorCiAyMDE5LTEw
LTAxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPiBhbmQgUGF1bG8gTWF0b3Mg
IDxwbWF0b3NAaWdhbGlhLmNvbT4KIAogICAgICAgICBbWUFSUl0gUHJvcGVybHkgaGFuZGxlIHN1
cnJvZ2F0ZXMgd2hlbiBtYXRjaGluZyBiYWNrIHJlZmVyZW5jZXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzRiYTli
Nzk2OTJjYjc0MjFlZmZlOGFhMDJkZWU1ZjY4MGFkZTMwYy4uYzBjMWVkMTU3YWU3ZjhhMTM5MWQy
YjE1OTI2NDY5ZmI5YmIxNmU5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOS0xMC0w
MSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgU29j
a2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2VuZCBjb21tYW5kcyBmcm9tIHNlcnZl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAyNDIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUluc3BlY3RvckNsaWVudDo6ZGlzcGF0Y2hNYXApOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldEJhY2tlbmRDb21tYW5kcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgUmVjZWl2ZSAi
QmFja2VuZENvbW1hbmRzIiBtZXNzYWdlIGZyb20gc2VydmVyICh3aGljaCBpcyBhbHJlYWR5IGJh
c2U2NC1lbmNvZGVkKSBhbmQgaGFuZCBpdCBvdmVyIHRvIFJXSVByb3h5LgorCisgICAgICAgICog
VUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmJh
Y2tlbmRDb21tYW5kc1BhdGgpOgorICAgICAgICAoV2ViS2l0Ojppbml0aWFsaXplUmVtb3RlSW5z
cGVjdG9yU2VydmVyKToKKyAgICAgICAgT24gV2luZG93cywgaW5pdGlhbGl6ZSBzZXJ2ZXIgd2l0
aCB0aGUgcGF0aCB0byBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgZnJvbSB0aGUgQ0ZCdW5k
bGUuCisKIDIwMTktMTAtMDEgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBGaXggR1RLIGJ1aWxkIGFmdGVyIHIyNTA1NTgKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxNzcyMmExZWNhNDI1MmMwMGUzZGQwMzg0NTFkOTBi
OTAwMjRmNmRjLi4wMmQ5OGU4ZDM2ZTcyZjViODYzNmExNTUxNjkzMTBhMmI0ZDE0NDkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMTcyLDYgKzExNzIsNyBAQCBhZGRf
Y3VzdG9tX2NvbW1hbmQoCiAgICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VS
Q0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogICAgICAg
ICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rvci9JbnNw
ZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAgICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVfREVS
SVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCisg
ICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9y
L0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKICAgICAgICAgICAgJHtKYXZhU2NyaXB0Q29y
ZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VT
X0RJUn0vQ29tYmluZWREb21haW5zLmpzb24KICAgICBERVBFTkRTICR7SmF2YVNjcmlwdENvcmVf
SU5TUEVDVE9SX1BST1RPQ09MX1NDUklQVFN9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Q
bGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCmluZGV4IDYwYmZhNzhhNGRiMWE0NjcwN2I1MjdmZGUw
NGI1NjkwNDMxZDhjYzcuLjRjNDJiNDhhNWRhZWUxODJmNTZjZmE2MTQ4ZjJhMTJlMWM0ODFiNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNt
YWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtl
CkBAIC0zMiw2ICszMiw4IEBAIGxpc3QoQVBQRU5EIEphdmFTY3JpcHRDb3JlX1NPVVJDRVMKICAg
ICBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTb2NrZXRFbmRwb2ludC5j
cHAKIAogICAgIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L3Bvc2l4L1JlbW90ZUluc3BlY3RvclNv
Y2tldFBPU0lYLmNwcAorCisgICAgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElS
fS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAogKQogCiBpZiAoJHtXVEZf
TElCUkFSWV9UWVBFfSBTVFJFUVVBTCAiU1RBVElDIikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90
ZUluc3BlY3RvclNlcnZlci5jcHAKaW5kZXggN2JlMGJiYTk4ZWQyZWRkMTc1MWQ0MDE1MThkMTcx
Y2Y2NjUwZTY4OC4uN2ZiZDBiMTBhZDQ5MjdiZDZiODc2N2NmNmU3YTc0NWNhNzE2ZTBmMCAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1Jl
bW90ZUluc3BlY3RvclNlcnZlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKQEAgLTI5LDkgKzI5
LDE0IEBACiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAKICNpbmNsdWRlICJSZW1vdGVJ
bnNwZWN0b3JNZXNzYWdlUGFyc2VyLmgiCi0KKyNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgog
I2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
KyNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KKworI2lmIFBMQVRGT1JNKFBMQVlTVEFUSU9O
KQorZXh0ZXJuIGNvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nOwor
I2VuZGlmCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3IgewogCkBAIC0xNTAsNiArMTU1LDExIEBAIHZv
aWQgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudChjb25zdCBFdmVu
dCYpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAorICAgIGF1dG8gYmFja2VuZENv
bW1hbmRzRXZlbnQgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIGJhY2tlbmRDb21tYW5k
c0V2ZW50LT5zZXRTdHJpbmcoImV2ZW50Il9zLCAiQmFja2VuZENvbW1hbmRzIl9zKTsKKyAgICBi
YWNrZW5kQ29tbWFuZHNFdmVudC0+c2V0U3RyaW5nKCJtZXNzYWdlIl9zLCBiYXNlNjRFbmNvZGUo
YmFja2VuZENvbW1hbmRzKCkudXRmOCgpKSk7CisgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KG1f
Y2xpZW50Q29ubmVjdGlvbi52YWx1ZSgpLCBiYWNrZW5kQ29tbWFuZHNFdmVudC0+dG9KU09OU3Ry
aW5nKCkpOworCiAgICAgYXV0byBzZXR1cEV2ZW50ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsK
ICAgICBzZXR1cEV2ZW50LT5zZXRTdHJpbmcoImV2ZW50Il9zLCAiR2V0VGFyZ2V0TGlzdCJfcyk7
CiAKQEAgLTI0OSw2ICsyNTksMzMgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNlbmRN
ZXNzYWdlVG9Gcm9udGVuZChjb25zdCBFdmVudCYgZXZlbnQpCiAgICAgc2VuZFdlYkluc3BlY3Rv
ckV2ZW50KG1fY2xpZW50Q29ubmVjdGlvbi52YWx1ZSgpLCBzZW5kRXZlbnQtPnRvSlNPTlN0cmlu
ZygpKTsKIH0KIAorU3RyaW5nIFJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRz
KCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShQTEFZU1RBVElPTikKKyAgICByZXR1cm4gc19pbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPyBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0
cmluZyA6IFN0cmluZygpOworI2Vsc2UKKyAgICBpZiAobV9iYWNrZW5kQ29tbWFuZHNQYXRoLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gaGFuZGxlID0gRmlsZVN5
c3RlbTo6b3BlbkZpbGUobV9iYWNrZW5kQ29tbWFuZHNQYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Bl
bk1vZGU6OlJlYWQpOworICAgIGlmICghRmlsZVN5c3RlbTo6aXNIYW5kbGVWYWxpZChoYW5kbGUp
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgbG9uZyBsb25nIHNpemU7CisgICAgaWYgKCFG
aWxlU3lzdGVtOjpnZXRGaWxlU2l6ZShoYW5kbGUsIHNpemUpKSB7CisgICAgICAgIEZpbGVTeXN0
ZW06OmNsb3NlRmlsZShoYW5kbGUpOworICAgICAgICByZXR1cm4geyB9OworICAgIH0KKworICAg
IFZlY3RvcjxjaGFyPiBidWZmZXI7CisgICAgYnVmZmVyLnJlc2l6ZShzaXplKTsKKyAgICBhdXRv
IGJ5dGVzUmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRGcm9tRmlsZShoYW5kbGUsIGJ1ZmZlci5kYXRh
KCksIHNpemUpOworICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShoYW5kbGUpOworCisgICAgcmV0
dXJuIGJ5dGVzUmVhZCA9PSBzaXplID8gU3RyaW5nKGJ1ZmZlci5kYXRhKCksIHNpemUpIDogU3Ry
aW5nKCk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgSW5zcGVjdG9yCiAKICNlbmRpZiAv
LyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0
b3JTZXJ2ZXIuaAppbmRleCBlZjExZTA5YTg3ZDJmZWNjN2JkOTQwNjk4NWEyYWVhYWI1ZjNiOWY0
Li5jMDc0MTM4NjA5MWQ4NzU0ODJhYjVkN2I4NDQ0NTdmY2M0NmIzNzgwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yU2VydmVyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
c29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCkBAIC00Niw2ICs0NiwxMCBAQCBwdWJsaWM6
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgT3B0aW9uYWw8dWludDE2X3Q+IGxpc3RlbkZvclRhcmdl
dHMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBPcHRpb25hbDxQbGF0Zm9ybVNvY2tldFR5cGU+
IGNvbm5lY3QoKTsKIAorI2lmICFQTEFURk9STShQTEFZU1RBVElPTikKKyAgICB2b2lkIHNldEJh
Y2tlbmRDb21tYW5kc1BhdGgoY29uc3QgU3RyaW5nJiBiYWNrZW5kQ29tbWFuZHNQYXRoKSB7IG1f
YmFja2VuZENvbW1hbmRzUGF0aCA9IGJhY2tlbmRDb21tYW5kc1BhdGg7IH0KKyNlbmRpZgorCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXI+OwogICAgIFJlbW90ZUluc3BlY3RvclNlcnZlcigpIHsgU29ja2V0Ojppbml0KCk7IH0K
QEAgLTY3LDYgKzcxLDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2VuZFdlYkluc3BlY3RvckV2
ZW50KENvbm5lY3Rpb25JRCwgY29uc3QgU3RyaW5nJik7CiAKKyAgICBTdHJpbmcgYmFja2VuZENv
bW1hbmRzKCkgY29uc3Q7CisKICAgICBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+JiBkaXNw
YXRjaE1hcCgpIG92ZXJyaWRlOwogCiAgICAgSGFzaFNldDxzdGQ6OnBhaXI8Q29ubmVjdGlvbklE
LCBUYXJnZXRJRD4+IG1faW5zcGVjdGlvblRhcmdldHM7CkBAIC04Miw2ICs4OCwxMCBAQCBwcml2
YXRlOgogCiAgICAgLy8gQ29ubmVjdGlvbiBmcm9tIFJlbW90ZUluc3BlY3RvckNsaWVudC4KICAg
ICBPcHRpb25hbDxDb25uZWN0aW9uSUQ+IG1fY2xpZW50Q29ubmVjdGlvbjsKKworI2lmICFQTEFU
Rk9STShQTEFZU1RBVElPTikKKyAgICBTdHJpbmcgbV9iYWNrZW5kQ29tbWFuZHNQYXRoOworI2Vu
ZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL19faW5pdF9fLnB5IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19pbml0X18ucHkK
aW5kZXggMWE0YWM2OWRhNGI1ZjFlOWRkMTdmMWJjOTM3MDkzMzNkN2UyNmMxOS4uNjlkMzgwZDJj
YzAxMTNkNzk0NTY1ZGY3YzQ3MjBhYWE2MmVkOTdmNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19pbml0X18ucHkKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19pbml0X18ucHkK
QEAgLTYsNiArNiw3IEBAIGZyb20gLmNwcF9nZW5lcmF0b3IgaW1wb3J0ICoKIGZyb20gLm9iamNf
Z2VuZXJhdG9yIGltcG9ydCAqCiAKIGZyb20gLmdlbmVyYXRlX2NwcF9hbHRlcm5hdGVfYmFja2Vu
ZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQgKgorZnJvbSAuZ2VuZXJhdGVfY3BwX2JhY2tlbmRf
Y29tbWFuZHMgaW1wb3J0ICoKIGZyb20gLmdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJf
aGVhZGVyIGltcG9ydCAqCiBmcm9tIC5nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2lt
cGxlbWVudGF0aW9uIGltcG9ydCAqCiBmcm9tIC5nZW5lcmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0
Y2hlcl9oZWFkZXIgaW1wb3J0ICoKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRzLnB5
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJh
dGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTY1ODA2YjQ5OGQ4NTA5NmI4
MTJhMWIxNzliZGFmMTFiMjE4M2M1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Nv
bW1hbmRzLnB5CkBAIC0wLDAgKzEsNDYgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIworIyBD
b3B5cmlnaHQgKEMpIDIwMTkgU29ueSBJbnRlcmFjdGl2ZSBFbnRlcnRhaW5tZW50IEluYy4KKyMK
KyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMK
KyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorIyBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyMgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworaW1wb3J0IGxvZ2dpbmcK
KwordHJ5OgorICAgIGZyb20gLmdlbmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMgaW1wb3J0IEpT
QmFja2VuZENvbW1hbmRzR2VuZXJhdG9yCitleGNlcHQgVmFsdWVFcnJvcjoKKyAgICBmcm9tIGdl
bmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMgaW1wb3J0IEpTQmFja2VuZENvbW1hbmRzR2VuZXJh
dG9yCisKK2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdnbG9iYWwnKQorCisKK2NsYXNzIENwcEJh
Y2tlbmRDb21tYW5kc0dlbmVyYXRvcihKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcik6CisgICAg
ZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CisgICAgICAgIEpTQmFja2VuZENv
bW1hbmRzR2VuZXJhdG9yLl9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncykKKworICAgIGRl
ZiBvdXRwdXRfZmlsZW5hbWUoc2VsZik6CisgICAgICAgIHJldHVybiAnSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmNwcCcKKworICAgIGRlZiBnZW5lcmF0ZV9vdXRwdXQoc2VsZik6CisgICAgICAg
IGNvZGUgPSBKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvci5nZW5lcmF0ZV9vdXRwdXQoc2VsZikK
KyAgICAgICAgcmV0dXJuICdjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0
cmluZyA9IFIiKHt9KSI7XG4nLmZvcm1hdChjb2RlKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKaW5kZXggMmIxZDg3ODJjYjJhN2U5
MmM4MmJjYjU3MzNiMTlhZGQ0OTVkMjlkNS4uZmZjZjNiNTFhOTU5ZjU2MGM1ZmE2ODQ2MDZmN2Q1
NWE3Yjg5MzhhNSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CkBAIC01Nyw2ICs1Nyw3IEBAIGV4Y2VwdCBJbXBvcnRFcnJvciBh
cyBlOgogICAgIGZyb20gb2JqY19nZW5lcmF0b3IgaW1wb3J0ICoKIAogICAgIGZyb20gZ2VuZXJh
dGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyIGltcG9ydCAqCisgICAg
ZnJvbSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcyBpbXBvcnQgKgogICAgIGZyb20gZ2Vu
ZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIgaW1wb3J0ICoKICAgICBmcm9tIGdl
bmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24gaW1wb3J0ICoKICAg
ICBmcm9tIGdlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQgKgpA
QCAtMTQzLDYgKzE0NCw3IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFy
eV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAKICAgICBpZiBwcm90b2NvbC5mcmFtZXdv
cmsgaXMgRnJhbWV3b3Jrcy5UZXN0OgogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tl
bmRDb21tYW5kc0dlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCisgICAgICAgIGdlbmVy
YXRvcnMuYXBwZW5kKENwcEJhY2tlbmRDb21tYW5kc0dlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3Vt
ZW50cykpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEFsdGVybmF0ZUJhY2tlbmREaXNw
YXRjaGVySGVhZGVyR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2Vu
ZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVy
YXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlz
cGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKQEAg
LTE2Myw2ICsxNjUsNyBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlf
c3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogCiAgICAgZWxpZiBwcm90b2NvbC5mcmFtZXdv
cmsgaXMgRnJhbWV3b3Jrcy5KYXZhU2NyaXB0Q29yZToKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBl
bmQoSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQorICAg
ICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IoKmdlbmVy
YXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBBbHRlcm5hdGVC
YWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAg
ICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRjaGVySGVhZGVyR2VuZXJh
dG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3Bw
QmFja2VuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3Vt
ZW50cykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2Fs
bC9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAppbmRl
eCAzNDk3NTkyMTMwMzcxNGMzMWIzNGViMDIwZDFjZGY3ZTE1Y2FlY2Q1Li42NzY5YTAwODQwZDVj
OTc5NWVjZWZlMzEyYjJhNjQ5MmJhOWMxMWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25zLXdp
dGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMt
cGxhdGZvcm0uanNvbi1yZXN1bHQKQEAgLTM2LDYgKzM2LDQ1IEBAIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmxvYWRSZXNvdXJjZSIsIFtdLCBbXSk7CiBJbnNwZWN0
b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrIik7CiAjIyMgRW5kIEZpbGU6IEluc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJp
bmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5n
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElT
IEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZGVmaW5pdGlvbnMtd2l0
aC1tYWMtcGxhdGZvcm0uanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5n
cy5weQorCisvLyBOZXR3b3JrLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rlck5ldHdvcmtEaXNw
YXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJ
bnNwZWN0b3JCYWNrZW5kLCAiTmV0d29yayIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2
ZW50KCJOZXR3b3JrLnJlc291cmNlTG9hZGVkIiwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckNvbW1hbmQoIk5ldHdvcmsubG9hZFJlc291cmNlIiwgW10sIFtdKTsKK0luc3BlY3RvckJh
Y2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRl
QmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgt
YXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1h
dHRyaWJ1dGUuanNvbi1yZXN1bHQKaW5kZXggN2ViYTAxNjk0YjA4ODRkMmJiNzEwY2E0MWQxOTNk
NDE3NjE3YTM0MS4uYTRjMTUxZjc3OTUzYTk1ZTM2ZDBkOTUxYWE5MTRkZWUwZGU3MjdhNyAxMDA2
NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKQEAg
LTM5LDYgKzM5LDQ4IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFz
ZS5leGVjdXRlU1FMQXN5bmMiLCBbeyJuYW1lIjogImRhdGFiYXNlCiBJbnNwZWN0b3JCYWNrZW5k
LmFjdGl2YXRlRG9tYWluKCJEYXRhYmFzZSIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIo
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJ
dCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGNvbW1hbmRzLXdpdGgtYXN5bmMtYXR0
cmlidXRlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKwor
Ly8gRGF0YWJhc2UuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVy
ID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0
b3JCYWNrZW5kLCAiRGF0YWJhc2UiKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJE
YXRhYmFzZS5QcmltYXJ5Q29sb3JzIiwge1JlZDogInJlZCIsIEdyZWVuOiAiZ3JlZW4iLCBCbHVl
OiAiYmx1ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5l
eGVjdXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVzIiwgW3sibmFtZSI6ICJkYXRhYmFzZUlk
IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicXVlcnki
LCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImNvbHVtbk5hbWVzIiwg
Im5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJkYXRhYmFzZUlkIiwg
InNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0ZUNvbG9ycyIsICJwcmludENvbG9y
Il0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVT
UUxBc3luY09wdGlvbmFsUmV0dXJuVmFsdWVzIiwgW3sibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5
cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicXVlcnkiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImNvbHVtbk5hbWVzIiwgIm5vdGVz
IiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJkYXRhYmFzZUlkIiwgInNxbEVy
cm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0ZUNvbG9ycyIsICJwcmludENvbG9yIl0pOwor
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxTeW5j
IiwgW3sibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjog
ZmFsc2V9LCB7Im5hbWUiOiAicXVlcnkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBm
YWxzZX1dLCBbImNvbHVtbk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAi
cGF5bG9hZCIsICJkYXRhYmFzZUlkIiwgInNxbEVycm9yIiwgImFsdGVybmF0ZUNvbG9ycyIsICJz
Y3JlZW5Db2xvciIsICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxBc3luYyIsIFt7Im5hbWUiOiAiZGF0YWJhc2VJZCIs
ICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInF1ZXJ5Iiwg
InR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJjb2x1bW5OYW1lcyIsICJu
b3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAiZGF0YWJhc2VJZCIsICJz
cWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMiLCAicHJpbnRDb2xvciJd
KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7KSI7CisKKyMj
IyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmls
ZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1
bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMu
anNvbi1yZXN1bHQKaW5kZXggMTYxMzFkZGY4MDhlZWM0ODMyZDNlZjM1ZTc3ODk1NTA4YzliYjFh
ZS4uYTA2YWI3MGUyMWEzZmFkYTA2OTA3NjU0NmI2ZDViMTVhZjhjZWNkMiAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFy
YW1ldGVycy5qc29uLXJlc3VsdApAQCAtMzYsNiArMzYsNDUgQEAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyIsIFt7
Im5hbWUKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVy
c2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBE
TyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20g
Y29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24KKy8vIGJ5
IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gRGF0YWJhc2UuCitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGF0YWJhc2UuUHJpbWFyeUNvbG9ycyIsIHtSZWQ6
ICJyZWQiLCBHcmVlbjogImdyZWVuIiwgQmx1ZTogImJsdWUifSk7CitJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZUFsbE9wdGlvbmFsUGFyYW1ldGVycyIs
IFt7Im5hbWUiOiAiY29sdW1uTmFtZXMiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0
cnVlfSwgeyJuYW1lIjogIm5vdGVzIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1
ZX0sIHsibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0
cnVlfSwgeyJuYW1lIjogInZhbHVlcyIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IHRy
dWV9LCB7Im5hbWUiOiAicGF5bG9hZCIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IHRy
dWV9LCB7Im5hbWUiOiAiZGF0YWJhc2VJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6
IHRydWV9LCB7Im5hbWUiOiAic3FsRXJyb3IiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwi
OiB0cnVlfSwgeyJuYW1lIjogInNjcmVlbkNvbG9yIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlv
bmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJhbHRlcm5hdGVDb2xvcnMiLCAidHlwZSI6ICJvYmplY3Qi
LCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInByaW50Q29sb3IiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiB0cnVlfV0sIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0
YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAic2Ny
ZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0
ZXJzIiwgW3sibmFtZSI6ICJjb2x1bW5OYW1lcyIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25h
bCI6IGZhbHNlfSwgeyJuYW1lIjogIm5vdGVzIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFs
IjogZmFsc2V9LCB7Im5hbWUiOiAidGltZXN0YW1wIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlv
bmFsIjogZmFsc2V9LCB7Im5hbWUiOiAidmFsdWVzIiwgInR5cGUiOiAib2JqZWN0IiwgIm9wdGlv
bmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicGF5bG9hZCIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRp
b25hbCI6IGZhbHNlfSwgeyJuYW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAi
b3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJzcWxFcnJvciIsICJ0eXBlIjogIm9iamVjdCIs
ICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInNjcmVlbkNvbG9yIiwgInR5cGUiOiAic3Ry
aW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiYWx0ZXJuYXRlQ29sb3JzIiwgInR5
cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicHJpbnRDb2xvciIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiY29sdW1uTmFtZXMiLCAi
bm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFiYXNlSWQiLCAi
c3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwgInByaW50Q29sb3Ii
XSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEYXRhYmFzZSIpOykiOworCisj
IyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZp
bGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0
ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZp
bml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAppbmRleCBkNGMwZmUzZmUzYzZi
YmRjMTAzNjJkMWUwYzM5Zjk4YzdhYzM2ZTVkLi45ZWRhOGI5ZThhNzcyYWY1YTMzYTg5N2VjNzdl
OWI3NmNkMDk3OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0
Zm9ybS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9y
bS5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25z
dCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21h
dGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29u
CisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVz
dEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEz
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21h
aW4tYXZhaWxhYmlsaXR5Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWluLWF2YWlsYWJpbGl0eS5q
c29uLXJlc3VsdAppbmRleCAwZGZiMzIxNTFjYWVkODdlNWUyNDZiN2RlYTJkOTdkYmM2NjY3YzRk
Li40YjUwZWNjZGJlNDk4ZmU2YTQxMjhlMzZlMDhjMDVjOTFiMjcwYWY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC9kb21haW4tYXZhaWxhYmlsaXR5Lmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1h
dmFpbGFiaWxpdHkuanNvbi1yZXN1bHQKQEAgLTM4LDYgKzM4LDQ3IEBAIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJDb21tYW5kKCJEb21haW5CLmVuYWJsZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JC
YWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEb21haW5CIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcg
PSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJ
TEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZG9tYWluLWF2YWlsYWJpbGl0
eS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIERv
bWFpbkEuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRG9tYWluQS5lbmFibGUi
LCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRG9tYWluQSIsIFsi
d2ViIl0pOworCisvLyBEb21haW5CLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQo
IkRvbWFpbkIuZW5hYmxlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21h
aW4oIkRvbWFpbkIiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJz
LmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6
ZXMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVz
Lmpzb24tcmVzdWx0CmluZGV4IDJiZTczMDkyODkzMzlhMjU5MGEzNzdmMTI2ODRkOWZkNGM2MzI3
MDMuLmE3MmRjMTk2Y2JiY2FhOGI2ZDlhMDE3Yzc5YzUyM2VmMGM0ZDNlYmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdApA
QCAtNDQsNiArNDQsNTMgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdv
cmszLmxvYWRSZXNvdXJjZTciLCBbXSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURv
bWFpbigiTmV0d29yazMiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25z
dCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21h
dGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkb21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVz
Lmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gTmV0
d29yazEuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yazEubG9hZFJl
c291cmNlMSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3
b3JrMSIpOworCisvLyBOZXR3b3JrMy4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJOZXR3b3JrMy5sb2FkUmVzb3VyY2UxIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2UyIiwgW10sIFtdKTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2UzIiwgW10sIFtd
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3Vy
Y2U0IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3Jr
My5sb2FkUmVzb3VyY2U1IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21t
YW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2U2IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2U3IiwgW10sIFtdKTsKK0luc3Bl
Y3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmszIik7KSI7CisKKyMjIyBFbmQgRmls
ZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFs
dGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9lbnVtLXZh
bHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CmluZGV4IDc5
YWE5Y2U1YWQ4NmMxZTY5ODkyMGYyMDQyNWY3YzQ3MDlmYTQ4YTEuLmViYzBiNzcyMjM1NWVlY2Q2
MjJmNjM2ZmRjOGQxZDM4ZGQyZWZkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpz
b24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CkBAIC00NCw2ICs0
NCw1MyBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkV2ZW50RG9tYWluLmV2ZW50
V2l0aEVudW1QYXJhbWV0ZXIiLCBbInBhcmFtZXRlcgogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0
ZURvbWFpbigiRXZlbnREb21haW4iKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3Bw
Citjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMg
YXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBlbnVtLXZhbHVlcy5qc29uCisvLyBieSB0aGUg
c2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIFR5cGVEb21haW4uCitJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiVHlwZURvbWFpbi5UeXBlRG9tYWluRW51bSIsIHtTaGFy
ZWQ6ICJzaGFyZWQiLCBSZWQ6ICJyZWQiLCBHcmVlbjogImdyZWVuIiwgQmx1ZTogImJsdWUifSk7
CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJUeXBlRG9tYWluIik7CisKKy8vIENv
bW1hbmREb21haW4uCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiQ29tbWFuZERv
bWFpbi5jb21tYW5kV2l0aEVudW1SZXR1cm5WYWx1ZSIsIFtdLCBbInJldHVyblZhbHVlIl0pOwor
SW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiQ29tbWFuZERvbWFpbiIpOworCisvLyBF
dmVudERvbWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudERvbWFpbkRpc3BhdGNo
ZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5kKEluc3Bl
Y3RvckJhY2tlbmQsICJFdmVudERvbWFpbiIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIkV2ZW50RG9tYWluLkV2ZW50V2l0aEVudW1QYXJhbWV0ZXJQYXJhbWV0ZXIiLCB7U2hhcmVk
OiAic2hhcmVkIiwgQmxhY2s6ICJibGFjayIsIFdoaXRlOiAid2hpdGUifSk7CitJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkV2ZW50RG9tYWluLmV2ZW50V2l0aEVudW1QYXJhbWV0ZXIi
LCBbInBhcmFtZXRlciJdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkV2ZW50
RG9tYWluIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNw
cAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3Vs
dAppbmRleCA0NjlkMDliYTc1OGY2MzFiZmViMjkxZDhhMWI1NTc1MmQ2NjA5MGJjLi5kOTYxMjhi
NDMyOTg4ZDRmODYzMDkyNGNhMmM5OTNlNWFiMzBjMjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVu
dHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2V2ZW50
cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKQEAgLTM2LDYgKzM2LDQ1IEBA
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRGF0YWJhc2UuZGlkRXhlY3V0ZU5vT3B0
aW9uYWxQYXJhbWV0ZXJzIiwgWyJjb2x1CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWlu
KCJEYXRhYmFzZSIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMK
IAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNo
YXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNh
bGx5IGdlbmVyYXRlZCBmcm9tIGV2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbgor
Ly8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBEYXRhYmFzZS4K
K0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFzZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJE
YXRhYmFzZSIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJEYXRhYmFzZS5kaWRF
eGVjdXRlT3B0aW9uYWxQYXJhbWV0ZXJzIiwgWyJjb2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1l
c3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAi
YWx0ZXJuYXRlQ29sb3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRXZlbnQoIkRhdGFiYXNlLmRpZEV4ZWN1dGVOb09wdGlvbmFsUGFyYW1ldGVycyIsIFsiY29s
dW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgInNx
bEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0ZUNvbG9ycyIsICJwcmludENvbG9yIl0p
OworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTspIjsKKworIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxl
OiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdAppbmRleCA1
MTBlMTc1Y2NjMmYzYzBjNjRhMmU2NTBjYzY4MmM1NDc0YmI0ZmZjLi5hNzg3ZGJhMGQyNzE0MjNh
MjNjYTA4YjA1NTE4NWNhOTkzYTY1NTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9nZW5lcmF0ZS1kb21h
aW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUt
ZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0CkBAIC0zOSw2ICszOSw0OCBA
QCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmszLnJlc291cmNlTG9hZGVk
IiwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yazMiKTsKICMj
IyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxl
OiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJh
Y2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2
ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8v
IERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJv
bSBnZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbgorLy8gYnkgdGhlIHNj
cmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWlu
c3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBOZXR3b3JrMS4KK0luc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMS5sb2FkUmVzb3VyY2UiLCBbXSwgW10pOwor
SW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yazEiKTsKKworLy8gTmV0d29y
azMuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTmV0d29yazNEaXNwYXRjaGVyID0gSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5k
LCAiTmV0d29yazMiKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiTmV0d29yazMu
cmVzb3VyY2VMb2FkZWQiLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJO
ZXR3b3JrMyIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5j
cHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1y
ZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdApp
bmRleCBlOTQwMjExMTM4MmFlYzdjNWVmMGRlYzk4MWIyMWE2NDg4NDVhZGU1Li4wODc2ZTczMWNk
ZTJiOWI4OWM5ZTcyYmRlNGFiMWJiMTdhYWYxYTZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5
cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUt
aWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5
IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmlu
ZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMg
RklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBzYW1lLXR5cGUtaWQtZGlm
ZmVyZW50LWRvbWFpbi5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdz
LnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAj
IyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9l
eHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKaW5kZXgg
NGJkYjJkNDExOWZhYzRiZjFkMDYxZTFhZjgwY2MxZDAxNzVlNWI3MS4uMzFhNDZkODk4NGRhZmUz
MDkxYTU0MzI1YzVhNDI2N2QwYmJjOGFjMSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0
aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlv
bmFsLXR5cGUtc2V0dGVycy5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRo
ZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9
IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklM
RS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBzaGFkb3dlZC1vcHRpb25hbC10
eXBlLXNldHRlcnMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eSkiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMj
IEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0IGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hv
dWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0CmluZGV4IDZhMWZiN2Q0ZjlkOWI3ZmZjYWM0
MGEwNjRhNTRhYmQ4Y2NkZWVkNTIuLjE4MDI2MTAzMjlhNThmZDk5ZmFlNjIxOTIxYjZhN2Y4NDM3
NjM5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3Nob3VsZC1zdHJpcC1jb21tZW50cy5qc29uLXJlc3Vs
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVudHMuanNvbi1yZXN1bHQKQEAgLTMwLDYg
KzMwLDM5IEBACiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVy
c2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBE
TyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20g
c2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wt
YmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
Y3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUt
dHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRp
dmUtdHlwZS5qc29uLXJlc3VsdAppbmRleCBmNTY2NjM3OWNhNzQ2YjY2ODczOTc2YjAzZTc0MThj
ZGE0MmE0NjFlLi5kNWJjOTE4NGY2NWU4YWQ5NmM4NzczNjM4Yzc4YzU5MTUwMzZjYWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNv
bi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10
eXBlLmpzb24tcmVzdWx0CkBAIC0zMCw2ICszMCwzOSBAQAogLy8gYnkgdGhlIHNjcmlwdDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1w
cm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2Nv
bnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRv
bWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHR5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmltaXRp
dmUtdHlwZS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7
CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVn
aW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9l
eHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggZmI0ZGQzNzNhYzZl
NGEwODkzYjFmZDI1ZGIyOWU4YWVlNzI5MWVlMS4uNGFhMGVkNjk1OGQxN2RhZTljY2RjYTA3ZTU4
OTQ4NzdmNzQxNGFiNCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10
eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5q
c29uLXJlc3VsdApAQCAtMzQsNiArMzQsNDMgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIkRlYnVnZ2VyLlJlYXNvbiIsIHtEaWVkOiAiRGllZCIsIEZhaW50ZWQ6ICJGYWludGUKIElu
c3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRlYnVnZ2VyIik7CiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBX
YXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJ
VCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1kZWNs
YXJhdGlvbi1hcnJheS10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmlu
ZGluZ3MucHkKKworLy8gRGVidWdnZXIuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgi
RGVidWdnZXIuUmVhc29uIiwge0RpZWQ6ICJEaWVkIiwgRmFpbnRlZDogIkZhaW50ZWQiLCBIdW5n
cnk6ICJIdW5ncnkifSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEZWJ1Z2dl
ciIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwog
IyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdAppbmRleCAzMjQ4ZDZk
NzI5Y2IzN2Q2ZDQ5MmE4NTZiYzhmNDQxNGY2OGRhYWI2Li41NGI5ZmVkZjIyYmQzYjhiMTE0OGNi
NzY4NjczMWJmM2I5ZDdiNGNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVu
dW0tdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlw
ZS5qc29uLXJlc3VsdApAQCAtMzUsNiArMzUsNDQgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckVudW0oIlJ1bnRpbWUuVHdvTGVnZ2VkQW5pbWFscyIsIHtEdWNrczogIkR1Y2tzIiwgSGVuczoK
IEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlJ1bnRpbWUiKTsKICMjIyBFbmQgRmls
ZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21t
YW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9m
IFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBF
RElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLWRl
Y2xhcmF0aW9uLWVudW0tdHlwZS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5CisKKy8vIFJ1bnRpbWUuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgi
UnVudGltZS5GYXJtQW5pbWFscyIsIHtQaWdzOiAiUGlncyIsIENvd3M6ICJDb3dzIiwgQ2F0czog
IkNhdHMiLCBIZW5zOiAiSGVucyJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJS
dW50aW1lLlR3b0xlZ2dlZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6ICJIZW5zIiwg
Q3Jvd3M6ICJDcm93cyIsIEZsYW1pbmdvczogIkZsYW1pbmdvcyJ9KTsKK0luc3BlY3RvckJhY2tl
bmQuYWN0aXZhdGVEb21haW4oIlJ1bnRpbWUiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFj
a2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24t
b2JqZWN0LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10
eXBlLmpzb24tcmVzdWx0CmluZGV4IDk5MjM0YzA5ODRhODg2MjQyODk0OTUzMTgyNTMyZGJjMzhk
MWZlNmIuLmQxYjdlYTU3ZWZiYTA2MzkzYmYzZmMxNGY2NjIyOTAyMTllNmQ0ZWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdApAQCAtMzYsNiAr
MzYsNDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRhdGFiYXNlLlBhcmFtZXRl
ckJ1bmRsZURpcmVjdGlvbmFsaXR5Iiwge0xUUjogIkwKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZh
dGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAor
Y29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1
dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5q
c29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIERhdGFi
YXNlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRhdGFiYXNlLk1vdXNlQnV0dG9u
Iiwge05vbmU6ICJOb25lIiwgTGVmdDogIkxlZnQiLCBNaWRkbGU6ICJNaWRkbGUiLCBSaWdodDog
IlJpZ2h0In0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRhdGFiYXNlLk9wdGlv
bmFsUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHkiLCB7TFRSOiAiTFRSIiwgUlRMOiAiUlRM
In0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRhdGFiYXNlLlBhcmFtZXRlckJ1
bmRsZURpcmVjdGlvbmFsaXR5Iiwge0xUUjogIkxUUiIsIFJUTDogIlJUTCJ9KTsKK0luc3BlY3Rv
ckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7KSI7CisKKyMjIyBFbmQgRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVy
bmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXJlcXVp
cmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVu
dGltZS1jYXN0cy5qc29uLXJlc3VsdAppbmRleCBiYTNkZTI2YThmNTNhNjc3Y2U2ZThlNjYwNjc4
MzJjZjI2ZTM4NzVjLi4zNTQyMjdkOTk0YTI3ZWQ5OTdiMGJhYTQzOGViMTQxMDVjMTdkNjhhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
Z2VuZXJpYy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5l
cmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQKQEAg
LTM1LDYgKzM1LDQ0IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJUZXN0LkNhc3Rl
ZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6ICJIZW5zCiBJbnNwZWN0b3JCYWNrZW5k
LmFjdGl2YXRlRG9tYWluKCJUZXN0Iik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRD
b21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNw
cAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlz
IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0
cy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIFRl
c3QuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiVGVzdC5VbmNhc3RlZEFuaW1hbHMi
LCB7UGlnczogIlBpZ3MiLCBDb3dzOiAiQ293cyIsIENhdHM6ICJDYXRzIiwgSGVuczogIkhlbnMi
fSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiVGVzdC5DYXN0ZWRBbmltYWxzIiwg
e0R1Y2tzOiAiRHVja3MiLCBIZW5zOiAiSGVucyIsIENyb3dzOiAiQ3Jvd3MiLCBGbGFtaW5nb3M6
ICJGbGFtaW5nb3MifSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJUZXN0Iik7
KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMg
QmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC90eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0IGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
dHlwZS13aXRoLW9wZW4tcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCBlNDMwZWRlNTA4YmI1
YzgxZDc2ZDQ5OTRhMjcwZDExMjA3Nzk1MWM1Li5hMWViZjkwZDc2ODg2ZTUyMWMyMTVmMTVlYzlm
N2Q2ZmI1MTRiNjgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJz
Lmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBACiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisj
IyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciog
c19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkg
Z2VuZXJhdGVkIGZyb20gdHlwZS13aXRoLW9wZW4tcGFyYW1ldGVycy5qc29uCisvLyBieSB0aGUg
c2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUt
aW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJh
Y2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVz
dWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvdmVyc2lvbi5qc29uLXJlc3VsdAppbmRleCAyYjZhNDllNzQ1MjI4ZjJmMjFk
MDVhZTYxYTY0YjkzZGQ0MTY3YzI0Li42NzFiZTQ0NDBlMzUyMGU1MGZlYWY0MDAwODVjNGZjYzE1
OTkzMTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVzdWx0CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L3ZlcnNpb24uanNvbi1yZXN1bHQKQEAgLTM0LDYgKzM0LDQzIEBAIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJWZXJzaW9uKCJWZXJzaW9uRG9tYWluIiwgNDIpOwogSW5zcGVjdG9yQmFja2VuZC5h
Y3RpdmF0ZURvbWFpbigiVmVyc2lvbkRvbWFpbiIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0g
UiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxF
LiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHZlcnNpb24uanNvbgorLy8gYnkg
dGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBWZXJzaW9uRG9tYWluLgor
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclZlcnNpb24oIlZlcnNpb25Eb21haW4iLCA0Mik7CitJ
bnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJWZXJzaW9uRG9tYWluIik7KSI7CisKKyMj
IyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmls
ZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvaW9zL2V4cGVjdGVkL2Rl
ZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZpbml0aW9ucy13
aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAppbmRleCBkNGMwZmUzZmUzYzZiYmRjMTAzNjJk
MWUwYzM5Zjk4YzdhYzM2ZTVkLi45ZWRhOGI5ZThhNzcyYWY1YTMzYTg5N2VjNzdlOWI3NmNkMDk3
OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvaW9zL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVz
dWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9p
b3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKQEAg
LTMwLDYgKzMwLDM5IEBACiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4g
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
VW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVk
IGZyb20gZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbgorLy8gYnkgdGhlIHNjcmlw
dDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3Bl
Y3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSkiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5k
RGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0
Zm9ybS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9tYWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1y
ZXN1bHQKaW5kZXggMzQ5NzU5MjEzMDM3MTRjMzFiMzRlYjAyMGQxY2RmN2UxNWNhZWNkNS4uNjc2
OWEwMDg0MGQ1Yzk3OTVlY2VmZTMxMmIyYTY0OTJiYTljMTFlMCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3RlZC9kZWZp
bml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvbWFjL2V4cGVjdGVkL2RlZmluaXRpb25z
LXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CkBAIC0zNiw2ICszNiw0NSBAQCBJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5sb2FkUmVzb3VyY2UiLCBbXSwgW10p
OwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yayIpOwogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkg
b2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9U
IEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRlZmlu
aXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkKKworLy8gTmV0d29yay4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJO
ZXR3b3JrRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRj
aGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIk5ldHdvcmsiKTsKK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJFdmVudCgiTmV0d29yay5yZXNvdXJjZUxvYWRlZCIsIFtdKTsKK0luc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmxvYWRSZXNvdXJjZSIsIFtdLCBbXSk7CitJ
bnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrIik7KSI7CisKKyMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVz
dEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEz
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuY3BwCmluZGV4IDY3
ZTIzODgzNGJhMGY1NmZmZmQ3NDlhYjBhYWRlYmNjYjJhZGNjN2QuLjU0NDg3NGI4ZDNjNjkwOTMy
OTZhYTg4OWJlZTQwZmEyYjY5ZjkwNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC01NCw3ICs1NCw3
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZCgpCiAgICAgewotICAgICAgICBtX3Byb3h5LT5s
b2FkKG1fZGVidWdnYWJsZVR5cGUsIFN0cmluZygpKTsKKyAgICAgICAgbV9wcm94eS0+bG9hZCht
X2RlYnVnZ2FibGVUeXBlLCBtX2luc3BlY3RvckNsaWVudC5iYWNrZW5kQ29tbWFuZHNVUkwoKSk7
CiAgICAgfQogCiAgICAgdm9pZCBzaG93KCkKQEAgLTExNyw2ICsxMTcsNyBAQCB2b2lkIFJlbW90
ZUluc3BlY3RvckNsaWVudDo6c2VuZFdlYkluc3BlY3RvckV2ZW50KGNvbnN0IFN0cmluZyYgZXZl
bnQpCiBIYXNoTWFwPFN0cmluZywgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9u
Q2xpZW50OjpDYWxsSGFuZGxlcj4mIFJlbW90ZUluc3BlY3RvckNsaWVudDo6ZGlzcGF0Y2hNYXAo
KQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRs
ZXI+PiBkaXNwYXRjaE1hcCA9IEhhc2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4oeworICAgICAg
ICB7ICJCYWNrZW5kQ29tbWFuZHMiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVtb3Rl
SW5zcGVjdG9yQ2xpZW50OjpzZXRCYWNrZW5kQ29tbWFuZHMpIH0sCiAgICAgICAgIHsgIlNldFRh
cmdldExpc3QiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yQ2xp
ZW50OjpzZXRUYXJnZXRMaXN0KSB9LAogICAgICAgICB7ICJTZW5kTWVzc2FnZVRvRnJvbnRlbmQi
X3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZW5k
TWVzc2FnZVRvRnJvbnRlbmQpIH0sCiAgICAgfSk7CkBAIC0xODcsNiArMTg4LDE0IEBAIHZvaWQg
UmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUZyb21Gcm9udGVuZChDb25uZWN0aW9uSUQgY29u
bmVjdGlvbklELCBUYXJnZXRJCiAgICAgbV9pbnNwZWN0b3JQcm94eU1hcC5yZW1vdmUoc3RkOjpt
YWtlX3BhaXIoY29ubmVjdGlvbklELCB0YXJnZXRJRCkpOwogfQogCit2b2lkIFJlbW90ZUluc3Bl
Y3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKGNvbnN0IEV2ZW50JiBldmVudCkKK3sKKyAg
ICBpZiAoIWV2ZW50Lm1lc3NhZ2UgfHwgZXZlbnQubWVzc2FnZS0+aXNFbXB0eSgpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX2JhY2tlbmRDb21tYW5kc1VSTCA9IG1ha2VTdHJpbmcoImRhdGE6
dGV4dC9qYXZhc2NyaXB0O2Jhc2U2NCwiLCBldmVudC5tZXNzYWdlLnZhbHVlKCkpOworfQorCiB2
b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0VGFyZ2V0TGlzdChjb25zdCBFdmVudCYgZXZl
bnQpCiB7CiAgICAgaWYgKCFldmVudC5jb25uZWN0aW9uSUQgfHwgIWV2ZW50Lm1lc3NhZ2UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
Q2xpZW50LmgKaW5kZXggNzU0YTkxNGU3YmIwYTk4MjhjMjFmYjk2MjQ5YTUwNGIyYjZkYjk2YS4u
ZGFhZDRiMmE0NDk3NmYxZDE4OTFiMTJjYjUyZWQxZWU3NzgyZTAwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaApA
QCAtNjMsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIGNvbnN0IEhhc2hNYXA8Q29u
bmVjdGlvbklELCBWZWN0b3I8VGFyZ2V0Pj4mIHRhcmdldHMoKSBjb25zdCB7IHJldHVybiBtX3Rh
cmdldHM7IH0KKyAgICBjb25zdCBTdHJpbmcmIGJhY2tlbmRDb21tYW5kc1VSTCgpIGNvbnN0IHsg
cmV0dXJuIG1fYmFja2VuZENvbW1hbmRzVVJMOyB9CiAKICAgICB2b2lkIGluc3BlY3QoQ29ubmVj
dGlvbklELCBUYXJnZXRJRCwgY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRv
QmFja2VuZChDb25uZWN0aW9uSUQsIFRhcmdldElELCBjb25zdCBTdHJpbmcmKTsKQEAgLTgzLDYg
Kzg0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2VuZFdlYkluc3BlY3RvckV2ZW50KGNvbnN0
IFN0cmluZyYpOwogCisgICAgU3RyaW5nIG1fYmFja2VuZENvbW1hbmRzVVJMOwogICAgIFJlbW90
ZUluc3BlY3Rvck9ic2VydmVyJiBtX29ic2VydmVyOwogICAgIE9wdGlvbmFsPENvbm5lY3Rpb25J
RD4gbV9jb25uZWN0aW9uSUQ7CiAgICAgSGFzaE1hcDxDb25uZWN0aW9uSUQsIFZlY3RvcjxUYXJn
ZXQ+PiBtX3RhcmdldHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc1Bvb2xXaW4uY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlBy
b2Nlc3NQb29sV2luLmNwcAppbmRleCAyZTYwNDQ3OGIyYWU4NmZhM2JiM2IzYjJhNzg3YmJhM2U1
ZWQ1MmRhLi43ZmEwODBiNGY2MWMzM2E5ZjA1ZjQ3YjhkYWRjNThlYTYwYzQxZjUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAKQEAg
LTI5LDE1ICsyOSwyOCBAQAogCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYv
RmlsZVN5c3RlbS5oPgogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9XZWJDb3JlQnVuZGxlV2luLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3N0YXRpYyBTdHJpbmcgYmFja2VuZENvbW1hbmRz
UGF0aCgpCit7CisgICAgUmV0YWluUHRyPENGVVJMUmVmPiB1cmxSZWYgPSBhZG9wdENGKENGQnVu
ZGxlQ29weVJlc291cmNlVVJMKFdlYkNvcmU6OndlYktpdEJ1bmRsZSgpLCBDRlNUUigiSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzIiksIENGU1RSKCJqcyIpLCBDRlNUUigiV2ViSW5zcGVjdG9yVUlc
XFByb3RvY29sIikpKTsKKyAgICBpZiAoIXVybFJlZikKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIGNoYXIgcGF0aFtNQVhfUEFUSF07CisgICAgaWYgKCFDRlVSTEdldEZpbGVTeXN0ZW1SZXBy
ZXNlbnRhdGlvbih1cmxSZWYuZ2V0KCksIGZhbHNlLCByZWludGVycHJldF9jYXN0PFVJbnQ4Kj4o
cGF0aCksIE1BWF9QQVRIKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBwYXRo
OworfQorCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplUmVtb3RlSW5zcGVjdG9yU2VydmVyKFN0cmlu
Z1ZpZXcgYWRkcmVzcykKIHsKICAgICBpZiAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2
ZXI6OnNpbmdsZXRvbigpLmlzUnVubmluZygpKQpAQCAtNDYsMTIgKzU5LDEzIEBAIHN0YXRpYyB2
b2lkIGluaXRpYWxpemVSZW1vdGVJbnNwZWN0b3JTZXJ2ZXIoU3RyaW5nVmlldyBhZGRyZXNzKQog
ICAgIGF1dG8gcG9zID0gYWRkcmVzcy5maW5kKCc6Jyk7CiAgICAgaWYgKHBvcyA9PSBub3RGb3Vu
ZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBob3N0ID0gYWRkcmVzcy5zdWJzdHJpbmco
MCwgcG9zKTsKICAgICBhdXRvIHBvcnQgPSBhZGRyZXNzLnN1YnN0cmluZyhwb3MgKyAxKS50b1VJ
bnQ2NFN0cmljdCgpOwotCiAgICAgaWYgKCFwb3J0KQogICAgICAgICByZXR1cm47CiAKKyAgICBJ
bnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuc2V0QmFja2VuZENv
bW1hbmRzUGF0aChiYWNrZW5kQ29tbWFuZHNQYXRoKCkpOwogICAgIEluc3BlY3Rvcjo6UmVtb3Rl
SW5zcGVjdG9yU2VydmVyOjpzaW5nbGV0b24oKS5zdGFydChob3N0LnV0ZjgoKS5kYXRhKCksIHBv
cnQudmFsdWUoKSk7CiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379976</attachid>
            <date>2019-10-01 18:01:38 -0700</date>
            <delta_ts>2019-10-01 18:47:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191001180137.patch</filename>
            <type>text/plain</type>
            <size>85491</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTlkMWI0NzcxOTU4NzU3OGE5ZGY4MDliOTUyOThmYjU1NDk3MTU4Li40MzY5ZjZmYzA4ZmJhZDJj
Njk4NGM2ODkzYTc0NGE4NzI1NDhiZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1MSBAQAorMjAxOS0xMC0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOgorICAgICAgICAqIFBsYXRmb3JtUGxheVN0YXRpb24uY21ha2U6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9fX2luaXRfXy5weToKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRzLnB5OiBBZGRl
ZC4KKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHk6CisgICAgICAgIEdlbmVyYXRlIGEgSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcCAoaG9sZGluZyB0aGUgY29udGVudHMgb2YgSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzIGFzIGEgQysrIHN0cmluZyksCisgICAgICAgIHRvIGJlIHVzZWQgb24gcGxhdGZvcm1zIGxp
a2UgUGxheVN0YXRpb24gd2hpY2ggZG9uJ3QgaGF2ZSBhIHJlc291cmNlIGJ1bmRsZSB0byBhY2Nl
c3MuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXIuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNl
dHVwSW5zcGVjdG9yQ2xpZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9y
U2VydmVyOjpiYWNrZW5kQ29tbWFuZHMgY29uc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oOgorICAgICAgICAoSW5zcGVjdG9yOjpS
ZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNldEJhY2tlbmRDb21tYW5kc1BhdGgpOgorICAgICAgICBP
biBQbGF5U3RhdGlvbiwgYWNxdWlyZSB0aGUgY29udGVudHMgb2YgSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzIGZyb20gdGhlIGdlbmVyYXRlZCBDKysgZmlsZS4KKyAgICAgICAgRWxzZXdoZXJlLCBl
eHBlY3QgdGhhdCBhIHBhdGggdG8gdGhlIEpTIHJlc291cmNlIGZpbGUgd2lsbCBiZSBwcm92aWRl
ZCBhbmQgcmVhZCBpdHMgY29udGVudHMuCisgICAgICAgIEVpdGhlciB3YXksIHNlbmQgb2ZmIHRo
ZSBiYXNlNjQtZW5jb2RlZCBjb250ZW50cyBpbiBhICJCYWNrZW5kQ29tbWFuZHMiIG1lc3NhZ2Ug
d2hlbiBzZXR0aW5nIHVwIGEgY2xpZW50LgorCisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVz
dWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
Y29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlv
bmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1w
bGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW5zLXdpdGgt
dmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQ6Cisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMt
d2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZl
YXR1cmUtZ3VhcmRzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2FtZS10eXBlLWlkLWRpZmZlcmVudC1kb21haW4uanNvbi1y
ZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29t
bWVudHMuanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNv
bi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9u
LWVudW0tdHlwZS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1
bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS13aXRoLW9wZW4tcGFyYW1l
dGVycy5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5l
cmljL2V4cGVjdGVkL3ZlcnNpb24uanNvbi1yZXN1bHQ6CisgICAgICAgICogaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvaW9zL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpz
b24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3Rl
ZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgVXBk
YXRlIGluc3BlY3RvciBnZW5lcmF0b3IgdGVzdCByZXN1bHRzIHRvIGluY2x1ZGUgSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcC4KKwogMjAxOS0xMC0wMSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fi
b2ZmQGFwcGxlLmNvbT4gYW5kIFBhdWxvIE1hdG9zICA8cG1hdG9zQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1lBUlJdIFByb3Blcmx5IGhhbmRsZSBzdXJyb2dhdGVzIHdoZW4gbWF0Y2hpbmcgYmFj
ayByZWZlcmVuY2VzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM0YmE5Yjc5NjkyY2I3NDIxZWZmZThhYTAyZGVlNWY2
ODBhZGUzMGMuLmMwYzFlZDE1N2FlN2Y4YTEzOTFkMmIxNTkyNjQ2OWZiOWJiMTZlOTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTAtMDEgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtp
cnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFNvY2tldCBSV0kgY2xpZW50IHNob3VsZCBhY3F1
aXJlIGJhY2tlbmQgY29tbWFuZHMgZnJvbSBzZXJ2ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0
b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OmRp
c3BhdGNoTWFwKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRC
YWNrZW5kQ29tbWFuZHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yQ2xpZW50Lmg6CisgICAgICAgIFJlY2VpdmUgIkJhY2tlbmRDb21tYW5kcyIgbWVzc2FnZSBm
cm9tIHNlcnZlciAod2hpY2ggaXMgYWxyZWFkeSBiYXNlNjQtZW5jb2RlZCkgYW5kIGhhbmQgaXQg
b3ZlciB0byBSV0lQcm94eS4KKworICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bv
b2xXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpiYWNrZW5kQ29tbWFuZHNQYXRoKToKKyAgICAg
ICAgKFdlYktpdDo6aW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZlcik6CisgICAgICAgIE9u
IFdpbmRvd3MsIGluaXRpYWxpemUgc2VydmVyIHdpdGggdGhlIHBhdGggdG8gSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmpzIGZyb20gdGhlIENGQnVuZGxlLgorCiAyMDE5LTEwLTAxICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IEdUSyBi
dWlsZCBhZnRlciByMjUwNTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
MTc3MjJhMWVjYTQyNTJjMDBlM2RkMDM4NDUxZDkwYjkwMDI0ZjZkYy4uMjU4NjY2M2QyNTdmMTZi
NTIyNjVhMGEyMmZhZTgzMTc2ZDQwNzc4YiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMTA5OCw2ICsxMDk4LDcgQEAgc2V0KEphdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9Q
Uk9UT0NPTF9TQ1JJUFRTCiAgICAgJHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19E
SVJ9L2NvZGVnZW4vY3BwX2dlbmVyYXRvci5weQogICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVD
VE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CiAgICAg
JHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVf
anNfYmFja2VuZF9jb21tYW5kcy5weQorICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRzLnB5CiAgICAg
JHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVf
Y3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkKICAgICAke0phdmFTY3JpcHRDb3JlX0lO
U1BFQ1RPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5CiAgICAgJHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NS
SVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVy
LnB5CkBAIC0xMTcyLDYgKzExNzMsNyBAQCBhZGRfY3VzdG9tX2NvbW1hbmQoCiAgICAgICAgICAg
ICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3Rv
ckZyb250ZW5kRGlzcGF0Y2hlcnMuaAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklW
RURfU09VUkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCiAg
ICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9y
L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCisgICAgICAgICAgICR7SmF2YVNjcmlwdENvcmVf
REVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5j
cHAKICAgICAgICAgICAgJHtKYXZhU2NyaXB0Q29yZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAgICAgTUFJTl9ERVBFTkRFTkNZICR7
SmF2YVNjcmlwdENvcmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vQ29tYmluZWREb21haW5zLmpzb24K
ICAgICBERVBFTkRTICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1BST1RPQ09MX1NDUklQVFN9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGI1OWZlMDYz
MWY5NjkxODg4NzVmNTBmZjIyOTFiMDE2YzIxZGU5MmEuLmM4OWMwYmI2NGVkM2I5MDBlMDg2NjJj
OTlkYjJiYjUyNDk5MDViNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC0yNjgsNiArMjY4LDcgQEAgSU5TUEVDVE9SX0dFTkVSQVRPUl9TQ1JJUFRTID0g
XAogCSQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19pbml0X18u
cHkgXAogCSQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vY3BwX2dl
bmVyYXRvcl90ZW1wbGF0ZXMucHkgXAogCSQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vY3BwX2dlbmVyYXRvci5weSBcCisgICAgJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weSBc
CiAJJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBcCiAJJChKYXZhU2NyaXB0Q29yZSkvaW5z
cGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2lt
cGxlbWVudGF0aW9uLnB5IFwKIAkkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9j
b2RlZ2VuL2dlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBcCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvUGxhdGZvcm1QbGF5U3RhdGlvbi5jbWFrZSBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCmluZGV4IDYw
YmZhNzhhNGRiMWE0NjcwN2I1MjdmZGUwNGI1NjkwNDMxZDhjYzcuLjRjNDJiNDhhNWRhZWUxODJm
NTZjZmE2MTQ4ZjJhMTJlMWM0ODFiNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9Q
bGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlCkBAIC0zMiw2ICszMiw4IEBAIGxpc3QoQVBQRU5EIEph
dmFTY3JpcHRDb3JlX1NPVVJDRVMKICAgICBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJ
bnNwZWN0b3JTb2NrZXRFbmRwb2ludC5jcHAKIAogICAgIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0
L3Bvc2l4L1JlbW90ZUluc3BlY3RvclNvY2tldFBPU0lYLmNwcAorCisgICAgJHtERVJJVkVEX1NP
VVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcAogKQogCiBpZiAoJHtXVEZfTElCUkFSWV9UWVBFfSBTVFJFUVVBTCAiU1RBVElDIikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tl
dC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKaW5kZXggN2JlMGJi
YTk4ZWQyZWRkMTc1MWQ0MDE1MThkMTcxY2Y2NjUwZTY4OC4uN2ZiZDBiMTBhZDQ5MjdiZDZiODc2
N2NmNmU3YTc0NWNhNzE2ZTBmMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3Rv
clNlcnZlci5jcHAKQEAgLTI5LDkgKzI5LDE0IEBACiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpCiAKICNpbmNsdWRlICJSZW1vdGVJbnNwZWN0b3JNZXNzYWdlUGFyc2VyLmgiCi0KKyNpbmNs
dWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+CiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KKwor
I2lmIFBMQVRGT1JNKFBMQVlTVEFUSU9OKQorZXh0ZXJuIGNvbnN0IGNoYXIqIHNfaW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzU3RyaW5nOworI2VuZGlmCiAKIG5hbWVzcGFjZSBJbnNwZWN0b3Igewog
CkBAIC0xNTAsNiArMTU1LDExIEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cElu
c3BlY3RvckNsaWVudChjb25zdCBFdmVudCYpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgp
KTsKIAorICAgIGF1dG8gYmFja2VuZENvbW1hbmRzRXZlbnQgPSBKU09OOjpPYmplY3Q6OmNyZWF0
ZSgpOworICAgIGJhY2tlbmRDb21tYW5kc0V2ZW50LT5zZXRTdHJpbmcoImV2ZW50Il9zLCAiQmFj
a2VuZENvbW1hbmRzIl9zKTsKKyAgICBiYWNrZW5kQ29tbWFuZHNFdmVudC0+c2V0U3RyaW5nKCJt
ZXNzYWdlIl9zLCBiYXNlNjRFbmNvZGUoYmFja2VuZENvbW1hbmRzKCkudXRmOCgpKSk7CisgICAg
c2VuZFdlYkluc3BlY3RvckV2ZW50KG1fY2xpZW50Q29ubmVjdGlvbi52YWx1ZSgpLCBiYWNrZW5k
Q29tbWFuZHNFdmVudC0+dG9KU09OU3RyaW5nKCkpOworCiAgICAgYXV0byBzZXR1cEV2ZW50ID0g
SlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICBzZXR1cEV2ZW50LT5zZXRTdHJpbmcoImV2ZW50
Il9zLCAiR2V0VGFyZ2V0TGlzdCJfcyk7CiAKQEAgLTI0OSw2ICsyNTksMzMgQEAgdm9pZCBSZW1v
dGVJbnNwZWN0b3JTZXJ2ZXI6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBFdmVudCYgZXZl
bnQpCiAgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KG1fY2xpZW50Q29ubmVjdGlvbi52YWx1ZSgp
LCBzZW5kRXZlbnQtPnRvSlNPTlN0cmluZygpKTsKIH0KIAorU3RyaW5nIFJlbW90ZUluc3BlY3Rv
clNlcnZlcjo6YmFja2VuZENvbW1hbmRzKCkgY29uc3QKK3sKKyNpZiBQTEFURk9STShQTEFZU1RB
VElPTikKKyAgICByZXR1cm4gc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPyBzX2lu
c3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA6IFN0cmluZygpOworI2Vsc2UKKyAgICBpZiAo
bV9iYWNrZW5kQ29tbWFuZHNQYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwor
ICAgIGF1dG8gaGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkZpbGUobV9iYWNrZW5kQ29tbWFuZHNQ
YXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Blbk1vZGU6OlJlYWQpOworICAgIGlmICghRmlsZVN5c3Rl
bTo6aXNIYW5kbGVWYWxpZChoYW5kbGUpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgbG9u
ZyBsb25nIHNpemU7CisgICAgaWYgKCFGaWxlU3lzdGVtOjpnZXRGaWxlU2l6ZShoYW5kbGUsIHNp
emUpKSB7CisgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShoYW5kbGUpOworICAgICAgICBy
ZXR1cm4geyB9OworICAgIH0KKworICAgIFZlY3RvcjxjaGFyPiBidWZmZXI7CisgICAgYnVmZmVy
LnJlc2l6ZShzaXplKTsKKyAgICBhdXRvIGJ5dGVzUmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRGcm9t
RmlsZShoYW5kbGUsIGJ1ZmZlci5kYXRhKCksIHNpemUpOworICAgIEZpbGVTeXN0ZW06OmNsb3Nl
RmlsZShoYW5kbGUpOworCisgICAgcmV0dXJuIGJ5dGVzUmVhZCA9PSBzaXplID8gU3RyaW5nKGJ1
ZmZlci5kYXRhKCksIHNpemUpIDogU3RyaW5nKCk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgSW5zcGVjdG9yCiAKICNlbmRpZiAvLyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1v
dGVJbnNwZWN0b3JTZXJ2ZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaAppbmRleCBlZjExZTA5YTg3ZDJmZWNj
N2JkOTQwNjk4NWEyYWVhYWI1ZjNiOWY0Li5jMDc0MTM4NjA5MWQ4NzU0ODJhYjVkN2I4NDQ0NTdm
Y2M0NmIzNzgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCkBA
IC00Niw2ICs0NiwxMCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgT3B0aW9uYWw8
dWludDE2X3Q+IGxpc3RlbkZvclRhcmdldHMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBPcHRp
b25hbDxQbGF0Zm9ybVNvY2tldFR5cGU+IGNvbm5lY3QoKTsKIAorI2lmICFQTEFURk9STShQTEFZ
U1RBVElPTikKKyAgICB2b2lkIHNldEJhY2tlbmRDb21tYW5kc1BhdGgoY29uc3QgU3RyaW5nJiBi
YWNrZW5kQ29tbWFuZHNQYXRoKSB7IG1fYmFja2VuZENvbW1hbmRzUGF0aCA9IGJhY2tlbmRDb21t
YW5kc1BhdGg7IH0KKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRl
c3Ryb3llZDxSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI+OwogICAgIFJlbW90ZUluc3BlY3RvclNlcnZl
cigpIHsgU29ja2V0Ojppbml0KCk7IH0KQEAgLTY3LDYgKzcxLDggQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgc2VuZFdlYkluc3BlY3RvckV2ZW50KENvbm5lY3Rpb25JRCwgY29uc3QgU3RyaW5nJik7
CiAKKyAgICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CisKICAgICBIYXNoTWFwPFN0
cmluZywgQ2FsbEhhbmRsZXI+JiBkaXNwYXRjaE1hcCgpIG92ZXJyaWRlOwogCiAgICAgSGFzaFNl
dDxzdGQ6OnBhaXI8Q29ubmVjdGlvbklELCBUYXJnZXRJRD4+IG1faW5zcGVjdGlvblRhcmdldHM7
CkBAIC04Miw2ICs4OCwxMCBAQCBwcml2YXRlOgogCiAgICAgLy8gQ29ubmVjdGlvbiBmcm9tIFJl
bW90ZUluc3BlY3RvckNsaWVudC4KICAgICBPcHRpb25hbDxDb25uZWN0aW9uSUQ+IG1fY2xpZW50
Q29ubmVjdGlvbjsKKworI2lmICFQTEFURk9STShQTEFZU1RBVElPTikKKyAgICBTdHJpbmcgbV9i
YWNrZW5kQ29tbWFuZHNQYXRoOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9j
b2RlZ2VuL19faW5pdF9fLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vX19pbml0X18ucHkKaW5kZXggMWE0YWM2OWRhNGI1ZjFlOWRkMTdmMWJjOTM3
MDkzMzNkN2UyNmMxOS4uNjlkMzgwZDJjYzAxMTNkNzk0NTY1ZGY3YzQ3MjBhYWE2MmVkOTdmNiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVn
ZW4vX19pbml0X18ucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL2NvZGVnZW4vX19pbml0X18ucHkKQEAgLTYsNiArNiw3IEBAIGZyb20gLmNwcF9nZW5lcmF0
b3IgaW1wb3J0ICoKIGZyb20gLm9iamNfZ2VuZXJhdG9yIGltcG9ydCAqCiAKIGZyb20gLmdlbmVy
YXRlX2NwcF9hbHRlcm5hdGVfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQgKgorZnJv
bSAuZ2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMgaW1wb3J0ICoKIGZyb20gLmdlbmVyYXRl
X2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyIGltcG9ydCAqCiBmcm9tIC5nZW5lcmF0ZV9j
cHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uIGltcG9ydCAqCiBmcm9tIC5nZW5l
cmF0ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIgaW1wb3J0ICoKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRl
X2NwcF9iYWNrZW5kX2NvbW1hbmRzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTY1ODA2YjQ5OGQ4NTA5NmI4MTJhMWIxNzliZGFmMTFiMjE4M2M1ZgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRzLnB5CkBAIC0wLDAgKzEsNDYgQEAKKyMhL3Vz
ci9iaW4vZW52IHB5dGhvbgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTkgU29ueSBJbnRlcmFjdGl2
ZSBFbnRlcnRhaW5tZW50IEluYy4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworIyBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyMgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorIyBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorIyBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyMgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyMgQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyMgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorIyBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisKKworaW1wb3J0IGxvZ2dpbmcKKwordHJ5OgorICAgIGZyb20gLmdlbmVyYXRlX2pzX2Jh
Y2tlbmRfY29tbWFuZHMgaW1wb3J0IEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yCitleGNlcHQg
VmFsdWVFcnJvcjoKKyAgICBmcm9tIGdlbmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMgaW1wb3J0
IEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yCisKK2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdn
bG9iYWwnKQorCisKK2NsYXNzIENwcEJhY2tlbmRDb21tYW5kc0dlbmVyYXRvcihKU0JhY2tlbmRD
b21tYW5kc0dlbmVyYXRvcik6CisgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJn
cyk6CisgICAgICAgIEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yLl9faW5pdF9fKHNlbGYsICph
cmdzLCAqKmt3YXJncykKKworICAgIGRlZiBvdXRwdXRfZmlsZW5hbWUoc2VsZik6CisgICAgICAg
IHJldHVybiAnSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcCcKKworICAgIGRlZiBnZW5lcmF0
ZV9vdXRwdXQoc2VsZik6CisgICAgICAgIGNvZGUgPSBKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRv
ci5nZW5lcmF0ZV9vdXRwdXQoc2VsZikKKyAgICAgICAgcmV0dXJuICdjb25zdCBjaGFyKiBzX2lu
c3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKHt9KSI7XG4nLmZvcm1hdChjb2RlKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3Mu
cHkKaW5kZXggMmIxZDg3ODJjYjJhN2U5MmM4MmJjYjU3MzNiMTlhZGQ0OTVkMjlkNS4uZmZjZjNi
NTFhOTU5ZjU2MGM1ZmE2ODQ2MDZmN2Q1NWE3Yjg5MzhhNSAxMDA3NTUKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2Nv
bC1iaW5kaW5ncy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CkBAIC01Nyw2ICs1Nyw3
IEBAIGV4Y2VwdCBJbXBvcnRFcnJvciBhcyBlOgogICAgIGZyb20gb2JqY19nZW5lcmF0b3IgaW1w
b3J0ICoKIAogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyIGltcG9ydCAqCisgICAgZnJvbSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5k
cyBpbXBvcnQgKgogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFk
ZXIgaW1wb3J0ICoKICAgICBmcm9tIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24gaW1wb3J0ICoKICAgICBmcm9tIGdlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNw
YXRjaGVyX2hlYWRlciBpbXBvcnQgKgpAQCAtMTQzLDYgKzE0NCw3IEBAIGRlZiBnZW5lcmF0ZV9m
cm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAK
ICAgICBpZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5UZXN0OgogICAgICAgICBn
ZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcigqZ2VuZXJhdG9yX2Fy
Z3VtZW50cykpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmRDb21tYW5kc0dl
bmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KENwcEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVySGVhZGVyR2VuZXJhdG9yKCpnZW5lcmF0b3Jf
YXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNo
ZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0
b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKCpn
ZW5lcmF0b3JfYXJndW1lbnRzKSkKQEAgLTE2Myw2ICsxNjUsNyBAQCBkZWYgZ2VuZXJhdGVfZnJv
bV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogCiAg
ICAgZWxpZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5KYXZhU2NyaXB0Q29yZToK
ICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IoKmdl
bmVyYXRvcl9hcmd1bWVudHMpKQorICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5k
Q29tbWFuZHNHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0
b3JzLmFwcGVuZChDcHBBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcigq
Z2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tl
bmREaXNwYXRjaGVySGVhZGVyR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAg
ICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdl
bmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25z
LXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1w
bGF0Zm9ybS5qc29uLXJlc3VsdAppbmRleCAzNDk3NTkyMTMwMzcxNGMzMWIzNGViMDIwZDFjZGY3
ZTE1Y2FlY2Q1Li42NzY5YTAwODQwZDVjOTc5NWVjZWZlMzEyYjJhNjQ5MmJhOWMxMWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvYWxs
L2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwvZXhwZWN0
ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKQEAgLTM2LDYgKzM2
LDQ1IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmxvYWRSZXNv
dXJjZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3Jr
Iik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVn
aW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMt
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJh
dGVkIGZyb20gZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbgorLy8gYnkgdGhlIHNj
cmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWlu
c3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBOZXR3b3JrLgorSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3Rlck5ldHdvcmtEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiTmV0d29yayIpOworSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLnJlc291cmNlTG9hZGVkIiwgW10p
OworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsubG9hZFJlc291cmNl
IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsiKTsp
IjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBC
ZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24tcmVzdWx0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0
ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKaW5kZXggN2ViYTAx
Njk0YjA4ODRkMmJiNzEwY2E0MWQxOTNkNDE3NjE3YTM0MS4uYTRjMTUxZjc3OTUzYTk1ZTM2ZDBk
OTUxYWE5MTRkZWUwZGU3MjdhNyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3lu
Yy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1h
dHRyaWJ1dGUuanNvbi1yZXN1bHQKQEAgLTM5LDYgKzM5LDQ4IEBAIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5leGVjdXRlU1FMQXN5bmMiLCBbeyJuYW1lIjogImRh
dGFiYXNlCiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEYXRhYmFzZSIpOwogIyMj
IEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZl
cnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8g
RE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9t
IGNvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3It
cHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gRGF0YWJhc2UuCitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRGF0YWJhc2VEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFp
bkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiRGF0YWJhc2UiKTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEYXRhYmFzZS5QcmltYXJ5Q29sb3JzIiwge1JlZDogInJl
ZCIsIEdyZWVuOiAiZ3JlZW4iLCBCbHVlOiAiYmx1ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5leGVjdXRlU1FMU3luY09wdGlvbmFsUmV0dXJuVmFsdWVz
IiwgW3sibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjog
ZmFsc2V9LCB7Im5hbWUiOiAicXVlcnkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBm
YWxzZX1dLCBbImNvbHVtbk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAi
cGF5bG9hZCIsICJkYXRhYmFzZUlkIiwgInNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVy
bmF0ZUNvbG9ycyIsICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxBc3luY09wdGlvbmFsUmV0dXJuVmFsdWVzIiwgW3si
bmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9
LCB7Im5hbWUiOiAicXVlcnkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1d
LCBbImNvbHVtbk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9h
ZCIsICJkYXRhYmFzZUlkIiwgInNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0ZUNv
bG9ycyIsICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQo
IkRhdGFiYXNlLmV4ZWN1dGVTUUxTeW5jIiwgW3sibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicXVlcnkiLCAidHlwZSI6
ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImNvbHVtbk5hbWVzIiwgIm5vdGVzIiwg
InRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJkYXRhYmFzZUlkIiwgInNxbEVycm9y
IiwgImFsdGVybmF0ZUNvbG9ycyIsICJzY3JlZW5Db2xvciIsICJwcmludENvbG9yIl0pOworSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxBc3luYyIs
IFt7Im5hbWUiOiAiZGF0YWJhc2VJZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZh
bHNlfSwgeyJuYW1lIjogInF1ZXJ5IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFs
c2V9XSwgWyJjb2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBh
eWxvYWQiLCAiZGF0YWJhc2VJZCIsICJzcWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5h
dGVDb2xvcnMiLCAicHJpbnRDb2xvciJdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21h
aW4oIkRhdGFiYXNlIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVy
cy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0
dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFs
LWNhbGwtcmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKaW5kZXggMTYxMzFkZGY4MDhlZWM0
ODMyZDNlZjM1ZTc3ODk1NTA4YzliYjFhZS4uYTA2YWI3MGUyMWEzZmFkYTA2OTA3NjU0NmI2ZDVi
MTVhZjhjZWNkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxs
LXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgt
b3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtMzYsNiArMzYs
NDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVO
b09wdGlvbmFsUGFyYW1ldGVycyIsIFt7Im5hbWUKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVE
b21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29u
c3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9t
YXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVy
bi1wYXJhbWV0ZXJzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3Mu
cHkKKworLy8gRGF0YWJhc2UuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGF0YWJh
c2UuUHJpbWFyeUNvbG9ycyIsIHtSZWQ6ICJyZWQiLCBHcmVlbjogImdyZWVuIiwgQmx1ZTogImJs
dWUifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0
ZUFsbE9wdGlvbmFsUGFyYW1ldGVycyIsIFt7Im5hbWUiOiAiY29sdW1uTmFtZXMiLCAidHlwZSI6
ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogIm5vdGVzIiwgInR5cGUiOiAi
c3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInZhbHVlcyIsICJ0eXBlIjog
Im9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAicGF5bG9hZCIsICJ0eXBlIjog
Im9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAiZGF0YWJhc2VJZCIsICJ0eXBl
IjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAic3FsRXJyb3IiLCAidHlw
ZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInNjcmVlbkNvbG9yIiwg
InR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJhbHRlcm5hdGVD
b2xvcnMiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInBy
aW50Q29sb3IiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlfV0sIFsiY29sdW1u
TmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFi
YXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwgInBy
aW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2Uu
ZXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzIiwgW3sibmFtZSI6ICJjb2x1bW5OYW1lcyIsICJ0
eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogIm5vdGVzIiwgInR5
cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAidGltZXN0YW1wIiwg
InR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAidmFsdWVzIiwg
InR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicGF5bG9hZCIs
ICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogImRhdGFiYXNl
SWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJzcWxF
cnJvciIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInNj
cmVlbkNvbG9yIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUi
OiAiYWx0ZXJuYXRlQ29sb3JzIiwgInR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9
LCB7Im5hbWUiOiAicHJpbnRDb2xvciIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZh
bHNlfV0sIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJw
YXlsb2FkIiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJu
YXRlQ29sb3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9t
YWluKCJEYXRhYmFzZSIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hl
cnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0u
anNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJl
c3VsdAppbmRleCBkNGMwZmUzZmUzYzZiYmRjMTAzNjJkMWUwYzM5Zjk4YzdhYzM2ZTVkLi45ZWRh
OGI5ZThhNzcyYWY1YTMzYTg5N2VjNzdlOWI3NmNkMDk3OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9k
ZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZp
bml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAK
IC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5k
c1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdh
c2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElU
IFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkZWZpbml0aW9u
cy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNw
cAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4tYXZhaWxhYmlsaXR5Lmpzb24tcmVzdWx0IGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0
ZWQvZG9tYWluLWF2YWlsYWJpbGl0eS5qc29uLXJlc3VsdAppbmRleCAwZGZiMzIxNTFjYWVkODdl
NWUyNDZiN2RlYTJkOTdkYmM2NjY3YzRkLi40YjUwZWNjZGJlNDk4ZmU2YTQxMjhlMzZlMDhjMDVj
OTFiMjcwYWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4tYXZhaWxhYmlsaXR5Lmpzb24tcmVz
dWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1bHQKQEAgLTM4LDYg
KzM4LDQ3IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEb21haW5CLmVuYWJs
ZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEb21haW5CIik7
CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4g
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAx
NiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
VW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVk
IGZyb20gZG9tYWluLWF2YWlsYWJpbGl0eS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5CisKKy8vIERvbWFpbkEuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiRG9tYWluQS5lbmFibGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3Rp
dmF0ZURvbWFpbigiRG9tYWluQSIsIFsid2ViIl0pOworCisvLyBEb21haW5CLgorSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRvbWFpbkIuZW5hYmxlIiwgW10sIFtdKTsKK0luc3Bl
Y3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRvbWFpbkIiKTspIjsKKworIyMjIEVuZCBGaWxl
OiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0
ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbnMt
d2l0aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW5zLXdp
dGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24tcmVzdWx0CmluZGV4IDJiZTczMDkyODkzMzlh
MjU5MGEzNzdmMTI2ODRkOWZkNGM2MzI3MDMuLmE3MmRjMTk2Y2JiY2FhOGI2ZDlhMDE3Yzc5YzUy
M2VmMGM0ZDNlYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5nLWNvbW1h
bmQtc2l6ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29t
bWFuZC1zaXplcy5qc29uLXJlc3VsdApAQCAtNDQsNiArNDQsNTMgQEAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTciLCBbXSwgW10pOwogSW5z
cGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yazMiKTsKICMjIyBFbmQgRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5k
c1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdh
c2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElU
IFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkb21haW5zLXdp
dGgtdmFyeWluZy1jb21tYW5kLXNpemVzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkKKworLy8gTmV0d29yazEuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiTmV0d29yazEubG9hZFJlc291cmNlMSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNr
ZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMSIpOworCisvLyBOZXR3b3JrMy4KK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2UxIiwgW10sIFtd
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3Vy
Y2UyIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3Jr
My5sb2FkUmVzb3VyY2UzIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21t
YW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2U0IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2U1IiwgW10sIFtdKTsKK0luc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVzb3VyY2U2IiwgW10s
IFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMy5sb2FkUmVz
b3VyY2U3IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdv
cmszIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAor
CiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
Z2VuZXJpYy9leHBlY3RlZC9lbnVtLXZhbHVlcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2VudW0tdmFs
dWVzLmpzb24tcmVzdWx0CmluZGV4IDc5YWE5Y2U1YWQ4NmMxZTY5ODkyMGYyMDQyNWY3YzQ3MDlm
YTQ4YTEuLmViYzBiNzcyMjM1NWVlY2Q2MjJmNjM2ZmRjOGQxZDM4ZGQyZWZkNTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2VudW0tdmFsdWVz
Lmpzb24tcmVzdWx0CkBAIC00NCw2ICs0NCw1MyBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RXZlbnQoIkV2ZW50RG9tYWluLmV2ZW50V2l0aEVudW1QYXJhbWV0ZXIiLCBbInBhcmFtZXRlcgog
SW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRXZlbnREb21haW4iKTsKICMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRD
b21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5
IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5P
VCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBlbnVt
LXZhbHVlcy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisK
Ky8vIFR5cGVEb21haW4uCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiVHlwZURvbWFp
bi5UeXBlRG9tYWluRW51bSIsIHtTaGFyZWQ6ICJzaGFyZWQiLCBSZWQ6ICJyZWQiLCBHcmVlbjog
ImdyZWVuIiwgQmx1ZTogImJsdWUifSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWlu
KCJUeXBlRG9tYWluIik7CisKKy8vIENvbW1hbmREb21haW4uCitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiQ29tbWFuZERvbWFpbi5jb21tYW5kV2l0aEVudW1SZXR1cm5WYWx1ZSIs
IFtdLCBbInJldHVyblZhbHVlIl0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigi
Q29tbWFuZERvbWFpbiIpOworCisvLyBFdmVudERvbWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJFdmVudERvbWFpbkRpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9t
YWluRGlzcGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJFdmVudERvbWFpbiIpOworSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkV2ZW50RG9tYWluLkV2ZW50V2l0aEVudW1QYXJh
bWV0ZXJQYXJhbWV0ZXIiLCB7U2hhcmVkOiAic2hhcmVkIiwgQmxhY2s6ICJibGFjayIsIFdoaXRl
OiAid2hpdGUifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkV2ZW50RG9tYWlu
LmV2ZW50V2l0aEVudW1QYXJhbWV0ZXIiLCBbInBhcmFtZXRlciJdKTsKK0luc3BlY3RvckJhY2tl
bmQuYWN0aXZhdGVEb21haW4oIkV2ZW50RG9tYWluIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0
ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMtd2l0aC1v
cHRpb25hbC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9u
YWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCA0NjlkMDliYTc1OGY2MzFiZmViMjkxZDhh
MWI1NTc1MmQ2NjA5MGJjLi5kOTYxMjhiNDMyOTg4ZDRmODYzMDkyNGNhMmM5OTNlNWFiMzBjMjA3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0ZXJzLmpzb24t
cmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQKQEAgLTM2LDYgKzM2LDQ1IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgi
RGF0YWJhc2UuZGlkRXhlY3V0ZU5vT3B0aW9uYWxQYXJhbWV0ZXJzIiwgWyJjb2x1CiBJbnNwZWN0
b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEYXRhYmFzZSIpOwogIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tl
bmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3Ry
aW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGlu
Z3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJ
UyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGV2ZW50cy13aXRoLW9w
dGlvbmFsLXBhcmFtZXRlcnMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5k
aW5ncy5weQorCisvLyBEYXRhYmFzZS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRhYmFz
ZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5i
aW5kKEluc3BlY3RvckJhY2tlbmQsICJEYXRhYmFzZSIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckV2ZW50KCJEYXRhYmFzZS5kaWRFeGVjdXRlT3B0aW9uYWxQYXJhbWV0ZXJzIiwgWyJjb2x1
bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAic3Fs
RXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwgInByaW50Q29sb3IiXSk7
CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkRhdGFiYXNlLmRpZEV4ZWN1dGVOb09w
dGlvbmFsUGFyYW1ldGVycyIsIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwg
InZhbHVlcyIsICJwYXlsb2FkIiwgInNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0
ZUNvbG9ycyIsICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFp
bigiRGF0YWJhc2UiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJz
LmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1
YXJkcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1
YXJkcy5qc29uLXJlc3VsdAppbmRleCA1MTBlMTc1Y2NjMmYzYzBjNjRhMmU2NTBjYzY4MmM1NDc0
YmI0ZmZjLi5hNzg3ZGJhMGQyNzE0MjNhMjNjYTA4YjA1NTE4NWNhOTkzYTY1NTEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1
bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24t
cmVzdWx0CkBAIC0zOSw2ICszOSw0OCBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQo
Ik5ldHdvcmszLnJlc291cmNlTG9hZGVkIiwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0
ZURvbWFpbigiTmV0d29yazMiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitj
b25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0
b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBnZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1n
dWFyZHMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisv
LyBOZXR3b3JrMS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrMS5s
b2FkUmVzb3VyY2UiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigi
TmV0d29yazEiKTsKKworLy8gTmV0d29yazMuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyTmV0
d29yazNEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNo
ZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiTmV0d29yazMiKTsKK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJFdmVudCgiTmV0d29yazMucmVzb3VyY2VMb2FkZWQiLCBbXSk7CitJbnNwZWN0b3JC
YWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMyIpOykiOworCisjIyMgRW5kIEZpbGU6IElu
c3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5h
dGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2FtZS10eXBlLWlk
LWRpZmZlcmVudC1kb21haW4uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVy
ZW50LWRvbWFpbi5qc29uLXJlc3VsdAppbmRleCBlOTQwMjExMTM4MmFlYzdjNWVmMGRlYzk4MWIy
MWE2NDg4NDVhZGU1Li4wODc2ZTczMWNkZTJiOWI4OWM5ZTcyYmRlNGFiMWJiMTdhYWYxYTZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
Z2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3Vs
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdApA
QCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3Mu
cHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdp
biBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0y
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0
ZWQgZnJvbSBzYW1lLXR5cGUtaWQtZGlmZmVyZW50LWRvbWFpbi5qc29uCisvLyBieSB0aGUgc2Ny
aXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5z
cGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tl
bmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10
eXBlLXNldHRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNl
dHRlcnMuanNvbi1yZXN1bHQKaW5kZXggNGJkYjJkNDExOWZhYzRiZjFkMDYxZTFhZjgwY2MxZDAx
NzVlNWI3MS4uMzFhNDZkODk4NGRhZmUzMDkxYTU0MzI1YzVhNDI2N2QwYmJjOGFjMSAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0Cisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29uLXJlc3VsdApAQCAt
MzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkK
ICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3Rv
ckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBV
bml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQg
ZnJvbSBzaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbgorLy8gYnkgdGhlIHNjcmlw
dDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3Bl
Y3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSkiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5k
RGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRz
Lmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0Cmlu
ZGV4IDZhMWZiN2Q0ZjlkOWI3ZmZjYWM0MGEwNjRhNTRhYmQ4Y2NkZWVkNTIuLjE4MDI2MTAzMjlh
NThmZDk5ZmFlNjIxOTIxYjZhN2Y4NDM3NjM5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3Nob3VsZC1z
dHJpcC1jb21tZW50cy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVu
dHMuanNvbi1yZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBACiAvLyBieSB0aGUgc2NyaXB0OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29u
c3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29w
eXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9t
YXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24KKy8vIGJ5
IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJu
YXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVj
bGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdAppbmRleCBmNTY2NjM3
OWNhNzQ2YjY2ODczOTc2YjAzZTc0MThjZGE0MmE0NjFlLi5kNWJjOTE4NGY2NWU4YWQ5NmM4Nzcz
NjM4Yzc4YzU5MTUwMzZjYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFs
aWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJh
dGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0CkBAIC0zMCw2ICszMCwzOSBA
QAogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVuZCBGaWxl
OiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2Yg
V2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVE
SVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHR5cGUtZGVj
bGFyYXRpb24tYWxpYXNlZC1wcmltaXRpdmUtdHlwZS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9y
LXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNw
YXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5
cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1y
ZXN1bHQKaW5kZXggZmI0ZGQzNzNhYzZlNGEwODkzYjFmZDI1ZGIyOWU4YWVlNzI5MWVlMS4uNGFh
MGVkNjk1OGQxN2RhZTljY2RjYTA3ZTU4OTQ4NzdmNzQxNGFiNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
dHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdApAQCAtMzQsNiArMzQsNDMgQEAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkRlYnVnZ2VyLlJlYXNvbiIsIHtEaWVkOiAiRGll
ZCIsIEZhaW50ZWQ6ICJGYWludGUKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRl
YnVnZ2VyIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisj
IyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciog
c19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkg
Z2VuZXJhdGVkIGZyb20gdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24KKy8vIGJ5IHRo
ZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gRGVidWdnZXIuCitJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuUmVhc29uIiwge0RpZWQ6ICJEaWVkIiwg
RmFpbnRlZDogIkZhaW50ZWQiLCBIdW5ncnk6ICJIdW5ncnkifSk7CitJbnNwZWN0b3JCYWNrZW5k
LmFjdGl2YXRlRG9tYWluKCJEZWJ1Z2dlciIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNr
ZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1l
bnVtLXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5q
c29uLXJlc3VsdAppbmRleCAzMjQ4ZDZkNzI5Y2IzN2Q2ZDQ5MmE4NTZiYzhmNDQxNGY2OGRhYWI2
Li41NGI5ZmVkZjIyYmQzYjhiMTE0OGNiNzY4NjczMWJmM2I5ZDdiNGNkIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uLXJlc3VsdApAQCAtMzUsNiArMzUsNDQgQEAg
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIlJ1bnRpbWUuVHdvTGVnZ2VkQW5pbWFscyIs
IHtEdWNrczogIkR1Y2tzIiwgSGVuczoKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4o
IlJ1bnRpbWUiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAK
KyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFy
KiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxs
eSBnZW5lcmF0ZWQgZnJvbSB0eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5qc29uCisvLyBieSB0
aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIFJ1bnRpbWUuCitJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiUnVudGltZS5GYXJtQW5pbWFscyIsIHtQaWdzOiAiUGln
cyIsIENvd3M6ICJDb3dzIiwgQ2F0czogIkNhdHMiLCBIZW5zOiAiSGVucyJ9KTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJSdW50aW1lLlR3b0xlZ2dlZEFuaW1hbHMiLCB7RHVja3M6
ICJEdWNrcyIsIEhlbnM6ICJIZW5zIiwgQ3Jvd3M6ICJDcm93cyIsIEZsYW1pbmdvczogIkZsYW1p
bmdvcyJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlJ1bnRpbWUiKTspIjsK
KworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdp
biBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0CmluZGV4IDk5MjM0YzA5ODRh
ODg2MjQyODk0OTUzMTgyNTMyZGJjMzhkMWZlNmIuLmQxYjdlYTU3ZWZiYTA2MzkzYmYzZmMxNGY2
NjIyOTAyMTllNmQ0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tb2JqZWN0
LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlw
ZS5qc29uLXJlc3VsdApAQCAtMzYsNiArMzYsNDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckVudW0oIkRhdGFiYXNlLlBhcmFtZXRlckJ1bmRsZURpcmVjdGlvbmFsaXR5Iiwge0xUUjogIkwK
IEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZp
bGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBv
ZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1Qg
RURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1k
ZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29s
LWJpbmRpbmdzLnB5CisKKy8vIERhdGFiYXNlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIkRhdGFiYXNlLk1vdXNlQnV0dG9uIiwge05vbmU6ICJOb25lIiwgTGVmdDogIkxlZnQiLCBN
aWRkbGU6ICJNaWRkbGUiLCBSaWdodDogIlJpZ2h0In0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckVudW0oIkRhdGFiYXNlLk9wdGlvbmFsUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHki
LCB7TFRSOiAiTFRSIiwgUlRMOiAiUlRMIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIkRhdGFiYXNlLlBhcmFtZXRlckJ1bmRsZURpcmVjdGlvbmFsaXR5Iiwge0xUUjogIkxUUiIs
IFJUTDogIlJUTCJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNl
Iik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAj
IyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICog
Q29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0IGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uLXJlc3VsdAppbmRleCBiYTNk
ZTI2YThmNTNhNjc3Y2U2ZThlNjYwNjc4MzJjZjI2ZTM4NzVjLi4zNTQyMjdkOTk0YTI3ZWQ5OTdi
MGJhYTQzOGViMTQxMDVjMTdkNjhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXJlcXVpcmluZy1y
dW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRp
bWUtY2FzdHMuanNvbi1yZXN1bHQKQEAgLTM1LDYgKzM1LDQ0IEBAIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJFbnVtKCJUZXN0LkNhc3RlZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6
ICJIZW5zCiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJUZXN0Iik7CiAjIyMgRW5k
IEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0
eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBO
T1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlw
ZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5CisKKy8vIFRlc3QuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51
bSgiVGVzdC5VbmNhc3RlZEFuaW1hbHMiLCB7UGlnczogIlBpZ3MiLCBDb3dzOiAiQ293cyIsIENh
dHM6ICJDYXRzIiwgSGVuczogIkhlbnMifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51
bSgiVGVzdC5DYXN0ZWRBbmltYWxzIiwge0R1Y2tzOiAiRHVja3MiLCBIZW5zOiAiSGVucyIsIENy
b3dzOiAiQ3Jvd3MiLCBGbGFtaW5nb3M6ICJGbGFtaW5nb3MifSk7CitJbnNwZWN0b3JCYWNrZW5k
LmFjdGl2YXRlRG9tYWluKCJUZXN0Iik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmRE
aXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXdpdGgtb3Blbi1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS13aXRoLW9wZW4tcGFyYW1ldGVycy5qc29uLXJl
c3VsdAppbmRleCBlNDMwZWRlNTA4YmI1YzgxZDc2ZDQ5OTRhMjcwZDExMjA3Nzk1MWM1Li5hMWVi
ZjkwZDc2ODg2ZTUyMWMyMTVmMTVlYzlmN2Q2ZmI1MTRiNjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtd2l0
aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBACiAvLyBieSB0
aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcg
PSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJ
TEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS13aXRoLW9wZW4tcGFy
YW1ldGVycy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7
CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVn
aW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJp
Z2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9l
eHBlY3RlZC92ZXJzaW9uLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdmVyc2lvbi5qc29uLXJlc3VsdApp
bmRleCAyYjZhNDllNzQ1MjI4ZjJmMjFkMDVhZTYxYTY0YjkzZGQ0MTY3YzI0Li42NzFiZTQ0NDBl
MzUyMGU1MGZlYWY0MDAwODVjNGZjYzE1OTkzMTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9u
Lmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3ZlcnNpb24uanNvbi1yZXN1bHQKQEAgLTM0LDYgKzM0
LDQzIEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJWZXJzaW9uKCJWZXJzaW9uRG9tYWluIiwg
NDIpOwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiVmVyc2lvbkRvbWFpbiIpOwog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVu
aXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBm
cm9tIHZlcnNpb24uanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQorCisvLyBWZXJzaW9uRG9tYWluLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclZlcnNpb24o
IlZlcnNpb25Eb21haW4iLCA0Mik7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJW
ZXJzaW9uRG9tYWluIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVy
cy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvaW9zL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lv
cy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAppbmRl
eCBkNGMwZmUzZmUzYzZiYmRjMTAzNjJkMWUwYzM5Zjk4YzdhYzM2ZTVkLi45ZWRhOGI5ZThhNzcy
YWY1YTMzYTg5N2VjNzdlOWI3NmNkMDk3OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvaW9zL2V4cGVjdGVkL2RlZmluaXRpb25zLXdp
dGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9pb3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMt
cGxhdGZvcm0uanNvbi1yZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBACiAvLyBieSB0aGUgc2NyaXB0
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRD
b21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNw
cAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlz
IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZv
cm0uanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSkiOworCisj
IyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZp
bGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3RlZC9k
ZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9tYWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMt
d2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKaW5kZXggMzQ5NzU5MjEzMDM3MTRjMzFiMzRl
YjAyMGQxY2RmN2UxNWNhZWNkNS4uNjc2OWEwMDg0MGQ1Yzk3OTVlY2VmZTMxMmIyYTY0OTJiYTlj
MTFlMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL21hYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJl
c3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
bWFjL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CkBA
IC0zNiw2ICszNiw0NSBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29y
ay5sb2FkUmVzb3VyY2UiLCBbXSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFp
bigiTmV0d29yayIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMK
IAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNo
YXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNh
bGx5IGdlbmVyYXRlZCBmcm9tIGRlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24KKy8v
IGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9n
ZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gTmV0d29yay4KK0lu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJOZXR3b3JrRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIk5ldHdv
cmsiKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiTmV0d29yay5yZXNvdXJjZUxv
YWRlZCIsIFtdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmxv
YWRSZXNvdXJjZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJO
ZXR3b3JrIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNw
cAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNw
ZWN0b3JDbGllbnQuY3BwCmluZGV4IDY3ZTIzODgzNGJhMGY1NmZmZmQ3NDlhYjBhYWRlYmNjYjJh
ZGNjN2QuLjU0NDg3NGI4ZDNjNjkwOTMyOTZhYTg4OWJlZTQwZmEyYjY5ZjkwNzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JD
bGllbnQuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgbG9hZCgpCiAg
ICAgewotICAgICAgICBtX3Byb3h5LT5sb2FkKG1fZGVidWdnYWJsZVR5cGUsIFN0cmluZygpKTsK
KyAgICAgICAgbV9wcm94eS0+bG9hZChtX2RlYnVnZ2FibGVUeXBlLCBtX2luc3BlY3RvckNsaWVu
dC5iYWNrZW5kQ29tbWFuZHNVUkwoKSk7CiAgICAgfQogCiAgICAgdm9pZCBzaG93KCkKQEAgLTEx
Nyw2ICsxMTcsNyBAQCB2b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6c2VuZFdlYkluc3BlY3Rv
ckV2ZW50KGNvbnN0IFN0cmluZyYgZXZlbnQpCiBIYXNoTWFwPFN0cmluZywgSW5zcGVjdG9yOjpS
ZW1vdGVJbnNwZWN0b3JDb25uZWN0aW9uQ2xpZW50OjpDYWxsSGFuZGxlcj4mIFJlbW90ZUluc3Bl
Y3RvckNsaWVudDo6ZGlzcGF0Y2hNYXAoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxI
YXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+PiBkaXNwYXRjaE1hcCA9IEhhc2hNYXA8U3RyaW5n
LCBDYWxsSGFuZGxlcj4oeworICAgICAgICB7ICJCYWNrZW5kQ29tbWFuZHMiX3MsIHN0YXRpY19j
YXN0PENhbGxIYW5kbGVyPigmUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRCYWNrZW5kQ29tbWFu
ZHMpIH0sCiAgICAgICAgIHsgIlNldFRhcmdldExpc3QiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5k
bGVyPigmUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRUYXJnZXRMaXN0KSB9LAogICAgICAgICB7
ICJTZW5kTWVzc2FnZVRvRnJvbnRlbmQiX3MsIHN0YXRpY19jYXN0PENhbGxIYW5kbGVyPigmUmVt
b3RlSW5zcGVjdG9yQ2xpZW50OjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQpIH0sCiAgICAgfSk7CkBA
IC0xODcsNiArMTg4LDE0IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUZyb21G
cm9udGVuZChDb25uZWN0aW9uSUQgY29ubmVjdGlvbklELCBUYXJnZXRJCiAgICAgbV9pbnNwZWN0
b3JQcm94eU1hcC5yZW1vdmUoc3RkOjptYWtlX3BhaXIoY29ubmVjdGlvbklELCB0YXJnZXRJRCkp
OwogfQogCit2b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKGNv
bnN0IEV2ZW50JiBldmVudCkKK3sKKyAgICBpZiAoIWV2ZW50Lm1lc3NhZ2UgfHwgZXZlbnQubWVz
c2FnZS0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2JhY2tlbmRDb21tYW5k
c1VSTCA9IG1ha2VTdHJpbmcoImRhdGE6dGV4dC9qYXZhc2NyaXB0O2Jhc2U2NCwiLCBldmVudC5t
ZXNzYWdlLnZhbHVlKCkpOworfQorCiB2b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0VGFy
Z2V0TGlzdChjb25zdCBFdmVudCYgZXZlbnQpCiB7CiAgICAgaWYgKCFldmVudC5jb25uZWN0aW9u
SUQgfHwgIWV2ZW50Lm1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggNzU0YTkxNGU3YmIwYTk4Mjhj
MjFmYjk2MjQ5YTUwNGIyYjZkYjk2YS4uZGFhZDRiMmE0NDk3NmYxZDE4OTFiMTJjYjUyZWQxZWU3
NzgyZTAwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90
ZUluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9S
ZW1vdGVJbnNwZWN0b3JDbGllbnQuaApAQCAtNjMsNiArNjMsNyBAQCBwdWJsaWM6CiAgICAgfTsK
IAogICAgIGNvbnN0IEhhc2hNYXA8Q29ubmVjdGlvbklELCBWZWN0b3I8VGFyZ2V0Pj4mIHRhcmdl
dHMoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldHM7IH0KKyAgICBjb25zdCBTdHJpbmcmIGJhY2tl
bmRDb21tYW5kc1VSTCgpIGNvbnN0IHsgcmV0dXJuIG1fYmFja2VuZENvbW1hbmRzVVJMOyB9CiAK
ICAgICB2b2lkIGluc3BlY3QoQ29ubmVjdGlvbklELCBUYXJnZXRJRCwgY29uc3QgU3RyaW5nJik7
CiAgICAgdm9pZCBzZW5kTWVzc2FnZVRvQmFja2VuZChDb25uZWN0aW9uSUQsIFRhcmdldElELCBj
b25zdCBTdHJpbmcmKTsKQEAgLTgzLDYgKzg0LDcgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2Vu
ZFdlYkluc3BlY3RvckV2ZW50KGNvbnN0IFN0cmluZyYpOwogCisgICAgU3RyaW5nIG1fYmFja2Vu
ZENvbW1hbmRzVVJMOwogICAgIFJlbW90ZUluc3BlY3Rvck9ic2VydmVyJiBtX29ic2VydmVyOwog
ICAgIE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gbV9jb25uZWN0aW9uSUQ7CiAgICAgSGFzaE1hcDxD
b25uZWN0aW9uSUQsIFZlY3RvcjxUYXJnZXQ+PiBtX3RhcmdldHM7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNwcAppbmRleCAyZTYwNDQ3OGIy
YWU4NmZhM2JiM2IzYjJhNzg3YmJhM2U1ZWQ1MmRhLi43ZmEwODBiNGY2MWMzM2E5ZjA1ZjQ3Yjhk
YWRjNThlYTYwYzQxZjUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4v
V2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9X
ZWJQcm9jZXNzUG9vbFdpbi5jcHAKQEAgLTI5LDE1ICsyOSwyOCBAQAogCiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVt
ZW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvRmlsZVN5c3RlbS5oPgogCiAjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlSW5zcGVjdG9yU2Vy
dmVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlQnVuZGxlV2luLmg+CiAjZW5kaWYKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKK3N0YXRp
YyBTdHJpbmcgYmFja2VuZENvbW1hbmRzUGF0aCgpCit7CisgICAgUmV0YWluUHRyPENGVVJMUmVm
PiB1cmxSZWYgPSBhZG9wdENGKENGQnVuZGxlQ29weVJlc291cmNlVVJMKFdlYkNvcmU6OndlYktp
dEJ1bmRsZSgpLCBDRlNUUigiSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzIiksIENGU1RSKCJqcyIp
LCBDRlNUUigiV2ViSW5zcGVjdG9yVUlcXFByb3RvY29sIikpKTsKKyAgICBpZiAoIXVybFJlZikK
KyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGNoYXIgcGF0aFtNQVhfUEFUSF07CisgICAgaWYg
KCFDRlVSTEdldEZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbih1cmxSZWYuZ2V0KCksIGZhbHNlLCBy
ZWludGVycHJldF9jYXN0PFVJbnQ4Kj4ocGF0aCksIE1BWF9QQVRIKSkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIHJldHVybiBwYXRoOworfQorCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplUmVt
b3RlSW5zcGVjdG9yU2VydmVyKFN0cmluZ1ZpZXcgYWRkcmVzcykKIHsKICAgICBpZiAoSW5zcGVj
dG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNpbmdsZXRvbigpLmlzUnVubmluZygpKQpAQCAt
NDYsMTIgKzU5LDEzIEBAIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSZW1vdGVJbnNwZWN0b3JTZXJ2
ZXIoU3RyaW5nVmlldyBhZGRyZXNzKQogICAgIGF1dG8gcG9zID0gYWRkcmVzcy5maW5kKCc6Jyk7
CiAgICAgaWYgKHBvcyA9PSBub3RGb3VuZCkKICAgICAgICAgcmV0dXJuOworCiAgICAgYXV0byBo
b3N0ID0gYWRkcmVzcy5zdWJzdHJpbmcoMCwgcG9zKTsKICAgICBhdXRvIHBvcnQgPSBhZGRyZXNz
LnN1YnN0cmluZyhwb3MgKyAxKS50b1VJbnQ2NFN0cmljdCgpOwotCiAgICAgaWYgKCFwb3J0KQog
ICAgICAgICByZXR1cm47CiAKKyAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6
c2luZ2xldG9uKCkuc2V0QmFja2VuZENvbW1hbmRzUGF0aChiYWNrZW5kQ29tbWFuZHNQYXRoKCkp
OwogICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzaW5nbGV0b24oKS5zdGFy
dChob3N0LnV0ZjgoKS5kYXRhKCksIHBvcnQudmFsdWUoKSk7CiB9CiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379978</attachid>
            <date>2019-10-01 18:47:03 -0700</date>
            <delta_ts>2019-10-01 19:04:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191001184703.patch</filename>
            <type>text/plain</type>
            <size>89993</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTlkMWI0NzcxOTU4NzU3OGE5ZGY4MDliOTUyOThmYjU1NDk3MTU4Li4wMWE0MDdiYTFlMjU0ZDU2
YjE4MjUyMTVmMmNjMjRkZDIyODYyYTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxOS0xMC0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBQbGF0Zm9ybVBs
YXlTdGF0aW9uLmNtYWtlOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19p
bml0X18ucHk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9jb21tYW5kcy5weTogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5OgorICAgICAgICBHZW5l
cmF0ZSBhIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAgKGhvbGRpbmcgdGhlIGNvbnRlbnRz
IG9mIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBhcyBhIEMrKyBzdHJpbmcpLAorICAgICAg
ICB0byBiZSB1c2VkIG9uIHBsYXRmb3JtcyBsaWtlIFBsYXlTdGF0aW9uIHdoaWNoIGRvbid0IGhh
dmUgYSByZXNvdXJjZSBidW5kbGUgdG8gYWNjZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rv
cjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudCk6CisgICAgICAg
IChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRzIGNvbnN0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2
ZXIuaDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXRCYWNr
ZW5kQ29tbWFuZHNQYXRoKToKKyAgICAgICAgT24gUGxheVN0YXRpb24sIGFjcXVpcmUgdGhlIGNv
bnRlbnRzIG9mIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcyBmcm9tIHRoZSBnZW5lcmF0ZWQgQysr
IGZpbGUuCisgICAgICAgIEVsc2V3aGVyZSwgZXhwZWN0IHRoYXQgYSBwYXRoIHRvIHRoZSBKUyBy
ZXNvdXJjZSBmaWxlIHdpbGwgYmUgcHJvdmlkZWQgYW5kIHJlYWQgaXRzIGNvbnRlbnRzLgorICAg
ICAgICBFaXRoZXIgd2F5LCBzZW5kIG9mZiB0aGUgYmFzZTY0LWVuY29kZWQgY29udGVudHMgaW4g
YSAiQmFja2VuZENvbW1hbmRzIiBtZXNzYWdlIHdoZW4gc2V0dGluZyB1cCBhIGNsaWVudC4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3RlZC9kZWZpbml0aW9u
cy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRl
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpz
b24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4tYXZhaWxh
YmlsaXR5Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJl
c3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdDoKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlw
ZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0OgorICAgICAgICAq
IGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10
eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xh
cmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVz
dWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZp
bml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9tYWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZv
cm0uanNvbi1yZXN1bHQ6CisgICAgICAgIFVwZGF0ZSBpbnNwZWN0b3IgZ2VuZXJhdG9yIHRlc3Qg
cmVzdWx0cyB0byBpbmNsdWRlIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAuCisKIDIwMTkt
MTAtMDEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+IGFuZCBQYXVsbyBNYXRv
cyAgPHBtYXRvc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtZQVJSXSBQcm9wZXJseSBoYW5kbGUg
c3Vycm9nYXRlcyB3aGVuIG1hdGNoaW5nIGJhY2sgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNGJh
OWI3OTY5MmNiNzQyMWVmZmU4YWEwMmRlZTVmNjgwYWRlMzBjLi5jMGMxZWQxNTdhZTdmOGExMzkx
ZDJiMTU5MjY0NjlmYjliYjE2ZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEw
LTAxICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBT
b2NrZXQgUldJIGNsaWVudCBzaG91bGQgYWNxdWlyZSBiYWNrZW5kIGNvbW1hbmRzIGZyb20gc2Vy
dmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0
MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpkaXNwYXRjaE1hcCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKToKKyAgICAgICAgKiBV
SVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oOgorICAgICAgICBSZWNlaXZl
ICJCYWNrZW5kQ29tbWFuZHMiIG1lc3NhZ2UgZnJvbSBzZXJ2ZXIgKHdoaWNoIGlzIGFscmVhZHkg
YmFzZTY0LWVuY29kZWQpIGFuZCBoYW5kIGl0IG92ZXIgdG8gUldJUHJveHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
YmFja2VuZENvbW1hbmRzUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVSZW1vdGVJ
bnNwZWN0b3JTZXJ2ZXIpOgorICAgICAgICBPbiBXaW5kb3dzLCBpbml0aWFsaXplIHNlcnZlciB3
aXRoIHRoZSBwYXRoIHRvIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBmcm9tIHRoZSBDRkJ1
bmRsZS4KKwogMjAxOS0xMC0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsgYnVpbGQgYWZ0ZXIgcjI1MDU1OApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDE3NzIyYTFlY2E0MjUyYzAwZTNkZDAzODQ1MWQ5
MGI5MDAyNGY2ZGMuLjI1ODY2NjNkMjU3ZjE2YjUyMjY1YTBhMjJmYWU4MzE3NmQ0MDc3OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwOTgsNiArMTA5OCw3IEBAIHNl
dChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfUFJPVE9DT0xfU0NSSVBUUwogICAgICR7SmF2YVNj
cmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkK
ICAgICAke0phdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9jcHBf
Z2VuZXJhdG9yX3RlbXBsYXRlcy5weQogICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMucHkKKyAgICAk
e0phdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9jb21tYW5kcy5weQogICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVy
LnB5CiAgICAgJHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4v
Z2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQogICAgICR7
SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weQpAQCAtMTE3Miw2ICsxMTczLDcgQEAgYWRk
X2N1c3RvbV9jb21tYW5kKAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09V
UkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKICAgICAg
ICAgICAgJHtKYXZhU2NyaXB0Q29yZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RF
UklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAor
ICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rv
ci9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCiAgICAgICAgICAgICR7SmF2YVNjcmlwdENv
cmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcwogICAgIE1BSU5fREVQRU5ERU5DWSAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNF
U19ESVJ9L0NvbWJpbmVkRG9tYWlucy5qc29uCiAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3Jl
X0lOU1BFQ1RPUl9QUk9UT0NPTF9TQ1JJUFRTfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhNzZhNWVkMDg3YmRi
OWU1OWE5YTUzNjg4OTdmNWQ5Yjk0ZWJiYjljLi4xY2I1NmE3MGY3NThhMDZmNDEyNGI5MmQ0ODIy
YWI0NDg0YTMyZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTA2LDYgKzEwNiw3IEBAICQoUFJPSkVDVF9E
SVIpL2luc3BlY3Rvci9wcm90b2NvbC9Xb3JrZXIuanNvbgogJChQUk9KRUNUX0RJUikvaW5zcGVj
dG9yL3NjcmlwdHMvY29kZWdlbi9fX2luaXRfXy5weQogJChQUk9KRUNUX0RJUikvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CiskKFBST0pFQ1Rf
RElSKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1h
bmRzLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRl
X2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkKICQoUFJPSkVDVF9ESVIpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXgg
NjkxOGIyYTNlODZhZGYyZDkxMjIxMzA3MzNlYWJjNWMwN2YwYjllOC4uMjQyZGQ1OGZmZDZhNzA2
OGU2NDdjZGE1ZDgyNWVhMDFhMjhmODY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNzQsNiArNzQsNyBA
QCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3JQcm90bwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL0phdmFTY3JpcHRDb3JlL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5sdXQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1dlYkFz
c2VtYmx5VGFibGVQcm90b3R5cGUubHV0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWx0ZXJuYXRlQmFja2Vu
ZERpc3BhdGNoZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiNTlmZTA2MzFmOTY5MTg4ODc1ZjUw
ZmYyMjkxYjAxNmMyMWRlOTJhLi5jODljMGJiNjRlZDNiOTAwZTA4NjYyYzk5ZGIyYmI1MjQ5OTA1
YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjY4
LDYgKzI2OCw3IEBAIElOU1BFQ1RPUl9HRU5FUkFUT1JfU0NSSVBUUyA9IFwKIAkkKEphdmFTY3Jp
cHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL19faW5pdF9fLnB5IFwKIAkkKEphdmFT
Y3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxh
dGVzLnB5IFwKIAkkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2Nw
cF9nZW5lcmF0b3IucHkgXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkgXAogCSQoSmF2YVNjcmlw
dENvcmUpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9oZWFkZXIucHkgXAogCSQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5w
eSBcCiAJJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0
ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBhZmE3ZTMyODI1M2JkYzgzYzI1NmJlZTNjNTBlODAzZTk3NTg5MDA0Li41
YWE0OWQwOWYxOWM2N2M0YjdhMjQ0ZTgzYjQxNGFlZTllMmMxODQwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNDI4NCw2ICs0Mjg0LDcgQEAKIAkJQTFFMDQ1MUIxQzI1QjRCMTAw
QkI2NjNDIC8qIFN0cmluZ1Byb3RvdHlwZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNj
cmlwdDsgcGF0aCA9IFN0cmluZ1Byb3RvdHlwZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTFGRTFFQjAxQzJDNTM3RTAwQTI4OUZGIC8qIERhdGVQcm90b3R5cGUuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSBEYXRlUHJvdG90eXBlLmpzOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMjc5NThEN0ZBMTE0MkIwQUM5RTM2NEQgLyogV2Fz
bUNvbnRleHRJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21D
b250ZXh0SW5saW5lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMzZCNjhGODIz
NDQzNkFCMDAyMjgxNzkgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnNjcmlwdC5weXRob247IHBhdGggPSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21t
YW5kcy5weTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTNGRjlCQzUyMjM0NzQ2NjAw
QjFBOUFCIC8qIFlhcnJGbGFncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZ
YXJyRmxhZ3MuaDsgcGF0aCA9IHlhcnIvWWFyckZsYWdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUEzRkY5QkM2MjIzNDc0NjYwMEIxQTlBQiAvKiBZYXJyRmxhZ3MuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gWWFyckZsYWdzLmNwcDsgcGF0aCA9IHlh
cnIvWWFyckZsYWdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUwM0ZBMTMx
ODhFMEZBRjAwMTEwRjE0IC8qIEphdmFTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSmF2YVNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04NjMwLDYgKzg2MzEsNyBAQAogCQkJCUM0RjRCNkQwMUEw
NUM3NkYwMDVDQUI3NiAvKiBjcHBfZ2VuZXJhdG9yLnB5ICovLAogCQkJCUM0RjRCNkNGMUEwNUM3
NkYwMDVDQUI3NiAvKiBjcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLywKIAkJCQlBNUVBNzBF
QTE5RjVCM0Q1MDA5OEY1RUMgLyogZ2VuZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3Bh
dGNoZXJfaGVhZGVyLnB5ICovLAorCQkJCUEzNkI2OEY4MjM0NDM2QUIwMDIyODE3OSAvKiBnZW5l
cmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weSAqLywKIAkJCQlDNEY0QjZEMTFBMDVDNzZGMDA1
Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi8sCiAJ
CQkJQzRGNEI2RDIxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3Bh
dGNoZXJfaW1wbGVtZW50YXRpb24ucHkgKi8sCiAJCQkJQzRGNEI2RDMxQTA1Qzc2RjAwNUNBQjc2
IC8qIGdlbmVyYXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weSAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKaW5kZXggNjBi
ZmE3OGE0ZGIxYTQ2NzA3YjUyN2ZkZTA0YjU2OTA0MzFkOGNjNy4uNGM0MmI0OGE1ZGFlZTE4MmY1
NmNmYTYxNDhmMmExMmUxYzQ4MWI0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1Bs
YXRmb3JtUGxheVN0YXRpb24uY21ha2UKQEAgLTMyLDYgKzMyLDggQEAgbGlzdChBUFBFTkQgSmF2
YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUlu
c3BlY3RvclNvY2tldEVuZHBvaW50LmNwcAogCiAgICAgaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQv
cG9zaXgvUmVtb3RlSW5zcGVjdG9yU29ja2V0UE9TSVguY3BwCisKKyAgICAke0RFUklWRURfU09V
UkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCiApCiAKIGlmICgke1dURl9MSUJSQVJZX1RZUEV9IFNUUkVRVUFMICJTVEFUSUMiKQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0
L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcAppbmRleCA3YmUwYmJh
OThlZDJlZGQxNzUxZDQwMTUxOGQxNzFjZjY2NTBlNjg4Li43ZmJkMGIxMGFkNDkyN2JkNmI4NzY3
Y2Y2ZTdhNzQ1Y2E3MTZlMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
U2VydmVyLmNwcApAQCAtMjksOSArMjksMTQgQEAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKIAogI2luY2x1ZGUgIlJlbW90ZUluc3BlY3Rvck1lc3NhZ2VQYXJzZXIuaCIKLQorI2luY2x1
ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0pTT05WYWx1ZXMuaD4KICNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgorCisj
aWYgUExBVEZPUk0oUExBWVNUQVRJT04pCitleHRlcm4gY29uc3QgY2hhciogc19pbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHNTdHJpbmc7CisjZW5kaWYKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAK
QEAgLTE1MCw2ICsxNTUsMTEgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNldHVwSW5z
cGVjdG9yQ2xpZW50KGNvbnN0IEV2ZW50JikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkp
OwogCisgICAgYXV0byBiYWNrZW5kQ29tbWFuZHNFdmVudCA9IEpTT046Ok9iamVjdDo6Y3JlYXRl
KCk7CisgICAgYmFja2VuZENvbW1hbmRzRXZlbnQtPnNldFN0cmluZygiZXZlbnQiX3MsICJCYWNr
ZW5kQ29tbWFuZHMiX3MpOworICAgIGJhY2tlbmRDb21tYW5kc0V2ZW50LT5zZXRTdHJpbmcoIm1l
c3NhZ2UiX3MsIGJhc2U2NEVuY29kZShiYWNrZW5kQ29tbWFuZHMoKS51dGY4KCkpKTsKKyAgICBz
ZW5kV2ViSW5zcGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0aW9uLnZhbHVlKCksIGJhY2tlbmRD
b21tYW5kc0V2ZW50LT50b0pTT05TdHJpbmcoKSk7CisKICAgICBhdXRvIHNldHVwRXZlbnQgPSBK
U09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgIHNldHVwRXZlbnQtPnNldFN0cmluZygiZXZlbnQi
X3MsICJHZXRUYXJnZXRMaXN0Il9zKTsKIApAQCAtMjQ5LDYgKzI1OSwzMyBAQCB2b2lkIFJlbW90
ZUluc3BlY3RvclNlcnZlcjo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IEV2ZW50JiBldmVu
dCkKICAgICBzZW5kV2ViSW5zcGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0aW9uLnZhbHVlKCks
IHNlbmRFdmVudC0+dG9KU09OU3RyaW5nKCkpOwogfQogCitTdHJpbmcgUmVtb3RlSW5zcGVjdG9y
U2VydmVyOjpiYWNrZW5kQ29tbWFuZHMoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKFBMQVlTVEFU
SU9OKQorICAgIHJldHVybiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA/IHNfaW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nIDogU3RyaW5nKCk7CisjZWxzZQorICAgIGlmICht
X2JhY2tlbmRDb21tYW5kc1BhdGguaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgYXV0byBoYW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShtX2JhY2tlbmRDb21tYW5kc1Bh
dGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCk7CisgICAgaWYgKCFGaWxlU3lzdGVt
Ojppc0hhbmRsZVZhbGlkKGhhbmRsZSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBsb25n
IGxvbmcgc2l6ZTsKKyAgICBpZiAoIUZpbGVTeXN0ZW06OmdldEZpbGVTaXplKGhhbmRsZSwgc2l6
ZSkpIHsKKyAgICAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGhhbmRsZSk7CisgICAgICAgIHJl
dHVybiB7IH07CisgICAgfQorCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcjsKKyAgICBidWZmZXIu
cmVzaXplKHNpemUpOworICAgIGF1dG8gYnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21G
aWxlKGhhbmRsZSwgYnVmZmVyLmRhdGEoKSwgc2l6ZSk7CisgICAgRmlsZVN5c3RlbTo6Y2xvc2VG
aWxlKGhhbmRsZSk7CisKKyAgICByZXR1cm4gYnl0ZXNSZWFkID09IHNpemUgPyBTdHJpbmcoYnVm
ZmVyLmRhdGEoKSwgc2l6ZSkgOiBTdHJpbmcoKTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFj
ZSBJbnNwZWN0b3IKIAogI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90
ZUluc3BlY3RvclNlcnZlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCmluZGV4IGVmMTFlMDlhODdkMmZlY2M3
YmQ5NDA2OTg1YTJhZWFhYjVmM2I5ZjQuLmMwNzQxMzg2MDkxZDg3NTQ4MmFiNWQ3Yjg0NDQ1N2Zj
YzQ2YjM3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKQEAg
LTQ2LDYgKzQ2LDEwIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBPcHRpb25hbDx1
aW50MTZfdD4gbGlzdGVuRm9yVGFyZ2V0cygpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIE9wdGlv
bmFsPFBsYXRmb3JtU29ja2V0VHlwZT4gY29ubmVjdCgpOwogCisjaWYgIVBMQVRGT1JNKFBMQVlT
VEFUSU9OKQorICAgIHZvaWQgc2V0QmFja2VuZENvbW1hbmRzUGF0aChjb25zdCBTdHJpbmcmIGJh
Y2tlbmRDb21tYW5kc1BhdGgpIHsgbV9iYWNrZW5kQ29tbWFuZHNQYXRoID0gYmFja2VuZENvbW1h
bmRzUGF0aDsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVz
dHJveWVkPFJlbW90ZUluc3BlY3RvclNlcnZlcj47CiAgICAgUmVtb3RlSW5zcGVjdG9yU2VydmVy
KCkgeyBTb2NrZXQ6OmluaXQoKTsgfQpAQCAtNjcsNiArNzEsOCBAQCBwcml2YXRlOgogCiAgICAg
dm9pZCBzZW5kV2ViSW5zcGVjdG9yRXZlbnQoQ29ubmVjdGlvbklELCBjb25zdCBTdHJpbmcmKTsK
IAorICAgIFN0cmluZyBiYWNrZW5kQ29tbWFuZHMoKSBjb25zdDsKKwogICAgIEhhc2hNYXA8U3Ry
aW5nLCBDYWxsSGFuZGxlcj4mIGRpc3BhdGNoTWFwKCkgb3ZlcnJpZGU7CiAKICAgICBIYXNoU2V0
PHN0ZDo6cGFpcjxDb25uZWN0aW9uSUQsIFRhcmdldElEPj4gbV9pbnNwZWN0aW9uVGFyZ2V0czsK
QEAgLTgyLDYgKzg4LDEwIEBAIHByaXZhdGU6CiAKICAgICAvLyBDb25uZWN0aW9uIGZyb20gUmVt
b3RlSW5zcGVjdG9yQ2xpZW50LgogICAgIE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gbV9jbGllbnRD
b25uZWN0aW9uOworCisjaWYgIVBMQVRGT1JNKFBMQVlTVEFUSU9OKQorICAgIFN0cmluZyBtX2Jh
Y2tlbmRDb21tYW5kc1BhdGg7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rv
cgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2Nv
ZGVnZW4vX19pbml0X18ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9fX2luaXRfXy5weQppbmRleCAxYTRhYzY5ZGE0YjVmMWU5ZGQxN2YxYmM5Mzcw
OTMzM2Q3ZTI2YzE5Li42OWQzODBkMmNjMDExM2Q3OTQ1NjVkZjdjNDcyMGFhYTYyZWQ5N2Y2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9fX2luaXRfXy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvY29kZWdlbi9fX2luaXRfXy5weQpAQCAtNiw2ICs2LDcgQEAgZnJvbSAuY3BwX2dlbmVyYXRv
ciBpbXBvcnQgKgogZnJvbSAub2JqY19nZW5lcmF0b3IgaW1wb3J0ICoKIAogZnJvbSAuZ2VuZXJh
dGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyIGltcG9ydCAqCitmcm9t
IC5nZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcyBpbXBvcnQgKgogZnJvbSAuZ2VuZXJhdGVf
Y3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIgaW1wb3J0ICoKIGZyb20gLmdlbmVyYXRlX2Nw
cF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24gaW1wb3J0ICoKIGZyb20gLmdlbmVy
YXRlX2NwcF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVf
Y3BwX2JhY2tlbmRfY29tbWFuZHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lNjU4MDZiNDk4ZDg1MDk2YjgxMmExYjE3OWJkYWYxMWIyMTgzYzVmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4v
Z2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkKQEAgLTAsMCArMSw0NiBAQAorIyEvdXNy
L2Jpbi9lbnYgcHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAxOSBTb255IEludGVyYWN0aXZl
IEVudGVydGFpbm1lbnQgSW5jLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorIyAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisjIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
IyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworIyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisjIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorIyBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorIyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworCitpbXBvcnQgbG9nZ2luZworCit0cnk6CisgICAgZnJvbSAuZ2VuZXJhdGVfanNfYmFj
a2VuZF9jb21tYW5kcyBpbXBvcnQgSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IKK2V4Y2VwdCBW
YWx1ZUVycm9yOgorICAgIGZyb20gZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcyBpbXBvcnQg
SlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IKKworbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2ds
b2JhbCcpCisKKworY2xhc3MgQ3BwQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKEpTQmFja2VuZENv
bW1hbmRzR2VuZXJhdG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdz
KToKKyAgICAgICAgSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IuX19pbml0X18oc2VsZiwgKmFy
Z3MsICoqa3dhcmdzKQorCisgICAgZGVmIG91dHB1dF9maWxlbmFtZShzZWxmKToKKyAgICAgICAg
cmV0dXJuICdJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwJworCisgICAgZGVmIGdlbmVyYXRl
X291dHB1dChzZWxmKToKKyAgICAgICAgY29kZSA9IEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9y
LmdlbmVyYXRlX291dHB1dChzZWxmKQorICAgICAgICByZXR1cm4gJ2NvbnN0IGNoYXIqIHNfaW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoe30pIjtcbicuZm9ybWF0KGNvZGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQppbmRleCAyYjFkODc4MmNiMmE3ZTkyYzgyYmNiNTczM2IxOWFkZDQ5NWQyOWQ1Li5mZmNmM2I1
MWE5NTlmNTYwYzVmYTY4NDYwNmY3ZDU1YTdiODkzOGE1IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29s
LWJpbmRpbmdzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTU3LDYgKzU3LDcg
QEAgZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6CiAgICAgZnJvbSBvYmpjX2dlbmVyYXRvciBpbXBv
cnQgKgogCiAgICAgZnJvbSBnZW5lcmF0ZV9jcHBfYWx0ZXJuYXRlX2JhY2tlbmRfZGlzcGF0Y2hl
cl9oZWFkZXIgaW1wb3J0ICoKKyAgICBmcm9tIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRz
IGltcG9ydCAqCiAgICAgZnJvbSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRl
ciBpbXBvcnQgKgogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBs
ZW1lbnRhdGlvbiBpbXBvcnQgKgogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3Bh
dGNoZXJfaGVhZGVyIGltcG9ydCAqCkBAIC0xNDMsNiArMTQ0LDcgQEAgZGVmIGdlbmVyYXRlX2Zy
b21fc3BlY2lmaWNhdGlvbihwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGg9Tm9uZSwKIAog
ICAgIGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLlRlc3Q6CiAgICAgICAgIGdl
bmVyYXRvcnMuYXBwZW5kKEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJn
dW1lbnRzKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZENvbW1hbmRzR2Vu
ZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQo
Q3BwQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVyYXRvcl9h
cmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hl
ckhlYWRlckdlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRv
cnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoKmdl
bmVyYXRvcl9hcmd1bWVudHMpKQpAQCAtMTYzLDYgKzE2NSw3IEBAIGRlZiBnZW5lcmF0ZV9mcm9t
X3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAKICAg
ICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3JlOgog
ICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcigqZ2Vu
ZXJhdG9yX2FyZ3VtZW50cykpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmRD
b21tYW5kc0dlbmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRv
cnMuYXBwZW5kKENwcEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVySGVhZGVyR2VuZXJhdG9yKCpn
ZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2Vu
ZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQogICAgICAg
ICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2Vu
ZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwvZXhwZWN0ZWQvZGVmaW5pdGlvbnMt
d2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBs
YXRmb3JtLmpzb24tcmVzdWx0CmluZGV4IDM0OTc1OTIxMzAzNzE0YzMxYjM0ZWIwMjBkMWNkZjdl
MTVjYWVjZDUuLjY3NjlhMDA4NDBkNWM5Nzk1ZWNlZmUzMTJiMmE2NDkyYmE5YzExZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwv
ZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3Rl
ZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdApAQCAtMzYsNiArMzYs
NDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsubG9hZFJlc291
cmNlIiwgW10sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsi
KTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdp
biBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0y
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0
ZWQgZnJvbSBkZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uCisvLyBieSB0aGUgc2Ny
aXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5z
cGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIE5ldHdvcmsuCitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyTmV0d29ya0Rpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RG9tYWluRGlzcGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJOZXR3b3JrIik7CitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmsucmVzb3VyY2VMb2FkZWQiLCBbXSk7
CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5sb2FkUmVzb3VyY2Ui
LCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yayIpOyki
OworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJl
Z2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCA3ZWJhMDE2
OTRiMDg4NGQyYmI3MTBjYTQxZDE5M2Q0MTc2MTdhMzQxLi5hNGMxNTFmNzc5NTNhOTVlMzZkMGQ5
NTFhYTkxNGRlZTBkZTcyN2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5j
LWF0dHJpYnV0ZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0
dHJpYnV0ZS5qc29uLXJlc3VsdApAQCAtMzksNiArMzksNDggQEAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxBc3luYyIsIFt7Im5hbWUiOiAiZGF0
YWJhc2UKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTog
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVy
c2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBE
TyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20g
Y29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1w
cm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBEYXRhYmFzZS4KK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJEYXRhYmFzZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWlu
RGlzcGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJEYXRhYmFzZSIpOworSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckVudW0oIkRhdGFiYXNlLlByaW1hcnlDb2xvcnMiLCB7UmVkOiAicmVk
IiwgR3JlZW46ICJncmVlbiIsIEJsdWU6ICJibHVlIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckNvbW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxTeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMi
LCBbeyJuYW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBm
YWxzZX0sIHsibmFtZSI6ICJxdWVyeSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZh
bHNlfV0sIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJw
YXlsb2FkIiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJu
YXRlQ29sb3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiRGF0YWJhc2UuZXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMiLCBbeyJu
YW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0s
IHsibmFtZSI6ICJxdWVyeSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0s
IFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2Fk
IiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29s
b3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgi
RGF0YWJhc2UuZXhlY3V0ZVNRTFN5bmMiLCBbeyJuYW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJxdWVyeSIsICJ0eXBlIjog
InN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAi
dGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3Ii
LCAiYWx0ZXJuYXRlQ29sb3JzIiwgInNjcmVlbkNvbG9yIiwgInByaW50Q29sb3IiXSk7CitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZVNRTEFzeW5jIiwg
W3sibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFs
c2V9LCB7Im5hbWUiOiAicXVlcnkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxz
ZX1dLCBbImNvbHVtbk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5
bG9hZCIsICJkYXRhYmFzZUlkIiwgInNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0
ZUNvbG9ycyIsICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFp
bigiRGF0YWJhc2UiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJz
LmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1
cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwt
Y2FsbC1yZXR1cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCAxNjEzMWRkZjgwOGVlYzQ4
MzJkM2VmMzVlNzc4OTU1MDhjOWJiMWFlLi5hMDZhYjcwZTIxYTNmYWRhMDY5MDc2NTQ2YjZkNWIx
NWFmOGNlY2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwt
cmV0dXJuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1v
cHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CkBAIC0zNiw2ICszNiw0
NSBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZU5v
T3B0aW9uYWxQYXJhbWV0ZXJzIiwgW3sibmFtZQogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURv
bWFpbigiRGF0YWJhc2UiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25z
dCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21h
dGljYWxseSBnZW5lcmF0ZWQgZnJvbSBjb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJu
LXBhcmFtZXRlcnMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQorCisvLyBEYXRhYmFzZS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEYXRhYmFz
ZS5QcmltYXJ5Q29sb3JzIiwge1JlZDogInJlZCIsIEdyZWVuOiAiZ3JlZW4iLCBCbHVlOiAiYmx1
ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5leGVjdXRl
QWxsT3B0aW9uYWxQYXJhbWV0ZXJzIiwgW3sibmFtZSI6ICJjb2x1bW5OYW1lcyIsICJ0eXBlIjog
Im9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAibm90ZXMiLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBlIjog
Im51bWJlciIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAidmFsdWVzIiwgInR5cGUiOiAi
b2JqZWN0IiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJwYXlsb2FkIiwgInR5cGUiOiAi
b2JqZWN0IiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJzcWxFcnJvciIsICJ0eXBl
IjogIm9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAic2NyZWVuQ29sb3IiLCAi
dHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImFsdGVybmF0ZUNv
bG9ycyIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAicHJp
bnRDb2xvciIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWV9XSwgWyJjb2x1bW5O
YW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAiZGF0YWJh
c2VJZCIsICJzcWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMiLCAicHJp
bnRDb2xvciJdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5l
eGVjdXRlTm9PcHRpb25hbFBhcmFtZXRlcnMiLCBbeyJuYW1lIjogImNvbHVtbk5hbWVzIiwgInR5
cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAibm90ZXMiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJ0aW1lc3RhbXAiLCAi
dHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJ2YWx1ZXMiLCAi
dHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJwYXlsb2FkIiwg
InR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiZGF0YWJhc2VJ
ZCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInNxbEVy
cm9yIiwgInR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAic2Ny
ZWVuQ29sb3IiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6
ICJhbHRlcm5hdGVDb2xvcnMiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX0s
IHsibmFtZSI6ICJwcmludENvbG9yIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFs
c2V9XSwgWyJjb2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBh
eWxvYWQiLCAiZGF0YWJhc2VJZCIsICJzcWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5h
dGVDb2xvcnMiLCAicHJpbnRDb2xvciJdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21h
aW4oIkRhdGFiYXNlIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVy
cy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5q
c29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVz
dWx0CmluZGV4IGQ0YzBmZTNmZTNjNmJiZGMxMDM2MmQxZTBjMzlmOThjN2FjMzZlNWQuLjllZGE4
YjllOGE3NzJhZjVhMzNhODk3ZWM3N2U5Yjc2Y2QwOTc5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2Rl
ZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RlZmlu
aXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CkBAIC0zMCw2ICszMCwzOSBAQAog
Ly8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
U3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2Fz
aGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQg
VEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRlZmluaXRpb25z
LXdpdGgtbWFjLXBsYXRmb3JtLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmlu
ZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3Bw
CisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1bHQgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9kb21haW4tYXZhaWxhYmlsaXR5Lmpzb24tcmVzdWx0CmluZGV4IDBkZmIzMjE1MWNhZWQ4N2U1
ZTI0NmI3ZGVhMmQ5N2RiYzY2NjdjNGQuLjRiNTBlY2NkYmU0OThmZTZhNDEyOGUzNmUwOGMwNWM5
MWIyNzBhZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1
bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZG9tYWluLWF2YWlsYWJpbGl0eS5qc29uLXJlc3VsdApAQCAtMzgsNiAr
MzgsNDcgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRvbWFpbkIuZW5hYmxl
IiwgW10sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRvbWFpbkIiKTsK
ICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3Rv
ckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBV
bml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQg
ZnJvbSBkb21haW4tYXZhaWxhYmlsaXR5Lmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkKKworLy8gRG9tYWluQS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJD
b21tYW5kKCJEb21haW5BLmVuYWJsZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2
YXRlRG9tYWluKCJEb21haW5BIiwgWyJ3ZWIiXSk7CisKKy8vIERvbWFpbkIuCitJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRG9tYWluQi5lbmFibGUiLCBbXSwgW10pOworSW5zcGVj
dG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRG9tYWluQiIpOykiOworCisjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRl
cm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13
aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbnMtd2l0
aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKaW5kZXggMmJlNzMwOTI4OTMzOWEy
NTkwYTM3N2YxMjY4NGQ5ZmQ0YzYzMjcwMy4uYTcyZGMxOTZjYmJjYWE4YjZkOWEwMTdjNzljNTIz
ZWYwYzRkM2ViZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFu
ZC1zaXplcy5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21t
YW5kLXNpemVzLmpzb24tcmVzdWx0CkBAIC00NCw2ICs0NCw1MyBAQCBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yazMubG9hZFJlc291cmNlNyIsIFtdLCBbXSk7CiBJbnNw
ZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMyIpOwogIyMjIEVuZCBGaWxlOiBJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
U3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2Fz
aGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQg
VEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRvbWFpbnMtd2l0
aC12YXJ5aW5nLWNvbW1hbmQtc2l6ZXMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2Nv
bC1iaW5kaW5ncy5weQorCisvLyBOZXR3b3JrMS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJD
b21tYW5kKCJOZXR3b3JrMS5sb2FkUmVzb3VyY2UxIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tl
bmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsxIik7CisKKy8vIE5ldHdvcmszLgorSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTEiLCBbXSwgW10p
OworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJj
ZTIiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsz
LmxvYWRSZXNvdXJjZTMiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1h
bmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTQiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTUiLCBbXSwgW10pOworSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTYiLCBbXSwg
W10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNv
dXJjZTciLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29y
azMiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisK
ICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZW51bS12YWx1
ZXMuanNvbi1yZXN1bHQKaW5kZXggNzlhYTljZTVhZDg2YzFlNjk4OTIwZjIwNDI1ZjdjNDcwOWZh
NDhhMS4uZWJjMGI3NzIyMzU1ZWVjZDYyMmY2MzZmZGM4ZDFkMzhkZDJlZmQ1MSAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZW51bS12YWx1ZXMu
anNvbi1yZXN1bHQKQEAgLTQ0LDYgKzQ0LDUzIEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJF
dmVudCgiRXZlbnREb21haW4uZXZlbnRXaXRoRW51bVBhcmFtZXRlciIsIFsicGFyYW1ldGVyCiBJ
bnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJFdmVudERvbWFpbiIpOwogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkg
b2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9U
IEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGVudW0t
dmFsdWVzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKwor
Ly8gVHlwZURvbWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJUeXBlRG9tYWlu
LlR5cGVEb21haW5FbnVtIiwge1NoYXJlZDogInNoYXJlZCIsIFJlZDogInJlZCIsIEdyZWVuOiAi
Z3JlZW4iLCBCbHVlOiAiYmx1ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4o
IlR5cGVEb21haW4iKTsKKworLy8gQ29tbWFuZERvbWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJDb21tYW5kRG9tYWluLmNvbW1hbmRXaXRoRW51bVJldHVyblZhbHVlIiwg
W10sIFsicmV0dXJuVmFsdWUiXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJD
b21tYW5kRG9tYWluIik7CisKKy8vIEV2ZW50RG9tYWluLgorSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckV2ZW50RG9tYWluRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21h
aW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkV2ZW50RG9tYWluIik7CitJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRXZlbnREb21haW4uRXZlbnRXaXRoRW51bVBhcmFt
ZXRlclBhcmFtZXRlciIsIHtTaGFyZWQ6ICJzaGFyZWQiLCBCbGFjazogImJsYWNrIiwgV2hpdGU6
ICJ3aGl0ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRXZlbnREb21haW4u
ZXZlbnRXaXRoRW51bVBhcmFtZXRlciIsIFsicGFyYW1ldGVyIl0pOworSW5zcGVjdG9yQmFja2Vu
ZC5hY3RpdmF0ZURvbWFpbigiRXZlbnREb21haW4iKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRl
QmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9w
dGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25h
bC1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4IDQ2OWQwOWJhNzU4ZjYzMWJmZWIyOTFkOGEx
YjU1NzUyZDY2MDkwYmMuLmQ5NjEyOGI0MzI5ODhkNGY4NjMwOTI0Y2EyYzk5M2U1YWIzMGMyMDcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3Rz
L2dlbmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJl
c3VsdApAQCAtMzYsNiArMzYsNDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJE
YXRhYmFzZS5kaWRFeGVjdXRlTm9PcHRpb25hbFBhcmFtZXRlcnMiLCBbImNvbHUKIEluc3BlY3Rv
ckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZpbGU6IEluc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJp
bmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5n
dG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElT
IEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZXZlbnRzLXdpdGgtb3B0
aW9uYWwtcGFyYW1ldGVycy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRp
bmdzLnB5CisKKy8vIERhdGFiYXNlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNl
RGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJp
bmQoSW5zcGVjdG9yQmFja2VuZCwgIkRhdGFiYXNlIik7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRXZlbnQoIkRhdGFiYXNlLmRpZEV4ZWN1dGVPcHRpb25hbFBhcmFtZXRlcnMiLCBbImNvbHVt
bk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJzcWxF
cnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMiLCAicHJpbnRDb2xvciJdKTsK
K0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRGF0YWJhc2UuZGlkRXhlY3V0ZU5vT3B0
aW9uYWxQYXJhbWV0ZXJzIiwgWyJjb2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAi
dmFsdWVzIiwgInBheWxvYWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRl
Q29sb3JzIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWlu
KCJEYXRhYmFzZSIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMu
aAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3Vh
cmRzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3Vh
cmRzLmpzb24tcmVzdWx0CmluZGV4IDUxMGUxNzVjY2MyZjNjMGM2NGEyZTY1MGNjNjgyYzU0NzRi
YjRmZmMuLmE3ODdkYmEwZDI3MTQyM2EyM2NhMDhiMDU1MTg1Y2E5OTNhNjU1MTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3Vs
dAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1y
ZXN1bHQKQEAgLTM5LDYgKzM5LDQ4IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgi
TmV0d29yazMucmVzb3VyY2VMb2FkZWQiLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRl
RG9tYWluKCJOZXR3b3JrMyIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2Nv
bnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRv
bWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGdlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1
YXJkcy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8v
IE5ldHdvcmsxLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsxLmxv
YWRSZXNvdXJjZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJO
ZXR3b3JrMSIpOworCisvLyBOZXR3b3JrMy4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJOZXR3
b3JrM0Rpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hl
ci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJOZXR3b3JrMyIpOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckV2ZW50KCJOZXR3b3JrMy5yZXNvdXJjZUxvYWRlZCIsIFtdKTsKK0luc3BlY3RvckJh
Y2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmszIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0
ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQt
ZGlmZmVyZW50LWRvbWFpbi5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJl
bnQtZG9tYWluLmpzb24tcmVzdWx0CmluZGV4IGU5NDAyMTExMzgyYWVjN2M1ZWYwZGVjOTgxYjIx
YTY0ODg0NWFkZTUuLjA4NzZlNzMxY2RlMmI5Yjg5YzllNzJiZGU0YWIxYmIxN2FhZjFhNmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5l
cmljL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CkBA
IC0zMCw2ICszMCwzOSBAQAogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2lu
IEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0
IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRl
ZCBmcm9tIHNhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24KKy8vIGJ5IHRoZSBzY3Jp
cHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNw
ZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2Vu
ZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5
cGUtc2V0dGVycy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0
dGVycy5qc29uLXJlc3VsdAppbmRleCA0YmRiMmQ0MTE5ZmFjNGJmMWQwNjFlMWFmODBjYzFkMDE3
NWU1YjcxLi4zMWE0NmQ4OTg0ZGFmZTMwOTFhNTQzMjVjNWE0MjY3ZDBiYmM4YWMxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0CkBAIC0z
MCw2ICszMCwzOSBAQAogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQog
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZp
bGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVu
aXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
Ly8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBm
cm9tIHNoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29uCisvLyBieSB0aGUgc2NyaXB0
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmRE
aXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVudHMu
anNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVudHMuanNvbi1yZXN1bHQKaW5k
ZXggNmExZmI3ZDRmOWQ5YjdmZmNhYzQwYTA2NGE1NGFiZDhjY2RlZWQ1Mi4uMTgwMjYxMDMyOWE1
OGZkOTlmYWU2MjE5MjFiNmE3Zjg0Mzc2MzlhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hvdWxkLXN0
cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3Nob3VsZC1zdHJpcC1jb21tZW50
cy5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25z
dCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21h
dGljYWxseSBnZW5lcmF0ZWQgZnJvbSBzaG91bGQtc3RyaXAtY29tbWVudHMuanNvbgorLy8gYnkg
dGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSkiOworCisjIyMgRW5kIEZpbGU6IElu
c3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5h
dGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJh
dGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNs
YXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0CmluZGV4IGY1NjY2Mzc5
Y2E3NDZiNjY4NzM5NzZiMDNlNzQxOGNkYTQyYTQ2MWUuLmQ1YmM5MTg0ZjY1ZThhZDk2Yzg3NzM2
MzhjNzhjNTkxNTAzNmNhYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxp
YXNlZC1wcmltaXRpdmUtdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0
aW9uLWFsaWFzZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBA
CiAvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBX
YXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJ
VCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1kZWNs
YXJhdGlvbi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3It
cHJvdG9jb2wtYmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3Bh
dGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlw
ZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJl
c3VsdAppbmRleCBmYjRkZDM3M2FjNmU0YTA4OTNiMWZkMjVkYjI5ZThhZWU3MjkxZWUxLi40YWEw
ZWQ2OTU4ZDE3ZGFlOWNjZGNhMDdlNTg5NDg3N2Y3NDE0YWI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90
eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1k
ZWNsYXJhdGlvbi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC0zNCw2ICszNCw0MyBAQCBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuUmVhc29uIiwge0RpZWQ6ICJEaWVk
IiwgRmFpbnRlZDogIkZhaW50ZQogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGVi
dWdnZXIiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMj
IyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBz
X2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBn
ZW5lcmF0ZWQgZnJvbSB0eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbgorLy8gYnkgdGhl
IHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRl
LWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBEZWJ1Z2dlci4KK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEZWJ1Z2dlci5SZWFzb24iLCB7RGllZDogIkRpZWQiLCBG
YWludGVkOiAiRmFpbnRlZCIsIEh1bmdyeTogIkh1bmdyeSJ9KTsKK0luc3BlY3RvckJhY2tlbmQu
YWN0aXZhdGVEb21haW4oIkRlYnVnZ2VyIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tl
bmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVu
dW0tdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpz
b24tcmVzdWx0CmluZGV4IDMyNDhkNmQ3MjljYjM3ZDZkNDkyYTg1NmJjOGY0NDE0ZjY4ZGFhYjYu
LjU0YjlmZWRmMjJiZDNiOGIxMTQ4Y2I3Njg2NzMxYmYzYjlkN2I0Y2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CkBAIC0zNSw2ICszNSw0NCBAQCBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiUnVudGltZS5Ud29MZWdnZWRBbmltYWxzIiwg
e0R1Y2tzOiAiRHVja3MiLCBIZW5zOgogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigi
UnVudGltZSIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAor
IyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIq
IHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5
IGdlbmVyYXRlZCBmcm9tIHR5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24KKy8vIGJ5IHRo
ZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gUnVudGltZS4KK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJSdW50aW1lLkZhcm1BbmltYWxzIiwge1BpZ3M6ICJQaWdz
IiwgQ293czogIkNvd3MiLCBDYXRzOiAiQ2F0cyIsIEhlbnM6ICJIZW5zIn0pOworSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckVudW0oIlJ1bnRpbWUuVHdvTGVnZ2VkQW5pbWFscyIsIHtEdWNrczog
IkR1Y2tzIiwgSGVuczogIkhlbnMiLCBDcm93czogIkNyb3dzIiwgRmxhbWluZ29zOiAiRmxhbWlu
Z29zIn0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiUnVudGltZSIpOykiOwor
CisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2lu
IEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdo
dCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5
cGUtZGVjbGFyYXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOTkyMzRjMDk4NGE4
ODYyNDI4OTQ5NTMxODI1MzJkYmMzOGQxZmU2Yi4uZDFiN2VhNTdlZmJhMDYzOTNiZjNmYzE0ZjY2
MjI5MDIxOWU2ZDRlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3Qt
dHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBl
Lmpzb24tcmVzdWx0CkBAIC0zNiw2ICszNiw0NSBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RW51bSgiRGF0YWJhc2UuUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHkiLCB7TFRSOiAiTAog
SW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTsKICMjIyBFbmQgRmls
ZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21t
YW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9m
IFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBF
RElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLWRl
Y2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wt
YmluZGluZ3MucHkKKworLy8gRGF0YWJhc2UuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51
bSgiRGF0YWJhc2UuTW91c2VCdXR0b24iLCB7Tm9uZTogIk5vbmUiLCBMZWZ0OiAiTGVmdCIsIE1p
ZGRsZTogIk1pZGRsZSIsIFJpZ2h0OiAiUmlnaHQifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyRW51bSgiRGF0YWJhc2UuT3B0aW9uYWxQYXJhbWV0ZXJCdW5kbGVEaXJlY3Rpb25hbGl0eSIs
IHtMVFI6ICJMVFIiLCBSVEw6ICJSVEwifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51
bSgiRGF0YWJhc2UuUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHkiLCB7TFRSOiAiTFRSIiwg
UlRMOiAiUlRMIn0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2Ui
KTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMj
IyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5l
cmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC90eXBlLXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CmluZGV4IGJhM2Rl
MjZhOGY1M2E2NzdjZTZlOGU2NjA2NzgzMmNmMjZlMzg3NWMuLjM1NDIyN2Q5OTRhMjdlZDk5N2Iw
YmFhNDM4ZWIxNDEwNWMxN2Q2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1
bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGlt
ZS1jYXN0cy5qc29uLXJlc3VsdApAQCAtMzUsNiArMzUsNDQgQEAgSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIlRlc3QuQ2FzdGVkQW5pbWFscyIsIHtEdWNrczogIkR1Y2tzIiwgSGVuczog
IkhlbnMKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlRlc3QiKTsKICMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRD
b21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5
IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5P
VCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBl
LXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkKKworLy8gVGVzdC4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVt
KCJUZXN0LlVuY2FzdGVkQW5pbWFscyIsIHtQaWdzOiAiUGlncyIsIENvd3M6ICJDb3dzIiwgQ2F0
czogIkNhdHMiLCBIZW5zOiAiSGVucyJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVt
KCJUZXN0LkNhc3RlZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6ICJIZW5zIiwgQ3Jv
d3M6ICJDcm93cyIsIEZsYW1pbmdvczogIkZsYW1pbmdvcyJ9KTsKK0luc3BlY3RvckJhY2tlbmQu
YWN0aXZhdGVEb21haW4oIlRlc3QiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERp
c3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRl
cnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJzLmpzb24tcmVz
dWx0CmluZGV4IGU0MzBlZGU1MDhiYjVjODFkNzZkNDk5NGEyNzBkMTEyMDc3OTUxYzUuLmExZWJm
OTBkNzY4ODZlNTIxYzIxNWYxNWVjOWY3ZDZmYjUxNGI2ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5
cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS13aXRo
LW9wZW4tcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRo
ZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9
IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24u
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklM
RS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLXdpdGgtb3Blbi1wYXJh
bWV0ZXJzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkpIjsK
KworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdp
biBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3ZlcnNpb24uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVzdWx0Cmlu
ZGV4IDJiNmE0OWU3NDUyMjhmMmYyMWQwNWFlNjFhNjRiOTNkZDQxNjdjMjQuLjY3MWJlNDQ0MGUz
NTIwZTUwZmVhZjQwMDA4NWM0ZmNjMTU5OTMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3ZlcnNpb24u
anNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdmVyc2lvbi5qc29uLXJlc3VsdApAQCAtMzQsNiArMzQs
NDMgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlclZlcnNpb24oIlZlcnNpb25Eb21haW4iLCA0
Mik7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJWZXJzaW9uRG9tYWluIik7CiAj
IyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmls
ZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5p
dmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisv
LyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZy
b20gdmVyc2lvbi5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
CisKKy8vIFZlcnNpb25Eb21haW4uCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyVmVyc2lvbigi
VmVyc2lvbkRvbWFpbiIsIDQyKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlZl
cnNpb25Eb21haW4iKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJz
LmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9pb3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1y
ZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvaW9z
L2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CmluZGV4
IGQ0YzBmZTNmZTNjNmJiZGMxMDM2MmQxZTBjMzlmOThjN2FjMzZlNWQuLjllZGE4YjllOGE3NzJh
ZjVhMzNhODk3ZWM3N2U5Yjc2Y2QwOTc5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9pb3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0
aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1w
bGF0Zm9ybS5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0
b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3Bw
Citjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMg
YXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9y
bS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMj
IyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmls
ZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvbWFjL2V4cGVjdGVkL2Rl
ZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3RlZC9kZWZpbml0aW9ucy13
aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdAppbmRleCAzNDk3NTkyMTMwMzcxNGMzMWIzNGVi
MDIwZDFjZGY3ZTE1Y2FlY2Q1Li42NzY5YTAwODQwZDVjOTc5NWVjZWZlMzEyYjJhNjQ5MmJhOWMx
MWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvbWFjL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVz
dWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9t
YWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKQEAg
LTM2LDYgKzM2LDQ1IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3Jr
LmxvYWRSZXNvdXJjZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWlu
KCJOZXR3b3JrIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwog
CisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hh
ciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0
IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2Fs
bHkgZ2VuZXJhdGVkIGZyb20gZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbgorLy8g
YnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dl
bmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBOZXR3b3JrLgorSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3Rlck5ldHdvcmtEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiTmV0d29y
ayIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLnJlc291cmNlTG9h
ZGVkIiwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsubG9h
ZFJlc291cmNlIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5l
dHdvcmsiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3Bw
CisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0
b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvckNsaWVudC5jcHAKaW5kZXggNjdlMjM4ODM0YmEwZjU2ZmZmZDc0OWFiMGFhZGViY2NiMmFk
Y2M3ZC4uNTQ0ODc0YjhkM2M2OTA5MzI5NmFhODg5YmVlNDBmYTJiNjlmOTA3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNs
aWVudC5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkKCkKICAg
ICB7Ci0gICAgICAgIG1fcHJveHktPmxvYWQobV9kZWJ1Z2dhYmxlVHlwZSwgU3RyaW5nKCkpOwor
ICAgICAgICBtX3Byb3h5LT5sb2FkKG1fZGVidWdnYWJsZVR5cGUsIG1faW5zcGVjdG9yQ2xpZW50
LmJhY2tlbmRDb21tYW5kc1VSTCgpKTsKICAgICB9CiAKICAgICB2b2lkIHNob3coKQpAQCAtMTE3
LDYgKzExNyw3IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZW5kV2ViSW5zcGVjdG9y
RXZlbnQoY29uc3QgU3RyaW5nJiBldmVudCkKIEhhc2hNYXA8U3RyaW5nLCBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3RvckNvbm5lY3Rpb25DbGllbnQ6OkNhbGxIYW5kbGVyPiYgUmVtb3RlSW5zcGVj
dG9yQ2xpZW50OjpkaXNwYXRjaE1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhh
c2hNYXA8U3RyaW5nLCBDYWxsSGFuZGxlcj4+IGRpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcs
IENhbGxIYW5kbGVyPih7CisgICAgICAgIHsgIkJhY2tlbmRDb21tYW5kcyJfcywgc3RhdGljX2Nh
c3Q8Q2FsbEhhbmRsZXI+KCZSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldEJhY2tlbmRDb21tYW5k
cykgfSwKICAgICAgICAgeyAiU2V0VGFyZ2V0TGlzdCJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhhbmRs
ZXI+KCZSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldFRhcmdldExpc3QpIH0sCiAgICAgICAgIHsg
IlNlbmRNZXNzYWdlVG9Gcm9udGVuZCJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1v
dGVJbnNwZWN0b3JDbGllbnQ6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZCkgfSwKICAgICB9KTsKQEAg
LTE4Nyw2ICsxODgsMTQgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OmNsb3NlRnJvbUZy
b250ZW5kKENvbm5lY3Rpb25JRCBjb25uZWN0aW9uSUQsIFRhcmdldEkKICAgICBtX2luc3BlY3Rv
clByb3h5TWFwLnJlbW92ZShzdGQ6Om1ha2VfcGFpcihjb25uZWN0aW9uSUQsIHRhcmdldElEKSk7
CiB9CiAKK3ZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRCYWNrZW5kQ29tbWFuZHMoY29u
c3QgRXZlbnQmIGV2ZW50KQoreworICAgIGlmICghZXZlbnQubWVzc2FnZSB8fCBldmVudC5tZXNz
YWdlLT5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYmFja2VuZENvbW1hbmRz
VVJMID0gbWFrZVN0cmluZygiZGF0YTp0ZXh0L2phdmFzY3JpcHQ7YmFzZTY0LCIsIGV2ZW50Lm1l
c3NhZ2UudmFsdWUoKSk7Cit9CisKIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRUYXJn
ZXRMaXN0KGNvbnN0IEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWV2ZW50LmNvbm5lY3Rpb25J
RCB8fCAhZXZlbnQubWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaAppbmRleCA3NTRhOTE0ZTdiYjBhOTgyOGMy
MWZiOTYyNDlhNTA0YjJiNmRiOTZhLi5kYWFkNGIyYTQ0OTc2ZjFkMTg5MWIxMmNiNTJlZDFlZTc3
ODJlMDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3Rl
SW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1Jl
bW90ZUluc3BlY3RvckNsaWVudC5oCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICB9Owog
CiAgICAgY29uc3QgSGFzaE1hcDxDb25uZWN0aW9uSUQsIFZlY3RvcjxUYXJnZXQ+PiYgdGFyZ2V0
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0czsgfQorICAgIGNvbnN0IFN0cmluZyYgYmFja2Vu
ZENvbW1hbmRzVVJMKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZW5kQ29tbWFuZHNVUkw7IH0KIAog
ICAgIHZvaWQgaW5zcGVjdChDb25uZWN0aW9uSUQsIFRhcmdldElELCBjb25zdCBTdHJpbmcmKTsK
ICAgICB2b2lkIHNlbmRNZXNzYWdlVG9CYWNrZW5kKENvbm5lY3Rpb25JRCwgVGFyZ2V0SUQsIGNv
bnN0IFN0cmluZyYpOwpAQCAtODMsNiArODQsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZW5k
V2ViSW5zcGVjdG9yRXZlbnQoY29uc3QgU3RyaW5nJik7CiAKKyAgICBTdHJpbmcgbV9iYWNrZW5k
Q29tbWFuZHNVUkw7CiAgICAgUmVtb3RlSW5zcGVjdG9yT2JzZXJ2ZXImIG1fb2JzZXJ2ZXI7CiAg
ICAgT3B0aW9uYWw8Q29ubmVjdGlvbklEPiBtX2Nvbm5lY3Rpb25JRDsKICAgICBIYXNoTWFwPENv
bm5lY3Rpb25JRCwgVmVjdG9yPFRhcmdldD4+IG1fdGFyZ2V0czsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCmluZGV4IDJlNjA0NDc4YjJh
ZTg2ZmEzYmIzYjNiMmE3ODdiYmEzZTVlZDUyZGEuLjdmYTA4MGI0ZjYxYzMzYTlmMDVmNDdiOGRh
ZGM1OGVhNjBjNDFmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9X
ZWJQcm9jZXNzUG9vbFdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dl
YlByb2Nlc3NQb29sV2luLmNwcApAQCAtMjksMTUgKzI5LDI4IEBACiAKICNpbmNsdWRlICJXZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1l
bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3JTZXJ2
ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVCdW5kbGVXaW4uaD4KICNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorc3RhdGlj
IFN0cmluZyBiYWNrZW5kQ29tbWFuZHNQYXRoKCkKK3sKKyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+
IHVybFJlZiA9IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5UmVzb3VyY2VVUkwoV2ViQ29yZTo6d2ViS2l0
QnVuZGxlKCksIENGU1RSKCJJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMiKSwgQ0ZTVFIoImpzIiks
IENGU1RSKCJXZWJJbnNwZWN0b3JVSVxcUHJvdG9jb2wiKSkpOworICAgIGlmICghdXJsUmVmKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgY2hhciBwYXRoW01BWF9QQVRIXTsKKyAgICBpZiAo
IUNGVVJMR2V0RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHVybFJlZi5nZXQoKSwgZmFsc2UsIHJl
aW50ZXJwcmV0X2Nhc3Q8VUludDgqPihwYXRoKSwgTUFYX1BBVEgpKQorICAgICAgICByZXR1cm4g
eyB9OworCisgICAgcmV0dXJuIHBhdGg7Cit9CisKIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSZW1v
dGVJbnNwZWN0b3JTZXJ2ZXIoU3RyaW5nVmlldyBhZGRyZXNzKQogewogICAgIGlmIChJbnNwZWN0
b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuaXNSdW5uaW5nKCkpCkBAIC00
NiwxMiArNTksMTMgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZl
cihTdHJpbmdWaWV3IGFkZHJlc3MpCiAgICAgYXV0byBwb3MgPSBhZGRyZXNzLmZpbmQoJzonKTsK
ICAgICBpZiAocG9zID09IG5vdEZvdW5kKQogICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGhv
c3QgPSBhZGRyZXNzLnN1YnN0cmluZygwLCBwb3MpOwogICAgIGF1dG8gcG9ydCA9IGFkZHJlc3Mu
c3Vic3RyaW5nKHBvcyArIDEpLnRvVUludDY0U3RyaWN0KCk7Ci0KICAgICBpZiAoIXBvcnQpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpz
aW5nbGV0b24oKS5zZXRCYWNrZW5kQ29tbWFuZHNQYXRoKGJhY2tlbmRDb21tYW5kc1BhdGgoKSk7
CiAgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNpbmdsZXRvbigpLnN0YXJ0
KGhvc3QudXRmOCgpLmRhdGEoKSwgcG9ydC52YWx1ZSgpKTsKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>379979</attachid>
            <date>2019-10-01 19:04:59 -0700</date>
            <delta_ts>2019-10-02 13:53:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191001190458.patch</filename>
            <type>text/plain</type>
            <size>92036</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
OTlkMWI0NzcxOTU4NzU3OGE5ZGY4MDliOTUyOThmYjU1NDk3MTU4Li4wMWE0MDdiYTFlMjU0ZDU2
YjE4MjUyMTVmMmNjMjRkZDIyODYyYTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxOS0xMC0wMSAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2Zp
bGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogSmF2YVNj
cmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBQbGF0Zm9ybVBs
YXlTdGF0aW9uLmNtYWtlOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19p
bml0X18ucHk6CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9jb21tYW5kcy5weTogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5OgorICAgICAgICBHZW5l
cmF0ZSBhIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAgKGhvbGRpbmcgdGhlIGNvbnRlbnRz
IG9mIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBhcyBhIEMrKyBzdHJpbmcpLAorICAgICAg
ICB0byBiZSB1c2VkIG9uIHBsYXRmb3JtcyBsaWtlIFBsYXlTdGF0aW9uIHdoaWNoIGRvbid0IGhh
dmUgYSByZXNvdXJjZSBidW5kbGUgdG8gYWNjZXNzLgorCisgICAgICAgICogaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rv
cjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudCk6CisgICAgICAg
IChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRzIGNvbnN0
KToKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2
ZXIuaDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXRCYWNr
ZW5kQ29tbWFuZHNQYXRoKToKKyAgICAgICAgT24gUGxheVN0YXRpb24sIGFjcXVpcmUgdGhlIGNv
bnRlbnRzIG9mIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcyBmcm9tIHRoZSBnZW5lcmF0ZWQgQysr
IGZpbGUuCisgICAgICAgIEVsc2V3aGVyZSwgZXhwZWN0IHRoYXQgYSBwYXRoIHRvIHRoZSBKUyBy
ZXNvdXJjZSBmaWxlIHdpbGwgYmUgcHJvdmlkZWQgYW5kIHJlYWQgaXRzIGNvbnRlbnRzLgorICAg
ICAgICBFaXRoZXIgd2F5LCBzZW5kIG9mZiB0aGUgYmFzZTY0LWVuY29kZWQgY29udGVudHMgaW4g
YSAiQmFja2VuZENvbW1hbmRzIiBtZXNzYWdlIHdoZW4gc2V0dGluZyB1cCBhIGNsaWVudC4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3RlZC9kZWZpbml0aW9u
cy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtYXN5bmMtYXR0cmlidXRl
Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1jYWxsLXJldHVybi1wYXJhbWV0ZXJzLmpz
b24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQ6CisgICAgICAg
ICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4tYXZhaWxh
YmlsaXR5Lmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5qc29uLXJl
c3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2VudW0tdmFsdWVzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29u
LXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdDoKKyAg
ICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlw
ZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0
ZXJzLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1lbnRzLmpzb24tcmVzdWx0OgorICAgICAgICAq
IGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hbGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hcnJheS10
eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVy
aWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1lbnVtLXR5cGUuanNvbi1yZXN1bHQ6CisgICAg
ICAgICogaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xh
cmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVzdWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5q
c29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQ6CisgICAgICAgICog
aW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVz
dWx0OgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZp
bml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdDoKKyAgICAgICAgKiBpbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9tYWMvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZv
cm0uanNvbi1yZXN1bHQ6CisgICAgICAgIFVwZGF0ZSBpbnNwZWN0b3IgZ2VuZXJhdG9yIHRlc3Qg
cmVzdWx0cyB0byBpbmNsdWRlIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAuCisKIDIwMTkt
MTAtMDEgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+IGFuZCBQYXVsbyBNYXRv
cyAgPHBtYXRvc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtZQVJSXSBQcm9wZXJseSBoYW5kbGUg
c3Vycm9nYXRlcyB3aGVuIG1hdGNoaW5nIGJhY2sgcmVmZXJlbmNlcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzNGJh
OWI3OTY5MmNiNzQyMWVmZmU4YWEwMmRlZTVmNjgwYWRlMzBjLi5jMGMxZWQxNTdhZTdmOGExMzkx
ZDJiMTU5MjY0NjlmYjliYjE2ZTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEw
LTAxICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBT
b2NrZXQgUldJIGNsaWVudCBzaG91bGQgYWNxdWlyZSBiYWNrZW5kIGNvbW1hbmRzIGZyb20gc2Vy
dmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0
MjEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpkaXNwYXRjaE1hcCk6CisgICAgICAgIChXZWJLaXQ6
OlJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKToKKyAgICAgICAgKiBV
SVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oOgorICAgICAgICBSZWNlaXZl
ICJCYWNrZW5kQ29tbWFuZHMiIG1lc3NhZ2UgZnJvbSBzZXJ2ZXIgKHdoaWNoIGlzIGFscmVhZHkg
YmFzZTY0LWVuY29kZWQpIGFuZCBoYW5kIGl0IG92ZXIgdG8gUldJUHJveHkuCisKKyAgICAgICAg
KiBVSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
YmFja2VuZENvbW1hbmRzUGF0aCk6CisgICAgICAgIChXZWJLaXQ6OmluaXRpYWxpemVSZW1vdGVJ
bnNwZWN0b3JTZXJ2ZXIpOgorICAgICAgICBPbiBXaW5kb3dzLCBpbml0aWFsaXplIHNlcnZlciB3
aXRoIHRoZSBwYXRoIHRvIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBmcm9tIHRoZSBDRkJ1
bmRsZS4KKwogMjAxOS0xMC0wMSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEZpeCBHVEsgYnVpbGQgYWZ0ZXIgcjI1MDU1OApkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDE3NzIyYTFlY2E0MjUyYzAwZTNkZDAzODQ1MWQ5
MGI5MDAyNGY2ZGMuLjI1ODY2NjNkMjU3ZjE2YjUyMjY1YTBhMjJmYWU4MzE3NmQ0MDc3OGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEwOTgsNiArMTA5OCw3IEBAIHNl
dChKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfUFJPVE9DT0xfU0NSSVBUUwogICAgICR7SmF2YVNj
cmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkK
ICAgICAke0phdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9jcHBf
Z2VuZXJhdG9yX3RlbXBsYXRlcy5weQogICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2pzX2JhY2tlbmRfY29tbWFuZHMucHkKKyAgICAk
e0phdmFTY3JpcHRDb3JlX0lOU1BFQ1RPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9j
cHBfYmFja2VuZF9jb21tYW5kcy5weQogICAgICR7SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVy
LnB5CiAgICAgJHtKYXZhU2NyaXB0Q29yZV9JTlNQRUNUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4v
Z2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQogICAgICR7
SmF2YVNjcmlwdENvcmVfSU5TUEVDVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2Nw
cF9mcm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlci5weQpAQCAtMTE3Miw2ICsxMTczLDcgQEAgYWRk
X2N1c3RvbV9jb21tYW5kKAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09V
UkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZERpc3BhdGNoZXJzLmgKICAgICAg
ICAgICAgJHtKYXZhU2NyaXB0Q29yZV9ERVJJVkVEX1NPVVJDRVNfRElSfS9pbnNwZWN0b3IvSW5z
cGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAogICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RF
UklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAor
ICAgICAgICAgICAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNFU19ESVJ9L2luc3BlY3Rv
ci9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCiAgICAgICAgICAgICR7SmF2YVNjcmlwdENv
cmVfREVSSVZFRF9TT1VSQ0VTX0RJUn0vaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcwogICAgIE1BSU5fREVQRU5ERU5DWSAke0phdmFTY3JpcHRDb3JlX0RFUklWRURfU09VUkNF
U19ESVJ9L0NvbWJpbmVkRG9tYWlucy5qc29uCiAgICAgREVQRU5EUyAke0phdmFTY3JpcHRDb3Jl
X0lOU1BFQ1RPUl9QUk9UT0NPTF9TQ1JJUFRTfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhNzZhNWVkMDg3YmRi
OWU1OWE5YTUzNjg4OTdmNWQ5Yjk0ZWJiYjljLi4xY2I1NmE3MGY3NThhMDZmNDEyNGI5MmQ0ODIy
YWI0NDg0YTMyZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTA2LDYgKzEwNiw3IEBAICQoUFJPSkVDVF9E
SVIpL2luc3BlY3Rvci9wcm90b2NvbC9Xb3JrZXIuanNvbgogJChQUk9KRUNUX0RJUikvaW5zcGVj
dG9yL3NjcmlwdHMvY29kZWdlbi9fX2luaXRfXy5weQogJChQUk9KRUNUX0RJUikvaW5zcGVjdG9y
L3NjcmlwdHMvY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CiskKFBST0pFQ1Rf
RElSKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1h
bmRzLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRl
X2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CiAkKFBST0pFQ1RfRElSKS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVt
ZW50YXRpb24ucHkKICQoUFJPSkVDVF9ESVIpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2Vu
ZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXgg
NjkxOGIyYTNlODZhZGYyZDkxMjIxMzA3MzNlYWJjNWMwN2YwYjllOC4uMjQyZGQ1OGZmZDZhNzA2
OGU2NDdjZGE1ZDgyNWVhMDFhMjhmODY4ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtNzQsNiArNzQsNyBA
QCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUvV2Vi
QXNzZW1ibHlSdW50aW1lRXJyb3JQcm90bwogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL0phdmFTY3JpcHRDb3JlL1dlYkFzc2VtYmx5VGFibGVDb25zdHJ1Y3Rvci5sdXQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL1dlYkFz
c2VtYmx5VGFibGVQcm90b3R5cGUubHV0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWx0ZXJuYXRlQmFja2Vu
ZERpc3BhdGNoZXJzLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaApkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiNTlmZTA2MzFmOTY5MTg4ODc1ZjUw
ZmYyMjkxYjAxNmMyMWRlOTJhLi5jODljMGJiNjRlZDNiOTAwZTA4NjYyYzk5ZGIyYmI1MjQ5OTA1
YjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjY4
LDYgKzI2OCw3IEBAIElOU1BFQ1RPUl9HRU5FUkFUT1JfU0NSSVBUUyA9IFwKIAkkKEphdmFTY3Jp
cHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL19faW5pdF9fLnB5IFwKIAkkKEphdmFT
Y3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxh
dGVzLnB5IFwKIAkkKEphdmFTY3JpcHRDb3JlKS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2Nw
cF9nZW5lcmF0b3IucHkgXAorICAgICQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkgXAogCSQoSmF2YVNjcmlw
dENvcmUpL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlz
cGF0Y2hlcl9oZWFkZXIucHkgXAogCSQoSmF2YVNjcmlwdENvcmUpL2luc3BlY3Rvci9zY3JpcHRz
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5w
eSBcCiAJJChKYXZhU2NyaXB0Q29yZSkvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0
ZV9jcHBfZnJvbnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBhZmE3ZTMyODI1M2JkYzgzYzI1NmJlZTNjNTBlODAzZTk3NTg5MDA0Li4w
ZjgwZDQzMjk0NDUwMjMxZTc3NWI1OTViODY4M2JkZGQ2ZmUzYjI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTczNCw2ICsxNzM0LDcgQEAKIAkJQzJGRTE4QTQxNkJBRUM0MDAw
QUYzMDYxIC8qIFN0cnVjdHVyZVJhcmVEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDMkZFMThBMzE2QkFFQzQwMDBBRjMwNjEgLyogU3RydWN0dXJl
UmFyZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlDNDcwM0NDMDE5Mjg0NDk2MDAxM0ZCRUEgLyogZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQzQ3MDNDQkYxOTI4NDQ5NjAwMTNGQkVBIC8qIGdlbmVyYXRlLWluc3BlY3Rvci1wcm90
b2NvbC1iaW5kaW5ncy5weSAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQlDNDcwM0NDRTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdGVfanNfYmFja2Vu
ZF9jb21tYW5kcy5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEM0NzAzQ0MzMTkyODQ0Q0MwMDEzRkJFQSAvKiBnZW5lcmF0ZV9qc19iYWNrZW5kX2NvbW1h
bmRzLnB5ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUEzQjQzNEYxMjM0NDNCNEEwMEY1REU2NiAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5k
cy5weSBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEzNkI2
OEY4MjM0NDM2QUIwMDIyODE3OSAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weSAq
LzsgfTsKIAkJQzQ3MDNDRDUxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDNDcwM0ND
QTE5Mjg0NENDMDAxM0ZCRUEgLyogZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNDcwM0NENjE5Mjg0NENDMDAx
M0ZCRUEgLyogZ2VuZXJhdG9yLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzQ3MDNDQ0IxOTI4NDRDQzAwMTNGQkVBIC8qIGdlbmVyYXRvci5weSAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNDcwM0NENzE5
Mjg0NENDMDAxM0ZCRUEgLyogbW9kZWxzLnB5IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzQ3MDNDQ0MxOTI4NDRDQzAwMTNGQkVBIC8qIG1vZGVscy5weSAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNDI4NCw2
ICs0Mjg1LDcgQEAKIAkJQTFFMDQ1MUIxQzI1QjRCMTAwQkI2NjNDIC8qIFN0cmluZ1Byb3RvdHlw
ZS5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9IFN0cmluZ1Byb3Rv
dHlwZS5qczsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFGRTFFQjAxQzJDNTM3RTAw
QTI4OUZGIC8qIERhdGVQcm90b3R5cGUuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3Jp
cHQ7IHBhdGggPSBEYXRlUHJvdG90eXBlLmpzOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMjc5NThEN0ZBMTE0MkIwQUM5RTM2NEQgLyogV2FzbUNvbnRleHRJbmxpbmVzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdhc21Db250ZXh0SW5saW5lcy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMzZCNjhGODIzNDQzNkFCMDAyMjgxNzkgLyogZ2VuZXJh
dGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnNjcmlwdC5weXRob247
IHBhdGggPSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTNGRjlCQzUyMjM0NzQ2NjAwQjFBOUFCIC8qIFlhcnJGbGFncy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBZYXJyRmxhZ3MuaDsgcGF0aCA9IHlhcnIv
WWFyckZsYWdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEzRkY5QkM2MjIzNDc0
NjYwMEIxQTlBQiAvKiBZYXJyRmxhZ3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gWWFyckZsYWdzLmNwcDsgcGF0aCA9IHlhcnIvWWFyckZsYWdzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTUwM0ZBMTMxODhFMEZBRjAwMTEwRjE0IC8qIEphdmFT
Y3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SmF2YVNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04
NjMwLDYgKzg2MzIsNyBAQAogCQkJCUM0RjRCNkQwMUEwNUM3NkYwMDVDQUI3NiAvKiBjcHBfZ2Vu
ZXJhdG9yLnB5ICovLAogCQkJCUM0RjRCNkNGMUEwNUM3NkYwMDVDQUI3NiAvKiBjcHBfZ2VuZXJh
dG9yX3RlbXBsYXRlcy5weSAqLywKIAkJCQlBNUVBNzBFQTE5RjVCM0Q1MDA5OEY1RUMgLyogZ2Vu
ZXJhdGVfY3BwX2FsdGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5ICovLAorCQkJ
CUEzNkI2OEY4MjM0NDM2QUIwMDIyODE3OSAvKiBnZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5k
cy5weSAqLywKIAkJCQlDNEY0QjZEMTFBMDVDNzZGMDA1Q0FCNzYgLyogZ2VuZXJhdGVfY3BwX2Jh
Y2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgKi8sCiAJCQkJQzRGNEI2RDIxQTA1Qzc2RjAwNUNB
Qjc2IC8qIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkg
Ki8sCiAJCQkJQzRGNEI2RDMxQTA1Qzc2RjAwNUNBQjc2IC8qIGdlbmVyYXRlX2NwcF9mcm9udGVu
ZF9kaXNwYXRjaGVyX2hlYWRlci5weSAqLywKQEAgLTk0MjUsNiArOTQyOCw3IEBACiAJCQkJQzQ3
MDNDQzAxOTI4NDQ5NjAwMTNGQkVBIC8qIGdlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5k
aW5ncy5weSBpbiBIZWFkZXJzICovLAogCQkJCTk5REEwMEFGMUJENTk5NEUwMEY0NTc1QyAvKiBn
ZW5lcmF0ZS1qcy1idWlsdGlucy5weSBpbiBIZWFkZXJzICovLAogCQkJCUE1RUE3MEVDMTlGNUIz
RUEwMDk4RjVFQyAvKiBnZW5lcmF0ZV9jcHBfYWx0ZXJuYXRlX2JhY2tlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHkgaW4gSGVhZGVycyAqLywKKwkJCQlBM0I0MzRGMTIzNDQzQjRBMDBGNURFNjYgLyog
Z2VuZXJhdGVfY3BwX2JhY2tlbmRfY29tbWFuZHMucHkgaW4gSGVhZGVycyAqLywKIAkJCQlBNUVG
OUIxNDFBMUQ0M0Y2MDA3MDJFOTAgLyogZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9o
ZWFkZXIucHkgaW4gSGVhZGVycyAqLywKIAkJCQlBNUVGOUIxNTFBMUQ0M0ZBMDA3MDJFOTAgLyog
Z2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weSBpbiBIZWFk
ZXJzICovLAogCQkJCUE1RUY5QjE2MUExRDQ0MDAwMDcwMkU5MCAvKiBnZW5lcmF0ZV9jcHBfZnJv
bnRlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9QbGF0Zm9ybVBsYXlTdGF0aW9uLmNtYWtlIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL1BsYXRmb3JtUGxheVN0YXRpb24uY21ha2UKaW5kZXggNjBiZmE3OGE0ZGIx
YTQ2NzA3YjUyN2ZkZTA0YjU2OTA0MzFkOGNjNy4uNGM0MmI0OGE1ZGFlZTE4MmY1NmNmYTYxNDhm
MmExMmUxYzQ4MWI0OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3Jt
UGxheVN0YXRpb24uY21ha2UKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL1BsYXRmb3JtUGxh
eVN0YXRpb24uY21ha2UKQEAgLTMyLDYgKzMyLDggQEAgbGlzdChBUFBFTkQgSmF2YVNjcmlwdENv
cmVfU09VUkNFUwogICAgIGluc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNv
Y2tldEVuZHBvaW50LmNwcAogCiAgICAgaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvcG9zaXgvUmVt
b3RlSW5zcGVjdG9yU29ja2V0UE9TSVguY3BwCisKKyAgICAke0RFUklWRURfU09VUkNFU19KQVZB
U0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCiAp
CiAKIGlmICgke1dURl9MSUJSQVJZX1RZUEV9IFNUUkVRVUFMICJTVEFUSUMiKQpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUlu
c3BlY3RvclNlcnZlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90
ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcAppbmRleCA3YmUwYmJhOThlZDJlZGQx
NzUxZDQwMTUxOGQxNzFjZjY2NTBlNjg4Li43ZmJkMGIxMGFkNDkyN2JkNmI4NzY3Y2Y2ZTdhNzQ1
Y2E3MTZlMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Jl
bW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmNw
cApAQCAtMjksOSArMjksMTQgQEAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKIAogI2lu
Y2x1ZGUgIlJlbW90ZUluc3BlY3Rvck1lc3NhZ2VQYXJzZXIuaCIKLQorI2luY2x1ZGUgPHd0Zi9G
aWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8d3RmL0pTT05WYWx1ZXMuaD4KICNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgorCisjaWYgUExBVEZP
Uk0oUExBWVNUQVRJT04pCitleHRlcm4gY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHNTdHJpbmc7CisjZW5kaWYKIAogbmFtZXNwYWNlIEluc3BlY3RvciB7CiAKQEAgLTE1MCw2
ICsxNTUsMTEgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNldHVwSW5zcGVjdG9yQ2xp
ZW50KGNvbnN0IEV2ZW50JikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCisgICAg
YXV0byBiYWNrZW5kQ29tbWFuZHNFdmVudCA9IEpTT046Ok9iamVjdDo6Y3JlYXRlKCk7CisgICAg
YmFja2VuZENvbW1hbmRzRXZlbnQtPnNldFN0cmluZygiZXZlbnQiX3MsICJCYWNrZW5kQ29tbWFu
ZHMiX3MpOworICAgIGJhY2tlbmRDb21tYW5kc0V2ZW50LT5zZXRTdHJpbmcoIm1lc3NhZ2UiX3Ms
IGJhc2U2NEVuY29kZShiYWNrZW5kQ29tbWFuZHMoKS51dGY4KCkpKTsKKyAgICBzZW5kV2ViSW5z
cGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0aW9uLnZhbHVlKCksIGJhY2tlbmRDb21tYW5kc0V2
ZW50LT50b0pTT05TdHJpbmcoKSk7CisKICAgICBhdXRvIHNldHVwRXZlbnQgPSBKU09OOjpPYmpl
Y3Q6OmNyZWF0ZSgpOwogICAgIHNldHVwRXZlbnQtPnNldFN0cmluZygiZXZlbnQiX3MsICJHZXRU
YXJnZXRMaXN0Il9zKTsKIApAQCAtMjQ5LDYgKzI1OSwzMyBAQCB2b2lkIFJlbW90ZUluc3BlY3Rv
clNlcnZlcjo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IEV2ZW50JiBldmVudCkKICAgICBz
ZW5kV2ViSW5zcGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0aW9uLnZhbHVlKCksIHNlbmRFdmVu
dC0+dG9KU09OU3RyaW5nKCkpOwogfQogCitTdHJpbmcgUmVtb3RlSW5zcGVjdG9yU2VydmVyOjpi
YWNrZW5kQ29tbWFuZHMoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKFBMQVlTVEFUSU9OKQorICAg
IHJldHVybiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA/IHNfaW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzU3RyaW5nIDogU3RyaW5nKCk7CisjZWxzZQorICAgIGlmIChtX2JhY2tlbmRD
b21tYW5kc1BhdGguaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBo
YW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShtX2JhY2tlbmRDb21tYW5kc1BhdGgsIEZpbGVT
eXN0ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCk7CisgICAgaWYgKCFGaWxlU3lzdGVtOjppc0hhbmRs
ZVZhbGlkKGhhbmRsZSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBsb25nIGxvbmcgc2l6
ZTsKKyAgICBpZiAoIUZpbGVTeXN0ZW06OmdldEZpbGVTaXplKGhhbmRsZSwgc2l6ZSkpIHsKKyAg
ICAgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGhhbmRsZSk7CisgICAgICAgIHJldHVybiB7IH07
CisgICAgfQorCisgICAgVmVjdG9yPGNoYXI+IGJ1ZmZlcjsKKyAgICBidWZmZXIucmVzaXplKHNp
emUpOworICAgIGF1dG8gYnl0ZXNSZWFkID0gRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGhhbmRs
ZSwgYnVmZmVyLmRhdGEoKSwgc2l6ZSk7CisgICAgRmlsZVN5c3RlbTo6Y2xvc2VGaWxlKGhhbmRs
ZSk7CisKKyAgICByZXR1cm4gYnl0ZXNSZWFkID09IHNpemUgPyBTdHJpbmcoYnVmZmVyLmRhdGEo
KSwgc2l6ZSkgOiBTdHJpbmcoKTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBJbnNwZWN0
b3IKIAogI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3Rv
clNlcnZlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0
L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCmluZGV4IGVmMTFlMDlhODdkMmZlY2M3YmQ5NDA2OTg1
YTJhZWFhYjVmM2I5ZjQuLmMwNzQxMzg2MDkxZDg3NTQ4MmFiNWQ3Yjg0NDQ1N2ZjYzQ2YjM3ODAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tl
dC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKQEAgLTQ2LDYgKzQ2
LDEwIEBAIHB1YmxpYzoKICAgICBKU19FWFBPUlRfUFJJVkFURSBPcHRpb25hbDx1aW50MTZfdD4g
bGlzdGVuRm9yVGFyZ2V0cygpOwogICAgIEpTX0VYUE9SVF9QUklWQVRFIE9wdGlvbmFsPFBsYXRm
b3JtU29ja2V0VHlwZT4gY29ubmVjdCgpOwogCisjaWYgIVBMQVRGT1JNKFBMQVlTVEFUSU9OKQor
ICAgIHZvaWQgc2V0QmFja2VuZENvbW1hbmRzUGF0aChjb25zdCBTdHJpbmcmIGJhY2tlbmRDb21t
YW5kc1BhdGgpIHsgbV9iYWNrZW5kQ29tbWFuZHNQYXRoID0gYmFja2VuZENvbW1hbmRzUGF0aDsg
fQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE5ldmVyRGVzdHJveWVkPFJl
bW90ZUluc3BlY3RvclNlcnZlcj47CiAgICAgUmVtb3RlSW5zcGVjdG9yU2VydmVyKCkgeyBTb2Nr
ZXQ6OmluaXQoKTsgfQpAQCAtNjcsNiArNzEsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZW5k
V2ViSW5zcGVjdG9yRXZlbnQoQ29ubmVjdGlvbklELCBjb25zdCBTdHJpbmcmKTsKIAorICAgIFN0
cmluZyBiYWNrZW5kQ29tbWFuZHMoKSBjb25zdDsKKwogICAgIEhhc2hNYXA8U3RyaW5nLCBDYWxs
SGFuZGxlcj4mIGRpc3BhdGNoTWFwKCkgb3ZlcnJpZGU7CiAKICAgICBIYXNoU2V0PHN0ZDo6cGFp
cjxDb25uZWN0aW9uSUQsIFRhcmdldElEPj4gbV9pbnNwZWN0aW9uVGFyZ2V0czsKQEAgLTgyLDYg
Kzg4LDEwIEBAIHByaXZhdGU6CiAKICAgICAvLyBDb25uZWN0aW9uIGZyb20gUmVtb3RlSW5zcGVj
dG9yQ2xpZW50LgogICAgIE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gbV9jbGllbnRDb25uZWN0aW9u
OworCisjaWYgIVBMQVRGT1JNKFBMQVlTVEFUSU9OKQorICAgIFN0cmluZyBtX2JhY2tlbmRDb21t
YW5kc1BhdGg7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vX19p
bml0X18ucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9fX2luaXRfXy5weQppbmRleCAxYTRhYzY5ZGE0YjVmMWU5ZGQxN2YxYmM5MzcwOTMzM2Q3ZTI2
YzE5Li42OWQzODBkMmNjMDExM2Q3OTQ1NjVkZjdjNDcyMGFhYTYyZWQ5N2Y2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9fX2luaXRf
Xy5weQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9fX2luaXRfXy5weQpAQCAtNiw2ICs2LDcgQEAgZnJvbSAuY3BwX2dlbmVyYXRvciBpbXBvcnQg
KgogZnJvbSAub2JqY19nZW5lcmF0b3IgaW1wb3J0ICoKIAogZnJvbSAuZ2VuZXJhdGVfY3BwX2Fs
dGVybmF0ZV9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyIGltcG9ydCAqCitmcm9tIC5nZW5lcmF0
ZV9jcHBfYmFja2VuZF9jb21tYW5kcyBpbXBvcnQgKgogZnJvbSAuZ2VuZXJhdGVfY3BwX2JhY2tl
bmRfZGlzcGF0Y2hlcl9oZWFkZXIgaW1wb3J0ICoKIGZyb20gLmdlbmVyYXRlX2NwcF9iYWNrZW5k
X2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24gaW1wb3J0ICoKIGZyb20gLmdlbmVyYXRlX2NwcF9m
cm9udGVuZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQgKgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tl
bmRfY29tbWFuZHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9jb21tYW5kcy5weQpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjU4
MDZiNDk4ZDg1MDk2YjgxMmExYjE3OWJkYWYxMWIyMTgzYzVmCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdGVf
Y3BwX2JhY2tlbmRfY29tbWFuZHMucHkKQEAgLTAsMCArMSw0NiBAQAorIyEvdXNyL2Jpbi9lbnYg
cHl0aG9uCisjCisjIENvcHlyaWdodCAoQykgMjAxOSBTb255IEludGVyYWN0aXZlIEVudGVydGFp
bm1lbnQgSW5jLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisjIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworIyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisjIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisjIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworIyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorIyBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
IyBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisjIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitp
bXBvcnQgbG9nZ2luZworCit0cnk6CisgICAgZnJvbSAuZ2VuZXJhdGVfanNfYmFja2VuZF9jb21t
YW5kcyBpbXBvcnQgSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IKK2V4Y2VwdCBWYWx1ZUVycm9y
OgorICAgIGZyb20gZ2VuZXJhdGVfanNfYmFja2VuZF9jb21tYW5kcyBpbXBvcnQgSlNCYWNrZW5k
Q29tbWFuZHNHZW5lcmF0b3IKKworbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2dsb2JhbCcpCisK
KworY2xhc3MgQ3BwQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKEpTQmFja2VuZENvbW1hbmRzR2Vu
ZXJhdG9yKToKKyAgICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAg
ICAgSlNCYWNrZW5kQ29tbWFuZHNHZW5lcmF0b3IuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dh
cmdzKQorCisgICAgZGVmIG91dHB1dF9maWxlbmFtZShzZWxmKToKKyAgICAgICAgcmV0dXJuICdJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwJworCisgICAgZGVmIGdlbmVyYXRlX291dHB1dChz
ZWxmKToKKyAgICAgICAgY29kZSA9IEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yLmdlbmVyYXRl
X291dHB1dChzZWxmKQorICAgICAgICByZXR1cm4gJ2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzU3RyaW5nID0gUiIoe30pIjtcbicuZm9ybWF0KGNvZGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQppbmRleCAy
YjFkODc4MmNiMmE3ZTkyYzgyYmNiNTczM2IxOWFkZDQ5NWQyOWQ1Li5mZmNmM2I1MWE5NTlmNTYw
YzVmYTY4NDYwNmY3ZDU1YTdiODkzOGE1IDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdz
LnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTU3LDYgKzU3LDcgQEAgZXhjZXB0
IEltcG9ydEVycm9yIGFzIGU6CiAgICAgZnJvbSBvYmpjX2dlbmVyYXRvciBpbXBvcnQgKgogCiAg
ICAgZnJvbSBnZW5lcmF0ZV9jcHBfYWx0ZXJuYXRlX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIg
aW1wb3J0ICoKKyAgICBmcm9tIGdlbmVyYXRlX2NwcF9iYWNrZW5kX2NvbW1hbmRzIGltcG9ydCAq
CiAgICAgZnJvbSBnZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlciBpbXBvcnQg
KgogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlv
biBpbXBvcnQgKgogICAgIGZyb20gZ2VuZXJhdGVfY3BwX2Zyb250ZW5kX2Rpc3BhdGNoZXJfaGVh
ZGVyIGltcG9ydCAqCkBAIC0xNDMsNiArMTQ0LDcgQEAgZGVmIGdlbmVyYXRlX2Zyb21fc3BlY2lm
aWNhdGlvbihwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGg9Tm9uZSwKIAogICAgIGlmIHBy
b3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLlRlc3Q6CiAgICAgICAgIGdlbmVyYXRvcnMu
YXBwZW5kKEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKCpnZW5lcmF0b3JfYXJndW1lbnRzKSkK
KyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKCpn
ZW5lcmF0b3JfYXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQWx0ZXJu
YXRlQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMp
KQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdl
bmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IoKmdlbmVyYXRvcl9h
cmd1bWVudHMpKQpAQCAtMTYzLDYgKzE2NSw3IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmlj
YXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAKICAgICBlbGlmIHBy
b3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3JlOgogICAgICAgICBn
ZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcigqZ2VuZXJhdG9yX2Fy
Z3VtZW50cykpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmRDb21tYW5kc0dl
bmVyYXRvcigqZ2VuZXJhdG9yX2FyZ3VtZW50cykpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KENwcEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVySGVhZGVyR2VuZXJhdG9yKCpnZW5lcmF0b3Jf
YXJndW1lbnRzKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNo
ZXJIZWFkZXJHZW5lcmF0b3IoKmdlbmVyYXRvcl9hcmd1bWVudHMpKQogICAgICAgICBnZW5lcmF0
b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKCpn
ZW5lcmF0b3JfYXJndW1lbnRzKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMt
cGxhdGZvcm0uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvYWxsL2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpz
b24tcmVzdWx0CmluZGV4IDM0OTc1OTIxMzAzNzE0YzMxYjM0ZWIwMjBkMWNkZjdlMTVjYWVjZDUu
LjY3NjlhMDA4NDBkNWM5Nzk1ZWNlZmUzMTJiMmE2NDkyYmE5YzExZTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9hbGwvZXhwZWN0ZWQv
ZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2FsbC9leHBlY3RlZC9kZWZpbml0
aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3VsdApAQCAtMzYsNiArMzYsNDUgQEAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsubG9hZFJlc291cmNlIiwgW10s
IFtdKTsKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsiKTsKICMjIyBF
bmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJ
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tl
bmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJz
aXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERP
IE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBk
ZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIE5ldHdvcmsuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyTmV0d29ya0Rpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlz
cGF0Y2hlci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJOZXR3b3JrIik7CitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmsucmVzb3VyY2VMb2FkZWQiLCBbXSk7CitJbnNwZWN0
b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5sb2FkUmVzb3VyY2UiLCBbXSwgW10p
OworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yayIpOykiOworCisjIyMg
RW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6
IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
Y29tbWFuZHMtd2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5k
cy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5qc29uLXJlc3VsdAppbmRleCA3ZWJhMDE2OTRiMDg4NGQy
YmI3MTBjYTQxZDE5M2Q0MTc2MTdhMzQxLi5hNGMxNTFmNzc5NTNhOTVlMzZkMGQ5NTFhYTkxNGRl
ZTBkZTcyN2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0
ZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLWFzeW5jLWF0dHJpYnV0ZS5q
c29uLXJlc3VsdApAQCAtMzksNiArMzksNDggQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxBc3luYyIsIFt7Im5hbWUiOiAiZGF0YWJhc2UKIElu
c3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZpbGU6
IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBX
YXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJ
VCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gY29tbWFuZHMt
d2l0aC1hc3luYy1hdHRyaWJ1dGUuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weQorCisvLyBEYXRhYmFzZS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEYXRh
YmFzZURpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hl
ci5iaW5kKEluc3BlY3RvckJhY2tlbmQsICJEYXRhYmFzZSIpOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIkRhdGFiYXNlLlByaW1hcnlDb2xvcnMiLCB7UmVkOiAicmVkIiwgR3JlZW46
ICJncmVlbiIsIEJsdWU6ICJibHVlIn0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1h
bmQoIkRhdGFiYXNlLmV4ZWN1dGVTUUxTeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMiLCBbeyJuYW1l
IjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsi
bmFtZSI6ICJxdWVyeSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsi
Y29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwg
ImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3Jz
IiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0
YWJhc2UuZXhlY3V0ZVNRTEFzeW5jT3B0aW9uYWxSZXR1cm5WYWx1ZXMiLCBbeyJuYW1lIjogImRh
dGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6
ICJxdWVyeSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiY29sdW1u
TmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1wIiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFi
YXNlSWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwgInBy
aW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2Uu
ZXhlY3V0ZVNRTFN5bmMiLCBbeyJuYW1lIjogImRhdGFiYXNlSWQiLCAidHlwZSI6ICJudW1iZXIi
LCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJxdWVyeSIsICJ0eXBlIjogInN0cmluZyIs
ICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiY29sdW1uTmFtZXMiLCAibm90ZXMiLCAidGltZXN0YW1w
IiwgInZhbHVlcyIsICJwYXlsb2FkIiwgImRhdGFiYXNlSWQiLCAic3FsRXJyb3IiLCAiYWx0ZXJu
YXRlQ29sb3JzIiwgInNjcmVlbkNvbG9yIiwgInByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZVNRTEFzeW5jIiwgW3sibmFtZSI6
ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5h
bWUiOiAicXVlcnkiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImNv
bHVtbk5hbWVzIiwgIm5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJk
YXRhYmFzZUlkIiwgInNxbEVycm9yIiwgInNjcmVlbkNvbG9yIiwgImFsdGVybmF0ZUNvbG9ycyIs
ICJwcmludENvbG9yIl0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJh
c2UiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisK
ICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9n
ZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1cm4tcGFyYW1l
dGVycy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2NvbW1hbmRzLXdpdGgtb3B0aW9uYWwtY2FsbC1yZXR1
cm4tcGFyYW1ldGVycy5qc29uLXJlc3VsdAppbmRleCAxNjEzMWRkZjgwOGVlYzQ4MzJkM2VmMzVl
Nzc4OTU1MDhjOWJiMWFlLi5hMDZhYjcwZTIxYTNmYWRhMDY5MDc2NTQ2YjZkNWIxNWFmOGNlY2Qy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC9jb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBh
cmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvY29tbWFuZHMtd2l0aC1vcHRpb25hbC1j
YWxsLXJldHVybi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CkBAIC0zNiw2ICszNiw0NSBAQCBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiRGF0YWJhc2UuZXhlY3V0ZU5vT3B0aW9uYWxQ
YXJhbWV0ZXJzIiwgW3sibmFtZQogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0
YWJhc2UiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMj
IyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBz
X2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBn
ZW5lcmF0ZWQgZnJvbSBjb21tYW5kcy13aXRoLW9wdGlvbmFsLWNhbGwtcmV0dXJuLXBhcmFtZXRl
cnMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBE
YXRhYmFzZS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJEYXRhYmFzZS5QcmltYXJ5
Q29sb3JzIiwge1JlZDogInJlZCIsIEdyZWVuOiAiZ3JlZW4iLCBCbHVlOiAiYmx1ZSJ9KTsKK0lu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5leGVjdXRlQWxsT3B0aW9u
YWxQYXJhbWV0ZXJzIiwgW3sibmFtZSI6ICJjb2x1bW5OYW1lcyIsICJ0eXBlIjogIm9iamVjdCIs
ICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAibm90ZXMiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogInRpbWVzdGFtcCIsICJ0eXBlIjogIm51bWJlciIs
ICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAidmFsdWVzIiwgInR5cGUiOiAib2JqZWN0Iiwg
Im9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJwYXlsb2FkIiwgInR5cGUiOiAib2JqZWN0Iiwg
Im9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJkYXRhYmFzZUlkIiwgInR5cGUiOiAibnVtYmVy
IiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJzcWxFcnJvciIsICJ0eXBlIjogIm9iamVj
dCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAic2NyZWVuQ29sb3IiLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImFsdGVybmF0ZUNvbG9ycyIsICJ0
eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAicHJpbnRDb2xvciIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWV9XSwgWyJjb2x1bW5OYW1lcyIsICJu
b3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAiZGF0YWJhc2VJZCIsICJz
cWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMiLCAicHJpbnRDb2xvciJd
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJEYXRhYmFzZS5leGVjdXRlTm9P
cHRpb25hbFBhcmFtZXRlcnMiLCBbeyJuYW1lIjogImNvbHVtbk5hbWVzIiwgInR5cGUiOiAib2Jq
ZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAibm90ZXMiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJ0aW1lc3RhbXAiLCAidHlwZSI6ICJu
dW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJ2YWx1ZXMiLCAidHlwZSI6ICJv
YmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJwYXlsb2FkIiwgInR5cGUiOiAi
b2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiZGF0YWJhc2VJZCIsICJ0eXBl
IjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogInNxbEVycm9yIiwgInR5
cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAic2NyZWVuQ29sb3Ii
LCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJhbHRlcm5h
dGVDb2xvcnMiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6
ICJwcmludENvbG9yIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJj
b2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwgInBheWxvYWQiLCAi
ZGF0YWJhc2VJZCIsICJzcWxFcnJvciIsICJzY3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMi
LCAicHJpbnRDb2xvciJdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRhdGFi
YXNlIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAor
CiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMv
Z2VuZXJpYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uLXJlc3Vs
dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CmluZGV4
IGQ0YzBmZTNmZTNjNmJiZGMxMDM2MmQxZTBjMzlmOThjN2FjMzZlNWQuLjllZGE4YjllOGE3NzJh
ZjVhMzNhODk3ZWM3N2U5Yjc2Y2QwOTc5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RlZmluaXRpb25z
LXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RlZmluaXRpb25zLXdp
dGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CkBAIC0zMCw2ICszMCwzOSBAQAogLy8gYnkgdGhl
IHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRl
LWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0g
UiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxF
LiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRlZmluaXRpb25zLXdpdGgtbWFj
LXBsYXRmb3JtLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkp
IjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBC
ZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW4t
YXZhaWxhYmlsaXR5Lmpzb24tcmVzdWx0CmluZGV4IDBkZmIzMjE1MWNhZWQ4N2U1ZTI0NmI3ZGVh
MmQ5N2RiYzY2NjdjNGQuLjRiNTBlY2NkYmU0OThmZTZhNDEyOGUzNmUwOGMwNWM5MWIyNzBhZjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbi1hdmFpbGFiaWxpdHkuanNvbi1yZXN1bHQKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhw
ZWN0ZWQvZG9tYWluLWF2YWlsYWJpbGl0eS5qc29uLXJlc3VsdApAQCAtMzgsNiArMzgsNDcgQEAg
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIkRvbWFpbkIuZW5hYmxlIiwgW10sIFtd
KTsKIEluc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkRvbWFpbkIiKTsKICMjIyBFbmQg
RmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRD
b21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5
IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5P
VCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSBkb21h
aW4tYXZhaWxhYmlsaXR5Lmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGlu
Z3MucHkKKworLy8gRG9tYWluQS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJE
b21haW5BLmVuYWJsZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWlu
KCJEb21haW5BIiwgWyJ3ZWIiXSk7CisKKy8vIERvbWFpbkIuCitJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiRG9tYWluQi5lbmFibGUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2Vu
ZC5hY3RpdmF0ZURvbWFpbigiRG9tYWluQiIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNr
ZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlp
bmctY29tbWFuZC1zaXplcy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2RvbWFpbnMtd2l0aC12YXJ5aW5n
LWNvbW1hbmQtc2l6ZXMuanNvbi1yZXN1bHQKaW5kZXggMmJlNzMwOTI4OTMzOWEyNTkwYTM3N2Yx
MjY4NGQ5ZmQ0YzYzMjcwMy4uYTcyZGMxOTZjYmJjYWE4YjZkOWEwMTdjNzljNTIzZWYwYzRkM2Vi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rl
c3RzL2dlbmVyaWMvZXhwZWN0ZWQvZG9tYWlucy13aXRoLXZhcnlpbmctY29tbWFuZC1zaXplcy5q
c29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
dGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9kb21haW5zLXdpdGgtdmFyeWluZy1jb21tYW5kLXNpemVz
Lmpzb24tcmVzdWx0CkBAIC00NCw2ICs0NCw1MyBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiTmV0d29yazMubG9hZFJlc291cmNlNyIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNr
ZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMyIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0g
UiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxF
LiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGRvbWFpbnMtd2l0aC12YXJ5aW5n
LWNvbW1hbmQtc2l6ZXMuanNvbgorLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5n
cy5weQorCisvLyBOZXR3b3JrMS4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJO
ZXR3b3JrMS5sb2FkUmVzb3VyY2UxIiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZh
dGVEb21haW4oIk5ldHdvcmsxIik7CisKKy8vIE5ldHdvcmszLgorSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTEiLCBbXSwgW10pOworSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTIiLCBbXSwg
W10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNv
dXJjZTMiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdv
cmszLmxvYWRSZXNvdXJjZTQiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTUiLCBbXSwgW10pOworSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTYiLCBbXSwgW10pOworSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmszLmxvYWRSZXNvdXJjZTciLCBb
XSwgW10pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiTmV0d29yazMiKTspIjsK
KworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdp
biBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL2VudW0tdmFsdWVzLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1y
ZXN1bHQKaW5kZXggNzlhYTljZTVhZDg2YzFlNjk4OTIwZjIwNDI1ZjdjNDcwOWZhNDhhMS4uZWJj
MGI3NzIyMzU1ZWVjZDYyMmY2MzZmZGM4ZDFkMzhkZDJlZmQ1MSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
ZW51bS12YWx1ZXMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvZW51bS12YWx1ZXMuanNvbi1yZXN1
bHQKQEAgLTQ0LDYgKzQ0LDUzIEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRXZl
bnREb21haW4uZXZlbnRXaXRoRW51bVBhcmFtZXRlciIsIFsicGFyYW1ldGVyCiBJbnNwZWN0b3JC
YWNrZW5kLmFjdGl2YXRlRG9tYWluKCJFdmVudERvbWFpbiIpOwogIyMjIEVuZCBGaWxlOiBJbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tl
bmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3Ry
aW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGlu
Z3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJ
UyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIGVudW0tdmFsdWVzLmpz
b24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gVHlwZURv
bWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJUeXBlRG9tYWluLlR5cGVEb21h
aW5FbnVtIiwge1NoYXJlZDogInNoYXJlZCIsIFJlZDogInJlZCIsIEdyZWVuOiAiZ3JlZW4iLCBC
bHVlOiAiYmx1ZSJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlR5cGVEb21h
aW4iKTsKKworLy8gQ29tbWFuZERvbWFpbi4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21t
YW5kKCJDb21tYW5kRG9tYWluLmNvbW1hbmRXaXRoRW51bVJldHVyblZhbHVlIiwgW10sIFsicmV0
dXJuVmFsdWUiXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJDb21tYW5kRG9t
YWluIik7CisKKy8vIEV2ZW50RG9tYWluLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50
RG9tYWluRGlzcGF0Y2hlciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRj
aGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwgIkV2ZW50RG9tYWluIik7CitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRW51bSgiRXZlbnREb21haW4uRXZlbnRXaXRoRW51bVBhcmFtZXRlclBhcmFt
ZXRlciIsIHtTaGFyZWQ6ICJzaGFyZWQiLCBCbGFjazogImJsYWNrIiwgV2hpdGU6ICJ3aGl0ZSJ9
KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRXZlbnREb21haW4uZXZlbnRXaXRo
RW51bVBhcmFtZXRlciIsIFsicGFyYW1ldGVyIl0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0
ZURvbWFpbigiRXZlbnREb21haW4iKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERp
c3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBh
cmFtZXRlcnMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9ldmVudHMtd2l0aC1vcHRpb25hbC1wYXJhbWV0
ZXJzLmpzb24tcmVzdWx0CmluZGV4IDQ2OWQwOWJhNzU4ZjYzMWJmZWIyOTFkOGExYjU1NzUyZDY2
MDkwYmMuLmQ5NjEyOGI0MzI5ODhkNGY4NjMwOTI0Y2EyYzk5M2U1YWIzMGMyMDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmlj
L2V4cGVjdGVkL2V2ZW50cy13aXRoLW9wdGlvbmFsLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysr
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMv
ZXhwZWN0ZWQvZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFyYW1ldGVycy5qc29uLXJlc3VsdApAQCAt
MzYsNiArMzYsNDUgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJEYXRhYmFzZS5k
aWRFeGVjdXRlTm9PcHRpb25hbFBhcmFtZXRlcnMiLCBbImNvbHUKIEluc3BlY3RvckJhY2tlbmQu
YWN0aXZhdGVEb21haW4oIkRhdGFiYXNlIik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tl
bmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRz
LmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0
IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gZXZlbnRzLXdpdGgtb3B0aW9uYWwtcGFy
YW1ldGVycy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisK
Ky8vIERhdGFiYXNlLgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRhdGFiYXNlRGlzcGF0Y2hl
ciA9IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVj
dG9yQmFja2VuZCwgIkRhdGFiYXNlIik7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQo
IkRhdGFiYXNlLmRpZEV4ZWN1dGVPcHRpb25hbFBhcmFtZXRlcnMiLCBbImNvbHVtbk5hbWVzIiwg
Im5vdGVzIiwgInRpbWVzdGFtcCIsICJ2YWx1ZXMiLCAicGF5bG9hZCIsICJzcWxFcnJvciIsICJz
Y3JlZW5Db2xvciIsICJhbHRlcm5hdGVDb2xvcnMiLCAicHJpbnRDb2xvciJdKTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiRGF0YWJhc2UuZGlkRXhlY3V0ZU5vT3B0aW9uYWxQYXJh
bWV0ZXJzIiwgWyJjb2x1bW5OYW1lcyIsICJub3RlcyIsICJ0aW1lc3RhbXAiLCAidmFsdWVzIiwg
InBheWxvYWQiLCAic3FsRXJyb3IiLCAic2NyZWVuQ29sb3IiLCAiYWx0ZXJuYXRlQ29sb3JzIiwg
InByaW50Q29sb3IiXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJEYXRhYmFz
ZSIpOykiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwog
IyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24t
cmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvZ2VuZXJhdGUtZG9tYWlucy13aXRoLWZlYXR1cmUtZ3VhcmRzLmpzb24t
cmVzdWx0CmluZGV4IDUxMGUxNzVjY2MyZjNjMGM2NGEyZTY1MGNjNjgyYzU0NzRiYjRmZmMuLmE3
ODdkYmEwZDI3MTQyM2EyM2NhMDhiMDU1MTg1Y2E5OTNhNjU1MTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVk
L2dlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29uLXJlc3VsdAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBl
Y3RlZC9nZW5lcmF0ZS1kb21haW5zLXdpdGgtZmVhdHVyZS1ndWFyZHMuanNvbi1yZXN1bHQKQEAg
LTM5LDYgKzM5LDQ4IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiTmV0d29yazMu
cmVzb3VyY2VMb2FkZWQiLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJO
ZXR3b3JrMyIpOwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAor
IyMjIEJlZ2luIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIq
IHNfaW5zcGVjdG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDEzLTIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE0IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5
IGdlbmVyYXRlZCBmcm9tIGdlbmVyYXRlLWRvbWFpbnMtd2l0aC1mZWF0dXJlLWd1YXJkcy5qc29u
CisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIE5ldHdvcmsx
LgorSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsxLmxvYWRSZXNvdXJj
ZSIsIFtdLCBbXSk7CitJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3JrMSIp
OworCisvLyBOZXR3b3JrMy4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJOZXR3b3JrM0Rpc3Bh
dGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5kKElu
c3BlY3RvckJhY2tlbmQsICJOZXR3b3JrMyIpOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2
ZW50KCJOZXR3b3JrMy5yZXNvdXJjZUxvYWRlZCIsIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0
aXZhdGVEb21haW4oIk5ldHdvcmszIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmRE
aXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zYW1lLXR5cGUtaWQtZGlmZmVyZW50
LWRvbWFpbi5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWlu
Lmpzb24tcmVzdWx0CmluZGV4IGU5NDAyMTExMzgyYWVjN2M1ZWYwZGVjOTgxYjIxYTY0ODg0NWFk
ZTUuLjA4NzZlNzMxY2RlMmI5Yjg5YzllNzJiZGU0YWIxYmIxN2FhZjFhNmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4
cGVjdGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL3NhbWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24tcmVzdWx0CkBAIC0zMCw2ICsz
MCwzOSBAQAogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rv
ci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVu
ZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IElu
c3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2Vu
ZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNp
dHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8g
Tk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHNh
bWUtdHlwZS1pZC1kaWZmZXJlbnQtZG9tYWluLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNo
ZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVy
cy5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3NoYWRvd2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29u
LXJlc3VsdAppbmRleCA0YmRiMmQ0MTE5ZmFjNGJmMWQwNjFlMWFmODBjYzFkMDE3NWU1YjcxLi4z
MWE0NmQ4OTg0ZGFmZTMwOTFhNTQzMjVjNWE0MjY3ZDBiYmM4YWMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3Rl
ZC9zaGFkb3dlZC1vcHRpb25hbC10eXBlLXNldHRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQv
c2hhZG93ZWQtb3B0aW9uYWwtdHlwZS1zZXR0ZXJzLmpzb24tcmVzdWx0CkBAIC0zMCw2ICszMCwz
OSBAQAogLy8gYnkgdGhlIHNjcmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQogIyMjIEVuZCBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2luIEZpbGU6IEluc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0IFVuaXZlcnNpdHkg
b2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8gRE8gTk9U
IEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmcm9tIHNoYWRv
d2VkLW9wdGlvbmFsLXR5cGUtc2V0dGVycy5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRjaGVy
cy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVudHMuanNvbi1yZXN1
bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJp
Yy9leHBlY3RlZC9zaG91bGQtc3RyaXAtY29tbWVudHMuanNvbi1yZXN1bHQKaW5kZXggNmExZmI3
ZDRmOWQ5YjdmZmNhYzQwYTA2NGE1NGFiZDhjY2RlZWQ1Mi4uMTgwMjYxMDMyOWE1OGZkOTlmYWU2
MjE5MjFiNmE3Zjg0Mzc2MzlhMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvc2hvdWxkLXN0cmlwLWNvbW1l
bnRzLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3Nob3VsZC1zdHJpcC1jb21tZW50cy5qc29uLXJl
c3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmlu
ZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMj
IyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBz
X2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBn
ZW5lcmF0ZWQgZnJvbSBzaG91bGQtc3RyaXAtY29tbWVudHMuanNvbgorLy8gYnkgdGhlIHNjcmlw
dDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3Bl
Y3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSkiOworCisjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRlc3RBbHRlcm5hdGVCYWNrZW5k
RGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1hbGlh
c2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1h
bGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24tcmVzdWx0CmluZGV4IGY1NjY2Mzc5Y2E3NDZiNjY4
NzM5NzZiMDNlNzQxOGNkYTQyYTQ2MWUuLmQ1YmM5MTg0ZjY1ZThhZDk2Yzg3NzM2MzhjNzhjNTkx
NTAzNmNhYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYWxpYXNlZC1wcmlt
aXRpdmUtdHlwZS5qc29uLXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWFsaWFz
ZWQtcHJpbWl0aXZlLXR5cGUuanNvbi1yZXN1bHQKQEAgLTMwLDYgKzMwLDM5IEBACiAvLyBieSB0
aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CiAjIyMgRW5kIEZpbGU6IEluc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcg
PSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9u
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1QgRURJVCBUSElTIEZJ
TEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdHlwZS1kZWNsYXJhdGlvbi1h
bGlhc2VkLXByaW1pdGl2ZS10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wt
YmluZGluZ3MucHkpIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
Y3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90
ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJl
c3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5l
cmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tYXJyYXktdHlwZS5qc29uLXJlc3VsdAppbmRl
eCBmYjRkZDM3M2FjNmU0YTA4OTNiMWZkMjVkYjI5ZThhZWU3MjkxZWUxLi40YWEwZWQ2OTU4ZDE3
ZGFlOWNjZGNhMDdlNTg5NDg3N2Y3NDE0YWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xh
cmF0aW9uLWFycmF5LXR5cGUuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlv
bi1hcnJheS10eXBlLmpzb24tcmVzdWx0CkBAIC0zNCw2ICszNCw0MyBAQCBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyRW51bSgiRGVidWdnZXIuUmVhc29uIiwge0RpZWQ6ICJEaWVkIiwgRmFpbnRl
ZDogIkZhaW50ZQogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGVidWdnZXIiKTsK
ICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBG
aWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3Rv
ckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBV
bml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
Ky8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQg
ZnJvbSB0eXBlLWRlY2xhcmF0aW9uLWFycmF5LXR5cGUuanNvbgorLy8gYnkgdGhlIHNjcmlwdDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rv
ci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBEZWJ1Z2dlci4KK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJFbnVtKCJEZWJ1Z2dlci5SZWFzb24iLCB7RGllZDogIkRpZWQiLCBGYWludGVkOiAi
RmFpbnRlZCIsIEh1bmdyeTogIkh1bmdyeSJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVE
b21haW4oIkRlYnVnZ2VyIik7KSI7CisKKyMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFsdGVybmF0ZUJhY2tlbmREaXNwYXRj
aGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLWVudW0tdHlwZS5q
c29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0
cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0
CmluZGV4IDMyNDhkNmQ3MjljYjM3ZDZkNDkyYTg1NmJjOGY0NDE0ZjY4ZGFhYjYuLjU0YjlmZWRm
MjJiZDNiOGIxMTQ4Y2I3Njg2NzMxYmYzYjlkN2I0Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUt
ZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tZW51bS10eXBlLmpzb24tcmVzdWx0CkBAIC0zNSw2ICszNSw0NCBAQCBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRW51bSgiUnVudGltZS5Ud29MZWdnZWRBbmltYWxzIiwge0R1Y2tzOiAi
RHVja3MiLCBIZW5zOgogSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiUnVudGltZSIp
OwogIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKIAorIyMjIEJlZ2lu
IEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKK2NvbnN0IGNoYXIqIHNfaW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzU3RyaW5nID0gUiIoLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLTIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE0
IFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworLy8gRE8gTk9UIEVESVQgVEhJUyBGSUxFLiBJdCBpcyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRl
ZCBmcm9tIHR5cGUtZGVjbGFyYXRpb24tZW51bS10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0
b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKworLy8gUnVudGltZS4KK0luc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJFbnVtKCJSdW50aW1lLkZhcm1BbmltYWxzIiwge1BpZ3M6ICJQaWdzIiwgQ293czog
IkNvd3MiLCBDYXRzOiAiQ2F0cyIsIEhlbnM6ICJIZW5zIn0pOworSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIlJ1bnRpbWUuVHdvTGVnZ2VkQW5pbWFscyIsIHtEdWNrczogIkR1Y2tzIiwg
SGVuczogIkhlbnMiLCBDcm93czogIkNyb3dzIiwgRmxhbWluZ29zOiAiRmxhbWluZ29zIn0pOwor
SW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiUnVudGltZSIpOykiOworCisjIyMgRW5k
IEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5jcHAKKwogIyMjIEJlZ2luIEZpbGU6IFRl
c3RBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlcnMuaAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlw
ZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29uLXJlc3VsdCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtZGVjbGFy
YXRpb24tb2JqZWN0LXR5cGUuanNvbi1yZXN1bHQKaW5kZXggOTkyMzRjMDk4NGE4ODYyNDI4OTQ5
NTMxODI1MzJkYmMzOGQxZmU2Yi4uZDFiN2VhNTdlZmJhMDYzOTNiZjNmYzE0ZjY2MjI5MDIxOWU2
ZDRlYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRz
L3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1kZWNsYXJhdGlvbi1vYmplY3QtdHlwZS5qc29u
LXJlc3VsdAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVz
dHMvZ2VuZXJpYy9leHBlY3RlZC90eXBlLWRlY2xhcmF0aW9uLW9iamVjdC10eXBlLmpzb24tcmVz
dWx0CkBAIC0zNiw2ICszNiw0NSBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGF0
YWJhc2UuUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHkiLCB7TFRSOiAiTAogSW5zcGVjdG9y
QmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTsKICMjIyBFbmQgRmlsZTogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5k
Q29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmlu
ZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0
b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMg
RklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLWRlY2xhcmF0aW9u
LW9iamVjdC10eXBlLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3Mu
cHkKKworLy8gRGF0YWJhc2UuCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGF0YWJh
c2UuTW91c2VCdXR0b24iLCB7Tm9uZTogIk5vbmUiLCBMZWZ0OiAiTGVmdCIsIE1pZGRsZTogIk1p
ZGRsZSIsIFJpZ2h0OiAiUmlnaHQifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgi
RGF0YWJhc2UuT3B0aW9uYWxQYXJhbWV0ZXJCdW5kbGVEaXJlY3Rpb25hbGl0eSIsIHtMVFI6ICJM
VFIiLCBSVEw6ICJSVEwifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiRGF0YWJh
c2UuUGFyYW1ldGVyQnVuZGxlRGlyZWN0aW9uYWxpdHkiLCB7TFRSOiAiTFRSIiwgUlRMOiAiUlRM
In0pOworSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0ZURvbWFpbigiRGF0YWJhc2UiKTspIjsKKwor
IyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBG
aWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVj
dGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2FzdHMuanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC90eXBl
LXJlcXVpcmluZy1ydW50aW1lLWNhc3RzLmpzb24tcmVzdWx0CmluZGV4IGJhM2RlMjZhOGY1M2E2
NzdjZTZlOGU2NjA2NzgzMmNmMjZlMzg3NWMuLjM1NDIyN2Q5OTRhMjdlZDk5N2IwYmFhNDM4ZWIx
NDEwNWMxN2Q2OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtcmVxdWlyaW5nLXJ1bnRpbWUtY2Fz
dHMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3Jp
cHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS1yZXF1aXJpbmctcnVudGltZS1jYXN0cy5q
c29uLXJlc3VsdApAQCAtMzUsNiArMzUsNDQgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVu
dW0oIlRlc3QuQ2FzdGVkQW5pbWFscyIsIHtEdWNrczogIkR1Y2tzIiwgSGVuczogIkhlbnMKIElu
c3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlRlc3QiKTsKICMjIyBFbmQgRmlsZTogSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuY3BwCitjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0
cmluZyA9IFIiKC8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hp
bmd0b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRI
SVMgRklMRS4gSXQgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLXJlcXVpcmlu
Zy1ydW50aW1lLWNhc3RzLmpzb24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGlu
Z3MucHkKKworLy8gVGVzdC4KK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJUZXN0LlVu
Y2FzdGVkQW5pbWFscyIsIHtQaWdzOiAiUGlncyIsIENvd3M6ICJDb3dzIiwgQ2F0czogIkNhdHMi
LCBIZW5zOiAiSGVucyJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJUZXN0LkNh
c3RlZEFuaW1hbHMiLCB7RHVja3M6ICJEdWNrcyIsIEhlbnM6ICJIZW5zIiwgQ3Jvd3M6ICJDcm93
cyIsIEZsYW1pbmdvczogIkZsYW1pbmdvcyJ9KTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVE
b21haW4oIlRlc3QiKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFu
ZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJz
LmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0
cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtd2l0aC1vcGVuLXBhcmFtZXRlcnMuanNvbi1y
ZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvZ2Vu
ZXJpYy9leHBlY3RlZC90eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJzLmpzb24tcmVzdWx0CmluZGV4
IGU0MzBlZGU1MDhiYjVjODFkNzZkNDk5NGEyNzBkMTEyMDc3OTUxYzUuLmExZWJmOTBkNzY4ODZl
NTIxYzIxNWYxNWVjOWY3ZDZmYjUxNGI2ODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3R5cGUtd2l0aC1v
cGVuLXBhcmFtZXRlcnMuanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dlbmVyaWMvZXhwZWN0ZWQvdHlwZS13aXRoLW9wZW4tcGFy
YW1ldGVycy5qc29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0
b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENv
bW1hbmRzLmpzCiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3Bw
Citjb25zdCBjaGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMg
YXV0b21hdGljYWxseSBnZW5lcmF0ZWQgZnJvbSB0eXBlLXdpdGgtb3Blbi1wYXJhbWV0ZXJzLmpz
b24KKy8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkpIjsKKworIyMjIEVu
ZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBCZWdpbiBGaWxlOiBU
ZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3Zl
cnNpb24uanNvbi1yZXN1bHQgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Njcmlw
dHMvdGVzdHMvZ2VuZXJpYy9leHBlY3RlZC92ZXJzaW9uLmpzb24tcmVzdWx0CmluZGV4IDJiNmE0
OWU3NDUyMjhmMmYyMWQwNWFlNjFhNjRiOTNkZDQxNjdjMjQuLjY3MWJlNDQ0MGUzNTIwZTUwZmVh
ZjQwMDA4NWM0ZmNjMTU5OTMxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9nZW5lcmljL2V4cGVjdGVkL3ZlcnNpb24uanNvbi1yZXN1
bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL3Rlc3RzL2dl
bmVyaWMvZXhwZWN0ZWQvdmVyc2lvbi5qc29uLXJlc3VsdApAQCAtMzQsNiArMzQsNDMgQEAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlclZlcnNpb24oIlZlcnNpb25Eb21haW4iLCA0Mik7CiBJbnNw
ZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJWZXJzaW9uRG9tYWluIik7CiAjIyMgRW5kIEZp
bGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVnaW4gRmlsZTogSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMtMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgVW5pdmVyc2l0eSBv
ZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisvLyBETyBOT1Qg
RURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZyb20gdmVyc2lv
bi5qc29uCisvLyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisKKy8vIFZl
cnNpb25Eb21haW4uCitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyVmVyc2lvbigiVmVyc2lvbkRv
bWFpbiIsIDQyKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIlZlcnNpb25Eb21h
aW4iKTspIjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisK
ICMjIyBCZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9p
b3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvaW9zL2V4cGVjdGVk
L2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CmluZGV4IGQ0YzBmZTNm
ZTNjNmJiZGMxMDM2MmQxZTBjMzlmOThjN2FjMzZlNWQuLjllZGE4YjllOGE3NzJhZjVhMzNhODk3
ZWM3N2U5Yjc2Y2QwOTc5ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3Ivc2NyaXB0cy90ZXN0cy9pb3MvZXhwZWN0ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxh
dGZvcm0uanNvbi1yZXN1bHQKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL3Rlc3RzL2lvcy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5q
c29uLXJlc3VsdApAQCAtMzAsNiArMzAsMzkgQEAKIC8vIGJ5IHRoZSBzY3JpcHQ6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9j
b2wtYmluZGluZ3MucHkKICMjIyBFbmQgRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpz
CiAKKyMjIyBCZWdpbiBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCitjb25zdCBj
aGFyKiBzX2luc3BlY3RvckJhY2tlbmRDb21tYW5kc1N0cmluZyA9IFIiKC8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMy0yMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxNCBVbml2ZXJzaXR5IG9mIFdhc2hpbmd0b24uIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8vIERPIE5PVCBFRElUIFRISVMgRklMRS4gSXQgaXMgYXV0b21hdGlj
YWxseSBnZW5lcmF0ZWQgZnJvbSBkZWZpbml0aW9ucy13aXRoLW1hYy1wbGF0Zm9ybS5qc29uCisv
LyBieSB0aGUgc2NyaXB0OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Z2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5KSI7CisKKyMjIyBFbmQgRmls
ZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorCiAjIyMgQmVnaW4gRmlsZTogVGVzdEFs
dGVybmF0ZUJhY2tlbmREaXNwYXRjaGVycy5oCiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEzIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvbWFjL2V4cGVjdGVkL2RlZmluaXRpb25z
LXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL3Rlc3RzL21hYy9leHBlY3RlZC9kZWZpbml0aW9ucy13aXRoLW1hYy1w
bGF0Zm9ybS5qc29uLXJlc3VsdAppbmRleCAzNDk3NTkyMTMwMzcxNGMzMWIzNGViMDIwZDFjZGY3
ZTE1Y2FlY2Q1Li42NzY5YTAwODQwZDVjOTc5NWVjZWZlMzEyYjJhNjQ5MmJhOWMxMWUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvdGVzdHMvbWFj
L2V4cGVjdGVkL2RlZmluaXRpb25zLXdpdGgtbWFjLXBsYXRmb3JtLmpzb24tcmVzdWx0CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy90ZXN0cy9tYWMvZXhwZWN0
ZWQvZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbi1yZXN1bHQKQEAgLTM2LDYgKzM2
LDQ1IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmxvYWRSZXNv
dXJjZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJOZXR3b3Jr
Iik7CiAjIyMgRW5kIEZpbGU6IEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwogCisjIyMgQmVn
aW4gRmlsZTogSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmNwcAorY29uc3QgY2hhciogc19pbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHNTdHJpbmcgPSBSIigvKgorICogQ29weXJpZ2h0IChDKSAyMDEz
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMt
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisvLyBETyBOT1QgRURJVCBUSElTIEZJTEUuIEl0IGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJh
dGVkIGZyb20gZGVmaW5pdGlvbnMtd2l0aC1tYWMtcGxhdGZvcm0uanNvbgorLy8gYnkgdGhlIHNj
cmlwdDogU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWlu
c3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQorCisvLyBOZXR3b3JrLgorSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3Rlck5ldHdvcmtEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiTmV0d29yayIpOworSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLnJlc291cmNlTG9hZGVkIiwgW10p
OworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsubG9hZFJlc291cmNl
IiwgW10sIFtdKTsKK0luc3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIk5ldHdvcmsiKTsp
IjsKKworIyMjIEVuZCBGaWxlOiBJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuY3BwCisKICMjIyBC
ZWdpbiBGaWxlOiBUZXN0QWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJzLmgKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVu
dC5jcHAKaW5kZXggNjdlMjM4ODM0YmEwZjU2ZmZmZDc0OWFiMGFhZGViY2NiMmFkY2M3ZC4uNTQ0
ODc0YjhkM2M2OTA5MzI5NmFhODg5YmVlNDBmYTJiNjlmOTA3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAK
QEAgLTU0LDcgKzU0LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBsb2FkKCkKICAgICB7Ci0gICAg
ICAgIG1fcHJveHktPmxvYWQobV9kZWJ1Z2dhYmxlVHlwZSwgU3RyaW5nKCkpOworICAgICAgICBt
X3Byb3h5LT5sb2FkKG1fZGVidWdnYWJsZVR5cGUsIG1faW5zcGVjdG9yQ2xpZW50LmJhY2tlbmRD
b21tYW5kc1VSTCgpKTsKICAgICB9CiAKICAgICB2b2lkIHNob3coKQpAQCAtMTE3LDYgKzExNyw3
IEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZW5kV2ViSW5zcGVjdG9yRXZlbnQoY29u
c3QgU3RyaW5nJiBldmVudCkKIEhhc2hNYXA8U3RyaW5nLCBJbnNwZWN0b3I6OlJlbW90ZUluc3Bl
Y3RvckNvbm5lY3Rpb25DbGllbnQ6OkNhbGxIYW5kbGVyPiYgUmVtb3RlSW5zcGVjdG9yQ2xpZW50
OjpkaXNwYXRjaE1hcCgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U3Ry
aW5nLCBDYWxsSGFuZGxlcj4+IGRpc3BhdGNoTWFwID0gSGFzaE1hcDxTdHJpbmcsIENhbGxIYW5k
bGVyPih7CisgICAgICAgIHsgIkJhY2tlbmRDb21tYW5kcyJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhh
bmRsZXI+KCZSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldEJhY2tlbmRDb21tYW5kcykgfSwKICAg
ICAgICAgeyAiU2V0VGFyZ2V0TGlzdCJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1v
dGVJbnNwZWN0b3JDbGllbnQ6OnNldFRhcmdldExpc3QpIH0sCiAgICAgICAgIHsgIlNlbmRNZXNz
YWdlVG9Gcm9udGVuZCJfcywgc3RhdGljX2Nhc3Q8Q2FsbEhhbmRsZXI+KCZSZW1vdGVJbnNwZWN0
b3JDbGllbnQ6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZCkgfSwKICAgICB9KTsKQEAgLTE4Nyw2ICsx
ODgsMTQgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OmNsb3NlRnJvbUZyb250ZW5kKENv
bm5lY3Rpb25JRCBjb25uZWN0aW9uSUQsIFRhcmdldEkKICAgICBtX2luc3BlY3RvclByb3h5TWFw
LnJlbW92ZShzdGQ6Om1ha2VfcGFpcihjb25uZWN0aW9uSUQsIHRhcmdldElEKSk7CiB9CiAKK3Zv
aWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRCYWNrZW5kQ29tbWFuZHMoY29uc3QgRXZlbnQm
IGV2ZW50KQoreworICAgIGlmICghZXZlbnQubWVzc2FnZSB8fCBldmVudC5tZXNzYWdlLT5pc0Vt
cHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fYmFja2VuZENvbW1hbmRzVVJMID0gbWFr
ZVN0cmluZygiZGF0YTp0ZXh0L2phdmFzY3JpcHQ7YmFzZTY0LCIsIGV2ZW50Lm1lc3NhZ2UudmFs
dWUoKSk7Cit9CisKIHZvaWQgUmVtb3RlSW5zcGVjdG9yQ2xpZW50OjpzZXRUYXJnZXRMaXN0KGNv
bnN0IEV2ZW50JiBldmVudCkKIHsKICAgICBpZiAoIWV2ZW50LmNvbm5lY3Rpb25JRCB8fCAhZXZl
bnQubWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9S
ZW1vdGVJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9S
ZW1vdGVJbnNwZWN0b3JDbGllbnQuaAppbmRleCA3NTRhOTE0ZTdiYjBhOTgyOGMyMWZiOTYyNDlh
NTA0YjJiNmRiOTZhLi5kYWFkNGIyYTQ0OTc2ZjFkMTg5MWIxMmNiNTJlZDFlZTc3ODJlMDBkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9y
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvckNsaWVudC5oCkBAIC02Myw2ICs2Myw3IEBAIHB1YmxpYzoKICAgICB9OwogCiAgICAgY29u
c3QgSGFzaE1hcDxDb25uZWN0aW9uSUQsIFZlY3RvcjxUYXJnZXQ+PiYgdGFyZ2V0cygpIGNvbnN0
IHsgcmV0dXJuIG1fdGFyZ2V0czsgfQorICAgIGNvbnN0IFN0cmluZyYgYmFja2VuZENvbW1hbmRz
VVJMKCkgY29uc3QgeyByZXR1cm4gbV9iYWNrZW5kQ29tbWFuZHNVUkw7IH0KIAogICAgIHZvaWQg
aW5zcGVjdChDb25uZWN0aW9uSUQsIFRhcmdldElELCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lk
IHNlbmRNZXNzYWdlVG9CYWNrZW5kKENvbm5lY3Rpb25JRCwgVGFyZ2V0SUQsIGNvbnN0IFN0cmlu
ZyYpOwpAQCAtODMsNiArODQsNyBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZW5kV2ViSW5zcGVj
dG9yRXZlbnQoY29uc3QgU3RyaW5nJik7CiAKKyAgICBTdHJpbmcgbV9iYWNrZW5kQ29tbWFuZHNV
Ukw7CiAgICAgUmVtb3RlSW5zcGVjdG9yT2JzZXJ2ZXImIG1fb2JzZXJ2ZXI7CiAgICAgT3B0aW9u
YWw8Q29ubmVjdGlvbklEPiBtX2Nvbm5lY3Rpb25JRDsKICAgICBIYXNoTWFwPENvbm5lY3Rpb25J
RCwgVmVjdG9yPFRhcmdldD4+IG1fdGFyZ2V0czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3BwCmluZGV4IDJlNjA0NDc4YjJhZTg2ZmEzYmIz
YjNiMmE3ODdiYmEzZTVlZDUyZGEuLjdmYTA4MGI0ZjYxYzMzYTlmMDVmNDdiOGRhZGM1OGVhNjBj
NDFmNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNz
UG9vbFdpbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQ
b29sV2luLmNwcApAQCAtMjksMTUgKzI5LDI4IEBACiAKICNpbmNsdWRlICJXZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgot
I2luY2x1ZGUgPHd0Zi9GaWxlU3lzdGVtLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL1dlYkNvcmVCdW5kbGVXaW4uaD4KICNlbmRpZgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorc3RhdGljIFN0cmluZyBi
YWNrZW5kQ29tbWFuZHNQYXRoKCkKK3sKKyAgICBSZXRhaW5QdHI8Q0ZVUkxSZWY+IHVybFJlZiA9
IGFkb3B0Q0YoQ0ZCdW5kbGVDb3B5UmVzb3VyY2VVUkwoV2ViQ29yZTo6d2ViS2l0QnVuZGxlKCks
IENGU1RSKCJJbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMiKSwgQ0ZTVFIoImpzIiksIENGU1RSKCJX
ZWJJbnNwZWN0b3JVSVxcUHJvdG9jb2wiKSkpOworICAgIGlmICghdXJsUmVmKQorICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgY2hhciBwYXRoW01BWF9QQVRIXTsKKyAgICBpZiAoIUNGVVJMR2V0
RmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHVybFJlZi5nZXQoKSwgZmFsc2UsIHJlaW50ZXJwcmV0
X2Nhc3Q8VUludDgqPihwYXRoKSwgTUFYX1BBVEgpKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgcmV0dXJuIHBhdGg7Cit9CisKIHN0YXRpYyB2b2lkIGluaXRpYWxpemVSZW1vdGVJbnNwZWN0
b3JTZXJ2ZXIoU3RyaW5nVmlldyBhZGRyZXNzKQogewogICAgIGlmIChJbnNwZWN0b3I6OlJlbW90
ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuaXNSdW5uaW5nKCkpCkBAIC00NiwxMiArNTks
MTMgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZlcihTdHJpbmdW
aWV3IGFkZHJlc3MpCiAgICAgYXV0byBwb3MgPSBhZGRyZXNzLmZpbmQoJzonKTsKICAgICBpZiAo
cG9zID09IG5vdEZvdW5kKQogICAgICAgICByZXR1cm47CisKICAgICBhdXRvIGhvc3QgPSBhZGRy
ZXNzLnN1YnN0cmluZygwLCBwb3MpOwogICAgIGF1dG8gcG9ydCA9IGFkZHJlc3Muc3Vic3RyaW5n
KHBvcyArIDEpLnRvVUludDY0U3RyaWN0KCk7Ci0KICAgICBpZiAoIXBvcnQpCiAgICAgICAgIHJl
dHVybjsKIAorICAgIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzaW5nbGV0b24o
KS5zZXRCYWNrZW5kQ29tbWFuZHNQYXRoKGJhY2tlbmRDb21tYW5kc1BhdGgoKSk7CiAgICAgSW5z
cGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNpbmdsZXRvbigpLnN0YXJ0KGhvc3QudXRm
OCgpLmRhdGEoKSwgcG9ydC52YWx1ZSgpKTsKIH0KICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380054</attachid>
            <date>2019-10-02 13:53:18 -0700</date>
            <delta_ts>2019-10-03 13:54:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-202421-20191002135317.patch</filename>
            <type>text/plain</type>
            <size>10060</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZDQwYTRkYTIxMjY0NTU4YzM5MmViODFkZDU5NmRmNzk2MTE5ZTM0Li45NzkxOWY3YzEzMDY5NTEz
Yzc0ZWNkOGE4M2UwNzU1Njk0MDgzMDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOS0xMC0wMiAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXIuY3BwOgorICAgICAgICAoSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNl
dHVwSW5zcGVjdG9yQ2xpZW50KToKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9y
U2VydmVyOjpiYWNrZW5kQ29tbWFuZHMgY29uc3QpOgorICAgICAgICAqIGluc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oOgorICAgICAgICAoSW5zcGVjdG9yOjpS
ZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNldEJhY2tlbmRDb21tYW5kc1BhdGgpOgorICAgICAgICBB
c3N1bWluZyBhIHBhdGggdG8gSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIGhhcyBiZWVuIHBy
b3ZpZGVkLAorICAgICAgICByZWFkIHRoZSBmaWxlIGFuZCBzZW5kIG9mZiBpdHMgYmFzZTY0LWVu
Y29kZWQgY29udGVudHMgaW4gYSAiQmFja2VuZENvbW1hbmRzIiBtZXNzYWdlIHdoZW4gc2V0dGlu
ZyB1cCBhIGNsaWVudC4KKwogMjAxOS0xMC0wMiAgUGF1bG8gTWF0b3MgIDxwbWF0b3NAaWdhbGlh
LmNvbT4KIAogICAgICAgICBHYXJkZW5pbmcgYnVpbGQgZml4OiBIaWRlIHN0b3JlNjQvbG9hZDY0
IGZ1bmN0aW9ucyBmcm9tIDMyYml0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDhjOWE0ZWI0OGRiN2I0ZGJjNWY0YzUw
ZTlmYmIzNWU2ZDgzNGQxNzYuLjUwODI1OTIzMTAxZTM3ODc5MmVkZGZlYzg1ZTFkZWRkODQzMmU4
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTktMTAtMDIgIFJvc3MgS2lyc2xpbmcg
IDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFNvY2tldCBSV0kgY2xpZW50IHNo
b3VsZCBhY3F1aXJlIGJhY2tlbmQgY29tbWFuZHMgZnJvbSBzZXJ2ZXIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMjQyMQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL3NvY2tldC9SZW1v
dGVJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0b3JD
bGllbnQ6OmRpc3BhdGNoTWFwKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlSW5zcGVjdG9yQ2xp
ZW50OjpzZXRCYWNrZW5kQ29tbWFuZHMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9zb2NrZXQvUmVt
b3RlSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIFJlY2VpdmUgIkJhY2tlbmRDb21tYW5kcyIg
bWVzc2FnZSBmcm9tIHNlcnZlciAod2hpY2ggaXMgYWxyZWFkeSBiYXNlNjQtZW5jb2RlZCkgYW5k
IGhhbmQgaXQgb3ZlciB0byBSV0lQcm94eS4KKworICAgICAgICAqIFVJUHJvY2Vzcy93aW4vV2Vi
UHJvY2Vzc1Bvb2xXaW4uY3BwOgorICAgICAgICAoV2ViS2l0OjpiYWNrZW5kQ29tbWFuZHNQYXRo
KToKKyAgICAgICAgKFdlYktpdDo6aW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZlcik6Cisg
ICAgICAgIE9uIFdpbmRvd3MsIGluaXRpYWxpemUgc2VydmVyIHdpdGggdGhlIHBhdGggdG8gSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIGZyb20gdGhlIENGQnVuZGxlLgorCiAyMDE5LTEwLTAy
ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBQcm9wZXJseSBt
YXJrIGNhbmNlbGVkIHJlc291cmNlcyBpbiBOZXR3b3JrQWN0aXZpdHlUcmFja2VyCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3Rl
SW5zcGVjdG9yU2VydmVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVt
b3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuY3BwCmluZGV4IDdiZTBiYmE5OGVkMmVk
ZDE3NTFkNDAxNTE4ZDE3MWNmNjY1MGU2ODguLjEwMTU4MDllOTE4MjExNDBmZDI5NWI5ZmQ2ODUx
MmViYzJhNjJlMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
cmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIu
Y3BwCkBAIC0yOSw5ICsyOSwxMCBAQAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogCiAj
aW5jbHVkZSAiUmVtb3RlSW5zcGVjdG9yTWVzc2FnZVBhcnNlci5oIgotCisjaW5jbHVkZSA8d3Rm
L0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvQmFzZTY0Lmg+CiAKIG5hbWVzcGFj
ZSBJbnNwZWN0b3IgewogCkBAIC0xNTAsNiArMTUxLDExIEBAIHZvaWQgUmVtb3RlSW5zcGVjdG9y
U2VydmVyOjpzZXR1cEluc3BlY3RvckNsaWVudChjb25zdCBFdmVudCYpCiB7CiAgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKIAorICAgIGF1dG8gYmFja2VuZENvbW1hbmRzRXZlbnQgPSBKU09O
OjpPYmplY3Q6OmNyZWF0ZSgpOworICAgIGJhY2tlbmRDb21tYW5kc0V2ZW50LT5zZXRTdHJpbmco
ImV2ZW50Il9zLCAiQmFja2VuZENvbW1hbmRzIl9zKTsKKyAgICBiYWNrZW5kQ29tbWFuZHNFdmVu
dC0+c2V0U3RyaW5nKCJtZXNzYWdlIl9zLCBiYXNlNjRFbmNvZGUoYmFja2VuZENvbW1hbmRzKCku
dXRmOCgpKSk7CisgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KG1fY2xpZW50Q29ubmVjdGlvbi52
YWx1ZSgpLCBiYWNrZW5kQ29tbWFuZHNFdmVudC0+dG9KU09OU3RyaW5nKCkpOworCiAgICAgYXV0
byBzZXR1cEV2ZW50ID0gSlNPTjo6T2JqZWN0OjpjcmVhdGUoKTsKICAgICBzZXR1cEV2ZW50LT5z
ZXRTdHJpbmcoImV2ZW50Il9zLCAiR2V0VGFyZ2V0TGlzdCJfcyk7CiAKQEAgLTI0OSw2ICsyNTUs
MjkgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChj
b25zdCBFdmVudCYgZXZlbnQpCiAgICAgc2VuZFdlYkluc3BlY3RvckV2ZW50KG1fY2xpZW50Q29u
bmVjdGlvbi52YWx1ZSgpLCBzZW5kRXZlbnQtPnRvSlNPTlN0cmluZygpKTsKIH0KIAorU3RyaW5n
IFJlbW90ZUluc3BlY3RvclNlcnZlcjo6YmFja2VuZENvbW1hbmRzKCkgY29uc3QKK3sKKyAgICBp
ZiAobV9iYWNrZW5kQ29tbWFuZHNQYXRoLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIGF1dG8gaGFuZGxlID0gRmlsZVN5c3RlbTo6b3BlbkZpbGUobV9iYWNrZW5kQ29tbWFu
ZHNQYXRoLCBGaWxlU3lzdGVtOjpGaWxlT3Blbk1vZGU6OlJlYWQpOworICAgIGlmICghRmlsZVN5
c3RlbTo6aXNIYW5kbGVWYWxpZChoYW5kbGUpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAg
bG9uZyBsb25nIHNpemU7CisgICAgaWYgKCFGaWxlU3lzdGVtOjpnZXRGaWxlU2l6ZShoYW5kbGUs
IHNpemUpKSB7CisgICAgICAgIEZpbGVTeXN0ZW06OmNsb3NlRmlsZShoYW5kbGUpOworICAgICAg
ICByZXR1cm4geyB9OworICAgIH0KKworICAgIFZlY3RvcjxjaGFyPiBidWZmZXI7CisgICAgYnVm
ZmVyLnJlc2l6ZShzaXplKTsKKyAgICBhdXRvIGJ5dGVzUmVhZCA9IEZpbGVTeXN0ZW06OnJlYWRG
cm9tRmlsZShoYW5kbGUsIGJ1ZmZlci5kYXRhKCksIHNpemUpOworICAgIEZpbGVTeXN0ZW06OmNs
b3NlRmlsZShoYW5kbGUpOworCisgICAgcmV0dXJuIGJ5dGVzUmVhZCA9PSBzaXplID8gU3RyaW5n
KGJ1ZmZlci5kYXRhKCksIHNpemUpIDogU3RyaW5nKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIElu
c3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5z
cGVjdG9yU2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90ZS9z
b2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKaW5kZXggZWYxMWUwOWE4N2QyZmVjYzdiZDk0
MDY5ODVhMmFlYWFiNWYzYjlmNC4uMDkxZDk4OGY5YzJlYTQwYTkzMGZjYjMzMWM5NDIwNTY2NzU2
ZGJjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
c29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaApAQCAtNDYs
NiArNDYsOCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgT3B0aW9uYWw8dWludDE2
X3Q+IGxpc3RlbkZvclRhcmdldHMoKTsKICAgICBKU19FWFBPUlRfUFJJVkFURSBPcHRpb25hbDxQ
bGF0Zm9ybVNvY2tldFR5cGU+IGNvbm5lY3QoKTsKIAorICAgIHZvaWQgc2V0QmFja2VuZENvbW1h
bmRzUGF0aChjb25zdCBTdHJpbmcmIGJhY2tlbmRDb21tYW5kc1BhdGgpIHsgbV9iYWNrZW5kQ29t
bWFuZHNQYXRoID0gYmFja2VuZENvbW1hbmRzUGF0aDsgfQorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI+OwogICAgIFJlbW90
ZUluc3BlY3RvclNlcnZlcigpIHsgU29ja2V0Ojppbml0KCk7IH0KQEAgLTY3LDYgKzY5LDggQEAg
cHJpdmF0ZToKIAogICAgIHZvaWQgc2VuZFdlYkluc3BlY3RvckV2ZW50KENvbm5lY3Rpb25JRCwg
Y29uc3QgU3RyaW5nJik7CiAKKyAgICBTdHJpbmcgYmFja2VuZENvbW1hbmRzKCkgY29uc3Q7CisK
ICAgICBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+JiBkaXNwYXRjaE1hcCgpIG92ZXJyaWRl
OwogCiAgICAgSGFzaFNldDxzdGQ6OnBhaXI8Q29ubmVjdGlvbklELCBUYXJnZXRJRD4+IG1faW5z
cGVjdGlvblRhcmdldHM7CkBAIC04Miw2ICs4Niw4IEBAIHByaXZhdGU6CiAKICAgICAvLyBDb25u
ZWN0aW9uIGZyb20gUmVtb3RlSW5zcGVjdG9yQ2xpZW50LgogICAgIE9wdGlvbmFsPENvbm5lY3Rp
b25JRD4gbV9jbGllbnRDb25uZWN0aW9uOworCisgICAgU3RyaW5nIG1fYmFja2VuZENvbW1hbmRz
UGF0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRl
eCA2N2UyMzg4MzRiYTBmNTZmZmZkNzQ5YWIwYWFkZWJjY2IyYWRjYzdkLi41NDQ4NzRiOGQzYzY5
MDkzMjk2YWE4ODliZWU0MGZhMmI2OWY5MDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtNTQsNyAr
NTQsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQoKQogICAgIHsKLSAgICAgICAgbV9wcm94
eS0+bG9hZChtX2RlYnVnZ2FibGVUeXBlLCBTdHJpbmcoKSk7CisgICAgICAgIG1fcHJveHktPmxv
YWQobV9kZWJ1Z2dhYmxlVHlwZSwgbV9pbnNwZWN0b3JDbGllbnQuYmFja2VuZENvbW1hbmRzVVJM
KCkpOwogICAgIH0KIAogICAgIHZvaWQgc2hvdygpCkBAIC0xMTcsNiArMTE3LDcgQEAgdm9pZCBS
ZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNlbmRXZWJJbnNwZWN0b3JFdmVudChjb25zdCBTdHJpbmcm
IGV2ZW50KQogSGFzaE1hcDxTdHJpbmcsIEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yQ29ubmVj
dGlvbkNsaWVudDo6Q2FsbEhhbmRsZXI+JiBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OmRpc3BhdGNo
TWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTdHJpbmcsIENhbGxI
YW5kbGVyPj4gZGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+KHsKKyAg
ICAgICAgeyAiQmFja2VuZENvbW1hbmRzIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJl
bW90ZUluc3BlY3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRzKSB9LAogICAgICAgICB7ICJT
ZXRUYXJnZXRMaXN0Il9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3Rv
ckNsaWVudDo6c2V0VGFyZ2V0TGlzdCkgfSwKICAgICAgICAgeyAiU2VuZE1lc3NhZ2VUb0Zyb250
ZW5kIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3RvckNsaWVudDo6
c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKSB9LAogICAgIH0pOwpAQCAtMTg3LDYgKzE4OCwxNCBAQCB2
b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6Y2xvc2VGcm9tRnJvbnRlbmQoQ29ubmVjdGlvbklE
IGNvbm5lY3Rpb25JRCwgVGFyZ2V0SQogICAgIG1faW5zcGVjdG9yUHJveHlNYXAucmVtb3ZlKHN0
ZDo6bWFrZV9wYWlyKGNvbm5lY3Rpb25JRCwgdGFyZ2V0SUQpKTsKIH0KIAordm9pZCBSZW1vdGVJ
bnNwZWN0b3JDbGllbnQ6OnNldEJhY2tlbmRDb21tYW5kcyhjb25zdCBFdmVudCYgZXZlbnQpCit7
CisgICAgaWYgKCFldmVudC5tZXNzYWdlIHx8IGV2ZW50Lm1lc3NhZ2UtPmlzRW1wdHkoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9iYWNrZW5kQ29tbWFuZHNVUkwgPSBtYWtlU3RyaW5nKCJk
YXRhOnRleHQvamF2YXNjcmlwdDtiYXNlNjQsIiwgZXZlbnQubWVzc2FnZS52YWx1ZSgpKTsKK30K
Kwogdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldFRhcmdldExpc3QoY29uc3QgRXZlbnQm
IGV2ZW50KQogewogICAgIGlmICghZXZlbnQuY29ubmVjdGlvbklEIHx8ICFldmVudC5tZXNzYWdl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3Bl
Y3RvckNsaWVudC5oCmluZGV4IDc1NGE5MTRlN2JiMGE5ODI4YzIxZmI5NjI0OWE1MDRiMmI2ZGI5
NmEuLmRhYWQ0YjJhNDQ5NzZmMWQxODkxYjEyY2I1MmVkMWVlNzc4MmUwMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJbnNwZWN0b3JDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50
LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICBjb25zdCBIYXNoTWFw
PENvbm5lY3Rpb25JRCwgVmVjdG9yPFRhcmdldD4+JiB0YXJnZXRzKCkgY29uc3QgeyByZXR1cm4g
bV90YXJnZXRzOyB9CisgICAgY29uc3QgU3RyaW5nJiBiYWNrZW5kQ29tbWFuZHNVUkwoKSBjb25z
dCB7IHJldHVybiBtX2JhY2tlbmRDb21tYW5kc1VSTDsgfQogCiAgICAgdm9pZCBpbnNwZWN0KENv
bm5lY3Rpb25JRCwgVGFyZ2V0SUQsIGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2VuZE1lc3Nh
Z2VUb0JhY2tlbmQoQ29ubmVjdGlvbklELCBUYXJnZXRJRCwgY29uc3QgU3RyaW5nJik7CkBAIC04
Myw2ICs4NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNlbmRXZWJJbnNwZWN0b3JFdmVudChj
b25zdCBTdHJpbmcmKTsKIAorICAgIFN0cmluZyBtX2JhY2tlbmRDb21tYW5kc1VSTDsKICAgICBS
ZW1vdGVJbnNwZWN0b3JPYnNlcnZlciYgbV9vYnNlcnZlcjsKICAgICBPcHRpb25hbDxDb25uZWN0
aW9uSUQ+IG1fY29ubmVjdGlvbklEOwogICAgIEhhc2hNYXA8Q29ubmVjdGlvbklELCBWZWN0b3I8
VGFyZ2V0Pj4gbV90YXJnZXRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
d2luL1dlYlByb2Nlc3NQb29sV2luLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3dpbi9X
ZWJQcm9jZXNzUG9vbFdpbi5jcHAKaW5kZXggMmU2MDQ0NzhiMmFlODZmYTNiYjNiM2IyYTc4N2Ji
YTNlNWVkNTJkYS4uN2ZhMDgwYjRmNjFjMzNhOWYwNWY0N2I4ZGFkYzU4ZWE2MGM0MWY1MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2ViUHJvY2Vzc1Bvb2xXaW4uY3Bw
CkBAIC0yOSwxNSArMjksMjggQEAKIAogI2luY2x1ZGUgIldlYlByb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+Ci0jaW5jbHVkZSA8
d3RmL0ZpbGVTeXN0ZW0uaD4KIAogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvclNlcnZlci5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvV2ViQ29yZUJ1bmRsZVdpbi5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCitzdGF0aWMgU3RyaW5nIGJhY2tlbmRDb21t
YW5kc1BhdGgoKQoreworICAgIFJldGFpblB0cjxDRlVSTFJlZj4gdXJsUmVmID0gYWRvcHRDRihD
RkJ1bmRsZUNvcHlSZXNvdXJjZVVSTChXZWJDb3JlOjp3ZWJLaXRCdW5kbGUoKSwgQ0ZTVFIoIklu
c3BlY3RvckJhY2tlbmRDb21tYW5kcyIpLCBDRlNUUigianMiKSwgQ0ZTVFIoIldlYkluc3BlY3Rv
clVJXFxQcm90b2NvbCIpKSk7CisgICAgaWYgKCF1cmxSZWYpCisgICAgICAgIHJldHVybiB7IH07
CisKKyAgICBjaGFyIHBhdGhbTUFYX1BBVEhdOworICAgIGlmICghQ0ZVUkxHZXRGaWxlU3lzdGVt
UmVwcmVzZW50YXRpb24odXJsUmVmLmdldCgpLCBmYWxzZSwgcmVpbnRlcnByZXRfY2FzdDxVSW50
OCo+KHBhdGgpLCBNQVhfUEFUSCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
cGF0aDsKK30KKwogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJlbW90ZUluc3BlY3RvclNlcnZlcihT
dHJpbmdWaWV3IGFkZHJlc3MpCiB7CiAgICAgaWYgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9y
U2VydmVyOjpzaW5nbGV0b24oKS5pc1J1bm5pbmcoKSkKQEAgLTQ2LDEyICs1OSwxMyBAQCBzdGF0
aWMgdm9pZCBpbml0aWFsaXplUmVtb3RlSW5zcGVjdG9yU2VydmVyKFN0cmluZ1ZpZXcgYWRkcmVz
cykKICAgICBhdXRvIHBvcyA9IGFkZHJlc3MuZmluZCgnOicpOwogICAgIGlmIChwb3MgPT0gbm90
Rm91bmQpCiAgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gaG9zdCA9IGFkZHJlc3Muc3Vic3Ry
aW5nKDAsIHBvcyk7CiAgICAgYXV0byBwb3J0ID0gYWRkcmVzcy5zdWJzdHJpbmcocG9zICsgMSku
dG9VSW50NjRTdHJpY3QoKTsKLQogICAgIGlmICghcG9ydCkKICAgICAgICAgcmV0dXJuOwogCisg
ICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNpbmdsZXRvbigpLnNldEJhY2tl
bmRDb21tYW5kc1BhdGgoYmFja2VuZENvbW1hbmRzUGF0aCgpKTsKICAgICBJbnNwZWN0b3I6OlJl
bW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuc3RhcnQoaG9zdC51dGY4KCkuZGF0YSgp
LCBwb3J0LnZhbHVlKCkpOwogfQogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>380159</attachid>
            <date>2019-10-03 13:54:03 -0700</date>
            <delta_ts>2019-10-03 14:37:54 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-202421-20191003135402.patch</filename>
            <type>text/plain</type>
            <size>10021</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjUwNjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAw
ZDQwYTRkYTIxMjY0NTU4YzM5MmViODFkZDU5NmRmNzk2MTE5ZTM0Li41ZGI4NzljMWZjNzNlOGU2
MTc0MWJiODAxNTk1NzY1MmM2Mjk4ZjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxOS0xMC0wMyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgU29ja2V0IFJXSSBjbGllbnQgc2hvdWxkIGFjcXVpcmUgYmFja2Vu
ZCBjb21tYW5kcyBmcm9tIHNlcnZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjAyNDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGV2aW4gUm91c3Nv
LgorCisgICAgICAgICogaW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2Vy
dmVyLmNwcDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzZXR1
cEluc3BlY3RvckNsaWVudCk6CisgICAgICAgIChJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNl
cnZlcjo6YmFja2VuZENvbW1hbmRzIGNvbnN0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvcmVtb3Rl
L3NvY2tldC9SZW1vdGVJbnNwZWN0b3JTZXJ2ZXIuaDoKKyAgICAgICAgKEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yU2VydmVyOjpzZXRCYWNrZW5kQ29tbWFuZHNQYXRoKToKKyAgICAgICAgQXNz
dW1pbmcgYSBwYXRoIHRvIEluc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcyBoYXMgYmVlbiBwcm92
aWRlZCwKKyAgICAgICAgcmVhZCB0aGUgZmlsZSBhbmQgc2VuZCBvZmYgaXRzIGJhc2U2NC1lbmNv
ZGVkIGNvbnRlbnRzIGluIGEgIkJhY2tlbmRDb21tYW5kcyIgbWVzc2FnZSB3aGVuIHNldHRpbmcg
dXAgYSBjbGllbnQuCisKIDIwMTktMTAtMDIgIFBhdWxvIE1hdG9zICA8cG1hdG9zQGlnYWxpYS5j
b20+CiAKICAgICAgICAgR2FyZGVuaW5nIGJ1aWxkIGZpeDogSGlkZSBzdG9yZTY0L2xvYWQ2NCBm
dW5jdGlvbnMgZnJvbSAzMmJpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4YzlhNGViNDhkYjdiNGRiYzVmNGM1MGU5
ZmJiMzVlNmQ4MzRkMTc2Li5mYzMxNWQ2NmNjYmU1MWYyZmU4YTNlMjY2ZmI0NzE3MDMyMjUxNTYw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEwLTAzICBSb3NzIEtpcnNsaW5nICA8
cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBTb2NrZXQgUldJIGNsaWVudCBzaG91
bGQgYWNxdWlyZSBiYWNrZW5kIGNvbW1hbmRzIGZyb20gc2VydmVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDI0MjEKKworICAgICAgICBSZXZpZXdl
ZCBieSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgKiBVSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUlu
c3BlY3RvckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUluc3BlY3RvckNsaWVu
dDo6ZGlzcGF0Y2hNYXApOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbnNwZWN0b3JDbGllbnQ6
OnNldEJhY2tlbmRDb21tYW5kcyk6CisgICAgICAgICogVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJ
bnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgUmVjZWl2ZSAiQmFja2VuZENvbW1hbmRzIiBtZXNz
YWdlIGZyb20gc2VydmVyICh3aGljaCBpcyBhbHJlYWR5IGJhc2U2NC1lbmNvZGVkKSBhbmQgaGFu
ZCBpdCBvdmVyIHRvIFJXSVByb3h5LgorCisgICAgICAgICogVUlQcm9jZXNzL3dpbi9XZWJQcm9j
ZXNzUG9vbFdpbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OmJhY2tlbmRDb21tYW5kc1BhdGgpOgor
ICAgICAgICAoV2ViS2l0Ojppbml0aWFsaXplUmVtb3RlSW5zcGVjdG9yU2VydmVyKToKKyAgICAg
ICAgT24gV2luZG93cywgaW5pdGlhbGl6ZSBzZXJ2ZXIgd2l0aCB0aGUgcGF0aCB0byBJbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMgZnJvbSB0aGUgQ0ZCdW5kbGUuCisKIDIwMTktMTAtMDIgIEtl
aXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFByb3Blcmx5IG1hcmsg
Y2FuY2VsZWQgcmVzb3VyY2VzIGluIE5ldHdvcmtBY3Rpdml0eVRyYWNrZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNw
ZWN0b3JTZXJ2ZXIuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1vdGUv
c29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKaW5kZXggN2JlMGJiYTk4ZWQyZWRkMTc1
MWQ0MDE1MThkMTcxY2Y2NjUwZTY4OC4uNWRmZTk0YjczZWNiZjRiZDA2MWRlZWU3NjYwNzY1OTUw
N2Q2MTdjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9yZW1v
dGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5jcHAK
QEAgLTI5LDkgKzI5LDEwIEBACiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCiAKICNpbmNs
dWRlICJSZW1vdGVJbnNwZWN0b3JNZXNzYWdlUGFyc2VyLmgiCi0KKyNpbmNsdWRlIDx3dGYvRmls
ZVN5c3RlbS5oPgogI2luY2x1ZGUgPHd0Zi9KU09OVmFsdWVzLmg+CiAjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9CYXNlNjQuaD4KIAogbmFtZXNwYWNlIElu
c3BlY3RvciB7CiAKQEAgLTE1MCw2ICsxNTEsMTEgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JTZXJ2
ZXI6OnNldHVwSW5zcGVjdG9yQ2xpZW50KGNvbnN0IEV2ZW50JikKIHsKICAgICBBU1NFUlQoaXNN
YWluVGhyZWFkKCkpOwogCisgICAgYXV0byBiYWNrZW5kQ29tbWFuZHNFdmVudCA9IEpTT046Ok9i
amVjdDo6Y3JlYXRlKCk7CisgICAgYmFja2VuZENvbW1hbmRzRXZlbnQtPnNldFN0cmluZygiZXZl
bnQiX3MsICJCYWNrZW5kQ29tbWFuZHMiX3MpOworICAgIGJhY2tlbmRDb21tYW5kc0V2ZW50LT5z
ZXRTdHJpbmcoIm1lc3NhZ2UiX3MsIGJhc2U2NEVuY29kZShiYWNrZW5kQ29tbWFuZHMoKS51dGY4
KCkpKTsKKyAgICBzZW5kV2ViSW5zcGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0aW9uLnZhbHVl
KCksIGJhY2tlbmRDb21tYW5kc0V2ZW50LT50b0pTT05TdHJpbmcoKSk7CisKICAgICBhdXRvIHNl
dHVwRXZlbnQgPSBKU09OOjpPYmplY3Q6OmNyZWF0ZSgpOwogICAgIHNldHVwRXZlbnQtPnNldFN0
cmluZygiZXZlbnQiX3MsICJHZXRUYXJnZXRMaXN0Il9zKTsKIApAQCAtMjQ5LDYgKzI1NSwyNiBA
QCB2b2lkIFJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0
IEV2ZW50JiBldmVudCkKICAgICBzZW5kV2ViSW5zcGVjdG9yRXZlbnQobV9jbGllbnRDb25uZWN0
aW9uLnZhbHVlKCksIHNlbmRFdmVudC0+dG9KU09OU3RyaW5nKCkpOwogfQogCitTdHJpbmcgUmVt
b3RlSW5zcGVjdG9yU2VydmVyOjpiYWNrZW5kQ29tbWFuZHMoKSBjb25zdAoreworICAgIGlmICht
X2JhY2tlbmRDb21tYW5kc1BhdGguaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgYXV0byBoYW5kbGUgPSBGaWxlU3lzdGVtOjpvcGVuRmlsZShtX2JhY2tlbmRDb21tYW5kc1Bh
dGgsIEZpbGVTeXN0ZW06OkZpbGVPcGVuTW9kZTo6UmVhZCk7CisgICAgaWYgKCFGaWxlU3lzdGVt
Ojppc0hhbmRsZVZhbGlkKGhhbmRsZSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBTdHJp
bmcgcmVzdWx0OworICAgIGxvbmcgbG9uZyBzaXplOworICAgIGlmIChGaWxlU3lzdGVtOjpnZXRG
aWxlU2l6ZShoYW5kbGUsIHNpemUpKSB7CisgICAgICAgIFZlY3RvcjxMQ2hhcj4gYnVmZmVyKHNp
emUpOworICAgICAgICBpZiAoRmlsZVN5c3RlbTo6cmVhZEZyb21GaWxlKGhhbmRsZSwgcmVpbnRl
cnByZXRfY2FzdDxjaGFyKj4oYnVmZmVyLmRhdGEoKSksIHNpemUpID09IHNpemUpCisgICAgICAg
ICAgICByZXN1bHQgPSBTdHJpbmc6OmFkb3B0KFdURk1vdmUoYnVmZmVyKSk7CisgICAgfQorICAg
IEZpbGVTeXN0ZW06OmNsb3NlRmlsZShoYW5kbGUpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIEluc3BlY3RvcgogCiAjZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQ
RUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3JlbW90
ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3JlbW90ZS9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yU2VydmVyLmgKaW5kZXggZWYx
MWUwOWE4N2QyZmVjYzdiZDk0MDY5ODVhMmFlYWFiNWYzYjlmNC4uMDkxZDk4OGY5YzJlYTQwYTkz
MGZjYjMzMWM5NDIwNTY2NzU2ZGJjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9yZW1vdGUvc29ja2V0L1JlbW90ZUluc3BlY3RvclNlcnZlci5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcmVtb3RlL3NvY2tldC9SZW1vdGVJbnNwZWN0
b3JTZXJ2ZXIuaApAQCAtNDYsNiArNDYsOCBAQCBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BSSVZB
VEUgT3B0aW9uYWw8dWludDE2X3Q+IGxpc3RlbkZvclRhcmdldHMoKTsKICAgICBKU19FWFBPUlRf
UFJJVkFURSBPcHRpb25hbDxQbGF0Zm9ybVNvY2tldFR5cGU+IGNvbm5lY3QoKTsKIAorICAgIHZv
aWQgc2V0QmFja2VuZENvbW1hbmRzUGF0aChjb25zdCBTdHJpbmcmIGJhY2tlbmRDb21tYW5kc1Bh
dGgpIHsgbV9iYWNrZW5kQ29tbWFuZHNQYXRoID0gYmFja2VuZENvbW1hbmRzUGF0aDsgfQorCiBw
cml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxSZW1vdGVJbnNwZWN0b3JT
ZXJ2ZXI+OwogICAgIFJlbW90ZUluc3BlY3RvclNlcnZlcigpIHsgU29ja2V0Ojppbml0KCk7IH0K
QEAgLTY3LDYgKzY5LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2VuZFdlYkluc3BlY3RvckV2
ZW50KENvbm5lY3Rpb25JRCwgY29uc3QgU3RyaW5nJik7CiAKKyAgICBTdHJpbmcgYmFja2VuZENv
bW1hbmRzKCkgY29uc3Q7CisKICAgICBIYXNoTWFwPFN0cmluZywgQ2FsbEhhbmRsZXI+JiBkaXNw
YXRjaE1hcCgpIG92ZXJyaWRlOwogCiAgICAgSGFzaFNldDxzdGQ6OnBhaXI8Q29ubmVjdGlvbklE
LCBUYXJnZXRJRD4+IG1faW5zcGVjdGlvblRhcmdldHM7CkBAIC04Miw2ICs4Niw4IEBAIHByaXZh
dGU6CiAKICAgICAvLyBDb25uZWN0aW9uIGZyb20gUmVtb3RlSW5zcGVjdG9yQ2xpZW50LgogICAg
IE9wdGlvbmFsPENvbm5lY3Rpb25JRD4gbV9jbGllbnRDb25uZWN0aW9uOworCisgICAgU3RyaW5n
IG1fYmFja2VuZENvbW1hbmRzUGF0aDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIEluc3BlY3Rvcgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc29ja2V0L1JlbW90ZUluc3BlY3Rv
ckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVj
dG9yQ2xpZW50LmNwcAppbmRleCA2N2UyMzg4MzRiYTBmNTZmZmZkNzQ5YWIwYWFkZWJjY2IyYWRj
YzdkLi41NDQ4NzRiOGQzYzY5MDkzMjk2YWE4ODliZWU0MGZhMmI2OWY5MDc4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVtb3RlSW5zcGVjdG9yQ2xp
ZW50LmNwcApAQCAtNTQsNyArNTQsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGxvYWQoKQogICAg
IHsKLSAgICAgICAgbV9wcm94eS0+bG9hZChtX2RlYnVnZ2FibGVUeXBlLCBTdHJpbmcoKSk7Cisg
ICAgICAgIG1fcHJveHktPmxvYWQobV9kZWJ1Z2dhYmxlVHlwZSwgbV9pbnNwZWN0b3JDbGllbnQu
YmFja2VuZENvbW1hbmRzVVJMKCkpOwogICAgIH0KIAogICAgIHZvaWQgc2hvdygpCkBAIC0xMTcs
NiArMTE3LDcgQEAgdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNlbmRXZWJJbnNwZWN0b3JF
dmVudChjb25zdCBTdHJpbmcmIGV2ZW50KQogSGFzaE1hcDxTdHJpbmcsIEluc3BlY3Rvcjo6UmVt
b3RlSW5zcGVjdG9yQ29ubmVjdGlvbkNsaWVudDo6Q2FsbEhhbmRsZXI+JiBSZW1vdGVJbnNwZWN0
b3JDbGllbnQ6OmRpc3BhdGNoTWFwKCkKIHsKICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SGFz
aE1hcDxTdHJpbmcsIENhbGxIYW5kbGVyPj4gZGlzcGF0Y2hNYXAgPSBIYXNoTWFwPFN0cmluZywg
Q2FsbEhhbmRsZXI+KHsKKyAgICAgICAgeyAiQmFja2VuZENvbW1hbmRzIl9zLCBzdGF0aWNfY2Fz
dDxDYWxsSGFuZGxlcj4oJlJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0QmFja2VuZENvbW1hbmRz
KSB9LAogICAgICAgICB7ICJTZXRUYXJnZXRMaXN0Il9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxl
cj4oJlJlbW90ZUluc3BlY3RvckNsaWVudDo6c2V0VGFyZ2V0TGlzdCkgfSwKICAgICAgICAgeyAi
U2VuZE1lc3NhZ2VUb0Zyb250ZW5kIl9zLCBzdGF0aWNfY2FzdDxDYWxsSGFuZGxlcj4oJlJlbW90
ZUluc3BlY3RvckNsaWVudDo6c2VuZE1lc3NhZ2VUb0Zyb250ZW5kKSB9LAogICAgIH0pOwpAQCAt
MTg3LDYgKzE4OCwxNCBAQCB2b2lkIFJlbW90ZUluc3BlY3RvckNsaWVudDo6Y2xvc2VGcm9tRnJv
bnRlbmQoQ29ubmVjdGlvbklEIGNvbm5lY3Rpb25JRCwgVGFyZ2V0SQogICAgIG1faW5zcGVjdG9y
UHJveHlNYXAucmVtb3ZlKHN0ZDo6bWFrZV9wYWlyKGNvbm5lY3Rpb25JRCwgdGFyZ2V0SUQpKTsK
IH0KIAordm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldEJhY2tlbmRDb21tYW5kcyhjb25z
dCBFdmVudCYgZXZlbnQpCit7CisgICAgaWYgKCFldmVudC5tZXNzYWdlIHx8IGV2ZW50Lm1lc3Nh
Z2UtPmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9iYWNrZW5kQ29tbWFuZHNV
UkwgPSBtYWtlU3RyaW5nKCJkYXRhOnRleHQvamF2YXNjcmlwdDtiYXNlNjQsIiwgZXZlbnQubWVz
c2FnZS52YWx1ZSgpKTsKK30KKwogdm9pZCBSZW1vdGVJbnNwZWN0b3JDbGllbnQ6OnNldFRhcmdl
dExpc3QoY29uc3QgRXZlbnQmIGV2ZW50KQogewogICAgIGlmICghZXZlbnQuY29ubmVjdGlvbklE
IHx8ICFldmVudC5tZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
c29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
c29ja2V0L1JlbW90ZUluc3BlY3RvckNsaWVudC5oCmluZGV4IDc1NGE5MTRlN2JiMGE5ODI4YzIx
ZmI5NjI0OWE1MDRiMmI2ZGI5NmEuLmRhYWQ0YjJhNDQ5NzZmMWQxODkxYjEyY2I1MmVkMWVlNzc4
MmUwMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvY2tldC9SZW1vdGVJ
bnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb2NrZXQvUmVt
b3RlSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTYzLDYgKzYzLDcgQEAgcHVibGljOgogICAgIH07CiAK
ICAgICBjb25zdCBIYXNoTWFwPENvbm5lY3Rpb25JRCwgVmVjdG9yPFRhcmdldD4+JiB0YXJnZXRz
KCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXRzOyB9CisgICAgY29uc3QgU3RyaW5nJiBiYWNrZW5k
Q29tbWFuZHNVUkwoKSBjb25zdCB7IHJldHVybiBtX2JhY2tlbmRDb21tYW5kc1VSTDsgfQogCiAg
ICAgdm9pZCBpbnNwZWN0KENvbm5lY3Rpb25JRCwgVGFyZ2V0SUQsIGNvbnN0IFN0cmluZyYpOwog
ICAgIHZvaWQgc2VuZE1lc3NhZ2VUb0JhY2tlbmQoQ29ubmVjdGlvbklELCBUYXJnZXRJRCwgY29u
c3QgU3RyaW5nJik7CkBAIC04Myw2ICs4NCw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNlbmRX
ZWJJbnNwZWN0b3JFdmVudChjb25zdCBTdHJpbmcmKTsKIAorICAgIFN0cmluZyBtX2JhY2tlbmRD
b21tYW5kc1VSTDsKICAgICBSZW1vdGVJbnNwZWN0b3JPYnNlcnZlciYgbV9vYnNlcnZlcjsKICAg
ICBPcHRpb25hbDxDb25uZWN0aW9uSUQ+IG1fY29ubmVjdGlvbklEOwogICAgIEhhc2hNYXA8Q29u
bmVjdGlvbklELCBWZWN0b3I8VGFyZ2V0Pj4gbV90YXJnZXRzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3Mvd2luL1dlYlByb2Nlc3NQb29sV2luLmNwcCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL3dpbi9XZWJQcm9jZXNzUG9vbFdpbi5jcHAKaW5kZXggMmU2MDQ0NzhiMmFl
ODZmYTNiYjNiM2IyYTc4N2JiYTNlNWVkNTJkYS4uN2ZhMDgwYjRmNjFjMzNhOWYwNWY0N2I4ZGFk
YzU4ZWE2MGM0MWY1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvd2luL1dl
YlByb2Nlc3NQb29sV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy93aW4vV2Vi
UHJvY2Vzc1Bvb2xXaW4uY3BwCkBAIC0yOSwxNSArMjksMjggQEAKIAogI2luY2x1ZGUgIldlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVu
dGVkLmg+Ci0jaW5jbHVkZSA8d3RmL0ZpbGVTeXN0ZW0uaD4KIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUluc3BlY3RvclNlcnZl
ci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV2ViQ29yZUJ1bmRsZVdpbi5oPgogI2VuZGlmCiAKIG5h
bWVzcGFjZSBXZWJLaXQgewogCiAjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCitzdGF0aWMg
U3RyaW5nIGJhY2tlbmRDb21tYW5kc1BhdGgoKQoreworICAgIFJldGFpblB0cjxDRlVSTFJlZj4g
dXJsUmVmID0gYWRvcHRDRihDRkJ1bmRsZUNvcHlSZXNvdXJjZVVSTChXZWJDb3JlOjp3ZWJLaXRC
dW5kbGUoKSwgQ0ZTVFIoIkluc3BlY3RvckJhY2tlbmRDb21tYW5kcyIpLCBDRlNUUigianMiKSwg
Q0ZTVFIoIldlYkluc3BlY3RvclVJXFxQcm90b2NvbCIpKSk7CisgICAgaWYgKCF1cmxSZWYpCisg
ICAgICAgIHJldHVybiB7IH07CisKKyAgICBjaGFyIHBhdGhbTUFYX1BBVEhdOworICAgIGlmICgh
Q0ZVUkxHZXRGaWxlU3lzdGVtUmVwcmVzZW50YXRpb24odXJsUmVmLmdldCgpLCBmYWxzZSwgcmVp
bnRlcnByZXRfY2FzdDxVSW50OCo+KHBhdGgpLCBNQVhfUEFUSCkpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICByZXR1cm4gcGF0aDsKK30KKwogc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVJlbW90
ZUluc3BlY3RvclNlcnZlcihTdHJpbmdWaWV3IGFkZHJlc3MpCiB7CiAgICAgaWYgKEluc3BlY3Rv
cjo6UmVtb3RlSW5zcGVjdG9yU2VydmVyOjpzaW5nbGV0b24oKS5pc1J1bm5pbmcoKSkKQEAgLTQ2
LDEyICs1OSwxMyBAQCBzdGF0aWMgdm9pZCBpbml0aWFsaXplUmVtb3RlSW5zcGVjdG9yU2VydmVy
KFN0cmluZ1ZpZXcgYWRkcmVzcykKICAgICBhdXRvIHBvcyA9IGFkZHJlc3MuZmluZCgnOicpOwog
ICAgIGlmIChwb3MgPT0gbm90Rm91bmQpCiAgICAgICAgIHJldHVybjsKKwogICAgIGF1dG8gaG9z
dCA9IGFkZHJlc3Muc3Vic3RyaW5nKDAsIHBvcyk7CiAgICAgYXV0byBwb3J0ID0gYWRkcmVzcy5z
dWJzdHJpbmcocG9zICsgMSkudG9VSW50NjRTdHJpY3QoKTsKLQogICAgIGlmICghcG9ydCkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgSW5zcGVjdG9yOjpSZW1vdGVJbnNwZWN0b3JTZXJ2ZXI6OnNp
bmdsZXRvbigpLnNldEJhY2tlbmRDb21tYW5kc1BhdGgoYmFja2VuZENvbW1hbmRzUGF0aCgpKTsK
ICAgICBJbnNwZWN0b3I6OlJlbW90ZUluc3BlY3RvclNlcnZlcjo6c2luZ2xldG9uKCkuc3RhcnQo
aG9zdC51dGY4KCkuZGF0YSgpLCBwb3J0LnZhbHVlKCkpOwogfQogI2VuZGlmCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>