<?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>156645</bug_id>
          
          <creation_ts>2016-04-15 14:22:15 -0700</creation_ts>
          <short_desc>New SPI to export a dictionary of runtime features</short_desc>
          <delta_ts>2016-04-25 10:33:16 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>achristensen</cc>
    
    <cc>eoconnor</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1184223</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 14:22:15 -0700</bug_when>
    <thetext>New SPI to export a dictionary of runtime features</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184225</commentid>
    <comment_count>1</comment_count>
      <attachid>276511</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 14:26:34 -0700</bug_when>
    <thetext>Created attachment 276511
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184226</commentid>
    <comment_count>2</comment_count>
      <attachid>276511</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 14:27:03 -0700</bug_when>
    <thetext>Comment on attachment 276511
Patch

Not for review yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184239</commentid>
    <comment_count>3</comment_count>
      <attachid>276511</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-04-15 15:02:33 -0700</bug_when>
    <thetext>Comment on attachment 276511
Patch

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

&gt; Source/WebKit2/Shared/WebPreferencesDefinitions.h:101
&gt;  // macro(KeyUpper, KeyLower, TypeNameUpper, TypeName, DefaultValue)

Please update this comment.

&gt; Source/WebKit2/Shared/WebPreferencesKeys.cpp:34
&gt; +#define DEFINE_KEY_GETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue, Name, Details) \

I think name and Details need to be more descriptive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184252</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 15:45:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/23621666&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184266</commentid>
    <comment_count>5</comment_count>
      <attachid>276524</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 16:43:44 -0700</bug_when>
    <thetext>Created attachment 276524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184308</commentid>
    <comment_count>6</comment_count>
      <attachid>276538</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 19:03:25 -0700</bug_when>
    <thetext>Created attachment 276538
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184309</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 19:03:46 -0700</bug_when>
    <thetext>Updated after comments from Anders</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184310</commentid>
    <comment_count>8</comment_count>
      <attachid>276538</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-15 19:07:22 -0700</bug_when>
    <thetext>Comment on attachment 276538
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm:430
&gt; +    Vector&lt;RefPtr&lt;API::Object&gt;&gt; experimentalFeatures = WebKit::WebPreferences::experimentalFeatures();
&gt; +    Ref&lt;API::Array&gt; descriptions = API::Array::create(WTFMove(experimentalFeatures));
&gt; +    return [wrapper(descriptions.leakRef()) autorelease];

I really wanted WebKit::WebPreferences::experimentalFeatures() to return a Vector&lt;RefPtr&lt;API::ExperimentalFeature&gt;&gt;. However, the API::Array::create didn&apos;t accept such a type, and I was unable to cast from Vector&lt;RefPtr&lt;API::ExperimentalFeature&gt;&gt; to Vector&lt;RefPtr&lt;API::Object&gt;&gt;.

Is there a way to do it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184368</commentid>
    <comment_count>9</comment_count>
      <attachid>276538</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-16 10:40:31 -0700</bug_when>
    <thetext>Comment on attachment 276538
Patch

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

Patch looks fine as is, r=me without changes. I have some suggestions for making it better.

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm:430
&gt;&gt; +    return [wrapper(descriptions.leakRef()) autorelease];
&gt; 
&gt; I really wanted WebKit::WebPreferences::experimentalFeatures() to return a Vector&lt;RefPtr&lt;API::ExperimentalFeature&gt;&gt;. However, the API::Array::create didn&apos;t accept such a type, and I was unable to cast from Vector&lt;RefPtr&lt;API::ExperimentalFeature&gt;&gt; to Vector&lt;RefPtr&lt;API::Object&gt;&gt;.
&gt; 
&gt; Is there a way to do it?

There’s no way to cast. We’d have to copy the vector to change from a more specific type to a less specific type. And API::Array::create takes a specific type because it moves the passed-in vector in. If we added functions for API::Array::create that were more flexible about the vector type, they would have to copy the vector rather than moving it in.

I suggest using &quot;auto&quot; when writing code like this, rather than writing out the types, and also not using as many local variables. I think I would have written this:

    auto features = WebKit::WebPreferences::experimentalFeatures();
    return  [wrapper(API::Array::create(WTFMove(features)).leakRef()) autorelease];

I’m keeping the local variable for the features because we’d probably want to change experimentalFeatures to return a const&amp; to a global vector rather than returning a new one every time. If we kept it returning a Vector then we would probably want to eliminate that local just so we don’t have to explicitly do WTFMove.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h:95
&gt; +- (void)_setEnabled:(BOOL)value forFeature:(_WKExperimentalFeature *)feature;
&gt; +
&gt; +
&gt;  @end

Extra blank line here. Please remove one.

&gt; Source/WebKit2/UIProcess/WebPreferences.cpp:195
&gt; +    static NeverDestroyed&lt;Vector&lt;RefPtr&lt;API::Object&gt;&gt;&gt; features;

I believe the GTK and EFL builds are failing because this file needs to include &lt;wtf/NeverDestroyed.h&gt;. In the other ports I am guessing it’s indirectly included by some header.

&gt; Source/WebKit2/UIProcess/WebPreferences.cpp:199
&gt; +    apiFeature = API::ExperimentalFeature::create(HumanReadableName, #KeyUpper, HumanReadableDescription); \
&gt; +    features.get().append(apiFeature); \

No need for the local variable here. Better to just write:

    features.get().append(API::ExperimentalFeature::create(HumanReadableName, #KeyUpper, HumanReadableDescription));

&gt; Source/WebKit2/UIProcess/WebPreferences.cpp:201
&gt; +    if (!features.get().size()) {

Nicer to write this as two functions so we don’t have do this &quot;check the size&quot; thing. I suggest:

    static Vector&lt;RefPtr&lt;API::Object&gt;&gt; createExperimentalFeaturesVector()
    {
        Vector&lt;RefPtr&lt;API::Object&gt;&gt; features;
        // ...
        return features;
    }

Then below:

    const Vector&lt;RefPtr&lt;API::Object&gt;&gt;&amp; WebPreferences::experimentalFeatures()
    {
        static NeverDestroyed&lt;Vector&lt;RefPtr&lt;API::Object&gt;&gt;&gt; features = createExperimentalFeaturesVector();
        return features;
    }

Annoying that every time someone calls WebPreferences::experimentalFeatures it creates a new vector. Instead return type should be const&amp;. That does mean we’d have to explicitly copy the vector in -[WKPreferences _experimentalFeatures], but I think that’s a better place to do it, since the need for a new vector comes out of the way API::Array works. The way the code is currently written, the copying would happen automatically if the type was const Vector&amp;.

Given that there is not already a vector present to be adopted by API::Array, we could make this return Vector&lt;RefPtr&lt;API::ExperimentalFeature&gt;&gt; and then add a function, whether hand-written or template, external or built into API::Array that takes a const Vector&amp; and makes a new vector and calls API::Array::create on that. But I’m not sure any of that is worth the effort.

&gt; Source/WebKit2/UIProcess/WebPreferences.cpp:225
&gt; +    if (key == #KeyUpper) \
&gt; +        return KeyLower(); \

Rather than having the code unrolled like this I think it’s better to use the macro to generate a global constant table with a string and a function pointer for each and use a loop, or even a hash table (loop for now, I think).

&gt; Source/WebKit2/UIProcess/WebPreferences.cpp:240
&gt; +    if (key == #KeyUpper) \
&gt; +        set##KeyUpper(value); \

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184872</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-18 18:47:59 -0700</bug_when>
    <thetext>Committed r199700: &lt;http://trac.webkit.org/changeset/199700&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184873</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2016-04-18 18:51:25 -0700</bug_when>
    <thetext>Committed with most of Darin&apos;s comments addressed. Will still need a followup about the function table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184874</commentid>
    <comment_count>12</comment_count>
      <attachid>276538</attachid>
    <who name="">mitz</who>
    <bug_when>2016-04-18 18:51:39 -0700</bug_when>
    <thetext>Comment on attachment 276538
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h:92
&gt; ++ (WK_ARRAY(_WKExperimentalFeature *) *)_experimentalFeatures;
&gt; +- (BOOL)_isEnabledForFeature:(_WKExperimentalFeature *)feature;
&gt; +- (void)_setEnabled:(BOOL)value forFeature:(_WKExperimentalFeature *)feature;

These need availability annotations.

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKExperimentalFeature.h:32
&gt; +WK_CLASS_AVAILABLE(10_11, 9_0)

This doesn’t seem right. Was this API available in OS X 10.11 and iOS 9.0?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184893</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-04-18 21:00:44 -0700</bug_when>
    <thetext>This broke the build:

https://build.webkit.org/builders/Apple%20Yosemite%20Release%20%28Build%29/builds/14411/steps/compile-webkit/logs/errors</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184897</commentid>
    <comment_count>14</comment_count>
    <who name="">mitz</who>
    <bug_when>2016-04-18 21:05:46 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; This broke the build:
&gt; 
&gt; https://build.webkit.org/builders/Apple%20Yosemite%20Release%20%28Build%29/
&gt; builds/14411/steps/compile-webkit/logs/errors

I expect &lt;http://trac.webkit.org/r199705&gt; to have fixed this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1184929</commentid>
    <comment_count>15</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-18 23:06:14 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Committed r199700: &lt;http://trac.webkit.org/changeset/199700&gt;

It broke the Apple Mac cmake build, see build.webkit.org for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186977</commentid>
    <comment_count>16</comment_count>
    <who name="">mitz</who>
    <bug_when>2016-04-25 10:33:16 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 276538 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=276538&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h:92
&gt; &gt; ++ (WK_ARRAY(_WKExperimentalFeature *) *)_experimentalFeatures;
&gt; &gt; +- (BOOL)_isEnabledForFeature:(_WKExperimentalFeature *)feature;
&gt; &gt; +- (void)_setEnabled:(BOOL)value forFeature:(_WKExperimentalFeature *)feature;
&gt; 
&gt; These need availability annotations.

Added in &lt;http://trac.webkit.org/r200033&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276511</attachid>
            <date>2016-04-15 14:26:34 -0700</date>
            <delta_ts>2016-04-15 16:43:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156645-20160416072642.patch</filename>
            <type>text/plain</type>
            <size>82201</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjExYzczMjkwOWEyOTE5
YzliYWZlMTJiYTk4ODVmNDE4MjEwOTA1YS4uYjRkNDE1NDg0NjY5OTI5MTM0YWM0Yzg3ZjViNzQ5
NWY4ODIxYjU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDE2LTA0LTE1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgU1BJIHRvIGV4cG9ydCBh
IGRpY3Rpb25hcnkgb2YgcnVudGltZSBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IHR5cGUgb2YgUHJlZmVyZW5jZSBmb3Ig
ZXhwZXJpbWVudGFsIGZlYXR1cmVzIHNvIHRoYXQgd2UKKyAgICAgICAgY2FuIGR5bmFtaWNhbGx5
IHRvZ2dsZSB0aGVtIGZyb20gYSBXZWJLaXQyIGhvc3QuIFRoZXNlIGFyZSBzcGVjaWFsCisgICAg
ICAgIGtleXMgdGhhdCBhcmUgdGllZCB0byBydW50aW1lIGZsYWdzLiBUaGUgaG9zdCBwcm9jZXNz
IGNhbiBhc2sgV2ViS2l0CisgICAgICAgIGZvciB0aGUgbGlzdCBvZiBrZXlzLCBlYWNoIHdpdGgg
YSBzbWFsbCBkZXNjcmlwdGlvbiwgaW4gb3JkZXIgdG8KKyAgICAgICAgZGlzcGxheSBVSS4KKwor
ICAgICAgICAqIFNoYXJlZC9BUEkvQVBJT2JqZWN0Lmg6CisgICAgICAgICogU2hhcmVkL0FQSS9j
L1dLQmFzZS5oOgorICAgICAgICAqIFNoYXJlZC9Db2NvYS9BUElPYmplY3QubW06CisgICAgICAg
IChBUEk6Ok9iamVjdDo6bmV3T2JqZWN0KToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3Bw
OgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaDoKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OmRlZmF1bHRzKToK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlv
bi5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tl
eXMuY3BwLgorICAgICAgICAoQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb246OmNy
ZWF0ZSk6CisgICAgICAgIChBUEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbjo6RXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uKToKKyAgICAgICAgKEFQSTo6RXhwZXJpbWVudGFs
RmVhdHVyZURlc2NyaXB0aW9uOjp+RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmgu
CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5jcHA6IENvcGll
ZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaC4KKyAgICAg
ICAgKFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uR2V0VHlwZUlEKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0MvV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWYuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbToKKyAgICAgICAg
KCtbV0tQcmVmZXJlbmNlcyBfZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uc10pOgorICAg
ICAgICAoLVtXS1ByZWZlcmVuY2VzIF9wcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpd
KToKKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0UHJlZmVyZW5jZUZvckV4cGVyaW1lbnRh
bEZlYXR1cmU6dG9WYWx1ZTpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJl
ZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLm1tOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmguCisgICAgICAgICgtW19XS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiBkZWFsbG9jXSk6CisgICAgICAgICgtW19XS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiBkZXNjcmlwdGlvbl0pOgorICAgICAgICAoLVtf
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24gbmFtZV0pOgorICAgICAgICAoLVtfV0tF
eHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24ga2V5XSk6CisgICAgICAgICgtW19XS0V4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiBkZXRhaWxzXSk6CisgICAgICAgICgtW19XS0V4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiBfYXBpT2JqZWN0XSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25JbnRlcm5hbC5o
OiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmgu
CisgICAgICAgIChXZWJLaXQ6OndyYXBwZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVm
ZXJlbmNlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbEV4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6ZXhwZXJpbWVu
dGFsRmVhdHVyZURlc2NyaXB0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
OjpwcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzOjpzZXRQcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZSk6CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CisgICAgICAgICogVUlQcm9jZXNzL21h
Yy9XZWJQcmVmZXJlbmNlc01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6
OnBsYXRmb3JtSW5pdGlhbGl6ZVN0b3JlKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYt
MDQtMTQgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSA8YSBkb3dubG9hZD4gYSBydW50aW1lIGVuYWJsZWQgb3B0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0FQSS9BUElPYmplY3QuaAppbmRleCA3ZjlmNzYwNzY5MzE0MWY4MjNhMjU3ZDc4M2Q5MjkyN2Jl
ZmYyZDVhLi5lMGFiMmYwNGZmYzNlZThhZDQ5MzNlN2IyNDhhMDE1OGU0NDhmYjc3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6
CiAgICAgICAgIENvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIsCiAgICAgICAgIENvb2tpZU1hbmFn
ZXIsCiAgICAgICAgIERvd25sb2FkLAorICAgICAgICBFeHBlcmltZW50YWxGZWF0dXJlRGVzY3Jp
cHRpb24sCiAgICAgICAgIEZvcm1TdWJtaXNzaW9uTGlzdGVuZXIsCiAgICAgICAgIEZyYW1lLAog
ICAgICAgICBGcmFtZUluZm8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgKaW5kZXgg
NzI5NTc3ZGQ0ZDFkZDFmYjBmYWY5NTczMzljODMzNTI2OTA1MjQzMi4uZTFmZWQ1NjA4NmZiNWU3
NGE0N2JhYzM5MTMwNDU3MjMyMDYzZDQ1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jh
c2UuaApAQCAtOTgsNiArOTgsNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0NvbnRl
eHRDb25maWd1cmF0aW9uKiBXS0NvbnRleHRDb25maWd1cmF0aW9uUmVmOwogdHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlV0tDb29raWVNYW5hZ2VyKiBXS0Nvb2tpZU1hbmFnZXJSZWY7CiB0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0NyZWRlbnRpYWwqIFdLQ3JlZGVudGlhbFJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLRG93bmxvYWQqIFdLRG93bmxvYWRSZWY7Cit0eXBl
ZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiog
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVj
dCBPcGFxdWVXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIqIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5l
clJlZjsKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLRnJhbWVIYW5kbGUqIFdLRnJhbWVI
YW5kbGVSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0ZyYW1lSW5mbyogV0tGcmFt
ZUluZm9SZWY7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2Jq
ZWN0Lm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQppbmRleCAx
NTcxODllNTMwMTgzOWM0NDY0YzIzYTNmMDg5MGJjODQ0OWZhN2YyLi41YmRjNTg5NTQ1ZDg4NDc4
OTcwMzZjOGM5Mzk1NDQ3NGY2NTRlMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQ29jb2EvQVBJT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9B
UElPYmplY3QubW0KQEAgLTY0LDYgKzY0LDcgQEAKICNpbXBvcnQgIldLV2luZG93RmVhdHVyZXNJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5hbC5oIgogI2lt
cG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLRXhwZXJpbWVudGFsRmVh
dHVyZURlc2NyaXB0aW9uSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0ZyYW1lSGFuZGxlSW50ZXJu
YWwuaCIKICNpbXBvcnQgIl9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dL
UHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIKQEAgLTE1MCw2ICsxNTEsMTAgQEAg
dm9pZCogT2JqZWN0OjpuZXdPYmplY3Qoc2l6ZV90IHNpemUsIFR5cGUgdHlwZSkKICAgICAgICAg
d3JhcHBlciA9IFtfV0tEb3dubG9hZCBhbGxvY107CiAgICAgICAgIGJyZWFrOwogCisgICAgY2Fz
ZSBUeXBlOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb246CisgICAgICAgIHdyYXBwZXIg
PSBbX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uIGFsbG9jXTsKKyAgICAgICAgYnJl
YWs7CisKICAgICBjYXNlIFR5cGU6OkVycm9yOgogICAgICAgICB3cmFwcGVyID0gTlNBbGxvY2F0
ZU9iamVjdChbV0tOU0Vycm9yIHNlbGZdLCBzaXplLCBudWxscHRyKTsKICAgICAgICAgYnJlYWs7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aAppbmRleCBkNGQyMGFiZjM0NmFmOGY5YzA0ZDg3NzYwMDc3Njc1OGZmMWYzY2ZjLi40OTA5MDM4
ODExMDcxY2E0ZjY5OTdkNmM3MmI5OWQxNjFjZGFhYTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTEwMSwxODAgKzEwMSwx
ODUgQEAKIC8vIG1hY3JvKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWVVcHBlciwgVHlwZU5h
bWUsIERlZmF1bHRWYWx1ZSkKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfQk9PTF9QUkVGRVJF
TkNFKG1hY3JvKSBcCi0gICAgbWFjcm8oSmF2YVNjcmlwdEVuYWJsZWQsIGphdmFTY3JpcHRFbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oSmF2YVNjcmlwdE1hcmt1cEVuYWJs
ZWQsIGphdmFTY3JpcHRNYXJrdXBFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFj
cm8oTG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHksIEJv
b2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhMb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nUHJlZmVyZW5jZSwgbG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZl
cmVuY2UsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oUGx1Z2luc0VuYWJsZWQsIHBs
dWdpbnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEphdmFFbmFibGVk
LCBqYXZhRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhKYXZhRW5hYmxl
ZEZvckxvY2FsRmlsZXMsIGphdmFFbmFibGVkRm9yTG9jYWxGaWxlcywgQm9vbCwgYm9vbCwgZmFs
c2UpIFwKLSAgICBtYWNybyhPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQsIG9mZmxp
bmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBt
YWNybyhMb2NhbFN0b3JhZ2VFbmFibGVkLCBsb2NhbFN0b3JhZ2VFbmFibGVkLCBCb29sLCBib29s
LCB0cnVlKSBcCi0gICAgbWFjcm8oRGF0YWJhc2VzRW5hYmxlZCwgZGF0YWJhc2VzRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFhTU0F1ZGl0b3JFbmFibGVkLCB4c3NBdWRp
dG9yRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEZyYW1lRmxhdHRlbmlu
Z0VuYWJsZWQsIGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfRlJB
TUVfRkxBVFRFTklOR19FTkFCTEVEKSBcCi0gICAgbWFjcm8oUHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNy
byhUZXh0QXJlYXNBcmVSZXNpemFibGUsIHRleHRBcmVhc0FyZVJlc2l6YWJsZSwgQm9vbCwgYm9v
bCwgREVGQVVMVF9URVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUpIFwKLSAgICBtYWNybyhKYXZhU2Ny
aXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5LCBqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NB
dXRvbWF0aWNhbGx5LCBCb29sLCBib29sLCBERUZBVUxUX0pBVkFTQ1JJUFRfQ0FOX09QRU5fV0lO
RE9XU19BVVRPTUFUSUNBTExZKSBcCi0gICAgbWFjcm8oSHlwZXJsaW5rQXVkaXRpbmdFbmFibGVk
LCBoeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNy
byhOZWVkc1NpdGVTcGVjaWZpY1F1aXJrcywgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQs
IGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAg
bWFjcm8oRm9yY2VDb21wb3NpdGluZ01vZGUsIGZvcmNlQ29tcG9zaXRpbmdNb2RlLCBCb29sLCBi
b29sLCBmYWxzZSkgXAotICAgIG1hY3JvKENhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcsIGNh
bnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcsIEJvb2wsIGJvb2wsIERFRkFVTFRfQ0FOVkFTX1VT
RVNfQUNDRUxFUkFURURfRFJBV0lORykgXAotICAgIG1hY3JvKFdlYkdMRW5hYmxlZCwgd2ViR0xF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oRm9yY2VTb2Z0d2FyZVdlYkdM
UmVuZGVyaW5nLCBmb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCi0gICAgbWFjcm8oQWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQsIGFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKENTU0FuaW1hdGlv
blRyaWdnZXJzRW5hYmxlZCwgY3NzQW5pbWF0aW9uVHJpZ2dlcnNFbmFibGVkLCBCb29sLCBib29s
LCB0cnVlKSBcCi0gICAgbWFjcm8oV2ViQW5pbWF0aW9uc0VuYWJsZWQsIHdlYkFuaW1hdGlvbnNF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFibGVk
LCBjc3NSZWdpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKENTU0Nv
bXBvc2l0aW5nRW5hYmxlZCwgY3NzQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVl
KSBcCi0gICAgbWFjcm8oRm9yY2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgZm9yY2VGVFBEaXJlY3Rv
cnlMaXN0aW5ncywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhUYWJzVG9MaW5rcywg
dGFic1RvTGlua3MsIEJvb2wsIGJvb2wsIERFRkFVTFRfV0VCS0lUX1RBQlNUT0xJTktTX0VOQUJM
RUQpIFwKLSAgICBtYWNybyhETlNQcmVmZXRjaGluZ0VuYWJsZWQsIGRuc1ByZWZldGNoaW5nRW5h
YmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhET01UaW1lcnNUaHJvdHRsaW5n
RW5hYmxlZCwgZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwK
LSAgICBtYWNybyhXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCwgd2ViQXJjaGl2ZURlYnVnTW9k
ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTG9jYWxGaWxlQ29udGVu
dFNuaWZmaW5nRW5hYmxlZCwgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhVc2VzUGFnZUNhY2hlLCB1c2VzUGFnZUNhY2hlLCBC
b29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oUGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zLCBw
YWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhB
dXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCwgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhQYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQs
IHBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBt
YWNybyhET01QYXN0ZUFsbG93ZWQsIGRvbVBhc3RlQWxsb3dlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLCBqYXZhU2NyaXB0Q2Fu
QWNjZXNzQ2xpcGJvYXJkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNob3VsZFBy
aW50QmFja2dyb3VuZHMsIHNob3VsZFByaW50QmFja2dyb3VuZHMsIEJvb2wsIGJvb2wsIERFRkFV
TFRfU0hPVUxEX1BSSU5UX0JBQ0tHUk9VTkRTKSBcCi0gICAgbWFjcm8oRnVsbFNjcmVlbkVuYWJs
ZWQsIGZ1bGxTY3JlZW5FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFz
eW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkLCBhc3luY2hyb25vdXNTcGVsbENoZWNraW5n
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhXZWJTZWN1cml0eUVuYWJs
ZWQsIHdlYlNlY3VyaXR5RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEFs
bG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzLCBhbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21G
aWxlVVJMcywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBbGxvd0ZpbGVBY2Nlc3NG
cm9tRmlsZVVSTHMsIGFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcywgQm9vbCwgYm9vbCwgZmFs
c2UpIFwKLSAgICBtYWNybyhBVkZvdW5kYXRpb25FbmFibGVkLCBpc0FWRm91bmRhdGlvbkVuYWJs
ZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhBVkZvdW5kYXRpb25OU1VSTFNlc3Np
b25FbmFibGVkLCBpc0FWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2ws
IHRydWUpIFwKLSAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywg
cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRf
UkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZQkFDSykgXAotICAgIG1hY3JvKFJl
cXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFjaywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhSZXF1aXJlc1Vz
ZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxh
eWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTWFpbkNvbnRlbnRVc2VyR2Vz
dHVyZU92ZXJyaWRlRW5hYmxlZCwgbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrLCBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX0FMTE9X
U19JTkxJTkVfTUVESUFfUExBWUJBQ0spIFwKLSAgICBtYWNybyhJbmxpbmVNZWRpYVBsYXliYWNr
UmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVz
UGxheXNJbmxpbmVBdHRyaWJ1dGUsIEJvb2wsIGJvb2wsIERFRkFVTFRfSU5MSU5FX01FRElBX1BM
QVlCQUNLX1JFUVVJUkVTX1BMQVlTX0lOTElORV9BVFRSSUJVVEUpIFwKLSAgICBtYWNybyhJbnZp
c2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgaW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQs
IEJvb2wsIGJvb2wsIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9QRVJNSVRURUQpIFwK
LSAgICBtYWNybyhNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHksIG1lZGlhRGF0YUxvYWRzQXV0
b21hdGljYWxseSwgQm9vbCwgYm9vbCwgREVGQVVMVF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJ
Q0FMTFkpIFwKLSAgICBtYWNybyhBbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaywg
YWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIHRydWUpIFwK
LSAgICBtYWNybyhBbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjaywgYWxsb3dzQWlyUGxheUZv
ck1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhNZWRpYUNvbnRy
b2xzU2NhbGVXaXRoUGFnZVpvb20sIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSwgQm9v
bCwgYm9vbCwgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FMRV9XSVRIX1BBR0VfWk9PTSkgXAot
ICAgIG1hY3JvKEluc3BlY3RvclN0YXJ0c0F0dGFjaGVkLCBpbnNwZWN0b3JTdGFydHNBdHRhY2hl
ZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFNob3dzVG9vbFRpcE92ZXJUcnVuY2F0
ZWRUZXh0LCBzaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhNb2NrU2Nyb2xsYmFyc0VuYWJsZWQsIG1vY2tTY3JvbGxiYXJzRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhXZWJBdWRpb0VuYWJsZWQsIHdlYkF1
ZGlvRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEF0dGFjaG1lbnRFbGVt
ZW50RW5hYmxlZCwgYXR0YWNobWVudEVsZW1lbnRFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkg
XAotICAgIG1hY3JvKFN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZywgc3VwcHJlc3Nlc0lu
Y3JlbWVudGFsUmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEJhY2tz
cGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBiYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9CQUNLU1BBQ0VfS0VZX05BVklHQVRJT05fRU5BQkxFRCkgXAot
ICAgIG1hY3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBjYXJldEJyb3dzaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaG91bGREaXNwbGF5U3VidGl0bGVzLCBzaG91
bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNob3Vs
ZERpc3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBCb29sLCBib29sLCBmYWxz
ZSkgXAotICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBzaG91bGREaXNw
bGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhOb3Rp
ZmljYXRpb25zRW5hYmxlZCwgbm90aWZpY2F0aW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUp
IFwKLSAgICBtYWNybyhTaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlvbiwgc2hvdWxkUmVzcGVj
dEltYWdlT3JpZW50YXRpb24sIEJvb2wsIGJvb2wsIERFRkFVTFRfU0hPVUxEX1JFU1BFQ1RfSU1B
R0VfT1JJRU5UQVRJT04pIFwKLSAgICBtYWNybyhXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGlu
Z0JlaGF2aW9yLCB3YW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yLCBCb29sLCBi
b29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQsIHJl
cXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNy
byhEaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQsIGRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXph
dGlvbkVuYWJsZWQsIGFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXph
dGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zLCBhc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlv
bkVuYWJsZWRGb3JBbGxQbHVnaW5zLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFy
dGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZCwgYXJ0aWZpY2lhbFBsdWdp
bkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1h
Y3JvKFRhYlRvTGlua3NFbmFibGVkLCB0YWJUb0xpbmtzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UpIFwKLSAgICBtYWNybyhJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCwgaW50ZXJh
Y3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFj
cm8oU2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCwgc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTY3JvbGxB
bmltYXRvckVuYWJsZWQsIHNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVM
VF9XRUJLSVRfU0NST0xMX0FOSU1BVE9SX0VOQUJMRUQpIFwKLSAgICBtYWNybyhGb3JjZVVwZGF0
ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3RpbmcsIGZvcmNlVXBkYXRl
U2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZywgQm9vbCwgYm9vbCwg
ZmFsc2UpIFwKLSAgICBtYWNybyhDb29raWVFbmFibGVkLCBjb29raWVFbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCi0gICAgbWFjcm8oUGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgcGx1Z0lu
U25hcHNob3R0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTbmFw
c2hvdEFsbFBsdWdJbnMsIHNuYXBzaG90QWxsUGx1Z0lucywgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
LSAgICBtYWNybyhBdXRvc3RhcnRPcmlnaW5QbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkLCBhdXRv
c3RhcnRPcmlnaW5QbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBc
Ci0gICAgbWFjcm8oUHJpbWFyeVBsdWdJblNuYXBzaG90RGV0ZWN0aW9uRW5hYmxlZCwgcHJpbWFy
eVBsdWdJblNuYXBzaG90RGV0ZWN0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAg
IG1hY3JvKFBERlBsdWdpbkVuYWJsZWQsIHBkZlBsdWdpbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERF
RkFVTFRfUERGUExVR0lOX0VOQUJMRUQpIFwKLSAgICBtYWNybyhVc2VzRW5jb2RpbmdEZXRlY3Rv
ciwgdXNlc0VuY29kaW5nRGV0ZWN0b3IsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8o
VGV4dEF1dG9zaXppbmdFbmFibGVkLCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oQWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkLCBhZ2dy
ZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFj
cm8oVGVtcG9yYXJ5VGlsZUNvaG9ydFJldGVudGlvbkVuYWJsZWQsIHRlbXBvcmFyeVRpbGVDb2hv
cnRSZXRlbnRpb25FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1RFTVBPUkFSWV9USUxFX0NP
SE9SVF9SRVRFTlRJT05fRU5BQkxFRCkgXAotICAgIG1hY3JvKFFUS2l0RW5hYmxlZCwgaXNRVEtp
dEVuYWJsZWQsIEJvb2wsIGJvb2wsIFdlYkNvcmU6OlNldHRpbmdzOjppc1FUS2l0RW5hYmxlZCgp
KSBcCi0gICAgbWFjcm8oUGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJs
ZWQsIHBhZ2VWaXNpYmlsaXR5QmFzZWRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCi0gICAgbWFjcm8oU21hcnRJbnNlcnREZWxldGVFbmFibGVkLCBzbWFydElu
c2VydERlbGV0ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhTZWxlY3RU
cmFpbGluZ1doaXRlc3BhY2VFbmFibGVkLCBzZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNob3dzVVJMc0luVG9vbFRpcHNFbmFi
bGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAg
ICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkLCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAotICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVk
LCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVM
VF9ISURERU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElOR19FTkFCTEVEKSBcCi0gICAgbWFjcm8o
SGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXMsIGhpZGRlblBhZ2VET01U
aW1lclRocm90dGxpbmdBdXRvSW5jcmVhc2VzLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1h
Y3JvKEhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9uRW5hYmxlZCwgaGlkZGVuUGFnZUNT
U0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0hJRERFTl9Q
QUdFX0NTU19BTklNQVRJT05fU1VTUEVOU0lPTl9FTkFCTEVEKSBcCi0gICAgbWFjcm8oTG93UG93
ZXJWaWRlb0F1ZGlvQnVmZmVyU2l6ZUVuYWJsZWQsIGxvd1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNp
emVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRocmVhZGVkU2Nyb2xs
aW5nRW5hYmxlZCwgdGhyZWFkZWRTY3JvbGxpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBc
Ci0gICAgbWFjcm8oU2ltcGxlTGluZUxheW91dEVuYWJsZWQsIHNpbXBsZUxpbmVMYXlvdXRFbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oU3VicGl4ZWxDU1NPTUVsZW1lbnRN
ZXRyaWNzRW5hYmxlZCwgc3VicGl4ZWxDU1NPTUVsZW1lbnRNZXRyaWNzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhVc2VHaWFudFRpbGVzLCB1c2VHaWFudFRpbGVzLCBC
b29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKE1lZGlhU3RyZWFtRW5hYmxlZCwgbWVkaWFT
dHJlYW1FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFVzZUxlZ2FjeVRl
eHRBbGlnblBvc2l0aW9uZWRFbGVtZW50QmVoYXZpb3IsIHVzZUxlZ2FjeVRleHRBbGlnblBvc2l0
aW9uZWRFbGVtZW50QmVoYXZpb3IsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU3Bh
dGlhbE5hdmlnYXRpb25FbmFibGVkLCBzcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTWVkaWFTb3VyY2VFbmFibGVkLCBtZWRpYVNvdXJjZUVu
YWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhWaWV3R2VzdHVyZURlYnVnZ2lu
Z0VuYWJsZWQsIHZpZXdHZXN0dXJlRGVidWdnaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhTaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSwgc2hvdWxkQ29u
dmVydFBvc2l0aW9uU3R5bGVPbkNvcHksIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8o
U3RhbmRhbG9uZSwgc3RhbmRhbG9uZSwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhU
ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZCwgdGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQWxsb3dNdWx0aUVsZW1lbnRJbXBs
aWNpdFN1Ym1pc3Npb24sIGFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uLCBCb29s
LCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dT
Y3JvbGwsIGFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwsIEJvb2wsIGJvb2wsIGZh
bHNlKSBcCi0gICAgbWFjcm8oUGFzc3dvcmRFY2hvRW5hYmxlZCwgcGFzc3dvcmRFY2hvRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9QQVNTV09SRF9FQ0hPX0VOQUJMRUQpIFwKLSAgICBtYWNy
byhJbWFnZUNvbnRyb2xzRW5hYmxlZCwgaW1hZ2VDb250cm9sc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oRW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29tcG9uZW50LCBlbmFi
bGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFj
cm8oU2VydmljZUNvbnRyb2xzRW5hYmxlZCwgc2VydmljZUNvbnRyb2xzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhHYW1lcGFkc0VuYWJsZWQsIGdhbWVwYWRzRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhOZXdCbG9ja0luc2lkZUlubGluZU1v
ZGVsRW5hYmxlZCwgbmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oSFRUUEVxdWl2RW5hYmxlZCwgaHR0cEVxdWl2RW5hYmxlZCwg
Qm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQs
IG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFj
cm8oU2hhZG93RE9NRW5hYmxlZCwgc2hhZG93RE9NRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkg
XAotICAgIG1hY3JvKEN1c3RvbUVsZW1lbnRzRW5hYmxlZCwgY3VzdG9tRWxlbWVudHNFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEZldGNoQVBJRW5hYmxlZCwgZmV0Y2hB
UElFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFdlYkdMMkVuYWJsZWQs
IHdlYkdMMkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oRG93bmxvYWRB
dHRyaWJ1dGVFbmFibGVkLCBkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZh
bHNlKSBcCisgICAgbWFjcm8oSmF2YVNjcmlwdEVuYWJsZWQsIGphdmFTY3JpcHRFbmFibGVkLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhKYXZhU2NyaXB0TWFya3VwRW5h
YmxlZCwgamF2YVNjcmlwdE1hcmt1cEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikg
XAorICAgIG1hY3JvKExvYWRzSW1hZ2VzQXV0b21hdGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0
aWNhbGx5LCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhMb2Fkc1NpdGVJ
Y29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSwgbG9hZHNTaXRlSWNvbnNJZ25vcmlu
Z0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhQbHVnaW5zRW5hYmxlZCwgcGx1Z2luc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhKYXZhRW5hYmxlZCwgamF2YUVuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhKYXZhRW5hYmxlZEZvckxvY2FsRmlsZXMs
IGphdmFFbmFibGVkRm9yTG9jYWxGaWxlcywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFw
cGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oTG9jYWxTdG9yYWdlRW5hYmxlZCwgbG9jYWxTdG9yYWdlRW5hYmxlZCwgQm9vbCwgYm9v
bCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRGF0YWJhc2VzRW5hYmxlZCwgZGF0YWJhc2Vz
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oWFNTQXVkaXRv
ckVuYWJsZWQsIHhzc0F1ZGl0b3JFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhGcmFtZUZsYXR0ZW5pbmdFbmFibGVkLCBmcmFtZUZsYXR0ZW5pbmdFbmFibGVk
LCBCb29sLCBib29sLCBERUZBVUxUX0ZSQU1FX0ZMQVRURU5JTkdfRU5BQkxFRCwgIiIsICIiKSBc
CisgICAgbWFjcm8oUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRleHRBcmVhc0FyZVJl
c2l6YWJsZSwgdGV4dEFyZWFzQXJlUmVzaXphYmxlLCBCb29sLCBib29sLCBERUZBVUxUX1RFWFRf
QVJFQVNfQVJFX1JFU0laQUJMRSwgIiIsICIiKSBcCisgICAgbWFjcm8oSmF2YVNjcmlwdENhbk9w
ZW5XaW5kb3dzQXV0b21hdGljYWxseSwgamF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGlj
YWxseSwgQm9vbCwgYm9vbCwgREVGQVVMVF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVU
T01BVElDQUxMWSwgIiIsICIiKSBcCisgICAgbWFjcm8oSHlwZXJsaW5rQXVkaXRpbmdFbmFibGVk
LCBoeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKE5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJr
cywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdFbmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9v
bCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRm9yY2VDb21wb3NpdGluZ01vZGUsIGZvcmNl
Q29tcG9zaXRpbmdNb2RlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
Q2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZywgY2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2lu
ZywgQm9vbCwgYm9vbCwgREVGQVVMVF9DQU5WQVNfVVNFU19BQ0NFTEVSQVRFRF9EUkFXSU5HLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhXZWJHTEVuYWJsZWQsIHdlYkdMRW5hYmxlZCwgQm9vbCwgYm9v
bCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5n
LCBmb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwgYWNjZWxlcmF0ZWQyZENh
bnZhc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDU1NB
bmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQsIGNzc0FuaW1hdGlvblRyaWdnZXJzRW5hYmxlZCwgQm9v
bCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oV2ViQW5pbWF0aW9uc0VuYWJsZWQs
IHdlYkFuaW1hdGlvbnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oQ1NTUmVnaW9uc0VuYWJsZWQsIGNzc1JlZ2lvbnNFbmFibGVkLCBCb29sLCBib29sLCB0
cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDU1NDb21wb3NpdGluZ0VuYWJsZWQsIGNzc0NvbXBv
c2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRm9y
Y2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgZm9yY2VGVFBEaXJlY3RvcnlMaXN0aW5ncywgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRhYnNUb0xpbmtzLCB0YWJzVG9MaW5r
cywgQm9vbCwgYm9vbCwgREVGQVVMVF9XRUJLSVRfVEFCU1RPTElOS1NfRU5BQkxFRCwgIiIsICIi
KSBcCisgICAgbWFjcm8oRE5TUHJlZmV0Y2hpbmdFbmFibGVkLCBkbnNQcmVmZXRjaGluZ0VuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhET01UaW1lcnNUaHJv
dHRsaW5nRW5hYmxlZCwgZG9tVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUsICIiLCAiIikgXAorICAgIG1hY3JvKFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkLCB3ZWJB
cmNoaXZlRGVidWdNb2RlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAg
IG1hY3JvKExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGxvY2FsRmlsZUNvbnRlbnRT
bmlmZmluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhV
c2VzUGFnZUNhY2hlLCB1c2VzUGFnZUNhY2hlLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIHBhZ2VDYWNoZVN1cHBvcnRzUGx1
Z2lucywgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQsIGF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkLCBCb29sLCBib29sLCB0
cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhQYWdpbmF0ZUR1cmluZ0xheW91dEVuYWJsZWQsIHBh
Z2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKERPTVBhc3RlQWxsb3dlZCwgZG9tUGFzdGVBbGxvd2VkLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oSmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCwg
amF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikg
XAorICAgIG1hY3JvKFNob3VsZFByaW50QmFja2dyb3VuZHMsIHNob3VsZFByaW50QmFja2dyb3Vu
ZHMsIEJvb2wsIGJvb2wsIERFRkFVTFRfU0hPVUxEX1BSSU5UX0JBQ0tHUk9VTkRTLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhGdWxsU2NyZWVuRW5hYmxlZCwgZnVsbFNjcmVlbkVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBc3luY2hyb25vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCwgYXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhXZWJTZWN1cml0eUVuYWJsZWQsIHdlYlNlY3Vy
aXR5RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWxsb3dV
bml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMsIGFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVV
UkxzLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWxsb3dGaWxlQWNj
ZXNzRnJvbUZpbGVVUkxzLCBhbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMsIEJvb2wsIGJvb2ws
IGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBVkZvdW5kYXRpb25FbmFibGVkLCBpc0FWRm91
bmRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEFW
Rm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9u
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVxdWlyZXNV
c2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVSRV9GT1JfTUVE
SUFfUExBWUJBQ0ssICIiLCAiIikgXAorICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JW
aWRlb1BsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JB
dWRpb1BsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKE1haW5Db250ZW50VXNlckdlc3R1cmVP
dmVycmlkZUVuYWJsZWQsIG1haW5Db250ZW50VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd3NJbmxpbmVNZWRpYVBs
YXliYWNrLCBhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX0FM
TE9XU19JTkxJTkVfTUVESUFfUExBWUJBQ0ssICIiLCAiIikgXAorICAgIG1hY3JvKElubGluZU1l
ZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBpbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTkxJ
TkVfTUVESUFfUExBWUJBQ0tfUkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVURSwgIiIsICIi
KSBcCisgICAgbWFjcm8oSW52aXNpYmxlQXV0b3BsYXlOb3RQZXJtaXR0ZWQsIGludmlzaWJsZUF1
dG9wbGF5Tm90UGVybWl0dGVkLCBCb29sLCBib29sLCBERUZBVUxUX0lOVklTSUJMRV9BVVRPUExB
WV9OT1RfUEVSTUlUVEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhNZWRpYURhdGFMb2Fkc0F1dG9t
YXRpY2FsbHksIG1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSwgQm9vbCwgYm9vbCwgREVGQVVM
VF9NRURJQV9EQVRBX0xPQURTX0FVVE9NQVRJQ0FMTFksICIiLCAiIikgXAorICAgIG1hY3JvKEFs
bG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLCBhbGxvd3NQaWN0dXJlSW5QaWN0dXJl
TWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWxs
b3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2ssIGFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNr
LCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhNZWRpYUNvbnRyb2xzU2Nh
bGVXaXRoUGFnZVpvb20sIG1lZGlhQ29udHJvbHNTY2FsZVdpdGhQYWdlWm9vbSwgQm9vbCwgYm9v
bCwgREVGQVVMVF9NRURJQV9DT05UUk9MU19TQ0FMRV9XSVRIX1BBR0VfWk9PTSwgIiIsICIiKSBc
CisgICAgbWFjcm8oSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQsIGluc3BlY3RvclN0YXJ0c0F0dGFj
aGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG93c1Rvb2xUaXBP
dmVyVHJ1bmNhdGVkVGV4dCwgc2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhNb2NrU2Nyb2xsYmFyc0VuYWJsZWQsIG1v
Y2tTY3JvbGxiYXJzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1h
Y3JvKFdlYkF1ZGlvRW5hYmxlZCwgd2ViQXVkaW9FbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhBdHRhY2htZW50RWxlbWVudEVuYWJsZWQsIGF0dGFjaG1lbnRF
bGVtZW50RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFN1
cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZywgc3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVy
aW5nLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQmFja3NwYWNlS2V5
TmF2aWdhdGlvbkVuYWJsZWQsIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCBERUZBVUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVELCAiIiwgIiIpIFwK
KyAgICBtYWNybyhDYXJldEJyb3dzaW5nRW5hYmxlZCwgY2FyZXRCcm93c2luZ0VuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG91bGREaXNwbGF5U3VidGl0
bGVzLCBzaG91bGREaXNwbGF5U3VidGl0bGVzLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oU2hvdWxkRGlzcGxheUNhcHRpb25zLCBzaG91bGREaXNwbGF5Q2FwdGlvbnMs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG91bGREaXNwbGF5VGV4
dERlc2NyaXB0aW9ucywgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMsIEJvb2wsIGJvb2ws
IGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhOb3RpZmljYXRpb25zRW5hYmxlZCwgbm90aWZp
Y2F0aW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFNo
b3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uLCBzaG91bGRSZXNwZWN0SW1hZ2VPcmllbnRhdGlv
biwgQm9vbCwgYm9vbCwgREVGQVVMVF9TSE9VTERfUkVTUEVDVF9JTUFHRV9PUklFTlRBVElPTiwg
IiIsICIiKSBcCisgICAgbWFjcm8oV2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlv
ciwgd2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvciwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKFJlcXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQsIHJl
cXVlc3RBbmltYXRpb25GcmFtZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKERpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCwgZGlhZ25vc3RpY0xvZ2dpbmdFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQXN5bmNocm9ub3Vz
UGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkLCBhc3luY2hyb25vdXNQbHVnaW5Jbml0aWFsaXph
dGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBc3lu
Y2hyb25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zLCBhc3luY2hy
b25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWRGb3JBbGxQbHVnaW5zLCBCb29sLCBib29s
LCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQXJ0aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0
aW9uRGVsYXlFbmFibGVkLCBhcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxheUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhUYWJUb0xpbmtzRW5h
YmxlZCwgdGFiVG9MaW5rc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhJbnRlcmFjdGl2ZUZvcm1WYWxpZGF0aW9uRW5hYmxlZCwgaW50ZXJhY3RpdmVGb3Jt
VmFsaWRhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkLCBzY3JvbGxpbmdQZXJmb3JtYW5j
ZUxvZ2dpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
U2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBzY3JvbGxBbmltYXRvckVuYWJsZWQsIEJvb2wsIGJvb2ws
IERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklNQVRPUl9FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBt
YWNybyhGb3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3Rp
bmcsIGZvcmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGlu
ZywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKENvb2tpZUVuYWJsZWQs
IGNvb2tpZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFBs
dWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIHBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTbmFwc2hvdEFsbFBsdWdJbnMsIHNu
YXBzaG90QWxsUGx1Z0lucywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3Jv
KEF1dG9zdGFydE9yaWdpblBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIGF1dG9zdGFydE9yaWdp
blBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKFByaW1hcnlQbHVnSW5TbmFwc2hvdERldGVjdGlvbkVuYWJsZWQsIHByaW1hcnlQ
bHVnSW5TbmFwc2hvdERldGVjdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikg
XAorICAgIG1hY3JvKFBERlBsdWdpbkVuYWJsZWQsIHBkZlBsdWdpbkVuYWJsZWQsIEJvb2wsIGJv
b2wsIERFRkFVTFRfUERGUExVR0lOX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKFVzZXNF
bmNvZGluZ0RldGVjdG9yLCB1c2VzRW5jb2RpbmdEZXRlY3RvciwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKFRleHRBdXRvc2l6aW5nRW5hYmxlZCwgdGV4dEF1dG9zaXpp
bmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWdncmVz
c2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkLCBhZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhUZW1wb3JhcnlUaWxlQ29o
b3J0UmV0ZW50aW9uRW5hYmxlZCwgdGVtcG9yYXJ5VGlsZUNvaG9ydFJldGVudGlvbkVuYWJsZWQs
IEJvb2wsIGJvb2wsIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JUX1JFVEVOVElPTl9FTkFC
TEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhRVEtpdEVuYWJsZWQsIGlzUVRLaXRFbmFibGVkLCBC
b29sLCBib29sLCBXZWJDb3JlOjpTZXR0aW5nczo6aXNRVEtpdEVuYWJsZWQoKSwgIiIsICIiKSBc
CisgICAgbWFjcm8oUGFnZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQs
IHBhZ2VWaXNpYmlsaXR5QmFzZWRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkLCBCb29sLCBib29s
LCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCwgc2VsZWN0VHJhaWxpbmdXaGl0
ZXNwYWNlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNo
b3dzVVJMc0luVG9vbFRpcHNFbmFibGVkLCBzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVy
Zmxvd1Njcm9sbEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwgaGlkZGVuUGFnZURPTVRpbWVy
VGhyb3R0bGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkdfRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oSGlkZGVuUGFnZURP
TVRpbWVyVGhyb3R0bGluZ0F1dG9JbmNyZWFzZXMsIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxp
bmdBdXRvSW5jcmVhc2VzLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
SGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkLCBoaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSElEREVOX1BBR0Vf
Q1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKExv
d1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNpemVFbmFibGVkLCBsb3dQb3dlclZpZGVvQXVkaW9CdWZm
ZXJTaXplRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRo
cmVhZGVkU2Nyb2xsaW5nRW5hYmxlZCwgdGhyZWFkZWRTY3JvbGxpbmdFbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaW1wbGVMaW5lTGF5b3V0RW5hYmxlZCwg
c2ltcGxlTGluZUxheW91dEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAg
IG1hY3JvKFN1YnBpeGVsQ1NTT01FbGVtZW50TWV0cmljc0VuYWJsZWQsIHN1YnBpeGVsQ1NTT01F
bGVtZW50TWV0cmljc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhVc2VHaWFudFRpbGVzLCB1c2VHaWFudFRpbGVzLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oTWVkaWFTdHJlYW1FbmFibGVkLCBtZWRpYVN0cmVhbUVuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhVc2VMZWdhY3lUZXh0QWxp
Z25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9yLCB1c2VMZWdhY3lUZXh0QWxpZ25Qb3NpdGlvbmVk
RWxlbWVudEJlaGF2aW9yLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
U3BhdGlhbE5hdmlnYXRpb25FbmFibGVkLCBzcGF0aWFsTmF2aWdhdGlvbkVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhNZWRpYVNvdXJjZUVuYWJsZWQsIG1l
ZGlhU291cmNlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
Vmlld0dlc3R1cmVEZWJ1Z2dpbmdFbmFibGVkLCB2aWV3R2VzdHVyZURlYnVnZ2luZ0VuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG91bGRDb252ZXJ0UG9z
aXRpb25TdHlsZU9uQ29weSwgc2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHksIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTdGFuZGFsb25lLCBzdGFuZGFsb25l
LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVGVsZXBob25lTnVtYmVy
UGFyc2luZ0VuYWJsZWQsIHRlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1
Ym1pc3Npb24sIGFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uLCBCb29sLCBib29s
LCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxv
d1Njcm9sbCwgYWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFBhc3N3b3JkRWNob0VuYWJsZWQsIHBhc3N3b3Jk
RWNob0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfUEFTU1dPUkRfRUNIT19FTkFCTEVELCAi
IiwgIiIpIFwKKyAgICBtYWNybyhJbWFnZUNvbnRyb2xzRW5hYmxlZCwgaW1hZ2VDb250cm9sc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhFbmFibGVJbmhl
cml0VVJJUXVlcnlDb21wb25lbnQsIGVuYWJsZUluaGVyaXRVUklRdWVyeUNvbXBvbmVudCwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNlcnZpY2VDb250cm9sc0VuYWJs
ZWQsIHNlcnZpY2VDb250cm9sc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhHYW1lcGFkc0VuYWJsZWQsIGdhbWVwYWRzRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKE5ld0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFi
bGVkLCBuZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKEhUVFBFcXVpdkVuYWJsZWQsIGh0dHBFcXVpdkVuYWJsZWQs
IEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKE1vY2tDYXB0dXJlRGV2aWNl
c0VuYWJsZWQsIG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhTaGFkb3dET01FbmFibGVkLCBzaGFkb3dET01FbmFibGVkLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDdXN0b21FbGVtZW50c0VuYWJs
ZWQsIGN1c3RvbUVsZW1lbnRzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKEZldGNoQVBJRW5hYmxlZCwgZmV0Y2hBUElFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oV2ViR0wyRW5hYmxlZCwgd2ViR0wyRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKERvd25sb2FkQXR0cmlidXRl
RW5hYmxlZCwgZG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCiAgICAgRk9SX0VBQ0hfQURESVRJT05BTF9XRUJLSVRfQk9PTF9QUkVGRVJFTkNFKG1h
Y3JvKSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ET1VCTEVfUFJFRkVSRU5D
RShtYWNybykgXAotICAgIG1hY3JvKEluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1l
b3V0LCBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCwgRG91YmxlLCBkb3Vi
bGUsIDUpIFwKLSAgICBtYWNybyhNaW5pbXVtRm9udFNpemUsIG1pbmltdW1Gb250U2l6ZSwgRG91
YmxlLCBkb3VibGUsIDApIFwKLSAgICBtYWNybyhNaW5pbXVtTG9naWNhbEZvbnRTaXplLCBtaW5p
bXVtTG9naWNhbEZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgOSkgXAotICAgIG1hY3JvKE1pbmlt
dW1ab29tRm9udFNpemUsIG1pbmltdW1ab29tRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCBERUZB
VUxUX01JTklNVU1fRk9OVF9aT09NX1NJWkUpIFwKLSAgICBtYWNybyhEZWZhdWx0Rm9udFNpemUs
IGRlZmF1bHRGb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIDE2KSBcCi0gICAgbWFjcm8oRGVmYXVs
dEZpeGVkRm9udFNpemUsIGRlZmF1bHRGaXhlZEZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgMTMp
IFwKLSAgICBtYWNybyhMYXlvdXRJbnRlcnZhbCwgbGF5b3V0SW50ZXJ2YWwsIERvdWJsZSwgZG91
YmxlLCAtMSkgXAotICAgIG1hY3JvKE1heFBhcnNlRHVyYXRpb24sIG1heFBhcnNlRHVyYXRpb24s
IERvdWJsZSwgZG91YmxlLCAtMSkgXAotICAgIG1hY3JvKFBhc3N3b3JkRWNob0R1cmF0aW9uLCBw
YXNzd29yZEVjaG9EdXJhdGlvbiwgRG91YmxlLCBkb3VibGUsIDIpIFwKKyAgICBtYWNybyhJbmNy
ZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCwgaW5jcmVtZW50YWxSZW5kZXJpbmdT
dXBwcmVzc2lvblRpbWVvdXQsIERvdWJsZSwgZG91YmxlLCA1LCAiIiwgIiIpIFwKKyAgICBtYWNy
byhNaW5pbXVtRm9udFNpemUsIG1pbmltdW1Gb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIDAsICIi
LCAiIikgXAorICAgIG1hY3JvKE1pbmltdW1Mb2dpY2FsRm9udFNpemUsIG1pbmltdW1Mb2dpY2Fs
Rm9udFNpemUsIERvdWJsZSwgZG91YmxlLCA5LCAiIiwgIiIpIFwKKyAgICBtYWNybyhNaW5pbXVt
Wm9vbUZvbnRTaXplLCBtaW5pbXVtWm9vbUZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgREVGQVVM
VF9NSU5JTVVNX0ZPTlRfWk9PTV9TSVpFLCAiIiwgIiIpIFwKKyAgICBtYWNybyhEZWZhdWx0Rm9u
dFNpemUsIGRlZmF1bHRGb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIDE2LCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhEZWZhdWx0Rml4ZWRGb250U2l6ZSwgZGVmYXVsdEZpeGVkRm9udFNpemUsIERvdWJs
ZSwgZG91YmxlLCAxMywgIiIsICIiKSBcCisgICAgbWFjcm8oTGF5b3V0SW50ZXJ2YWwsIGxheW91
dEludGVydmFsLCBEb3VibGUsIGRvdWJsZSwgLTEsICIiLCAiIikgXAorICAgIG1hY3JvKE1heFBh
cnNlRHVyYXRpb24sIG1heFBhcnNlRHVyYXRpb24sIERvdWJsZSwgZG91YmxlLCAtMSwgIiIsICIi
KSBcCisgICAgbWFjcm8oUGFzc3dvcmRFY2hvRHVyYXRpb24sIHBhc3N3b3JkRWNob0R1cmF0aW9u
LCBEb3VibGUsIGRvdWJsZSwgMiwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNI
X1dFQktJVF9VSU5UMzJfUFJFRkVSRU5DRShtYWNybykgXAotICAgIG1hY3JvKEZvbnRTbW9vdGhp
bmdMZXZlbCwgZm9udFNtb290aGluZ0xldmVsLCBVSW50MzIsIHVpbnQzMl90LCBGb250U21vb3Ro
aW5nTGV2ZWxNZWRpdW0pIFwKLSAgICBtYWNybyhMYXlvdXRGYWxsYmFja1dpZHRoLCBsYXlvdXRG
YWxsYmFja1dpZHRoLCBVSW50MzIsIHVpbnQzMl90LCA5ODApIFwKLSAgICBtYWNybyhEZXZpY2VX
aWR0aCwgZGV2aWNlV2lkdGgsIFVJbnQzMiwgdWludDMyX3QsIDApIFwKLSAgICBtYWNybyhEZXZp
Y2VIZWlnaHQsIGRldmljZUhlaWdodCwgVUludDMyLCB1aW50MzJfdCwgMCkgXAotICAgIG1hY3Jv
KEVkaXRhYmxlTGlua0JlaGF2aW9yLCBlZGl0YWJsZUxpbmtCZWhhdmlvciwgVUludDMyLCB1aW50
MzJfdCwgV2ViQ29yZTo6RWRpdGFibGVMaW5rTmV2ZXJMaXZlKSBcCi0gICAgbWFjcm8oSW5zcGVj
dG9yQXR0YWNoZWRIZWlnaHQsIGluc3BlY3RvckF0dGFjaGVkSGVpZ2h0LCBVSW50MzIsIHVpbnQz
Ml90LCAzMDApIFwKLSAgICBtYWNybyhJbnNwZWN0b3JBdHRhY2hlZFdpZHRoLCBpbnNwZWN0b3JB
dHRhY2hlZFdpZHRoLCBVSW50MzIsIHVpbnQzMl90LCA3NTApIFwKLSAgICBtYWNybyhJbnNwZWN0
b3JBdHRhY2htZW50U2lkZSwgaW5zcGVjdG9yQXR0YWNobWVudFNpZGUsIFVJbnQzMiwgdWludDMy
X3QsIDApIFwKLSAgICBtYWNybyhTdG9yYWdlQmxvY2tpbmdQb2xpY3ksIHN0b3JhZ2VCbG9ja2lu
Z1BvbGljeSwgVUludDMyLCB1aW50MzJfdCwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OkJsb2Nr
VGhpcmRQYXJ0eVN0b3JhZ2UpIFwKLSAgICBtYWNybyhKYXZhU2NyaXB0UnVudGltZUZsYWdzLCBq
YXZhU2NyaXB0UnVudGltZUZsYWdzLCBVSW50MzIsIHVpbnQzMl90LCAwKSBcCi0gICAgbWFjcm8o
RGF0YURldGVjdG9yVHlwZXMsIGRhdGFEZXRlY3RvclR5cGVzLCBVSW50MzIsIHVpbnQzMl90LCAw
KSBcCisgICAgbWFjcm8oRm9udFNtb290aGluZ0xldmVsLCBmb250U21vb3RoaW5nTGV2ZWwsIFVJ
bnQzMiwgdWludDMyX3QsIEZvbnRTbW9vdGhpbmdMZXZlbE1lZGl1bSwgIiIsICIiKSBcCisgICAg
bWFjcm8oTGF5b3V0RmFsbGJhY2tXaWR0aCwgbGF5b3V0RmFsbGJhY2tXaWR0aCwgVUludDMyLCB1
aW50MzJfdCwgOTgwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhEZXZpY2VXaWR0aCwgZGV2aWNlV2lk
dGgsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAorICAgIG1hY3JvKERldmljZUhlaWdo
dCwgZGV2aWNlSGVpZ2h0LCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhFZGl0YWJsZUxpbmtCZWhhdmlvciwgZWRpdGFibGVMaW5rQmVoYXZpb3IsIFVJbnQzMiwgdWlu
dDMyX3QsIFdlYkNvcmU6OkVkaXRhYmxlTGlua05ldmVyTGl2ZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oSW5zcGVjdG9yQXR0YWNoZWRIZWlnaHQsIGluc3BlY3RvckF0dGFjaGVkSGVpZ2h0LCBVSW50
MzIsIHVpbnQzMl90LCAzMDAsICIiLCAiIikgXAorICAgIG1hY3JvKEluc3BlY3RvckF0dGFjaGVk
V2lkdGgsIGluc3BlY3RvckF0dGFjaGVkV2lkdGgsIFVJbnQzMiwgdWludDMyX3QsIDc1MCwgIiIs
ICIiKSBcCisgICAgbWFjcm8oSW5zcGVjdG9yQXR0YWNobWVudFNpZGUsIGluc3BlY3RvckF0dGFj
aG1lbnRTaWRlLCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTdG9y
YWdlQmxvY2tpbmdQb2xpY3ksIHN0b3JhZ2VCbG9ja2luZ1BvbGljeSwgVUludDMyLCB1aW50MzJf
dCwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OkJsb2NrVGhpcmRQYXJ0eVN0b3JhZ2UsICIiLCAi
IikgXAorICAgIG1hY3JvKEphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIGphdmFTY3JpcHRSdW50aW1l
RmxhZ3MsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAorICAgIG1hY3JvKERhdGFEZXRl
Y3RvclR5cGVzLCBkYXRhRGV0ZWN0b3JUeXBlcywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIi
KSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ERUJVR19CT09MX1BSRUZFUkVO
Q0UobWFjcm8pIFwKLSAgICBtYWNybyhBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkLCBhY2NlbGVy
YXRlZERyYXdpbmdFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0FDQ0VMRVJBVEVEX0RSQVdJ
TkdfRU5BQkxFRCkgXAotICAgIG1hY3JvKERpc3BsYXlMaXN0RHJhd2luZ0VuYWJsZWQsIGRpc3Bs
YXlMaXN0RHJhd2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSwgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhDb21wb3NpdGluZ1JlcGFpbnRDb3VudGVyc1Zpc2li
bGUsIGNvbXBvc2l0aW5nUmVwYWludENvdW50ZXJzVmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhUaWxlZFNjcm9sbGluZ0luZGljYXRvclZpc2libGUsIHRpbGVkU2Nyb2xs
aW5nSW5kaWNhdG9yVmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaW1w
bGVMaW5lTGF5b3V0RGVidWdCb3JkZXJzRW5hYmxlZCwgc2ltcGxlTGluZUxheW91dERlYnVnQm9y
ZGVyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oRGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCwgZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
LSAgICBtYWNybyhMb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCwgbG9nc1Bh
Z2VNZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0g
ICAgbWFjcm8oSWdub3JlVmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMsIGlnbm9yZVZpZXdwb3J0
U2NhbGluZ0NvbnN0cmFpbnRzLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oRm9yY2VB
bHdheXNVc2VyU2NhbGFibGUsIGZvcmNlQWx3YXlzVXNlclNjYWxhYmxlLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKFJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJsZSwgcmVzb3VyY2VV
c2FnZU92ZXJsYXlWaXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEFjY2Vs
ZXJhdGVkRHJhd2luZ0VuYWJsZWQsIGFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQsIEJvb2wsIGJv
b2wsIERFRkFVTFRfQUNDRUxFUkFURURfRFJBV0lOR19FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBt
YWNybyhEaXNwbGF5TGlzdERyYXdpbmdFbmFibGVkLCBkaXNwbGF5TGlzdERyYXdpbmdFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQ29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZSwgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKENvbXBvc2l0aW5nUmVwYWludENvdW50ZXJzVmlzaWJsZSwg
Y29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oVGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JWaXNpYmxlLCB0aWxlZFNj
cm9sbGluZ0luZGljYXRvclZpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhTaW1wbGVMaW5lTGF5b3V0RGVidWdCb3JkZXJzRW5hYmxlZCwgc2ltcGxlTGluZUxh
eW91dERlYnVnQm9yZGVyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhEZXZlbG9wZXJFeHRyYXNFbmFibGVkLCBkZXZlbG9wZXJFeHRyYXNFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oTG9nc1BhZ2VNZXNzYWdlc1Rv
U3lzdGVtQ29uc29sZUVuYWJsZWQsIGxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oSWdub3JlVmlld3Bv
cnRTY2FsaW5nQ29uc3RyYWludHMsIGlnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRzLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhGb3JjZUFsd2F5c1VzZXJTY2Fs
YWJsZSwgZm9yY2VBbHdheXNVc2VyU2NhbGFibGUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhSZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUsIHJlc291cmNlVXNhZ2VP
dmVybGF5VmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIFwKIAogI2Rl
ZmluZSBGT1JfRUFDSF9XRUJLSVRfREVCVUdfVUlOVDMyX1BSRUZFUkVOQ0UobWFjcm8pIFwKLSAg
ICBtYWNybyhWaXNpYmxlRGVidWdPdmVybGF5UmVnaW9ucywgdmlzaWJsZURlYnVnT3ZlcmxheVJl
Z2lvbnMsIFVJbnQzMiwgdWludDMyX3QsIDApCisgICAgbWFjcm8oVmlzaWJsZURlYnVnT3Zlcmxh
eVJlZ2lvbnMsIHZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zLCBVSW50MzIsIHVpbnQzMl90LCAw
LCAiIiwgIiIpCisKKyNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJF
X1BSRUZFUkVOQ0UobWFjcm8pIFwKKyAgICBtYWNybyhFeHBlcmltZW50YWxTaGFkb3dET01FbmFi
bGVkLCBleHBlcmltZW50YWxTaGFkb3dET01FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIlNo
YWRvdyBET00iLCAiU3VwcG9ydCBmb3IgdGhlIFNoYWRvdyBET00gZmVhdHVyZSIpIFwKKyAgICBt
YWNybyhFeHBlcmltZW50YWxXZWJHTDJFbmFibGVkLCBleHBlcmltZW50YWxXZWJHTDJFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIldlYkdMIDIuMCIsICJQcm90b3R5cGUgV2ViR0wgMiBTdXBw
b3J0IikgXAorICAgIFwKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogCkBAIC0yODgsMzcgKzI5Mywz
NyBAQAogCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0ZPTlRfRkFNSUxZX1BSRUZFUkVOQ0Uo
bWFjcm8pIFwKLSAgICBtYWNybyhTdGFuZGFyZEZvbnRGYW1pbHksIHN0YW5kYXJkRm9udEZhbWls
eSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIpIFwKLSAgICBtYWNybyhDdXJzaXZlRm9udEZhbWls
eSwgY3Vyc2l2ZUZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCBERUZBVUxUX0NVUlNJVkVfRk9O
VF9GQU1JTFkpIFwKLSAgICBtYWNybyhGYW50YXN5Rm9udEZhbWlseSwgZmFudGFzeUZvbnRGYW1p
bHksIFN0cmluZywgU3RyaW5nLCAiUGFweXJ1cyIpIFwKLSAgICBtYWNybyhGaXhlZEZvbnRGYW1p
bHksIGZpeGVkRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJDb3VyaWVyIikgXAotICAgIG1h
Y3JvKFNhbnNTZXJpZkZvbnRGYW1pbHksIHNhbnNTZXJpZkZvbnRGYW1pbHksIFN0cmluZywgU3Ry
aW5nLCAiSGVsdmV0aWNhIikgXAotICAgIG1hY3JvKFNlcmlmRm9udEZhbWlseSwgc2VyaWZGb250
RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIlRpbWVzIikgXAotICAgIG1hY3JvKFBpY3RvZ3JhcGhG
b250RmFtaWx5LCBwaWN0b2dyYXBoRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJBcHBsZSBD
b2xvciBFbW9qaSIpIFwKKyAgICBtYWNybyhTdGFuZGFyZEZvbnRGYW1pbHksIHN0YW5kYXJkRm9u
dEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIsICIiLCAiIikgXAorICAgIG1hY3JvKEN1
cnNpdmVGb250RmFtaWx5LCBjdXJzaXZlRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsIERFRkFV
TFRfQ1VSU0lWRV9GT05UX0ZBTUlMWSwgIiIsICIiKSBcCisgICAgbWFjcm8oRmFudGFzeUZvbnRG
YW1pbHksIGZhbnRhc3lGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIlBhcHlydXMiLCAiIiwg
IiIpIFwKKyAgICBtYWNybyhGaXhlZEZvbnRGYW1pbHksIGZpeGVkRm9udEZhbWlseSwgU3RyaW5n
LCBTdHJpbmcsICJDb3VyaWVyIiwgIiIsICIiKSBcCisgICAgbWFjcm8oU2Fuc1NlcmlmRm9udEZh
bWlseSwgc2Fuc1NlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJIZWx2ZXRpY2EiLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhTZXJpZkZvbnRGYW1pbHksIHNlcmlmRm9udEZhbWlseSwgU3Ry
aW5nLCBTdHJpbmcsICJUaW1lcyIsICIiLCAiIikgXAorICAgIG1hY3JvKFBpY3RvZ3JhcGhGb250
RmFtaWx5LCBwaWN0b2dyYXBoRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJBcHBsZSBDb2xv
ciBFbW9qaSIsICIiLCAiIikgXAogICAgIFwKIAogI2VsaWYgUExBVEZPUk0oR1RLKSB8fCBQTEFU
Rk9STShFRkwpCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0ZPTlRfRkFNSUxZX1BSRUZFUkVO
Q0UobWFjcm8pIFwKLSAgICBtYWNybyhTdGFuZGFyZEZvbnRGYW1pbHksIHN0YW5kYXJkRm9udEZh
bWlseSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIpIFwKLSAgICBtYWNybyhDdXJzaXZlRm9udEZh
bWlseSwgY3Vyc2l2ZUZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiQ29taWMgU2FucyBNUyIp
IFwKLSAgICBtYWNybyhGYW50YXN5Rm9udEZhbWlseSwgZmFudGFzeUZvbnRGYW1pbHksIFN0cmlu
ZywgU3RyaW5nLCAiSW1wYWN0IikgXAotICAgIG1hY3JvKEZpeGVkRm9udEZhbWlseSwgZml4ZWRG
b250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkNvdXJpZXIgTmV3IikgXAotICAgIG1hY3JvKFNh
bnNTZXJpZkZvbnRGYW1pbHksIHNhbnNTZXJpZkZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAi
SGVsdmV0aWNhIikgXAotICAgIG1hY3JvKFNlcmlmRm9udEZhbWlseSwgc2VyaWZGb250RmFtaWx5
LCBTdHJpbmcsIFN0cmluZywgIlRpbWVzIikgXAotICAgIG1hY3JvKFBpY3RvZ3JhcGhGb250RmFt
aWx5LCBwaWN0b2dyYXBoRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIpIFwKKyAg
ICBtYWNybyhTdGFuZGFyZEZvbnRGYW1pbHksIHN0YW5kYXJkRm9udEZhbWlseSwgU3RyaW5nLCBT
dHJpbmcsICJUaW1lcyIsICIiLCAiIikgXAorICAgIG1hY3JvKEN1cnNpdmVGb250RmFtaWx5LCBj
dXJzaXZlRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJDb21pYyBTYW5zIE1TIiwgIiIsICIi
KSBcCisgICAgbWFjcm8oRmFudGFzeUZvbnRGYW1pbHksIGZhbnRhc3lGb250RmFtaWx5LCBTdHJp
bmcsIFN0cmluZywgIkltcGFjdCIsICIiLCAiIikgXAorICAgIG1hY3JvKEZpeGVkRm9udEZhbWls
eSwgZml4ZWRGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkNvdXJpZXIgTmV3IiwgIiIsICIi
KSBcCisgICAgbWFjcm8oU2Fuc1NlcmlmRm9udEZhbWlseSwgc2Fuc1NlcmlmRm9udEZhbWlseSwg
U3RyaW5nLCBTdHJpbmcsICJIZWx2ZXRpY2EiLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTZXJpZkZv
bnRGYW1pbHksIHNlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIsICIiLCAi
IikgXAorICAgIG1hY3JvKFBpY3RvZ3JhcGhGb250RmFtaWx5LCBwaWN0b2dyYXBoRm9udEZhbWls
eSwgU3RyaW5nLCBTdHJpbmcsICJUaW1lcyIsICIiLCAiIikgXAogICAgIFwKIAogI2VuZGlmCiAK
ICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX1NUUklOR19QUkVGRVJFTkNFKG1hY3JvKSBcCiAgICAg
Rk9SX0VBQ0hfV0VCS0lUX0ZPTlRfRkFNSUxZX1BSRUZFUkVOQ0UobWFjcm8pIFwKLSAgICBtYWNy
byhEZWZhdWx0VGV4dEVuY29kaW5nTmFtZSwgZGVmYXVsdFRleHRFbmNvZGluZ05hbWUsIFN0cmlu
ZywgU3RyaW5nLCBkZWZhdWx0VGV4dEVuY29kaW5nTmFtZUZvclN5c3RlbUxhbmd1YWdlKCkpIFwK
LSAgICBtYWNybyhGVFBEaXJlY3RvcnlUZW1wbGF0ZVBhdGgsIGZ0cERpcmVjdG9yeVRlbXBsYXRl
UGF0aCwgU3RyaW5nLCBTdHJpbmcsICIiKSBcCisgICAgbWFjcm8oRGVmYXVsdFRleHRFbmNvZGlu
Z05hbWUsIGRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lLCBTdHJpbmcsIFN0cmluZywgZGVmYXVsdFRl
eHRFbmNvZGluZ05hbWVGb3JTeXN0ZW1MYW5ndWFnZSgpLCAiIiwgIiIpIFwKKyAgICBtYWNybyhG
VFBEaXJlY3RvcnlUZW1wbGF0ZVBhdGgsIGZ0cERpcmVjdG9yeVRlbXBsYXRlUGF0aCwgU3RyaW5n
LCBTdHJpbmcsICIiLCAiIiwgIiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lU
X1NUUklOR19QUkVGRVJFTkNFX05PVF9JTl9XRUJDT1JFKG1hY3JvKSBcCi0gICAgbWFjcm8oSW5z
cGVjdG9yV2luZG93RnJhbWUsIGluc3BlY3RvcldpbmRvd0ZyYW1lLCBTdHJpbmcsIFN0cmluZywg
IiIpIFwKKyAgICBtYWNybyhJbnNwZWN0b3JXaW5kb3dGcmFtZSwgaW5zcGVjdG9yV2luZG93RnJh
bWUsIFN0cmluZywgU3RyaW5nLCAiIiwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9F
QUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwCmluZGV4IGZkZDA0ZjZmZmE3YjFjMzU2ZTFmMjI2
NzZlYmJjN2ZjZGYxYWNjMDAuLjliZGIwMGRhMzMyNDA4NzY1ZGU2NDFhOTUwNzNkOWI3MmZkYjRm
NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwCkBA
IC0zMSw3ICszMSw3IEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFjZSBXZWJQcmVmZXJl
bmNlc0tleSB7CiAKLSNkZWZpbmUgREVGSU5FX0tFWV9HRVRURVJTKEtleVVwcGVyLCBLZXlMb3dl
ciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgXAorI2RlZmluZSBERUZJTkVfS0VZX0dF
VFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBO
YW1lLCBEZXRhaWxzKSBcCiAgICAgICAgIGNvbnN0IFN0cmluZyYgS2V5TG93ZXIjI0tleSgpIFwK
ICAgICAgICAgeyBcCiAgICAgICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8U3RyaW5nPiBr
ZXkoQVNDSUlMaXRlcmFsKCNLZXlVcHBlcikpOyBcCkBAIC00MCw2ICs0MCw3IEBAIG5hbWVzcGFj
ZSBXZWJQcmVmZXJlbmNlc0tleSB7CiAKIEZPUl9FQUNIX1dFQktJVF9QUkVGRVJFTkNFKERFRklO
RV9LRVlfR0VUVEVSUykKIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERFRklORV9L
RVlfR0VUVEVSUykKK0ZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJF
TkNFKERFRklORV9LRVlfR0VUVEVSUykKIAogI3VuZGVmIERFRklORV9LRVlfR0VUVEVSUwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmggYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmgKaW5kZXggMGI4ZmJjNzRl
ZjNkNjY1NzM3Y2JkMjUyYmViZmMyNDFhZThmZDA4OC4uNTNjMmYxYWYyM2VlYzliM2MxZmEwMmM4
MGJhYzY4NDJmZjdlMjRkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzS2V5cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0tleXMuaApAQCAtMzIsMTAgKzMyLDExIEBACiBuYW1lc3BhY2UgV2ViS2l0IHsKIG5hbWVzcGFj
ZSBXZWJQcmVmZXJlbmNlc0tleSB7CiAKLSNkZWZpbmUgREVDTEFSRV9LRVlfR0VUVEVSUyhLZXlV
cHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIGNvbnN0IFN0cmlu
ZyYgS2V5TG93ZXIjI0tleSgpOworI2RlZmluZSBERUNMQVJFX0tFWV9HRVRURVJTKEtleVVwcGVy
LCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgTmFtZSwgRGV0YWlscykg
Y29uc3QgU3RyaW5nJiBLZXlMb3dlciMjS2V5KCk7CiAKIEZPUl9FQUNIX1dFQktJVF9QUkVGRVJF
TkNFKERFQ0xBUkVfS0VZX0dFVFRFUlMpCiBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5D
RShERUNMQVJFX0tFWV9HRVRURVJTKQorRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFU
VVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9LRVlfR0VUVEVSUykKIAogI3VuZGVmIERFQ0xBUkVfS0VZ
X0dFVFRFUlMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUu
Y3BwCmluZGV4IDNlOWZmYjIxYTFkOGVlMWZlY2E4OGQ1ODM0NTYwZjQ3NjE2ODM2Y2IuLjk4MmVi
ZTBhYjdjMDBiZDc2ZDVlYzBlMWIwN2Y1YjMyM2NhOGJiOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAKQEAgLTE2MCw5ICsxNjAsMTAgQEAgc3Rh
dGljIFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlTWFwJiBkZWZhdWx0cygpCiB7CiAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlTWFwPiBkZWZhdWx0
czsKICAgICBpZiAoZGVmYXVsdHMuZ2V0KCkuaXNFbXB0eSgpKSB7Ci0jZGVmaW5lIERFRklORV9E
RUZBVUxUUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUp
IGRlZmF1bHRzLmdldCgpLnNldChXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCBX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSgoVHlwZSlEZWZhdWx0VmFsdWUpKTsKKyNkZWZpbmUg
REVGSU5FX0RFRkFVTFRTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1
bHRWYWx1ZSwgTmFtZSwgRGV0YWlscykgZGVmYXVsdHMuZ2V0KCkuc2V0KFdlYlByZWZlcmVuY2Vz
S2V5OjpLZXlMb3dlciMjS2V5KCksIFdlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKChUeXBlKURl
ZmF1bHRWYWx1ZSkpOwogICAgICAgICBGT1JfRUFDSF9XRUJLSVRfUFJFRkVSRU5DRShERUZJTkVf
REVGQVVMVFMpCiAgICAgICAgIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERFRklO
RV9ERUZBVUxUUykKKyAgICAgICAgRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJF
X1BSRUZFUkVOQ0UoREVGSU5FX0RFRkFVTFRTKQogI3VuZGVmIERFRklORV9ERUZBVUxUUwogI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1dlYlBy
ZWZlcmVuY2VzU3RvcmVEZWZhdWx0c0FkZGl0aW9ucy5jcHA+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2VmNDJhZmYzYTEwYzNhMmVlMjk4NzY4NDQyMTc0
NmU5MTMyMWYyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmNwcApAQCAtMCwwICsxLDQ3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFQSUV4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5oIgorCituYW1lc3BhY2UgQVBJIHsKKworUmVmPEV4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbj4gRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9u
OjpjcmVhdGUoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3Ry
aW5nJiBkZXRhaWxzKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEV4cGVyaW1lbnRhbEZl
YXR1cmVEZXNjcmlwdGlvbihuYW1lLCBrZXksIGRldGFpbHMpKTsKK30KKworRXhwZXJpbWVudGFs
RmVhdHVyZURlc2NyaXB0aW9uOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24oY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGtleSwgY29uc3QgU3RyaW5nJiBkZXRhaWxzKQor
ICAgIDogbV9uYW1lKG5hbWUpCisgICAgLCBtX2tleShrZXkpCisgICAgLCBtX2RldGFpbHMoZGV0
YWlscykKK3sKK30KKworRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uOjp+RXhwZXJpbWVu
dGFsRmVhdHVyZURlc2NyaXB0aW9uKCkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9BUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2Ny
aXB0aW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTA0OTczMmI0Y2U3ZWQ0OTg2ZGVhYmY2OTQ4NzgyMDU4MDUz
ZWQyZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJ
RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uX2gKKyNkZWZp
bmUgQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uX2gKKworI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgQVBJ
IHsKKworY2xhc3MgRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uIGZpbmFsIDogcHVibGlj
IE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24+
IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPEV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlv
bj4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0
cmluZyYgZGV0YWlscyk7CisgICAgdmlydHVhbCB+RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0
aW9uKCk7CisKKyAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQorICAg
IFN0cmluZyBrZXkoKSBjb25zdCB7IHJldHVybiBtX2tleTsgfQorICAgIFN0cmluZyBkZXRhaWxz
KCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWxzOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQg
RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgZGV0YWlscyk7CisKKyAgICBTdHJpbmcgbV9uYW1l
OworICAgIFN0cmluZyBtX2tleTsKKyAgICBTdHJpbmcgbV9kZXRhaWxzOworfTsKKworfQorCisj
ZW5kaWYgLy8gQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAppbmRleCA3ODdlOTkyNzg5ZmMxOWE1M2Fl
YmI2MzQ2YjBjMWViODFlNmJkODg3Li41YTc0YTUwN2RhMjg2ZjU5MzU3MmU1NDNmM2M2MDllYzVi
NjI2OGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCkBA
IC01MSw2ICs1MSw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogCiBuYW1lc3Bh
Y2UgQVBJIHsKK2NsYXNzIEV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbjsKIGNsYXNzIEZy
YW1lSGFuZGxlOwogY2xhc3MgRnJhbWVJbmZvOwogY2xhc3MgSGl0VGVzdFJlc3VsdDsKQEAgLTEy
NCw2ICsxMjUsNyBAQCBXS19BRERfQVBJX01BUFBJTkcoV0tDb250ZXh0Q29uZmlndXJhdGlvblJl
ZiwgQVBJOjpQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24pCiBXS19BRERfQVBJX01BUFBJTkcoV0tD
b29raWVNYW5hZ2VyUmVmLCBXZWJDb29raWVNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJ
TkcoV0tDcmVkZW50aWFsUmVmLCBXZWJDcmVkZW50aWFsKQogV0tfQUREX0FQSV9NQVBQSU5HKFdL
RG93bmxvYWRSZWYsIERvd25sb2FkUHJveHkpCitXS19BRERfQVBJX01BUFBJTkcoV0tFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWYsIEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZURlc2Ny
aXB0aW9uKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclJlZiwg
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLRnJh
bWVQb2xpY3lMaXN0ZW5lclJlZiwgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5KQogV0tfQURE
X0FQSV9NQVBQSU5HKFdLRnJhbWVIYW5kbGVSZWYsIEFQSTo6RnJhbWVIYW5kbGUpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tFeHBlcmltZW50YWxGZWF0dXJl
RGVzY3JpcHRpb25SZWYuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uUmVmLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMWI2YWQwMDM3
ZmZhODJiM2E2YjA5N2NlYmVhNTZjYjBjNTVmNGZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9u
UmVmLmNwcApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uUmVmLmgiCisKKyNp
bmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCIKKyNpbmNsdWRlICJX
S0FQSUNhc3QuaCIKKworV0tUeXBlSUQgV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25H
ZXRUeXBlSUQoKQoreworICAgIHJldHVybiBXZWJLaXQ6OnRvQVBJKEFQSTo6RXhwZXJpbWVudGFs
RmVhdHVyZURlc2NyaXB0aW9uOjpBUElUeXBlKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5o
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXhwZXJpbWVudGFsRmVhdHVyZURl
c2NyaXB0aW9uUmVmLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTcwZjgyMGRhNzE5NGM2OWVhNzEzYmI2NmI2OTg1
ODAyNzM1OGY4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5oCkBAIC0wLDAgKzEsNDEg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9u
UmVmX2gKKyNkZWZpbmUgV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWZfaAorCisj
aW5jbHVkZSA8V2ViS2l0L1dLQmFzZS5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAi
QyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS0V4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbkdldFR5cGVJRCgpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgor
CisjZW5kaWYgLyogV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWZfaCAqLwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1t
CmluZGV4IDU4ZTY1OGNhYTk4Y2RkODZkZThkNGJjN2FmNWZiMmM2ZTNkODMyZjkuLmJlYjI5OTc3
MmM3YmUzNDk2ZWUwZDUwZjQwOGUxMmYxNzljNTljNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0KQEAgLTI4LDYgKzI4LDgg
QEAKIAogI2lmIFdLX0FQSV9FTkFCTEVECiAKKyNpbXBvcnQgIkFQSUFycmF5LmgiCisjaW1wb3J0
ICJXS05TQXJyYXkuaCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCiAjaW1wb3J0IDxXZWJD
b3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC00MTks
NiArNDIxLDIzIEBAIHN0YXRpYyBfV0tTdG9yYWdlQmxvY2tpbmdQb2xpY3kgdG9BUEkoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvCiAgICAgX3ByZWZlcmVuY2VzLT5z
ZXRGaXhlZEZvbnRGYW1pbHkoZml4ZWRQaXRjaEZvbnRGYW1pbHkpOwogfQogCisrIChOU0FycmF5
KilfZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9ucworeworICAgIFZlY3RvcjxSZWZQdHI8
QVBJOjpPYmplY3Q+PiBleHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25zID0gV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlczo6ZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9ucygpOworICAgIFJl
ZjxBUEk6OkFycmF5PiBkZXNjcmlwdGlvbnMgPSBBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShl
eHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25zKSk7CisgICAgcmV0dXJuIFt3cmFwcGVyKGRl
c2NyaXB0aW9ucy5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKK30KKworLSAoQk9PTClfcHJlZmVy
ZW5jZUZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KE5TU3RyaW5nKilrZXkKK3sKKyAgICByZXR1cm4g
X3ByZWZlcmVuY2VzLT5wcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShrZXkpOworfQor
CistICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZTooTlNTdHJpbmcq
KWtleSB0b1ZhbHVlOihCT09MKXZhbHVlCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRQcmVmZXJl
bmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShrZXksIHZhbHVlKTsKK30KKwogQGVuZAogCiAjZW5k
aWYgLy8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAwOWNlZDVhNDU0MTMw
ZTQ4YWJlNzI5NWI0MzdlZGM2OGMwZGE4MzBmLi4wNDBhYWU0ZjE3NjY1MzY3ZTdiOWYzNWJkM2Fj
OWNhNWE1NmJlM2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC04NSw2ICs4NSwxMCBAQCB0eXBl
ZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFncykgewog
QHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0T2ZmbGluZUFwcGxpY2F0aW9uQ2FjaGVJ
c0VuYWJsZWQ6KSBCT09MIF9vZmZsaW5lQXBwbGljYXRpb25DYWNoZUlzRW5hYmxlZDsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEZ1bGxTY3JlZW5FbmFibGVkOikgQk9PTCBfZnVs
bFNjcmVlbkVuYWJsZWQgV0tfQVZBSUxBQkxFKDEwXzExLCA5XzApOwogCisrIChOU0FycmF5Kilf
ZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uczsKKy0gKEJPT0wpX3ByZWZlcmVuY2VGb3JF
eHBlcmltZW50YWxGZWF0dXJlOihOU1N0cmluZyopa2V5OworLSAodm9pZClfc2V0UHJlZmVyZW5j
ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KE5TU3RyaW5nKilrZXkgdG9WYWx1ZTooQk9PTCl2YWx1
ZTsKKwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlw
dGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJhN2UyZjE3Yjk4YWEzMTE5MDBjNmVkNWFhYmZlMjg3YTY3MDJm
NzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5oCkBAIC0wLDAgKzEsNDEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElf
RU5BQkxFRAorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworV0tfQ0xBU1Nf
QVZBSUxBQkxFKDEwXzExLCA5XzApCitAaW50ZXJmYWNlIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbiA6IE5TT2JqZWN0CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwg
Y29weSkgTlNTdHJpbmcgKmtleTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29w
eSkgTlNTdHJpbmcgKm5hbWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkp
IE5TU3RyaW5nICpkZXRhaWxzOworCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3Jp
cHRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Y2YwMTY1NDBhYjBkOTk5Nzlj
ZmQ4ODhjZTMyNjkxYTdkYjEzYzFkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24ubW0K
QEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgImNvbmZpZy5oIgorI2ltcG9y
dCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uSW50ZXJuYWwuaCIKKworI2lmIFdL
X0FQSV9FTkFCTEVECisKK0BpbXBsZW1lbnRhdGlvbiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRpb24KKworLSAodm9pZClkZWFsbG9jCit7CisgICAgX2V4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbi0+QVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb246On5FeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRpb24oKTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKwor
LSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgoreworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5n
V2l0aEZvcm1hdDpAIjwlQDogJXA7IG5hbWUgPSAlQDsga2V5ID0geyAlQCB9PiIsIE5TU3RyaW5n
RnJvbUNsYXNzKHNlbGYuY2xhc3MpLCBzZWxmLCBzZWxmLm5hbWUsIHNlbGYua2V5XTsKK30KKwor
LSAoTlNTdHJpbmcgKiluYW1lCit7CisgICAgcmV0dXJuIF9leHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRpb24tPm5hbWUoKTsKK30KKworLSAoTlNTdHJpbmcgKilrZXkKK3sKKyAgICByZXR1cm4g
X2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi0+a2V5KCk7Cit9CisKKy0gKE5TU3RyaW5n
ICopZGV0YWlscworeworICAgIHJldHVybiBfZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9u
LT5kZXRhaWxzKCk7Cit9CisKKyNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1l
bnRhdGlvbgorCistIChBUEk6Ok9iamVjdCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbjsKK30KKworQGVuZAorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFs
RmVhdHVyZURlc2NyaXB0aW9uSW50ZXJuYWwuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uSW50ZXJuYWwuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kZDdlY2YxNDk5ZjkxMWJlMGY4ODZjZjZkN2E4N2FmNjczOWE3YzZmCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRpb25JbnRlcm5hbC5oCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW1wb3J0ICJfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCIKKwor
I2lmIFdLX0FQSV9FTkFCTEVECisKKyNpbXBvcnQgIkFQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNj
cmlwdGlvbi5oIgorI2ltcG9ydCAiV0tPYmplY3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2lubGluZSBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24gKndyYXBwZXIoQVBJOjpF
eHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24mIGV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlw
dGlvbikKK3sKKyAgICBBU1NFUlQoW2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi53cmFw
cGVyKCkgaXNLaW5kT2ZDbGFzczpbX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uIGNs
YXNzXV0pOworICAgIHJldHVybiAoX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uICop
ZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLndyYXBwZXIoKTsKK30KKworfQorCitAaW50
ZXJmYWNlIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbiAoKSA8V0tPYmplY3Q+IHsK
K0BwYWNrYWdlCisgICAgQVBJOjpPYmplY3RTdG9yYWdlPEFQSTo6RXhwZXJpbWVudGFsRmVhdHVy
ZURlc2NyaXB0aW9uPiBfZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uOworfQorQGVuZAor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCmlu
ZGV4IGUxYzM5MGVjODFmODBlYWU5NDhmNTE1ODFhZWFiMGJmZDBhYjVlZGQuLmRiMWJlMjBjMzhl
MDEyMmM4M2JkNjQ5NTJlZmU1NDg2OGI0ZmM3OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKGJvb2wgdmFsdWUpCiAgICAgfQogfQog
Ci0jZGVmaW5lIERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUyhLZXlVcHBlciwg
S2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIFwKKyNkZWZpbmUgREVGSU5F
X1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5h
bWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgTmFtZSwgRGV0YWlscykgXAogICAgIHZvaWQgV2ViUHJl
ZmVyZW5jZXM6OnNldCMjS2V5VXBwZXIoY29uc3QgVHlwZSYgdmFsdWUpIFwKICAgICB7IFwKICAg
ICAgICAgaWYgKCFtX3N0b3JlLnNldCMjVHlwZU5hbWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVu
Y2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIHZhbHVlKSkgXApAQCAtMTg2LDkgKzE4Niw2MCBAQCB2
b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVQcml2YXRlQnJvd3NpbmdWYWx1ZShib29sIHZhbHVl
KQogCiBGT1JfRUFDSF9XRUJLSVRfUFJFRkVSRU5DRShERUZJTkVfUFJFRkVSRU5DRV9HRVRURVJf
QU5EX1NFVFRFUlMpCiBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUZJTkVfUFJF
RkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCitGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFM
X0ZFQVRVUkVfUFJFRkVSRU5DRShERUZJTkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMp
CiAKICN1bmRlZiBERUZJTkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMKIAorc3RhdGlj
IFZlY3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiYgZ2xvYmFsRXhwZXJpbWVudGFsRmVhdHVyZURl
c2NyaXB0aW9ucygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxSZWZQdHI8
QVBJOjpPYmplY3Q+Pj4gZGVzY3JpcHRpb25zOworCisjZGVmaW5lIEFERF9FWFBFUklNRU5UQUxf
UFJFRkVSRU5DRV9ERVNDUklQVElPTihLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBl
LCBEZWZhdWx0VmFsdWUsIE5hbWUsIERldGFpbHMpIFwKKyAgICBhcGlEZXNjcmlwdGlvbiA9IEFQ
STo6RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uOjpjcmVhdGUoTmFtZSwgI0tleVVwcGVy
LCBEZXRhaWxzKTsgXAorICAgIGRlc2NyaXB0aW9ucy5nZXQoKS5hcHBlbmQoYXBpRGVzY3JpcHRp
b24pOyBcCisKKyAgICBpZiAoIWRlc2NyaXB0aW9ucy5nZXQoKS5zaXplKCkpIHsKKworICAgICAg
ICBSZWZQdHI8QVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24+IGFwaURlc2NyaXB0
aW9uOworCisgICAgICAgIEZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVG
RVJFTkNFKEFERF9FWFBFUklNRU5UQUxfUFJFRkVSRU5DRV9ERVNDUklQVElPTikKKworICAgIH0K
KworI3VuZGVmIEFERF9FWFBFUklNRU5UQUxfUFJFRkVSRU5DRV9ERVNDUklQVElPTgorCisgICAg
cmV0dXJuIGRlc2NyaXB0aW9uczsKK30KKworVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IFdl
YlByZWZlcmVuY2VzOjpleHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25zKCkKK3sKKyAgICBy
ZXR1cm4gZ2xvYmFsRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9ucygpOworfQorCitib29s
IFdlYlByZWZlcmVuY2VzOjpwcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShjb25zdCBT
dHJpbmcmIGtleSkKK3sKKyNkZWZpbmUgQ0FMTF9FWFBFUklNRU5UQUxfR0VUVEVSKEtleVVwcGVy
LCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgTmFtZSwgRGV0YWlscykg
XAorICAgIGlmIChrZXkgPT0gI0tleVVwcGVyKSBcCisgICAgICAgIHJldHVybiBLZXlMb3dlcigp
OyBcCisKK0ZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJFTkNFKENB
TExfRVhQRVJJTUVOVEFMX0dFVFRFUikKKworI3VuZGVmIENBTExfRVhQRVJJTUVOVEFMX0dFVFRF
UgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRQcmVm
ZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShjb25zdCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1
ZSkKK3sKKyNkZWZpbmUgQ0FMTF9FWFBFUklNRU5UQUxfU0VUVEVSKEtleVVwcGVyLCBLZXlMb3dl
ciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgTmFtZSwgRGV0YWlscykgXAorICAgIGlm
IChrZXkgPT0gI0tleVVwcGVyKSBcCisgICAgICAgIHNldCMjS2V5VXBwZXIodmFsdWUpOyBcCisK
KyAgICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShDQUxM
X0VYUEVSSU1FTlRBTF9TRVRURVIpCisKKyN1bmRlZiBDQUxMX0VYUEVSSU1FTlRBTF9TRVRURVIK
K30KKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVCcm93c2lu
ZygpCiB7CiAgICAgcmV0dXJuIHByaXZhdGVCcm93c2luZ1BhZ2VDb3VudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMDE4MTczODc4MWExN2U5MDZmOWU4
OGE5MjllMTEwZGZiZjdiZDI0Ni4uOTE5MzYwMGQ1ZTAwZDI5NTA0ZGNjZTkwY2EzMGY0N2JhZTUx
NDc5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2Vz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2
LDYgKzI2LDcgQEAKICNpZm5kZWYgV2ViUHJlZmVyZW5jZXNfaAogI2RlZmluZSBXZWJQcmVmZXJl
bmNlc19oCiAKKyNpbmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCIK
ICNpbmNsdWRlICJBUElPYmplY3QuaCIKICNpbmNsdWRlICJGb250U21vb3RoaW5nTGV2ZWwuaCIK
ICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgiCkBAIC0zNCw3ICszNSw3IEBA
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
LSNkZWZpbmUgREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUyhLZXlVcHBlciwg
S2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIFwKKyNkZWZpbmUgREVDTEFS
RV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVO
YW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUsIE5hbWUsIERldGFpbHMpIFwKICAgICB2b2lkIHNldCMj
S2V5VXBwZXIoY29uc3QgVHlwZSYgdmFsdWUpOyBcCiAgICAgVHlwZSBLZXlMb3dlcigpIGNvbnN0
OwogCkBAIC01OSwxNCArNjAsMTMgQEAgcHVibGljOgogCiAgICAgY29uc3QgV2ViUHJlZmVyZW5j
ZXNTdG9yZSYgc3RvcmUoKSBjb25zdCB7IHJldHVybiBtX3N0b3JlOyB9CiAKLSNkZWZpbmUgREVD
TEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5
cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIFwKLSAgICB2b2lkIHNldCMjS2V5VXBwZXIoY29u
c3QgVHlwZSYgdmFsdWUpOyBcCi0gICAgVHlwZSBLZXlMb3dlcigpIGNvbnN0OyBcCi0KICAgICBG
T1JfRUFDSF9XRUJLSVRfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9T
RVRURVJTKQogICAgIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERFQ0xBUkVfUFJF
RkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCisgICAgRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1F
TlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VU
VEVSUykKIAotI3VuZGVmIERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMKKyAg
ICBzdGF0aWMgVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+IGV4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdGlvbnMoKTsKKyAgICBib29sIHByZWZlcmVuY2VGb3JFeHBlcmltZW50YWxGZWF0dXJl
KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2V0UHJlZmVyZW5jZUZvckV4cGVyaW1lbnRhbEZl
YXR1cmUoY29uc3QgU3RyaW5nJiwgYm9vbCk7CiAKICAgICAvLyBFeHBvc2VkIGZvciBXZWJLaXRU
ZXN0UnVubmVyIHVzZSBvbmx5LgogICAgIHZvaWQgZm9yY2VVcGRhdGUoKSB7IHVwZGF0ZSgpOyB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2Vz
TWFjLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNlc01hYy5t
bQppbmRleCAyZmEzNTJlNDI2MzhlYTE2NjgwMzZmOTkwMTM4M2E3NDkxNmI0ZDYwLi44ODIwOWUz
NjM1MGQ4ZmJkYzIxMTUwODRlNDhiMGQwYTBiZGNjZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0KQEAgLTE0NCw5ICsxNDQsMTAg
QEAgc3RhdGljIHZvaWQgc2V0RGVidWdVSW50MzJWYWx1ZUlmSW5Vc2VyRGVmYXVsdHMoY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdAogCiB2b2lkIFdlYlByZWZlcmVuY2VzOjpwbGF0Zm9y
bUluaXRpYWxpemVTdG9yZSgpCiB7Ci0jZGVmaW5lIElOSVRJQUxJWkVfREVCVUdfUFJFRkVSRU5D
RV9GUk9NX05TVVNFUkRFRkFVTFRTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUs
IERlZmF1bHRWYWx1ZSkgXAorI2RlZmluZSBJTklUSUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0VfRlJP
TV9OU1VTRVJERUZBVUxUUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZh
dWx0VmFsdWUsIE5hbWUsIERldGFpbHMpIFwKICAgICBzZXREZWJ1ZyMjVHlwZU5hbWUjI1ZhbHVl
SWZJblVzZXJEZWZhdWx0cyhtX2lkZW50aWZpZXIsIG1fa2V5UHJlZml4LCBtX2dsb2JhbERlYnVn
S2V5UHJlZml4LCBXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCBtX3N0b3JlKTsK
IAorICAgIEZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJFTkNFKElO
SVRJQUxJWkVfREVCVUdfUFJFRkVSRU5DRV9GUk9NX05TVVNFUkRFRkFVTFRTKQogICAgIEZPUl9F
QUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKElOSVRJQUxJWkVfREVCVUdfUFJFRkVSRU5DRV9G
Uk9NX05TVVNFUkRFRkFVTFRTKQogCiAjdW5kZWYgSU5JVElBTElaRV9ERUJVR19QUkVGRVJFTkNF
X0ZST01fTlNVU0VSREVGQVVMVFMKQEAgLTE1NCw3ICsxNTUsNyBAQCB2b2lkIFdlYlByZWZlcmVu
Y2VzOjpwbGF0Zm9ybUluaXRpYWxpemVTdG9yZSgpCiAgICAgaWYgKCFtX2lkZW50aWZpZXIpCiAg
ICAgICAgIHJldHVybjsKIAotI2RlZmluZSBJTklUSUFMSVpFX1BSRUZFUkVOQ0VfRlJPTV9OU1VT
RVJERUZBVUxUUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFs
dWUpIFwKKyNkZWZpbmUgSU5JVElBTElaRV9QUkVGRVJFTkNFX0ZST01fTlNVU0VSREVGQVVMVFMo
S2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBOYW1lLCBE
ZXRhaWxzKSBcCiAgICAgVHlwZSB1c2VyIyNLZXlVcHBlciMjVmFsdWU7IFwKICAgICBpZiAocGxh
dGZvcm1HZXQjI1R5cGVOYW1lIyNVc2VyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Oktl
eUxvd2VyIyNLZXkoKSwgdXNlciMjS2V5VXBwZXIjI1ZhbHVlKSkgXAogICAgICAgICBtX3N0b3Jl
LnNldCMjVHlwZU5hbWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMj
S2V5KCksIHVzZXIjI0tleVVwcGVyIyNWYWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjY1MmJiY2ZkMjg3NzM0MzQ2Y2E2
ZWM3MzI5ODY2OGU0MzlmMTlmNi4uNjYxNjI3YmE5NDJjMjU0ZDgxZjIwMjU3ODAxYzc2ZjBkNTk1
Nzk3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNzEyLDYgKzcxMiwxMyBAQAogCQkzMTMxMjYxRjE0OEZGODJDMDBCQTJBMzkg
LyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTMxMjYxQTE0OEZGODJCMDBCQTJBMzkg
LyogTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggKi87IH07CiAJCTMxMzEy
NjIwMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEyNjFCMTQ4RkY4MkIw
MEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCAqLzsgfTsKIAkJMzEzMTI2MjEx
NDhGRjgyQzAwQkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxMzEyNjFDMTQ4RkY4MkIwMEJBMkEz
OSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggKi87IH07CisJCTMxN0ZFN0JGMUM0ODc1Rjgw
MEEwQ0E4OSAvKiBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QkMxQzQ4NzVFNDAw
QTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uUmVmLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzE3RkU3QzAxQzQ4NzYw
RTAwQTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uUmVmLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0JCMUM0ODc1
RTQwMEEwQ0E4OSAvKiBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5jcHAgKi87
IH07CisJCTMxN0ZFN0M1MUM0ODdBNkMwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJl
RGVzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRpb24uaCAqLzsgfTsKKwkJMzE3RkU3QzYxQzQ4N0E3MTAwQTBDQTg5IC8qIEFQSUV4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDMTFDNDg3QTY2MDBBMENBODkgLyogQVBJRXhwZXJp
bWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmNwcCAqLzsgfTsKKwkJMzE3RkU3Q0QxQzQ4N0RBRTAw
QTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbkludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDOTFDNDg3
RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uSW50ZXJuYWwu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzMTdG
RTdDRTFDNDg3REI4MDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9u
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3
QzgxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5t
bSAqLzsgfTsKKwkJMzE3RkU3Q0YxQzQ4N0RCRDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZl
YXR1cmVEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzE3RkU3QzcxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1
cmVEZXNjcmlwdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTMxOEJFMTcxMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJF
MTcwMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMThCRTE3NTE0NzQzREQ3
MDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTc0MTQ3NDNERDYwMEE4RkJCMiAvKiBX
S05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwICovOyB9OwogCQkzMThCRTE3NzE0NzQzRTYwMDBBOEZC
QjIgLyogV0tOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzE4QkUxNzYxNDc0M0U2MDAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9u
LmNwcCAqLzsgfTsKQEAgLTI3MDksNiArMjcxNiwxMyBAQAogCQkzMTMxMjYxQzE0OEZGODJCMDBC
QTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTMxMzEyNjFEMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1h
bmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNjA3RjM4
MTk2MjcwMDIwMDlCODdEQSAvKiBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0JCMUM0ODc1RTQwMEEwQ0E4OSAvKiBXS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0JDMUM0ODc1RTQwMEEwQ0E4OSAv
KiBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTdGRTdDMTFDNDg3QTY2MDBBMENBODkgLyog
QVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAv
KiBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tF
eHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0aW9uLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0M4MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb24ubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0M5MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25JbnRlcm5hbC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMThCRTE3MDE0NzQzREIxMDBBOEZCQjIg
LyogV0tOb3RpZmljYXRpb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLTm90aWZpY2F0aW9uTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkzMThCRTE3NDE0NzQzREQ2MDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTm90aWZpY2F0aW9uTWFuYWdl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOEJFMTc2MTQ3NDNFNjAwMEE4
RkJCMiAvKiBXS05vdGlmaWNhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXS05vdGlmaWNhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC01MDEzLDYgKzUwMjcsOSBAQAogCQkJCTM3OUE4NzNCMThCQkZGMDcwMDU4OEFGMiAvKiBfV0tF
bGVtZW50QWN0aW9uSW50ZXJuYWwuaCAqLywKIAkJCQkxQUQwMUJDNzE5MDVEMzdFMDBDOUM0NUYg
LyogX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcuaCAqLywKIAkJCQkxQUQwMUJDNjE5MDVEMzdF
MDBDOUM0NUYgLyogX1dLRXJyb3JSZWNvdmVyeUF0dGVtcHRpbmcubW0gKi8sCisJCQkJMzE3RkU3
QzcxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5o
ICovLAorCQkJCTMxN0ZFN0M4MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0
dXJlRGVzY3JpcHRpb24ubW0gKi8sCisJCQkJMzE3RkU3QzkxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9X
S0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbkludGVybmFsLmggKi8sCiAJCQkJMDA1RDE1
OEUxOEU0QzRFQjAwNzM0NjE5IC8qIF9XS0ZpbmREZWxlZ2F0ZS5oICovLAogCQkJCTJERUFDNUNF
MUFDMzY4QkIwMEExOTVEOCAvKiBfV0tGaW5kT3B0aW9ucy5oICovLAogCQkJCTJFN0E5NDQ5MUJC
RDk1QzYwMDk0NTU0NyAvKiBfV0tGb2N1c2VkRWxlbWVudEluZm8uaCAqLywKQEAgLTU5OTQsNiAr
NjAxMSw4IEBACiAJCQkJMDc2RTg4NEQxQTEzQ0FERjAwNUU5MEZDIC8qIEFQSUNvbnRleHRNZW51
Q2xpZW50LmggKi8sCiAJCQkJODM4OTFCNjIxQTY4QjM0MjAwMzBGMzg2IC8qIEFQSURpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmggKi8sCiAJCQkJMUY3RDM2QzAxOERBNTEzRjAwRDlENjU5IC8qIEFQ
SURvd25sb2FkQ2xpZW50LmggKi8sCisJCQkJMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQ
SUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5jcHAgKi8sCisJCQkJMzE3RkU3QzIxQzQ4
N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5oICovLAog
CQkJCTAwQjk2NjE1MThFMjRDQkEwMENFMUY4OCAvKiBBUElGaW5kQ2xpZW50LmggKi8sCiAJCQkJ
MkRENjdBMkQxQkQ4MTk3MzAwNTNCMjUxIC8qIEFQSUZpbmRNYXRjaGVzQ2xpZW50LmggKi8sCiAJ
CQkJMzdFMjVENkQxOEZERTVENjAwNUQzQTAwIC8qIEFQSUZvcm1DbGllbnQuaCAqLywKQEAgLTYw
NzIsNiArNjA5MSw4IEBACiAJCQkJNTE4QUNGMTAxMkIwMTVGODAwQjA0QjgzIC8qIFdLQ3JlZGVu
dGlhbFR5cGVzLmggKi8sCiAJCQkJMUFCN0Q3OEMxMjg4Q0Q5QTAwQ0ZEMDhDIC8qIFdLRG93bmxv
YWQuY3BwICovLAogCQkJCTFBQjdENzhCMTI4OENEOUEwMENGRDA4QyAvKiBXS0Rvd25sb2FkLmgg
Ki8sCisJCQkJMzE3RkU3QkIxQzQ4NzVFNDAwQTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVy
ZURlc2NyaXB0aW9uUmVmLmNwcCAqLywKKwkJCQkzMTdGRTdCQzFDNDg3NUU0MDBBMENBODkgLyog
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRpb25SZWYuaCAqLywKIAkJCQlCQ0U0Njk1NzEy
MTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmNwcCAqLywKIAkJCQlC
Q0U0Njk1ODEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggKi8s
CiAJCQkJQkNEMDEzOTgxMTBGQTQyMDAwM0I4QTY3IC8qIFdLRnJhbWUuY3BwICovLApAQCAtNzU4
NSw2ICs3NjA2LDcgQEAKIAkJCQkyREU2OTQzRTE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWdu
aWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjcyQjI4
QjE0MDY5ODVEMDA5NkE1RDAgLyogU3RhdGlzdGljc0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxNEJERUQzMTZDOThFREQwMEU0RTI1RSAvKiBTdGF0aXN0aWNzUmVxdWVzdC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMzE3RkU3Q0QxQzQ4N0RBRTAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZl
YXR1cmVEZXNjcmlwdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUQzMzA2RjE2
QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUNFQ0QyNTE3MTYyREIxMDAxRkM5RUYgLyogU3RvcmFnZUFyZWFNYXAuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBMzM0REVFMTZERThGODgwMDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKQEAgLTc3MDMsNiArNzcyNSw3IEBACiAJCQkJQkM5QkE1MDUxNjk3
QzQ1MzAwRTQ0NjE2IC8qIFdlYktpdDJJbml0aWFsaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTYyODBDNzE5MTk5NTBDMDA2QUQ5RjkgLyogV2ViS2l0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0QwMDNBNTMxOUQ0OUI1RDAwNUFCQ0UwIC8qIFdlYk1lZGlhS2V5U3RvcmFnZU1hbmFn
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxN0ZFN0JGMUM0ODc1RjgwMEEwQ0E4OSAvKiBXS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvblJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzk4
QzQ4QTYxQjZGRDRDMzAwMTQ1MTAzIC8qIFdlYk1lZGlhU2Vzc2lvbkZvY3VzTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQzlDMTgzM0MxQjc0MDI2RDAwNzAzNkE3IC8qIFdlYk1lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzlDRDQzOTgxQjRC
MDAxRDAwMjM5RTMzIC8qIFdlYk1lZGlhU2Vzc2lvbk1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywK
QEAgLTc3NjcsNiArNzc5MCw3IEBACiAJCQkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzYxRDczMTky
N0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcxQTlD
REY5NjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJE
MTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURhdGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3MCAvKiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVh
ZGVycyAqLywKQEAgLTgxMTAsNiArODEzNCw3IEBACiAJCQkJMjZGOUE4M0IxOEEzNDY4MTAwQUVC
ODhBIC8qIFdLV2ViVmlld1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRDYwRjVFMThF
MjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1cmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUQ2MEY2MDE4RTIwRjc0MDAyMEMwMzQgLyogV0tXaW5kb3dGZWF0dXJlc0ludGVybmFsLmggaW4g
SGVhZGVycyAqLywKKwkJCQkzMTdGRTdDRjFDNDg3REJEMDBBMENBODkgLyogX1dLRXhwZXJpbWVu
dGFsRmVhdHVyZURlc2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTdDMERGNzFCN0Qx
RjEwMDBBOUI4NDggLyogV0tXaW5kb3dGZWF0dXJlc1JlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNCRUNERTgxNkI2NDE2ODAwMDQ3QTFBIC8qIFhQQ1NlcnZpY2VFbnRyeVBvaW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCSk7CkBAIC05MDQ0LDYgKzkwNjksNyBAQAogCQkJCTFBMDAyRDQ4MTk2QjM0
NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
QTcyODQ0ODE5NTlGODA0MDAwN0JDRTUgLyogU2Vzc2lvblN0YXRlQ29udmVyc2lvbi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk3NTNFM0UwRDE4ODczOTg1MDAxODg0OTYgLyogU2Vzc2lvblRyYWNr
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzE3RkU3QzYxQzQ4N0E3MTAwQTBDQTg5IC8qIEFQ
SUV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QTY0MjBFNDEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUMwMUEyNjAxMTI2NjJGMjEwMEM5RUQ1NSAvKiBTaGFyZWFibGVCaXRtYXBDRy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUNDNTBGMTFDQkMzODFEMDAzQzdEMDMgLyogV0tPcGVu
UGFuZWxQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8sCkBAIC05MjYwLDYgKzkyODYsNyBAQAog
CQkJCUJDRUU3QUQwMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExRTA5MzMxODg2MUQzODAwRDJEQzQ5IC8q
IFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNTg5
QzEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViUHJvdGVjdGlvblNwYWNlLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTMxN0ZFN0NFMUM0ODdEQjgwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJl
RGVzY3JpcHRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQlBMUM1MTJDODE5MDY1NkU1MDA0NDg5
MTQgLyogV2ViUXVpY2tMb29rSGFuZGxlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3
OTQ4NDAzMTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5kZXJMYXllci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmNwcCBp
biBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IGVhZGEzMzA3N2ViMmIyMjcxMzk3ZGM5MWUxMzUyYWM3YmNjMmQ1M2IuLjhj
M2EyYTA2ODdkZmVjZTdkNDQ1MThjZWNkOTJkMWIzMzlkNmRiYTEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTI4NDIsNyArMjg0Miw3IEBA
IHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9y
ZSYgc3RvcmUpCiAgICAgLy8gYnV0IHdlIGN1cnJlbnRseSBkb24ndCBtYXRjaCB0aGUgbmFtaW5n
IG9mIFdlYkNvcmUgZXhhY3RseSBzbyB3ZSBhcmUKICAgICAvLyBoYW5kcm9sbGluZyB0aGUgYm9v
bGVhbiBhbmQgaW50ZWdlciBwcmVmZXJlbmNlcyB1bnRpbCB0aGF0IGlzIGZpeGVkLgogCi0jZGVm
aW5lIElOSVRJQUxJWkVfU0VUVElOR1MoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlw
ZSwgRGVmYXVsdFZhbHVlKSBzZXR0aW5ncy5zZXQjI0tleVVwcGVyKHN0b3JlLmdldCMjVHlwZU5h
bWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCkpKTsKKyNk
ZWZpbmUgSU5JVElBTElaRV9TRVRUSU5HUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBU
eXBlLCBEZWZhdWx0VmFsdWUsIE5hbWUsIERldGFpbHMpIHNldHRpbmdzLnNldCMjS2V5VXBwZXIo
c3RvcmUuZ2V0IyNUeXBlTmFtZSMjVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxv
d2VyIyNLZXkoKSkpOwogCiAgICAgRk9SX0VBQ0hfV0VCS0lUX1NUUklOR19QUkVGRVJFTkNFKElO
SVRJQUxJWkVfU0VUVElOR1MpCiAKQEAgLTMxMDYsNyArMzEwNiw3IEBAIHZvaWQgV2ViUGFnZTo6
dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjaWYg
RU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
aGFyZWRGZWF0dXJlcygpLnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZChzdG9yZS5nZXRCb29s
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZEtl
eSgpKSk7CiAjZW5kaWYKLSAgICAKKwogICAgIGJvb2wgcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxl
ZCA9IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFnZVZpc2li
aWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSk7CiAgICAgaWYgKG1fcHJv
Y2Vzc1N1cHByZXNzaW9uRW5hYmxlZCAhPSBwcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKSB7CiAg
ICAgICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCA9IHByb2Nlc3NTdXBwcmVzc2lvbkVu
YWJsZWQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276524</attachid>
            <date>2016-04-15 16:43:44 -0700</date>
            <delta_ts>2016-04-15 19:03:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156645-20160416094355.patch</filename>
            <type>text/plain</type>
            <size>86355</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjExYzczMjkwOWEyOTE5
YzliYWZlMTJiYTk4ODVmNDE4MjEwOTA1YS4uMmNiMjdhOWU3MzMzZThhZjAzMzI5NWVkYTg3MDhl
YTQ1MWZmZmZlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk0IEBACisyMDE2LTA0LTE1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgU1BJIHRvIGV4cG9ydCBh
IGRpY3Rpb25hcnkgb2YgcnVudGltZSBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
MzYyMTY2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBuZXcgdHlwZSBvZiBQcmVmZXJlbmNlIGZvciBleHBlcmltZW50YWwgZmVhdHVyZXMg
c28gdGhhdCB3ZQorICAgICAgICBjYW4gZHluYW1pY2FsbHkgdG9nZ2xlIHRoZW0gZnJvbSBhIFdl
YktpdDIgaG9zdC4gVGhlc2UgYXJlIHNwZWNpYWwKKyAgICAgICAga2V5cyB0aGF0IGFyZSB0aWVk
IHRvIHJ1bnRpbWUgZmxhZ3MuIFRoZSBob3N0IHByb2Nlc3MgY2FuIGFzayBXZWJLaXQKKyAgICAg
ICAgZm9yIHRoZSBsaXN0IG9mIGtleXMsIGVhY2ggd2l0aCBhIHNtYWxsIGRlc2NyaXB0aW9uLCBp
biBvcmRlciB0bworICAgICAgICBkaXNwbGF5IFVJLgorCisgICAgICAgIC0gQWRkIEh1bWFuUmVh
ZGFibGVOYW1lIGFuZCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24gcGFyYW1ldGVycyB0byBvdXIK
KyAgICAgICAgICBtYWNyb3MsIHdoaWNoIGFyZSB1c2VkIHdoZW4gYnVpbGRpbmcgYSBFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRvci4KKyAgICAgICAgICBUaGVzZSBhcmUgYm90aCBlbXB0eSBz
dHJpbmdzIGZvciB0aGUgZXhpc3RpbmcgcHJlZmVyZW5jZXMuIEF0IHNvbWUKKyAgICAgICAgICBw
b2ludCB3ZSBzaG91bGQgcHJvYmFibHkgbW92ZSBhbGwgdGhpcyB0byBjb2RlIGdlbmVyYXRpb24g
cmF0aGVyCisgICAgICAgICAgdGhhbiBtYWNyb3MsIHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byBj
YXJyeSBhcm91bmQgdW51c2VkIHBhcmFtZXRlcnMuCisKKyAgICAgICAgLSBJJ3ZlIGluY2x1ZGVk
IHR3byBzYW1wbGUgZXhwZXJpbWVudGFsIGZlYXR1cmVzOiBXZWJHTDIgYW5kIFNoYWRvd0RPTS4K
KyAgICAgICAgICBUaGV5IGFyZSBub3QgYWN0dWFsbHkgaG9va2VkIHVwIHRvIHRoZSBydW50aW1l
IHNldHRpbmdzIHlldCwgYnV0IGl0cworICAgICAgICAgIHByZXR0eSBjbGVhciBob3cgdGhhdCB3
aWxsIGhhcHBlbi4gTm90ZSB0aGF0IHRoZXNlIGFyZSBuZXcgcHJlZmVyZW5jZXMKKyAgICAgICAg
ICB0aGF0IGhhdmUgYW4gIkV4cGVyaW1lbnRhbCIgcHJlZml4LiBUaGlzIGlzIHNvIHRvZ2dsaW5n
IGFuIGV4cGVyaW1lbnRhbAorICAgICAgICAgIGZlYXR1cmUgdG8gb2ZmIHdvbid0IGNhdXNlIHRo
ZSBmZWF0dXJlIHRvIG5vdCB3b3JrIG9uY2UgaXQgYmVjb21lcworICAgICAgICAgIHN0YWJsZSBl
bm91Z2ggdG8gZW5hYmxlIGJ5IGRlZmF1bHQuIEluIG90aGVyIHdvcmRzLCB3aGVuIGl0IG1vdmVz
CisgICAgICAgICAgb3V0IG9mIHRoZSBleHBlcmltZW50YWwgc3RhZ2UsIHRoZSBleHBlcmltZW50
YWwgZmVhdHVyZSBmbGFnIHdpbGwgYmUKKyAgICAgICAgICByZW1vdmVkLCBhbmQgeW91J2xsIG5v
IGxvbmdlciBjaGVjayBmb3IgdmFsdWVzIHdpdGggdGhhdCBrZXkuCisKKyAgICAgICAgLSBUaGUg
RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3Igb2JqZWN0IGlzIHdoYXQgdGhlIGhvc3QgcHJv
Y2VzcworICAgICAgICAgIHdpbGwgcmVhZCBpbiBvcmRlciB0byBzaG93IHNvbWUgVUkuIEl0IGNv
bnRhaW5zIHRoZSBodW1hbiByZWFkYWJsZSBpbmZvLAorICAgICAgICAgIGFzIHdlbGwgYXMgdGhl
IGFjdHVhbCBrZXkgdGhhdCBjYW4gYmUgdXNlZCB0byBxdWVyeSBhbmQgdG9nZ2xlIHRoZQorICAg
ICAgICAgIGV4cGVyaW1lbnRhbCBmZWF0dXJlLgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElP
YmplY3QuaDogQWRkIHRoZSBFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci4KKyAgICAgICAg
KiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6IFNpbWlsYXIuCisKKyAgICAgICAgKiBTaGFyZWQvQ29j
b2EvQVBJT2JqZWN0Lm1tOgorICAgICAgICAoQVBJOjpPYmplY3Q6Om5ld09iamVjdCk6IEV4cG9z
ZXMgYSB3cmFwcGVyIGFyb3VuZCBhIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yIE9i
akMgdHlwZS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmg6
IENoYW5nZSBhbGwgdGhlIGV4aXN0aW5nIG1hY3JvcyB0byB0YWtlIHRoZSBuZXcKKyAgICAgICAg
cGFyYW1ldGVycywgYW5kIGFkZCB0aGUgaW5pdGlhbCBleHBlcmltZW50YWwga2V5cy4KKworICAg
ICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwOiBBZGQgbmV3IHBhcmFtZXRlcnMg
dG8gZXhpc3RpbmcgbWFjcm9zLgorICAgICAgICAqIFNoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMu
aDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwOiBEaXR0
by4KKyAgICAgICAgKFdlYktpdDo6ZGVmYXVsdHMpOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9BUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5jcHA6IFRoZSBBUEkgc2lkZSBvZiB0
aGUgRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuCisgICAgICAgIChBUEk6OkV4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoQVBJOjpFeHBlcmltZW50
YWxGZWF0dXJlRGVzY3JpcHRvcjo6RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IpOgorICAg
ICAgICAoQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcjo6fkV4cGVyaW1lbnRhbEZl
YXR1cmVEZXNjcmlwdG9yKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRh
bEZlYXR1cmVEZXNjcmlwdG9yLmg6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0Lmg6IEFkZCBhIG1hcHBpbmcgYmV0d2VlbiBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlw
dG9yUmVmIGFuZCB0aGUgQVBJIHZlcnNpb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5jcHA6IFRoZSBDIHZlcnNpb24uCisg
ICAgICAgIChXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yR2V0VHlwZUlEKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5o
OgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tOiBUaGUg
YWN0dWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBTUEkuCisgICAgICAgICgrW1dLUHJlZmVyZW5j
ZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yc10pOiBDcmVhdGUgYW5kIHJldHVybiBh
IGxpc3Qgb2YgZmVhdHVyZSBkZXNjcmlwdG9ycy4KKyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBf
cHJlZmVyZW5jZUZvckV4cGVyaW1lbnRhbEZlYXR1cmU6XSk6IEdldCB0aGUgdmFsdWUuCisgICAg
ICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldFByZWZlcmVuY2VGb3JFeHBlcmltZW50YWxGZWF0dXJl
OnRvVmFsdWU6XSk6IFNldCB0aGUgdmFsdWUuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oOiBUaGUgT2JqQyB2ZXJzaW9uLgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2Ny
aXB0b3IubW06CisgICAgICAgICgtW19XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yIGRl
YWxsb2NdKToKKyAgICAgICAgKC1bX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IgZGVz
Y3JpcHRpb25dKToKKyAgICAgICAgKC1bX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3Ig
bmFtZV0pOgorICAgICAgICAoLVtfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvciBrZXld
KToKKyAgICAgICAgKC1bX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IgZGV0YWlsc10p
OgorICAgICAgICAoLVtfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvciBfYXBpT2JqZWN0
XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJl
RGVzY3JpcHRvckludGVybmFsLmg6IEltcGxlbWVudGF0aW9uIG9mIHRoZSB3cmFwcGVyLgorICAg
ICAgICAoV2ViS2l0Ojp3cmFwcGVyKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5jcHA6IFRoZSBDKysgaW1wbGVtZW50YXRpb24gdGhhdCBwcm92aWRlcyB0aGUgZGF0YSBm
b3IgdGhlIE9iakMgQVBJLgorICAgICAgICAoV2ViS2l0OjpnbG9iYWxFeHBlcmltZW50YWxGZWF0
dXJlRGVzY3JpcHRvcnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6ZXhwZXJp
bWVudGFsRmVhdHVyZURlc2NyaXB0b3JzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXM6OnByZWZlcmVuY2VGb3JFeHBlcmltZW50YWxGZWF0dXJlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJlZmVyZW5jZXM6OnNldFByZWZlcmVuY2VGb3JFeHBlcmltZW50YWxGZWF0dXJlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaDoKKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW06IFVwZGF0ZSBzb21lIG1hY3Jvcy4KKyAgICAgICAg
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnBsYXRmb3JtSW5pdGlhbGl6ZVN0b3JlKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6IERpdHRvCisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKToKKworICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkIHRoZSBuZXcgZmlsZXMuCisKIDIwMTYtMDQtMTQg
IEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSA8YSBk
b3dubG9hZD4gYSBydW50aW1lIGVuYWJsZWQgb3B0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9B
UElPYmplY3QuaAppbmRleCA3ZjlmNzYwNzY5MzE0MWY4MjNhMjU3ZDc4M2Q5MjkyN2JlZmYyZDVh
Li45M2YxYmU2ODUwZjc1NzMyMzU5ZmQyZDUxYmYyMjBlYmM4YjI5NzYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIENvbG9yUGlja2VyUmVzdWx0TGlzdGVuZXIsCiAgICAgICAgIENvb2tpZU1hbmFnZXIsCiAg
ICAgICAgIERvd25sb2FkLAorICAgICAgICBFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvciwK
ICAgICAgICAgRm9ybVN1Ym1pc3Npb25MaXN0ZW5lciwKICAgICAgICAgRnJhbWUsCiAgICAgICAg
IEZyYW1lSW5mbywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jh
c2UuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAppbmRleCA3Mjk1Nzdk
ZDRkMWRkMWZiMGZhZjk1NzMzOWM4MzM1MjY5MDUyNDMyLi42Yjk4ZGYxYzFlOGMzMjY4Y2MyZjg2
Y2E3NjdmZWY0NGFlYTViYTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tCYXNlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCkBA
IC05OCw2ICs5OCw3IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLQ29udGV4dENvbmZp
Z3VyYXRpb24qIFdLQ29udGV4dENvbmZpZ3VyYXRpb25SZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVj
dCBPcGFxdWVXS0Nvb2tpZU1hbmFnZXIqIFdLQ29va2llTWFuYWdlclJlZjsKIHR5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZVdLQ3JlZGVudGlhbCogV0tDcmVkZW50aWFsUmVmOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgT3BhcXVlV0tEb3dubG9hZCogV0tEb3dubG9hZFJlZjsKK3R5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZVdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IqIFdLRXhwZXJp
bWVudGFsRmVhdHVyZURlc2NyaXB0b3JSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIqIFdLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLRnJhbWVIYW5kbGUqIFdLRnJhbWVIYW5kbGVSZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0ZyYW1lSW5mbyogV0tGcmFtZUluZm9SZWY7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1tIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0NvY29hL0FQSU9iamVjdC5tbQppbmRleCAxNTcxODllNTMw
MTgzOWM0NDY0YzIzYTNmMDg5MGJjODQ0OWZhN2YyLi40ODY4YWEyOGEwZTY0NzQ5ZDNlMDlkMmIw
ZTZmNWVmMzEzNGQ2NjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2Ev
QVBJT2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2NvYS9BUElPYmplY3Qu
bW0KQEAgLTY0LDYgKzY0LDcgQEAKICNpbXBvcnQgIldLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5o
IgogI2ltcG9ydCAiX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dL
RG93bmxvYWRJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2Ny
aXB0b3JJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oIgogI2lt
cG9ydCAiX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tQcm9jZXNzUG9v
bENvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgpAQCAtMTUwLDYgKzE1MSwxMCBAQCB2b2lkKiBPYmpl
Y3Q6Om5ld09iamVjdChzaXplX3Qgc2l6ZSwgVHlwZSB0eXBlKQogICAgICAgICB3cmFwcGVyID0g
W19XS0Rvd25sb2FkIGFsbG9jXTsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFR5cGU6OkV4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yOgorICAgICAgICB3cmFwcGVyID0gW19XS0V4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yIGFsbG9jXTsKKyAgICAgICAgYnJlYWs7CisKICAgICBj
YXNlIFR5cGU6OkVycm9yOgogICAgICAgICB3cmFwcGVyID0gTlNBbGxvY2F0ZU9iamVjdChbV0tO
U0Vycm9yIHNlbGZdLCBzaXplLCBudWxscHRyKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCBkNGQy
MGFiZjM0NmFmOGY5YzA0ZDg3NzYwMDc3Njc1OGZmMWYzY2ZjLi4zNmVkODNjZGMxZTEwOGUwMDUx
NDY2YzJmYTNhYWVkNmI5MjlhZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTk4LDE4MyArOTgsMTg4IEBACiAjZGVmaW5l
IERFRkFVTFRfQ0FOVkFTX1VTRVNfQUNDRUxFUkFURURfRFJBV0lORyB0cnVlCiAjZW5kaWYKIAot
Ly8gbWFjcm8oS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZVVwcGVyLCBUeXBlTmFtZSwgRGVm
YXVsdFZhbHVlKQorLy8gbWFjcm8oS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZVVwcGVyLCBU
eXBlTmFtZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uKQogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9CT09MX1BSRUZFUkVOQ0UobWFj
cm8pIFwKLSAgICBtYWNybyhKYXZhU2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhKYXZhU2NyaXB0TWFya3VwRW5hYmxlZCwgamF2
YVNjcmlwdE1hcmt1cEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhMb2Fk
c0ltYWdlc0F1dG9tYXRpY2FsbHksIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSwgQm9vbCwgYm9v
bCwgdHJ1ZSkgXAotICAgIG1hY3JvKExvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQ
cmVmZXJlbmNlLCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZSwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhQbHVnaW5zRW5hYmxlZCwgcGx1Z2luc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oSmF2YUVuYWJsZWQsIGphdmFF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEphdmFFbmFibGVkRm9yTG9j
YWxGaWxlcywgamF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzLCBCb29sLCBib29sLCBmYWxzZSkgXAot
ICAgIG1hY3JvKE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxlZCwgb2ZmbGluZVdlYkFw
cGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKExv
Y2FsU3RvcmFnZUVuYWJsZWQsIGxvY2FsU3RvcmFnZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUp
IFwKLSAgICBtYWNybyhEYXRhYmFzZXNFbmFibGVkLCBkYXRhYmFzZXNFbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCi0gICAgbWFjcm8oWFNTQXVkaXRvckVuYWJsZWQsIHhzc0F1ZGl0b3JFbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oRnJhbWVGbGF0dGVuaW5nRW5hYmxl
ZCwgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9GUkFNRV9GTEFU
VEVOSU5HX0VOQUJMRUQpIFwKLSAgICBtYWNybyhQcml2YXRlQnJvd3NpbmdFbmFibGVkLCBwcml2
YXRlQnJvd3NpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRleHRB
cmVhc0FyZVJlc2l6YWJsZSwgdGV4dEFyZWFzQXJlUmVzaXphYmxlLCBCb29sLCBib29sLCBERUZB
VUxUX1RFWFRfQVJFQVNfQVJFX1JFU0laQUJMRSkgXAotICAgIG1hY3JvKEphdmFTY3JpcHRDYW5P
cGVuV2luZG93c0F1dG9tYXRpY2FsbHksIGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRp
Y2FsbHksIEJvb2wsIGJvb2wsIERFRkFVTFRfSkFWQVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FV
VE9NQVRJQ0FMTFkpIFwKLSAgICBtYWNybyhIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsIGh5cGVy
bGlua0F1ZGl0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKE5lZWRz
U2l0ZVNwZWNpZmljUXVpcmtzLCBuZWVkc1NpdGVTcGVjaWZpY1F1aXJrcywgQm9vbCwgYm9vbCwg
ZmFsc2UpIFwKLSAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhG
b3JjZUNvbXBvc2l0aW5nTW9kZSwgZm9yY2VDb21wb3NpdGluZ01vZGUsIEJvb2wsIGJvb2wsIGZh
bHNlKSBcCi0gICAgbWFjcm8oQ2FudmFzVXNlc0FjY2VsZXJhdGVkRHJhd2luZywgY2FudmFzVXNl
c0FjY2VsZXJhdGVkRHJhd2luZywgQm9vbCwgYm9vbCwgREVGQVVMVF9DQU5WQVNfVVNFU19BQ0NF
TEVSQVRFRF9EUkFXSU5HKSBcCi0gICAgbWFjcm8oV2ViR0xFbmFibGVkLCB3ZWJHTEVuYWJsZWQs
IEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJp
bmcsIGZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAg
ICBtYWNybyhBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwgYWNjZWxlcmF0ZWQyZENhbnZhc0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQ1NTQW5pbWF0aW9uVHJpZ2dl
cnNFbmFibGVkLCBjc3NBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUp
IFwKLSAgICBtYWNybyhXZWJBbmltYXRpb25zRW5hYmxlZCwgd2ViQW5pbWF0aW9uc0VuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQ1NTUmVnaW9uc0VuYWJsZWQsIGNzc1Jl
Z2lvbnNFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oQ1NTQ29tcG9zaXRp
bmdFbmFibGVkLCBjc3NDb21wb3NpdGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAg
ICBtYWNybyhGb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzLCBmb3JjZUZUUERpcmVjdG9yeUxpc3Rp
bmdzLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRhYnNUb0xpbmtzLCB0YWJzVG9M
aW5rcywgQm9vbCwgYm9vbCwgREVGQVVMVF9XRUJLSVRfVEFCU1RPTElOS1NfRU5BQkxFRCkgXAot
ICAgIG1hY3JvKEROU1ByZWZldGNoaW5nRW5hYmxlZCwgZG5zUHJlZmV0Y2hpbmdFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKERPTVRpbWVyc1Rocm90dGxpbmdFbmFibGVk
LCBkb21UaW1lcnNUaHJvdHRsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1h
Y3JvKFdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkLCB3ZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhMb2NhbEZpbGVDb250ZW50U25pZmZp
bmdFbmFibGVkLCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKFVzZXNQYWdlQ2FjaGUsIHVzZXNQYWdlQ2FjaGUsIEJvb2wsIGJv
b2wsIHRydWUpIFwKLSAgICBtYWNybyhQYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIHBhZ2VDYWNo
ZVN1cHBvcnRzUGx1Z2lucywgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEF1dGhvckFu
ZFVzZXJTdHlsZXNFbmFibGVkLCBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCwgQm9vbCwgYm9v
bCwgdHJ1ZSkgXAotICAgIG1hY3JvKFBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCwgcGFnaW5h
dGVEdXJpbmdMYXlvdXRFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKERP
TVBhc3RlQWxsb3dlZCwgZG9tUGFzdGVBbGxvd2VkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAg
IG1hY3JvKEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQsIGphdmFTY3JpcHRDYW5BY2Nlc3ND
bGlwYm9hcmQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2hvdWxkUHJpbnRCYWNr
Z3JvdW5kcywgc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcywgQm9vbCwgYm9vbCwgREVGQVVMVF9TSE9V
TERfUFJJTlRfQkFDS0dST1VORFMpIFwKLSAgICBtYWNybyhGdWxsU2NyZWVuRW5hYmxlZCwgZnVs
bFNjcmVlbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQXN5bmNocm9u
b3VzU3BlbGxDaGVja2luZ0VuYWJsZWQsIGFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFdlYlNlY3VyaXR5RW5hYmxlZCwgd2Vi
U2VjdXJpdHlFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oQWxsb3dVbml2
ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMsIGFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxz
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxl
VVJMcywgYWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzLCBCb29sLCBib29sLCBmYWxzZSkgXAot
ICAgIG1hY3JvKEFWRm91bmRhdGlvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9uRW5hYmxlZCwgQm9v
bCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEFWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJs
ZWQsIGlzQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkg
XAotICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrLCByZXF1aXJl
c1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9SRVFVSVJF
U19VU0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNV
c2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1Bs
YXliYWNrLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1
cmVGb3JBdWRpb1BsYXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhNYWluQ29udGVudFVzZXJHZXN0dXJlT3Zl
cnJpZGVFbmFibGVkLCBtYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIGFs
bG93c0lubGluZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lOTElO
RV9NRURJQV9QTEFZQkFDSykgXAotICAgIG1hY3JvKElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlLCBpbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lu
bGluZUF0dHJpYnV0ZSwgQm9vbCwgYm9vbCwgREVGQVVMVF9JTkxJTkVfTUVESUFfUExBWUJBQ0tf
UkVRVUlSRVNfUExBWVNfSU5MSU5FX0FUVFJJQlVURSkgXAotICAgIG1hY3JvKEludmlzaWJsZUF1
dG9wbGF5Tm90UGVybWl0dGVkLCBpbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgQm9vbCwg
Ym9vbCwgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCkgXAotICAgIG1h
Y3JvKE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSwgbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNh
bGx5LCBCb29sLCBib29sLCBERUZBVUxUX01FRElBX0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSkg
XAotICAgIG1hY3JvKEFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrLCBhbGxvd3NQ
aWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1h
Y3JvKEFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrLCBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQ
bGF5YmFjaywgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKE1lZGlhQ29udHJvbHNTY2Fs
ZVdpdGhQYWdlWm9vbSwgbWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tLCBCb29sLCBib29s
LCBERUZBVUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NKSBcCi0gICAgbWFj
cm8oSW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQsIGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkLCBCb29s
LCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oU2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQs
IHNob3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAg
IG1hY3JvKE1vY2tTY3JvbGxiYXJzRW5hYmxlZCwgbW9ja1Njcm9sbGJhcnNFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFdlYkF1ZGlvRW5hYmxlZCwgd2ViQXVkaW9FbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oQXR0YWNobWVudEVsZW1lbnRFbmFi
bGVkLCBhdHRhY2htZW50RWxlbWVudEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAg
bWFjcm8oU3VwcHJlc3Nlc0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVzc2VzSW5jcmVtZW50
YWxSZW5kZXJpbmcsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQmFja3NwYWNlS2V5
TmF2aWdhdGlvbkVuYWJsZWQsIGJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCBERUZBVUxUX0JBQ0tTUEFDRV9LRVlfTkFWSUdBVElPTl9FTkFCTEVEKSBcCi0gICAgbWFj
cm8oQ2FyZXRCcm93c2luZ0VuYWJsZWQsIGNhcmV0QnJvd3NpbmdFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAotICAgIG1hY3JvKFNob3VsZERpc3BsYXlTdWJ0aXRsZXMsIHNob3VsZERpc3Bs
YXlTdWJ0aXRsZXMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2hvdWxkRGlzcGxh
eUNhcHRpb25zLCBzaG91bGREaXNwbGF5Q2FwdGlvbnMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0g
ICAgbWFjcm8oU2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMsIHNob3VsZERpc3BsYXlUZXh0
RGVzY3JpcHRpb25zLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKE5vdGlmaWNhdGlv
bnNFbmFibGVkLCBub3RpZmljYXRpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAg
IG1hY3JvKFNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uLCBzaG91bGRSZXNwZWN0SW1hZ2VP
cmllbnRhdGlvbiwgQm9vbCwgYm9vbCwgREVGQVVMVF9TSE9VTERfUkVTUEVDVF9JTUFHRV9PUklF
TlRBVElPTikgXAotICAgIG1hY3JvKFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZp
b3IsIHdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3IsIEJvb2wsIGJvb2wsIGZh
bHNlKSBcCi0gICAgbWFjcm8oUmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCwgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKERpYWdu
b3N0aWNMb2dnaW5nRW5hYmxlZCwgZGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAotICAgIG1hY3JvKEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5h
YmxlZCwgYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAotICAgIG1hY3JvKEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5h
YmxlZEZvckFsbFBsdWdpbnMsIGFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxl
ZEZvckFsbFBsdWdpbnMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQXJ0aWZpY2lh
bFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkLCBhcnRpZmljaWFsUGx1Z2luSW5pdGlh
bGl6YXRpb25EZWxheUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGFi
VG9MaW5rc0VuYWJsZWQsIHRhYlRvTGlua3NFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAot
ICAgIG1hY3JvKEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkLCBpbnRlcmFjdGl2ZUZv
cm1WYWxpZGF0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTY3Jv
bGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkLCBzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dp
bmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNjcm9sbEFuaW1hdG9y
RW5hYmxlZCwgc2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1dFQktJ
VF9TQ1JPTExfQU5JTUFUT1JfRU5BQkxFRCkgXAotICAgIG1hY3JvKEZvcmNlVXBkYXRlU2Nyb2xs
YmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZywgZm9yY2VVcGRhdGVTY3JvbGxi
YXJzT25NYWluVGhyZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nLCBCb29sLCBib29sLCBmYWxzZSkg
XAotICAgIG1hY3JvKENvb2tpZUVuYWJsZWQsIGNvb2tpZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUpIFwKLSAgICBtYWNybyhQbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkLCBwbHVnSW5TbmFwc2hv
dHRpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNuYXBzaG90QWxs
UGx1Z0lucywgc25hcHNob3RBbGxQbHVnSW5zLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1h
Y3JvKEF1dG9zdGFydE9yaWdpblBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIGF1dG9zdGFydE9y
aWdpblBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBt
YWNybyhQcmltYXJ5UGx1Z0luU25hcHNob3REZXRlY3Rpb25FbmFibGVkLCBwcmltYXJ5UGx1Z0lu
U25hcHNob3REZXRlY3Rpb25FbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8o
UERGUGx1Z2luRW5hYmxlZCwgcGRmUGx1Z2luRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9Q
REZQTFVHSU5fRU5BQkxFRCkgXAotICAgIG1hY3JvKFVzZXNFbmNvZGluZ0RldGVjdG9yLCB1c2Vz
RW5jb2RpbmdEZXRlY3RvciwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhUZXh0QXV0
b3NpemluZ0VuYWJsZWQsIHRleHRBdXRvc2l6aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhBZ2dyZXNzaXZlVGlsZVJldGVudGlvbkVuYWJsZWQsIGFnZ3Jlc3NpdmVU
aWxlUmV0ZW50aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhUZW1w
b3JhcnlUaWxlQ29ob3J0UmV0ZW50aW9uRW5hYmxlZCwgdGVtcG9yYXJ5VGlsZUNvaG9ydFJldGVu
dGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfVEVNUE9SQVJZX1RJTEVfQ09IT1JUX1JF
VEVOVElPTl9FTkFCTEVEKSBcCi0gICAgbWFjcm8oUVRLaXRFbmFibGVkLCBpc1FUS2l0RW5hYmxl
ZCwgQm9vbCwgYm9vbCwgV2ViQ29yZTo6U2V0dGluZ3M6OmlzUVRLaXRFbmFibGVkKCkpIFwKLSAg
ICBtYWNybyhQYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCwgcGFn
ZVZpc2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUpIFwKLSAgICBtYWNybyhTbWFydEluc2VydERlbGV0ZUVuYWJsZWQsIHNtYXJ0SW5zZXJ0RGVs
ZXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFNlbGVjdFRyYWlsaW5n
V2hpdGVzcGFjZUVuYWJsZWQsIHNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQsIHNo
b3dzVVJMc0luVG9vbFRpcHNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3Jv
KEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQsIGFjY2VsZXJh
dGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCi0gICAgbWFjcm8oSGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0VuYWJsZWQsIGhpZGRl
blBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0hJRERF
Tl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HX0VOQUJMRUQpIFwKLSAgICBtYWNybyhIaWRkZW5Q
YWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0luY3JlYXNlcywgaGlkZGVuUGFnZURPTVRpbWVyVGhy
b3R0bGluZ0F1dG9JbmNyZWFzZXMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oSGlk
ZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFibGVkLCBoaWRkZW5QYWdlQ1NTQW5pbWF0
aW9uU3VzcGVuc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSElEREVOX1BBR0VfQ1NT
X0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQpIFwKLSAgICBtYWNybyhMb3dQb3dlclZpZGVv
QXVkaW9CdWZmZXJTaXplRW5hYmxlZCwgbG93UG93ZXJWaWRlb0F1ZGlvQnVmZmVyU2l6ZUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGhyZWFkZWRTY3JvbGxpbmdFbmFi
bGVkLCB0aHJlYWRlZFNjcm9sbGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBt
YWNybyhTaW1wbGVMaW5lTGF5b3V0RW5hYmxlZCwgc2ltcGxlTGluZUxheW91dEVuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhTdWJwaXhlbENTU09NRWxlbWVudE1ldHJpY3NF
bmFibGVkLCBzdWJwaXhlbENTU09NRWxlbWVudE1ldHJpY3NFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKFVzZUdpYW50VGlsZXMsIHVzZUdpYW50VGlsZXMsIEJvb2wsIGJv
b2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTWVkaWFTdHJlYW1FbmFibGVkLCBtZWRpYVN0cmVhbUVu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVXNlTGVnYWN5VGV4dEFsaWdu
UG9zaXRpb25lZEVsZW1lbnRCZWhhdmlvciwgdXNlTGVnYWN5VGV4dEFsaWduUG9zaXRpb25lZEVs
ZW1lbnRCZWhhdmlvciwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTcGF0aWFsTmF2
aWdhdGlvbkVuYWJsZWQsIHNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UpIFwKLSAgICBtYWNybyhNZWRpYVNvdXJjZUVuYWJsZWQsIG1lZGlhU291cmNlRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFZpZXdHZXN0dXJlRGVidWdnaW5nRW5hYmxl
ZCwgdmlld0dlc3R1cmVEZWJ1Z2dpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAg
IG1hY3JvKFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5LCBzaG91bGRDb252ZXJ0UG9z
aXRpb25TdHlsZU9uQ29weSwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTdGFuZGFs
b25lLCBzdGFuZGFsb25lLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRlbGVwaG9u
ZU51bWJlclBhcnNpbmdFbmFibGVkLCB0ZWxlcGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBbGxvd011bHRpRWxlbWVudEltcGxpY2l0U3Vi
bWlzc2lvbiwgYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb24sIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oQWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbCwg
YWx3YXlzVXNlQWNjZWxlcmF0ZWRPdmVyZmxvd1Njcm9sbCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
LSAgICBtYWNybyhQYXNzd29yZEVjaG9FbmFibGVkLCBwYXNzd29yZEVjaG9FbmFibGVkLCBCb29s
LCBib29sLCBERUZBVUxUX1BBU1NXT1JEX0VDSE9fRU5BQkxFRCkgXAotICAgIG1hY3JvKEltYWdl
Q29udHJvbHNFbmFibGVkLCBpbWFnZUNvbnRyb2xzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhFbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQsIGVuYWJsZUluaGVy
aXRVUklRdWVyeUNvbXBvbmVudCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTZXJ2
aWNlQ29udHJvbHNFbmFibGVkLCBzZXJ2aWNlQ29udHJvbHNFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKEdhbWVwYWRzRW5hYmxlZCwgZ2FtZXBhZHNFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKE5ld0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFi
bGVkLCBuZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhIVFRQRXF1aXZFbmFibGVkLCBodHRwRXF1aXZFbmFibGVkLCBCb29sLCBi
b29sLCB0cnVlKSBcCi0gICAgbWFjcm8oTW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCwgbW9ja0Nh
cHR1cmVEZXZpY2VzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaGFk
b3dET01FbmFibGVkLCBzaGFkb3dET01FbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAg
bWFjcm8oQ3VzdG9tRWxlbWVudHNFbmFibGVkLCBjdXN0b21FbGVtZW50c0VuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oRmV0Y2hBUElFbmFibGVkLCBmZXRjaEFQSUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oV2ViR0wyRW5hYmxlZCwgd2ViR0wy
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhEb3dubG9hZEF0dHJpYnV0
ZUVuYWJsZWQsIGRvd25sb2FkQXR0cmlidXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
KyAgICBtYWNybyhKYXZhU2NyaXB0RW5hYmxlZCwgamF2YVNjcmlwdEVuYWJsZWQsIEJvb2wsIGJv
b2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEphdmFTY3JpcHRNYXJrdXBFbmFibGVkLCBq
YXZhU2NyaXB0TWFya3VwRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oTG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBsb2Fkc0ltYWdlc0F1dG9tYXRpY2FsbHks
IEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKExvYWRzU2l0ZUljb25zSWdu
b3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlLCBsb2Fkc1NpdGVJY29uc0lnbm9yaW5nSW1hZ2VM
b2FkaW5nUHJlZmVyZW5jZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3Jv
KFBsdWdpbnNFbmFibGVkLCBwbHVnaW5zRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAi
IikgXAorICAgIG1hY3JvKEphdmFFbmFibGVkLCBqYXZhRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKEphdmFFbmFibGVkRm9yTG9jYWxGaWxlcywgamF2YUVu
YWJsZWRGb3JMb2NhbEZpbGVzLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oT2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBvZmZsaW5lV2ViQXBwbGljYXRp
b25DYWNoZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhM
b2NhbFN0b3JhZ2VFbmFibGVkLCBsb2NhbFN0b3JhZ2VFbmFibGVkLCBCb29sLCBib29sLCB0cnVl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhEYXRhYmFzZXNFbmFibGVkLCBkYXRhYmFzZXNFbmFibGVk
LCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhYU1NBdWRpdG9yRW5hYmxl
ZCwgeHNzQXVkaXRvckVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1h
Y3JvKEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIGZyYW1lRmxhdHRlbmluZ0VuYWJsZWQsIEJvb2ws
IGJvb2wsIERFRkFVTFRfRlJBTUVfRkxBVFRFTklOR19FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBt
YWNybyhQcml2YXRlQnJvd3NpbmdFbmFibGVkLCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVGV4dEFyZWFzQXJlUmVzaXphYmxl
LCB0ZXh0QXJlYXNBcmVSZXNpemFibGUsIEJvb2wsIGJvb2wsIERFRkFVTFRfVEVYVF9BUkVBU19B
UkVfUkVTSVpBQkxFLCAiIiwgIiIpIFwKKyAgICBtYWNybyhKYXZhU2NyaXB0Q2FuT3BlbldpbmRv
d3NBdXRvbWF0aWNhbGx5LCBqYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5LCBC
b29sLCBib29sLCBERUZBVUxUX0pBVkFTQ1JJUFRfQ0FOX09QRU5fV0lORE9XU19BVVRPTUFUSUNB
TExZLCAiIiwgIiIpIFwKKyAgICBtYWNybyhIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQsIGh5cGVy
bGlua0F1ZGl0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBCb29s
LCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQsIGFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhGb3JjZUNvbXBvc2l0aW5nTW9kZSwgZm9yY2VDb21wb3Np
dGluZ01vZGUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDYW52YXNV
c2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBjYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBCb29s
LCBib29sLCBERUZBVUxUX0NBTlZBU19VU0VTX0FDQ0VMRVJBVEVEX0RSQVdJTkcsICIiLCAiIikg
XAorICAgIG1hY3JvKFdlYkdMRW5hYmxlZCwgd2ViR0xFbmFibGVkLCBCb29sLCBib29sLCB0cnVl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmcsIGZvcmNl
U29mdHdhcmVXZWJHTFJlbmRlcmluZywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAg
IG1hY3JvKEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5h
YmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKENTU0FuaW1hdGlv
blRyaWdnZXJzRW5hYmxlZCwgY3NzQW5pbWF0aW9uVHJpZ2dlcnNFbmFibGVkLCBCb29sLCBib29s
LCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhXZWJBbmltYXRpb25zRW5hYmxlZCwgd2ViQW5p
bWF0aW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhD
U1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIi
LCAiIikgXAorICAgIG1hY3JvKENTU0NvbXBvc2l0aW5nRW5hYmxlZCwgY3NzQ29tcG9zaXRpbmdF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhGb3JjZUZUUERp
cmVjdG9yeUxpc3RpbmdzLCBmb3JjZUZUUERpcmVjdG9yeUxpc3RpbmdzLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVGFic1RvTGlua3MsIHRhYnNUb0xpbmtzLCBCb29s
LCBib29sLCBERUZBVUxUX1dFQktJVF9UQUJTVE9MSU5LU19FTkFCTEVELCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhETlNQcmVmZXRjaGluZ0VuYWJsZWQsIGRuc1ByZWZldGNoaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKERPTVRpbWVyc1Rocm90dGxpbmdF
bmFibGVkLCBkb21UaW1lcnNUaHJvdHRsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oV2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJsZWQsIHdlYkFyY2hpdmVE
ZWJ1Z01vZGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
TG9jYWxGaWxlQ29udGVudFNuaWZmaW5nRW5hYmxlZCwgbG9jYWxGaWxlQ29udGVudFNuaWZmaW5n
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFVzZXNQYWdl
Q2FjaGUsIHVzZXNQYWdlQ2FjaGUsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1h
Y3JvKFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucywgcGFnZUNhY2hlU3VwcG9ydHNQbHVnaW5zLCBC
b29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBdXRob3JBbmRVc2VyU3R5bGVz
RW5hYmxlZCwgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIi
LCAiIikgXAorICAgIG1hY3JvKFBhZ2luYXRlRHVyaW5nTGF5b3V0RW5hYmxlZCwgcGFnaW5hdGVE
dXJpbmdMYXlvdXRFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oRE9NUGFzdGVBbGxvd2VkLCBkb21QYXN0ZUFsbG93ZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhKYXZhU2NyaXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLCBqYXZhU2Ny
aXB0Q2FuQWNjZXNzQ2xpcGJvYXJkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oU2hvdWxkUHJpbnRCYWNrZ3JvdW5kcywgc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcywgQm9v
bCwgYm9vbCwgREVGQVVMVF9TSE9VTERfUFJJTlRfQkFDS0dST1VORFMsICIiLCAiIikgXAorICAg
IG1hY3JvKEZ1bGxTY3JlZW5FbmFibGVkLCBmdWxsU2NyZWVuRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdFbmFi
bGVkLCBhc3luY2hyb25vdXNTcGVsbENoZWNraW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKFdlYlNlY3VyaXR5RW5hYmxlZCwgd2ViU2VjdXJpdHlFbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd1VuaXZlcnNh
bEFjY2Vzc0Zyb21GaWxlVVJMcywgYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd0ZpbGVBY2Nlc3NGcm9t
RmlsZVVSTHMsIGFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcywgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKEFWRm91bmRhdGlvbkVuYWJsZWQsIGlzQVZGb3VuZGF0aW9u
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQVZGb3VuZGF0
aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25OU1VSTFNlc3Npb25FbmFibGVk
LCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0
dXJlRm9yTWVkaWFQbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ss
IEJvb2wsIGJvb2wsIERFRkFVTFRfUkVRVUlSRVNfVVNFUl9HRVNUVVJFX0ZPUl9NRURJQV9QTEFZ
QkFDSywgIiIsICIiKSBcCisgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxh
eWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1BsYXliYWNrLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxh
eWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oTWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRl
RW5hYmxlZCwgbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFsbG93c0lubGluZU1lZGlhUGxheWJhY2ss
IGFsbG93c0lubGluZU1lZGlhUGxheWJhY2ssIEJvb2wsIGJvb2wsIERFRkFVTFRfQUxMT1dTX0lO
TElORV9NRURJQV9QTEFZQkFDSywgIiIsICIiKSBcCisgICAgbWFjcm8oSW5saW5lTWVkaWFQbGF5
YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUsIGlubGluZU1lZGlhUGxheWJhY2tSZXF1
aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlLCBCb29sLCBib29sLCBERUZBVUxUX0lOTElORV9NRURJ
QV9QTEFZQkFDS19SRVFVSVJFU19QTEFZU19JTkxJTkVfQVRUUklCVVRFLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhJbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwgaW52aXNpYmxlQXV0b3BsYXlO
b3RQZXJtaXR0ZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSU5WSVNJQkxFX0FVVE9QTEFZX05PVF9Q
RVJNSVRURUQsICIiLCAiIikgXAorICAgIG1hY3JvKE1lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxs
eSwgbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5LCBCb29sLCBib29sLCBERUZBVUxUX01FRElB
X0RBVEFfTE9BRFNfQVVUT01BVElDQUxMWSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWxsb3dzUGlj
dHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2ssIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd3NBaXJQ
bGF5Rm9yTWVkaWFQbGF5YmFjaywgYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2ssIEJvb2ws
IGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKE1lZGlhQ29udHJvbHNTY2FsZVdpdGhQ
YWdlWm9vbSwgbWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tLCBCb29sLCBib29sLCBERUZB
VUxUX01FRElBX0NPTlRST0xTX1NDQUxFX1dJVEhfUEFHRV9aT09NLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhJbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQsIEJv
b2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFNob3dzVG9vbFRpcE92ZXJUcnVu
Y2F0ZWRUZXh0LCBzaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKE1vY2tTY3JvbGxiYXJzRW5hYmxlZCwgbW9ja1Njcm9s
bGJhcnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oV2Vi
QXVkaW9FbmFibGVkLCB3ZWJBdWRpb0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikg
XAorICAgIG1hY3JvKEF0dGFjaG1lbnRFbGVtZW50RW5hYmxlZCwgYXR0YWNobWVudEVsZW1lbnRF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU3VwcHJlc3Nl
c0luY3JlbWVudGFsUmVuZGVyaW5nLCBzdXBwcmVzc2VzSW5jcmVtZW50YWxSZW5kZXJpbmcsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhCYWNrc3BhY2VLZXlOYXZpZ2F0
aW9uRW5hYmxlZCwgYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERF
RkFVTFRfQkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1h
Y3JvKENhcmV0QnJvd3NpbmdFbmFibGVkLCBjYXJldEJyb3dzaW5nRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlTdWJ0aXRsZXMsIHNo
b3VsZERpc3BsYXlTdWJ0aXRsZXMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhTaG91bGREaXNwbGF5Q2FwdGlvbnMsIHNob3VsZERpc3BsYXlDYXB0aW9ucywgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNob3VsZERpc3BsYXlUZXh0RGVzY3Jp
cHRpb25zLCBzaG91bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKE5vdGlmaWNhdGlvbnNFbmFibGVkLCBub3RpZmljYXRpb25z
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2hvdWxkUmVz
cGVjdEltYWdlT3JpZW50YXRpb24sIHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uLCBCb29s
LCBib29sLCBERUZBVUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhXYW50c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yLCB3YW50
c0JhbGFuY2VkU2V0RGVmZXJzTG9hZGluZ0JlaGF2aW9yLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oUmVxdWVzdEFuaW1hdGlvbkZyYW1lRW5hYmxlZCwgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oRGlhZ25vc3RpY0xvZ2dpbmdFbmFibGVkLCBkaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBc3luY2hyb25vdXNQbHVnaW5J
bml0aWFsaXphdGlvbkVuYWJsZWQsIGFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9uRW5h
YmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFzeW5jaHJvbm91
c1BsdWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZEZvckFsbFBsdWdpbnMsIGFzeW5jaHJvbm91c1Bs
dWdpbkluaXRpYWxpemF0aW9uRW5hYmxlZEZvckFsbFBsdWdpbnMsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhBcnRpZmljaWFsUGx1Z2luSW5pdGlhbGl6YXRpb25EZWxh
eUVuYWJsZWQsIGFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRhYlRvTGlua3NFbmFibGVkLCB0
YWJUb0xpbmtzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3Jv
KEludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkLCBpbnRlcmFjdGl2ZUZvcm1WYWxpZGF0
aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNjcm9s
bGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQsIHNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2lu
Z0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTY3JvbGxB
bmltYXRvckVuYWJsZWQsIHNjcm9sbEFuaW1hdG9yRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVM
VF9XRUJLSVRfU0NST0xMX0FOSU1BVE9SX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKEZv
cmNlVXBkYXRlU2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZywgZm9y
Y2VVcGRhdGVTY3JvbGxiYXJzT25NYWluVGhyZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nLCBCb29s
LCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQ29va2llRW5hYmxlZCwgY29va2ll
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUGx1Z0luU25h
cHNob3R0aW5nRW5hYmxlZCwgcGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNuYXBzaG90QWxsUGx1Z0lucywgc25hcHNob3RB
bGxQbHVnSW5zLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQXV0b3N0
YXJ0T3JpZ2luUGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgYXV0b3N0YXJ0T3JpZ2luUGx1Z0lu
U25hcHNob3R0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oUHJpbWFyeVBsdWdJblNuYXBzaG90RGV0ZWN0aW9uRW5hYmxlZCwgcHJpbWFyeVBsdWdJblNu
YXBzaG90RGV0ZWN0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oUERGUGx1Z2luRW5hYmxlZCwgcGRmUGx1Z2luRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVG
QVVMVF9QREZQTFVHSU5fRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oVXNlc0VuY29kaW5n
RGV0ZWN0b3IsIHVzZXNFbmNvZGluZ0RldGVjdG9yLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oVGV4dEF1dG9zaXppbmdFbmFibGVkLCB0ZXh0QXV0b3NpemluZ0VuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBZ2dyZXNzaXZlVGls
ZVJldGVudGlvbkVuYWJsZWQsIGFnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRlbXBvcmFyeVRpbGVDb2hvcnRSZXRl
bnRpb25FbmFibGVkLCB0ZW1wb3JhcnlUaWxlQ29ob3J0UmV0ZW50aW9uRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJMRUQsICIi
LCAiIikgXAorICAgIG1hY3JvKFFUS2l0RW5hYmxlZCwgaXNRVEtpdEVuYWJsZWQsIEJvb2wsIGJv
b2wsIFdlYkNvcmU6OlNldHRpbmdzOjppc1FUS2l0RW5hYmxlZCgpLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhQYWdlVmlzaWJpbGl0eUJhc2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCwgcGFnZVZp
c2liaWxpdHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUs
ICIiLCAiIikgXAorICAgIG1hY3JvKFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCwgc21hcnRJbnNl
cnREZWxldGVFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhT
ZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VFbmFibGVkLCBzZWxlY3RUcmFpbGluZ1doaXRlc3BhY2VF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2hvd3NVUkxz
SW5Ub29sVGlwc0VuYWJsZWQsIHNob3dzVVJMc0luVG9vbFRpcHNFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92
ZXJmbG93U2Nyb2xsRW5hYmxlZCwgYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Ny
b2xsRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEhpZGRl
blBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRs
aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9ISURERU5fUEFHRV9ET01fVElNRVJfVEhS
T1RUTElOR19FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhIaWRkZW5QYWdlRE9NVGltZXJU
aHJvdHRsaW5nQXV0b0luY3JlYXNlcywgaGlkZGVuUGFnZURPTVRpbWVyVGhyb3R0bGluZ0F1dG9J
bmNyZWFzZXMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhIaWRkZW5Q
YWdlQ1NTQW5pbWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQsIGhpZGRlblBhZ2VDU1NBbmltYXRpb25T
dXNwZW5zaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9ISURERU5fUEFHRV9DU1NfQU5J
TUFUSU9OX1NVU1BFTlNJT05fRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oTG93UG93ZXJW
aWRlb0F1ZGlvQnVmZmVyU2l6ZUVuYWJsZWQsIGxvd1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNpemVF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVGhyZWFkZWRT
Y3JvbGxpbmdFbmFibGVkLCB0aHJlYWRlZFNjcm9sbGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRy
dWUsICIiLCAiIikgXAorICAgIG1hY3JvKFNpbXBsZUxpbmVMYXlvdXRFbmFibGVkLCBzaW1wbGVM
aW5lTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
U3VicGl4ZWxDU1NPTUVsZW1lbnRNZXRyaWNzRW5hYmxlZCwgc3VicGl4ZWxDU1NPTUVsZW1lbnRN
ZXRyaWNzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFVz
ZUdpYW50VGlsZXMsIHVzZUdpYW50VGlsZXMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhNZWRpYVN0cmVhbUVuYWJsZWQsIG1lZGlhU3RyZWFtRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFVzZUxlZ2FjeVRleHRBbGlnblBvc2l0
aW9uZWRFbGVtZW50QmVoYXZpb3IsIHVzZUxlZ2FjeVRleHRBbGlnblBvc2l0aW9uZWRFbGVtZW50
QmVoYXZpb3IsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQsIHNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKE1lZGlhU291cmNlRW5hYmxlZCwgbWVkaWFTb3Vy
Y2VFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhWaWV3R2Vz
dHVyZURlYnVnZ2luZ0VuYWJsZWQsIHZpZXdHZXN0dXJlRGVidWdnaW5nRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNob3VsZENvbnZlcnRQb3NpdGlvblN0
eWxlT25Db3B5LCBzaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weSwgQm9vbCwgYm9vbCwg
ZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFN0YW5kYWxvbmUsIHN0YW5kYWxvbmUsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhUZWxlcGhvbmVOdW1iZXJQYXJzaW5n
RW5hYmxlZCwgdGVsZXBob25lTnVtYmVyUGFyc2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd011bHRpRWxlbWVudEltcGxpY2l0U3VibWlzc2lv
biwgYWxsb3dNdWx0aUVsZW1lbnRJbXBsaWNpdFN1Ym1pc3Npb24sIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xs
LCBhbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oUGFzc3dvcmRFY2hvRW5hYmxlZCwgcGFzc3dvcmRFY2hvRW5h
YmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9QQVNTV09SRF9FQ0hPX0VOQUJMRUQsICIiLCAiIikg
XAorICAgIG1hY3JvKEltYWdlQ29udHJvbHNFbmFibGVkLCBpbWFnZUNvbnRyb2xzRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEVuYWJsZUluaGVyaXRVUklR
dWVyeUNvbXBvbmVudCwgZW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29tcG9uZW50LCBCb29sLCBib29s
LCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2VydmljZUNvbnRyb2xzRW5hYmxlZCwgc2Vy
dmljZUNvbnRyb2xzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1h
Y3JvKEdhbWVwYWRzRW5hYmxlZCwgZ2FtZXBhZHNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oTmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQsIG5l
d0Jsb2NrSW5zaWRlSW5saW5lTW9kZWxFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oSFRUUEVxdWl2RW5hYmxlZCwgaHR0cEVxdWl2RW5hYmxlZCwgQm9vbCwg
Ym9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oTW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxl
ZCwgbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikg
XAorICAgIG1hY3JvKFNoYWRvd0RPTUVuYWJsZWQsIHNoYWRvd0RPTUVuYWJsZWQsIEJvb2wsIGJv
b2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEN1c3RvbUVsZW1lbnRzRW5hYmxlZCwgY3Vz
dG9tRWxlbWVudHNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oRmV0Y2hBUElFbmFibGVkLCBmZXRjaEFQSUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhXZWJHTDJFbmFibGVkLCB3ZWJHTDJFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRG93bmxvYWRBdHRyaWJ1dGVFbmFibGVk
LCBkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
ICAgICBGT1JfRUFDSF9BRERJVElPTkFMX1dFQktJVF9CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwK
ICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNFKG1hY3Jv
KSBcCi0gICAgbWFjcm8oSW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQsIGlu
Y3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0LCBEb3VibGUsIGRvdWJsZSwgNSkg
XAotICAgIG1hY3JvKE1pbmltdW1Gb250U2l6ZSwgbWluaW11bUZvbnRTaXplLCBEb3VibGUsIGRv
dWJsZSwgMCkgXAotICAgIG1hY3JvKE1pbmltdW1Mb2dpY2FsRm9udFNpemUsIG1pbmltdW1Mb2dp
Y2FsRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCA5KSBcCi0gICAgbWFjcm8oTWluaW11bVpvb21G
b250U2l6ZSwgbWluaW11bVpvb21Gb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIERFRkFVTFRfTUlO
SU1VTV9GT05UX1pPT01fU0laRSkgXAotICAgIG1hY3JvKERlZmF1bHRGb250U2l6ZSwgZGVmYXVs
dEZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgMTYpIFwKLSAgICBtYWNybyhEZWZhdWx0Rml4ZWRG
b250U2l6ZSwgZGVmYXVsdEZpeGVkRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCAxMykgXAotICAg
IG1hY3JvKExheW91dEludGVydmFsLCBsYXlvdXRJbnRlcnZhbCwgRG91YmxlLCBkb3VibGUsIC0x
KSBcCi0gICAgbWFjcm8oTWF4UGFyc2VEdXJhdGlvbiwgbWF4UGFyc2VEdXJhdGlvbiwgRG91Ymxl
LCBkb3VibGUsIC0xKSBcCi0gICAgbWFjcm8oUGFzc3dvcmRFY2hvRHVyYXRpb24sIHBhc3N3b3Jk
RWNob0R1cmF0aW9uLCBEb3VibGUsIGRvdWJsZSwgMikgXAorICAgIG1hY3JvKEluY3JlbWVudGFs
UmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0LCBpbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNz
aW9uVGltZW91dCwgRG91YmxlLCBkb3VibGUsIDUsICIiLCAiIikgXAorICAgIG1hY3JvKE1pbmlt
dW1Gb250U2l6ZSwgbWluaW11bUZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgMCwgIiIsICIiKSBc
CisgICAgbWFjcm8oTWluaW11bUxvZ2ljYWxGb250U2l6ZSwgbWluaW11bUxvZ2ljYWxGb250U2l6
ZSwgRG91YmxlLCBkb3VibGUsIDksICIiLCAiIikgXAorICAgIG1hY3JvKE1pbmltdW1ab29tRm9u
dFNpemUsIG1pbmltdW1ab29tRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCBERUZBVUxUX01JTklN
VU1fRk9OVF9aT09NX1NJWkUsICIiLCAiIikgXAorICAgIG1hY3JvKERlZmF1bHRGb250U2l6ZSwg
ZGVmYXVsdEZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgMTYsICIiLCAiIikgXAorICAgIG1hY3Jv
KERlZmF1bHRGaXhlZEZvbnRTaXplLCBkZWZhdWx0Rml4ZWRGb250U2l6ZSwgRG91YmxlLCBkb3Vi
bGUsIDEzLCAiIiwgIiIpIFwKKyAgICBtYWNybyhMYXlvdXRJbnRlcnZhbCwgbGF5b3V0SW50ZXJ2
YWwsIERvdWJsZSwgZG91YmxlLCAtMSwgIiIsICIiKSBcCisgICAgbWFjcm8oTWF4UGFyc2VEdXJh
dGlvbiwgbWF4UGFyc2VEdXJhdGlvbiwgRG91YmxlLCBkb3VibGUsIC0xLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhQYXNzd29yZEVjaG9EdXJhdGlvbiwgcGFzc3dvcmRFY2hvRHVyYXRpb24sIERvdWJs
ZSwgZG91YmxlLCAyLCAiIiwgIiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lU
X1VJTlQzMl9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFjcm8oRm9udFNtb290aGluZ0xldmVs
LCBmb250U21vb3RoaW5nTGV2ZWwsIFVJbnQzMiwgdWludDMyX3QsIEZvbnRTbW9vdGhpbmdMZXZl
bE1lZGl1bSkgXAotICAgIG1hY3JvKExheW91dEZhbGxiYWNrV2lkdGgsIGxheW91dEZhbGxiYWNr
V2lkdGgsIFVJbnQzMiwgdWludDMyX3QsIDk4MCkgXAotICAgIG1hY3JvKERldmljZVdpZHRoLCBk
ZXZpY2VXaWR0aCwgVUludDMyLCB1aW50MzJfdCwgMCkgXAotICAgIG1hY3JvKERldmljZUhlaWdo
dCwgZGV2aWNlSGVpZ2h0LCBVSW50MzIsIHVpbnQzMl90LCAwKSBcCi0gICAgbWFjcm8oRWRpdGFi
bGVMaW5rQmVoYXZpb3IsIGVkaXRhYmxlTGlua0JlaGF2aW9yLCBVSW50MzIsIHVpbnQzMl90LCBX
ZWJDb3JlOjpFZGl0YWJsZUxpbmtOZXZlckxpdmUpIFwKLSAgICBtYWNybyhJbnNwZWN0b3JBdHRh
Y2hlZEhlaWdodCwgaW5zcGVjdG9yQXR0YWNoZWRIZWlnaHQsIFVJbnQzMiwgdWludDMyX3QsIDMw
MCkgXAotICAgIG1hY3JvKEluc3BlY3RvckF0dGFjaGVkV2lkdGgsIGluc3BlY3RvckF0dGFjaGVk
V2lkdGgsIFVJbnQzMiwgdWludDMyX3QsIDc1MCkgXAotICAgIG1hY3JvKEluc3BlY3RvckF0dGFj
aG1lbnRTaWRlLCBpbnNwZWN0b3JBdHRhY2htZW50U2lkZSwgVUludDMyLCB1aW50MzJfdCwgMCkg
XAotICAgIG1hY3JvKFN0b3JhZ2VCbG9ja2luZ1BvbGljeSwgc3RvcmFnZUJsb2NraW5nUG9saWN5
LCBVSW50MzIsIHVpbnQzMl90LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6QmxvY2tUaGlyZFBh
cnR5U3RvcmFnZSkgXAotICAgIG1hY3JvKEphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIGphdmFTY3Jp
cHRSdW50aW1lRmxhZ3MsIFVJbnQzMiwgdWludDMyX3QsIDApIFwKLSAgICBtYWNybyhEYXRhRGV0
ZWN0b3JUeXBlcywgZGF0YURldGVjdG9yVHlwZXMsIFVJbnQzMiwgdWludDMyX3QsIDApIFwKKyAg
ICBtYWNybyhGb250U21vb3RoaW5nTGV2ZWwsIGZvbnRTbW9vdGhpbmdMZXZlbCwgVUludDMyLCB1
aW50MzJfdCwgRm9udFNtb290aGluZ0xldmVsTWVkaXVtLCAiIiwgIiIpIFwKKyAgICBtYWNybyhM
YXlvdXRGYWxsYmFja1dpZHRoLCBsYXlvdXRGYWxsYmFja1dpZHRoLCBVSW50MzIsIHVpbnQzMl90
LCA5ODAsICIiLCAiIikgXAorICAgIG1hY3JvKERldmljZVdpZHRoLCBkZXZpY2VXaWR0aCwgVUlu
dDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oRGV2aWNlSGVpZ2h0LCBkZXZp
Y2VIZWlnaHQsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAorICAgIG1hY3JvKEVkaXRh
YmxlTGlua0JlaGF2aW9yLCBlZGl0YWJsZUxpbmtCZWhhdmlvciwgVUludDMyLCB1aW50MzJfdCwg
V2ViQ29yZTo6RWRpdGFibGVMaW5rTmV2ZXJMaXZlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhJbnNw
ZWN0b3JBdHRhY2hlZEhlaWdodCwgaW5zcGVjdG9yQXR0YWNoZWRIZWlnaHQsIFVJbnQzMiwgdWlu
dDMyX3QsIDMwMCwgIiIsICIiKSBcCisgICAgbWFjcm8oSW5zcGVjdG9yQXR0YWNoZWRXaWR0aCwg
aW5zcGVjdG9yQXR0YWNoZWRXaWR0aCwgVUludDMyLCB1aW50MzJfdCwgNzUwLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhJbnNwZWN0b3JBdHRhY2htZW50U2lkZSwgaW5zcGVjdG9yQXR0YWNobWVudFNp
ZGUsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAorICAgIG1hY3JvKFN0b3JhZ2VCbG9j
a2luZ1BvbGljeSwgc3RvcmFnZUJsb2NraW5nUG9saWN5LCBVSW50MzIsIHVpbnQzMl90LCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbjo6QmxvY2tUaGlyZFBhcnR5U3RvcmFnZSwgIiIsICIiKSBcCisg
ICAgbWFjcm8oSmF2YVNjcmlwdFJ1bnRpbWVGbGFncywgamF2YVNjcmlwdFJ1bnRpbWVGbGFncywg
VUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oRGF0YURldGVjdG9yVHlw
ZXMsIGRhdGFEZXRlY3RvclR5cGVzLCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKICAg
ICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX0JPT0xfUFJFRkVSRU5DRShtYWNy
bykgXAotICAgIG1hY3JvKEFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQsIGFjY2VsZXJhdGVkRHJh
d2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfQUNDRUxFUkFURURfRFJBV0lOR19FTkFC
TEVEKSBcCi0gICAgbWFjcm8oRGlzcGxheUxpc3REcmF3aW5nRW5hYmxlZCwgZGlzcGxheUxpc3RE
cmF3aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlLCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKENvbXBvc2l0aW5nUmVwYWludENvdW50ZXJzVmlzaWJsZSwgY29t
cG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAg
IG1hY3JvKFRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yVmlzaWJsZSwgdGlsZWRTY3JvbGxpbmdJbmRp
Y2F0b3JWaXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNpbXBsZUxpbmVM
YXlvdXREZWJ1Z0JvcmRlcnNFbmFibGVkLCBzaW1wbGVMaW5lTGF5b3V0RGVidWdCb3JkZXJzRW5h
YmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhEZXZlbG9wZXJFeHRyYXNFbmFi
bGVkLCBkZXZlbG9wZXJFeHRyYXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1h
Y3JvKExvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkLCBsb2dzUGFnZU1lc3Nh
Z2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNy
byhJZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cywgaWdub3JlVmlld3BvcnRTY2FsaW5n
Q29uc3RyYWludHMsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhGb3JjZUFsd2F5c1Vz
ZXJTY2FsYWJsZSwgZm9yY2VBbHdheXNVc2VyU2NhbGFibGUsIEJvb2wsIGJvb2wsIGZhbHNlKSBc
Ci0gICAgbWFjcm8oUmVzb3VyY2VVc2FnZU92ZXJsYXlWaXNpYmxlLCByZXNvdXJjZVVzYWdlT3Zl
cmxheVZpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCisgICAgbWFjcm8oQWNjZWxlcmF0ZWRE
cmF3aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVG
QVVMVF9BQ0NFTEVSQVRFRF9EUkFXSU5HX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKERp
c3BsYXlMaXN0RHJhd2luZ0VuYWJsZWQsIGRpc3BsYXlMaXN0RHJhd2luZ0VuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDb21wb3NpdGluZ0JvcmRlcnNWaXNp
YmxlLCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oQ29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlLCBjb21wb3Np
dGluZ1JlcGFpbnRDb3VudGVyc1Zpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwK
KyAgICBtYWNybyhUaWxlZFNjcm9sbGluZ0luZGljYXRvclZpc2libGUsIHRpbGVkU2Nyb2xsaW5n
SW5kaWNhdG9yVmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3Jv
KFNpbXBsZUxpbmVMYXlvdXREZWJ1Z0JvcmRlcnNFbmFibGVkLCBzaW1wbGVMaW5lTGF5b3V0RGVi
dWdCb3JkZXJzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3Jv
KERldmVsb3BlckV4dHJhc0VuYWJsZWQsIGRldmVsb3BlckV4dHJhc0VuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhMb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1D
b25zb2xlRW5hYmxlZCwgbG9nc1BhZ2VNZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhJZ25vcmVWaWV3cG9ydFNjYWxp
bmdDb25zdHJhaW50cywgaWdub3JlVmlld3BvcnRTY2FsaW5nQ29uc3RyYWludHMsIEJvb2wsIGJv
b2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEZvcmNlQWx3YXlzVXNlclNjYWxhYmxlLCBm
b3JjZUFsd2F5c1VzZXJTY2FsYWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAg
IG1hY3JvKFJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJsZSwgcmVzb3VyY2VVc2FnZU92ZXJsYXlW
aXNpYmxlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9ERUJVR19VSU5UMzJfUFJFRkVSRU5DRShtYWNybykgXAotICAgIG1hY3Jv
KFZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zLCB2aXNpYmxlRGVidWdPdmVybGF5UmVnaW9ucywg
VUludDMyLCB1aW50MzJfdCwgMCkKKyAgICBtYWNybyhWaXNpYmxlRGVidWdPdmVybGF5UmVnaW9u
cywgdmlzaWJsZURlYnVnT3ZlcmxheVJlZ2lvbnMsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAi
IikKKworI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVS
RU5DRShtYWNybykgXAorICAgIG1hY3JvKEV4cGVyaW1lbnRhbFNoYWRvd0RPTUVuYWJsZWQsIGV4
cGVyaW1lbnRhbFNoYWRvd0RPTUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiU2hhZG93IERP
TSIsICJTdXBwb3J0IGZvciB0aGUgU2hhZG93IERPTSBmZWF0dXJlIikgXAorICAgIG1hY3JvKEV4
cGVyaW1lbnRhbFdlYkdMMkVuYWJsZWQsIGV4cGVyaW1lbnRhbFdlYkdMMkVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiV2ViR0wgMi4wIiwgIlByb3RvdHlwZSBXZWJHTCAyIFN1cHBvcnQiKSBc
CisgICAgXAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAKQEAgLTI4OCwzNyArMjkzLDM3IEBACiAK
IAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRk9OVF9GQU1JTFlfUFJFRkVSRU5DRShtYWNybykg
XAotICAgIG1hY3JvKFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5LCBTdHJp
bmcsIFN0cmluZywgIlRpbWVzIikgXAotICAgIG1hY3JvKEN1cnNpdmVGb250RmFtaWx5LCBjdXJz
aXZlRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsIERFRkFVTFRfQ1VSU0lWRV9GT05UX0ZBTUlM
WSkgXAotICAgIG1hY3JvKEZhbnRhc3lGb250RmFtaWx5LCBmYW50YXN5Rm9udEZhbWlseSwgU3Ry
aW5nLCBTdHJpbmcsICJQYXB5cnVzIikgXAotICAgIG1hY3JvKEZpeGVkRm9udEZhbWlseSwgZml4
ZWRGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkNvdXJpZXIiKSBcCi0gICAgbWFjcm8oU2Fu
c1NlcmlmRm9udEZhbWlseSwgc2Fuc1NlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJI
ZWx2ZXRpY2EiKSBcCi0gICAgbWFjcm8oU2VyaWZGb250RmFtaWx5LCBzZXJpZkZvbnRGYW1pbHks
IFN0cmluZywgU3RyaW5nLCAiVGltZXMiKSBcCi0gICAgbWFjcm8oUGljdG9ncmFwaEZvbnRGYW1p
bHksIHBpY3RvZ3JhcGhGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkFwcGxlIENvbG9yIEVt
b2ppIikgXAorICAgIG1hY3JvKFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5
LCBTdHJpbmcsIFN0cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCisgICAgbWFjcm8oQ3Vyc2l2ZUZv
bnRGYW1pbHksIGN1cnNpdmVGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgREVGQVVMVF9DVVJT
SVZFX0ZPTlRfRkFNSUxZLCAiIiwgIiIpIFwKKyAgICBtYWNybyhGYW50YXN5Rm9udEZhbWlseSwg
ZmFudGFzeUZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiUGFweXJ1cyIsICIiLCAiIikgXAor
ICAgIG1hY3JvKEZpeGVkRm9udEZhbWlseSwgZml4ZWRGb250RmFtaWx5LCBTdHJpbmcsIFN0cmlu
ZywgIkNvdXJpZXIiLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTYW5zU2VyaWZGb250RmFtaWx5LCBz
YW5zU2VyaWZGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkhlbHZldGljYSIsICIiLCAiIikg
XAorICAgIG1hY3JvKFNlcmlmRm9udEZhbWlseSwgc2VyaWZGb250RmFtaWx5LCBTdHJpbmcsIFN0
cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCisgICAgbWFjcm8oUGljdG9ncmFwaEZvbnRGYW1pbHks
IHBpY3RvZ3JhcGhGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkFwcGxlIENvbG9yIEVtb2pp
IiwgIiIsICIiKSBcCiAgICAgXAogCiAjZWxpZiBQTEFURk9STShHVEspIHx8IFBMQVRGT1JNKEVG
TCkKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfRk9OVF9GQU1JTFlfUFJFRkVSRU5DRShtYWNy
bykgXAotICAgIG1hY3JvKFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5LCBT
dHJpbmcsIFN0cmluZywgIlRpbWVzIikgXAotICAgIG1hY3JvKEN1cnNpdmVGb250RmFtaWx5LCBj
dXJzaXZlRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJDb21pYyBTYW5zIE1TIikgXAotICAg
IG1hY3JvKEZhbnRhc3lGb250RmFtaWx5LCBmYW50YXN5Rm9udEZhbWlseSwgU3RyaW5nLCBTdHJp
bmcsICJJbXBhY3QiKSBcCi0gICAgbWFjcm8oRml4ZWRGb250RmFtaWx5LCBmaXhlZEZvbnRGYW1p
bHksIFN0cmluZywgU3RyaW5nLCAiQ291cmllciBOZXciKSBcCi0gICAgbWFjcm8oU2Fuc1Nlcmlm
Rm9udEZhbWlseSwgc2Fuc1NlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJIZWx2ZXRp
Y2EiKSBcCi0gICAgbWFjcm8oU2VyaWZGb250RmFtaWx5LCBzZXJpZkZvbnRGYW1pbHksIFN0cmlu
ZywgU3RyaW5nLCAiVGltZXMiKSBcCi0gICAgbWFjcm8oUGljdG9ncmFwaEZvbnRGYW1pbHksIHBp
Y3RvZ3JhcGhGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIlRpbWVzIikgXAorICAgIG1hY3Jv
KFN0YW5kYXJkRm9udEZhbWlseSwgc3RhbmRhcmRGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywg
IlRpbWVzIiwgIiIsICIiKSBcCisgICAgbWFjcm8oQ3Vyc2l2ZUZvbnRGYW1pbHksIGN1cnNpdmVG
b250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkNvbWljIFNhbnMgTVMiLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhGYW50YXN5Rm9udEZhbWlseSwgZmFudGFzeUZvbnRGYW1pbHksIFN0cmluZywgU3Ry
aW5nLCAiSW1wYWN0IiwgIiIsICIiKSBcCisgICAgbWFjcm8oRml4ZWRGb250RmFtaWx5LCBmaXhl
ZEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiQ291cmllciBOZXciLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhTYW5zU2VyaWZGb250RmFtaWx5LCBzYW5zU2VyaWZGb250RmFtaWx5LCBTdHJpbmcs
IFN0cmluZywgIkhlbHZldGljYSIsICIiLCAiIikgXAorICAgIG1hY3JvKFNlcmlmRm9udEZhbWls
eSwgc2VyaWZGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCisg
ICAgbWFjcm8oUGljdG9ncmFwaEZvbnRGYW1pbHksIHBpY3RvZ3JhcGhGb250RmFtaWx5LCBTdHJp
bmcsIFN0cmluZywgIlRpbWVzIiwgIiIsICIiKSBcCiAgICAgXAogCiAjZW5kaWYKIAogI2RlZmlu
ZSBGT1JfRUFDSF9XRUJLSVRfU1RSSU5HX1BSRUZFUkVOQ0UobWFjcm8pIFwKICAgICBGT1JfRUFD
SF9XRUJLSVRfRk9OVF9GQU1JTFlfUFJFRkVSRU5DRShtYWNybykgXAotICAgIG1hY3JvKERlZmF1
bHRUZXh0RW5jb2RpbmdOYW1lLCBkZWZhdWx0VGV4dEVuY29kaW5nTmFtZSwgU3RyaW5nLCBTdHJp
bmcsIGRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lRm9yU3lzdGVtTGFuZ3VhZ2UoKSkgXAotICAgIG1h
Y3JvKEZUUERpcmVjdG9yeVRlbXBsYXRlUGF0aCwgZnRwRGlyZWN0b3J5VGVtcGxhdGVQYXRoLCBT
dHJpbmcsIFN0cmluZywgIiIpIFwKKyAgICBtYWNybyhEZWZhdWx0VGV4dEVuY29kaW5nTmFtZSwg
ZGVmYXVsdFRleHRFbmNvZGluZ05hbWUsIFN0cmluZywgU3RyaW5nLCBkZWZhdWx0VGV4dEVuY29k
aW5nTmFtZUZvclN5c3RlbUxhbmd1YWdlKCksICIiLCAiIikgXAorICAgIG1hY3JvKEZUUERpcmVj
dG9yeVRlbXBsYXRlUGF0aCwgZnRwRGlyZWN0b3J5VGVtcGxhdGVQYXRoLCBTdHJpbmcsIFN0cmlu
ZywgIiIsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfU1RSSU5H
X1BSRUZFUkVOQ0VfTk9UX0lOX1dFQkNPUkUobWFjcm8pIFwKLSAgICBtYWNybyhJbnNwZWN0b3JX
aW5kb3dGcmFtZSwgaW5zcGVjdG9yV2luZG93RnJhbWUsIFN0cmluZywgU3RyaW5nLCAiIikgXAor
ICAgIG1hY3JvKEluc3BlY3RvcldpbmRvd0ZyYW1lLCBpbnNwZWN0b3JXaW5kb3dGcmFtZSwgU3Ry
aW5nLCBTdHJpbmcsICIiLCAiIiwgIiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VC
S0lUX0RFQlVHX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
YlByZWZlcmVuY2VzS2V5cy5jcHAKaW5kZXggZmRkMDRmNmZmYTdiMWMzNTZlMWYyMjY3NmViYmM3
ZmNkZjFhY2MwMC4uODQ2N2NkM2QxMjRiMmNlNTRmMWU4Mzk1Y2JkNTYwZTJiNDRiNjUyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5jcHAKQEAgLTMxLDcg
KzMxLDcgQEAKIG5hbWVzcGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5
IHsKIAotI2RlZmluZSBERUZJTkVfS0VZX0dFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBl
TmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBcCisjZGVmaW5lIERFRklORV9LRVlfR0VUVEVSUyhL
ZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUsIEh1bWFuUmVh
ZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIFwKICAgICAgICAgY29uc3QgU3Ry
aW5nJiBLZXlMb3dlciMjS2V5KCkgXAogICAgICAgICB7IFwKICAgICAgICAgICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxTdHJpbmc+IGtleShBU0NJSUxpdGVyYWwoI0tleVVwcGVyKSk7IFwKQEAg
LTQwLDYgKzQwLDcgQEAgbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5IHsKIAogRk9SX0VBQ0hf
V0VCS0lUX1BSRUZFUkVOQ0UoREVGSU5FX0tFWV9HRVRURVJTKQogRk9SX0VBQ0hfV0VCS0lUX0RF
QlVHX1BSRUZFUkVOQ0UoREVGSU5FX0tFWV9HRVRURVJTKQorRk9SX0VBQ0hfV0VCS0lUX0VYUEVS
SU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVGSU5FX0tFWV9HRVRURVJTKQogCiAjdW5kZWYg
REVGSU5FX0tFWV9HRVRURVJTCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9X
ZWJQcmVmZXJlbmNlc0tleXMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0tleXMuaAppbmRleCAwYjhmYmM3NGVmM2Q2NjU3MzdjYmQyNTJiZWJmYzI0MWFlOGZkMDg4Li5k
ZmZjMzc1NWM2MWQ4YmU2OGU1ODI1YjY4ZjczZmFkOTk5ZDk0YmIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oCkBAIC0zMiwxMCArMzIsMTEgQEAKIG5hbWVz
cGFjZSBXZWJLaXQgewogbmFtZXNwYWNlIFdlYlByZWZlcmVuY2VzS2V5IHsKIAotI2RlZmluZSBE
RUNMQVJFX0tFWV9HRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERl
ZmF1bHRWYWx1ZSkgY29uc3QgU3RyaW5nJiBLZXlMb3dlciMjS2V5KCk7CisjZGVmaW5lIERFQ0xB
UkVfS0VZX0dFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVs
dFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBjb25z
dCBTdHJpbmcmIEtleUxvd2VyIyNLZXkoKTsKIAogRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0Uo
REVDTEFSRV9LRVlfR0VUVEVSUykKIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERF
Q0xBUkVfS0VZX0dFVFRFUlMpCitGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVf
UFJFRkVSRU5DRShERUNMQVJFX0tFWV9HRVRURVJTKQogCiAjdW5kZWYgREVDTEFSRV9LRVlfR0VU
VEVSUwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNT
dG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAK
aW5kZXggM2U5ZmZiMjFhMWQ4ZWUxZmVjYTg4ZDU4MzQ1NjBmNDc2MTY4MzZjYi4uMTcwYTMwODcx
NjI0NmNmMDNjNTQ1MWUzM2ZmZGRlYmQ0YjUwNmYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcApAQCAtMTYwLDkgKzE2MCwxMCBAQCBzdGF0aWMg
V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXAmIGRlZmF1bHRzKCkKIHsKICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWVNYXA+IGRlZmF1bHRzOwog
ICAgIGlmIChkZWZhdWx0cy5nZXQoKS5pc0VtcHR5KCkpIHsKLSNkZWZpbmUgREVGSU5FX0RFRkFV
TFRTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgZGVm
YXVsdHMuZ2V0KCkuc2V0KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIFdlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKChUeXBlKURlZmF1bHRWYWx1ZSkpOworI2RlZmluZSBERUZJ
TkVfREVGQVVMVFMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZh
bHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBkZWZhdWx0
cy5nZXQoKS5zZXQoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2VyIyNLZXkoKSwgV2ViUHJlZmVy
ZW5jZXNTdG9yZTo6VmFsdWUoKFR5cGUpRGVmYXVsdFZhbHVlKSk7CiAgICAgICAgIEZPUl9FQUNI
X1dFQktJVF9QUkVGRVJFTkNFKERFRklORV9ERUZBVUxUUykKICAgICAgICAgRk9SX0VBQ0hfV0VC
S0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVGSU5FX0RFRkFVTFRTKQorICAgICAgICBGT1JfRUFDSF9X
RUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUZJTkVfREVGQVVMVFMpCiAj
dW5kZWYgREVGSU5FX0RFRkFVTFRTCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICNpbmNs
dWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViUHJlZmVyZW5jZXNTdG9yZURlZmF1bHRzQWRkaXRpb25z
LmNwcD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRXhwZXJp
bWVudGFsRmVhdHVyZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9BUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmYwMTQ5
NjUzYzBlZjA1OTY1OTUwY2E4MTVhYTljYTAzZWI2NTUxMwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0
b3IuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuaCIKKworbmFtZXNw
YWNlIEFQSSB7CisKK1JlZjxFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcj4gRXhwZXJpbWVu
dGFsRmVhdHVyZURlc2NyaXB0b3I6OmNyZWF0ZShjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29u
c3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IobmFtZSwg
a2V5LCBkZXRhaWxzKSk7Cit9CisKK0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yOjpFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcihjb25zdCBXVEY6OlN0cmluZyYgbmFtZSwgY29uc3Qg
V1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRldGFpbHMpCisgICAgOiBtX25h
bWUobmFtZSkKKyAgICAsIG1fa2V5KGtleSkKKyAgICAsIG1fZGV0YWlscyhkZXRhaWxzKQorewor
fQorCitFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcjo6fkV4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdG9yKCkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9BUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9BUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE3OGY2ZDEwYWZlNzA4YjliOTVhY2M3M2VmY2ViNDliM2I5MzY2ZjIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQSUV4cGVyaW1lbnRhbEZl
YXR1cmVEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
QVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JfaAorI2RlZmluZSBBUElFeHBlcmltZW50
YWxGZWF0dXJlRGVzY3JpcHRvcl9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIEFQSSB7CisKK2NsYXNzIEV4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yIGZpbmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0
OjpUeXBlOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcj4geworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8RXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3I+IGNyZWF0ZShjb25zdCBXVEY6
OlN0cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcm
IGRldGFpbHMpOworICAgIHZpcnR1YWwgfkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yKCk7
CisKKyAgICBXVEY6OlN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CisgICAg
V1RGOjpTdHJpbmcga2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0KKyAgICBXVEY6OlN0cmlu
ZyBkZXRhaWxzKCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWxzOyB9CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IoY29uc3QgV1RGOjpTdHJpbmcm
IG5hbWUsIGNvbnN0IFdURjo6U3RyaW5nJiBrZXksIGNvbnN0IFdURjo6U3RyaW5nJiBkZXRhaWxz
KTsKKworICAgIFdURjo6U3RyaW5nIG1fbmFtZTsKKyAgICBXVEY6OlN0cmluZyBtX2tleTsKKyAg
ICBXVEY6OlN0cmluZyBtX2RldGFpbHM7Cit9OworCit9CisKKyNlbmRpZiAvLyBBUElFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tBUElDYXN0LmgKaW5kZXggNzg3ZTk5Mjc4OWZjMTlhNTNhZWJiNjM0NmIwYzFlYjgxZTZiZDg4
Ny4uYTZlMmQwN2Q0NzNhNjZiZGEyZDNhNjU0ZWFiYjI2ZDQwMzNiMjFjZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaApAQCAtNTEsNiArNTEsNyBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvU2V0dGluZ3MuaD4KIAogbmFtZXNwYWNlIEFQSSB7CitjbGFzcyBFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcjsKIGNsYXNzIEZyYW1lSGFuZGxlOwogY2xhc3MgRnJh
bWVJbmZvOwogY2xhc3MgSGl0VGVzdFJlc3VsdDsKQEAgLTEyNCw2ICsxMjUsNyBAQCBXS19BRERf
QVBJX01BUFBJTkcoV0tDb250ZXh0Q29uZmlndXJhdGlvblJlZiwgQVBJOjpQcm9jZXNzUG9vbENv
bmZpZ3VyYXRpb24pCiBXS19BRERfQVBJX01BUFBJTkcoV0tDb29raWVNYW5hZ2VyUmVmLCBXZWJD
b29raWVNYW5hZ2VyUHJveHkpCiBXS19BRERfQVBJX01BUFBJTkcoV0tDcmVkZW50aWFsUmVmLCBX
ZWJDcmVkZW50aWFsKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLRG93bmxvYWRSZWYsIERvd25sb2Fk
UHJveHkpCitXS19BRERfQVBJX01BUFBJTkcoV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRv
clJlZiwgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcikKIFdLX0FERF9BUElfTUFQ
UElORyhXS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXJSZWYsIFdlYkZvcm1TdWJtaXNzaW9uTGlzdGVu
ZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYsIFdl
YkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSkKIFdLX0FERF9BUElfTUFQUElORyhXS0ZyYW1lSGFu
ZGxlUmVmLCBBUEk6OkZyYW1lSGFuZGxlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JSZWYuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0
b3JSZWYuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBkMTJhYmUyOWYwY2I5MTVjN2UyODVlYWE0OTEwNjc2ZTBh
ZTg0OWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5jcHAKQEAgLTAsMCArMSwzNSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXS0V4cGVyaW1lbnRh
bEZlYXR1cmVEZXNjcmlwdG9yUmVmLmgiCisKKyNpbmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0
dXJlRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorCitXS1R5cGVJRCBXS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yR2V0VHlwZUlEKCkKK3sKKyAgICByZXR1cm4gV2Vi
S2l0Ojp0b0FQSShBUEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yOjpBUElUeXBlKTsK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0V4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdG9yUmVmLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlMzZl
MDkxZTNiMWJlOTliZDc5MTM3YTRiNzJkZTAwYzM0ZTMzMTkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3Jp
cHRvclJlZi5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLRXhwZXJp
bWVudGFsRmVhdHVyZURlc2NyaXB0b3JSZWZfaAorI2RlZmluZSBXS0V4cGVyaW1lbnRhbEZlYXR1
cmVEZXNjcmlwdG9yUmVmX2gKKworI2luY2x1ZGUgPFdlYktpdC9XS0Jhc2UuaD4KKworI2lmZGVm
IF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19FWFBPUlQgV0tUeXBlSUQg
V0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvckdldFR5cGVJRCgpOworCisjaWZkZWYgX19j
cGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogV0tFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRvclJlZl9oICovCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLUHJlZmVyZW5jZXMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLUHJlZmVyZW5jZXMubW0KaW5kZXggNThlNjU4Y2FhOThjZGQ4NmRlOGQ0YmM3YWY1ZmIy
YzZlM2Q4MzJmOS4uZTI4YWFiZmZjMWRkODEzMDRlNDZmMDY3NDJmYThiMDc2MjAwYzhhZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNl
cy5tbQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCAi
QVBJQXJyYXkuaCIKKyNpbXBvcnQgIldLTlNBcnJheS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5j
ZXMuaCIKICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KQEAgLTQxOSw2ICs0MjEsMjMgQEAgc3RhdGljIF9XS1N0b3JhZ2VCbG9ja2lu
Z1BvbGljeSB0b0FQSShXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG8K
ICAgICBfcHJlZmVyZW5jZXMtPnNldEZpeGVkRm9udEZhbWlseShmaXhlZFBpdGNoRm9udEZhbWls
eSk7CiB9CiAKKysgKFdLX0FSUkFZKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yICop
ICopX2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ycworeworICAgIFZlY3RvcjxSZWZQdHI8
QVBJOjpPYmplY3Q+PiBleHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcnMgPSBXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzOjpleHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcnMoKTsKKyAgICBSZWY8
QVBJOjpBcnJheT4gZGVzY3JpcHRpb25zID0gQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoZXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JzKSk7CisgICAgcmV0dXJuIFt3cmFwcGVyKGRlc2Ny
aXB0aW9ucy5sZWFrUmVmKCkpIGF1dG9yZWxlYXNlXTsKK30KKworLSAoQk9PTClfcHJlZmVyZW5j
ZUZvckV4cGVyaW1lbnRhbEZlYXR1cmU6KE5TU3RyaW5nKilrZXkKK3sKKyAgICByZXR1cm4gX3By
ZWZlcmVuY2VzLT5wcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShrZXkpOworfQorCist
ICh2b2lkKV9zZXRQcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZTooTlNTdHJpbmcqKWtl
eSB0b1ZhbHVlOihCT09MKXZhbHVlCit7CisgICAgX3ByZWZlcmVuY2VzLT5zZXRQcmVmZXJlbmNl
Rm9yRXhwZXJpbWVudGFsRmVhdHVyZShrZXksIHZhbHVlKTsKK30KKwogQGVuZAogCiAjZW5kaWYg
Ly8gV0tfQVBJX0VOQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCAwOWNlZDVhNDU0MTMwZTQ4
YWJlNzI5NWI0MzdlZGM2OGMwZGE4MzBmLi5iMTkyNjljOWQ0YTZlYjczNDc4MzNlOTg5MmYxYWMy
MWU0NTI2NmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC00Niw2ICs0Niw4IEBAIHR5cGVkZWYg
TlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2NyaXB0UnVudGltZUZsYWdzKSB7CiAgICAg
X1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFnc0FsbEVuYWJsZWQgPSAwCiB9IFdLX0VOVU1fQVZBSUxB
QkxFKDEwXzExLCA5XzApOwogCitAY2xhc3MgX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0
b3I7CisKIEBpbnRlcmZhY2UgV0tQcmVmZXJlbmNlcyAoV0tQcml2YXRlKQogCiAvLyBGSVhNRTog
VGhpcyBwcm9wZXJ0eSBzaG91bGQgbm90IGhhdmUgdGhlIHZlcmIgImlzIiBpbiBpdC4KQEAgLTg1
LDYgKzg3LDEwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2NyaXB0
UnVudGltZUZsYWdzKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRPZmZsaW5l
QXBwbGljYXRpb25DYWNoZUlzRW5hYmxlZDopIEJPT0wgX29mZmxpbmVBcHBsaWNhdGlvbkNhY2hl
SXNFbmFibGVkOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RnVsbFNjcmVlbkVu
YWJsZWQ6KSBCT09MIF9mdWxsU2NyZWVuRW5hYmxlZCBXS19BVkFJTEFCTEUoMTBfMTEsIDlfMCk7
CiAKKysgKFdLX0FSUkFZKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yICopICopX2V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yczsKKy0gKEJPT0wpX3ByZWZlcmVuY2VGb3JFeHBl
cmltZW50YWxGZWF0dXJlOihOU1N0cmluZyopa2V5OworLSAodm9pZClfc2V0UHJlZmVyZW5jZUZv
ckV4cGVyaW1lbnRhbEZlYXR1cmU6KE5TU3RyaW5nKilrZXkgdG9WYWx1ZTooQk9PTCl2YWx1ZTsK
KwogQGVuZAogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40YjJjMGM1ZjczZjBjNTgzMzk0OTMzZWU5NGM5MzkwZjQ2NTExNDQ1Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
eHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElfRU5BQkxF
RAorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworV0tfQ0xBU1NfQVZBSUxB
QkxFKDEwXzExLCA5XzApCitAaW50ZXJmYWNlIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlw
dG9yIDogTlNPYmplY3QKKworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBO
U1N0cmluZyAqa2V5OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0
cmluZyAqbmFtZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgY29weSkgTlNTdHJp
bmcgKmRldGFpbHM7CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0
dXJlRGVzY3JpcHRvci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDNlZGJmY2QwYzE0Y2Q4YjkzNDdhYTNlMGQz
NmNmZjFjZTllMTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5tbQpAQCAtMCwwICsx
LDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJfV0tFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvckludGVybmFsLmgiCisKKyNpZiBXS19BUElfRU5BQkxF
RAorCitAaW1wbGVtZW50YXRpb24gX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IKKwor
LSAodm9pZClkZWFsbG9jCit7CisgICAgX2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLT5B
UEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yOjp+RXhwZXJpbWVudGFsRmVhdHVyZURl
c2NyaXB0b3IoKTsKKworICAgIFtzdXBlciBkZWFsbG9jXTsKK30KKworLSAoTlNTdHJpbmcgKilk
ZXNjcmlwdGlvbgoreworICAgIHJldHVybiBbTlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwl
QDogJXA7IG5hbWUgPSAlQDsga2V5ID0geyAlQCB9PiIsIE5TU3RyaW5nRnJvbUNsYXNzKHNlbGYu
Y2xhc3MpLCBzZWxmLCBzZWxmLm5hbWUsIHNlbGYua2V5XTsKK30KKworLSAoTlNTdHJpbmcgKilu
YW1lCit7CisgICAgcmV0dXJuIF9leHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci0+bmFtZSgp
OworfQorCistIChOU1N0cmluZyAqKWtleQoreworICAgIHJldHVybiBfZXhwZXJpbWVudGFsRmVh
dHVyZURlc2NyaXB0b3ItPmtleSgpOworfQorCistIChOU1N0cmluZyAqKWRldGFpbHMKK3sKKyAg
ICByZXR1cm4gX2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLT5kZXRhaWxzKCk7Cit9CisK
KyNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCistIChBUEk6
Ok9iamVjdCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2V4cGVyaW1lbnRhbEZlYXR1cmVE
ZXNjcmlwdG9yOworfQorCitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcklu
dGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdG9ySW50ZXJuYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWFkNWI2ODU1OWU5
ZTJlNWRlNThiMDQ0ZjhjOWY2MzA1NTYwYTZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRv
ckludGVybmFsLmgKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgIl9XS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLmgiCisKKyNpZiBXS19BUElfRU5BQkxFRAorCisj
aW1wb3J0ICJBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oIgorI2ltcG9ydCAiV0tP
YmplY3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2lubGluZSBfV0tFeHBlcmltZW50YWxG
ZWF0dXJlRGVzY3JpcHRvciAqd3JhcHBlcihBUEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlw
dG9yJiBleHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcikKK3sKKyAgICBBU1NFUlQoW2V4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLndyYXBwZXIoKSBpc0tpbmRPZkNsYXNzOltfV0tFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvciBjbGFzc11dKTsKKyAgICByZXR1cm4gKF9XS0V4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yICopZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3Iu
d3JhcHBlcigpOworfQorCit9CisKK0BpbnRlcmZhY2UgX1dLRXhwZXJpbWVudGFsRmVhdHVyZURl
c2NyaXB0b3IgKCkgPFdLT2JqZWN0PiB7CitAcGFja2FnZQorICAgIEFQSTo6T2JqZWN0U3RvcmFn
ZTxBUEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yPiBfZXhwZXJpbWVudGFsRmVhdHVy
ZURlc2NyaXB0b3I7Cit9CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggZTFjMzkwZWM4MWY4MGVhZTk0OGY1MTU4MWFlYWIw
YmZkMGFiNWVkZC4uZDExYzNkZTAxNmViMzEwYjU1MDM2N2U1OTQ0N2JiMTg5MjliZGNlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCkBAIC0xNzAsNyAr
MTcwLDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUo
Ym9vbCB2YWx1ZSkKICAgICB9CiB9CiAKLSNkZWZpbmUgREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVS
X0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRW
YWx1ZSkgXAorI2RlZmluZSBERUZJTkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMoS2V5
VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRh
YmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBcCiAgICAgdm9pZCBXZWJQcmVmZXJl
bmNlczo6c2V0IyNLZXlVcHBlcihjb25zdCBUeXBlJiB2YWx1ZSkgXAogICAgIHsgXAogICAgICAg
ICBpZiAoIW1fc3RvcmUuc2V0IyNUeXBlTmFtZSMjVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OktleUxvd2VyIyNLZXkoKSwgdmFsdWUpKSBcCkBAIC0xODYsOSArMTg2LDYwIEBAIHZvaWQg
V2ViUHJlZmVyZW5jZXM6OnVwZGF0ZVByaXZhdGVCcm93c2luZ1ZhbHVlKGJvb2wgdmFsdWUpCiAK
IEZPUl9FQUNIX1dFQktJVF9QUkVGRVJFTkNFKERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRf
U0VUVEVSUykKIEZPUl9FQUNIX1dFQktJVF9ERUJVR19QUkVGRVJFTkNFKERFRklORV9QUkVGRVJF
TkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKK0ZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVB
VFVSRV9QUkVGRVJFTkNFKERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKIAog
I3VuZGVmIERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUwogCitzdGF0aWMgVmVj
dG9yPFJlZlB0cjxBUEk6Ok9iamVjdD4+JiBnbG9iYWxFeHBlcmltZW50YWxGZWF0dXJlRGVzY3Jp
cHRvcnMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxWZWN0b3I8UmVmUHRyPEFQSTo6
T2JqZWN0Pj4+IGRlc2NyaXB0aW9uczsKKworI2RlZmluZSBBRERfRVhQRVJJTUVOVEFMX1BSRUZF
UkVOQ0VfREVTQ1JJUFRJT04oS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVm
YXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBc
CisgICAgYXBpRGVzY3JpcHRpb24gPSBBUEk6OkV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9y
OjpjcmVhdGUoSHVtYW5SZWFkYWJsZU5hbWUsICNLZXlVcHBlciwgSHVtYW5SZWFkYWJsZURlc2Ny
aXB0aW9uKTsgXAorICAgIGRlc2NyaXB0aW9ucy5nZXQoKS5hcHBlbmQoYXBpRGVzY3JpcHRpb24p
OyBcCisKKyAgICBpZiAoIWRlc2NyaXB0aW9ucy5nZXQoKS5zaXplKCkpIHsKKworICAgICAgICBS
ZWZQdHI8QVBJOjpFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcj4gYXBpRGVzY3JpcHRpb247
CisKKyAgICAgICAgRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVO
Q0UoQUREX0VYUEVSSU1FTlRBTF9QUkVGRVJFTkNFX0RFU0NSSVBUSU9OKQorCisgICAgfQorCisj
dW5kZWYgQUREX0VYUEVSSU1FTlRBTF9QUkVGRVJFTkNFX0RFU0NSSVBUSU9OCisKKyAgICByZXR1
cm4gZGVzY3JpcHRpb25zOworfQorCitWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4gV2ViUHJl
ZmVyZW5jZXM6OmV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ycygpCit7CisgICAgcmV0dXJu
IGdsb2JhbEV4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ycygpOworfQorCitib29sIFdlYlBy
ZWZlcmVuY2VzOjpwcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShjb25zdCBTdHJpbmcm
IGtleSkKK3sKKyNkZWZpbmUgQ0FMTF9FWFBFUklNRU5UQUxfR0VUVEVSKEtleVVwcGVyLCBLZXlM
b3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAorICAgIGlmIChrZXkgPT0gI0tleVVwcGVyKSBcCisg
ICAgICAgIHJldHVybiBLZXlMb3dlcigpOyBcCisKK0ZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5U
QUxfRkVBVFVSRV9QUkVGRVJFTkNFKENBTExfRVhQRVJJTUVOVEFMX0dFVFRFUikKKworI3VuZGVm
IENBTExfRVhQRVJJTUVOVEFMX0dFVFRFUgorCisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lk
IFdlYlByZWZlcmVuY2VzOjpzZXRQcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShjb25z
dCBTdHJpbmcmIGtleSwgYm9vbCB2YWx1ZSkKK3sKKyNkZWZpbmUgQ0FMTF9FWFBFUklNRU5UQUxf
U0VUVEVSKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwg
SHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAorICAgIGlmIChr
ZXkgPT0gI0tleVVwcGVyKSBcCisgICAgICAgIHNldCMjS2V5VXBwZXIodmFsdWUpOyBcCisKKyAg
ICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShDQUxMX0VY
UEVSSU1FTlRBTF9TRVRURVIpCisKKyN1bmRlZiBDQUxMX0VYUEVSSU1FTlRBTF9TRVRURVIKK30K
KwogYm9vbCBXZWJQcmVmZXJlbmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVCcm93c2luZygp
CiB7CiAgICAgcmV0dXJuIHByaXZhdGVCcm93c2luZ1BhZ2VDb3VudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKaW5kZXggMDE4MTczODc4MWExN2U5MDZmOWU4OGE5
MjllMTEwZGZiZjdiZDI0Ni4uMDRlNzVjNjc5M2Y5ZGNkODlmMTk0ODBiMGMwNWQ0NWZlYmY1ZmFl
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2LDYg
KzI2LDcgQEAKICNpZm5kZWYgV2ViUHJlZmVyZW5jZXNfaAogI2RlZmluZSBXZWJQcmVmZXJlbmNl
c19oCiAKKyNpbmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oIgogI2lu
Y2x1ZGUgIkFQSU9iamVjdC5oIgogI2luY2x1ZGUgIkZvbnRTbW9vdGhpbmdMZXZlbC5oIgogI2lu
Y2x1ZGUgIldlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCIKQEAgLTM0LDcgKzM1LDcgQEAKICNp
bmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2Rl
ZmluZSBERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlM
b3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgXAorI2RlZmluZSBERUNMQVJFX1BS
RUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUs
IFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbikgXAogICAgIHZvaWQgc2V0IyNLZXlVcHBlcihjb25zdCBUeXBlJiB2YWx1ZSk7IFwK
ICAgICBUeXBlIEtleUxvd2VyKCkgY29uc3Q7CiAKQEAgLTU5LDE0ICs2MCwxMyBAQCBwdWJsaWM6
CiAKICAgICBjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3RvcmU7IH0KIAotI2RlZmluZSBERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRU
RVJTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgXAot
ICAgIHZvaWQgc2V0IyNLZXlVcHBlcihjb25zdCBUeXBlJiB2YWx1ZSk7IFwKLSAgICBUeXBlIEtl
eUxvd2VyKCkgY29uc3Q7IFwKLQogICAgIEZPUl9FQUNIX1dFQktJVF9QUkVGRVJFTkNFKERFQ0xB
UkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMpCiAgICAgRk9SX0VBQ0hfV0VCS0lUX0RF
QlVHX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VUVEVSUykKKyAg
ICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShERUNMQVJF
X1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQogCi0jdW5kZWYgREVDTEFSRV9QUkVGRVJF
TkNFX0dFVFRFUl9BTkRfU0VUVEVSUworICAgIHN0YXRpYyBWZWN0b3I8UmVmUHRyPEFQSTo6T2Jq
ZWN0Pj4gZXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JzKCk7CisgICAgYm9vbCBwcmVmZXJl
bmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHNldFBy
ZWZlcmVuY2VGb3JFeHBlcmltZW50YWxGZWF0dXJlKGNvbnN0IFN0cmluZyYsIGJvb2wpOwogCiAg
ICAgLy8gRXhwb3NlZCBmb3IgV2ViS2l0VGVzdFJ1bm5lciB1c2Ugb25seS4KICAgICB2b2lkIGZv
cmNlVXBkYXRlKCkgeyB1cGRhdGUoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XZWJQcmVmZXJlbmNlc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMubW0KaW5kZXggMmZhMzUyZTQyNjM4ZWExNjY4MDM2Zjk5
MDEzODNhNzQ5MTZiNGQ2MC4uOWFkODA5NTIyYjYyOWIzZWE5YzBmMGFhZjAzMDhkZTFlMzRjMzM3
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNl
c01hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2Vz
TWFjLm1tCkBAIC0xNDQsOSArMTQ0LDEwIEBAIHN0YXRpYyB2b2lkIHNldERlYnVnVUludDMyVmFs
dWVJZkluVXNlckRlZmF1bHRzKGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QKIAogdm9p
ZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1Jbml0aWFsaXplU3RvcmUoKQogewotI2RlZmluZSBJ
TklUSUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0VfRlJPTV9OU1VTRVJERUZBVUxUUyhLZXlVcHBlciwg
S2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUpIFwKKyNkZWZpbmUgSU5JVElB
TElaRV9ERUJVR19QUkVGRVJFTkNFX0ZST01fTlNVU0VSREVGQVVMVFMoS2V5VXBwZXIsIEtleUxv
d2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVt
YW5SZWFkYWJsZURlc2NyaXB0aW9uKSBcCiAgICAgc2V0RGVidWcjI1R5cGVOYW1lIyNWYWx1ZUlm
SW5Vc2VyRGVmYXVsdHMobV9pZGVudGlmaWVyLCBtX2tleVByZWZpeCwgbV9nbG9iYWxEZWJ1Z0tl
eVByZWZpeCwgV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2VyIyNLZXkoKSwgbV9zdG9yZSk7CiAK
KyAgICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShJTklU
SUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0VfRlJPTV9OU1VTRVJERUZBVUxUUykKICAgICBGT1JfRUFD
SF9XRUJLSVRfREVCVUdfUFJFRkVSRU5DRShJTklUSUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0VfRlJP
TV9OU1VTRVJERUZBVUxUUykKIAogI3VuZGVmIElOSVRJQUxJWkVfREVCVUdfUFJFRkVSRU5DRV9G
Uk9NX05TVVNFUkRFRkFVTFRTCkBAIC0xNTQsNyArMTU1LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNl
czo6cGxhdGZvcm1Jbml0aWFsaXplU3RvcmUoKQogICAgIGlmICghbV9pZGVudGlmaWVyKQogICAg
ICAgICByZXR1cm47CiAKLSNkZWZpbmUgSU5JVElBTElaRV9QUkVGRVJFTkNFX0ZST01fTlNVU0VS
REVGQVVMVFMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVl
KSBcCisjZGVmaW5lIElOSVRJQUxJWkVfUFJFRkVSRU5DRV9GUk9NX05TVVNFUkRFRkFVTFRTKEtl
eVVwcGVyLCBLZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFk
YWJsZU5hbWUsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAogICAgIFR5cGUgdXNlciMjS2V5
VXBwZXIjI1ZhbHVlOyBcCiAgICAgaWYgKHBsYXRmb3JtR2V0IyNUeXBlTmFtZSMjVXNlclZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCksIHVzZXIjI0tleVVwcGVy
IyNWYWx1ZSkpIFwKICAgICAgICAgbV9zdG9yZS5zZXQjI1R5cGVOYW1lIyNWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB1c2VyIyNLZXlVcHBlciMjVmFsdWUp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGI2NTJiYmNmZDI4NzczNDM0NmNhNmVjNzMyOTg2NjhlNDM5ZjE5ZjYuLjZkNjVmYWVm
OTdlMDhiN2UxNTM1Njk5MTY3ZGYyYWQzNmFlNmE2YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcxMiw2ICs3MTIsMTIgQEAK
IAkJMzEzMTI2MUYxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzEzMTI2MUExNDhGRjgyQjAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlci5oICovOyB9OwogCQkzMTMxMjYyMDE0OEZGODJDMDBCQTJBMzkgLyogV2ViTm90
aWZpY2F0aW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTMxMjYxQjE0OEZGODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFu
YWdlci5jcHAgKi87IH07CiAJCTMxMzEyNjIxMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAzMTMxMjYxQzE0OEZGODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5o
ICovOyB9OworCQkzMTdGRTdCRjFDNDg3NUY4MDBBMENBODkgLyogV0tFeHBlcmltZW50YWxGZWF0
dXJlRGVzY3JpcHRvclJlZi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzE3RkU3QkMxQzQ4NzVFNDAwQTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVy
ZURlc2NyaXB0b3JSZWYuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQkzMTdGRTdDNTFDNDg3QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVh
dHVyZURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJl
RGVzY3JpcHRvci5oICovOyB9OworCQkzMTdGRTdDNjFDNDg3QTcxMDBBMENBODkgLyogQVBJRXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLmNwcCAqLzsgfTsKKwkJMzE3RkU3Q0QxQzQ4N0RBRTAw
QTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ySW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxN0ZFN0M5MUM0ODdE
OUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvckludGVybmFsLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzE3RkU3
Q0UxQzQ4N0RCODAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3Qzgx
QzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLm1tICov
OyB9OworCQkzMTdGRTdDRjFDNDg3REJEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVy
ZURlc2NyaXB0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTMxOEJFMTcxMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTcwMTQ3
NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMThCRTE3NTE0NzQzREQ3MDBBOEZC
QjIgLyogV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxOEJFMTc0MTQ3NDNERDYwMEE4RkJCMiAvKiBXS05vdGlm
aWNhdGlvbk1hbmFnZXIuY3BwICovOyB9OwogCQkzMThCRTE3NzE0NzQzRTYwMDBBOEZCQjIgLyog
V0tOb3RpZmljYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzE4QkUxNzYxNDc0M0U2MDAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uLmNwcCAq
LzsgfTsKQEAgLTI3MDksNiArMjcxNSwxMyBAQAogCQkzMTMxMjYxQzE0OEZGODJCMDBCQTJBMzkg
LyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxMzEyNjFEMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNjA3RjM4MTk2Mjcw
MDIwMDlCODdEQSAvKiBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0JCMUM0ODc1RTQwMEEwQ0E4OSAvKiBXS0V4cGVyaW1l
bnRhbEZlYXR1cmVEZXNjcmlwdG9yUmVmLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JSZWYuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMTdGRTdCQzFDNDg3NUU0MDBBMENBODkgLyogV0tFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yUmVmLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0MyMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmlt
ZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMTdGRTdDNzFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVh
dHVyZURlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzE3RkU3QzgxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNj
cmlwdG9yLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gX1dLRXhw
ZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxN0ZFN0M5MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRvckludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ySW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE4QkUxNzAxNDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFu
YWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS05vdGlmaWNhdGlvbk1h
bmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE4QkUxNzQxNDc0M0RENjAw
QThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzMThCRTE3NjE0NzQzRTYwMDBBOEZCQjIgLyogV0tOb3RpZmljYXRp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tOb3RpZmljYXRp
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTAxMyw2ICs1MDI2LDkgQEAK
IAkJCQkzNzlBODczQjE4QkJGRjA3MDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbkludGVybmFs
LmggKi8sCiAJCQkJMUFEMDFCQzcxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9yUmVjb3ZlcnlB
dHRlbXB0aW5nLmggKi8sCiAJCQkJMUFEMDFCQzYxOTA1RDM3RTAwQzlDNDVGIC8qIF9XS0Vycm9y
UmVjb3ZlcnlBdHRlbXB0aW5nLm1tICovLAorCQkJCTMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAv
KiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oICovLAorCQkJCTMxN0ZFN0M4MUM0
ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5tbSAqLywK
KwkJCQkzMTdGRTdDOTFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZURl
c2NyaXB0b3JJbnRlcm5hbC5oICovLAogCQkJCTAwNUQxNThFMThFNEM0RUIwMDczNDYxOSAvKiBf
V0tGaW5kRGVsZWdhdGUuaCAqLywKIAkJCQkyREVBQzVDRTFBQzM2OEJCMDBBMTk1RDggLyogX1dL
RmluZE9wdGlvbnMuaCAqLywKIAkJCQkyRTdBOTQ0OTFCQkQ5NUM2MDA5NDU1NDcgLyogX1dLRm9j
dXNlZEVsZW1lbnRJbmZvLmggKi8sCkBAIC01OTk0LDYgKzYwMTAsOCBAQAogCQkJCTA3NkU4ODRE
MUExM0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5oICovLAogCQkJCTgzODkx
QjYyMUE2OEIzNDIwMDMwRjM4NiAvKiBBUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oICovLAog
CQkJCTFGN0QzNkMwMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oICovLAor
CQkJCTMxN0ZFN0MxMUM0ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVz
Y3JpcHRvci5jcHAgKi8sCisJCQkJMzE3RkU3QzIxQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVy
aW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yLmggKi8sCiAJCQkJMDBCOTY2MTUxOEUyNENCQTAwQ0Ux
Rjg4IC8qIEFQSUZpbmRDbGllbnQuaCAqLywKIAkJCQkyREQ2N0EyRDFCRDgxOTczMDA1M0IyNTEg
LyogQVBJRmluZE1hdGNoZXNDbGllbnQuaCAqLywKIAkJCQkzN0UyNUQ2RDE4RkRFNUQ2MDA1RDNB
MDAgLyogQVBJRm9ybUNsaWVudC5oICovLApAQCAtNjA3Miw2ICs2MDkwLDggQEAKIAkJCQk1MThB
Q0YxMDEyQjAxNUY4MDBCMDRCODMgLyogV0tDcmVkZW50aWFsVHlwZXMuaCAqLywKIAkJCQkxQUI3
RDc4QzEyODhDRDlBMDBDRkQwOEMgLyogV0tEb3dubG9hZC5jcHAgKi8sCiAJCQkJMUFCN0Q3OEIx
Mjg4Q0Q5QTAwQ0ZEMDhDIC8qIFdLRG93bmxvYWQuaCAqLywKKwkJCQkzMTdGRTdCQjFDNDg3NUU0
MDBBMENBODkgLyogV0tFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvclJlZi5jcHAgKi8sCisJ
CQkJMzE3RkU3QkMxQzQ4NzVFNDAwQTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2Ny
aXB0b3JSZWYuaCAqLywKIAkJCQlCQ0U0Njk1NzEyMTRFREY0MDAwQjk4RUIgLyogV0tGb3JtU3Vi
bWlzc2lvbkxpc3RlbmVyLmNwcCAqLywKIAkJCQlCQ0U0Njk1ODEyMTRFREY0MDAwQjk4RUIgLyog
V0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggKi8sCiAJCQkJQkNEMDEzOTgxMTBGQTQyMDAwM0I4
QTY3IC8qIFdLRnJhbWUuY3BwICovLApAQCAtNzU4NSw2ICs3NjA1LDcgQEAKIAkJCQkyREU2OTQz
RTE4QkQyQTY4MDA1QzE1RTUgLyogU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MjcyQjI4QjE0MDY5ODVEMDA5NkE1RDAgLyogU3RhdGlz
dGljc0RhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNEJERUQzMTZDOThFREQwMEU0RTI1RSAv
KiBTdGF0aXN0aWNzUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE3RkU3Q0QxQzQ4N0RB
RTAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9ySW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBRDMzMDZGMTZCMUQ5OTEwMDRGNjBFNyAvKiBTdG9yYWdlQXJl
YUltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQ0VDRDI1MTcxNjJEQjEwMDFGQzlFRiAvKiBT
dG9yYWdlQXJlYU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEzMzRERUUxNkRFOEY4ODAwNkE4
RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtNzcwMyw2
ICs3NzI0LDcgQEAKIAkJCQlCQzlCQTUwNTE2OTdDNDUzMDBFNDQ2MTYgLyogV2ViS2l0MkluaXRp
YWxpemUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjI4MEM3MTkxOTk1MEMwMDZBRDlGOSAvKiBX
ZWJLaXRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDAwM0E1MzE5RDQ5QjVEMDA1QUJD
RTAgLyogV2ViTWVkaWFLZXlTdG9yYWdlTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzE3
RkU3QkYxQzQ4NzVGODAwQTBDQTg5IC8qIFdLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3JS
ZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5OEM0OEE2MUI2RkQ0QzMwMDE0NTEwMyAvKiBXZWJN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM5QzE4MzNDMUI3
NDAyNkQwMDcwMzZBNyAvKiBXZWJNZWRpYVNlc3Npb25Gb2N1c01hbmFnZXJDbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUM5Q0Q0Mzk4MUI0QjAwMUQwMDIzOUUzMyAvKiBXZWJNZWRpYVNlc3Np
b25NZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC03NzY3LDYgKzc3ODksNyBAQAogCQkJCTUx
RjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzM2MUQ3MzE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVz
c2FnZUhhbmRsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ5MTFGRjRCNjUwMDAzMkIz
OSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxN0ZFN0M1MUM0
ODdBNkMwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlRGVzY3JpcHRvci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUE0ODMyRDcxQTlDREY5NjAwOEI0REZFIC8qIFdlYnNpdGVEYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTQ4MzJEMTFBOUJEQzJGMDA4QjRERkUgLyogV2Vic2l0ZURh
dGFSZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNTNDMkFBMUEzMjU3MzAwMDRFOEM3MCAv
KiBXZWJzaXRlRGF0YVN0b3JlLmggaW4gSGVhZGVycyAqLywKQEAgLTgxMTAsNiArODEzMyw3IEBA
CiAJCQkJMjZGOUE4M0IxOEEzNDY4MTAwQUVCODhBIC8qIFdLV2ViVmlld1ByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRDYwRjVFMThFMjBGNEMwMDIwQzAzNCAvKiBXS1dpbmRvd0ZlYXR1
cmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUQ2MEY2MDE4RTIwRjc0MDAyMEMwMzQgLyogV0tX
aW5kb3dGZWF0dXJlc0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMTdGRTdDRjFDNDg3
REJEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBN0MwREY3MUI3RDFGMTAwMEE5Qjg0OCAvKiBXS1dpbmRvd0ZlYXR1cmVz
UmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFQ0RFODE2QjY0MTY4MDAwNDdBMUEgLyogWFBD
U2VydmljZUVudHJ5UG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKQEAgLTkwNDQsNiArOTA2
OCw3IEBACiAJCQkJMUEwMDJENDgxOTZCMzQ1RDAwQjlBRDQ0IC8qIFNlc3Npb25TdGF0ZUNvZGlu
Zy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNzI4NDQ4MTk1OUY4MDQwMDA3QkNFNSAvKiBTZXNz
aW9uU3RhdGVDb252ZXJzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc1M0UzRTBEMTg4NzM5
ODUwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTdG
RTdDNjFDNDg3QTcxMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2NDIwRTQxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJl
YWJsZUJpdG1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDMDFBMjYwMTEyNjYyRjIxMDBDOUVE
NTUgLyogU2hhcmVhYmxlQml0bWFwQ0cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDQzUwRjEx
Q0JDMzgxRDAwM0M3RDAzIC8qIFdLT3BlblBhbmVsUGFyYW1ldGVycy5tbSBpbiBTb3VyY2VzICov
LApAQCAtOTI2MCw2ICs5Mjg1LDcgQEAKIAkJCQlCQ0VFN0FEMDEyODE3OTg4MDA5ODI3REEgLyog
V2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
MUUwOTMzMTg4NjFEMzgwMEQyREM0OSAvKiBXZWJQcm9ncmVzc1RyYWNrZXJDbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTEyRjU4OUMxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYlByb3RlY3Rp
b25TcGFjZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkzMTdGRTdDRTFDNDg3REI4MDBBMENBODkg
LyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZURlc2NyaXB0b3IubW0gaW4gU291cmNlcyAqLywKIAkJ
CQlBMUM1MTJDODE5MDY1NkU1MDA0NDg5MTQgLyogV2ViUXVpY2tMb29rSGFuZGxlQ2xpZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTM3OTQ4NDAzMTUwQzM1MDYwMEU1MkNFOSAvKiBXZWJSZW5k
ZXJMYXllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcg
LyogV2ViUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGVhZGEzMzA3N2ViMmIyMjcxMzk3
ZGM5MWUxMzUyYWM3YmNjMmQ1M2IuLmU3ZWE3ODBmNDRhZjI3MzI2OGVlNmE0N2I5MmQ1ZTQyN2E4
MDlmY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTI4NDIsNyArMjg0Miw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgLy8gYnV0IHdlIGN1cnJlbnRs
eSBkb24ndCBtYXRjaCB0aGUgbmFtaW5nIG9mIFdlYkNvcmUgZXhhY3RseSBzbyB3ZSBhcmUKICAg
ICAvLyBoYW5kcm9sbGluZyB0aGUgYm9vbGVhbiBhbmQgaW50ZWdlciBwcmVmZXJlbmNlcyB1bnRp
bCB0aGF0IGlzIGZpeGVkLgogCi0jZGVmaW5lIElOSVRJQUxJWkVfU0VUVElOR1MoS2V5VXBwZXIs
IEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBzZXR0aW5ncy5zZXQjI0tl
eVVwcGVyKHN0b3JlLmdldCMjVHlwZU5hbWUjI1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpLZXlMb3dlciMjS2V5KCkpKTsKKyNkZWZpbmUgSU5JVElBTElaRV9TRVRUSU5HUyhLZXlVcHBl
ciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUsIEh1bWFuUmVhZGFibGVO
YW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIHNldHRpbmdzLnNldCMjS2V5VXBwZXIoc3Rv
cmUuZ2V0IyNUeXBlTmFtZSMjVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2Vy
IyNLZXkoKSkpOwogCiAgICAgRk9SX0VBQ0hfV0VCS0lUX1NUUklOR19QUkVGRVJFTkNFKElOSVRJ
QUxJWkVfU0VUVElOR1MpCiAKQEAgLTMxMDYsNyArMzEwNiw3IEBAIHZvaWQgV2ViUGFnZTo6dXBk
YXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAjaWYgRU5B
QkxFKERPV05MT0FEX0FUVFJJQlVURSkKICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFy
ZWRGZWF0dXJlcygpLnNldERvd25sb2FkQXR0cmlidXRlRW5hYmxlZChzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmRvd25sb2FkQXR0cmlidXRlRW5hYmxlZEtleSgp
KSk7CiAjZW5kaWYKLSAgICAKKwogICAgIGJvb2wgcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCA9
IHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6cGFnZVZpc2liaWxp
dHlCYXNlZFByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWRLZXkoKSk7CiAgICAgaWYgKG1fcHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZCAhPSBwcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkKSB7CiAgICAg
ICAgIG1fcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCA9IHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJs
ZWQ7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXgg
OGE3MzAzZmYyZjI2MzAyODFkZjQ2NzkwY2M2OWU1M2I0OTAwYWY5MC4uYmJjODAzMzJkZDMwOGM0
OWQ2NTA1NGJiYTU1ZjhlOGMyY2NiNjUxYiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisr
KyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE2LTA0LTE1ICBEZWFuIEph
Y2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgU1BJIHRvIGV4cG9ydCBhIGRp
Y3Rpb25hcnkgb2YgcnVudGltZSBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMzYy
MTY2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0IHRoZSBleHBlcmltZW50YWwgZmVhdHVyZXMgU1BJIG9uIFdLUHJlZmVyZW5jZXMuCisKKyAg
ICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QcmVmZXJlbmNlcy5tbToK
KwogMjAxNi0wNC0xNCAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYWtlIDxhIGRvd25sb2FkPiBhIHJ1bnRpbWUgZW5hYmxlZCBvcHRpb24KZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1ByZWZlcmVuY2VzLm1t
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUHJlZmVyZW5jZXMubW0K
aW5kZXggNWRlZTU4MWM5OGZkYjRmOGVkMjc1MTdjOTJiZjJiMTkwMGI3YWNhMC4uZmUyNzg2OGQ4
ZDc3M2ExMWI0MWE3ZmJiZjllNzVkYTQzMjk1ZmVhMiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUHJlZmVyZW5jZXMubW0KKysrIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUHJlZmVyZW5jZXMubW0KQEAgLTQxLDQgKzQx
LDE4IEBAIFRFU1QoV2ViS2l0MiwgRGVmYXVsdFdLUHJlZmVyZW5jZXMpCiAgICAgRVhQRUNUX1RS
VUUoW3ByZWZlcmVuY2VzIF9pc1N0YW5kYWxvbmVdKTsKIH0KIAorVEVTVChXZWJLaXQyLCBFeHBl
cmltZW50YWxGZWF0dXJlRGVzY3JpcHRvcnMpCit7CisgICAgTlNBcnJheTxfV0tFeHBlcmltZW50
YWxGZWF0dXJlRGVzY3JpcHRvciAqPiAqZmVhdHVyZURlc2NyaXB0b3JzID0gW1dLUHJlZmVyZW5j
ZXMgX2V4cGVyaW1lbnRhbEZlYXR1cmVEZXNjcmlwdG9yc107CisgICAgRVhQRUNUX05PVF9OVUxM
KGZlYXR1cmVEZXNjcmlwdG9ycyk7CisKKyAgICAvLyBTaW5jZSB0aGUgZmVhdHVyZXMgbWFya2Vk
IGFzIGV4cGVyaW1lbnRhbCBjYW4gY2hhbmdlLCB3ZSdsbAorICAgIC8vIGp1c3QgZXhlcmNpc2Ug
dGhlIEFQSSBieSBjYWxsaW5nIGl0IHdpdGggYm9ndXMga2V5cy4KKworICAgIFJldGFpblB0cjxX
S1ByZWZlcmVuY2VzPiBwcmVmZXJlbmNlcyA9IGFkb3B0TlMoW1tXS1ByZWZlcmVuY2VzIGFsbG9j
XSBpbml0XSk7CisgICAgRVhQRUNUX0ZBTFNFKFtwcmVmZXJlbmNlcyBfcHJlZmVyZW5jZUZvckV4
cGVyaW1lbnRhbEZlYXR1cmU6QCJib2d1c0ZlYXR1cmVLZXkiXSk7CisgICAgW3ByZWZlcmVuY2Vz
IF9zZXRQcmVmZXJlbmNlRm9yRXhwZXJpbWVudGFsRmVhdHVyZTpAImJvZ3VzRmVhdHVyZUtleSIg
dG9WYWx1ZTpZRVNdOworICAgIEVYUEVDVF9GQUxTRShbcHJlZmVyZW5jZXMgX3ByZWZlcmVuY2VG
b3JFeHBlcmltZW50YWxGZWF0dXJlOkAiYm9ndXNGZWF0dXJlS2V5Il0pOworfQorCiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>276538</attachid>
            <date>2016-04-15 19:03:25 -0700</date>
            <delta_ts>2016-04-16 10:40:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156645-20160416120336.patch</filename>
            <type>text/plain</type>
            <size>77586</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5NTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYjExYzczMjkwOWEyOTE5
YzliYWZlMTJiYTk4ODVmNDE4MjEwOTA1YS4uYTIxMWY4Mjc4ZjkzN2U4NDJjMmM1YWM0MGM2ZjM5
NWMwMTE1NTQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg3IEBACisyMDE2LTA0LTE1ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBOZXcgU1BJIHRvIGV4cG9ydCBh
IGRpY3Rpb25hcnkgb2YgcnVudGltZSBmZWF0dXJlcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2NjQ1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
MzYyMTY2Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgYSBuZXcgdHlwZSBvZiBQcmVmZXJlbmNlIGZvciBleHBlcmltZW50YWwgZmVhdHVyZXMg
c28gdGhhdCB3ZQorICAgICAgICBjYW4gZHluYW1pY2FsbHkgdG9nZ2xlIHRoZW0gZnJvbSBhIFdl
YktpdDIgaG9zdC4gVGhlc2UgYXJlIHNwZWNpYWwKKyAgICAgICAga2V5cyB0aGF0IGFyZSB0aWVk
IHRvIHJ1bnRpbWUgZmxhZ3MuIFRoZSBob3N0IHByb2Nlc3MgY2FuIGFzayBXZWJLaXQKKyAgICAg
ICAgZm9yIHRoZSBsaXN0IG9mIGtleXMsIGVhY2ggd2l0aCBhIHNtYWxsIGRlc2NyaXB0aW9uLCBp
biBvcmRlciB0bworICAgICAgICBkaXNwbGF5IFVJLgorCisgICAgICAgIC0gQWRkIEh1bWFuUmVh
ZGFibGVOYW1lIGFuZCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24gcGFyYW1ldGVycyB0byBvdXIK
KyAgICAgICAgICBtYWNyb3MsIHdoaWNoIGFyZSB1c2VkIHdoZW4gYnVpbGRpbmcgYSBFeHBlcmlt
ZW50YWxGZWF0dXJlLgorICAgICAgICAgIFRoZXNlIGFyZSBib3RoIGVtcHR5IHN0cmluZ3MgZm9y
IHRoZSBleGlzdGluZyBwcmVmZXJlbmNlcy4gQXQgc29tZQorICAgICAgICAgIHBvaW50IHdlIHNo
b3VsZCBwcm9iYWJseSBtb3ZlIGFsbCB0aGlzIHRvIGNvZGUgZ2VuZXJhdGlvbiByYXRoZXIKKyAg
ICAgICAgICB0aGFuIG1hY3Jvcywgc28gdGhhdCB3ZSBkb24ndCBoYXZlIHRvIGNhcnJ5IGFyb3Vu
ZCB1bnVzZWQgcGFyYW1ldGVycy4KKworICAgICAgICAtIEkndmUgaW5jbHVkZWQgdHdvIHNhbXBs
ZSBleHBlcmltZW50YWwgZmVhdHVyZXM6IFdlYkdMMiBhbmQgU2hhZG93RE9NLgorICAgICAgICAg
IFRoZXkgYXJlIG5vdCBhY3R1YWxseSBob29rZWQgdXAgdG8gdGhlIHJ1bnRpbWUgc2V0dGluZ3Mg
eWV0LCBidXQgaXRzCisgICAgICAgICAgcHJldHR5IGNsZWFyIGhvdyB0aGF0IHdpbGwgaGFwcGVu
LiBOb3RlIHRoYXQgdGhlc2UgYXJlIG5ldyBwcmVmZXJlbmNlcworICAgICAgICAgIHRoYXQgaGF2
ZSBhbiAiRXhwZXJpbWVudGFsIiBwcmVmaXguIFRoaXMgaXMgc28gdG9nZ2xpbmcgYW4gZXhwZXJp
bWVudGFsCisgICAgICAgICAgZmVhdHVyZSB0byBvZmYgd29uJ3QgY2F1c2UgdGhlIGZlYXR1cmUg
dG8gbm90IHdvcmsgb25jZSBpdCBiZWNvbWVzCisgICAgICAgICAgc3RhYmxlIGVub3VnaCB0byBl
bmFibGUgYnkgZGVmYXVsdC4gSW4gb3RoZXIgd29yZHMsIHdoZW4gaXQgbW92ZXMKKyAgICAgICAg
ICBvdXQgb2YgdGhlIGV4cGVyaW1lbnRhbCBzdGFnZSwgdGhlIGV4cGVyaW1lbnRhbCBmZWF0dXJl
IGZsYWcgd2lsbCBiZQorICAgICAgICAgIHJlbW92ZWQsIGFuZCB5b3UnbGwgbm8gbG9uZ2VyIGNo
ZWNrIGZvciB2YWx1ZXMgd2l0aCB0aGF0IGtleS4KKworICAgICAgICAtIFRoZSBFeHBlcmltZW50
YWxGZWF0dXJlIG9iamVjdCBpcyB3aGF0IHRoZSBob3N0IHByb2Nlc3MKKyAgICAgICAgICB3aWxs
IHJlYWQgaW4gb3JkZXIgdG8gc2hvdyBzb21lIFVJLiBJdCBjb250YWlucyB0aGUgaHVtYW4gcmVh
ZGFibGUgaW5mbywKKyAgICAgICAgICBhcyB3ZWxsIGFzIHRoZSBhY3R1YWwga2V5IHRoYXQgY2Fu
IGJlIHVzZWQgdG8gcXVlcnkgYW5kIHRvZ2dsZSB0aGUKKyAgICAgICAgICBleHBlcmltZW50YWwg
ZmVhdHVyZS4KKworICAgICAgICAqIFNoYXJlZC9BUEkvQVBJT2JqZWN0Lmg6IEFkZCB0aGUgRXhw
ZXJpbWVudGFsRmVhdHVyZS4KKworICAgICAgICAqIFNoYXJlZC9Db2NvYS9BUElPYmplY3QubW06
CisgICAgICAgIChBUEk6Ok9iamVjdDo6bmV3T2JqZWN0KTogRXhwb3NlcyBhIHdyYXBwZXIgYXJv
dW5kIGEgX1dLRXhwZXJpbWVudGFsRmVhdHVyZSBPYmpDIHR5cGUuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOiBDaGFuZ2UgYWxsIHRoZSBleGlzdGluZyBt
YWNyb3MgdG8gdGFrZSB0aGUgbmV3CisgICAgICAgIHBhcmFtZXRlcnMsIGFuZCBhZGQgdGhlIGlu
aXRpYWwgZXhwZXJpbWVudGFsIGtleXMuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5j
ZXNLZXlzLmNwcDogQWRkIG5ldyBwYXJhbWV0ZXJzIHRvIGV4aXN0aW5nIG1hY3Jvcy4KKyAgICAg
ICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmg6IERpdHRvLgorICAgICAgICAqIFNoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcDogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OmRlZmF1
bHRzKToKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5j
cHA6IFRoZSBBUEkgc2lkZSBvZiB0aGUgRXhwZXJpbWVudGFsRmVhdHVyZS4KKyAgICAgICAgKEFQ
STo6RXhwZXJpbWVudGFsRmVhdHVyZTo6Y3JlYXRlKToKKyAgICAgICAgKEFQSTo6RXhwZXJpbWVu
dGFsRmVhdHVyZTo6RXhwZXJpbWVudGFsRmVhdHVyZSk6CisgICAgICAgIChBUEk6OkV4cGVyaW1l
bnRhbEZlYXR1cmU6On5FeHBlcmltZW50YWxGZWF0dXJlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcmVmZXJlbmNlcy5tbTogVGhlIGFjdHVhbCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUg
U1BJLgorICAgICAgICAoK1tXS1ByZWZlcmVuY2VzIF9leHBlcmltZW50YWxGZWF0dXJlc10pOiBD
cmVhdGUgYW5kIHJldHVybiBhIGxpc3Qgb2YgZmVhdHVyZSBkZXNjcmlwdG9ycy4KKyAgICAgICAg
KC1bV0tQcmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRmVhdHVyZTpdKTogR2V0IHRoZSB2YWx1ZS4K
KyAgICAgICAgKC1bV0tQcmVmZXJlbmNlcyBfc2V0RW5hYmxlZDpmb3JGZWF0dXJlOl0pOiBTZXQg
dGhlIHZhbHVlLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaDoKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFs
RmVhdHVyZS5oOiBUaGUgT2JqQyB2ZXJzaW9uLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbToKKyAgICAgICAgKC1bX1dLRXhwZXJpbWVudGFs
RmVhdHVyZSBkZWFsbG9jXSk6CisgICAgICAgICgtW19XS0V4cGVyaW1lbnRhbEZlYXR1cmUgZGVz
Y3JpcHRpb25dKToKKyAgICAgICAgKC1bX1dLRXhwZXJpbWVudGFsRmVhdHVyZSBuYW1lXSk6Cisg
ICAgICAgICgtW19XS0V4cGVyaW1lbnRhbEZlYXR1cmUga2V5XSk6CisgICAgICAgICgtW19XS0V4
cGVyaW1lbnRhbEZlYXR1cmUgZGV0YWlsc10pOgorICAgICAgICAoLVtfV0tFeHBlcmltZW50YWxG
ZWF0dXJlIF9hcGlPYmplY3RdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL19XS0V4
cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oOiBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgd3JhcHBl
ci4KKyAgICAgICAgKFdlYktpdDo6d3JhcHBlcik6CisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UHJlZmVyZW5jZXMuY3BwOiBUaGUgQysrIGltcGxlbWVudGF0aW9uIHRoYXQgcHJvdmlkZXMgdGhl
IGRhdGEgZm9yIHRoZSBPYmpDIEFQSS4KKyAgICAgICAgKFdlYktpdDo6Z2xvYmFsRXhwZXJpbWVu
dGFsRmVhdHVyZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6RXhwZXJpbWVu
dGFsRmVhdHVyZXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6aXNFbmFibGVk
Rm9yRmVhdHVyZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpzZXRFbmFibGVk
Rm9yRmVhdHVyZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tOiBVcGRhdGUgc29tZSBt
YWNyb3MuCisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpwbGF0Zm9ybUluaXRpYWxp
emVTdG9yZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOiBEaXR0
bworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKKyAgICAg
ICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZCB0aGUgbmV3IGZpbGVz
LgorCiAyMDE2LTA0LTE0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2UgPGEgZG93bmxvYWQ+IGEgcnVudGltZSBlbmFibGVkIG9wdGlvbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElPYmplY3QuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgKaW5kZXggN2Y5Zjc2MDc2OTMxNDFmODIzYTI1N2Q3
ODNkOTI5MjdiZWZmMmQ1YS4uZGRlZjNjMzdiY2VmNmMyY2Q0MmY2ODYzMDQzNmFiZTYxMTAyYjhm
OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9BUElPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCkBAIC0xMDcsNiArMTA3LDcg
QEAgcHVibGljOgogICAgICAgICBDb2xvclBpY2tlclJlc3VsdExpc3RlbmVyLAogICAgICAgICBD
b29raWVNYW5hZ2VyLAogICAgICAgICBEb3dubG9hZCwKKyAgICAgICAgRXhwZXJpbWVudGFsRmVh
dHVyZSwKICAgICAgICAgRm9ybVN1Ym1pc3Npb25MaXN0ZW5lciwKICAgICAgICAgRnJhbWUsCiAg
ICAgICAgIEZyYW1lSW5mbywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Db2Nv
YS9BUElPYmplY3QubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQ29jb2EvQVBJT2JqZWN0Lm1t
CmluZGV4IDE1NzE4OWU1MzAxODM5YzQ0NjRjMjNhM2YwODkwYmM4NDQ5ZmE3ZjIuLjUxYjE5YWE1
NmQ2MWY4MWNiYzYzMWE1OTkwMDhjZTEzNWU3Yjg4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9Db2NvYS9BUElPYmplY3QubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0NvY29hL0FQSU9iamVjdC5tbQpAQCAtNjQsNiArNjQsNyBAQAogI2ltcG9ydCAiV0tXaW5kb3dG
ZWF0dXJlc0ludGVybmFsLmgiCiAjaW1wb3J0ICJfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVybmFs
LmgiCiAjaW1wb3J0ICJfV0tEb3dubG9hZEludGVybmFsLmgiCisjaW1wb3J0ICJfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0ZyYW1lSGFuZGxlSW50ZXJuYWwu
aCIKICNpbXBvcnQgIl9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLUHJv
Y2Vzc1Bvb2xDb25maWd1cmF0aW9uSW50ZXJuYWwuaCIKQEAgLTE1MCw2ICsxNTEsMTAgQEAgdm9p
ZCogT2JqZWN0OjpuZXdPYmplY3Qoc2l6ZV90IHNpemUsIFR5cGUgdHlwZSkKICAgICAgICAgd3Jh
cHBlciA9IFtfV0tEb3dubG9hZCBhbGxvY107CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBU
eXBlOjpFeHBlcmltZW50YWxGZWF0dXJlOgorICAgICAgICB3cmFwcGVyID0gW19XS0V4cGVyaW1l
bnRhbEZlYXR1cmUgYWxsb2NdOworICAgICAgICBicmVhazsKKwogICAgIGNhc2UgVHlwZTo6RXJy
b3I6CiAgICAgICAgIHdyYXBwZXIgPSBOU0FsbG9jYXRlT2JqZWN0KFtXS05TRXJyb3Igc2VsZl0s
IHNpemUsIG51bGxwdHIpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCmluZGV4IGQ0ZDIwYWJmMzQ2YWY4Zjlj
MDRkODc3NjAwNzc2NzU4ZmYxZjNjZmMuLjM2ZWQ4M2NkYzFlMTA4ZTAwNTE0NjZjMmZhM2FhZWQ2
YjkyOWFkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c0RlZmluaXRpb25zLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
RGVmaW5pdGlvbnMuaApAQCAtOTgsMTgzICs5OCwxODggQEAKICNkZWZpbmUgREVGQVVMVF9DQU5W
QVNfVVNFU19BQ0NFTEVSQVRFRF9EUkFXSU5HIHRydWUKICNlbmRpZgogCi0vLyBtYWNybyhLZXlV
cHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lVXBwZXIsIFR5cGVOYW1lLCBEZWZhdWx0VmFsdWUpCisv
LyBtYWNybyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lVXBwZXIsIFR5cGVOYW1lLCBEZWZh
dWx0VmFsdWUsIEh1bWFuUmVhZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pCiAK
ICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAotICAgIG1h
Y3JvKEphdmFTY3JpcHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAotICAgIG1hY3JvKEphdmFTY3JpcHRNYXJrdXBFbmFibGVkLCBqYXZhU2NyaXB0TWFya3Vw
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKExvYWRzSW1hZ2VzQXV0b21h
dGljYWxseSwgbG9hZHNJbWFnZXNBdXRvbWF0aWNhbGx5LCBCb29sLCBib29sLCB0cnVlKSBcCi0g
ICAgbWFjcm8oTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9hZGluZ1ByZWZlcmVuY2UsIGxv
YWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKFBsdWdpbnNFbmFibGVkLCBwbHVnaW5zRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhKYXZhRW5hYmxlZCwgamF2YUVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oSmF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzLCBqYXZh
RW5hYmxlZEZvckxvY2FsRmlsZXMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oT2Zm
bGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkLCBvZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTG9jYWxTdG9yYWdlRW5h
YmxlZCwgbG9jYWxTdG9yYWdlRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3Jv
KERhdGFiYXNlc0VuYWJsZWQsIGRhdGFiYXNlc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwK
LSAgICBtYWNybyhYU1NBdWRpdG9yRW5hYmxlZCwgeHNzQXVkaXRvckVuYWJsZWQsIEJvb2wsIGJv
b2wsIHRydWUpIFwKLSAgICBtYWNybyhGcmFtZUZsYXR0ZW5pbmdFbmFibGVkLCBmcmFtZUZsYXR0
ZW5pbmdFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0ZSQU1FX0ZMQVRURU5JTkdfRU5BQkxF
RCkgXAotICAgIG1hY3JvKFByaXZhdGVCcm93c2luZ0VuYWJsZWQsIHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGV4dEFyZWFzQXJlUmVzaXph
YmxlLCB0ZXh0QXJlYXNBcmVSZXNpemFibGUsIEJvb2wsIGJvb2wsIERFRkFVTFRfVEVYVF9BUkVB
U19BUkVfUkVTSVpBQkxFKSBcCi0gICAgbWFjcm8oSmF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0
b21hdGljYWxseSwgamF2YVNjcmlwdENhbk9wZW5XaW5kb3dzQXV0b21hdGljYWxseSwgQm9vbCwg
Ym9vbCwgREVGQVVMVF9KQVZBU0NSSVBUX0NBTl9PUEVOX1dJTkRPV1NfQVVUT01BVElDQUxMWSkg
XAotICAgIG1hY3JvKEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZCwgaHlwZXJsaW5rQXVkaXRpbmdF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oTmVlZHNTaXRlU3BlY2lmaWNR
dWlya3MsIG5lZWRzU2l0ZVNwZWNpZmljUXVpcmtzLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAg
IG1hY3JvKEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEZvcmNlQ29tcG9zaXRp
bmdNb2RlLCBmb3JjZUNvbXBvc2l0aW5nTW9kZSwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBt
YWNybyhDYW52YXNVc2VzQWNjZWxlcmF0ZWREcmF3aW5nLCBjYW52YXNVc2VzQWNjZWxlcmF0ZWRE
cmF3aW5nLCBCb29sLCBib29sLCBERUZBVUxUX0NBTlZBU19VU0VTX0FDQ0VMRVJBVEVEX0RSQVdJ
TkcpIFwKLSAgICBtYWNybyhXZWJHTEVuYWJsZWQsIHdlYkdMRW5hYmxlZCwgQm9vbCwgYm9vbCwg
dHJ1ZSkgXAotICAgIG1hY3JvKEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZywgZm9yY2VTb2Z0
d2FyZVdlYkdMUmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKEFjY2Vs
ZXJhdGVkMmRDYW52YXNFbmFibGVkLCBhY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhDU1NBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQsIGNz
c0FuaW1hdGlvblRyaWdnZXJzRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3Jv
KFdlYkFuaW1hdGlvbnNFbmFibGVkLCB3ZWJBbmltYXRpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwg
ZmFsc2UpIFwKLSAgICBtYWNybyhDU1NSZWdpb25zRW5hYmxlZCwgY3NzUmVnaW9uc0VuYWJsZWQs
IEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhDU1NDb21wb3NpdGluZ0VuYWJsZWQsIGNz
c0NvbXBvc2l0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEZvcmNl
RlRQRGlyZWN0b3J5TGlzdGluZ3MsIGZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIEJvb2wsIGJv
b2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGFic1RvTGlua3MsIHRhYnNUb0xpbmtzLCBCb29sLCBi
b29sLCBERUZBVUxUX1dFQktJVF9UQUJTVE9MSU5LU19FTkFCTEVEKSBcCi0gICAgbWFjcm8oRE5T
UHJlZmV0Y2hpbmdFbmFibGVkLCBkbnNQcmVmZXRjaGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZh
bHNlKSBcCi0gICAgbWFjcm8oRE9NVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQsIGRvbVRpbWVyc1Ro
cm90dGxpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oV2ViQXJjaGl2
ZURlYnVnTW9kZUVuYWJsZWQsIHdlYkFyY2hpdmVEZWJ1Z01vZGVFbmFibGVkLCBCb29sLCBib29s
LCBmYWxzZSkgXAotICAgIG1hY3JvKExvY2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIGxv
Y2FsRmlsZUNvbnRlbnRTbmlmZmluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAg
bWFjcm8oVXNlc1BhZ2VDYWNoZSwgdXNlc1BhZ2VDYWNoZSwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAot
ICAgIG1hY3JvKFBhZ2VDYWNoZVN1cHBvcnRzUGx1Z2lucywgcGFnZUNhY2hlU3VwcG9ydHNQbHVn
aW5zLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oQXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsZWQsIGF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0g
ICAgbWFjcm8oUGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkLCBwYWdpbmF0ZUR1cmluZ0xheW91
dEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oRE9NUGFzdGVBbGxvd2Vk
LCBkb21QYXN0ZUFsbG93ZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oSmF2YVNj
cmlwdENhbkFjY2Vzc0NsaXBib2FyZCwgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCwgQm9v
bCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaG91bGRQcmludEJhY2tncm91bmRzLCBzaG91
bGRQcmludEJhY2tncm91bmRzLCBCb29sLCBib29sLCBERUZBVUxUX1NIT1VMRF9QUklOVF9CQUNL
R1JPVU5EUykgXAotICAgIG1hY3JvKEZ1bGxTY3JlZW5FbmFibGVkLCBmdWxsU2NyZWVuRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBc3luY2hyb25vdXNTcGVsbENoZWNr
aW5nRW5hYmxlZCwgYXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oV2ViU2VjdXJpdHlFbmFibGVkLCB3ZWJTZWN1cml0eUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhBbGxvd1VuaXZlcnNhbEFjY2Vzc0Zy
b21GaWxlVVJMcywgYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHMsIEJvb2wsIGJvb2ws
IGZhbHNlKSBcCi0gICAgbWFjcm8oQWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzLCBhbGxvd0Zp
bGVBY2Nlc3NGcm9tRmlsZVVSTHMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQVZG
b3VuZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29sLCBib29sLCB0cnVl
KSBcCi0gICAgbWFjcm8oQVZGb3VuZGF0aW9uTlNVUkxTZXNzaW9uRW5hYmxlZCwgaXNBVkZvdW5k
YXRpb25OU1VSTFNlc3Npb25FbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8o
UmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVG
b3JNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCBERUZBVUxUX1JFUVVJUkVTX1VTRVJfR0VTVFVS
RV9GT1JfTUVESUFfUExBWUJBQ0spIFwKLSAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9y
VmlkZW9QbGF5YmFjaywgcmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2ws
IGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oUmVxdWlyZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxh
eWJhY2ssIHJlcXVpcmVzVXNlckdlc3R1cmVGb3JBdWRpb1BsYXliYWNrLCBCb29sLCBib29sLCBm
YWxzZSkgXAotICAgIG1hY3JvKE1haW5Db250ZW50VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQs
IG1haW5Db250ZW50VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCi0gICAgbWFjcm8oQWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaywgYWxsb3dzSW5saW5lTWVk
aWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9BTExPV1NfSU5MSU5FX01FRElBX1BMQVlC
QUNLKSBcCi0gICAgbWFjcm8oSW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGUsIGlubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
LCBCb29sLCBib29sLCBERUZBVUxUX0lOTElORV9NRURJQV9QTEFZQkFDS19SRVFVSVJFU19QTEFZ
U19JTkxJTkVfQVRUUklCVVRFKSBcCi0gICAgbWFjcm8oSW52aXNpYmxlQXV0b3BsYXlOb3RQZXJt
aXR0ZWQsIGludmlzaWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBCb29sLCBib29sLCBERUZBVUxU
X0lOVklTSUJMRV9BVVRPUExBWV9OT1RfUEVSTUlUVEVEKSBcCi0gICAgbWFjcm8oTWVkaWFEYXRh
TG9hZHNBdXRvbWF0aWNhbGx5LCBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHksIEJvb2wsIGJv
b2wsIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19BVVRPTUFUSUNBTExZKSBcCi0gICAgbWFjcm8o
QWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2ssIGFsbG93c1BpY3R1cmVJblBpY3R1
cmVNZWRpYVBsYXliYWNrLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oQWxsb3dzQWly
UGxheUZvck1lZGlhUGxheWJhY2ssIGFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrLCBCb29s
LCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oTWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29t
LCBtZWRpYUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20sIEJvb2wsIGJvb2wsIERFRkFVTFRfTUVE
SUFfQ09OVFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00pIFwKLSAgICBtYWNybyhJbnNwZWN0b3JT
dGFydHNBdHRhY2hlZCwgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQsIEJvb2wsIGJvb2wsIHRydWUp
IFwKLSAgICBtYWNybyhTaG93c1Rvb2xUaXBPdmVyVHJ1bmNhdGVkVGV4dCwgc2hvd3NUb29sVGlw
T3ZlclRydW5jYXRlZFRleHQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTW9ja1Nj
cm9sbGJhcnNFbmFibGVkLCBtb2NrU2Nyb2xsYmFyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCi0gICAgbWFjcm8oV2ViQXVkaW9FbmFibGVkLCB3ZWJBdWRpb0VuYWJsZWQsIEJvb2wsIGJv
b2wsIHRydWUpIFwKLSAgICBtYWNybyhBdHRhY2htZW50RWxlbWVudEVuYWJsZWQsIGF0dGFjaG1l
bnRFbGVtZW50RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTdXBwcmVz
c2VzSW5jcmVtZW50YWxSZW5kZXJpbmcsIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZywg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhCYWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5h
YmxlZCwgYmFja3NwYWNlS2V5TmF2aWdhdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRf
QkFDS1NQQUNFX0tFWV9OQVZJR0FUSU9OX0VOQUJMRUQpIFwKLSAgICBtYWNybyhDYXJldEJyb3dz
aW5nRW5hYmxlZCwgY2FyZXRCcm93c2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0g
ICAgbWFjcm8oU2hvdWxkRGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheVN1YnRpdGxlcywg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaG91bGREaXNwbGF5Q2FwdGlvbnMsIHNo
b3VsZERpc3BsYXlDYXB0aW9ucywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhTaG91
bGREaXNwbGF5VGV4dERlc2NyaXB0aW9ucywgc2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTm90aWZpY2F0aW9uc0VuYWJsZWQsIG5v
dGlmaWNhdGlvbnNFbmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oU2hvdWxk
UmVzcGVjdEltYWdlT3JpZW50YXRpb24sIHNob3VsZFJlc3BlY3RJbWFnZU9yaWVudGF0aW9uLCBC
b29sLCBib29sLCBERUZBVUxUX1NIT1VMRF9SRVNQRUNUX0lNQUdFX09SSUVOVEFUSU9OKSBcCi0g
ICAgbWFjcm8oV2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvciwgd2FudHNCYWxh
bmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvciwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBt
YWNybyhSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkLCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oRGlhZ25vc3RpY0xvZ2dpbmdF
bmFibGVkLCBkaWFnbm9zdGljTG9nZ2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0g
ICAgbWFjcm8oQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkLCBhc3luY2hy
b25vdXNQbHVnaW5Jbml0aWFsaXphdGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0g
ICAgbWFjcm8oQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkRm9yQWxsUGx1
Z2lucywgYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkRm9yQWxsUGx1Z2lu
cywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhBcnRpZmljaWFsUGx1Z2luSW5pdGlh
bGl6YXRpb25EZWxheUVuYWJsZWQsIGFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5
RW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhUYWJUb0xpbmtzRW5hYmxl
ZCwgdGFiVG9MaW5rc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oSW50
ZXJhY3RpdmVGb3JtVmFsaWRhdGlvbkVuYWJsZWQsIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25F
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNjcm9sbGluZ1BlcmZvcm1h
bmNlTG9nZ2luZ0VuYWJsZWQsIHNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQsIEJv
b2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBzY3Jv
bGxBbmltYXRvckVuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklN
QVRPUl9FTkFCTEVEKSBcCi0gICAgbWFjcm8oRm9yY2VVcGRhdGVTY3JvbGxiYXJzT25NYWluVGhy
ZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nLCBmb3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJl
YWRGb3JQZXJmb3JtYW5jZVRlc3RpbmcsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8o
Q29va2llRW5hYmxlZCwgY29va2llRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1h
Y3JvKFBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQsIHBsdWdJblNuYXBzaG90dGluZ0VuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU25hcHNob3RBbGxQbHVnSW5zLCBzbmFw
c2hvdEFsbFBsdWdJbnMsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQXV0b3N0YXJ0
T3JpZ2luUGx1Z0luU25hcHNob3R0aW5nRW5hYmxlZCwgYXV0b3N0YXJ0T3JpZ2luUGx1Z0luU25h
cHNob3R0aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFByaW1hcnlQ
bHVnSW5TbmFwc2hvdERldGVjdGlvbkVuYWJsZWQsIHByaW1hcnlQbHVnSW5TbmFwc2hvdERldGVj
dGlvbkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhQREZQbHVnaW5FbmFi
bGVkLCBwZGZQbHVnaW5FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1BERlBMVUdJTl9FTkFC
TEVEKSBcCi0gICAgbWFjcm8oVXNlc0VuY29kaW5nRGV0ZWN0b3IsIHVzZXNFbmNvZGluZ0RldGVj
dG9yLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRleHRBdXRvc2l6aW5nRW5hYmxl
ZCwgdGV4dEF1dG9zaXppbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3Jv
KEFnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5hYmxlZCwgYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25F
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFRlbXBvcmFyeVRpbGVDb2hv
cnRSZXRlbnRpb25FbmFibGVkLCB0ZW1wb3JhcnlUaWxlQ29ob3J0UmV0ZW50aW9uRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9URU1QT1JBUllfVElMRV9DT0hPUlRfUkVURU5USU9OX0VOQUJM
RUQpIFwKLSAgICBtYWNybyhRVEtpdEVuYWJsZWQsIGlzUVRLaXRFbmFibGVkLCBCb29sLCBib29s
LCBXZWJDb3JlOjpTZXR0aW5nczo6aXNRVEtpdEVuYWJsZWQoKSkgXAotICAgIG1hY3JvKFBhZ2VW
aXNpYmlsaXR5QmFzZWRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkLCBwYWdlVmlzaWJpbGl0eUJh
c2VkUHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1h
Y3JvKFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCwgc21hcnRJbnNlcnREZWxldGVFbmFibGVkLCBC
b29sLCBib29sLCB0cnVlKSBcCi0gICAgbWFjcm8oU2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5h
YmxlZCwgc2VsZWN0VHJhaWxpbmdXaGl0ZXNwYWNlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhTaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZCwgc2hvd3NVUkxzSW5Ub29s
VGlwc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCwgYWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNy
byhIaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nRW5hYmxlZCwgaGlkZGVuUGFnZURPTVRpbWVy
VGhyb3R0bGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFVTFRfSElEREVOX1BBR0VfRE9NX1RJ
TUVSX1RIUk9UVExJTkdfRU5BQkxFRCkgXAotICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1lclRo
cm90dGxpbmdBdXRvSW5jcmVhc2VzLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0lu
Y3JlYXNlcywgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhIaWRkZW5QYWdlQ1NTQW5p
bWF0aW9uU3VzcGVuc2lvbkVuYWJsZWQsIGhpZGRlblBhZ2VDU1NBbmltYXRpb25TdXNwZW5zaW9u
RW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9ISURERU5fUEFHRV9DU1NfQU5JTUFUSU9OX1NV
U1BFTlNJT05fRU5BQkxFRCkgXAotICAgIG1hY3JvKExvd1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNp
emVFbmFibGVkLCBsb3dQb3dlclZpZGVvQXVkaW9CdWZmZXJTaXplRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UpIFwKLSAgICBtYWNybyhUaHJlYWRlZFNjcm9sbGluZ0VuYWJsZWQsIHRocmVhZGVk
U2Nyb2xsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKFNpbXBsZUxp
bmVMYXlvdXRFbmFibGVkLCBzaW1wbGVMaW5lTGF5b3V0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSkgXAotICAgIG1hY3JvKFN1YnBpeGVsQ1NTT01FbGVtZW50TWV0cmljc0VuYWJsZWQsIHN1YnBp
eGVsQ1NTT01FbGVtZW50TWV0cmljc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAg
bWFjcm8oVXNlR2lhbnRUaWxlcywgdXNlR2lhbnRUaWxlcywgQm9vbCwgYm9vbCwgZmFsc2UpIFwK
LSAgICBtYWNybyhNZWRpYVN0cmVhbUVuYWJsZWQsIG1lZGlhU3RyZWFtRW5hYmxlZCwgQm9vbCwg
Ym9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhVc2VMZWdhY3lUZXh0QWxpZ25Qb3NpdGlvbmVkRWxl
bWVudEJlaGF2aW9yLCB1c2VMZWdhY3lUZXh0QWxpZ25Qb3NpdGlvbmVkRWxlbWVudEJlaGF2aW9y
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNwYXRpYWxOYXZpZ2F0aW9uRW5hYmxl
ZCwgc3BhdGlhbE5hdmlnYXRpb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1h
Y3JvKE1lZGlhU291cmNlRW5hYmxlZCwgbWVkaWFTb3VyY2VFbmFibGVkLCBCb29sLCBib29sLCB0
cnVlKSBcCi0gICAgbWFjcm8oVmlld0dlc3R1cmVEZWJ1Z2dpbmdFbmFibGVkLCB2aWV3R2VzdHVy
ZURlYnVnZ2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2hvdWxk
Q29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHksIHNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25D
b3B5LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFN0YW5kYWxvbmUsIHN0YW5kYWxv
bmUsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGVsZXBob25lTnVtYmVyUGFyc2lu
Z0VuYWJsZWQsIHRlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxz
ZSkgXAotICAgIG1hY3JvKEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uLCBhbGxv
d011bHRpRWxlbWVudEltcGxpY2l0U3VibWlzc2lvbiwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAg
ICBtYWNybyhBbHdheXNVc2VBY2NlbGVyYXRlZE92ZXJmbG93U2Nyb2xsLCBhbHdheXNVc2VBY2Nl
bGVyYXRlZE92ZXJmbG93U2Nyb2xsLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFBh
c3N3b3JkRWNob0VuYWJsZWQsIHBhc3N3b3JkRWNob0VuYWJsZWQsIEJvb2wsIGJvb2wsIERFRkFV
TFRfUEFTU1dPUkRfRUNIT19FTkFCTEVEKSBcCi0gICAgbWFjcm8oSW1hZ2VDb250cm9sc0VuYWJs
ZWQsIGltYWdlQ29udHJvbHNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3Jv
KEVuYWJsZUluaGVyaXRVUklRdWVyeUNvbXBvbmVudCwgZW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29t
cG9uZW50LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNlcnZpY2VDb250cm9sc0Vu
YWJsZWQsIHNlcnZpY2VDb250cm9sc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAg
bWFjcm8oR2FtZXBhZHNFbmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
KSBcCi0gICAgbWFjcm8oTmV3QmxvY2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQsIG5ld0Jsb2Nr
SW5zaWRlSW5saW5lTW9kZWxFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3Jv
KEhUVFBFcXVpdkVuYWJsZWQsIGh0dHBFcXVpdkVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwK
LSAgICBtYWNybyhNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCBtb2NrQ2FwdHVyZURldmljZXNF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKFNoYWRvd0RPTUVuYWJsZWQs
IHNoYWRvd0RPTUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUpIFwKLSAgICBtYWNybyhDdXN0b21F
bGVtZW50c0VuYWJsZWQsIGN1c3RvbUVsZW1lbnRzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Up
IFwKLSAgICBtYWNybyhGZXRjaEFQSUVuYWJsZWQsIGZldGNoQVBJRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UpIFwKLSAgICBtYWNybyhXZWJHTDJFbmFibGVkLCB3ZWJHTDJFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKERvd25sb2FkQXR0cmlidXRlRW5hYmxlZCwgZG93
bmxvYWRBdHRyaWJ1dGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAorICAgIG1hY3JvKEph
dmFTY3JpcHRFbmFibGVkLCBqYXZhU2NyaXB0RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oSmF2YVNjcmlwdE1hcmt1cEVuYWJsZWQsIGphdmFTY3JpcHRNYXJr
dXBFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhMb2Fkc0lt
YWdlc0F1dG9tYXRpY2FsbHksIGxvYWRzSW1hZ2VzQXV0b21hdGljYWxseSwgQm9vbCwgYm9vbCwg
dHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oTG9hZHNTaXRlSWNvbnNJZ25vcmluZ0ltYWdlTG9h
ZGluZ1ByZWZlcmVuY2UsIGxvYWRzU2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJl
bmNlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUGx1Z2luc0VuYWJs
ZWQsIHBsdWdpbnNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFj
cm8oSmF2YUVuYWJsZWQsIGphdmFFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oSmF2YUVuYWJsZWRGb3JMb2NhbEZpbGVzLCBqYXZhRW5hYmxlZEZvckxvY2Fs
RmlsZXMsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhPZmZsaW5lV2Vi
QXBwbGljYXRpb25DYWNoZUVuYWJsZWQsIG9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKExvY2FsU3RvcmFnZUVu
YWJsZWQsIGxvY2FsU3RvcmFnZUVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKERhdGFiYXNlc0VuYWJsZWQsIGRhdGFiYXNlc0VuYWJsZWQsIEJvb2wsIGJvb2ws
IHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFhTU0F1ZGl0b3JFbmFibGVkLCB4c3NBdWRpdG9y
RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRnJhbWVGbGF0
dGVuaW5nRW5hYmxlZCwgZnJhbWVGbGF0dGVuaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVM
VF9GUkFNRV9GTEFUVEVOSU5HX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKFByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhUZXh0QXJlYXNBcmVSZXNpemFibGUsIHRleHRBcmVhc0Fy
ZVJlc2l6YWJsZSwgQm9vbCwgYm9vbCwgREVGQVVMVF9URVhUX0FSRUFTX0FSRV9SRVNJWkFCTEUs
ICIiLCAiIikgXAorICAgIG1hY3JvKEphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2Fs
bHksIGphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHksIEJvb2wsIGJvb2wsIERF
RkFVTFRfSkFWQVNDUklQVF9DQU5fT1BFTl9XSU5ET1dTX0FVVE9NQVRJQ0FMTFksICIiLCAiIikg
XAorICAgIG1hY3JvKEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZCwgaHlwZXJsaW5rQXVkaXRpbmdF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhOZWVkc1NpdGVT
cGVjaWZpY1F1aXJrcywgbmVlZHNTaXRlU3BlY2lmaWNRdWlya3MsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCwgYWNj
ZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKEZvcmNlQ29tcG9zaXRpbmdNb2RlLCBmb3JjZUNvbXBvc2l0aW5nTW9kZSwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKENhbnZhc1VzZXNBY2NlbGVyYXRl
ZERyYXdpbmcsIGNhbnZhc1VzZXNBY2NlbGVyYXRlZERyYXdpbmcsIEJvb2wsIGJvb2wsIERFRkFV
TFRfQ0FOVkFTX1VTRVNfQUNDRUxFUkFURURfRFJBV0lORywgIiIsICIiKSBcCisgICAgbWFjcm8o
V2ViR0xFbmFibGVkLCB3ZWJHTEVuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAor
ICAgIG1hY3JvKEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZywgZm9yY2VTb2Z0d2FyZVdlYkdM
UmVuZGVyaW5nLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQWNjZWxl
cmF0ZWQyZENhbnZhc0VuYWJsZWQsIGFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQ1NTQW5pbWF0aW9uVHJpZ2dlcnNFbmFi
bGVkLCBjc3NBbmltYXRpb25UcmlnZ2Vyc0VuYWJsZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAi
IikgXAorICAgIG1hY3JvKFdlYkFuaW1hdGlvbnNFbmFibGVkLCB3ZWJBbmltYXRpb25zRW5hYmxl
ZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKENTU1JlZ2lvbnNFbmFi
bGVkLCBjc3NSZWdpb25zRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oQ1NTQ29tcG9zaXRpbmdFbmFibGVkLCBjc3NDb21wb3NpdGluZ0VuYWJsZWQsIEJvb2ws
IGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEZvcmNlRlRQRGlyZWN0b3J5TGlzdGlu
Z3MsIGZvcmNlRlRQRGlyZWN0b3J5TGlzdGluZ3MsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhUYWJzVG9MaW5rcywgdGFic1RvTGlua3MsIEJvb2wsIGJvb2wsIERFRkFV
TFRfV0VCS0lUX1RBQlNUT0xJTktTX0VOQUJMRUQsICIiLCAiIikgXAorICAgIG1hY3JvKEROU1By
ZWZldGNoaW5nRW5hYmxlZCwgZG5zUHJlZmV0Y2hpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxz
ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRE9NVGltZXJzVGhyb3R0bGluZ0VuYWJsZWQsIGRvbVRp
bWVyc1Rocm90dGxpbmdFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhXZWJBcmNoaXZlRGVidWdNb2RlRW5hYmxlZCwgd2ViQXJjaGl2ZURlYnVnTW9kZUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhMb2NhbEZpbGVDb250
ZW50U25pZmZpbmdFbmFibGVkLCBsb2NhbEZpbGVDb250ZW50U25pZmZpbmdFbmFibGVkLCBCb29s
LCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVXNlc1BhZ2VDYWNoZSwgdXNlc1Bh
Z2VDYWNoZSwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUGFnZUNhY2hl
U3VwcG9ydHNQbHVnaW5zLCBwYWdlQ2FjaGVTdXBwb3J0c1BsdWdpbnMsIEJvb2wsIGJvb2wsIHRy
dWUsICIiLCAiIikgXAorICAgIG1hY3JvKEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkLCBhdXRo
b3JBbmRVc2VyU3R5bGVzRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAg
bWFjcm8oUGFnaW5hdGVEdXJpbmdMYXlvdXRFbmFibGVkLCBwYWdpbmF0ZUR1cmluZ0xheW91dEVu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhET01QYXN0ZUFs
bG93ZWQsIGRvbVBhc3RlQWxsb3dlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAg
IG1hY3JvKEphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQsIGphdmFTY3JpcHRDYW5BY2Nlc3ND
bGlwYm9hcmQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG91bGRQ
cmludEJhY2tncm91bmRzLCBzaG91bGRQcmludEJhY2tncm91bmRzLCBCb29sLCBib29sLCBERUZB
VUxUX1NIT1VMRF9QUklOVF9CQUNLR1JPVU5EUywgIiIsICIiKSBcCisgICAgbWFjcm8oRnVsbFNj
cmVlbkVuYWJsZWQsIGZ1bGxTY3JlZW5FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oQXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQsIGFzeW5jaHJv
bm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisg
ICAgbWFjcm8oV2ViU2VjdXJpdHlFbmFibGVkLCB3ZWJTZWN1cml0eUVuYWJsZWQsIEJvb2wsIGJv
b2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZp
bGVVUkxzLCBhbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMcywgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcywgYWxs
b3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisg
ICAgbWFjcm8oQVZGb3VuZGF0aW9uRW5hYmxlZCwgaXNBVkZvdW5kYXRpb25FbmFibGVkLCBCb29s
LCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBVkZvdW5kYXRpb25OU1VSTFNlc3Np
b25FbmFibGVkLCBpc0FWRm91bmRhdGlvbk5TVVJMU2Vzc2lvbkVuYWJsZWQsIEJvb2wsIGJvb2ws
IHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBs
YXliYWNrLCByZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwg
REVGQVVMVF9SRVFVSVJFU19VU0VSX0dFU1RVUkVfRk9SX01FRElBX1BMQVlCQUNLLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFjaywgcmVxdWly
ZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhSZXF1aXJlc1VzZXJHZXN0dXJlRm9yQXVkaW9QbGF5YmFjaywgcmVxdWly
ZXNVc2VyR2VzdHVyZUZvckF1ZGlvUGxheWJhY2ssIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhNYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkLCBtYWlu
Q29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oQWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjaywgYWxsb3dzSW5saW5l
TWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgREVGQVVMVF9BTExPV1NfSU5MSU5FX01FRElBX1BM
QVlCQUNLLCAiIiwgIiIpIFwKKyAgICBtYWNybyhJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQ
bGF5c0lubGluZUF0dHJpYnV0ZSwgaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxp
bmVBdHRyaWJ1dGUsIEJvb2wsIGJvb2wsIERFRkFVTFRfSU5MSU5FX01FRElBX1BMQVlCQUNLX1JF
UVVJUkVTX1BMQVlTX0lOTElORV9BVFRSSUJVVEUsICIiLCAiIikgXAorICAgIG1hY3JvKEludmlz
aWJsZUF1dG9wbGF5Tm90UGVybWl0dGVkLCBpbnZpc2libGVBdXRvcGxheU5vdFBlcm1pdHRlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9JTlZJU0lCTEVfQVVUT1BMQVlfTk9UX1BFUk1JVFRFRCwgIiIs
ICIiKSBcCisgICAgbWFjcm8oTWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5LCBtZWRpYURhdGFM
b2Fkc0F1dG9tYXRpY2FsbHksIEJvb2wsIGJvb2wsIERFRkFVTFRfTUVESUFfREFUQV9MT0FEU19B
VVRPTUFUSUNBTExZLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBbGxvd3NQaWN0dXJlSW5QaWN0dXJl
TWVkaWFQbGF5YmFjaywgYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2ssIEJvb2ws
IGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKEFsbG93c0FpclBsYXlGb3JNZWRpYVBs
YXliYWNrLCBhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjaywgQm9vbCwgYm9vbCwgdHJ1ZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oTWVkaWFDb250cm9sc1NjYWxlV2l0aFBhZ2Vab29tLCBtZWRp
YUNvbnRyb2xzU2NhbGVXaXRoUGFnZVpvb20sIEJvb2wsIGJvb2wsIERFRkFVTFRfTUVESUFfQ09O
VFJPTFNfU0NBTEVfV0lUSF9QQUdFX1pPT00sICIiLCAiIikgXAorICAgIG1hY3JvKEluc3BlY3Rv
clN0YXJ0c0F0dGFjaGVkLCBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCwgQm9vbCwgYm9vbCwgdHJ1
ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2hvd3NUb29sVGlwT3ZlclRydW5jYXRlZFRleHQsIHNo
b3dzVG9vbFRpcE92ZXJUcnVuY2F0ZWRUZXh0LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oTW9ja1Njcm9sbGJhcnNFbmFibGVkLCBtb2NrU2Nyb2xsYmFyc0VuYWJsZWQs
IEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhXZWJBdWRpb0VuYWJsZWQs
IHdlYkF1ZGlvRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
QXR0YWNobWVudEVsZW1lbnRFbmFibGVkLCBhdHRhY2htZW50RWxlbWVudEVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTdXBwcmVzc2VzSW5jcmVtZW50YWxS
ZW5kZXJpbmcsIHN1cHByZXNzZXNJbmNyZW1lbnRhbFJlbmRlcmluZywgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKEJhY2tzcGFjZUtleU5hdmlnYXRpb25FbmFibGVkLCBi
YWNrc3BhY2VLZXlOYXZpZ2F0aW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgREVGQVVMVF9CQUNLU1BB
Q0VfS0VZX05BVklHQVRJT05fRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oQ2FyZXRCcm93
c2luZ0VuYWJsZWQsIGNhcmV0QnJvd3NpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oU2hvdWxkRGlzcGxheVN1YnRpdGxlcywgc2hvdWxkRGlzcGxheVN1
YnRpdGxlcywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNob3VsZERp
c3BsYXlDYXB0aW9ucywgc2hvdWxkRGlzcGxheUNhcHRpb25zLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oU2hvdWxkRGlzcGxheVRleHREZXNjcmlwdGlvbnMsIHNob3Vs
ZERpc3BsYXlUZXh0RGVzY3JpcHRpb25zLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisg
ICAgbWFjcm8oTm90aWZpY2F0aW9uc0VuYWJsZWQsIG5vdGlmaWNhdGlvbnNFbmFibGVkLCBCb29s
LCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG91bGRSZXNwZWN0SW1hZ2VPcmll
bnRhdGlvbiwgc2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRpb24sIEJvb2wsIGJvb2wsIERFRkFV
TFRfU0hPVUxEX1JFU1BFQ1RfSU1BR0VfT1JJRU5UQVRJT04sICIiLCAiIikgXAorICAgIG1hY3Jv
KFdhbnRzQmFsYW5jZWRTZXREZWZlcnNMb2FkaW5nQmVoYXZpb3IsIHdhbnRzQmFsYW5jZWRTZXRE
ZWZlcnNMb2FkaW5nQmVoYXZpb3IsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBt
YWNybyhSZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkLCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhEaWFnbm9zdGlj
TG9nZ2luZ0VuYWJsZWQsIGRpYWdub3N0aWNMb2dnaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9u
RW5hYmxlZCwgYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRpb25FbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oQXN5bmNocm9ub3VzUGx1Z2luSW5pdGlh
bGl6YXRpb25FbmFibGVkRm9yQWxsUGx1Z2lucywgYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6
YXRpb25FbmFibGVkRm9yQWxsUGx1Z2lucywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKEFydGlmaWNpYWxQbHVnaW5Jbml0aWFsaXphdGlvbkRlbGF5RW5hYmxlZCwgYXJ0
aWZpY2lhbFBsdWdpbkluaXRpYWxpemF0aW9uRGVsYXlFbmFibGVkLCBCb29sLCBib29sLCBmYWxz
ZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVGFiVG9MaW5rc0VuYWJsZWQsIHRhYlRvTGlua3NFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oSW50ZXJhY3RpdmVG
b3JtVmFsaWRhdGlvbkVuYWJsZWQsIGludGVyYWN0aXZlRm9ybVZhbGlkYXRpb25FbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCwgc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNjcm9sbEFuaW1hdG9yRW5hYmxl
ZCwgc2Nyb2xsQW5pbWF0b3JFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1dFQktJVF9TQ1JP
TExfQU5JTUFUT1JfRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oRm9yY2VVcGRhdGVTY3Jv
bGxiYXJzT25NYWluVGhyZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nLCBmb3JjZVVwZGF0ZVNjcm9s
bGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3JtYW5jZVRlc3RpbmcsIEJvb2wsIGJvb2wsIGZhbHNl
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhDb29raWVFbmFibGVkLCBjb29raWVFbmFibGVkLCBCb29s
LCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhQbHVnSW5TbmFwc2hvdHRpbmdFbmFi
bGVkLCBwbHVnSW5TbmFwc2hvdHRpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oU25hcHNob3RBbGxQbHVnSW5zLCBzbmFwc2hvdEFsbFBsdWdJbnMsIEJv
b2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhBdXRvc3RhcnRPcmlnaW5QbHVn
SW5TbmFwc2hvdHRpbmdFbmFibGVkLCBhdXRvc3RhcnRPcmlnaW5QbHVnSW5TbmFwc2hvdHRpbmdF
bmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhQcmltYXJ5UGx1
Z0luU25hcHNob3REZXRlY3Rpb25FbmFibGVkLCBwcmltYXJ5UGx1Z0luU25hcHNob3REZXRlY3Rp
b25FbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhQREZQbHVn
aW5FbmFibGVkLCBwZGZQbHVnaW5FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX1BERlBMVUdJ
Tl9FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhVc2VzRW5jb2RpbmdEZXRlY3RvciwgdXNl
c0VuY29kaW5nRGV0ZWN0b3IsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhUZXh0QXV0b3NpemluZ0VuYWJsZWQsIHRleHRBdXRvc2l6aW5nRW5hYmxlZCwgQm9vbCwgYm9v
bCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEFnZ3Jlc3NpdmVUaWxlUmV0ZW50aW9uRW5h
YmxlZCwgYWdncmVzc2l2ZVRpbGVSZXRlbnRpb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oVGVtcG9yYXJ5VGlsZUNvaG9ydFJldGVudGlvbkVuYWJsZWQs
IHRlbXBvcmFyeVRpbGVDb2hvcnRSZXRlbnRpb25FbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxU
X1RFTVBPUkFSWV9USUxFX0NPSE9SVF9SRVRFTlRJT05fRU5BQkxFRCwgIiIsICIiKSBcCisgICAg
bWFjcm8oUVRLaXRFbmFibGVkLCBpc1FUS2l0RW5hYmxlZCwgQm9vbCwgYm9vbCwgV2ViQ29yZTo6
U2V0dGluZ3M6OmlzUVRLaXRFbmFibGVkKCksICIiLCAiIikgXAorICAgIG1hY3JvKFBhZ2VWaXNp
YmlsaXR5QmFzZWRQcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkLCBwYWdlVmlzaWJpbGl0eUJhc2Vk
UHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBcCisg
ICAgbWFjcm8oU21hcnRJbnNlcnREZWxldGVFbmFibGVkLCBzbWFydEluc2VydERlbGV0ZUVuYWJs
ZWQsIEJvb2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFNlbGVjdFRyYWlsaW5n
V2hpdGVzcGFjZUVuYWJsZWQsIHNlbGVjdFRyYWlsaW5nV2hpdGVzcGFjZUVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTaG93c1VSTHNJblRvb2xUaXBzRW5h
YmxlZCwgc2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwg
IiIpIFwKKyAgICBtYWNybyhBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxF
bmFibGVkLCBhY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dTY3JvbGxFbmFibGVkLCBC
b29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oSGlkZGVuUGFnZURPTVRpbWVy
VGhyb3R0bGluZ0VuYWJsZWQsIGhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdFbmFibGVkLCBC
b29sLCBib29sLCBERUZBVUxUX0hJRERFTl9QQUdFX0RPTV9USU1FUl9USFJPVFRMSU5HX0VOQUJM
RUQsICIiLCAiIikgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VET01UaW1lclRocm90dGxpbmdBdXRv
SW5jcmVhc2VzLCBoaWRkZW5QYWdlRE9NVGltZXJUaHJvdHRsaW5nQXV0b0luY3JlYXNlcywgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKEhpZGRlblBhZ2VDU1NBbmltYXRp
b25TdXNwZW5zaW9uRW5hYmxlZCwgaGlkZGVuUGFnZUNTU0FuaW1hdGlvblN1c3BlbnNpb25FbmFi
bGVkLCBCb29sLCBib29sLCBERUZBVUxUX0hJRERFTl9QQUdFX0NTU19BTklNQVRJT05fU1VTUEVO
U0lPTl9FTkFCTEVELCAiIiwgIiIpIFwKKyAgICBtYWNybyhMb3dQb3dlclZpZGVvQXVkaW9CdWZm
ZXJTaXplRW5hYmxlZCwgbG93UG93ZXJWaWRlb0F1ZGlvQnVmZmVyU2l6ZUVuYWJsZWQsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhUaHJlYWRlZFNjcm9sbGluZ0VuYWJs
ZWQsIHRocmVhZGVkU2Nyb2xsaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIsICIiKSBc
CisgICAgbWFjcm8oU2ltcGxlTGluZUxheW91dEVuYWJsZWQsIHNpbXBsZUxpbmVMYXlvdXRFbmFi
bGVkLCBCb29sLCBib29sLCB0cnVlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTdWJwaXhlbENTU09N
RWxlbWVudE1ldHJpY3NFbmFibGVkLCBzdWJwaXhlbENTU09NRWxlbWVudE1ldHJpY3NFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oVXNlR2lhbnRUaWxlcywg
dXNlR2lhbnRUaWxlcywgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKE1l
ZGlhU3RyZWFtRW5hYmxlZCwgbWVkaWFTdHJlYW1FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oVXNlTGVnYWN5VGV4dEFsaWduUG9zaXRpb25lZEVsZW1lbnRC
ZWhhdmlvciwgdXNlTGVnYWN5VGV4dEFsaWduUG9zaXRpb25lZEVsZW1lbnRCZWhhdmlvciwgQm9v
bCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFNwYXRpYWxOYXZpZ2F0aW9uRW5h
YmxlZCwgc3BhdGlhbE5hdmlnYXRpb25FbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oTWVkaWFTb3VyY2VFbmFibGVkLCBtZWRpYVNvdXJjZUVuYWJsZWQsIEJv
b2wsIGJvb2wsIHRydWUsICIiLCAiIikgXAorICAgIG1hY3JvKFZpZXdHZXN0dXJlRGVidWdnaW5n
RW5hYmxlZCwgdmlld0dlc3R1cmVEZWJ1Z2dpbmdFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwg
IiIsICIiKSBcCisgICAgbWFjcm8oU2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHksIHNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5LCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIi
KSBcCisgICAgbWFjcm8oU3RhbmRhbG9uZSwgc3RhbmRhbG9uZSwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKFRlbGVwaG9uZU51bWJlclBhcnNpbmdFbmFibGVkLCB0ZWxl
cGhvbmVOdW1iZXJQYXJzaW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKEFsbG93TXVsdGlFbGVtZW50SW1wbGljaXRTdWJtaXNzaW9uLCBhbGxvd011bHRp
RWxlbWVudEltcGxpY2l0U3VibWlzc2lvbiwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAor
ICAgIG1hY3JvKEFsd2F5c1VzZUFjY2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwsIGFsd2F5c1VzZUFj
Y2VsZXJhdGVkT3ZlcmZsb3dTY3JvbGwsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhQYXNzd29yZEVjaG9FbmFibGVkLCBwYXNzd29yZEVjaG9FbmFibGVkLCBCb29sLCBi
b29sLCBERUZBVUxUX1BBU1NXT1JEX0VDSE9fRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8o
SW1hZ2VDb250cm9sc0VuYWJsZWQsIGltYWdlQ29udHJvbHNFbmFibGVkLCBCb29sLCBib29sLCBm
YWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29tcG9uZW50
LCBlbmFibGVJbmhlcml0VVJJUXVlcnlDb21wb25lbnQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwg
IiIpIFwKKyAgICBtYWNybyhTZXJ2aWNlQ29udHJvbHNFbmFibGVkLCBzZXJ2aWNlQ29udHJvbHNF
bmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oR2FtZXBhZHNF
bmFibGVkLCBnYW1lcGFkc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAg
ICBtYWNybyhOZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZCwgbmV3QmxvY2tJbnNpZGVJ
bmxpbmVNb2RlbEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhIVFRQRXF1aXZFbmFibGVkLCBodHRwRXF1aXZFbmFibGVkLCBCb29sLCBib29sLCB0cnVlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkLCBtb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8o
U2hhZG93RE9NRW5hYmxlZCwgc2hhZG93RE9NRW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oQ3VzdG9tRWxlbWVudHNFbmFibGVkLCBjdXN0b21FbGVtZW50c0Vu
YWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhGZXRjaEFQSUVu
YWJsZWQsIGZldGNoQVBJRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAg
IG1hY3JvKFdlYkdMMkVuYWJsZWQsIHdlYkdMMkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhEb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQsIGRvd25sb2FkQXR0
cmlidXRlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAogICAgIEZPUl9FQUNI
X0FERElUSU9OQUxfV0VCS0lUX0JPT0xfUFJFRkVSRU5DRShtYWNybykgXAogICAgIFwKIAogI2Rl
ZmluZSBGT1JfRUFDSF9XRUJLSVRfRE9VQkxFX1BSRUZFUkVOQ0UobWFjcm8pIFwKLSAgICBtYWNy
byhJbmNyZW1lbnRhbFJlbmRlcmluZ1N1cHByZXNzaW9uVGltZW91dCwgaW5jcmVtZW50YWxSZW5k
ZXJpbmdTdXBwcmVzc2lvblRpbWVvdXQsIERvdWJsZSwgZG91YmxlLCA1KSBcCi0gICAgbWFjcm8o
TWluaW11bUZvbnRTaXplLCBtaW5pbXVtRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCAwKSBcCi0g
ICAgbWFjcm8oTWluaW11bUxvZ2ljYWxGb250U2l6ZSwgbWluaW11bUxvZ2ljYWxGb250U2l6ZSwg
RG91YmxlLCBkb3VibGUsIDkpIFwKLSAgICBtYWNybyhNaW5pbXVtWm9vbUZvbnRTaXplLCBtaW5p
bXVtWm9vbUZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgREVGQVVMVF9NSU5JTVVNX0ZPTlRfWk9P
TV9TSVpFKSBcCi0gICAgbWFjcm8oRGVmYXVsdEZvbnRTaXplLCBkZWZhdWx0Rm9udFNpemUsIERv
dWJsZSwgZG91YmxlLCAxNikgXAotICAgIG1hY3JvKERlZmF1bHRGaXhlZEZvbnRTaXplLCBkZWZh
dWx0Rml4ZWRGb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIDEzKSBcCi0gICAgbWFjcm8oTGF5b3V0
SW50ZXJ2YWwsIGxheW91dEludGVydmFsLCBEb3VibGUsIGRvdWJsZSwgLTEpIFwKLSAgICBtYWNy
byhNYXhQYXJzZUR1cmF0aW9uLCBtYXhQYXJzZUR1cmF0aW9uLCBEb3VibGUsIGRvdWJsZSwgLTEp
IFwKLSAgICBtYWNybyhQYXNzd29yZEVjaG9EdXJhdGlvbiwgcGFzc3dvcmRFY2hvRHVyYXRpb24s
IERvdWJsZSwgZG91YmxlLCAyKSBcCisgICAgbWFjcm8oSW5jcmVtZW50YWxSZW5kZXJpbmdTdXBw
cmVzc2lvblRpbWVvdXQsIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0LCBE
b3VibGUsIGRvdWJsZSwgNSwgIiIsICIiKSBcCisgICAgbWFjcm8oTWluaW11bUZvbnRTaXplLCBt
aW5pbXVtRm9udFNpemUsIERvdWJsZSwgZG91YmxlLCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhN
aW5pbXVtTG9naWNhbEZvbnRTaXplLCBtaW5pbXVtTG9naWNhbEZvbnRTaXplLCBEb3VibGUsIGRv
dWJsZSwgOSwgIiIsICIiKSBcCisgICAgbWFjcm8oTWluaW11bVpvb21Gb250U2l6ZSwgbWluaW11
bVpvb21Gb250U2l6ZSwgRG91YmxlLCBkb3VibGUsIERFRkFVTFRfTUlOSU1VTV9GT05UX1pPT01f
U0laRSwgIiIsICIiKSBcCisgICAgbWFjcm8oRGVmYXVsdEZvbnRTaXplLCBkZWZhdWx0Rm9udFNp
emUsIERvdWJsZSwgZG91YmxlLCAxNiwgIiIsICIiKSBcCisgICAgbWFjcm8oRGVmYXVsdEZpeGVk
Rm9udFNpemUsIGRlZmF1bHRGaXhlZEZvbnRTaXplLCBEb3VibGUsIGRvdWJsZSwgMTMsICIiLCAi
IikgXAorICAgIG1hY3JvKExheW91dEludGVydmFsLCBsYXlvdXRJbnRlcnZhbCwgRG91YmxlLCBk
b3VibGUsIC0xLCAiIiwgIiIpIFwKKyAgICBtYWNybyhNYXhQYXJzZUR1cmF0aW9uLCBtYXhQYXJz
ZUR1cmF0aW9uLCBEb3VibGUsIGRvdWJsZSwgLTEsICIiLCAiIikgXAorICAgIG1hY3JvKFBhc3N3
b3JkRWNob0R1cmF0aW9uLCBwYXNzd29yZEVjaG9EdXJhdGlvbiwgRG91YmxlLCBkb3VibGUsIDIs
ICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfVUlOVDMyX1BSRUZF
UkVOQ0UobWFjcm8pIFwKLSAgICBtYWNybyhGb250U21vb3RoaW5nTGV2ZWwsIGZvbnRTbW9vdGhp
bmdMZXZlbCwgVUludDMyLCB1aW50MzJfdCwgRm9udFNtb290aGluZ0xldmVsTWVkaXVtKSBcCi0g
ICAgbWFjcm8oTGF5b3V0RmFsbGJhY2tXaWR0aCwgbGF5b3V0RmFsbGJhY2tXaWR0aCwgVUludDMy
LCB1aW50MzJfdCwgOTgwKSBcCi0gICAgbWFjcm8oRGV2aWNlV2lkdGgsIGRldmljZVdpZHRoLCBV
SW50MzIsIHVpbnQzMl90LCAwKSBcCi0gICAgbWFjcm8oRGV2aWNlSGVpZ2h0LCBkZXZpY2VIZWln
aHQsIFVJbnQzMiwgdWludDMyX3QsIDApIFwKLSAgICBtYWNybyhFZGl0YWJsZUxpbmtCZWhhdmlv
ciwgZWRpdGFibGVMaW5rQmVoYXZpb3IsIFVJbnQzMiwgdWludDMyX3QsIFdlYkNvcmU6OkVkaXRh
YmxlTGlua05ldmVyTGl2ZSkgXAotICAgIG1hY3JvKEluc3BlY3RvckF0dGFjaGVkSGVpZ2h0LCBp
bnNwZWN0b3JBdHRhY2hlZEhlaWdodCwgVUludDMyLCB1aW50MzJfdCwgMzAwKSBcCi0gICAgbWFj
cm8oSW5zcGVjdG9yQXR0YWNoZWRXaWR0aCwgaW5zcGVjdG9yQXR0YWNoZWRXaWR0aCwgVUludDMy
LCB1aW50MzJfdCwgNzUwKSBcCi0gICAgbWFjcm8oSW5zcGVjdG9yQXR0YWNobWVudFNpZGUsIGlu
c3BlY3RvckF0dGFjaG1lbnRTaWRlLCBVSW50MzIsIHVpbnQzMl90LCAwKSBcCi0gICAgbWFjcm8o
U3RvcmFnZUJsb2NraW5nUG9saWN5LCBzdG9yYWdlQmxvY2tpbmdQb2xpY3ksIFVJbnQzMiwgdWlu
dDMyX3QsIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpCbG9ja1RoaXJkUGFydHlTdG9yYWdlKSBc
Ci0gICAgbWFjcm8oSmF2YVNjcmlwdFJ1bnRpbWVGbGFncywgamF2YVNjcmlwdFJ1bnRpbWVGbGFn
cywgVUludDMyLCB1aW50MzJfdCwgMCkgXAotICAgIG1hY3JvKERhdGFEZXRlY3RvclR5cGVzLCBk
YXRhRGV0ZWN0b3JUeXBlcywgVUludDMyLCB1aW50MzJfdCwgMCkgXAorICAgIG1hY3JvKEZvbnRT
bW9vdGhpbmdMZXZlbCwgZm9udFNtb290aGluZ0xldmVsLCBVSW50MzIsIHVpbnQzMl90LCBGb250
U21vb3RoaW5nTGV2ZWxNZWRpdW0sICIiLCAiIikgXAorICAgIG1hY3JvKExheW91dEZhbGxiYWNr
V2lkdGgsIGxheW91dEZhbGxiYWNrV2lkdGgsIFVJbnQzMiwgdWludDMyX3QsIDk4MCwgIiIsICIi
KSBcCisgICAgbWFjcm8oRGV2aWNlV2lkdGgsIGRldmljZVdpZHRoLCBVSW50MzIsIHVpbnQzMl90
LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhEZXZpY2VIZWlnaHQsIGRldmljZUhlaWdodCwgVUlu
dDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oRWRpdGFibGVMaW5rQmVoYXZp
b3IsIGVkaXRhYmxlTGlua0JlaGF2aW9yLCBVSW50MzIsIHVpbnQzMl90LCBXZWJDb3JlOjpFZGl0
YWJsZUxpbmtOZXZlckxpdmUsICIiLCAiIikgXAorICAgIG1hY3JvKEluc3BlY3RvckF0dGFjaGVk
SGVpZ2h0LCBpbnNwZWN0b3JBdHRhY2hlZEhlaWdodCwgVUludDMyLCB1aW50MzJfdCwgMzAwLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhJbnNwZWN0b3JBdHRhY2hlZFdpZHRoLCBpbnNwZWN0b3JBdHRh
Y2hlZFdpZHRoLCBVSW50MzIsIHVpbnQzMl90LCA3NTAsICIiLCAiIikgXAorICAgIG1hY3JvKElu
c3BlY3RvckF0dGFjaG1lbnRTaWRlLCBpbnNwZWN0b3JBdHRhY2htZW50U2lkZSwgVUludDMyLCB1
aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oU3RvcmFnZUJsb2NraW5nUG9saWN5LCBz
dG9yYWdlQmxvY2tpbmdQb2xpY3ksIFVJbnQzMiwgdWludDMyX3QsIFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luOjpCbG9ja1RoaXJkUGFydHlTdG9yYWdlLCAiIiwgIiIpIFwKKyAgICBtYWNybyhKYXZh
U2NyaXB0UnVudGltZUZsYWdzLCBqYXZhU2NyaXB0UnVudGltZUZsYWdzLCBVSW50MzIsIHVpbnQz
Ml90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhEYXRhRGV0ZWN0b3JUeXBlcywgZGF0YURldGVj
dG9yVHlwZXMsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmlu
ZSBGT1JfRUFDSF9XRUJLSVRfREVCVUdfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFj
cm8oQWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCwgYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCwg
Qm9vbCwgYm9vbCwgREVGQVVMVF9BQ0NFTEVSQVRFRF9EUkFXSU5HX0VOQUJMRUQpIFwKLSAgICBt
YWNybyhEaXNwbGF5TGlzdERyYXdpbmdFbmFibGVkLCBkaXNwbGF5TGlzdERyYXdpbmdFbmFibGVk
LCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKENvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGUsIGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAg
bWFjcm8oQ29tcG9zaXRpbmdSZXBhaW50Q291bnRlcnNWaXNpYmxlLCBjb21wb3NpdGluZ1JlcGFp
bnRDb3VudGVyc1Zpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oVGlsZWRT
Y3JvbGxpbmdJbmRpY2F0b3JWaXNpYmxlLCB0aWxlZFNjcm9sbGluZ0luZGljYXRvclZpc2libGUs
IEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oU2ltcGxlTGluZUxheW91dERlYnVnQm9y
ZGVyc0VuYWJsZWQsIHNpbXBsZUxpbmVMYXlvdXREZWJ1Z0JvcmRlcnNFbmFibGVkLCBCb29sLCBi
b29sLCBmYWxzZSkgXAotICAgIG1hY3JvKERldmVsb3BlckV4dHJhc0VuYWJsZWQsIGRldmVsb3Bl
ckV4dHJhc0VuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCi0gICAgbWFjcm8oTG9nc1BhZ2VN
ZXNzYWdlc1RvU3lzdGVtQ29uc29sZUVuYWJsZWQsIGxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNv
bnNvbGVFbmFibGVkLCBCb29sLCBib29sLCBmYWxzZSkgXAotICAgIG1hY3JvKElnbm9yZVZpZXdw
b3J0U2NhbGluZ0NvbnN0cmFpbnRzLCBpZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cywg
Qm9vbCwgYm9vbCwgdHJ1ZSkgXAotICAgIG1hY3JvKEZvcmNlQWx3YXlzVXNlclNjYWxhYmxlLCBm
b3JjZUFsd2F5c1VzZXJTY2FsYWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UpIFwKLSAgICBtYWNybyhS
ZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUsIHJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJsZSwg
Qm9vbCwgYm9vbCwgZmFsc2UpIFwKKyAgICBtYWNybyhBY2NlbGVyYXRlZERyYXdpbmdFbmFibGVk
LCBhY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkLCBCb29sLCBib29sLCBERUZBVUxUX0FDQ0VMRVJB
VEVEX0RSQVdJTkdfRU5BQkxFRCwgIiIsICIiKSBcCisgICAgbWFjcm8oRGlzcGxheUxpc3REcmF3
aW5nRW5hYmxlZCwgZGlzcGxheUxpc3REcmF3aW5nRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICIiLCAiIikgXAorICAgIG1hY3JvKENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUsIGNvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUsIEJvb2wsIGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKKyAgICBtYWNy
byhDb21wb3NpdGluZ1JlcGFpbnRDb3VudGVyc1Zpc2libGUsIGNvbXBvc2l0aW5nUmVwYWludENv
dW50ZXJzVmlzaWJsZSwgQm9vbCwgYm9vbCwgZmFsc2UsICIiLCAiIikgXAorICAgIG1hY3JvKFRp
bGVkU2Nyb2xsaW5nSW5kaWNhdG9yVmlzaWJsZSwgdGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JWaXNp
YmxlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oU2ltcGxlTGluZUxh
eW91dERlYnVnQm9yZGVyc0VuYWJsZWQsIHNpbXBsZUxpbmVMYXlvdXREZWJ1Z0JvcmRlcnNFbmFi
bGVkLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oRGV2ZWxvcGVyRXh0
cmFzRW5hYmxlZCwgZGV2ZWxvcGVyRXh0cmFzRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICIi
LCAiIikgXAorICAgIG1hY3JvKExvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVk
LCBsb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFs
c2UsICIiLCAiIikgXAorICAgIG1hY3JvKElnbm9yZVZpZXdwb3J0U2NhbGluZ0NvbnN0cmFpbnRz
LCBpZ25vcmVWaWV3cG9ydFNjYWxpbmdDb25zdHJhaW50cywgQm9vbCwgYm9vbCwgdHJ1ZSwgIiIs
ICIiKSBcCisgICAgbWFjcm8oRm9yY2VBbHdheXNVc2VyU2NhbGFibGUsIGZvcmNlQWx3YXlzVXNl
clNjYWxhYmxlLCBCb29sLCBib29sLCBmYWxzZSwgIiIsICIiKSBcCisgICAgbWFjcm8oUmVzb3Vy
Y2VVc2FnZU92ZXJsYXlWaXNpYmxlLCByZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUsIEJvb2ws
IGJvb2wsIGZhbHNlLCAiIiwgIiIpIFwKICAgICBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lU
X0RFQlVHX1VJTlQzMl9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFjcm8oVmlzaWJsZURlYnVn
T3ZlcmxheVJlZ2lvbnMsIHZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zLCBVSW50MzIsIHVpbnQz
Ml90LCAwKQorICAgIG1hY3JvKFZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zLCB2aXNpYmxlRGVi
dWdPdmVybGF5UmVnaW9ucywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKQorCisjZGVmaW5l
IEZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJFTkNFKG1hY3JvKSBc
CisgICAgbWFjcm8oRXhwZXJpbWVudGFsU2hhZG93RE9NRW5hYmxlZCwgZXhwZXJpbWVudGFsU2hh
ZG93RE9NRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2UsICJTaGFkb3cgRE9NIiwgIlN1cHBvcnQg
Zm9yIHRoZSBTaGFkb3cgRE9NIGZlYXR1cmUiKSBcCisgICAgbWFjcm8oRXhwZXJpbWVudGFsV2Vi
R0wyRW5hYmxlZCwgZXhwZXJpbWVudGFsV2ViR0wyRW5hYmxlZCwgQm9vbCwgYm9vbCwgZmFsc2Us
ICJXZWJHTCAyLjAiLCAiUHJvdG90eXBlIFdlYkdMIDIgU3VwcG9ydCIpIFwKKyAgICBcCiAKICNp
ZiBQTEFURk9STShDT0NPQSkKIApAQCAtMjg4LDM3ICsyOTMsMzcgQEAKIAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9GT05UX0ZBTUlMWV9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFjcm8o
U3RhbmRhcmRGb250RmFtaWx5LCBzdGFuZGFyZEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAi
VGltZXMiKSBcCi0gICAgbWFjcm8oQ3Vyc2l2ZUZvbnRGYW1pbHksIGN1cnNpdmVGb250RmFtaWx5
LCBTdHJpbmcsIFN0cmluZywgREVGQVVMVF9DVVJTSVZFX0ZPTlRfRkFNSUxZKSBcCi0gICAgbWFj
cm8oRmFudGFzeUZvbnRGYW1pbHksIGZhbnRhc3lGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywg
IlBhcHlydXMiKSBcCi0gICAgbWFjcm8oRml4ZWRGb250RmFtaWx5LCBmaXhlZEZvbnRGYW1pbHks
IFN0cmluZywgU3RyaW5nLCAiQ291cmllciIpIFwKLSAgICBtYWNybyhTYW5zU2VyaWZGb250RmFt
aWx5LCBzYW5zU2VyaWZGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkhlbHZldGljYSIpIFwK
LSAgICBtYWNybyhTZXJpZkZvbnRGYW1pbHksIHNlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJp
bmcsICJUaW1lcyIpIFwKLSAgICBtYWNybyhQaWN0b2dyYXBoRm9udEZhbWlseSwgcGljdG9ncmFw
aEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiQXBwbGUgQ29sb3IgRW1vamkiKSBcCisgICAg
bWFjcm8oU3RhbmRhcmRGb250RmFtaWx5LCBzdGFuZGFyZEZvbnRGYW1pbHksIFN0cmluZywgU3Ry
aW5nLCAiVGltZXMiLCAiIiwgIiIpIFwKKyAgICBtYWNybyhDdXJzaXZlRm9udEZhbWlseSwgY3Vy
c2l2ZUZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCBERUZBVUxUX0NVUlNJVkVfRk9OVF9GQU1J
TFksICIiLCAiIikgXAorICAgIG1hY3JvKEZhbnRhc3lGb250RmFtaWx5LCBmYW50YXN5Rm9udEZh
bWlseSwgU3RyaW5nLCBTdHJpbmcsICJQYXB5cnVzIiwgIiIsICIiKSBcCisgICAgbWFjcm8oRml4
ZWRGb250RmFtaWx5LCBmaXhlZEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiQ291cmllciIs
ICIiLCAiIikgXAorICAgIG1hY3JvKFNhbnNTZXJpZkZvbnRGYW1pbHksIHNhbnNTZXJpZkZvbnRG
YW1pbHksIFN0cmluZywgU3RyaW5nLCAiSGVsdmV0aWNhIiwgIiIsICIiKSBcCisgICAgbWFjcm8o
U2VyaWZGb250RmFtaWx5LCBzZXJpZkZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiVGltZXMi
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhQaWN0b2dyYXBoRm9udEZhbWlseSwgcGljdG9ncmFwaEZv
bnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiQXBwbGUgQ29sb3IgRW1vamkiLCAiIiwgIiIpIFwK
ICAgICBcCiAKICNlbGlmIFBMQVRGT1JNKEdUSykgfHwgUExBVEZPUk0oRUZMKQogCiAjZGVmaW5l
IEZPUl9FQUNIX1dFQktJVF9GT05UX0ZBTUlMWV9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFj
cm8oU3RhbmRhcmRGb250RmFtaWx5LCBzdGFuZGFyZEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5n
LCAiVGltZXMiKSBcCi0gICAgbWFjcm8oQ3Vyc2l2ZUZvbnRGYW1pbHksIGN1cnNpdmVGb250RmFt
aWx5LCBTdHJpbmcsIFN0cmluZywgIkNvbWljIFNhbnMgTVMiKSBcCi0gICAgbWFjcm8oRmFudGFz
eUZvbnRGYW1pbHksIGZhbnRhc3lGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkltcGFjdCIp
IFwKLSAgICBtYWNybyhGaXhlZEZvbnRGYW1pbHksIGZpeGVkRm9udEZhbWlseSwgU3RyaW5nLCBT
dHJpbmcsICJDb3VyaWVyIE5ldyIpIFwKLSAgICBtYWNybyhTYW5zU2VyaWZGb250RmFtaWx5LCBz
YW5zU2VyaWZGb250RmFtaWx5LCBTdHJpbmcsIFN0cmluZywgIkhlbHZldGljYSIpIFwKLSAgICBt
YWNybyhTZXJpZkZvbnRGYW1pbHksIHNlcmlmRm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJU
aW1lcyIpIFwKLSAgICBtYWNybyhQaWN0b2dyYXBoRm9udEZhbWlseSwgcGljdG9ncmFwaEZvbnRG
YW1pbHksIFN0cmluZywgU3RyaW5nLCAiVGltZXMiKSBcCisgICAgbWFjcm8oU3RhbmRhcmRGb250
RmFtaWx5LCBzdGFuZGFyZEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiVGltZXMiLCAiIiwg
IiIpIFwKKyAgICBtYWNybyhDdXJzaXZlRm9udEZhbWlseSwgY3Vyc2l2ZUZvbnRGYW1pbHksIFN0
cmluZywgU3RyaW5nLCAiQ29taWMgU2FucyBNUyIsICIiLCAiIikgXAorICAgIG1hY3JvKEZhbnRh
c3lGb250RmFtaWx5LCBmYW50YXN5Rm9udEZhbWlseSwgU3RyaW5nLCBTdHJpbmcsICJJbXBhY3Qi
LCAiIiwgIiIpIFwKKyAgICBtYWNybyhGaXhlZEZvbnRGYW1pbHksIGZpeGVkRm9udEZhbWlseSwg
U3RyaW5nLCBTdHJpbmcsICJDb3VyaWVyIE5ldyIsICIiLCAiIikgXAorICAgIG1hY3JvKFNhbnNT
ZXJpZkZvbnRGYW1pbHksIHNhbnNTZXJpZkZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAiSGVs
dmV0aWNhIiwgIiIsICIiKSBcCisgICAgbWFjcm8oU2VyaWZGb250RmFtaWx5LCBzZXJpZkZvbnRG
YW1pbHksIFN0cmluZywgU3RyaW5nLCAiVGltZXMiLCAiIiwgIiIpIFwKKyAgICBtYWNybyhQaWN0
b2dyYXBoRm9udEZhbWlseSwgcGljdG9ncmFwaEZvbnRGYW1pbHksIFN0cmluZywgU3RyaW5nLCAi
VGltZXMiLCAiIiwgIiIpIFwKICAgICBcCiAKICNlbmRpZgogCiAjZGVmaW5lIEZPUl9FQUNIX1dF
QktJVF9TVFJJTkdfUFJFRkVSRU5DRShtYWNybykgXAogICAgIEZPUl9FQUNIX1dFQktJVF9GT05U
X0ZBTUlMWV9QUkVGRVJFTkNFKG1hY3JvKSBcCi0gICAgbWFjcm8oRGVmYXVsdFRleHRFbmNvZGlu
Z05hbWUsIGRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lLCBTdHJpbmcsIFN0cmluZywgZGVmYXVsdFRl
eHRFbmNvZGluZ05hbWVGb3JTeXN0ZW1MYW5ndWFnZSgpKSBcCi0gICAgbWFjcm8oRlRQRGlyZWN0
b3J5VGVtcGxhdGVQYXRoLCBmdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGgsIFN0cmluZywgU3RyaW5n
LCAiIikgXAorICAgIG1hY3JvKERlZmF1bHRUZXh0RW5jb2RpbmdOYW1lLCBkZWZhdWx0VGV4dEVu
Y29kaW5nTmFtZSwgU3RyaW5nLCBTdHJpbmcsIGRlZmF1bHRUZXh0RW5jb2RpbmdOYW1lRm9yU3lz
dGVtTGFuZ3VhZ2UoKSwgIiIsICIiKSBcCisgICAgbWFjcm8oRlRQRGlyZWN0b3J5VGVtcGxhdGVQ
YXRoLCBmdHBEaXJlY3RvcnlUZW1wbGF0ZVBhdGgsIFN0cmluZywgU3RyaW5nLCAiIiwgIiIsICIi
KSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9TVFJJTkdfUFJFRkVSRU5DRV9O
T1RfSU5fV0VCQ09SRShtYWNybykgXAotICAgIG1hY3JvKEluc3BlY3RvcldpbmRvd0ZyYW1lLCBp
bnNwZWN0b3JXaW5kb3dGcmFtZSwgU3RyaW5nLCBTdHJpbmcsICIiKSBcCisgICAgbWFjcm8oSW5z
cGVjdG9yV2luZG93RnJhbWUsIGluc3BlY3RvcldpbmRvd0ZyYW1lLCBTdHJpbmcsIFN0cmluZywg
IiIsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJF
RkVSRU5DRShtYWNybykgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzS2V5cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNL
ZXlzLmNwcAppbmRleCBmZGQwNGY2ZmZhN2IxYzM1NmUxZjIyNjc2ZWJiYzdmY2RmMWFjYzAwLi44
NDY3Y2QzZDEyNGIyY2U1NGYxZTgzOTVjYmQ1NjBlMmI0NGI2NTI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNLZXlzLmNwcApAQCAtMzEsNyArMzEsNyBAQAogbmFt
ZXNwYWNlIFdlYktpdCB7CiBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkgewogCi0jZGVmaW5l
IERFRklORV9LRVlfR0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBE
ZWZhdWx0VmFsdWUpIFwKKyNkZWZpbmUgREVGSU5FX0tFWV9HRVRURVJTKEtleVVwcGVyLCBLZXlM
b3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAogICAgICAgICBjb25zdCBTdHJpbmcmIEtleUxvd2Vy
IyNLZXkoKSBcCiAgICAgICAgIHsgXAogICAgICAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVk
PFN0cmluZz4ga2V5KEFTQ0lJTGl0ZXJhbCgjS2V5VXBwZXIpKTsgXApAQCAtNDAsNiArNDAsNyBA
QCBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkgewogCiBGT1JfRUFDSF9XRUJLSVRfUFJFRkVS
RU5DRShERUZJTkVfS0VZX0dFVFRFUlMpCiBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5D
RShERUZJTkVfS0VZX0dFVFRFUlMpCitGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZFQVRV
UkVfUFJFRkVSRU5DRShERUZJTkVfS0VZX0dFVFRFUlMpCiAKICN1bmRlZiBERUZJTkVfS0VZX0dF
VFRFUlMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2Vz
S2V5cy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzS2V5cy5oCmluZGV4
IDBiOGZiYzc0ZWYzZDY2NTczN2NiZDI1MmJlYmZjMjQxYWU4ZmQwODguLmRmZmMzNzU1YzYxZDhi
ZTY4ZTU4MjViNjhmNzNmYWQ5OTlkOTRiYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc0tleXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNLZXlzLmgKQEAgLTMyLDEwICszMiwxMSBAQAogbmFtZXNwYWNlIFdlYktpdCB7
CiBuYW1lc3BhY2UgV2ViUHJlZmVyZW5jZXNLZXkgewogCi0jZGVmaW5lIERFQ0xBUkVfS0VZX0dF
VFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBj
b25zdCBTdHJpbmcmIEtleUxvd2VyIyNLZXkoKTsKKyNkZWZpbmUgREVDTEFSRV9LRVlfR0VUVEVS
UyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUsIEh1bWFu
UmVhZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIGNvbnN0IFN0cmluZyYgS2V5
TG93ZXIjI0tleSgpOwogCiBGT1JfRUFDSF9XRUJLSVRfUFJFRkVSRU5DRShERUNMQVJFX0tFWV9H
RVRURVJTKQogRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVDTEFSRV9LRVlfR0VU
VEVSUykKK0ZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5UQUxfRkVBVFVSRV9QUkVGRVJFTkNFKERF
Q0xBUkVfS0VZX0dFVFRFUlMpCiAKICN1bmRlZiBERUNMQVJFX0tFWV9HRVRURVJTCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcAppbmRleCAzZTlmZmIy
MWExZDhlZTFmZWNhODhkNTgzNDU2MGY0NzYxNjgzNmNiLi4xNzBhMzA4NzE2MjQ2Y2YwM2M1NDUx
ZTMzZmZkZGViZDRiNTA2ZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJlZmVyZW5jZXNTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuY3BwCkBAIC0xNjAsOSArMTYwLDEwIEBAIHN0YXRpYyBXZWJQcmVmZXJlbmNl
c1N0b3JlOjpWYWx1ZU1hcCYgZGVmYXVsdHMoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZU1hcD4gZGVmYXVsdHM7CiAgICAgaWYgKGRlZmF1
bHRzLmdldCgpLmlzRW1wdHkoKSkgewotI2RlZmluZSBERUZJTkVfREVGQVVMVFMoS2V5VXBwZXIs
IEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBkZWZhdWx0cy5nZXQoKS5z
ZXQoV2ViUHJlZmVyZW5jZXNLZXk6OktleUxvd2VyIyNLZXkoKSwgV2ViUHJlZmVyZW5jZXNTdG9y
ZTo6VmFsdWUoKFR5cGUpRGVmYXVsdFZhbHVlKSk7CisjZGVmaW5lIERFRklORV9ERUZBVUxUUyhL
ZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUsIEh1bWFuUmVh
ZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIGRlZmF1bHRzLmdldCgpLnNldChX
ZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCBXZWJQcmVmZXJlbmNlc1N0b3JlOjpW
YWx1ZSgoVHlwZSlEZWZhdWx0VmFsdWUpKTsKICAgICAgICAgRk9SX0VBQ0hfV0VCS0lUX1BSRUZF
UkVOQ0UoREVGSU5FX0RFRkFVTFRTKQogICAgICAgICBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJF
RkVSRU5DRShERUZJTkVfREVGQVVMVFMpCisgICAgICAgIEZPUl9FQUNIX1dFQktJVF9FWFBFUklN
RU5UQUxfRkVBVFVSRV9QUkVGRVJFTkNFKERFRklORV9ERUZBVUxUUykKICN1bmRlZiBERUZJTkVf
REVGQVVMVFMKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUgPFdlYktpdEFk
ZGl0aW9ucy9XZWJQcmVmZXJlbmNlc1N0b3JlRGVmYXVsdHNBZGRpdGlvbnMuY3BwPgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9BUElFeHBlcmltZW50YWxGZWF0dXJl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRXhwZXJpbWVudGFsRmVhdHVy
ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDUyYjFkZTBkNGU2MDQ5ZmFmZDRjZjQwM2Y1MzlkNzBhYWU0ZjYx
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQVBJRXhw
ZXJpbWVudGFsRmVhdHVyZS5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBUElFeHBlcmltZW50YWxGZWF0dXJlLmgiCisKK25h
bWVzcGFjZSBBUEkgeworCitSZWY8RXhwZXJpbWVudGFsRmVhdHVyZT4gRXhwZXJpbWVudGFsRmVh
dHVyZTo6Y3JlYXRlKGNvbnN0IFdURjo6U3RyaW5nJiBuYW1lLCBjb25zdCBXVEY6OlN0cmluZyYg
a2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscykKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBFeHBlcmltZW50YWxGZWF0dXJlKG5hbWUsIGtleSwgZGV0YWlscykpOworfQorCitFeHBl
cmltZW50YWxGZWF0dXJlOjpFeHBlcmltZW50YWxGZWF0dXJlKGNvbnN0IFdURjo6U3RyaW5nJiBu
YW1lLCBjb25zdCBXVEY6OlN0cmluZyYga2V5LCBjb25zdCBXVEY6OlN0cmluZyYgZGV0YWlscykK
KyAgICA6IG1fbmFtZShuYW1lKQorICAgICwgbV9rZXkoa2V5KQorICAgICwgbV9kZXRhaWxzKGRl
dGFpbHMpCit7Cit9CisKK0V4cGVyaW1lbnRhbEZlYXR1cmU6On5FeHBlcmltZW50YWxGZWF0dXJl
KCkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9B
UElFeHBlcmltZW50YWxGZWF0dXJlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0FQ
SUV4cGVyaW1lbnRhbEZlYXR1cmUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzkwNjlkNTRkNjY3NzljZjIwM2E2
ZDEyNGExNTM0Njg1ZjRhM2U5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9BUElFeHBlcmltZW50YWxGZWF0dXJlLmgKQEAgLTAsMCArMSw1MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgQVBJRXhwZXJpbWVudGFsRmVhdHVyZV9oCisjZGVmaW5lIEFQSUV4
cGVyaW1lbnRhbEZlYXR1cmVfaAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBBUEkgeworCitjbGFzcyBFeHBlcmlt
ZW50YWxGZWF0dXJlIGZpbmFsIDogcHVibGljIE9iamVjdEltcGw8T2JqZWN0OjpUeXBlOjpFeHBl
cmltZW50YWxGZWF0dXJlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxFeHBlcmltZW50YWxG
ZWF0dXJlPiBjcmVhdGUoY29uc3QgV1RGOjpTdHJpbmcmIG5hbWUsIGNvbnN0IFdURjo6U3RyaW5n
JiBrZXksIGNvbnN0IFdURjo6U3RyaW5nJiBkZXRhaWxzKTsKKyAgICB2aXJ0dWFsIH5FeHBlcmlt
ZW50YWxGZWF0dXJlKCk7CisKKyAgICBXVEY6OlN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9uYW1lOyB9CisgICAgV1RGOjpTdHJpbmcga2V5KCkgY29uc3QgeyByZXR1cm4gbV9rZXk7IH0K
KyAgICBXVEY6OlN0cmluZyBkZXRhaWxzKCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWxzOyB9CisK
K3ByaXZhdGU6CisgICAgZXhwbGljaXQgRXhwZXJpbWVudGFsRmVhdHVyZShjb25zdCBXVEY6OlN0
cmluZyYgbmFtZSwgY29uc3QgV1RGOjpTdHJpbmcmIGtleSwgY29uc3QgV1RGOjpTdHJpbmcmIGRl
dGFpbHMpOworCisgICAgV1RGOjpTdHJpbmcgbV9uYW1lOworICAgIFdURjo6U3RyaW5nIG1fa2V5
OworICAgIFdURjo6U3RyaW5nIG1fZGV0YWlsczsKK307CisKK30KKworI2VuZGlmIC8vIEFQSUV4
cGVyaW1lbnRhbEZlYXR1cmVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQVBJQ2FzdC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oCmluZGV4IDc4N2U5OTI3ODlmYzE5YTUzYWViYjYzNDZiMGMxZWI4MWU2YmQ4ODcuLjM0
ZGYxMmU3YmUxYzUyMjliMDMwNzZjOTA0YWEyNDU0ZTc2ZjQzN2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKQEAgLTUxLDYgKzUxLDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1NldHRpbmdzLmg+CiAKIG5hbWVzcGFjZSBBUEkgeworY2xhc3MgRXhwZXJpbWVu
dGFsRmVhdHVyZTsKIGNsYXNzIEZyYW1lSGFuZGxlOwogY2xhc3MgRnJhbWVJbmZvOwogY2xhc3Mg
SGl0VGVzdFJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tQcmVmZXJlbmNlcy5tbQppbmRleCA1OGU2NThjYWE5OGNkZDg2ZGU4ZDRiYzdhZjVmYjJj
NmUzZDgzMmY5Li40ZDJhMTNhZGQyNjkzNzNlMjlhNTgwZDdhYjE1OTIwYTQwMTI0NWExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2Vz
Lm1tCkBAIC0yOCw3ICsyOCwxMSBAQAogCiAjaWYgV0tfQVBJX0VOQUJMRUQKIAorI2ltcG9ydCAi
QVBJQXJyYXkuaCIKKyNpbXBvcnQgIldLTlNBcnJheS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5j
ZXMuaCIKKyNpbXBvcnQgIl9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaCIKKyNpbXBvcnQgIl9XS0V4
cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9y
aWdpbi5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00MTksNiArNDIzLDIzIEBA
IHN0YXRpYyBfV0tTdG9yYWdlQmxvY2tpbmdQb2xpY3kgdG9BUEkoV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW46OlN0b3JhZ2VCbG9ja2luZ1BvCiAgICAgX3ByZWZlcmVuY2VzLT5zZXRGaXhlZEZvbnRG
YW1pbHkoZml4ZWRQaXRjaEZvbnRGYW1pbHkpOwogfQogCisrIChXS19BUlJBWShfV0tFeHBlcmlt
ZW50YWxGZWF0dXJlICopICopX2V4cGVyaW1lbnRhbEZlYXR1cmVzCit7CisgICAgVmVjdG9yPFJl
ZlB0cjxBUEk6Ok9iamVjdD4+IGV4cGVyaW1lbnRhbEZlYXR1cmVzID0gV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6ZXhwZXJpbWVudGFsRmVhdHVyZXMoKTsKKyAgICBSZWY8QVBJOjpBcnJheT4gZGVz
Y3JpcHRpb25zID0gQVBJOjpBcnJheTo6Y3JlYXRlKFdURk1vdmUoZXhwZXJpbWVudGFsRmVhdHVy
ZXMpKTsKKyAgICByZXR1cm4gW3dyYXBwZXIoZGVzY3JpcHRpb25zLmxlYWtSZWYoKSkgYXV0b3Jl
bGVhc2VdOworfQorCistIChCT09MKV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50
YWxGZWF0dXJlICopZmVhdHVyZQoreworICAgIHJldHVybiBfcHJlZmVyZW5jZXMtPmlzRW5hYmxl
ZEZvckZlYXR1cmUoKmZlYXR1cmUtPl9leHBlcmltZW50YWxGZWF0dXJlKTsKK30KKworLSAodm9p
ZClfc2V0RW5hYmxlZDooQk9PTCl2YWx1ZSBmb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0
dXJlICopZmVhdHVyZQoreworICAgIF9wcmVmZXJlbmNlcy0+c2V0RW5hYmxlZEZvckZlYXR1cmUo
dmFsdWUsICpmZWF0dXJlLT5fZXhwZXJpbWVudGFsRmVhdHVyZSk7Cit9CisKIEBlbmQKIAogI2Vu
ZGlmIC8vIFdLX0FQSV9FTkFCTEVECmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggMDljZWQ1YTQ1NDEz
MGU0OGFiZTcyOTViNDM3ZWRjNjhjMGRhODMwZi4uM2VlNjAwMDcyZTBiM2U5Y2Y1NzNhMTUyNjA3
Yzk4YTI4Yzk3MzQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaApAQCAtNDYsNiArNDYsOCBAQCB0eXBl
ZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgX1dLSmF2YVNjcmlwdFJ1bnRpbWVGbGFncykgewog
ICAgIF9XS0phdmFTY3JpcHRSdW50aW1lRmxhZ3NBbGxFbmFibGVkID0gMAogfSBXS19FTlVNX0FW
QUlMQUJMRSgxMF8xMSwgOV8wKTsKIAorQGNsYXNzIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmU7CisK
IEBpbnRlcmZhY2UgV0tQcmVmZXJlbmNlcyAoV0tQcml2YXRlKQogCiAvLyBGSVhNRTogVGhpcyBw
cm9wZXJ0eSBzaG91bGQgbm90IGhhdmUgdGhlIHZlcmIgImlzIiBpbiBpdC4KQEAgLTg1LDYgKzg3
LDExIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBfV0tKYXZhU2NyaXB0UnVudGlt
ZUZsYWdzKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRPZmZsaW5lQXBwbGlj
YXRpb25DYWNoZUlzRW5hYmxlZDopIEJPT0wgX29mZmxpbmVBcHBsaWNhdGlvbkNhY2hlSXNFbmFi
bGVkOwogQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0RnVsbFNjcmVlbkVuYWJsZWQ6
KSBCT09MIF9mdWxsU2NyZWVuRW5hYmxlZCBXS19BVkFJTEFCTEUoMTBfMTEsIDlfMCk7CiAKKysg
KFdLX0FSUkFZKF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUgKikgKilfZXhwZXJpbWVudGFsRmVhdHVy
ZXM7CistIChCT09MKV9pc0VuYWJsZWRGb3JGZWF0dXJlOihfV0tFeHBlcmltZW50YWxGZWF0dXJl
ICopZmVhdHVyZTsKKy0gKHZvaWQpX3NldEVuYWJsZWQ6KEJPT0wpdmFsdWUgZm9yRmVhdHVyZToo
X1dLRXhwZXJpbWVudGFsRmVhdHVyZSAqKWZlYXR1cmU7CisKKwogQGVuZAogCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVu
dGFsRmVhdHVyZS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBl
cmltZW50YWxGZWF0dXJlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjk4ZTkyZjg4MjkyNmVkNDMxZjdmNDBhNDNi
OGY4ZTMyNTBlN2UyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oCkBAIC0wLDAgKzEsNDEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CisKKyNpZiBXS19BUElf
RU5BQkxFRAorCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworV0tfQ0xBU1Nf
QVZBSUxBQkxFKDEwXzExLCA5XzApCitAaW50ZXJmYWNlIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUg
OiBOU09iamVjdAorCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3Ry
aW5nICprZXk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGNvcHkpIE5TU3RyaW5n
ICpuYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBjb3B5KSBOU1N0cmluZyAq
ZGV0YWlsczsKKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZTI1YjRiOTNlNzk1ODE4ODkyMTM0YjFmNmRhODk5YTYxYzM3MzkzCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50
YWxGZWF0dXJlLm1tCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25m
aWcuaCIKKyNpbXBvcnQgIl9XS0V4cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIgorCisjaWYg
V0tfQVBJX0VOQUJMRUQKKworQGltcGxlbWVudGF0aW9uIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUK
KworLSAodm9pZClkZWFsbG9jCit7CisgICAgX2V4cGVyaW1lbnRhbEZlYXR1cmUtPkFQSTo6RXhw
ZXJpbWVudGFsRmVhdHVyZTo6fkV4cGVyaW1lbnRhbEZlYXR1cmUoKTsKKworICAgIFtzdXBlciBk
ZWFsbG9jXTsKK30KKworLSAoTlNTdHJpbmcgKilkZXNjcmlwdGlvbgoreworICAgIHJldHVybiBb
TlNTdHJpbmcgc3RyaW5nV2l0aEZvcm1hdDpAIjwlQDogJXA7IG5hbWUgPSAlQDsga2V5ID0geyAl
QCB9PiIsIE5TU3RyaW5nRnJvbUNsYXNzKHNlbGYuY2xhc3MpLCBzZWxmLCBzZWxmLm5hbWUsIHNl
bGYua2V5XTsKK30KKworLSAoTlNTdHJpbmcgKiluYW1lCit7CisgICAgcmV0dXJuIF9leHBlcmlt
ZW50YWxGZWF0dXJlLT5uYW1lKCk7Cit9CisKKy0gKE5TU3RyaW5nICopa2V5Cit7CisgICAgcmV0
dXJuIF9leHBlcmltZW50YWxGZWF0dXJlLT5rZXkoKTsKK30KKworLSAoTlNTdHJpbmcgKilkZXRh
aWxzCit7CisgICAgcmV0dXJuIF9leHBlcmltZW50YWxGZWF0dXJlLT5kZXRhaWxzKCk7Cit9CisK
KyNwcmFnbWEgbWFyayBXS09iamVjdCBwcm90b2NvbCBpbXBsZW1lbnRhdGlvbgorCistIChBUEk6
Ok9iamVjdCYpX2FwaU9iamVjdAoreworICAgIHJldHVybiAqX2V4cGVyaW1lbnRhbEZlYXR1cmU7
Cit9CisKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL19XS0V4cGVyaW1lbnRhbEZlYXR1cmVJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZWIxZGQxNGRlYTU4MjljZmI4NmQ3YWFlMGM3YjQ3MDMyYTMzZjA4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tF
eHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaApAQCAtMCwwICsxLDQ5IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2ltcG9ydCAiX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oIgorCisjaWYgV0tfQVBJX0VOQUJM
RUQKKworI2ltcG9ydCAiQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIgorI2ltcG9ydCAiV0tPYmpl
Y3QuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2lubGluZSBfV0tFeHBlcmltZW50YWxGZWF0
dXJlICp3cmFwcGVyKEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZSYgZXhwZXJpbWVudGFsRmVhdHVy
ZSkKK3sKKyAgICBBU1NFUlQoW2V4cGVyaW1lbnRhbEZlYXR1cmUud3JhcHBlcigpIGlzS2luZE9m
Q2xhc3M6W19XS0V4cGVyaW1lbnRhbEZlYXR1cmUgY2xhc3NdXSk7CisgICAgcmV0dXJuIChfV0tF
eHBlcmltZW50YWxGZWF0dXJlICopZXhwZXJpbWVudGFsRmVhdHVyZS53cmFwcGVyKCk7Cit9CisK
K30KKworQGludGVyZmFjZSBfV0tFeHBlcmltZW50YWxGZWF0dXJlICgpIDxXS09iamVjdD4gewor
QHBhY2thZ2UKKyAgICBBUEk6Ok9iamVjdFN0b3JhZ2U8QVBJOjpFeHBlcmltZW50YWxGZWF0dXJl
PiBfZXhwZXJpbWVudGFsRmVhdHVyZTsKK30KK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcAppbmRleCBlMWMzOTBlYzgxZjgwZWFlOTQ4
ZjUxNTgxYWVhYjBiZmQwYWI1ZWRkLi4xMjA3YWE1MTZhNmU5YmRjNDRjMTZhYTcyYmY5NGRhYTM4
MTBkY2M3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5j
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAK
QEAgLTE3MCw3ICsxNzAsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjp1cGRhdGVQcml2YXRlQnJv
d3NpbmdWYWx1ZShib29sIHZhbHVlKQogICAgIH0KIH0KIAotI2RlZmluZSBERUZJTkVfUFJFRkVS
RU5DRV9HRVRURVJfQU5EX1NFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlw
ZSwgRGVmYXVsdFZhbHVlKSBcCisjZGVmaW5lIERFRklORV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRf
U0VUVEVSUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBlLCBEZWZhdWx0VmFsdWUs
IEh1bWFuUmVhZGFibGVOYW1lLCBIdW1hblJlYWRhYmxlRGVzY3JpcHRpb24pIFwKICAgICB2b2lk
IFdlYlByZWZlcmVuY2VzOjpzZXQjI0tleVVwcGVyKGNvbnN0IFR5cGUmIHZhbHVlKSBcCiAgICAg
eyBcCiAgICAgICAgIGlmICghbV9zdG9yZS5zZXQjI1R5cGVOYW1lIyNWYWx1ZUZvcktleShXZWJQ
cmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgpLCB2YWx1ZSkpIFwKQEAgLTE4Niw5ICsxODYs
NjQgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6dXBkYXRlUHJpdmF0ZUJyb3dzaW5nVmFsdWUoYm9v
bCB2YWx1ZSkKIAogRk9SX0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0UoREVGSU5FX1BSRUZFUkVOQ0Vf
R0VUVEVSX0FORF9TRVRURVJTKQogRk9SX0VBQ0hfV0VCS0lUX0RFQlVHX1BSRUZFUkVOQ0UoREVG
SU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQorRk9SX0VBQ0hfV0VCS0lUX0VYUEVS
SU1FTlRBTF9GRUFUVVJFX1BSRUZFUkVOQ0UoREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9T
RVRURVJTKQogCiAjdW5kZWYgREVGSU5FX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTCiAK
K3N0YXRpYyBWZWN0b3I8UmVmUHRyPEFQSTo6T2JqZWN0Pj4mIGdsb2JhbEV4cGVyaW1lbnRhbEZl
YXR1cmVzKCkKK3sKKyAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8VmVjdG9yPFJlZlB0cjxBUEk6
Ok9iamVjdD4+PiBmZWF0dXJlczsKKworI2RlZmluZSBBRERfRVhQRVJJTUVOVEFMX1BSRUZFUkVO
Q0VfREVTQ1JJUFRJT04oS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVs
dFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBcCisg
ICAgYXBpRmVhdHVyZSA9IEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZTo6Y3JlYXRlKEh1bWFuUmVh
ZGFibGVOYW1lLCAjS2V5VXBwZXIsIEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbik7IFwKKyAgICBm
ZWF0dXJlcy5nZXQoKS5hcHBlbmQoYXBpRmVhdHVyZSk7IFwKKworICAgIGlmICghZmVhdHVyZXMu
Z2V0KCkuc2l6ZSgpKSB7CisKKyAgICAgICAgUmVmUHRyPEFQSTo6RXhwZXJpbWVudGFsRmVhdHVy
ZT4gYXBpRmVhdHVyZTsKKworICAgICAgICBGT1JfRUFDSF9XRUJLSVRfRVhQRVJJTUVOVEFMX0ZF
QVRVUkVfUFJFRkVSRU5DRShBRERfRVhQRVJJTUVOVEFMX1BSRUZFUkVOQ0VfREVTQ1JJUFRJT04p
CisKKyAgICB9CisKKyN1bmRlZiBBRERfRVhQRVJJTUVOVEFMX1BSRUZFUkVOQ0VfREVTQ1JJUFRJ
T04KKworICAgIHJldHVybiBmZWF0dXJlczsKK30KKworVmVjdG9yPFJlZlB0cjxBUEk6Ok9iamVj
dD4+IFdlYlByZWZlcmVuY2VzOjpleHBlcmltZW50YWxGZWF0dXJlcygpCit7CisgICAgcmV0dXJu
IGdsb2JhbEV4cGVyaW1lbnRhbEZlYXR1cmVzKCk7Cit9CisKK2Jvb2wgV2ViUHJlZmVyZW5jZXM6
OmlzRW5hYmxlZEZvckZlYXR1cmUoY29uc3QgQVBJOjpFeHBlcmltZW50YWxGZWF0dXJlJiBmZWF0
dXJlKSBjb25zdAoreworICAgIGNvbnN0IFN0cmluZyYga2V5ID0gZmVhdHVyZS5rZXkoKTsKKwor
I2RlZmluZSBDQUxMX0VYUEVSSU1FTlRBTF9HRVRURVIoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBl
TmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uKSBcCisgICAgaWYgKGtleSA9PSAjS2V5VXBwZXIpIFwKKyAgICAgICAgcmV0
dXJuIEtleUxvd2VyKCk7IFwKKworRk9SX0VBQ0hfV0VCS0lUX0VYUEVSSU1FTlRBTF9GRUFUVVJF
X1BSRUZFUkVOQ0UoQ0FMTF9FWFBFUklNRU5UQUxfR0VUVEVSKQorCisjdW5kZWYgQ0FMTF9FWFBF
UklNRU5UQUxfR0VUVEVSCisKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wgdmFsdWUsIGNvbnN0IEFQSTo6RXhwZXJp
bWVudGFsRmVhdHVyZSYgZmVhdHVyZSkKK3sKKyAgICBjb25zdCBTdHJpbmcmIGtleSA9IGZlYXR1
cmUua2V5KCk7CisKKyNkZWZpbmUgQ0FMTF9FWFBFUklNRU5UQUxfU0VUVEVSKEtleVVwcGVyLCBL
ZXlMb3dlciwgVHlwZU5hbWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUs
IEh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbikgXAorICAgIGlmIChrZXkgPT0gI0tleVVwcGVyKSBc
CisgICAgICAgIHNldCMjS2V5VXBwZXIodmFsdWUpOyBcCisKKyAgICBGT1JfRUFDSF9XRUJLSVRf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShDQUxMX0VYUEVSSU1FTlRBTF9TRVRURVIp
CisKKyN1bmRlZiBDQUxMX0VYUEVSSU1FTlRBTF9TRVRURVIKK30KKwogYm9vbCBXZWJQcmVmZXJl
bmNlczo6YW55UGFnZXNBcmVVc2luZ1ByaXZhdGVCcm93c2luZygpCiB7CiAgICAgcmV0dXJuIHBy
aXZhdGVCcm93c2luZ1BhZ2VDb3VudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmgKaW5kZXggMDE4MTczODc4MWExN2U5MDZmOWU4OGE5MjllMTEwZGZiZjdiZDI0Ni4u
YjRkMGI3ZTE4YzdkNjAzZmViZDFiOTlmOGU2ZWFkMWE2NzUxNTUxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpZm5kZWYg
V2ViUHJlZmVyZW5jZXNfaAogI2RlZmluZSBXZWJQcmVmZXJlbmNlc19oCiAKKyNpbmNsdWRlICJB
UElFeHBlcmltZW50YWxGZWF0dXJlLmgiCiAjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCiAjaW5jbHVk
ZSAiRm9udFNtb290aGluZ0xldmVsLmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNEZWZpbml0
aW9ucy5oIgpAQCAtMzQsNyArMzUsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jZGVmaW5lIERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRU
RVJfQU5EX1NFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVs
dFZhbHVlKSBcCisjZGVmaW5lIERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMo
S2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJl
YWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBcCiAgICAgdm9pZCBzZXQjI0tl
eVVwcGVyKGNvbnN0IFR5cGUmIHZhbHVlKTsgXAogICAgIFR5cGUgS2V5TG93ZXIoKSBjb25zdDsK
IApAQCAtNTksMTQgKzYwLDEzIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFdlYlByZWZlcmVuY2Vz
U3RvcmUmIHN0b3JlKCkgY29uc3QgeyByZXR1cm4gbV9zdG9yZTsgfQogCi0jZGVmaW5lIERFQ0xB
UkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRFUlMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBl
TmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBcCi0gICAgdm9pZCBzZXQjI0tleVVwcGVyKGNvbnN0
IFR5cGUmIHZhbHVlKTsgXAotICAgIFR5cGUgS2V5TG93ZXIoKSBjb25zdDsgXAotCiAgICAgRk9S
X0VBQ0hfV0VCS0lUX1BSRUZFUkVOQ0UoREVDTEFSRV9QUkVGRVJFTkNFX0dFVFRFUl9BTkRfU0VU
VEVSUykKICAgICBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5DRShERUNMQVJFX1BSRUZF
UkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTKQorICAgIEZPUl9FQUNIX1dFQktJVF9FWFBFUklNRU5U
QUxfRkVBVFVSRV9QUkVGRVJFTkNFKERFQ0xBUkVfUFJFRkVSRU5DRV9HRVRURVJfQU5EX1NFVFRF
UlMpCiAKLSN1bmRlZiBERUNMQVJFX1BSRUZFUkVOQ0VfR0VUVEVSX0FORF9TRVRURVJTCisgICAg
c3RhdGljIFZlY3RvcjxSZWZQdHI8QVBJOjpPYmplY3Q+PiBleHBlcmltZW50YWxGZWF0dXJlcygp
OworICAgIGJvb2wgaXNFbmFibGVkRm9yRmVhdHVyZShjb25zdCBBUEk6OkV4cGVyaW1lbnRhbEZl
YXR1cmUmKSBjb25zdDsKKyAgICB2b2lkIHNldEVuYWJsZWRGb3JGZWF0dXJlKGJvb2wsIGNvbnN0
IEFQSTo6RXhwZXJpbWVudGFsRmVhdHVyZSYpOwogCiAgICAgLy8gRXhwb3NlZCBmb3IgV2ViS2l0
VGVzdFJ1bm5lciB1c2Ugb25seS4KICAgICB2b2lkIGZvcmNlVXBkYXRlKCkgeyB1cGRhdGUoKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNl
c01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJlZmVyZW5jZXNNYWMu
bW0KaW5kZXggMmZhMzUyZTQyNjM4ZWExNjY4MDM2Zjk5MDEzODNhNzQ5MTZiNGQ2MC4uOWFkODA5
NTIyYjYyOWIzZWE5YzBmMGFhZjAzMDhkZTFlMzRjMzM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcmVmZXJlbmNlc01hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlByZWZlcmVuY2VzTWFjLm1tCkBAIC0xNDQsOSArMTQ0LDEw
IEBAIHN0YXRpYyB2b2lkIHNldERlYnVnVUludDMyVmFsdWVJZkluVXNlckRlZmF1bHRzKGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QKIAogdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZv
cm1Jbml0aWFsaXplU3RvcmUoKQogewotI2RlZmluZSBJTklUSUFMSVpFX0RFQlVHX1BSRUZFUkVO
Q0VfRlJPTV9OU1VTRVJERUZBVUxUUyhLZXlVcHBlciwgS2V5TG93ZXIsIFR5cGVOYW1lLCBUeXBl
LCBEZWZhdWx0VmFsdWUpIFwKKyNkZWZpbmUgSU5JVElBTElaRV9ERUJVR19QUkVGRVJFTkNFX0ZS
T01fTlNVU0VSREVGQVVMVFMoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVm
YXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uKSBc
CiAgICAgc2V0RGVidWcjI1R5cGVOYW1lIyNWYWx1ZUlmSW5Vc2VyRGVmYXVsdHMobV9pZGVudGlm
aWVyLCBtX2tleVByZWZpeCwgbV9nbG9iYWxEZWJ1Z0tleVByZWZpeCwgV2ViUHJlZmVyZW5jZXNL
ZXk6OktleUxvd2VyIyNLZXkoKSwgbV9zdG9yZSk7CiAKKyAgICBGT1JfRUFDSF9XRUJLSVRfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVfUFJFRkVSRU5DRShJTklUSUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0Vf
RlJPTV9OU1VTRVJERUZBVUxUUykKICAgICBGT1JfRUFDSF9XRUJLSVRfREVCVUdfUFJFRkVSRU5D
RShJTklUSUFMSVpFX0RFQlVHX1BSRUZFUkVOQ0VfRlJPTV9OU1VTRVJERUZBVUxUUykKIAogI3Vu
ZGVmIElOSVRJQUxJWkVfREVCVUdfUFJFRkVSRU5DRV9GUk9NX05TVVNFUkRFRkFVTFRTCkBAIC0x
NTQsNyArMTU1LDcgQEAgdm9pZCBXZWJQcmVmZXJlbmNlczo6cGxhdGZvcm1Jbml0aWFsaXplU3Rv
cmUoKQogICAgIGlmICghbV9pZGVudGlmaWVyKQogICAgICAgICByZXR1cm47CiAKLSNkZWZpbmUg
SU5JVElBTElaRV9QUkVGRVJFTkNFX0ZST01fTlNVU0VSREVGQVVMVFMoS2V5VXBwZXIsIEtleUxv
d2VyLCBUeXBlTmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlKSBcCisjZGVmaW5lIElOSVRJQUxJWkVf
UFJFRkVSRU5DRV9GUk9NX05TVVNFUkRFRkFVTFRTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5h
bWUsIFR5cGUsIERlZmF1bHRWYWx1ZSwgSHVtYW5SZWFkYWJsZU5hbWUsIEh1bWFuUmVhZGFibGVE
ZXNjcmlwdGlvbikgXAogICAgIFR5cGUgdXNlciMjS2V5VXBwZXIjI1ZhbHVlOyBcCiAgICAgaWYg
KHBsYXRmb3JtR2V0IyNUeXBlTmFtZSMjVXNlclZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5
OjpLZXlMb3dlciMjS2V5KCksIHVzZXIjI0tleVVwcGVyIyNWYWx1ZSkpIFwKICAgICAgICAgbV9z
dG9yZS5zZXQjI1R5cGVOYW1lIyNWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93
ZXIjI0tleSgpLCB1c2VyIyNLZXlVcHBlciMjVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGI2NTJiYmNmZDI4NzczNDM0
NmNhNmVjNzMyOTg2NjhlNDM5ZjE5ZjYuLjdjOWY2NTFjZGQ3ZGFjNjg4OTNjMWZjMjU0MGQ5Mzcy
MDNlZjNiODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTcxMiw2ICs3MTIsMTEgQEAKIAkJMzEzMTI2MUYxNDhGRjgyQzAwQkEy
QTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzEzMTI2MUExNDhGRjgyQjAwQkEy
QTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5oICovOyB9OwogCQkz
MTMxMjYyMDE0OEZGODJDMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTMxMjYxQjE0OEZG
ODJCMDBCQTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5jcHAgKi87IH07CiAJCTMxMzEy
NjIxMTQ4RkY4MkMwMEJBMkEzOSAvKiBXZWJOb3RpZmljYXRpb25NYW5hZ2VyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTMxMjYxQzE0OEZGODJCMDBC
QTJBMzkgLyogV2ViTm90aWZpY2F0aW9uTWFuYWdlci5oICovOyB9OworCQkzMTdGRTdDNTFDNDg3
QTZDMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzIxQzQ4N0E2NjAwQTBDQTg5IC8q
IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLzsgfTsKKwkJMzE3RkU3QzYxQzQ4N0E3MTAwQTBD
QTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4
cGVyaW1lbnRhbEZlYXR1cmUuY3BwICovOyB9OworCQkzMTdGRTdDRDFDNDg3REFFMDBBMENBODkg
LyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTdGRTdDOTFDNDg3RDlEMDBBMENBODkgLyogX1dL
RXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJMzE3RkU3Q0UxQzQ4N0RCODAwQTBDQTg5IC8qIF9XS0V4
cGVyaW1lbnRhbEZlYXR1cmUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMTdGRTdDODFDNDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVh
dHVyZS5tbSAqLzsgfTsKKwkJMzE3RkU3Q0YxQzQ4N0RCRDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxN0ZFN0M3MUM0ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMzE4QkUx
NzExNDc0M0RCMTAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE4QkUxNzAxNDc0M0RCMTAwQThG
QkIyIC8qIFdLTm90aWZpY2F0aW9uTWFuYWdlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxOEJFMTc1MTQ3NDNERDcwMEE4RkJCMiAvKiBXS05v
dGlmaWNhdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMzE4QkUxNzQxNDc0M0RENjAwQThGQkIyIC8qIFdLTm90aWZpY2F0aW9uTWFu
YWdlci5jcHAgKi87IH07CiAJCTMxOEJFMTc3MTQ3NDNFNjAwMEE4RkJCMiAvKiBXS05vdGlmaWNh
dGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAz
MThCRTE3NjE0NzQzRTYwMDBBOEZCQjIgLyogV0tOb3RpZmljYXRpb24uY3BwICovOyB9OwpAQCAt
MjcwOSw2ICsyNzE0LDExIEBACiAJCTMxMzEyNjFDMTQ4RkY4MkIwMEJBMkEzOSAvKiBXZWJOb3Rp
ZmljYXRpb25NYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5v
dGlmaWNhdGlvbk1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzEzMTI2
MUQxNDhGRjgyQzAwQkEyQTM5IC8qIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTm90aWZpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2MDdGMzgxOTYyNzAwMjAwOUI4N0RB
IC8qIExlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzE3RkU3QzExQzQ4N0E2NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1
cmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQVBJRXhwZXJpbWVu
dGFsRmVhdHVyZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0MyMUM0
ODdBNjYwMEEwQ0E4OSAvKiBBUElFeHBlcmltZW50YWxGZWF0dXJlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMzE3RkU3QzcxQzQ4N0Q5RDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1l
bnRhbEZlYXR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLRXhwZXJp
bWVudGFsRmVhdHVyZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMTdGRTdDODFD
NDg3RDlEMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxN0ZFN0M5MUM0ODdEOUQwMEEwQ0E4OSAvKiBf
V0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxOEJFMTcwMTQ3NDNEQjEwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlv
bk1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tOb3RpZmljYXRp
b25NYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxOEJFMTc0MTQ3NDNE
RDYwMEE4RkJCMiAvKiBXS05vdGlmaWNhdGlvbk1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV0tOb3RpZmljYXRpb25NYW5hZ2VyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE4QkUxNzYxNDc0M0U2MDAwQThGQkIyIC8qIFdLTm90aWZp
Y2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTm90aWZp
Y2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTUwMTMsNiArNTAyMyw5
IEBACiAJCQkJMzc5QTg3M0IxOEJCRkYwNzAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb25JbnRl
cm5hbC5oICovLAogCQkJCTFBRDAxQkM3MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tFcnJvclJlY292
ZXJ5QXR0ZW1wdGluZy5oICovLAogCQkJCTFBRDAxQkM2MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tF
cnJvclJlY292ZXJ5QXR0ZW1wdGluZy5tbSAqLywKKwkJCQkzMTdGRTdDNzFDNDg3RDlEMDBBMENB
ODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZS5oICovLAorCQkJCTMxN0ZFN0M4MUM0ODdEOUQw
MEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlLm1tICovLAorCQkJCTMxN0ZFN0M5MUM0
ODdEOUQwMEEwQ0E4OSAvKiBfV0tFeHBlcmltZW50YWxGZWF0dXJlSW50ZXJuYWwuaCAqLywKIAkJ
CQkwMDVEMTU4RTE4RTRDNEVCMDA3MzQ2MTkgLyogX1dLRmluZERlbGVnYXRlLmggKi8sCiAJCQkJ
MkRFQUM1Q0UxQUMzNjhCQjAwQTE5NUQ4IC8qIF9XS0ZpbmRPcHRpb25zLmggKi8sCiAJCQkJMkU3
QTk0NDkxQkJEOTVDNjAwOTQ1NTQ3IC8qIF9XS0ZvY3VzZWRFbGVtZW50SW5mby5oICovLApAQCAt
NTk5NCw2ICs2MDA3LDggQEAKIAkJCQkwNzZFODg0RDFBMTNDQURGMDA1RTkwRkMgLyogQVBJQ29u
dGV4dE1lbnVDbGllbnQuaCAqLywKIAkJCQk4Mzg5MUI2MjFBNjhCMzQyMDAzMEYzODYgLyogQVBJ
RGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCAqLywKIAkJCQkxRjdEMzZDMDE4REE1MTNGMDBEOUQ2
NTkgLyogQVBJRG93bmxvYWRDbGllbnQuaCAqLywKKwkJCQkzMTdGRTdDMTFDNDg3QTY2MDBBMENB
ODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5jcHAgKi8sCisJCQkJMzE3RkU3QzIxQzQ4N0E2
NjAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZlYXR1cmUuaCAqLywKIAkJCQkwMEI5NjYxNTE4
RTI0Q0JBMDBDRTFGODggLyogQVBJRmluZENsaWVudC5oICovLAogCQkJCTJERDY3QTJEMUJEODE5
NzMwMDUzQjI1MSAvKiBBUElGaW5kTWF0Y2hlc0NsaWVudC5oICovLAogCQkJCTM3RTI1RDZEMThG
REU1RDYwMDVEM0EwMCAvKiBBUElGb3JtQ2xpZW50LmggKi8sCkBAIC03NTg1LDYgKzc2MDAsNyBA
QAogCQkJCTJERTY5NDNFMThCRDJBNjgwMDVDMTVFNSAvKiBTbWFydE1hZ25pZmljYXRpb25Db250
cm9sbGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyNzJCMjhCMTQwNjk4NUQwMDk2
QTVEMCAvKiBTdGF0aXN0aWNzRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0QkRFRDMxNkM5
OEVERDAwRTRFMjVFIC8qIFN0YXRpc3RpY3NSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MTdGRTdDRDFDNDg3REFFMDBBMENBODkgLyogX1dLRXhwZXJpbWVudGFsRmVhdHVyZUludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUQzMzA2RjE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFn
ZUFyZWFJbXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUNFQ0QyNTE3MTYyREIxMDAxRkM5RUYg
LyogU3RvcmFnZUFyZWFNYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMzM0REVFMTZERThGODgw
MDZBOEUzOCAvKiBTdG9yYWdlQXJlYU1hcE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTc3
NjcsNiArNzc4Myw3IEBACiAJCQkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdlYlJlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDMzYxRDczMTkyN0ZBMzYw
MDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RDNCOTQ4NDkxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlNlYXJjaFBvcHVwTWVudS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMzE3RkU3QzUxQzQ4N0E2QzAwQTBDQTg5IC8qIEFQSUV4cGVyaW1lbnRhbEZl
YXR1cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNDgzMkQ3MUE5Q0RGOTYwMDhCNERGRSAvKiBX
ZWJzaXRlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0ODMyRDExQTlCREMyRjAwOEI0REZF
IC8qIFdlYnNpdGVEYXRhUmVjb3JkLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTUzQzJBQTFBMzI1
NzMwMDA0RThDNzAgLyogV2Vic2l0ZURhdGFTdG9yZS5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTEw
LDYgKzgxMjcsNyBAQAogCQkJCTI2RjlBODNCMThBMzQ2ODEwMEFFQjg4QSAvKiBXS1dlYlZpZXdQ
cml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUQ2MEY1RTE4RTIwRjRDMDAyMEMwMzQgLyog
V0tXaW5kb3dGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFENjBGNjAxOEUyMEY3NDAw
MjBDMDM0IC8qIFdLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzE3RkU3Q0YxQzQ4N0RCRDAwQTBDQTg5IC8qIF9XS0V4cGVyaW1lbnRhbEZlYXR1cmUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBN0MwREY3MUI3RDFGMTAwMEE5Qjg0OCAvKiBXS1dpbmRvd0ZlYXR1
cmVzUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JFQ0RFODE2QjY0MTY4MDAwNDdBMUEgLyog
WFBDU2VydmljZUVudHJ5UG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKQEAgLTkwNDQsNiAr
OTA2Miw3IEBACiAJCQkJMUEwMDJENDgxOTZCMzQ1RDAwQjlBRDQ0IC8qIFNlc3Npb25TdGF0ZUNv
ZGluZy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNzI4NDQ4MTk1OUY4MDQwMDA3QkNFNSAvKiBT
ZXNzaW9uU3RhdGVDb252ZXJzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc1M0UzRTBEMTg4
NzM5ODUwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkz
MTdGRTdDNjFDNDg3QTcxMDBBMENBODkgLyogQVBJRXhwZXJpbWVudGFsRmVhdHVyZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxQTY0MjBFNDEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0
bWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUMwMUEyNjAxMTI2NjJGMjEwMEM5RUQ1NSAvKiBT
aGFyZWFibGVCaXRtYXBDRy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUNDNTBGMTFDQkMzODFE
MDAzQzdEMDMgLyogV0tPcGVuUGFuZWxQYXJhbWV0ZXJzLm1tIGluIFNvdXJjZXMgKi8sCkBAIC05
MjYwLDYgKzkyNzksNyBAQAogCQkJCUJDRUU3QUQwMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9j
ZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUExRTA5MzMx
ODg2MUQzODAwRDJEQzQ5IC8qIFdlYlByb2dyZXNzVHJhY2tlckNsaWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTJGNTg5QzEyQTg4Mzg4MDA2Mjk1MzAgLyogV2ViUHJvdGVjdGlvblNwYWNl
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMxN0ZFN0NFMUM0ODdEQjgwMEEwQ0E4OSAvKiBfV0tF
eHBlcmltZW50YWxGZWF0dXJlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFDNTEyQzgxOTA2NTZF
NTAwNDQ4OTE0IC8qIFdlYlF1aWNrTG9va0hhbmRsZUNsaWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzNzk0ODQwMzE1MEMzNTA2MDBFNTJDRTkgLyogV2ViUmVuZGVyTGF5ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVj
dC5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAppbmRleCBlYWRhMzMwNzdlYjJiMjI3MTM5N2RjOTFlMTM1MmFjN2JjYzJk
NTNiLi5lN2VhNzgwZjQ0YWYyNzMyNjhlZTZhNDdiOTJkNWU0MjdhODA5ZmNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0yODQyLDcgKzI4
NDIsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVu
Y2VzU3RvcmUmIHN0b3JlKQogICAgIC8vIGJ1dCB3ZSBjdXJyZW50bHkgZG9uJ3QgbWF0Y2ggdGhl
IG5hbWluZyBvZiBXZWJDb3JlIGV4YWN0bHkgc28gd2UgYXJlCiAgICAgLy8gaGFuZHJvbGxpbmcg
dGhlIGJvb2xlYW4gYW5kIGludGVnZXIgcHJlZmVyZW5jZXMgdW50aWwgdGhhdCBpcyBmaXhlZC4K
IAotI2RlZmluZSBJTklUSUFMSVpFX1NFVFRJTkdTKEtleVVwcGVyLCBLZXlMb3dlciwgVHlwZU5h
bWUsIFR5cGUsIERlZmF1bHRWYWx1ZSkgc2V0dGluZ3Muc2V0IyNLZXlVcHBlcihzdG9yZS5nZXQj
I1R5cGVOYW1lIyNWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6S2V5TG93ZXIjI0tleSgp
KSk7CisjZGVmaW5lIElOSVRJQUxJWkVfU0VUVElOR1MoS2V5VXBwZXIsIEtleUxvd2VyLCBUeXBl
TmFtZSwgVHlwZSwgRGVmYXVsdFZhbHVlLCBIdW1hblJlYWRhYmxlTmFtZSwgSHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uKSBzZXR0aW5ncy5zZXQjI0tleVVwcGVyKHN0b3JlLmdldCMjVHlwZU5hbWUj
I1ZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpLZXlMb3dlciMjS2V5KCkpKTsKIAogICAg
IEZPUl9FQUNIX1dFQktJVF9TVFJJTkdfUFJFRkVSRU5DRShJTklUSUFMSVpFX1NFVFRJTkdTKQog
CkBAIC0zMTA2LDcgKzMxMDYsNyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNv
bnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogI2lmIEVOQUJMRShET1dOTE9BRF9BVFRS
SUJVVEUpCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRE
b3dubG9hZEF0dHJpYnV0ZUVuYWJsZWQoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5Ojpkb3dubG9hZEF0dHJpYnV0ZUVuYWJsZWRLZXkoKSkpOwogI2VuZGlmCi0gICAg
CisKICAgICBib29sIHByb2Nlc3NTdXBwcmVzc2lvbkVuYWJsZWQgPSBzdG9yZS5nZXRCb29sVmFs
dWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnBhZ2VWaXNpYmlsaXR5QmFzZWRQcm9jZXNzU3Vw
cHJlc3Npb25FbmFibGVkS2V5KCkpOwogICAgIGlmIChtX3Byb2Nlc3NTdXBwcmVzc2lvbkVuYWJs
ZWQgIT0gcHJvY2Vzc1N1cHByZXNzaW9uRW5hYmxlZCkgewogICAgICAgICBtX3Byb2Nlc3NTdXBw
cmVzc2lvbkVuYWJsZWQgPSBwcm9jZXNzU3VwcHJlc3Npb25FbmFibGVkOwpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhhNzMwM2ZmMmYyNjMwMjgx
ZGY0Njc5MGNjNjllNTNiNDkwMGFmOTAuLmJiYzgwMzMyZGQzMDhjNDlkNjUwNTRiYmE1NWY4ZThj
MmNjYjY1MWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNi0wNC0xNSAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBs
ZS5jb20+CisKKyAgICAgICAgTmV3IFNQSSB0byBleHBvcnQgYSBkaWN0aW9uYXJ5IG9mIHJ1bnRp
bWUgZmVhdHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1NjY0NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjM2MjE2NjY+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdCB0aGUgZXhwZXJpbWVu
dGFsIGZlYXR1cmVzIFNQSSBvbiBXS1ByZWZlcmVuY2VzLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXQyQ29jb2EvUHJlZmVyZW5jZXMubW06CisKIDIwMTYtMDQtMTQgIEJy
ZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSA8YSBkb3du
bG9hZD4gYSBydW50aW1lIGVuYWJsZWQgb3B0aW9uCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2Vi
S2l0QVBJL1Rlc3RzL1dlYktpdDJDb2NvYS9QcmVmZXJlbmNlcy5tbSBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0MkNvY29hL1ByZWZlcmVuY2VzLm1tCmluZGV4IDVkZWU1ODFjOThm
ZGI0ZjhlZDI3NTE3YzkyYmYyYjE5MDBiN2FjYTAuLmM1ZjlmOGIzNzg0YTU1ZDZhNDRkNjM5MTMw
YmM3MGM3ZmNkYmUzODkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0MkNvY29hL1ByZWZlcmVuY2VzLm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0MkNvY29hL1ByZWZlcmVuY2VzLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1wb3J0ICJU
ZXN0LmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tGb3VuZGF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQv
V0tQcmVmZXJlbmNlc1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYktpdC9fV0tFeHBlcmltZW50YWxG
ZWF0dXJlLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIFRFU1QoV2ViS2l0MiwgRGVm
YXVsdFdLUHJlZmVyZW5jZXMpCkBAIC00MSw0ICs0MiwxNyBAQCBURVNUKFdlYktpdDIsIERlZmF1
bHRXS1ByZWZlcmVuY2VzKQogICAgIEVYUEVDVF9UUlVFKFtwcmVmZXJlbmNlcyBfaXNTdGFuZGFs
b25lXSk7CiB9CiAKK1RFU1QoV2ViS2l0MiwgRXhwZXJpbWVudGFsRmVhdHVyZXMpCit7CisgICAg
TlNBcnJheTxfV0tFeHBlcmltZW50YWxGZWF0dXJlICo+ICpmZWF0dXJlcyA9IFtXS1ByZWZlcmVu
Y2VzIF9leHBlcmltZW50YWxGZWF0dXJlc107CisgICAgRVhQRUNUX05PVF9OVUxMKGZlYXR1cmVz
KTsKKworICAgIFJldGFpblB0cjxXS1ByZWZlcmVuY2VzPiBwcmVmZXJlbmNlcyA9IGFkb3B0TlMo
W1tXS1ByZWZlcmVuY2VzIGFsbG9jXSBpbml0XSk7CisKKyAgICBmb3IgKF9XS0V4cGVyaW1lbnRh
bEZlYXR1cmUgKmZlYXR1cmUgaW4gZmVhdHVyZXMpIHsKKyAgICAgICAgQk9PTCB2YWx1ZSA9IFtw
cmVmZXJlbmNlcyBfaXNFbmFibGVkRm9yRmVhdHVyZTpmZWF0dXJlXTsKKyAgICAgICAgW3ByZWZl
cmVuY2VzIF9zZXRFbmFibGVkOnZhbHVlIGZvckZlYXR1cmU6ZmVhdHVyZV07CisgICAgfQorfQor
CiAjZW5kaWYK
</data>
<flag name="review"
          id="300825"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>