<?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>56878</bug_id>
          
          <creation_ts>2011-03-22 16:38:19 -0700</creation_ts>
          <short_desc>WebKit2: Need API to manage the Media Cache</short_desc>
          <delta_ts>2011-04-07 11:10:57 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Weinstein">bweinstein</reporter>
          <assigned_to name="Brian Weinstein">bweinstein</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>beidson</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>371805</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-22 16:38:19 -0700</bug_when>
    <thetext>We need WebKit2 API to manager the Media Cache.

1) List of all hostnames with entries in the media cache
2) Delete media cache entries for a host name
3) Delete all media cache entries.

&lt;rdar://problem/9082503&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371822</commentid>
    <comment_count>1</comment_count>
      <attachid>86544</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-22 16:57:11 -0700</bug_when>
    <thetext>Created attachment 86544
[PATCH] Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371862</commentid>
    <comment_count>2</comment_count>
      <attachid>86551</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-22 17:31:17 -0700</bug_when>
    <thetext>Created attachment 86551
[PATCH] Fix (Applies cleanly to ToT)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>371865</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-22 17:35:25 -0700</bug_when>
    <thetext>Attachment 86551 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit...&quot; exit_code: 1

Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.h:33:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 3 in 28 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372242</commentid>
    <comment_count>4</comment_count>
      <attachid>86551</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-23 10:30:03 -0700</bug_when>
    <thetext>Comment on attachment 86551
[PATCH] Fix (Applies cleanly to ToT)

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

&gt;&gt; Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp:30
&gt;&gt; +#include &quot;WebContext.h&quot;
&gt; 
&gt; Alphabetical sorting problem.  [build/include_order] [4]

Should fix the sorting here just like the style bot says.

&gt;&gt; Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h:38
&gt;&gt; +    class ArgumentDecoder;
&gt; 
&gt; Code inside a namespace should not be indented.  [whitespace/indent] [4]

This, I think, is a style bot mistake, so OK to leave as is. I’m not sure everyone else agrees.

&gt; Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp:34
&gt; +#include &quot;WebProcess.h&quot;
&gt; +
&gt; +#include &lt;WebCore/NotImplemented.h&gt;

We don’t leave spaces in cases like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372274</commentid>
    <comment_count>5</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-23 11:11:54 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 86551 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=86551&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp:30
&gt; &gt;&gt; +#include &quot;WebContext.h&quot;
&gt; &gt; 
&gt; &gt; Alphabetical sorting problem.  [build/include_order] [4]
&gt; 
&gt; Should fix the sorting here just like the style bot says.

Fixed.

&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.h:38
&gt; &gt;&gt; +    class ArgumentDecoder;
&gt; &gt; 
&gt; &gt; Code inside a namespace should not be indented.  [whitespace/indent] [4]
&gt; 
&gt; This, I think, is a style bot mistake, so OK to leave as is. I’m not sure everyone else agrees.

I tend to think it is a style bot mistake as well. I&apos;ll leave it as it is. This seems to be a style I&apos;ve seen used a lot especially in WebKit2.

&gt; 
&gt; &gt; Source/WebKit2/WebProcess/MediaCache/WebMediaCacheManager.cpp:34
&gt; &gt; +#include &quot;WebProcess.h&quot;
&gt; &gt; +
&gt; &gt; +#include &lt;WebCore/NotImplemented.h&gt;
&gt; 
&gt; We don’t leave spaces in cases like this.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372282</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-23 11:28:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81788 might have broken Qt Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372294</commentid>
    <comment_count>7</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-23 11:39:10 -0700</bug_when>
    <thetext>Landed in r81788 with build fix in r81790. Next part of this bug is filling in the FIXMEs in WebMediaCacheManager to actually call the functions to do work on the media cache.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372476</commentid>
    <comment_count>8</comment_count>
      <attachid>86702</attachid>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-03-23 15:15:52 -0700</bug_when>
    <thetext>Created attachment 86702
[PATCH] Call HTMLMediaElement from WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>372601</commentid>
    <comment_count>9</comment_count>
      <attachid>86702</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2011-03-23 18:39:42 -0700</bug_when>
    <thetext>Comment on attachment 86702
[PATCH] Call HTMLMediaElement from WebKit2

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>381500</commentid>
    <comment_count>10</comment_count>
    <who name="Brian Weinstein">bweinstein</who>
    <bug_when>2011-04-07 11:10:57 -0700</bug_when>
    <thetext>Landed the rest in r81836.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86544</attachid>
            <date>2011-03-22 16:57:11 -0700</date>
            <delta_ts>2011-03-22 17:31:17 -0700</delta_ts>
            <desc>[PATCH] Fix</desc>
            <filename>media_cache_manager.patch</filename>
            <type>text/plain</type>
            <size>65846</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNzIwKQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMDMtMjIgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdDI6IE5lZWQgQVBJIHRvIG1hbmFnZSB0aGUg
TWVkaWEgQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU2ODc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDgyNTAzPgorCisgICAgICAgIFBy
b2plY3QgRmlsZSBGdW46CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
S2l0Mi5wcmk6CisgICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAg
ICAgICAgKiB3aW4vV2ViS2l0MkNvbW1vbi52c3Byb3BzOgorICAgICAgICAqIHdpbi9XZWJLaXQy
R2VuZXJhdGVkLm1ha2U6CisgICAgICAgIAorICAgICAgICBEZXJpdmVkIFNvdXJjZXMgYW5kIEFQ
SSBmdW46CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5wcm86CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaDoKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVj
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOiBBZGQgYSBjYXNlIGZvciBNZWRp
YUNhY2hlIG1lc3NhZ2VzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKTogRGl0dG8uCisg
ICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6IEluaXRpYWxpemUgdGhlIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0Ojp+V2ViQ29udGV4dCk6IEludmFsaWRhdGUgdGhlIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHkuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRpc2Nvbm5lY3RQcm9jZXNzKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRpZFJlY2VpdmVNZXNzYWdlKTogQWRk
IGEgY2FzZSBmb3IgTWVkaWFDYWNoZSBtZXNzYWdlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjptZWRpYUNhY2hlTWFuYWdl
clByb3h5KToKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAg
ICAgICAoV0tDb250ZXh0R2V0TWVkaWFDYWNoZU1hbmFnZXIpOiBSZXR1cm5zIHRoZSBjb250ZXh0
J3MgV2ViTWVkaWFDYWNoZU1hbmFnZXIuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNoZU1hbmFnZXIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTWVkaWFDYWNoZU1hbmFnZXJHZXRUeXBlSUQpOiBSZXR1
cm5zIHRoZSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5IHR5cGUuCisgICAgICAgIChXS01lZGlh
Q2FjaGVNYW5hZ2VyR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUpOiBDYWxscyBkb3duIHRvIHRo
ZSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LgorICAgICAgICAoV0tNZWRpYUNhY2hlTWFuYWdl
ckNsZWFyQ2FjaGVGb3JIb3N0bmFtZSk6IERpdHRvLgorICAgICAgICAoV0tNZWRpYUNhY2hlTWFu
YWdlckNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFtZXMpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5oOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Ojp+V2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHk6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHk6OmdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKTogQ2FsbCB0aHJvdWdoIHRv
IHRoZSBXZWJQcm9jZXNzLgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5OjpkaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSk6IFByb2Nlc3MgdGhlIFdlYlByb2Nl
c3MgcmVzcG9uc2UsCisgICAgICAgICAgICBhbmQgY2FsbCB0aGUgY2FsbGJhY2suCisgICAgICAg
IChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JIb3N0bmFt
ZSk6IENhbGwgdGhyb3VnaCB0byB0aGUgV2ViUHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcyk6IENhbGwg
dGhyb3VnaCB0byB0aGUgV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eTo6Y2xlYXJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eTo6dHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46IEFkZGVkLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9NZWRpYUNhY2hlOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFD
YWNoZU1hbmFnZXI6OnNoYXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5h
Z2VyOjpXZWJNZWRpYUNhY2hlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2Fj
aGVNYW5hZ2VyOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
Q2FjaGVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSk6IEFkZGVkIGEgRklYTUUg
dG8gY2FsbCB0aHJvdWdoIHRvIFdlYkNvcmUuCisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2Fj
aGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9ySG9zdG5hbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKwogMjAxMS0wMy0yMiAgQW5kZXJzIENhcmxzc29u
ICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UJKHJldmlzaW9uIDgxNTk4KQorKysg
U291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtMzAs
NiArMzAsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvR2VvbG9jYXRp
b24gXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UgXAogICAgICQoV2Vi
S2l0MikvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UgXAorICAgICQoV2ViS2l0MikvV2ViUHJv
Y2Vzcy9NZWRpYUNhY2hlIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCiAg
ICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUgXAogICAgICQoV2ViS2l0Mikv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCBcCkBAIC02Nyw2ICs2OCw4IEBAIE1FU1NBR0VfUkVD
RUlWRVJTID0gXAogICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyIFwKICAgICBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkgXAorICAgIFdl
Yk1lZGlhQ2FjaGVNYW5hZ2VyIFwKKyAgICBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5IFwKICAg
ICBXZWJQYWdlIFwKICAgICBXZWJQYWdlUHJveHkgXAogICAgIFdlYlByb2Nlc3MgXApJbmRleDog
U291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMucHJvCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLnBybwkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2Vi
S2l0Mi9EZXJpdmVkU291cmNlcy5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTgyLDYgKzgyLDcgQEAg
VlBBVEggPSBcCiAgICAgV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbiBcCiAgICAgV2ViUHJvY2Vzcy9J
Y29uRGF0YWJhc2UgXAogICAgIFdlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdlIFwKKyAgICBXZWJQ
cm9jZXNzL01lbW9yeUNhY2hlIFwKICAgICBXZWJQcm9jZXNzL1BsdWdpbnMgXAogICAgIFdlYlBy
b2Nlc3MvUmVzb3VyY2VDYWNoZSBcCiAgICAgV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCBcCkBA
IC0xMTMsNiArMTE0LDggQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViSW5zcGVjdG9y
UHJveHkubWVzc2FnZXMuaW4gXAogICAgIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIubWVzc2Fn
ZXMuaW4gXAogICAgIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiBc
CisgICAgV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW4gXAorICAgIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gXAogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyLm1l
c3NhZ2VzLmluIFwKICAgICBXZWJGdWxsU2NyZWVuTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIFwK
ICAgICBXZWJQYWdlL1dlYkluc3BlY3Rvci5tZXNzYWdlcy5pbiBcCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5hbQkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bQkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsNyBAQCBsaWJXZWJLaXQyX2xhX0hFQURFUlMg
PSBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmgg
XAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmggXAogCSQoV2ViS2l0
MikvVUlQcm9jZXNzL0FQSS9DL1dLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIFwKKwkkKFdlYktp
dDIpL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhQ2FjaGVNYW5hZ2VyLmggXAogCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCiAJJChXZWJLaXQyKS9VSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S09wZW5QYW5lbFBhcmFtZXRlcnMuaCBcCkBAIC0zMjQsNiArMzI1LDggQEAgbGliV2ViS2l0Ml9s
YV9TT1VSQ0VTID0gXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0luc3BlY3Rv
ci5oIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tLZXlWYWx1ZVN0b3JhZ2VN
YW5hZ2VyLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLS2V5VmFsdWVT
dG9yYWdlTWFuYWdlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRp
YUNhY2hlTWFuYWdlci5jcHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01l
ZGlhQ2FjaGVNYW5hZ2VyLmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05h
dGl2ZUV2ZW50LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRp
b25EYXRhLmNwcCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlv
bkRhdGEuaCBcCkBAIC00NTMsNiArNDU2LDggQEAgbGliV2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJJbnNwZWN0b3JQcm94eS5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5o
IFwKKwlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5j
cHAgXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5
LmggXAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwIFwKIAlT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmggXAogCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uRGF0YS5jcHAgXApAQCAtNTcwLDYgKzU3NSw4IEBA
IGxpYldlYktpdDJfbGFfU09VUkNFUyA9IFwKIAlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCBcCiAJU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlci5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdlL1dl
YktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCBcCisJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9N
ZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcCBcCisJU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggXAogCVNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBcCiAJU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuaCBcCiAJU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwIFwK
QEAgLTcxMyw2ICs3MjAsNyBAQCBsaWJXZWJLaXQyX2xhX0NQUEZMQUdTID0gXAogCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrIFwKIAktSSQo
c3JjZGlyKS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZSBcCiAJLUkk
KHNyY2RpcikvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9MYXVuY2hpbmcgXAorCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAJLUkkKHNyY2Rpcikv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlIFwKIAktSSQoc3JjZGlyKS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZSBcCkBAIC04ODcsNiArODk1LDEwIEBA
IHdlYmtpdDJfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJL
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKIAlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYlBhZ2VQcm94eU1lc3NhZ2VzLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgXApAQCAtOTI4LDYgKzk0MCw3IEBAIHZwYXRo
ICUubWVzc2FnZXMuaW4gPSBcCiAJJChXZWJLaXQyKS9XZWJQcm9jZXNzL0dlb2xvY2F0aW9uIFwK
IAkkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwKIAkkKFdlYktpdDIpL1dlYlBy
b2Nlc3MvS2V5VmFsdWVTdG9yYWdlIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNo
ZSBcCiAJJChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMgXAogCSQoV2ViS2l0MikvV2ViUHJv
Y2Vzcy9SZXNvdXJjZUNhY2hlIFwKIAkkKFdlYktpdDIpL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQgXApJbmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi5wcmkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViS2l0Mi5wcmkJKHJldmlzaW9uIDgxNTk4KQorKysgU291cmNlL1dlYktp
dDIvV2ViS2l0Mi5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTUwLDYgKzUwLDcgQEAgV0VCS0lUMl9J
TkNMVURFUEFUSCA9IFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0RPTSBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYyBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9L
ZXlWYWx1ZVN0b3JhZ2UgXAorICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvTWVk
aWFDYWNoZSBcCiAgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zIFwK
ICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUgXAog
ICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZSBcCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnBybwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnBybwkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQy
LnBybwkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsOCBAQCBXRUJLSVQyX0dFTkVSQVRFRF9I
RUFERVJTID0gXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvV2ViSW5zcGVj
dG9yUHJveHlNZXNzYWdlcy5oIFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElS
L1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oIFwKICAgICAkJFdFQktJVDJfR0VO
RVJBVEVEX1NPVVJDRVNfRElSL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1lc3NhZ2Vz
LmggXAorICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvV2ViTWVkaWFDYWNoZU1h
bmFnZXJNZXNzYWdlcy5oIFwKKyAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dl
Yk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIFwKICAgICAkJFdFQktJVDJfR0VORVJB
VEVEX1NPVVJDRVNfRElSL1dlYlBhZ2VNZXNzYWdlcy5oIFwKICAgICAkJFdFQktJVDJfR0VORVJB
VEVEX1NPVVJDRVNfRElSL1dlYlBhZ2VQcm94eU1lc3NhZ2VzLmggXAogICAgICQkV0VCS0lUMl9H
RU5FUkFURURfU09VUkNFU19ESVIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIFwKQEAg
LTc2LDYgKzc4LDggQEAgV0VCS0lUMl9HRU5FUkFURURfU09VUkNFUyA9IFwKICAgICAkJFdFQktJ
VDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XZWJLZXlWYWx1ZVN0
b3JhZ2VNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRF
RF9TT1VSQ0VTX0RJUi9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwIFwKKyAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dlYk1lZGlhQ2Fj
aGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBcCisgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9T
T1VSQ0VTX0RJUi9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBc
CiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XZWJQYWdlTWVzc2FnZVJlY2Vp
dmVyLmNwcCBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XZWJQYWdlUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNf
RElSL1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCBcCkBAIC0yMDYsNiAr
MjEwLDcgQEAgSEVBREVSUyArPSBcCiAgICAgVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5Lmgg
XAogICAgIFVJUHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkuaCBcCiAgICAg
VUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKyAgICBVSVByb2Nlc3MvV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eS5oIFwKICAgICBVSVByb2Nlc3MvV2ViTmF2aWdhdGlvbkRhdGEuaCBcCiAg
ICAgVUlQcm9jZXNzL1dlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkuaCBcCiAgICAgVUlQ
cm9jZXNzL1dlYlBhZ2VDb250ZXh0TWVudUNsaWVudC5oIFwKQEAgLTI0MSw2ICsyNDYsNyBAQCBI
RUFERVJTICs9IFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
U2NyaXB0V29ybGQuaCBcCiAgICAgV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggXAogICAgIFdlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdl
L1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXIuaCBcCisgICAgV2ViUHJvY2Vzcy9NZWRpYUNhY2hl
L1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggXAogICAgIFdlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9X
ZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5oIFwKICAgICBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE1ldGhvZC5oIFwKICAgICBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9i
amVjdC5oIFwKQEAgLTQwMCw2ICs0MDYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBVSVByb2Nlc3Mv
V2ViSW5zcGVjdG9yUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViS2V5VmFsdWVTdG9yYWdl
TWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAor
ICAgIFVJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCBcCiAgICAgVUlQcm9j
ZXNzL1dlYk5hdmlnYXRpb25EYXRhLmNwcCBcCiAgICAgVUlQcm9jZXNzL1dlYk9wZW5QYW5lbFJl
c3VsdExpc3RlbmVyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViUGFnZUNvbnRleHRNZW51
Q2xpZW50LmNwcCBcCkBAIC00NDksNiArNDU2LDcgQEAgU09VUkNFUyArPSBcCiAgICAgV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCiAgICAg
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9xdC9JbmplY3RlZEJ1bmRsZVF0LmNwcCBcCiAgICAg
V2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAg
XAorICAgIFdlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAgXAog
ICAgIFdlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZS9XZWJSZXNvdXJjZUNhY2hlTWFuYWdlci5jcHAg
XAogICAgIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QTWV0aG9kLmNwcCBcCiAgICAg
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuY3BwIFwKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaAkocmV2aXNpb24gODE1OTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCSh3b3JraW5n
IGNvcHkpCkBAIC00Nyw2ICs0Nyw3IEBAIGVudW0gTWVzc2FnZUNsYXNzIHsKICAgICBNZXNzYWdl
Q2xhc3NXZWJJY29uRGF0YWJhc2VQcm94eSwKICAgICBNZXNzYWdlQ2xhc3NXZWJJbnNwZWN0b3Is
CiAgICAgTWVzc2FnZUNsYXNzV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlciwKKyAgICBNZXNzYWdl
Q2xhc3NXZWJNZWRpYUNhY2hlTWFuYWdlciwKICAgICBNZXNzYWdlQ2xhc3NXZWJQYWdlLAogICAg
IE1lc3NhZ2VDbGFzc1dlYlByb2Nlc3MsCiAgICAgTWVzc2FnZUNsYXNzV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXIsCkBAIC02NSw2ICs2Niw3IEBAIGVudW0gTWVzc2FnZUNsYXNzIHsKICAgICBNZXNz
YWdlQ2xhc3NXZWJJY29uRGF0YWJhc2UsCiAgICAgTWVzc2FnZUNsYXNzV2ViSW5zcGVjdG9yUHJv
eHksCiAgICAgTWVzc2FnZUNsYXNzV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LAorICAg
IE1lc3NhZ2VDbGFzc1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHksCiAgICAgTWVzc2FnZUNsYXNz
V2ViUGFnZVByb3h5LAogICAgIE1lc3NhZ2VDbGFzc1dlYlByb2Nlc3NQcm94eSwKICAgICBNZXNz
YWdlQ2xhc3NXZWJQcm9jZXNzUHJveHlMZWdhY3ksCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9i
amVjdC5oCShyZXZpc2lvbiA4MTU5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElPYmpl
Y3QuaAkod29ya2luZyBjb3B5KQpAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAgICAgICAgIFR5
cGVJY29uRGF0YWJhc2UsCiAgICAgICAgIFR5cGVJbnNwZWN0b3IsCiAgICAgICAgIFR5cGVLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyLAorICAgICAgICBUeXBlTWVkaWFDYWNoZU1hbmFnZXIsCiAgICAg
ICAgIFR5cGVOYXZpZ2F0aW9uRGF0YSwKICAgICAgICAgVHlwZU9wZW5QYW5lbFBhcmFtZXRlcnMs
CiAgICAgICAgIFR5cGVPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lciwKSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tCYXNlLmgJKHJldmlzaW9uIDgxNTk4KQorKysgU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4Niw3IEBAIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLR2VvbG9jYXRpb24KIHR5cGVkZWYgY29uc3Qgc3Ry
dWN0IE9wYXF1ZVdLR2VvbG9jYXRpb25Qb3NpdGlvbiogV0tHZW9sb2NhdGlvblBvc2l0aW9uUmVm
OwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tJbnNwZWN0b3IqIFdLSW5zcGVjdG9yUmVm
OwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKiBX
S0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVX
S01lZGlhQ2FjaGVNYW5hZ2VyKiBXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmOwogdHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlV0tOYXZpZ2F0aW9uRGF0YSogV0tOYXZpZ2F0aW9uRGF0YVJlZjsKIHR5
cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLT3BlblBhbmVsUGFyYW1ldGVycyogV0tPcGVuUGFu
ZWxQYXJhbWV0ZXJzUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tPcGVuUGFuZWxS
ZXN1bHRMaXN0ZW5lciogV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclJlZjsKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHJldmlzaW9uIDgxNTk4KQorKysgU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaCIKICNp
bmNsdWRlICJXZWJJY29uRGF0YWJhc2UuaCIKICNpbmNsdWRlICJXZWJLZXlWYWx1ZVN0b3JhZ2VN
YW5hZ2VyUHJveHkuaCIKKyNpbmNsdWRlICJXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmgiCiAj
aW5jbHVkZSAiV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUdy
b3VwLmgiCiAjaW5jbHVkZSAiV2ViTWVtb3J5U2FtcGxlci5oIgpAQCAtMTE5LDYgKzEyMCw3IEBA
IFdlYkNvbnRleHQ6OldlYkNvbnRleHQoUHJvY2Vzc01vZGVsIHByb2MKICAgICAsIG1fZ2VvbG9j
YXRpb25NYW5hZ2VyUHJveHkoV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk6OmNyZWF0ZSh0aGlz
KSkKICAgICAsIG1faWNvbkRhdGFiYXNlKFdlYkljb25EYXRhYmFzZTo6Y3JlYXRlKHRoaXMpKQog
ICAgICwgbV9rZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkoV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlclByb3h5OjpjcmVhdGUodGhpcykpCisgICAgLCBtX21lZGlhQ2FjaGVNYW5hZ2VyUHJveHko
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6Y3JlYXRlKHRoaXMpKQogICAgICwgbV9wbHVnaW5T
aXRlRGF0YU1hbmFnZXIoV2ViUGx1Z2luU2l0ZURhdGFNYW5hZ2VyOjpjcmVhdGUodGhpcykpCiAg
ICAgLCBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHkoV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eTo6Y3JlYXRlKHRoaXMpKQogI2lmIFBMQVRGT1JNKFdJTikKQEAgLTE2MSw2ICsxNjMsOSBA
QCBXZWJDb250ZXh0Ojp+V2ViQ29udGV4dCgpCiAgICAgbV9rZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
UHJveHktPmludmFsaWRhdGUoKTsKICAgICBtX2tleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS0+
Y2xlYXJDb250ZXh0KCk7CiAKKyAgICBtX21lZGlhQ2FjaGVNYW5hZ2VyUHJveHktPmludmFsaWRh
dGUoKTsKKyAgICBtX21lZGlhQ2FjaGVNYW5hZ2VyUHJveHktPmNsZWFyQ29udGV4dCgpOworCiAg
ICAgbV9wbHVnaW5TaXRlRGF0YU1hbmFnZXItPmludmFsaWRhdGUoKTsKICAgICBtX3BsdWdpblNp
dGVEYXRhTWFuYWdlci0+Y2xlYXJDb250ZXh0KCk7CiAKQEAgLTMxNiw2ICszMjEsNyBAQCB2b2lk
IFdlYkNvbnRleHQ6OmRpc2Nvbm5lY3RQcm9jZXNzKFdlYlByCiAgICAgbV9kYXRhYmFzZU1hbmFn
ZXJQcm94eS0+aW52YWxpZGF0ZSgpOwogICAgIG1fZ2VvbG9jYXRpb25NYW5hZ2VyUHJveHktPmlu
dmFsaWRhdGUoKTsKICAgICBtX2tleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0
ZSgpOworICAgIG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgpOwogICAgIG1f
cmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgpOwogCiAgICAgLy8gV2hlbiBv
dXQgb2YgcHJvY2VzcyBwbHVnLWlucyBhcmUgZW5hYmxlZCwgd2UgZG9uJ3Qgd2FudCB0byBpbnZh
bGlkYXRlIHRoZSBwbHVnLWluIHNpdGUgZGF0YQpAQCAtNjExLDYgKzYxNywxMSBAQCB2b2lkIFdl
YkNvbnRleHQ6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKKyAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHk+KCkpIHsKKyAgICAgICAgbV9tZWRpYUNhY2hlTWFuYWdlclByb3h5LT5k
aWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3Nh
Z2VDbGFzc1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk+KCkpIHsKICAgICAgICAgbV9yZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5LT5kaWRSZWNlaXZlV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQ
cm94eU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgJKHJldmlzaW9u
IDgxNTk4KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTEsNiArNTEsNyBAQCBjbGFzcyBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eTsK
IGNsYXNzIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5OwogY2xhc3MgV2ViSWNvbkRhdGFiYXNl
OwogY2xhc3MgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5OworY2xhc3MgV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYlBhZ2VHcm91cDsKIGNsYXNzIFdlYlBhZ2VQcm94
eTsKIGNsYXNzIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CkBAIC0xNDUsNiArMTQ2LDcg
QEAgcHVibGljOgogICAgIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5KiBkYXRhYmFzZU1hbmFnZXJQ
cm94eSgpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VNYW5hZ2VyUHJveHkuZ2V0KCk7IH0KICAg
ICBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eSogZ2VvbG9jYXRpb25NYW5hZ2VyUHJveHkoKSBj
b25zdCB7IHJldHVybiBtX2dlb2xvY2F0aW9uTWFuYWdlclByb3h5LmdldCgpOyB9CiAgICAgV2Vi
S2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5KiBrZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHko
KSBjb25zdCB7IHJldHVybiBtX2tleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5nZXQoKTsgfQor
ICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkqIG1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkoKSBj
b25zdCB7IHJldHVybiBtX21lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuZ2V0KCk7IH0KICAgICBXZWJQ
bHVnaW5TaXRlRGF0YU1hbmFnZXIqIHBsdWdpblNpdGVEYXRhTWFuYWdlcigpIGNvbnN0IHsgcmV0
dXJuIG1fcGx1Z2luU2l0ZURhdGFNYW5hZ2VyLmdldCgpOyB9CiAgICAgV2ViUmVzb3VyY2VDYWNo
ZU1hbmFnZXJQcm94eSogcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogCkBAIC0yNDIsNiArMjQ0LDcg
QEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk+IG1fZ2Vv
bG9jYXRpb25NYW5hZ2VyUHJveHk7CiAgICAgUmVmUHRyPFdlYkljb25EYXRhYmFzZT4gbV9pY29u
RGF0YWJhc2U7CiAgICAgUmVmUHRyPFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eT4gbV9r
ZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHk7CisgICAgUmVmUHRyPFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHk+IG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eTsKICAgICBSZWZQdHI8V2ViUGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyPiBtX3BsdWdpblNpdGVEYXRhTWFuYWdlcjsKICAgICBSZWZQdHI8V2Vi
UmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eT4gbV9yZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5Owog
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94
eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDEwNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJN
ZWRpYUNhY2hlTWFuYWdlclByb3h5LmgiCisKKyNpbmNsdWRlICJXZWJNZWRpYUNhY2hlTWFuYWdl
ck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgorI2luY2x1ZGUgIldlYlNlY3Vy
aXR5T3JpZ2luLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitQYXNzUmVmUHRyPFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHk+IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNyZWF0ZShXZWJD
b250ZXh0KiBjb250ZXh0KQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eShjb250ZXh0KSk7Cit9CisKK1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6
OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkoV2ViQ29udGV4dCogY29udGV4dCkKKyAgICA6IG1f
d2ViQ29udGV4dChjb250ZXh0KQoreworfQorCitXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Ojp+
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSgpCit7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eTo6aW52YWxpZGF0ZSgpCit7CisgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1f
YXJyYXlDYWxsYmFja3MpOworfQorCit2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmRp
ZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rpb24sIENvcmVJUEM6
Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRz
KQoreworICAgIGRpZFJlY2VpdmVXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZShjb25u
ZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eTo6Z2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoUGFzc1JlZlB0cjxBcnJheUNh
bGxiYWNrPiBwcnBDYWxsYmFjaykKK3sKKyAgICBSZWZQdHI8QXJyYXlDYWxsYmFjaz4gY2FsbGJh
Y2sgPSBwcnBDYWxsYmFjazsKKyAgICBpZiAoIW1fd2ViQ29udGV4dC0+aGFzVmFsaWRQcm9jZXNz
KCkpIHsKKyAgICAgICAgY2FsbGJhY2stPmludmFsaWRhdGUoKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICAKKyAgICB1aW50NjRfdCBjYWxsYmFja0lEID0gY2FsbGJhY2stPmNhbGxiYWNr
SUQoKTsKKyAgICBtX2FycmF5Q2FsbGJhY2tzLnNldChjYWxsYmFja0lELCBjYWxsYmFjay5yZWxl
YXNlKCkpOworICAgIG1fd2ViQ29udGV4dC0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJN
ZWRpYUNhY2hlTWFuYWdlcjo6R2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoY2FsbGJhY2tJRCks
IDApOworfQorICAgIAordm9pZCBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5OjpkaWRHZXRIb3N0
bmFtZXNXaXRoTWVkaWFDYWNoZShjb25zdCBWZWN0b3I8U3RyaW5nPiYgaG9zdG5hbWVMaXN0LCB1
aW50NjRfdCBjYWxsYmFja0lEKQoreworICAgIFJlZlB0cjxBcnJheUNhbGxiYWNrPiBjYWxsYmFj
ayA9IG1fYXJyYXlDYWxsYmFja3MudGFrZShjYWxsYmFja0lEKTsKKyAgICBpZiAoIWNhbGxiYWNr
KSB7CisgICAgICAgIC8vIEZJWE1FOiBMb2cgZXJyb3Igb3IgYXNzZXJ0LgorICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgc2l6ZV90IGhvc3RuYW1lQ291bnQgPSBob3N0bmFtZUxpc3Quc2l6
ZSgpOworICAgIFZlY3RvcjxSZWZQdHI8QVBJT2JqZWN0PiA+IGhvc3RuYW1lcyhob3N0bmFtZUNv
dW50KTsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgaG9zdG5hbWVDb3VudDsgKytpKQor
ICAgICAgICBob3N0bmFtZXNbaV0gPSBXZWJTdHJpbmc6OmNyZWF0ZShob3N0bmFtZUxpc3RbaV0p
OworCisgICAgY2FsbGJhY2stPnBlcmZvcm1DYWxsYmFja1dpdGhSZXR1cm5WYWx1ZShJbW11dGFi
bGVBcnJheTo6YWRvcHQoaG9zdG5hbWVzKS5nZXQoKSk7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvckhvc3RuYW1lKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCit7CisgICAgaWYgKCFtX3dlYkNvbnRleHQtPmhhc1ZhbGlkUHJvY2VzcygpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBtX3dlYkNvbnRleHQtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6
V2ViTWVkaWFDYWNoZU1hbmFnZXI6OkNsZWFyQ2FjaGVGb3JIb3N0bmFtZShob3N0bmFtZSksIDAp
OworfQorCit2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JBbGxI
b3N0bmFtZXMoKQoreworICAgIGlmICghbV93ZWJDb250ZXh0LT5oYXNWYWxpZFByb2Nlc3MoKSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV93ZWJDb250ZXh0LT5wcm9jZXNzKCktPnNlbmQoTWVz
c2FnZXM6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpDbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKCks
IDApOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuaAkocmV2aXNpb24g
MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
Yk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlfaAorI2RlZmluZSBXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5X2gKKworI2luY2x1ZGUgIkFQSU9iamVjdC5oIgorI2luY2x1ZGUgIkdlbmVyaWNDYWxsYmFj
ay5oIgorI2luY2x1ZGUgIkltbXV0YWJsZUFycmF5LmgiCisKKyNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+
CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKyAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7CisgICAg
Y2xhc3MgQ29ubmVjdGlvbjsKKyAgICBjbGFzcyBNZXNzYWdlSUQ7Cit9CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBXZWJDb250ZXh0OworCit0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxX
S0FycmF5UmVmPiBBcnJheUNhbGxiYWNrOworCitjbGFzcyBXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5IDogcHVibGljIEFQSU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0IFR5cGUg
QVBJVHlwZSA9IFR5cGVNZWRpYUNhY2hlTWFuYWdlcjsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk+IGNyZWF0ZShXZWJDb250ZXh0Kik7CisgICAgdmly
dHVhbCB+V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSgpOworCisgICAgdm9pZCBpbnZhbGlkYXRl
KCk7CisgICAgdm9pZCBjbGVhckNvbnRleHQoKSB7IG1fd2ViQ29udGV4dCA9IDA7IH0KKyAgICAK
KyAgICB2b2lkIGdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKFBhc3NSZWZQdHI8QXJyYXlDYWxs
YmFjaz4pOworICAgIHZvaWQgY2xlYXJDYWNoZUZvckhvc3RuYW1lKGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcygpOworCisgICAgdm9pZCBkaWRSZWNl
aXZlTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBDb3Jl
SVBDOjpBcmd1bWVudERlY29kZXIqKTsKKworcHJpdmF0ZToKKyAgICBXZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5KFdlYkNvbnRleHQqKTsKKworICAgIHZpcnR1YWwgVHlwZSB0eXBlKCkgY29uc3Qg
eyByZXR1cm4gQVBJVHlwZTsgfQorCisgICAgdm9pZCBkaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFD
YWNoZShjb25zdCBWZWN0b3I8U3RyaW5nPiYsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOworICAgIAor
ICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlKENvcmVJ
UEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVj
b2RlciopOworCisgICAgV2ViQ29udGV4dCogbV93ZWJDb250ZXh0OworICAgIEhhc2hNYXA8dWlu
dDY0X3QsIFJlZlB0cjxBcnJheUNhbGxiYWNrPiA+IG1fYXJyYXlDYWxsYmFja3M7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHlfaApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2Vy
UHJveHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4JKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdl
cy5pbgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycg
QU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5
IHsKKyAgICBEaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShWZWN0b3I8V1RGOjpTdHJpbmc+
IGhvc3RuYW1lcywgdWludDY0X3QgY2FsbGJhY2tJRCk7Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gODE1OTgpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjU0LDYgKzI1NCw3IEBAIHZvaWQgV2ViUHJvY2Vzc1Byb3h5OjpkaWRSZWNlaXZlTWVz
c2FnZSgKICAgICAgICAgfHwgbWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYkdl
b2xvY2F0aW9uTWFuYWdlclByb3h5PigpCiAgICAgICAgIHx8IG1lc3NhZ2VJRC5pczxDb3JlSVBD
OjpNZXNzYWdlQ2xhc3NXZWJJY29uRGF0YWJhc2U+KCkKICAgICAgICAgfHwgbWVzc2FnZUlELmlz
PENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eT4oKQor
ICAgICAgICB8fCBtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eT4oKQogICAgICAgICB8fCBtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2Fn
ZUNsYXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eT4oKSkgewogICAgICAgICBtX2NvbnRl
eHQtPmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsK
ICAgICAgICAgcmV0dXJuOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
QVBJQ2FzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0FQSUNhc3QuaAkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTYxLDYgKzYxLDcgQEAgY2xhc3Mg
V2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJHZW9sb2NhdGlvblBvc2l0aW9u
OwogY2xhc3MgV2ViSW5zcGVjdG9yUHJveHk7CiBjbGFzcyBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5h
Z2VyUHJveHk7CitjbGFzcyBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5OwogY2xhc3MgV2ViTmF2
aWdhdGlvbkRhdGE7CiBjbGFzcyBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzOwogY2xhc3MgV2ViT3Bl
blBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eTsKQEAgLTg4LDYgKzg5LDcgQEAgV0tfQUREX0FQSV9N
QVBQSU5HKFdLR2VvbG9jYXRpb25NYW5hZ2VyUgogV0tfQUREX0FQSV9NQVBQSU5HKFdLR2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdFJlZiwgR2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdFBy
b3h5KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLR2VvbG9jYXRpb25Qb3NpdGlvblJlZiwgV2ViR2Vv
bG9jYXRpb25Qb3NpdGlvbikKIFdLX0FERF9BUElfTUFQUElORyhXS0tleVZhbHVlU3RvcmFnZU1h
bmFnZXJSZWYsIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eSkKK1dLX0FERF9BUElfTUFQ
UElORyhXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmLCBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5KQog
V0tfQUREX0FQSV9NQVBQSU5HKFdLTmF2aWdhdGlvbkRhdGFSZWYsIFdlYk5hdmlnYXRpb25EYXRh
KQogV0tfQUREX0FQSV9NQVBQSU5HKFdLT3BlblBhbmVsUGFyYW1ldGVyc1JlZiwgV2ViT3BlblBh
bmVsUGFyYW1ldGVycykKIFdLX0FERF9BUElfTUFQUElORyhXS09wZW5QYW5lbFJlc3VsdExpc3Rl
bmVyUmVmLCBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5KQpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAJKHJldmlzaW9uIDgxNTk4KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE4Myw2ICsxODMsMTEgQEAgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmIFdL
Q29udGV4dEdldAogICAgIHJldHVybiB0b0FQSSh0b0ltcGwoY29udGV4dFJlZiktPmtleVZhbHVl
U3RvcmFnZU1hbmFnZXJQcm94eSgpKTsKIH0KIAorV0tNZWRpYUNhY2hlTWFuYWdlclJlZiBXS0Nv
bnRleHRHZXRNZWRpYUNhY2hlTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJlZikKK3sKKyAg
ICByZXR1cm4gdG9BUEkodG9JbXBsKGNvbnRleHRSZWYpLT5tZWRpYUNhY2hlTWFuYWdlclByb3h5
KCkpOworfQorCiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZiBXS0NvbnRleHRHZXRQbHVnaW5T
aXRlRGF0YU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYpCiB7CiAgICAgcmV0dXJuIHRv
QVBJKHRvSW1wbChjb250ZXh0UmVmKS0+cGx1Z2luU2l0ZURhdGFNYW5hZ2VyKCkpOwpJbmRleDog
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAkocmV2aXNpb24gODE1
OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTEzNCw2ICsxMzQsNyBAQCBXS19FWFBPUlQgV0tDb29raWVNYW5hZ2VyUmVm
IFdLQ29udGV4dEdlCiBXS19FWFBPUlQgV0tEYXRhYmFzZU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0
RGF0YWJhc2VNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIFdLX0VYUE9SVCBXS0dlb2xv
Y2F0aW9uTWFuYWdlclJlZiBXS0NvbnRleHRHZXRHZW9sb2NhdGlvbk1hbmFnZXIoV0tDb250ZXh0
UmVmIGNvbnRleHQpOwogV0tfRVhQT1JUIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlclJlZiBXS0Nv
bnRleHRHZXRLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKK1dL
X0VYUE9SVCBXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmIFdLQ29udGV4dEdldE1lZGlhQ2FjaGVNYW5h
Z2VyKFdLQ29udGV4dFJlZiBjb250ZXh0KTsKIFdLX0VYUE9SVCBXS1BsdWdpblNpdGVEYXRhTWFu
YWdlclJlZiBXS0NvbnRleHRHZXRQbHVnaW5TaXRlRGF0YU1hbmFnZXIoV0tDb250ZXh0UmVmIGNv
bnRleHQpOwogV0tfRVhQT1JUIFdLUmVzb3VyY2VDYWNoZU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0
UmVzb3VyY2VDYWNoZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHQpOwogCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNoZU1hbmFn
ZXIuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
TWVkaWFDYWNoZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldLTWVkaWFDYWNoZU1hbmFn
ZXIuaCIKKworI2luY2x1ZGUgIldLQVBJQ2FzdC5oIgorI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHkuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworV0tUeXBlSUQgV0tN
ZWRpYUNhY2hlTWFuYWdlckdldFR5cGVJRCgpCit7CisgICAgcmV0dXJuIHRvQVBJKFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHk6OkFQSVR5cGUpOworfQorCit2b2lkIFdLTWVkaWFDYWNoZU1hbmFn
ZXJHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmIG1lZGlh
Q2FjaGVNYW5hZ2VyUmVmLCB2b2lkKiBjb250ZXh0LCBXS01lZGlhQ2FjaGVNYW5hZ2VyR2V0SG9z
dG5hbWVzV2l0aE1lZGlhQ2FjaGVGdW5jdGlvbiBjYWxsYmFjaykKK3sKKyAgICB0b0ltcGwobWVk
aWFDYWNoZU1hbmFnZXJSZWYpLT5nZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShBcnJheUNhbGxi
YWNrOjpjcmVhdGUoY29udGV4dCwgY2FsbGJhY2spKTsKK30KKwordm9pZCBXS01lZGlhQ2FjaGVN
YW5hZ2VyQ2xlYXJDYWNoZUZvckhvc3RuYW1lKFdLTWVkaWFDYWNoZU1hbmFnZXJSZWYgbWVkaWFD
YWNoZU1hbmFnZXJSZWYsIFdLU3RyaW5nUmVmIGhvc3RuYW1lKQoreworICAgIHRvSW1wbChtZWRp
YUNhY2hlTWFuYWdlclJlZiktPmNsZWFyQ2FjaGVGb3JIb3N0bmFtZSh0b1dURlN0cmluZyhob3N0
bmFtZSkpOworfQorCit2b2lkIFdLTWVkaWFDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yQWxsSG9z
dG5hbWVzKFdLTWVkaWFDYWNoZU1hbmFnZXJSZWYgbWVkaWFDYWNoZU1hbmFnZXJSZWYpCit7Cisg
ICAgdG9JbXBsKG1lZGlhQ2FjaGVNYW5hZ2VyUmVmKS0+Y2xlYXJDYWNoZUZvckFsbEhvc3RuYW1l
cygpOworfQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNo
ZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tNZWRpYUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNoZU1hbmFnZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tNZWRpYUNhY2hlTWFuYWdlcl9oCisjZGVm
aW5lIFdLTWVkaWFDYWNoZU1hbmFnZXJfaAorCisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4K
KworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitXS19FWFBPUlQg
V0tUeXBlSUQgV0tNZWRpYUNhY2hlTWFuYWdlckdldFR5cGVJRCgpOworCit0eXBlZGVmIHZvaWQg
KCpXS01lZGlhQ2FjaGVNYW5hZ2VyR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGVGdW5jdGlvbiko
V0tBcnJheVJlZiwgV0tFcnJvclJlZiwgdm9pZCopOworV0tfRVhQT1JUIHZvaWQgV0tNZWRpYUNh
Y2hlTWFuYWdlckdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKFdLTWVkaWFDYWNoZU1hbmFnZXJS
ZWYgbWVkaWFDYWNoZU1hbmFnZXIsIHZvaWQqIGNvbnRleHQsIFdLTWVkaWFDYWNoZU1hbmFnZXJH
ZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZUZ1bmN0aW9uIGZ1bmN0aW9uKTsKKworV0tfRVhQT1JU
IHZvaWQgV0tNZWRpYUNhY2hlTWFuYWdlckNsZWFyQ2FjaGVGb3JIb3N0bmFtZShXS01lZGlhQ2Fj
aGVNYW5hZ2VyUmVmIG1lZGlhQ2FjaGVNYW5hZ2VyLCBXS1N0cmluZ1JlZiBob3N0bmFtZSk7CitX
S19FWFBPUlQgdm9pZCBXS01lZGlhQ2FjaGVNYW5hZ2VyQ2xlYXJDYWNoZUZvckFsbEhvc3RuYW1l
cyhXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmIG1lZGlhQ2FjaGVNYW5hZ2VyKTsKKworI2lmZGVmIF9f
Y3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIFdLTWVkaWFDYWNoZU1hbmFnZXJfaApJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTI2Miw2ICsyNjIsMTYgQEAKIAkJ
MzMzNjc2NTgxMzBDOUVDQjAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MzMzNjc2NTQxMzBDOUVDQTAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oICovOyB9OwogCQkzM0FBMTA2NjEzMUYwNjAwMDBENEE1NzUgLyogV2ViQ29va2ll
TWFuYWdlclByb3h5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzQUExMDY0MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2Vy
UHJveHlDbGllbnQuY3BwICovOyB9OwogCQkzM0FBMTA2NzEzMUYwNjAwMDBENEE1NzUgLyogV2Vi
Q29va2llTWFuYWdlclByb3h5Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzM0FBMTA2NTEzMUYwNjAwMDBENEE1NzUgLyogV2ViQ29va2llTWFu
YWdlclByb3h5Q2xpZW50LmggKi87IH07CisJCTMzRDNBM0I1MTMzOTYwMEIwMDcwOUJFNCAvKiBX
S01lZGlhQ2FjaGVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzRDNBM0IzMTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5h
Z2VyLmNwcCAqLzsgfTsKKwkJMzNEM0EzQjYxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNo
ZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMzRDNBM0I0MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmggKi87IH07
CisJCTMzRDNBM0JBMTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNB
M0I3MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCAqLzsg
fTsKKwkJMzNEM0EzQkIxMzM5NjA2MjAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNB
M0I4MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmggKi87IH07
CisJCTMzRDNBM0MxMTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNCRTEz
Mzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwICovOyB9OworCQkzM0Qz
QTNDMjEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNBM0JGMTMzOTYwQjAwMDcw
OUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlci5oICovOyB9OworCQkzM0QzQTNDODEzMzk2MTc5
MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNEM0EzQzQxMzM5NjE3
OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKKwkJMzNEM0EzQzkxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVz
c2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMz
RDNBM0M1MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VzLmgg
Ki87IH07CisJCTMzRDNBM0NBMTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdl
clByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMzRDNBM0M2MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJMzNEM0EzQ0IxMzM5NjE3
OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNEM0EzQzcxMzM5NjE3OTAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICovOyB9OwogCQkz
M0Y5RDVCOTEzMTJGMUVFMDAwRDY4M0YgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0Y5RDVC
ODEzMTJGMUVFMDAwRDY4M0YgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5jcHAgKi87
IH07CiAJCTM3QzRFOUY2MTMxQzZFN0UwMDI5QkQ1QSAvKiBjb25maWcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIzOTZFQTU1MTJFMEVEMkQwMEY0RkVC
NyAvKiBjb25maWcuaCAqLzsgfTsKIAkJMzdGNjIzQjgxMkE1N0I2MjAwRTNGREY2IC8qIFdLRmlu
ZE9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDM3RjYyM0I3MTJBNTdCNjIwMEUzRkRGNiAvKiBXS0ZpbmRPcHRpb25zLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHVibGljLCApOyB9OyB9OwpAQCAtMTExNyw2ICsxMTI3LDE4IEBA
CiAJCTMzMzY3NjU0MTMwQzlFQ0EwMDZDOURFMiAvKiBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclBy
b3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3Vy
Y2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMzQUExMDY0MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGll
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29va2llTWFu
YWdlclByb3h5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzNBQTEw
NjUxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94eUNsaWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQjMxMzM5NjAwQjAwNzA5QkU0
IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV0tNZWRpYUNhY2hlTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTMzRDNBM0I0MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLTWVkaWFDYWNoZU1hbmFnZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQjcxMzM5NjA2MjAwNzA5QkU0IC8q
IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMzRDNBM0I4MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0Ez
QjkxMzM5NjA2MjAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQkUxMzM5NjBCMDAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcDsgcGF0aCA9IE1lZGlhQ2Fj
aGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzM0QzQTNCRjEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViTWVkaWFDYWNoZU1hbmFnZXIuaDsgcGF0
aCA9IE1lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzNEM0EzQzAxMzM5NjBCMDAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyLm1lc3NhZ2VzLmluOyBwYXRoID0gTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5t
ZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQzQxMzM5NjE3
OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQzUx
MzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzM0QzQTNDNjEzMzk2MTc5MDA3MDlCRTQg
LyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQzcx
MzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5
TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzNGOUQ1QjgxMzEyRjFF
RTAwMEQ2ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IGZpbGVFbmNvZGluZyA9IDQ7IG5hbWUgPSBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlckNGTmV0
LmNwcDsgcGF0aCA9IFJlc291cmNlQ2FjaGUvY2YvV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5l
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTM3RjYyM0I3MTJBNTdCNjIwMEUz
RkRGNiAvKiBXS0ZpbmRPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdLRmluZE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwMjFFOUIx
MkIxNjc4ODAwNUMwMzNDIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViQ29udGV4dE1lbnVDbGllbnRNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjE3LDYgKzIyMzksMTYgQEAKIAkJCW5h
bWUgPSBSZXNvdXJjZUNhY2hlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
MzNEM0EzQkQxMzM5NjA5ODAwNzA5QkU0IC8qIE1lZGlhQ2FjaGUgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTMzRDNBM0JFMTMzOTYwQjAwMDcwOUJFNCAv
KiBXZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAgKi8sCisJCQkJMzNEM0EzQkYxMzM5NjBCMDAwNzA5
QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggKi8sCisJCQkJMzNEM0EzQzAxMzM5NjBCMDAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluICovLAorCQkJKTsKKwkJ
CW5hbWUgPSBNZWRpYUNhY2hlOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJ
MzNGOUQ1QjcxMzEyRjFCMTAwMEQ2ODNGIC8qIGNmICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7
CiAJCQljaGlsZHJlbiA9ICgKQEAgLTIzMDMsNiArMjMzNSw3IEBACiAJCQkJQkMyMDRFREYxMUM4
M0U3MjAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlICovLAogCQkJCTUxQTlFMEZCMTMxNUNDMEUw
MDlFNzAzMSAvKiBLZXlWYWx1ZVN0b3JhZ2UgKi8sCiAJCQkJMUE2RkEwMUMxMUUxNTI2MzAwREIx
MzcxIC8qIG1hYyAqLywKKwkJCQkzM0QzQTNCRDEzMzk2MDk4MDA3MDlCRTQgLyogTWVkaWFDYWNo
ZSAqLywKIAkJCQkxQTZGQjdBQTExRTY0QjQ5MDBEQjEzNzEgLyogUGx1Z2lucyAqLywKIAkJCQkz
MzM2NzYyQjEzMEM5OTc4MDA2QzlERTIgLyogUmVzb3VyY2VDYWNoZSAqLywKIAkJCQlCQzAzMkQ1
RDEwRjQzNzIyMDA1OEMxNUEgLyogV2ViQ29yZVN1cHBvcnQgKi8sCkBAIC0yNDg4LDYgKzI1MjEs
OSBAQAogCQkJCTUxQTlFMTA0MTMxNUNDRkMwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0b3JhZ2VN
YW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gKi8sCiAJCQkJQkNCOUU3NjExMTIzMkI5RTAwQTEzN0Uw
IC8qIFdlYkxvYWRlckNsaWVudC5jcHAgKi8sCiAJCQkJQkM1OTUzNDAxMEZDMDQ1MjAwOThGODJE
IC8qIFdlYkxvYWRlckNsaWVudC5oICovLAorCQkJCTMzRDNBM0I3MTMzOTYwNjIwMDcwOUJFNCAv
KiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCAqLywKKwkJCQkzM0QzQTNCODEzMzk2MDYy
MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oICovLAorCQkJCTMzRDNBM0I5
MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
ICovLAogCQkJCUJDRjY5RkExMTE3NkQwMTQwMDQ3MUE1MiAvKiBXZWJOYXZpZ2F0aW9uRGF0YS5j
cHAgKi8sCiAJCQkJQkNGNjlGQTAxMTc2RDAxNDAwNDcxQTUyIC8qIFdlYk5hdmlnYXRpb25EYXRh
LmggKi8sCiAJCQkJQkMxREZFQTMxMkIzMUY4NzAwNURGNzMwIC8qIFdlYk9wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyUHJveHkuY3BwICovLApAQCAtMjU3Myw2ICsyNjA5LDggQEAKIAkJCQkxQzhFMjkz
NzEyNzYxRTVCMDBCQzdCRDAgLyogV0tJbnNwZWN0b3IuaCAqLywKIAkJCQk1MUE5RTEwODEzMTVD
RDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCAqLywKIAkJCQk1MUE5
RTEwOTEzMTVDRDE4MDA5RTcwMzEgLyogV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggKi8sCisJ
CQkJMzNEM0EzQjMxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuY3BwICov
LAorCQkJCTMzRDNBM0I0MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmgg
Ki8sCiAJCQkJQzA5QUU1RTgxMjUyNTdDMjAwMjU4MjVEIC8qIFdLTmF0aXZlRXZlbnQuaCAqLywK
IAkJCQlCQ0Y2OUZBODExNzZEMUNCMDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YS5jcHAgKi8s
CiAJCQkJQkNGNjlGQTcxMTc2RDFDQjAwNDcxQTUyIC8qIFdLTmF2aWdhdGlvbkRhdGEuaCAqLywK
QEAgLTMwODIsNiArMzEyMCwxMCBAQAogCQkJCTUxQTlFMTI1MTMxNUVEMzUwMDlFNzAzMSAvKiBX
ZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCAqLywKIAkJCQk1MUE5RTEyNjEzMTVF
RDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKIAkJCQk1MUE5RTEyNzEzMTVFRDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVT
dG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKKwkJCQkzM0QzQTNDNDEzMzk2MTc5MDA3
MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJ
CTMzRDNBM0M1MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2Vz
LmggKi8sCisJCQkJMzNEM0EzQzYxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTMzRDNBM0M3MTMzOTYxNzkwMDcw
OUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQlDMENF
NzI5RTEyNDdFNzFEMDBCQzBFQzQgLyogV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJ
CQkJQzBDRTcyOUYxMjQ3RTcxRDAwQkMwRUM0IC8qIFdlYlBhZ2VNZXNzYWdlcy5oICovLAogCQkJ
CUJDQkQzOTEyMTI1QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLApAQCAtMzUzNCw2ICszNTc2LDExIEBACiAJCQkJNTExQjI0QUIxMzJFMDk3MjAwMDY1
QTBDIC8qIFdlYkljb25EYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJGNkExMzJF
QzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MUQwMkY2QzEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzNEM0EzQjYxMzM5NjAwQjAwNzA5QkU0IC8qIFdL
TWVkaWFDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTMzRDNBM0JCMTMzOTYwNjIw
MDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQkzM0QzQTNDMjEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMzRDNBM0M5MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hl
TWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzM0QzQTNDQjEzMzk2MTc5MDA3
MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTQxNDYsNiArNDE5MywxMSBAQAogCQkJCTUxMUIyNEFBMTMyRTA5NzIwMDA2NUEwQyAv
KiBXZWJJY29uRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFEMDJGNjQxMzJFQzVC
OTAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUQwMkY2QjEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNlUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNEM0EzQjUxMzM5NjAw
QjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MzNEM0EzQkExMzM5NjA2MjAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMzNEM0EzQzExMzM5NjBCMDAwNzA5QkU0IC8qIFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMzRDNBM0M4MTMzOTYxNzkwMDcw
OUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkzM0QzQTNDQTEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFn
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gODE1OTgpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJHZW9sb2Nh
dGlvbk1hbmFnZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXIuaCIKKyNpbmNsdWRlICJXZWJNZWRpYUNhY2hlTWFuYWdlci5oIgogI2luY2x1ZGUgIldlYk1l
bW9yeVNhbXBsZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycy5oIgpAQCAtNTk4LDYgKzU5OSwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6
OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBp
ZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dlYk1lZGlhQ2FjaGVNYW5hZ2Vy
PigpKSB7CisgICAgICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpzaGFyZWQoKS5kaWRSZWNlaXZl
TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKICAgICBpZiAobWVzc2FnZUlELmlzPENvcmVJUEM6Ok1lc3NhZ2VDbGFzc1dl
YlJlc291cmNlQ2FjaGVNYW5hZ2VyPigpKSB7CiAgICAgICAgIFdlYlJlc291cmNlQ2FjaGVNYW5h
Z2VyOjpzaGFyZWQoKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFy
Z3VtZW50cyk7CiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNw
cAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9X
ZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzcgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWVkaWFDYWNoZU1h
bmFnZXIuaCIKKworI2luY2x1ZGUgIk1lc3NhZ2VJRC5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luRGF0YS5oIgorI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVt
ZW50ZWQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitXZWJNZWRpYUNhY2hlTWFuYWdlciYgV2ViTWVkaWFDYWNoZU1hbmFnZXI6OnNoYXJlZCgp
Cit7CisgICAgc3RhdGljIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyJiBzaGFyZWQgPSAqbmV3IFdlYk1l
ZGlhQ2FjaGVNYW5hZ2VyOworICAgIHJldHVybiBzaGFyZWQ7Cit9CisKK1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyOjpXZWJNZWRpYUNhY2hlTWFuYWdlcigpCit7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNo
ZU1hbmFnZXI6OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qIGNvbm5lY3Rp
b24sIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciogYXJndW1lbnRzKQoreworICAgIGRpZFJlY2VpdmVXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3Nh
Z2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOworfQorCit2b2lkIFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSh1aW50NjRfdCBjYWxsYmFj
a0lEKQoreworICAgIFZlY3RvcjxTdHJpbmc+IG1lZGlhQ2FjaGVIb3N0bmFtZXM7CisKKyAgICAv
LyBGSVhNRTogUG9wdXBsYXRlIHRoZSBsaXN0IG9mIGhvc3RzIHRoYXQgaGF2ZSBlbnRyaWVzIGlu
IHRoZSBtZWRpYSBjYWNoZS4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworCisgICAgV2ViUHJvY2Vz
czo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpXZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5OjpEaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShtZWRpYUNhY2hlSG9zdG5h
bWVzLCBjYWxsYmFja0lEKSwgMCk7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1hbmFnZXI6OmNs
ZWFyQ2FjaGVGb3JIb3N0bmFtZShjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQoreworICAgIC8vIEZJ
WE1FOiBEZWxldGUgdGhlIG1lZGlhIGNhY2hlIGVudHJpZXMgZm9yIHRoaXMgaG9zdG5hbWUuCisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJNZWRpYUNhY2hlTWFuYWdlcjo6Y2xl
YXJDYWNoZUZvckFsbEhvc3RuYW1lcygpCit7CisgICAgLy8gRklYTUU6IERlbGV0ZSBhbGwgbWVk
aWEgY2FjaGUgZW50cmllcy4KKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9X
ZWJNZWRpYUNhY2hlTWFuYWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAwKQorKysg
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2Vy
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdl
Yk1lZGlhQ2FjaGVNYW5hZ2VyX2gKKyNkZWZpbmUgV2ViTWVkaWFDYWNoZU1hbmFnZXJfaAorCisj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKyAgICBjbGFzcyBBcmd1bWVudERlY29kZXI7Cisg
ICAgY2xhc3MgQ29ubmVjdGlvbjsKKyAgICBjbGFzcyBNZXNzYWdlSUQ7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJNZWRpYUNhY2hlTWFuYWdlciB7CisgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoV2ViTWVkaWFDYWNoZU1hbmFnZXIpOworCitwdWJsaWM6CisgICAgc3RhdGlj
IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyJiBzaGFyZWQoKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6
QXJndW1lbnREZWNvZGVyKik7CisKK3ByaXZhdGU6CisgICAgV2ViTWVkaWFDYWNoZU1hbmFnZXIo
KTsKKyAgICAKKyAgICB2b2lkIGdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKHVpbnQ2NF90IGNh
bGxiYWNrSUQpOworICAgIHZvaWQgY2xlYXJDYWNoZUZvckhvc3RuYW1lKGNvbnN0IFN0cmluZyYp
OworICAgIHZvaWQgY2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcygpOworCisgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBD
b3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJNZWRpYUNhY2hlTWFuYWdlcl9oCklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1h
bmFnZXIubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI3IEBACisjIENvcHly
aWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK21lc3NhZ2VzIC0+IFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyIHsKKyAgICB2b2lkIEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKHVpbnQ2NF90
IGNhbGxiYWNrSUQpCisgICAgdm9pZCBDbGVhckNhY2hlRm9ySG9zdG5hbWUoV1RGOjpTdHJpbmcg
aG9zdG5hbWUpCisgICAgdm9pZCBDbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKCkKK30KSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0Mi52Y3Byb2oJKHJldmlzaW9uIDgxNTk4KQorKysgU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNDkxLDYgKzE0OTEs
MjIgQEAKIAkJCQk8L0ZpbGU+CiAJCQk8L0ZpbHRlcj4KIAkJCTxGaWx0ZXIKKwkJCQlOYW1lPSJN
ZWRpYUNhY2hlIgorCQkJCT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlBy
b2Nlc3NcTWVkaWFDYWNoZVxXZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAiCisJCQkJCT4KKwkJCQk8
L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXE1lZGlh
Q2FjaGVcV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8
RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcTWVkaWFDYWNoZVxXZWJNZWRp
YUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCTwvRmls
dGVyPgorCQkJPEZpbHRlcgogCQkJCU5hbWU9IlJlc291cmNlQ2FjaGUiCiAJCQkJPgogCQkJCTxG
aWxlCkBAIC0yNjUxLDYgKzI2NjcsMTggQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHku
Y3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxV
SVByb2Nlc3NcV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbiIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYk5hdmlnYXRpb25EYXRhLmNwcCIKIAkJCQk+
CiAJCQk8L0ZpbGU+CkBAIC0yOTI1LDYgKzI5NTMsMTQgQEAKIAkJCQkJCT4KIAkJCQkJPC9GaWxl
PgogCQkJCQk8RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tN
ZWRpYUNhY2hlTWFuYWdlci5jcHAiCisJCQkJCQk+CisJCQkJCTwvRmlsZT4KKwkJCQkJPEZpbGUK
KwkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLTWVkaWFDYWNoZU1hbmFn
ZXIuaCIKKwkJCQkJCT4KKwkJCQkJPC9GaWxlPgorCQkJCQk8RmlsZQogCQkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxVSVByb2Nlc3NcQVBJXENcV0tOYXRpdmVFdmVudC5oIgogCQkJCQkJPgogCQkJCQk8
L0ZpbGU+CkBAIC0zNzE1LDYgKzM3NTEsMjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZl
ci5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
V2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdl
UmVjZWl2ZXIuY3BwIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYlBhZ2VNZXNzYWdlUmVjZWl2
ZXIuY3BwIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJL
aXQyQ29tbW9uLnZzcHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDb21tb24udnNwcm9wcwkocmV2aXNpb24gODE1OTgpCisrKyBTb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNvbW1vbi52c3Byb3BzCSh3b3JraW5nIGNvcHkpCkBAIC02LDcgKzYsNyBAQAogCT4K
IAk8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlBZGRpdGlvbmFsSW5jbHVkZURp
cmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbGF0Zm9ybSZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFBsYXRmb3JtXGNnJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cUGxh
dGZvcm1cQ29yZUlQQyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFBsdWdpblByb2Nlc3Mm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxTaGFyZWRcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXGNm
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cU2hhcmVkXEFQSVxjXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxD
b3JlSVBDU3VwcG9ydCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxQbHVnaW5z
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXFBsdWdpbnNcTmV0c2NhcGUmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxVSVByb2Nlc3NcQVBJXEMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVBy
b2Nlc3NcQVBJXENcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQ
SVxjcHAmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQVBJXHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xBdXRoZW50aWNhdGlvbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xEb3dubG9hZHMmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcTGF1bmNoZXImcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxVSVByb2Nlc3NcUGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJv
Y2Vzc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJDb3JlU3VwcG9ydCZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcd2luJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJQYWdlJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJQYWdlXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXFdlYlByb2Nlc3NcSWNvbkRhdGFiYXNlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilc
Li5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXERPTSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cV2ViUHJvY2Vzc1xQbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
V2ViUHJvY2Vzc1xQbHVnaW5zXE5ldHNjYXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
V2ViUHJvY2Vzc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEFw
cGxpY2F0aW9uQ2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEF1
dGhlbnRpY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xDb29r
aWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xEb3dubG9hZHMmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXERvd25sb2Fkc1xjZiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcRnVsbFNjcmVlbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcR2VvbG9jYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEtleVZhbHVlU3RvcmFnZSZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFdlYlByb2Nlc3NcUmVzb3VyY2VDYWNoZSZxdW90OzsmcXVvdDskKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzJnF1b3Q7OyZx
dW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoQ29uZmln
dXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJy
YXJpZXNEaXIpXEluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1
ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxwdGhy
ZWFkcyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxKYXZhU2Ny
aXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZVxwcml2
YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNs
dWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNs
dWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVp
bGREaXIpXEluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OzsmcXVvdDskKFdl
YktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxXZWJDb3JlXEZvcndhcmRpbmdIZWFkZXJzJnF1b3Q7
IgorCQlBZGRpdGlvbmFsSW5jbHVkZURpcmVjdG9yaWVzPSImcXVvdDskKFByb2plY3REaXIpJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQ
bGF0Zm9ybSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFBsYXRmb3JtXGNnJnF1b3Q7OyZx
dW90OyQoUHJvamVjdERpcilcLi5cUGxhdGZvcm1cQ29yZUlQQyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFBsdWdpblByb2Nlc3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFy
ZWQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcd2luJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cU2hhcmVkXGNmJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hh
cmVkXEFQSVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjXGNmJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXEFQSVxjXHdpbiZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXFNoYXJlZFxDb3JlSVBDU3VwcG9ydCZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFNoYXJlZFxQbHVnaW5zJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hh
cmVkXFBsdWdpbnNcTmV0c2NhcGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nl
c3MmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQVBJXEMmcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQVBJXENcd2luJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVxjcHAmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlxVSVByb2Nlc3NcQVBJXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vz
c1xBdXRoZW50aWNhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xE
b3dubG9hZHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcTGF1bmNoZXIm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcUGx1Z2lucyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxXZWJQcm9jZXNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xX
ZWJDb3JlU3VwcG9ydCZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2Vi
Q29yZVN1cHBvcnRcd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xX
ZWJQYWdlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xXZWJQYWdlXHdp
biZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcSWNvbkRhdGFiYXNlJnF1
b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZSZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVcQVBJXGMm
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXERP
TSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGVc
d2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xQbHVnaW5zJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xQbHVnaW5zXE5ldHNjYXBlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEFwcGxpY2F0aW9uQ2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEF1dGhlbnRpY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cV2ViUHJvY2Vzc1xDb29raWVzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
V2ViUHJvY2Vzc1xEb3dubG9hZHMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9j
ZXNzXERvd25sb2Fkc1xjZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3Nc
RnVsbFNjcmVlbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcR2VvbG9j
YXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEtleVZhbHVlU3Rv
cmFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcTWVkaWFDYWNoZSZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcUmVzb3VyY2VDYWNoZSZxdW90
OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlJnF1
b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlXHByaXZhdGUmcXVvdDs7
JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRM
aWJyYXJpZXNEaXIpXEluY2x1ZGVccHJpdmF0ZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmll
c0RpcilcSW5jbHVkZVxwdGhyZWFkcyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcSW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcSW5jbHVkZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxJbmNsdWRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoV2ViS2l0
TGlicmFyaWVzRGlyKVxJbmNsdWRlXHByaXZhdGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVy
cyZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxXZWJDb3JlXEZvcndh
cmRpbmdIZWFkZXJzJnF1b3Q7IgogCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iX1VTUkRMTDtX
RUJLSVRfRVhQT1JUUztGUkFNRVdPUktfTkFNRT1XZWJLaXQ7QlVJTERJTkdfV0VCS0lUIgogCQlV
c2VQcmVjb21waWxlZEhlYWRlcj0iMiIKIAkJUHJlY29tcGlsZWRIZWFkZXJUaHJvdWdoPSJXZWJL
aXQyUHJlZml4LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5t
YWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1h
a2UJKHJldmlzaW9uIDgxNTk4KQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0
ZWQubWFrZQkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBhbGw6CiAgICAgeGNvcHkg
L3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0dlb2xvY2F0aW9uUG9zaXRpb24uaCIgIiVDb25m
aWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5c
VUlQcm9jZXNzXEFQSVxDXFdLSW5zcGVjdG9yLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxp
bmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0tl
eVZhbHVlU3RvcmFnZU1hbmFnZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVc
V2ViS2l0MiIKKyAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLTWVkaWFDYWNo
ZU1hbmFnZXIuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAg
ICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxDXFdLTmF0aXZlRXZlbnQuaCIgIiVDb25m
aWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5c
VUlQcm9jZXNzXEFQSVxDXFdLTmF2aWdhdGlvbkRhdGEuaCIgIiVDb25maWd1cmF0aW9uQnVpbGRE
aXIlXGluY2x1ZGVcV2ViS2l0MiIKICAgICB4Y29weSAveSAvZCAiLi5cVUlQcm9jZXNzXEFQSVxD
XFdLT3BlblBhbmVsUGFyYW1ldGVycy5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVk
ZVxXZWJLaXQyIgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86551</attachid>
            <date>2011-03-22 17:31:17 -0700</date>
            <delta_ts>2011-03-23 11:39:19 -0700</delta_ts>
            <desc>[PATCH] Fix (Applies cleanly to ToT)</desc>
            <filename>media_cache_manager.patch</filename>
            <type>text/plain</type>
            <size>65940</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxNzI1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNzkgQEAKKzIwMTEtMDMtMjIgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdDI6IE5lZWQgQVBJIHRvIG1hbmFnZSB0aGUg
TWVkaWEgQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU2ODc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDgyNTAzPgorCisgICAgICAgIFBy
b2plY3QgRmlsZSBGdW46CisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2Vi
S2l0Mi5wcmk6CisgICAgICAgICogV2ViS2l0Mi5wcm86CisgICAgICAgICogV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAg
ICAgICAgKiB3aW4vV2ViS2l0MkNvbW1vbi52c3Byb3BzOgorICAgICAgICAqIHdpbi9XZWJLaXQy
R2VuZXJhdGVkLm1ha2U6CisgICAgICAgIAorICAgICAgICBEZXJpdmVkIFNvdXJjZXMgYW5kIEFQ
SSBmdW46CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5wcm86CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaDoKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6CisgICAgICAgICogU2hhcmVkL0FQSU9iamVj
dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgCisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOiBBZGQgYSBjYXNlIGZvciBNZWRp
YUNhY2hlIG1lc3NhZ2VzLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKTogRGl0dG8uCisg
ICAgICAgIAorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViQ29udGV4dDo6V2ViQ29udGV4dCk6IEluaXRpYWxpemUgdGhlIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkgbWVtYmVyIHZhcmlhYmxlLgorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0Ojp+V2ViQ29udGV4dCk6IEludmFsaWRhdGUgdGhlIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHkuCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRpc2Nvbm5lY3RQcm9jZXNzKTogRGl0
dG8uCisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmRpZFJlY2VpdmVNZXNzYWdlKTogQWRk
IGEgY2FzZSBmb3IgTWVkaWFDYWNoZSBtZXNzYWdlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
Q29udGV4dC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjptZWRpYUNhY2hlTWFuYWdl
clByb3h5KToKKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwOgorICAg
ICAgICAoV0tDb250ZXh0R2V0TWVkaWFDYWNoZU1hbmFnZXIpOiBSZXR1cm5zIHRoZSBjb250ZXh0
J3MgV2ViTWVkaWFDYWNoZU1hbmFnZXIuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5oOgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNoZU1hbmFnZXIu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdLTWVkaWFDYWNoZU1hbmFnZXJHZXRUeXBlSUQpOiBSZXR1
cm5zIHRoZSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5IHR5cGUuCisgICAgICAgIChXS01lZGlh
Q2FjaGVNYW5hZ2VyR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUpOiBDYWxscyBkb3duIHRvIHRo
ZSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LgorICAgICAgICAoV0tNZWRpYUNhY2hlTWFuYWdl
ckNsZWFyQ2FjaGVGb3JIb3N0bmFtZSk6IERpdHRvLgorICAgICAgICAoV0tNZWRpYUNhY2hlTWFu
YWdlckNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFtZXMpOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5oOiBBZGRlZC4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Ojp+V2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJv
eHk6OmludmFsaWRhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVN
YW5hZ2VyUHJveHk6OmdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKTogQ2FsbCB0aHJvdWdoIHRv
IHRoZSBXZWJQcm9jZXNzLgorICAgICAgICAoV2ViS2l0OjpXZWJNZWRpYUNhY2hlTWFuYWdlclBy
b3h5OjpkaWRHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSk6IFByb2Nlc3MgdGhlIFdlYlByb2Nl
c3MgcmVzcG9uc2UsCisgICAgICAgICAgICBhbmQgY2FsbCB0aGUgY2FsbGJhY2suCisgICAgICAg
IChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmNsZWFyQ2FjaGVGb3JIb3N0bmFt
ZSk6IENhbGwgdGhyb3VnaCB0byB0aGUgV2ViUHJvY2Vzcy4KKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcyk6IENhbGwg
dGhyb3VnaCB0byB0aGUgV2ViUHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eTo6Y2xlYXJDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eTo6dHlwZSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW46IEFkZGVkLgorCisgICAgICAgICogV2ViUHJvY2Vz
cy9NZWRpYUNhY2hlOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFD
YWNoZU1hbmFnZXI6OnNoYXJlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2FjaGVNYW5h
Z2VyOjpXZWJNZWRpYUNhY2hlTWFuYWdlcik6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2Fj
aGVNYW5hZ2VyOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlh
Q2FjaGVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSk6IEFkZGVkIGEgRklYTUUg
dG8gY2FsbCB0aHJvdWdoIHRvIFdlYkNvcmUuCisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhQ2Fj
aGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9ySG9zdG5hbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYktp
dDo6V2ViTWVkaWFDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFtZXMpOiBEaXR0
by4KKyAgICAgICAgKiBXZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVN
YW5hZ2VyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKwogMjAxMS0wMy0yMiAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQkocmV2aXNpb24gODE3MjUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICsz
MCw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9HZW9sb2NhdGlvbiBc
CiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZSBcCiAgICAgJChXZWJLaXQy
KS9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZSBcCisgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNz
L01lZGlhQ2FjaGUgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9QbHVnaW5zIFwKICAgICAk
KFdlYktpdDIpL1dlYlByb2Nlc3MvUmVzb3VyY2VDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwKQEAgLTY3LDYgKzY4LDggQEAgTUVTU0FHRV9SRUNFSVZF
UlMgPSBcCiAgICAgV2ViSW5zcGVjdG9yUHJveHkgXAogICAgIFdlYktleVZhbHVlU3RvcmFnZU1h
bmFnZXIgXAogICAgIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eSBcCisgICAgV2ViTWVk
aWFDYWNoZU1hbmFnZXIgXAorICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkgXAogICAgIFdl
YlBhZ2UgXAogICAgIFdlYlBhZ2VQcm94eSBcCiAgICAgV2ViUHJvY2VzcyBcCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvRGVyaXZlZFNvdXJjZXMucHJvCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQy
L0Rlcml2ZWRTb3VyY2VzLnBybwkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBWUEFU
SCA9IFwKICAgICBXZWJQcm9jZXNzL0dlb2xvY2F0aW9uIFwKICAgICBXZWJQcm9jZXNzL0ljb25E
YXRhYmFzZSBcCiAgICAgV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UgXAorICAgIFdlYlByb2Nl
c3MvTWVtb3J5Q2FjaGUgXAogICAgIFdlYlByb2Nlc3MvUGx1Z2lucyBcCiAgICAgV2ViUHJvY2Vz
cy9SZXNvdXJjZUNhY2hlIFwKICAgICBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwKQEAgLTEx
Myw2ICsxMTQsOCBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJbnNwZWN0b3JQcm94
eS5tZXNzYWdlcy5pbiBcCiAgICAgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5tZXNzYWdlcy5p
biBcCiAgICAgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluIFwKKyAg
ICBXZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiBcCisgICAgV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eS5tZXNzYWdlcy5pbiBcCiAgICAgV2ViRnVsbFNjcmVlbk1hbmFnZXIubWVzc2Fn
ZXMuaW4gXAogICAgIFdlYkZ1bGxTY3JlZW5NYW5hZ2VyUHJveHkubWVzc2FnZXMuaW4gXAogICAg
IFdlYlBhZ2UvV2ViSW5zcGVjdG9yLm1lc3NhZ2VzLmluIFwKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxl
LmFtCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC01NSw2ICs1NSw3IEBAIGxpYldlYktpdDJfbGFfSEVBREVSUyA9IFwK
IAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCiAJ
JChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tJbnNwZWN0b3IuaCBcCiAJJChXZWJLaXQyKS9V
SVByb2Nlc3MvQVBJL0MvV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmggXAorCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFDYWNoZU1hbmFnZXIuaCBcCiAJJChXZWJLaXQyKS9VSVBy
b2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKIAkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XS05hdmlnYXRpb25EYXRhLmggXAogCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLT3Bl
blBhbmVsUGFyYW1ldGVycy5oIFwKQEAgLTMyNCw2ICszMjUsOCBAQCBsaWJXZWJLaXQyX2xhX1NP
VVJDRVMgPSBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLSW5zcGVjdG9yLmgg
XAogCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0tleVZhbHVlU3RvcmFnZU1hbmFn
ZXIuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tLZXlWYWx1ZVN0b3Jh
Z2VNYW5hZ2VyLmggXAorCVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhQ2Fj
aGVNYW5hZ2VyLmNwcCBcCisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTWVkaWFD
YWNoZU1hbmFnZXIuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZl
RXZlbnQuaCBcCiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRh
dGEuY3BwIFwKIAlTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0
YS5oIFwKQEAgLTQ1Myw2ICs0NTYsOCBAQCBsaWJXZWJLaXQyX2xhX1NPVVJDRVMgPSBcCiAJU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmggXAogCVNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkuY3BwIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LmggXAor
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCBc
CisJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuaCBc
CiAJU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAogCVNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaCBcCiAJU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRhLmNwcCBcCkBAIC01NzAsNiArNTc1LDggQEAgbGli
V2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAogCVNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0tleVZhbHVlU3RvcmFnZS9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmNwcCBcCiAJU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2ViS2V5
VmFsdWVTdG9yYWdlTWFuYWdlci5oIFwKKwlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlh
Q2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwIFwKKwlTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuaCBcCiAJU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwIFwKIAlTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE1ldGhvZC5oIFwKIAlTb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAgXApAQCAt
NzEzLDYgKzcyMCw3IEBAIGxpYldlYktpdDJfbGFfQ1BQRkxBR1MgPSBcCiAJLUkkKHNyY2Rpcikv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsgXAogCS1JJChzcmNk
aXIpL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvS2V5VmFsdWVTdG9yYWdlIFwKIAktSSQoc3Jj
ZGlyKS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5jaGluZyBcCisJLUkkKHNyY2Rpcikv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlIFwKIAktSSQoc3JjZGlyKS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Jlc291cmNlQ2FjaGUgXAogCS1JJChzcmNkaXIpL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKQEAgLTg4Nyw2ICs4OTUsMTAgQEAgd2Vi
a2l0Ml9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktleVZh
bHVlU3RvcmFnZU1hbmFnZXJNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZXMu
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViTWVkaWFDYWNoZU1hbmFn
ZXJNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
Yk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9X
ZWJQYWdlTWVzc2FnZVJlY2VpdmVyLmNwcCBcCkBAIC05MjgsNiArOTQwLDcgQEAgdnBhdGggJS5t
ZXNzYWdlcy5pbiA9IFwKIAkkKFdlYktpdDIpL1dlYlByb2Nlc3MvR2VvbG9jYXRpb24gXAogCSQo
V2ViS2l0MikvV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UgXAogCSQoV2ViS2l0MikvV2ViUHJvY2Vz
cy9LZXlWYWx1ZVN0b3JhZ2UgXAorCSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlIFwK
IAkkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCiAJJChXZWJLaXQyKS9XZWJQcm9jZXNz
L1Jlc291cmNlQ2FjaGUgXAogCSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCBc
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnByaQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9XZWJLaXQyLnByaQkocmV2aXNpb24gODE3MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnByaQkod29ya2luZyBjb3B5KQpAQCAtNTAsNiArNTAsNyBAQCBXRUJLSVQyX0lOQ0xV
REVQQVRIID0gXAogICAgICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvRE9NIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL0tleVZh
bHVlU3RvcmFnZSBcCisgICAgJCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNh
Y2hlIFwKICAgICAkJFNPVVJDRV9ESVIvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAogICAg
ICQkU09VUkNFX0RJUi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZSBcCiAgICAg
JCRTT1VSQ0VfRElSL1dlYktpdDIvV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlIFwKSW5kZXg6IFNv
dXJjZS9XZWJLaXQyL1dlYktpdDIucHJvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dl
YktpdDIucHJvCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIucHJv
CSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw4IEBAIFdFQktJVDJfR0VORVJBVEVEX0hFQURF
UlMgPSBcCiAgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XZWJJbnNwZWN0b3JQ
cm94eU1lc3NhZ2VzLmggXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvV2Vi
S2V5VmFsdWVTdG9yYWdlTWFuYWdlck1lc3NhZ2VzLmggXAogICAgICQkV0VCS0lUMl9HRU5FUkFU
RURfU09VUkNFU19ESVIvV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBc
CisgICAgJCRXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTX0RJUi9XZWJNZWRpYUNhY2hlTWFuYWdl
ck1lc3NhZ2VzLmggXAorICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvV2ViTWVk
aWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURf
U09VUkNFU19ESVIvV2ViUGFnZU1lc3NhZ2VzLmggXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURf
U09VUkNFU19ESVIvV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCiAgICAgJCRXRUJLSVQyX0dFTkVS
QVRFRF9TT1VSQ0VTX0RJUi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggXApAQCAtNzYs
NiArNzgsOCBAQCBXRUJLSVQyX0dFTkVSQVRFRF9TT1VSQ0VTID0gXAogICAgICQkV0VCS0lUMl9H
RU5FUkFURURfU09VUkNFU19ESVIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3Bw
IFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dlYktleVZhbHVlU3RvcmFn
ZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NP
VVJDRVNfRElSL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgXAorICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIvV2ViTWVkaWFDYWNoZU1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKyAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJD
RVNfRElSL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKICAg
ICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIu
Y3BwIFwKICAgICAkJFdFQktJVDJfR0VORVJBVEVEX1NPVVJDRVNfRElSL1dlYlBhZ2VQcm94eU1l
c3NhZ2VSZWNlaXZlci5jcHAgXAogICAgICQkV0VCS0lUMl9HRU5FUkFURURfU09VUkNFU19ESVIv
V2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwIFwKQEAgLTIwNiw2ICsyMTAs
NyBAQCBIRUFERVJTICs9IFwKICAgICBVSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJveHkuaCBcCiAg
ICAgVUlQcm9jZXNzL1dlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eS5oIFwKICAgICBVSVBy
b2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmggXAorICAgIFVJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5LmggXAogICAgIFVJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uRGF0YS5oIFwKICAgICBV
SVByb2Nlc3MvV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJQcm94eS5oIFwKICAgICBVSVByb2Nl
c3MvV2ViUGFnZUNvbnRleHRNZW51Q2xpZW50LmggXApAQCAtMjQxLDYgKzI0Niw3IEBAIEhFQURF
UlMgKz0gXAogICAgIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3Jp
cHRXb3JsZC5oIFwKICAgICBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
VXNlck1lc3NhZ2VDb2RlcnMuaCBcCiAgICAgV2ViUHJvY2Vzcy9LZXlWYWx1ZVN0b3JhZ2UvV2Vi
S2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oIFwKKyAgICBXZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuaCBcCiAgICAgV2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJl
c291cmNlQ2FjaGVNYW5hZ2VyLmggXAogICAgIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QTWV0aG9kLmggXAogICAgIFdlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0
LmggXApAQCAtNDAwLDYgKzQwNiw3IEBAIFNPVVJDRVMgKz0gXAogICAgIFVJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5h
Z2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcCBcCisgICAg
VUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuY3BwIFwKICAgICBVSVByb2Nlc3Mv
V2ViTmF2aWdhdGlvbkRhdGEuY3BwIFwKICAgICBVSVByb2Nlc3MvV2ViT3BlblBhbmVsUmVzdWx0
TGlzdGVuZXJQcm94eS5jcHAgXAogICAgIFVJUHJvY2Vzcy9XZWJQYWdlQ29udGV4dE1lbnVDbGll
bnQuY3BwIFwKQEAgLTQ0OSw2ICs0NTYsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBXZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwIFwKICAgICBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL3F0L0luamVjdGVkQnVuZGxlUXQuY3BwIFwKICAgICBXZWJQ
cm9jZXNzL0tleVZhbHVlU3RvcmFnZS9XZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmNwcCBcCisg
ICAgV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcCBcCiAgICAg
V2ViUHJvY2Vzcy9SZXNvdXJjZUNhY2hlL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyLmNwcCBcCiAg
ICAgV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBNZXRob2QuY3BwIFwKICAgICBXZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVjdC5jcHAgXApJbmRleDogU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5oCShyZXZpc2lvbiA4MTcyNSkKKysr
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ3LDYgKzQ3LDcgQEAgZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIE1lc3NhZ2VDbGFz
c1dlYkljb25EYXRhYmFzZVByb3h5LAogICAgIE1lc3NhZ2VDbGFzc1dlYkluc3BlY3RvciwKICAg
ICBNZXNzYWdlQ2xhc3NXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLAorICAgIE1lc3NhZ2VDbGFz
c1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLAogICAgIE1lc3NhZ2VDbGFzc1dlYlBhZ2UsCiAgICAgTWVz
c2FnZUNsYXNzV2ViUHJvY2VzcywKICAgICBNZXNzYWdlQ2xhc3NXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlciwKQEAgLTY1LDYgKzY2LDcgQEAgZW51bSBNZXNzYWdlQ2xhc3MgewogICAgIE1lc3NhZ2VD
bGFzc1dlYkljb25EYXRhYmFzZSwKICAgICBNZXNzYWdlQ2xhc3NXZWJJbnNwZWN0b3JQcm94eSwK
ICAgICBNZXNzYWdlQ2xhc3NXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHksCisgICAgTWVz
c2FnZUNsYXNzV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSwKICAgICBNZXNzYWdlQ2xhc3NXZWJQ
YWdlUHJveHksCiAgICAgTWVzc2FnZUNsYXNzV2ViUHJvY2Vzc1Byb3h5LAogICAgIE1lc3NhZ2VD
bGFzc1dlYlByb2Nlc3NQcm94eUxlZ2FjeSwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9B
UElPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0
LmgJKHJldmlzaW9uIDgxNzI1KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSU9iamVjdC5o
CSh3b3JraW5nIGNvcHkpCkBAIC03OSw2ICs3OSw3IEBAIHB1YmxpYzoKICAgICAgICAgVHlwZUlj
b25EYXRhYmFzZSwKICAgICAgICAgVHlwZUluc3BlY3RvciwKICAgICAgICAgVHlwZUtleVZhbHVl
U3RvcmFnZU1hbmFnZXIsCisgICAgICAgIFR5cGVNZWRpYUNhY2hlTWFuYWdlciwKICAgICAgICAg
VHlwZU5hdmlnYXRpb25EYXRhLAogICAgICAgICBUeXBlT3BlblBhbmVsUGFyYW1ldGVycywKICAg
ICAgICAgVHlwZU9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLApJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL0FQSS9jL1dLQmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0Jhc2UuaAkocmV2aXNpb24gODE3MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTg2LDYgKzg2LDcgQEAgdHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tHZW9sb2NhdGlvbgogdHlwZWRlZiBjb25zdCBzdHJ1Y3Qg
T3BhcXVlV0tHZW9sb2NhdGlvblBvc2l0aW9uKiBXS0dlb2xvY2F0aW9uUG9zaXRpb25SZWY7CiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0luc3BlY3RvciogV0tJbnNwZWN0b3JSZWY7CiB0
eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXIqIFdLS2V5
VmFsdWVTdG9yYWdlTWFuYWdlclJlZjsKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLTWVk
aWFDYWNoZU1hbmFnZXIqIFdLTWVkaWFDYWNoZU1hbmFnZXJSZWY7CiB0eXBlZGVmIGNvbnN0IHN0
cnVjdCBPcGFxdWVXS05hdmlnYXRpb25EYXRhKiBXS05hdmlnYXRpb25EYXRhUmVmOwogdHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tPcGVuUGFuZWxQYXJhbWV0ZXJzKiBXS09wZW5QYW5lbFBh
cmFtZXRlcnNSZWY7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS09wZW5QYW5lbFJlc3Vs
dExpc3RlbmVyKiBXS09wZW5QYW5lbFJlc3VsdExpc3RlbmVyUmVmOwpJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAkocmV2aXNpb24gODE3MjUpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDYg
KzQzLDcgQEAKICNpbmNsdWRlICJXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eS5oIgogI2luY2x1
ZGUgIldlYkljb25EYXRhYmFzZS5oIgogI2luY2x1ZGUgIldlYktleVZhbHVlU3RvcmFnZU1hbmFn
ZXJQcm94eS5oIgorI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuaCIKICNpbmNs
dWRlICJXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJQYWdlR3JvdXAu
aCIKICNpbmNsdWRlICJXZWJNZW1vcnlTYW1wbGVyLmgiCkBAIC0xMjAsNiArMTIxLDcgQEAgV2Vi
Q29udGV4dDo6V2ViQ29udGV4dChQcm9jZXNzTW9kZWwgcHJvYwogICAgICwgbV9nZW9sb2NhdGlv
bk1hbmFnZXJQcm94eShXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eTo6Y3JlYXRlKHRoaXMpKQog
ICAgICwgbV9pY29uRGF0YWJhc2UoV2ViSWNvbkRhdGFiYXNlOjpjcmVhdGUodGhpcykpCiAgICAg
LCBtX2tleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eShXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
UHJveHk6OmNyZWF0ZSh0aGlzKSkKKyAgICAsIG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eShXZWJN
ZWRpYUNhY2hlTWFuYWdlclByb3h5OjpjcmVhdGUodGhpcykpCiAgICAgLCBtX3BsdWdpblNpdGVE
YXRhTWFuYWdlcihXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXI6OmNyZWF0ZSh0aGlzKSkKICAgICAs
IG1fcmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eShXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
OjpjcmVhdGUodGhpcykpCiAjaWYgUExBVEZPUk0oV0lOKQpAQCAtMTY2LDYgKzE2OCw5IEBAIFdl
YkNvbnRleHQ6On5XZWJDb250ZXh0KCkKICAgICBtX2tleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94
eS0+aW52YWxpZGF0ZSgpOwogICAgIG1fa2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LT5jbGVh
ckNvbnRleHQoKTsKIAorICAgIG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eS0+aW52YWxpZGF0ZSgp
OworICAgIG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eS0+Y2xlYXJDb250ZXh0KCk7CisKICAgICBt
X3BsdWdpblNpdGVEYXRhTWFuYWdlci0+aW52YWxpZGF0ZSgpOwogICAgIG1fcGx1Z2luU2l0ZURh
dGFNYW5hZ2VyLT5jbGVhckNvbnRleHQoKTsKIApAQCAtMzIxLDYgKzMyNiw3IEBAIHZvaWQgV2Vi
Q29udGV4dDo6ZGlzY29ubmVjdFByb2Nlc3MoV2ViUHIKICAgICBtX2RhdGFiYXNlTWFuYWdlclBy
b3h5LT5pbnZhbGlkYXRlKCk7CiAgICAgbV9nZW9sb2NhdGlvbk1hbmFnZXJQcm94eS0+aW52YWxp
ZGF0ZSgpOwogICAgIG1fa2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LT5pbnZhbGlkYXRlKCk7
CisgICAgbV9tZWRpYUNhY2hlTWFuYWdlclByb3h5LT5pbnZhbGlkYXRlKCk7CiAgICAgbV9yZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5LT5pbnZhbGlkYXRlKCk7CiAKICAgICAvLyBXaGVuIG91dCBv
ZiBwcm9jZXNzIHBsdWctaW5zIGFyZSBlbmFibGVkLCB3ZSBkb24ndCB3YW50IHRvIGludmFsaWRh
dGUgdGhlIHBsdWctaW4gc2l0ZSBkYXRhCkBAIC02MTYsNiArNjIyLDExIEBAIHZvaWQgV2ViQ29u
dGV4dDo6ZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAor
ICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eT4oKSkgeworICAgICAgICBtX21lZGlhQ2FjaGVNYW5hZ2VyUHJveHktPmRpZFJl
Y2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIGlmIChtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNs
YXNzV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eT4oKSkgewogICAgICAgICBtX3Jlc291cmNl
Q2FjaGVNYW5hZ2VyUHJveHktPmRpZFJlY2VpdmVXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5
TWVzc2FnZShjb25uZWN0aW9uLCBtZXNzYWdlSUQsIGFyZ3VtZW50cyk7CiAgICAgICAgIHJldHVy
bjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAkocmV2aXNpb24gODE3
MjUpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCSh3b3JraW5nIGNv
cHkpCkBAIC01MSw2ICs1MSw3IEBAIGNsYXNzIFdlYkRhdGFiYXNlTWFuYWdlclByb3h5OwogY2xh
c3MgV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJJY29uRGF0YWJhc2U7CiBj
bGFzcyBXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHk7CitjbGFzcyBXZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5OwogY2xhc3MgV2ViUGFnZUdyb3VwOwogY2xhc3MgV2ViUGFnZVByb3h5Owog
Y2xhc3MgV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eTsKQEAgLTE0NSw2ICsxNDYsNyBAQCBw
dWJsaWM6CiAgICAgV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHkqIGRhdGFiYXNlTWFuYWdlclByb3h5
KCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFzZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogICAgIFdl
Ykdlb2xvY2F0aW9uTWFuYWdlclByb3h5KiBnZW9sb2NhdGlvbk1hbmFnZXJQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1fZ2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuZ2V0KCk7IH0KICAgICBXZWJLZXlW
YWx1ZVN0b3JhZ2VNYW5hZ2VyUHJveHkqIGtleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eSgpIGNv
bnN0IHsgcmV0dXJuIG1fa2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5LmdldCgpOyB9CisgICAg
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eSogbWVkaWFDYWNoZU1hbmFnZXJQcm94eSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWVkaWFDYWNoZU1hbmFnZXJQcm94eS5nZXQoKTsgfQogICAgIFdlYlBsdWdp
blNpdGVEYXRhTWFuYWdlciogcGx1Z2luU2l0ZURhdGFNYW5hZ2VyKCkgY29uc3QgeyByZXR1cm4g
bV9wbHVnaW5TaXRlRGF0YU1hbmFnZXIuZ2V0KCk7IH0KICAgICBXZWJSZXNvdXJjZUNhY2hlTWFu
YWdlclByb3h5KiByZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5LmdldCgpOyB9CiAKQEAgLTI0Miw2ICsyNDQsNyBAQCBw
cml2YXRlOgogICAgIFJlZlB0cjxXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eT4gbV9nZW9sb2Nh
dGlvbk1hbmFnZXJQcm94eTsKICAgICBSZWZQdHI8V2ViSWNvbkRhdGFiYXNlPiBtX2ljb25EYXRh
YmFzZTsKICAgICBSZWZQdHI8V2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5PiBtX2tleVZh
bHVlU3RvcmFnZU1hbmFnZXJQcm94eTsKKyAgICBSZWZQdHI8V2ViTWVkaWFDYWNoZU1hbmFnZXJQ
cm94eT4gbV9tZWRpYUNhY2hlTWFuYWdlclByb3h5OwogICAgIFJlZlB0cjxXZWJQbHVnaW5TaXRl
RGF0YU1hbmFnZXI+IG1fcGx1Z2luU2l0ZURhdGFNYW5hZ2VyOwogICAgIFJlZlB0cjxXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlclByb3h5PiBtX3Jlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1h
bmFnZXJQcm94eS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTA1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHkuaCIKKworI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVz
c2FnZXMuaCIKKyNpbmNsdWRlICJXZWJDb250ZXh0LmgiCisjaW5jbHVkZSAiV2ViU2VjdXJpdHlP
cmlnaW4uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NSZWZQdHI8V2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eT4gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6Y3JlYXRlKFdlYkNvbnRl
eHQqIGNvbnRleHQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5KGNvbnRleHQpKTsKK30KKworV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6V2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eShXZWJDb250ZXh0KiBjb250ZXh0KQorICAgIDogbV93ZWJD
b250ZXh0KGNvbnRleHQpCit7Cit9CisKK1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6On5XZWJN
ZWRpYUNhY2hlTWFuYWdlclByb3h5KCkKK3sKK30KKwordm9pZCBXZWJNZWRpYUNhY2hlTWFuYWdl
clByb3h5OjppbnZhbGlkYXRlKCkKK3sKKyAgICBpbnZhbGlkYXRlQ2FsbGJhY2tNYXAobV9hcnJh
eUNhbGxiYWNrcyk7Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiogY29ubmVjdGlvbiwgQ29yZUlQQzo6TWVz
c2FnZUlEIG1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiBhcmd1bWVudHMpCit7
CisgICAgZGlkUmVjZWl2ZVdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlKGNvbm5lY3Rp
b24sIG1lc3NhZ2VJRCwgYXJndW1lbnRzKTsKK30KKwordm9pZCBXZWJNZWRpYUNhY2hlTWFuYWdl
clByb3h5OjpnZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShQYXNzUmVmUHRyPEFycmF5Q2FsbGJh
Y2s+IHBycENhbGxiYWNrKQoreworICAgIFJlZlB0cjxBcnJheUNhbGxiYWNrPiBjYWxsYmFjayA9
IHBycENhbGxiYWNrOworICAgIGlmICghbV93ZWJDb250ZXh0LT5oYXNWYWxpZFByb2Nlc3MoKSkg
eworICAgICAgICBjYWxsYmFjay0+aW52YWxpZGF0ZSgpOworICAgICAgICByZXR1cm47CisgICAg
fQorICAgIAorICAgIHVpbnQ2NF90IGNhbGxiYWNrSUQgPSBjYWxsYmFjay0+Y2FsbGJhY2tJRCgp
OworICAgIG1fYXJyYXlDYWxsYmFja3Muc2V0KGNhbGxiYWNrSUQsIGNhbGxiYWNrLnJlbGVhc2Uo
KSk7CisgICAgbV93ZWJDb250ZXh0LT5wcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYk1lZGlh
Q2FjaGVNYW5hZ2VyOjpHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZShjYWxsYmFja0lEKSwgMCk7
Cit9CisgICAgCit2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OmRpZEdldEhvc3RuYW1l
c1dpdGhNZWRpYUNhY2hlKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBob3N0bmFtZUxpc3QsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCit7CisgICAgUmVmUHRyPEFycmF5Q2FsbGJhY2s+IGNhbGxiYWNrID0g
bV9hcnJheUNhbGxiYWNrcy50YWtlKGNhbGxiYWNrSUQpOworICAgIGlmICghY2FsbGJhY2spIHsK
KyAgICAgICAgLy8gRklYTUU6IExvZyBlcnJvciBvciBhc3NlcnQuCisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBzaXplX3QgaG9zdG5hbWVDb3VudCA9IGhvc3RuYW1lTGlzdC5zaXplKCk7
CisgICAgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gaG9zdG5hbWVzKGhvc3RuYW1lQ291bnQp
OworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBob3N0bmFtZUNvdW50OyArK2kpCisgICAg
ICAgIGhvc3RuYW1lc1tpXSA9IFdlYlN0cmluZzo6Y3JlYXRlKGhvc3RuYW1lTGlzdFtpXSk7CisK
KyAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKEltbXV0YWJsZUFy
cmF5OjphZG9wdChob3N0bmFtZXMpLmdldCgpKTsKK30KKwordm9pZCBXZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5OjpjbGVhckNhY2hlRm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkK
K3sKKyAgICBpZiAoIW1fd2ViQ29udGV4dC0+aGFzVmFsaWRQcm9jZXNzKCkpCisgICAgICAgIHJl
dHVybjsKKworICAgIG1fd2ViQ29udGV4dC0+cHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJN
ZWRpYUNhY2hlTWFuYWdlcjo6Q2xlYXJDYWNoZUZvckhvc3RuYW1lKGhvc3RuYW1lKSwgMCk7Cit9
CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6Y2xlYXJDYWNoZUZvckFsbEhvc3Ru
YW1lcygpCit7CisgICAgaWYgKCFtX3dlYkNvbnRleHQtPmhhc1ZhbGlkUHJvY2VzcygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX3dlYkNvbnRleHQtPnByb2Nlc3MoKS0+c2VuZChNZXNzYWdl
czo6V2ViTWVkaWFDYWNoZU1hbmFnZXI6OkNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFtZXMoKSwgMCk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViTWVk
aWFDYWNoZU1hbmFnZXJQcm94eV9oCisjZGVmaW5lIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlf
aAorCisjaW5jbHVkZSAiQVBJT2JqZWN0LmgiCisjaW5jbHVkZSAiR2VuZXJpY0NhbGxiYWNrLmgi
CisjaW5jbHVkZSAiSW1tdXRhYmxlQXJyYXkuaCIKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwor
bmFtZXNwYWNlIENvcmVJUEMgeworICAgIGNsYXNzIEFyZ3VtZW50RGVjb2RlcjsKKyAgICBjbGFz
cyBDb25uZWN0aW9uOworICAgIGNsYXNzIE1lc3NhZ2VJRDsKK30KKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIFdlYkNvbnRleHQ7CisKK3R5cGVkZWYgR2VuZXJpY0NhbGxiYWNrPFdLQXJy
YXlSZWY+IEFycmF5Q2FsbGJhY2s7CisKK2NsYXNzIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkg
OiBwdWJsaWMgQVBJT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgY29uc3QgVHlwZSBBUElU
eXBlID0gVHlwZU1lZGlhQ2FjaGVNYW5hZ2VyOworCisgICAgc3RhdGljIFBhc3NSZWZQdHI8V2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eT4gY3JlYXRlKFdlYkNvbnRleHQqKTsKKyAgICB2aXJ0dWFs
IH5XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5KCk7CisKKyAgICB2b2lkIGludmFsaWRhdGUoKTsK
KyAgICB2b2lkIGNsZWFyQ29udGV4dCgpIHsgbV93ZWJDb250ZXh0ID0gMDsgfQorICAgIAorICAg
IHZvaWQgZ2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoUGFzc1JlZlB0cjxBcnJheUNhbGxiYWNr
Pik7CisgICAgdm9pZCBjbGVhckNhY2hlRm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJik7CisgICAg
dm9pZCBjbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVN
ZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6
OkFyZ3VtZW50RGVjb2RlciopOworCitwcml2YXRlOgorICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2Vy
UHJveHkoV2ViQ29udGV4dCopOworCisgICAgdmlydHVhbCBUeXBlIHR5cGUoKSBjb25zdCB7IHJl
dHVybiBBUElUeXBlOyB9CisKKyAgICB2b2lkIGRpZEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hl
KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiwgdWludDY0X3QgY2FsbGJhY2tJRCk7CisgICAgCisgICAg
dm9pZCBkaWRSZWNlaXZlV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCwgQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
Kik7CisKKyAgICBXZWJDb250ZXh0KiBtX3dlYkNvbnRleHQ7CisgICAgSGFzaE1hcDx1aW50NjRf
dCwgUmVmUHRyPEFycmF5Q2FsbGJhY2s+ID4gbV9hcnJheUNhbGxiYWNrczsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eV9o
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94
eS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
TWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmlu
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI1IEBACisjIENvcHlyaWdodCAoQykgMjAxMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQK
KyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisj
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisKK21lc3NhZ2VzIC0+IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkgewor
ICAgIERpZEdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKFZlY3RvcjxXVEY6OlN0cmluZz4gaG9z
dG5hbWVzLCB1aW50NjRfdCBjYWxsYmFja0lEKTsKK30KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNTQsNiArMjU0LDcgQEAgdm9pZCBXZWJQcm9jZXNzUHJveHk6OmRpZFJlY2VpdmVNZXNzYWdl
KAogICAgICAgICB8fCBtZXNzYWdlSUQuaXM8Q29yZUlQQzo6TWVzc2FnZUNsYXNzV2ViR2VvbG9j
YXRpb25NYW5hZ2VyUHJveHk+KCkKICAgICAgICAgfHwgbWVzc2FnZUlELmlzPENvcmVJUEM6Ok1l
c3NhZ2VDbGFzc1dlYkljb25EYXRhYmFzZT4oKQogICAgICAgICB8fCBtZXNzYWdlSUQuaXM8Q29y
ZUlQQzo6TWVzc2FnZUNsYXNzV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5PigpCisgICAg
ICAgIHx8IG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJNZWRpYUNhY2hlTWFu
YWdlclByb3h5PigpCiAgICAgICAgIHx8IG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xh
c3NXZWJSZXNvdXJjZUNhY2hlTWFuYWdlclByb3h5PigpKSB7CiAgICAgICAgIG1fY29udGV4dC0+
ZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAg
ICAgICByZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJ
Q2FzdC5oCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0FQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEsNyBAQCBjbGFzcyBXZWJH
ZW9sb2NhdGlvbk1hbmFnZXJQcm94eTsKIGNsYXNzIFdlYkdlb2xvY2F0aW9uUG9zaXRpb247CiBj
bGFzcyBXZWJJbnNwZWN0b3JQcm94eTsKIGNsYXNzIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQ
cm94eTsKK2NsYXNzIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk7CiBjbGFzcyBXZWJOYXZpZ2F0
aW9uRGF0YTsKIGNsYXNzIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnM7CiBjbGFzcyBXZWJPcGVuUGFu
ZWxSZXN1bHRMaXN0ZW5lclByb3h5OwpAQCAtODgsNiArODksNyBAQCBXS19BRERfQVBJX01BUFBJ
TkcoV0tHZW9sb2NhdGlvbk1hbmFnZXJSCiBXS19BRERfQVBJX01BUFBJTkcoV0tHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0UmVmLCBHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJveHkp
CiBXS19BRERfQVBJX01BUFBJTkcoV0tHZW9sb2NhdGlvblBvc2l0aW9uUmVmLCBXZWJHZW9sb2Nh
dGlvblBvc2l0aW9uKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdl
clJlZiwgV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5KQorV0tfQUREX0FQSV9NQVBQSU5H
KFdLTWVkaWFDYWNoZU1hbmFnZXJSZWYsIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkpCiBXS19B
RERfQVBJX01BUFBJTkcoV0tOYXZpZ2F0aW9uRGF0YVJlZiwgV2ViTmF2aWdhdGlvbkRhdGEpCiBX
S19BRERfQVBJX01BUFBJTkcoV0tPcGVuUGFuZWxQYXJhbWV0ZXJzUmVmLCBXZWJPcGVuUGFuZWxQ
YXJhbWV0ZXJzKQogV0tfQUREX0FQSV9NQVBQSU5HKFdLT3BlblBhbmVsUmVzdWx0TGlzdGVuZXJS
ZWYsIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyUHJveHkpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAkocmV2aXNpb24gODE3MjUpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTgzLDYgKzE4MywxMSBAQCBXS0tleVZhbHVlU3RvcmFnZU1hbmFnZXJSZWYgV0tDb250
ZXh0R2V0CiAgICAgcmV0dXJuIHRvQVBJKHRvSW1wbChjb250ZXh0UmVmKS0+a2V5VmFsdWVTdG9y
YWdlTWFuYWdlclByb3h5KCkpOwogfQogCitXS01lZGlhQ2FjaGVNYW5hZ2VyUmVmIFdLQ29udGV4
dEdldE1lZGlhQ2FjaGVNYW5hZ2VyKFdLQ29udGV4dFJlZiBjb250ZXh0UmVmKQoreworICAgIHJl
dHVybiB0b0FQSSh0b0ltcGwoY29udGV4dFJlZiktPm1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkoKSk7
Cit9CisKIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2VyUmVmIFdLQ29udGV4dEdldFBsdWdpblNpdGVE
YXRhTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dFJlZikKIHsKICAgICByZXR1cm4gdG9BUEko
dG9JbXBsKGNvbnRleHRSZWYpLT5wbHVnaW5TaXRlRGF0YU1hbmFnZXIoKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCShyZXZpc2lvbiA4MTcyNSkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAkod29ya2luZyBj
b3B5KQpAQCAtMTM0LDYgKzEzNCw3IEBAIFdLX0VYUE9SVCBXS0Nvb2tpZU1hbmFnZXJSZWYgV0tD
b250ZXh0R2UKIFdLX0VYUE9SVCBXS0RhdGFiYXNlTWFuYWdlclJlZiBXS0NvbnRleHRHZXREYXRh
YmFzZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHQpOwogV0tfRVhQT1JUIFdLR2VvbG9jYXRp
b25NYW5hZ2VyUmVmIFdLQ29udGV4dEdldEdlb2xvY2F0aW9uTWFuYWdlcihXS0NvbnRleHRSZWYg
Y29udGV4dCk7CiBXS19FWFBPUlQgV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyUmVmIFdLQ29udGV4
dEdldEtleVZhbHVlU3RvcmFnZU1hbmFnZXIoV0tDb250ZXh0UmVmIGNvbnRleHQpOworV0tfRVhQ
T1JUIFdLTWVkaWFDYWNoZU1hbmFnZXJSZWYgV0tDb250ZXh0R2V0TWVkaWFDYWNoZU1hbmFnZXIo
V0tDb250ZXh0UmVmIGNvbnRleHQpOwogV0tfRVhQT1JUIFdLUGx1Z2luU2l0ZURhdGFNYW5hZ2Vy
UmVmIFdLQ29udGV4dEdldFBsdWdpblNpdGVEYXRhTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4
dCk7CiBXS19FWFBPUlQgV0tSZXNvdXJjZUNhY2hlTWFuYWdlclJlZiBXS0NvbnRleHRHZXRSZXNv
dXJjZUNhY2hlTWFuYWdlcihXS0NvbnRleHRSZWYgY29udGV4dCk7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5j
cHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRp
YUNhY2hlTWFuYWdlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV0tNZWRpYUNhY2hlTWFuYWdlci5o
IgorCisjaW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViTWVkaWFDYWNoZU1hbmFn
ZXJQcm94eS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViS2l0OworCitXS1R5cGVJRCBXS01lZGlh
Q2FjaGVNYW5hZ2VyR2V0VHlwZUlEKCkKK3sKKyAgICByZXR1cm4gdG9BUEkoV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eTo6QVBJVHlwZSk7Cit9CisKK3ZvaWQgV0tNZWRpYUNhY2hlTWFuYWdlckdl
dEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKFdLTWVkaWFDYWNoZU1hbmFnZXJSZWYgbWVkaWFDYWNo
ZU1hbmFnZXJSZWYsIHZvaWQqIGNvbnRleHQsIFdLTWVkaWFDYWNoZU1hbmFnZXJHZXRIb3N0bmFt
ZXNXaXRoTWVkaWFDYWNoZUZ1bmN0aW9uIGNhbGxiYWNrKQoreworICAgIHRvSW1wbChtZWRpYUNh
Y2hlTWFuYWdlclJlZiktPmdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKEFycmF5Q2FsbGJhY2s6
OmNyZWF0ZShjb250ZXh0LCBjYWxsYmFjaykpOworfQorCit2b2lkIFdLTWVkaWFDYWNoZU1hbmFn
ZXJDbGVhckNhY2hlRm9ySG9zdG5hbWUoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiBtZWRpYUNhY2hl
TWFuYWdlclJlZiwgV0tTdHJpbmdSZWYgaG9zdG5hbWUpCit7CisgICAgdG9JbXBsKG1lZGlhQ2Fj
aGVNYW5hZ2VyUmVmKS0+Y2xlYXJDYWNoZUZvckhvc3RuYW1lKHRvV1RGU3RyaW5nKGhvc3RuYW1l
KSk7Cit9CisKK3ZvaWQgV0tNZWRpYUNhY2hlTWFuYWdlckNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFt
ZXMoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiBtZWRpYUNhY2hlTWFuYWdlclJlZikKK3sKKyAgICB0
b0ltcGwobWVkaWFDYWNoZU1hbmFnZXJSZWYpLT5jbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKCk7
Cit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFu
YWdlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS01l
ZGlhQ2FjaGVNYW5hZ2VyLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tNZWRpYUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS01lZGlhQ2FjaGVNYW5hZ2VyX2gKKyNkZWZpbmUg
V0tNZWRpYUNhY2hlTWFuYWdlcl9oCisKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZS5oPgorCisj
aWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1dLX0VYUE9SVCBXS1R5
cGVJRCBXS01lZGlhQ2FjaGVNYW5hZ2VyR2V0VHlwZUlEKCk7CisKK3R5cGVkZWYgdm9pZCAoKldL
TWVkaWFDYWNoZU1hbmFnZXJHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZUZ1bmN0aW9uKShXS0Fy
cmF5UmVmLCBXS0Vycm9yUmVmLCB2b2lkKik7CitXS19FWFBPUlQgdm9pZCBXS01lZGlhQ2FjaGVN
YW5hZ2VyR2V0SG9zdG5hbWVzV2l0aE1lZGlhQ2FjaGUoV0tNZWRpYUNhY2hlTWFuYWdlclJlZiBt
ZWRpYUNhY2hlTWFuYWdlciwgdm9pZCogY29udGV4dCwgV0tNZWRpYUNhY2hlTWFuYWdlckdldEhv
c3RuYW1lc1dpdGhNZWRpYUNhY2hlRnVuY3Rpb24gZnVuY3Rpb24pOworCitXS19FWFBPUlQgdm9p
ZCBXS01lZGlhQ2FjaGVNYW5hZ2VyQ2xlYXJDYWNoZUZvckhvc3RuYW1lKFdLTWVkaWFDYWNoZU1h
bmFnZXJSZWYgbWVkaWFDYWNoZU1hbmFnZXIsIFdLU3RyaW5nUmVmIGhvc3RuYW1lKTsKK1dLX0VY
UE9SVCB2b2lkIFdLTWVkaWFDYWNoZU1hbmFnZXJDbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKFdL
TWVkaWFDYWNoZU1hbmFnZXJSZWYgbWVkaWFDYWNoZU1hbmFnZXIpOworCisjaWZkZWYgX19jcGx1
c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gV0tNZWRpYUNhY2hlTWFuYWdlcl9oCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtMjYyLDYgKzI2MiwxNiBAQAogCQkzMzM2
NzY1ODEzMEM5RUNCMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMzM2
NzY1NDEzMEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggKi87IH07CiAJCTMzQUExMDY2MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5h
Z2VyUHJveHlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzNBQTEwNjQxMzFGMDYwMDAwRDRBNTc1IC8qIFdlYkNvb2tpZU1hbmFnZXJQcm94
eUNsaWVudC5jcHAgKi87IH07CiAJCTMzQUExMDY3MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29r
aWVNYW5hZ2VyUHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMzQUExMDY1MTMxRjA2MDAwMEQ0QTU3NSAvKiBXZWJDb29raWVNYW5hZ2Vy
UHJveHlDbGllbnQuaCAqLzsgfTsKKwkJMzNEM0EzQjUxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVk
aWFDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzNEM0EzQjMxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIu
Y3BwICovOyB9OworCQkzM0QzQTNCNjEzMzk2MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNE
M0EzQjQxMzM5NjAwQjAwNzA5QkU0IC8qIFdLTWVkaWFDYWNoZU1hbmFnZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkzM0QzQTNCQTEzMzk2MDYy
MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNCNzEzMzk2MDYyMDA3MDlCRTQg
LyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5jcHAgKi87IH07CisJCTMzRDNBM0JCMTMzOTYw
NjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNCODEzMzk2MDYyMDA3MDlCRTQg
LyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oICovOyB9OworCQkzM0QzQTNDMTEzMzk2MEIw
MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNEM0EzQkUxMzM5NjBCMDAwNzA5QkU0IC8qIFdl
Yk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJMzNEM0EzQzIxMzM5NjBCMDAwNzA5QkU0
IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNCRjEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNo
ZU1hbmFnZXIuaCAqLzsgfTsKKwkJMzNEM0EzQzgxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNBM0M0MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRp
YUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTMzRDNBM0M5MTMzOTYx
NzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0QzQTNDNTEzMzk2MTc5MDA3MDlC
RTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovOyB9OworCQkzM0QzQTNDQTEz
Mzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzM0Qz
QTNDNjEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi87IH07CisJCTMzRDNBM0NCMTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRp
YUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMzRDNBM0M3MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNh
Y2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJMzNGOUQ1QjkxMzEyRjFFRTAwMEQ2
ODNGIC8qIFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzNGOUQ1QjgxMzEyRjFFRTAwMEQ2ODNGIC8q
IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwICovOyB9OwogCQkzN0M0RTlGNjEzMUM2
RTdFMDAyOUJENUEgLyogY29uZmlnLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCMzk2RUE1NTEyRTBFRDJEMDBGNEZFQjcgLyogY29uZmlnLmggKi87IH07
CiAJCTM3RjYyM0I4MTJBNTdCNjIwMEUzRkRGNiAvKiBXS0ZpbmRPcHRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzN0Y2MjNCNzEyQTU3QjYyMDBF
M0ZERjYgLyogV0tGaW5kT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFB1
YmxpYywgKTsgfTsgfTsKQEAgLTExMTgsNiArMTEyOCwxOCBAQAogCQkzMzM2NzY1NDEzMEM5RUNB
MDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlQ2FjaGVNYW5hZ2VyUHJveHlN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzM0FBMTA2NDEzMUYwNjAw
MDBENEE1NzUgLyogV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvb2tpZU1hbmFnZXJQcm94eUNsaWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzQUExMDY1MTMxRjA2MDAwMEQ0QTU3NSAv
KiBXZWJDb29raWVNYW5hZ2VyUHJveHlDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMzRDNBM0IzMTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5h
Z2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLTWVkaWFDYWNo
ZU1hbmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzM0QzQTNCNDEzMzk2
MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS01lZGlhQ2FjaGVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMzRDNBM0I3MTMzOTYwNjIwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdl
clByb3h5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzM0Qz
QTNCODEzMzk2MDYyMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0I5MTMzOTYwNjIwMDcwOUJFNCAv
KiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0JFMTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNh
Y2hlTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJN
ZWRpYUNhY2hlTWFuYWdlci5jcHA7IHBhdGggPSBNZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5h
Z2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzNEM0EzQkYxMzM5NjBCMDAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmg7IHBhdGggPSBNZWRpYUNhY2hlL1dlYk1l
ZGlhQ2FjaGVNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0Mw
MTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0
aCA9IE1lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0M0MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRp
YUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0M1MTMzOTYxNzkwMDcwOUJFNCAvKiBX
ZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYk1lZGlhQ2FjaGVNYW5hZ2VyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzNEM0EzQzYxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMzRDNBM0M3MTMzOTYxNzkwMDcwOUJFNCAvKiBX
ZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMzRjlENUI4MTMxMkYxRUUwMDBENjgzRiAvKiBXZWJSZXNv
dXJjZUNhY2hlTWFuYWdlckNGTmV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBl
eHBsaWNpdEZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBmaWxlRW5jb2RpbmcgPSA0
OyBuYW1lID0gV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJDRk5ldC5jcHA7IHBhdGggPSBSZXNvdXJj
ZUNhY2hlL2NmL1dlYlJlc291cmNlQ2FjaGVNYW5hZ2VyQ0ZOZXQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkzN0Y2MjNCNzEyQTU3QjYyMDBFM0ZERjYgLyogV0tGaW5kT3B0aW9u
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0ZpbmRPcHRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDIxRTlCMTJCMTY3ODgwMDVDMDMzQyAvKiBX
ZWJDb250ZXh0TWVudUNsaWVudE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgcGF0aCA9IFdlYkNvbnRleHRNZW51Q2xpZW50TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMjIyMCw2ICsyMjQyLDE2IEBACiAJCQluYW1lID0gUmVzb3VyY2VDYWNoZTsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTMzRDNBM0JEMTMzOTYwOTgwMDcw
OUJFNCAvKiBNZWRpYUNhY2hlICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJl
biA9ICgKKwkJCQkzM0QzQTNCRTEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFn
ZXIuY3BwICovLAorCQkJCTMzRDNBM0JGMTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hl
TWFuYWdlci5oICovLAorCQkJCTMzRDNBM0MwMTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNh
Y2hlTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCSk7CisJCQluYW1lID0gTWVkaWFDYWNoZTsK
KwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTMzRjlENUI3MTMxMkYxQjEwMDBE
NjgzRiAvKiBjZiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBA
IC0yMzA2LDYgKzIzMzgsNyBAQAogCQkJCUJDMjA0RURGMTFDODNFNzIwMDhGMzM3NSAvKiBJbmpl
Y3RlZEJ1bmRsZSAqLywKIAkJCQk1MUE5RTBGQjEzMTVDQzBFMDA5RTcwMzEgLyogS2V5VmFsdWVT
dG9yYWdlICovLAogCQkJCTFBNkZBMDFDMTFFMTUyNjMwMERCMTM3MSAvKiBtYWMgKi8sCisJCQkJ
MzNEM0EzQkQxMzM5NjA5ODAwNzA5QkU0IC8qIE1lZGlhQ2FjaGUgKi8sCiAJCQkJMUE2RkI3QUEx
MUU2NEI0OTAwREIxMzcxIC8qIFBsdWdpbnMgKi8sCiAJCQkJMzMzNjc2MkIxMzBDOTk3ODAwNkM5
REUyIC8qIFJlc291cmNlQ2FjaGUgKi8sCiAJCQkJQkMwMzJENUQxMEY0MzcyMjAwNThDMTVBIC8q
IFdlYkNvcmVTdXBwb3J0ICovLApAQCAtMjQ5MSw2ICsyNTI0LDkgQEAKIAkJCQk1MUE5RTEwNDEz
MTVDQ0ZDMDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFuYWdlclByb3h5Lm1lc3NhZ2Vz
LmluICovLAogCQkJCUJDQjlFNzYxMTEyMzJCOUUwMEExMzdFMCAvKiBXZWJMb2FkZXJDbGllbnQu
Y3BwICovLAogCQkJCUJDNTk1MzQwMTBGQzA0NTIwMDk4RjgyRCAvKiBXZWJMb2FkZXJDbGllbnQu
aCAqLywKKwkJCQkzM0QzQTNCNzEzMzk2MDYyMDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFn
ZXJQcm94eS5jcHAgKi8sCisJCQkJMzNEM0EzQjgxMzM5NjA2MjAwNzA5QkU0IC8qIFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyUHJveHkuaCAqLywKKwkJCQkzM0QzQTNCOTEzMzk2MDYyMDA3MDlCRTQgLyog
V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eS5tZXNzYWdlcy5pbiAqLywKIAkJCQlCQ0Y2OUZBMTEx
NzZEMDE0MDA0NzFBNTIgLyogV2ViTmF2aWdhdGlvbkRhdGEuY3BwICovLAogCQkJCUJDRjY5RkEw
MTE3NkQwMTQwMDQ3MUE1MiAvKiBXZWJOYXZpZ2F0aW9uRGF0YS5oICovLAogCQkJCUJDMURGRUEz
MTJCMzFGODcwMDVERjczMCAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCAq
LywKQEAgLTI1NzYsNiArMjYxMiw4IEBACiAJCQkJMUM4RTI5MzcxMjc2MUU1QjAwQkM3QkQwIC8q
IFdLSW5zcGVjdG9yLmggKi8sCiAJCQkJNTFBOUUxMDgxMzE1Q0QxODAwOUU3MDMxIC8qIFdLS2V5
VmFsdWVTdG9yYWdlTWFuYWdlci5jcHAgKi8sCiAJCQkJNTFBOUUxMDkxMzE1Q0QxODAwOUU3MDMx
IC8qIFdLS2V5VmFsdWVTdG9yYWdlTWFuYWdlci5oICovLAorCQkJCTMzRDNBM0IzMTMzOTYwMEIw
MDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmNwcCAqLywKKwkJCQkzM0QzQTNCNDEzMzk2
MDBCMDA3MDlCRTQgLyogV0tNZWRpYUNhY2hlTWFuYWdlci5oICovLAogCQkJCUMwOUFFNUU4MTI1
MjU3QzIwMDI1ODI1RCAvKiBXS05hdGl2ZUV2ZW50LmggKi8sCiAJCQkJQkNGNjlGQTgxMTc2RDFD
QjAwNDcxQTUyIC8qIFdLTmF2aWdhdGlvbkRhdGEuY3BwICovLAogCQkJCUJDRjY5RkE3MTE3NkQx
Q0IwMDQ3MUE1MiAvKiBXS05hdmlnYXRpb25EYXRhLmggKi8sCkBAIC0zMDg1LDYgKzMxMjMsMTAg
QEAKIAkJCQk1MUE5RTEyNTEzMTVFRDM1MDA5RTcwMzEgLyogV2ViS2V5VmFsdWVTdG9yYWdlTWFu
YWdlck1lc3NhZ2VzLmggKi8sCiAJCQkJNTFBOUUxMjYxMzE1RUQzNTAwOUU3MDMxIC8qIFdlYktl
eVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFB
OUUxMjcxMzE1RUQzNTAwOUU3MDMxIC8qIFdlYktleVZhbHVlU3RvcmFnZU1hbmFnZXJQcm94eU1l
c3NhZ2VzLmggKi8sCisJCQkJMzNEM0EzQzQxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQkzM0QzQTNDNTEzMzk2MTc5MDA3
MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5oICovLAorCQkJCTMzRDNBM0M2
MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLywKKwkJCQkzM0QzQTNDNzEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNo
ZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJQzBDRTcyOUUxMjQ3RTcxRDAwQkMwRUM0
IC8qIFdlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUMwQ0U3MjlGMTI0N0U3MUQw
MEJDMEVDNCAvKiBXZWJQYWdlTWVzc2FnZXMuaCAqLywKIAkJCQlCQ0JEMzkxMjEyNUJCMUE4MDBE
MkMyOUYgLyogV2ViUGFnZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTM1MzcsNiAr
MzU3OSwxMSBAQAogCQkJCTUxMUIyNEFCMTMyRTA5NzIwMDA2NUEwQyAvKiBXZWJJY29uRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDAyRjZBMTMyRUM3MzcwMEJFQUE5NiAvKiBXZWJJ
Y29uRGF0YWJhc2VNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJGNkMxMzJFQzcz
NzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMzRDNBM0I2MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlhQ2FjaGVNYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkzM0QzQTNCQjEzMzk2MDYyMDA3MDlCRTQgLyogV2ViTWVkaWFD
YWNoZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzNEM0EzQzIxMzM5NjBCMDAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQkzM0Qz
QTNDOTEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzNEM0EzQ0IxMzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC00MTQ5LDYgKzQxOTYs
MTEgQEAKIAkJCQk1MTFCMjRBQTEzMkUwOTcyMDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTUxRDAyRjY0MTMyRUM1QjkwMEJFQUE5NiAvKiBXZWJJY29u
RGF0YWJhc2VNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFEMDJGNkIx
MzJFQzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTMzRDNBM0I1MTMzOTYwMEIwMDcwOUJFNCAvKiBXS01lZGlh
Q2FjaGVNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTMzRDNBM0JBMTMzOTYwNjIwMDcw
OUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTMzRDNBM0MxMTMzOTYwQjAwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkzM0QzQTNDODEzMzk2MTc5MDA3MDlCRTQgLyogV2ViTWVkaWFDYWNo
ZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMzNEM0EzQ0Ex
MzM5NjE3OTAwNzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MEJGRTExMzM4MURGOTAwOTE4OTk5IC8qIExv
Z2dpbmcubWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAJKHJldmlzaW9uIDgxNzI1KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiArNDEsNyBAQAogI2luY2x1
ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZXMu
aCIKICNpbmNsdWRlICJXZWJLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJNZW1vcnlTYW1wbGVyLmgiCiAjaW5j
bHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgIldlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCIK
QEAgLTU5OCw2ICs1OTksMTEgQEAgdm9pZCBXZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShD
b3JlSQogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgaWYgKG1lc3NhZ2VJRC5pczxDb3Jl
SVBDOjpNZXNzYWdlQ2xhc3NXZWJNZWRpYUNhY2hlTWFuYWdlcj4oKSkgeworICAgICAgICBXZWJN
ZWRpYUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwg
bWVzc2FnZUlELCBhcmd1bWVudHMpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYg
KG1lc3NhZ2VJRC5pczxDb3JlSVBDOjpNZXNzYWdlQ2xhc3NXZWJSZXNvdXJjZUNhY2hlTWFuYWdl
cj4oKSkgewogICAgICAgICBXZWJSZXNvdXJjZUNhY2hlTWFuYWdlcjo6c2hhcmVkKCkuZGlkUmVj
ZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgbWVzc2FnZUlELCBhcmd1bWVudHMpOwogICAgICAgICBy
ZXR1cm47CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVk
aWFDYWNoZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAJKHJldmlzaW9uIDApCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIu
Y3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1lZGlhQ2FjaGVNYW5hZ2VyLmgiCisKKyNpbmNsdWRl
ICJNZXNzYWdlSUQuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbkRhdGEuaCIKKyNpbmNsdWRl
ICJXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CisKK3VzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViTWVkaWFDYWNoZU1h
bmFnZXImIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpzaGFyZWQoKQoreworICAgIHN0YXRpYyBXZWJN
ZWRpYUNhY2hlTWFuYWdlciYgc2hhcmVkID0gKm5ldyBXZWJNZWRpYUNhY2hlTWFuYWdlcjsKKyAg
ICByZXR1cm4gc2hhcmVkOworfQorCitXZWJNZWRpYUNhY2hlTWFuYWdlcjo6V2ViTWVkaWFDYWNo
ZU1hbmFnZXIoKQoreworfQorCit2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpkaWRSZWNlaXZl
TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uLCBDb3JlSVBDOjpNZXNzYWdl
SUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKK3sKKyAg
ICBkaWRSZWNlaXZlV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIG1lc3Nh
Z2VJRCwgYXJndW1lbnRzKTsKK30KKwordm9pZCBXZWJNZWRpYUNhY2hlTWFuYWdlcjo6Z2V0SG9z
dG5hbWVzV2l0aE1lZGlhQ2FjaGUodWludDY0X3QgY2FsbGJhY2tJRCkKK3sKKyAgICBWZWN0b3I8
U3RyaW5nPiBtZWRpYUNhY2hlSG9zdG5hbWVzOworCisgICAgLy8gRklYTUU6IFBvcHVwbGF0ZSB0
aGUgbGlzdCBvZiBob3N0cyB0aGF0IGhhdmUgZW50cmllcyBpbiB0aGUgbWVkaWEgY2FjaGUuCisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKworICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rp
b24oKS0+c2VuZChNZXNzYWdlczo6V2ViTWVkaWFDYWNoZU1hbmFnZXJQcm94eTo6RGlkR2V0SG9z
dG5hbWVzV2l0aE1lZGlhQ2FjaGUobWVkaWFDYWNoZUhvc3RuYW1lcywgY2FsbGJhY2tJRCksIDAp
OworfQorCit2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9ySG9zdG5hbWUo
Y29uc3QgU3RyaW5nJiBob3N0bmFtZSkKK3sKKyAgICAvLyBGSVhNRTogRGVsZXRlIHRoZSBtZWRp
YSBjYWNoZSBlbnRyaWVzIGZvciB0aGlzIGhvc3RuYW1lLgorICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK3ZvaWQgV2ViTWVkaWFDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JBbGxIb3N0bmFt
ZXMoKQoreworICAgIC8vIEZJWE1FOiBEZWxldGUgYWxsIG1lZGlhIGNhY2hlIGVudHJpZXMuCisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlhQ2FjaGUvV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuaAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5oCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJNZWRpYUNhY2hlTWFuYWdlcl9o
CisjZGVmaW5lIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyX2gKKworI2luY2x1ZGUgPHd0Zi9Ob25jb3B5
YWJsZS5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgQ29y
ZUlQQyB7CisgICAgY2xhc3MgQXJndW1lbnREZWNvZGVyOworICAgIGNsYXNzIENvbm5lY3Rpb247
CisgICAgY2xhc3MgTWVzc2FnZUlEOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
V2ViTWVkaWFDYWNoZU1hbmFnZXIgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYk1lZGlh
Q2FjaGVNYW5hZ2VyKTsKKworcHVibGljOgorICAgIHN0YXRpYyBXZWJNZWRpYUNhY2hlTWFuYWdl
ciYgc2hhcmVkKCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5l
Y3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdlSUQsIENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciopOwor
Citwcml2YXRlOgorICAgIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyKCk7CisgICAgCisgICAgdm9pZCBn
ZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSh1aW50NjRfdCBjYWxsYmFja0lEKTsKKyAgICB2b2lk
IGNsZWFyQ2FjaGVGb3JIb3N0bmFtZShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIGNsZWFyQ2Fj
aGVGb3JBbGxIb3N0bmFtZXMoKTsKKworICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk1lZGlhQ2FjaGVN
YW5hZ2VyTWVzc2FnZShDb3JlSVBDOjpDb25uZWN0aW9uKiwgQ29yZUlQQzo6TWVzc2FnZUlELCBD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gV2ViTWVkaWFDYWNoZU1hbmFnZXJfaApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2VyLm1lc3NhZ2VzLmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRp
YUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbgkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5tZXNzYWdlcy5pbgko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwyNyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisj
IGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisj
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCittZXNzYWdlcyAtPiBXZWJNZWRpYUNhY2hlTWFuYWdlciB7CisgICAgdm9p
ZCBHZXRIb3N0bmFtZXNXaXRoTWVkaWFDYWNoZSh1aW50NjRfdCBjYWxsYmFja0lEKQorICAgIHZv
aWQgQ2xlYXJDYWNoZUZvckhvc3RuYW1lKFdURjo6U3RyaW5nIGhvc3RuYW1lKQorICAgIHZvaWQg
Q2xlYXJDYWNoZUZvckFsbEhvc3RuYW1lcygpCit9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIu
dmNwcm9qCShyZXZpc2lvbiA4MTcyNSkKKysrIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLnZj
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTQ5MSw2ICsxNDkxLDIyIEBACiAJCQkJPC9GaWxlPgog
CQkJPC9GaWx0ZXI+CiAJCQk8RmlsdGVyCisJCQkJTmFtZT0iTWVkaWFDYWNoZSIKKwkJCQk+CisJ
CQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXE1lZGlhQ2FjaGVcV2Vi
TWVkaWFDYWNoZU1hbmFnZXIuY3BwIgorCQkJCQk+CisJCQkJPC9GaWxlPgorCQkJCTxGaWxlCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViUHJvY2Vzc1xNZWRpYUNhY2hlXFdlYk1lZGlhQ2FjaGVN
YW5hZ2VyLmgiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKKwkJCQkJUmVsYXRpdmVQ
YXRoPSIuLlxXZWJQcm9jZXNzXE1lZGlhQ2FjaGVcV2ViTWVkaWFDYWNoZU1hbmFnZXIubWVzc2Fn
ZXMuaW4iCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQk8L0ZpbHRlcj4KKwkJCTxGaWx0ZXIKIAkJ
CQlOYW1lPSJSZXNvdXJjZUNhY2hlIgogCQkJCT4KIAkJCQk8RmlsZQpAQCAtMjY1MSw2ICsyNjY3
LDE4IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XFVJUHJvY2Vzc1xXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5LmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYk1lZGlhQ2Fj
aGVNYW5hZ2VyUHJveHkuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0
aXZlUGF0aD0iLi5cVUlQcm9jZXNzXFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHkubWVzc2FnZXMu
aW4iCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFVJ
UHJvY2Vzc1xXZWJOYXZpZ2F0aW9uRGF0YS5jcHAiCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMjky
NSw2ICsyOTUzLDE0IEBACiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4KIAkJCQkJPEZpbGUKKwkJCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQSVxDXFdLTWVkaWFDYWNoZU1hbmFnZXIuY3Bw
IgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJCTxGaWxlCisJCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFVJUHJvY2Vzc1xBUElcQ1xXS01lZGlhQ2FjaGVNYW5hZ2VyLmgiCisJCQkJCQk+CisJCQkJ
CTwvRmlsZT4KKwkJCQkJPEZpbGUKIAkJCQkJCVJlbGF0aXZlUGF0aD0iLi5cVUlQcm9jZXNzXEFQ
SVxDXFdLTmF0aXZlRXZlbnQuaCIKIAkJCQkJCT4KIAkJCQkJPC9GaWxlPgpAQCAtMzcxNSw2ICsz
NzUxLDIyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9
IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJj
ZXNcV2ViTWVkaWFDYWNoZU1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYk1lZGlhQ2FjaGVNYW5hZ2Vy
TWVzc2FnZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xXZWJNZWRpYUNhY2hlTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJNZWRpYUNhY2hl
TWFuYWdlclByb3h5TWVzc2FnZXMuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJ
CVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1l
KVxEZXJpdmVkU291cmNlc1xXZWJQYWdlTWVzc2FnZVJlY2VpdmVyLmNwcCIKIAkJCQk+CiAJCQk8
L0ZpbGU+CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNvbW1vbi52c3Byb3BzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ29tbW9uLnZzcHJvcHMJKHJl
dmlzaW9uIDgxNzI1KQorKysgU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDb21tb24udnNwcm9w
cwkod29ya2luZyBjb3B5KQpAQCAtNiw3ICs2LDcgQEAKIAk+CiAJPFRvb2wKIAkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKLQkJQWRkaXRpb25hbEluY2x1ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQ
cm9qZWN0RGlyKSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cUGxhdGZvcm0mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbGF0Zm9y
bVxjZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFBsYXRmb3JtXENvcmVJUEMmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbHVnaW5Qcm9jZXNzJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cU2hhcmVkJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkXHdpbiZx
dW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxjZiZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFNoYXJlZFxBUElcYyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJl
ZFxBUElcY1xjZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxBUElcY1x3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcQ29yZUlQQ1N1cHBvcnQmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcUGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2pl
Y3REaXIpXC4uXFNoYXJlZFxQbHVnaW5zXE5ldHNjYXBlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cVUlQcm9jZXNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQ
SVxDJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVxDXHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vzc1xBUElcY3BwJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxVSVByb2Nlc3NcQXV0aGVudGljYXRpb24mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlxVSVByb2Nlc3NcRG93bmxvYWRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9j
ZXNzXExhdW5jaGVyJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXFBsdWdp
bnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3Ncd2luJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2VzcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxX
ZWJQcm9jZXNzXFdlYkNvcmVTdXBwb3J0XHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XFdlYlByb2Nlc3NcV2ViUGFnZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nl
c3NcV2ViUGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXElj
b25EYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0
ZWRCdW5kbGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVk
QnVuZGxlXEFQSVxjJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xJbmpl
Y3RlZEJ1bmRsZVxET00mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXElu
amVjdGVkQnVuZGxlXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3Nc
UGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcUGx1Z2luc1xO
ZXRzY2FwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3Ncd2luJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xBcHBsaWNhdGlvbkNhY2hlJnF1b3Q7
OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xBdXRoZW50aWNhdGlvbiZxdW90Ozsm
cXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcQ29va2llcyZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFdlYlByb2Nlc3NcRG93bmxvYWRzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERp
cilcLi5cV2ViUHJvY2Vzc1xEb3dubG9hZHNcY2YmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwu
LlxXZWJQcm9jZXNzXEZ1bGxTY3JlZW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQ
cm9jZXNzXEdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vz
c1xLZXlWYWx1ZVN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNz
XFJlc291cmNlQ2FjaGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwk
KFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25C
dWlsZERpcilcSW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5j
bHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlJnF1
b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRlXHByaXZhdGUmcXVvdDs7JnF1
b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVccHRocmVhZHMmcXVvdDs7JnF1b3Q7JChD
b25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVcSmF2YVNjcmlwdENvcmUmcXVvdDs7JnF1b3Q7
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVccHJpdmF0ZVxKYXZhU2NyaXB0Q29yZSZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxKYXZhU2NyaXB0Q29yZSZx
dW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVkZVxwcml2YXRlXEphdmFTY3Jp
cHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxJbmNsdWRlXFdlYkNv
cmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXElu
Y2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyIKKwkJQWRkaXRpb25hbEluY2x1
ZGVEaXJlY3Rvcmllcz0iJnF1b3Q7JChQcm9qZWN0RGlyKSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cUGxhdGZvcm0mcXVvdDs7JnF1b3Q7
JChQcm9qZWN0RGlyKVwuLlxQbGF0Zm9ybVxjZyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4u
XFBsYXRmb3JtXENvcmVJUEMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxQbHVnaW5Qcm9j
ZXNzJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cU2hhcmVkJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cU2hhcmVkXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJl
ZFxjZiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxBUElcYyZxdW90OzsmcXVv
dDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxBUElcY1xjZiZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXFNoYXJlZFxBUElcY1x3aW4mcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFy
ZWRcQ29yZUlQQ1N1cHBvcnQmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxTaGFyZWRcUGx1
Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFNoYXJlZFxQbHVnaW5zXE5ldHNjYXBl
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzJnF1b3Q7OyZxdW90OyQoUHJv
amVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVxDJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5c
VUlQcm9jZXNzXEFQSVxDXHdpbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFVJUHJvY2Vz
c1xBUElcY3BwJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXEFQSVx3aW4m
cXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcQXV0aGVudGljYXRpb24mcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxVSVByb2Nlc3NcRG93bmxvYWRzJnF1b3Q7OyZxdW90
OyQoUHJvamVjdERpcilcLi5cVUlQcm9jZXNzXExhdW5jaGVyJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cVUlQcm9jZXNzXFBsdWdpbnMmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxV
SVByb2Nlc3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2VzcyZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnQmcXVvdDs7
JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXFdlYkNvcmVTdXBwb3J0XHdpbiZxdW90
OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViUGFnZSZxdW90OzsmcXVvdDsk
KFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcV2ViUGFnZVx3aW4mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEljb25EYXRhYmFzZSZxdW90OzsmcXVvdDskKFByb2plY3RE
aXIpXC4uXFdlYlByb2Nlc3NcSW5qZWN0ZWRCdW5kbGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0RGly
KVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXEFQSVxjJnF1b3Q7OyZxdW90OyQoUHJvamVj
dERpcilcLi5cV2ViUHJvY2Vzc1xJbmplY3RlZEJ1bmRsZVxET00mcXVvdDs7JnF1b3Q7JChQcm9q
ZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEluamVjdGVkQnVuZGxlXHdpbiZxdW90OzsmcXVvdDskKFBy
b2plY3REaXIpXC4uXFdlYlByb2Nlc3NcUGx1Z2lucyZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXFdlYlByb2Nlc3NcUGx1Z2luc1xOZXRzY2FwZSZxdW90OzsmcXVvdDskKFByb2plY3REaXIp
XC4uXFdlYlByb2Nlc3Ncd2luJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vz
c1xBcHBsaWNhdGlvbkNhY2hlJnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vz
c1xBdXRoZW50aWNhdGlvbiZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3Nc
Q29va2llcyZxdW90OzsmcXVvdDskKFByb2plY3REaXIpXC4uXFdlYlByb2Nlc3NcRG93bmxvYWRz
JnF1b3Q7OyZxdW90OyQoUHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xEb3dubG9hZHNcY2YmcXVv
dDs7JnF1b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEZ1bGxTY3JlZW4mcXVvdDs7JnF1
b3Q7JChQcm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXEdlb2xvY2F0aW9uJnF1b3Q7OyZxdW90OyQo
UHJvamVjdERpcilcLi5cV2ViUHJvY2Vzc1xLZXlWYWx1ZVN0b3JhZ2UmcXVvdDs7JnF1b3Q7JChQ
cm9qZWN0RGlyKVwuLlxXZWJQcm9jZXNzXE1lZGlhQ2FjaGUmcXVvdDs7JnF1b3Q7JChQcm9qZWN0
RGlyKVwuLlxXZWJQcm9jZXNzXFJlc291cmNlQ2FjaGUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0
aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlcyZxdW90OzsmcXVv
dDskKENvbmZpZ3VyYXRpb25CdWlsZERpcilcSW5jbHVkZSZxdW90OzsmcXVvdDskKENvbmZpZ3Vy
YXRpb25CdWlsZERpcilcSW5jbHVkZVxwcml2YXRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFy
aWVzRGlyKVxJbmNsdWRlJnF1b3Q7OyZxdW90OyQoV2ViS2l0TGlicmFyaWVzRGlyKVxJbmNsdWRl
XHByaXZhdGUmcXVvdDs7JnF1b3Q7JChXZWJLaXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVccHRocmVh
ZHMmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVcSmF2YVNjcmlw
dENvcmUmcXVvdDs7JnF1b3Q7JChDb25maWd1cmF0aW9uQnVpbGREaXIpXEluY2x1ZGVccHJpdmF0
ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVk
ZVxKYXZhU2NyaXB0Q29yZSZxdW90OzsmcXVvdDskKFdlYktpdExpYnJhcmllc0RpcilcSW5jbHVk
ZVxwcml2YXRlXEphdmFTY3JpcHRDb3JlJnF1b3Q7OyZxdW90OyQoQ29uZmlndXJhdGlvbkJ1aWxk
RGlyKVxJbmNsdWRlXFdlYkNvcmVcRm9yd2FyZGluZ0hlYWRlcnMmcXVvdDs7JnF1b3Q7JChXZWJL
aXRMaWJyYXJpZXNEaXIpXEluY2x1ZGVcV2ViQ29yZVxGb3J3YXJkaW5nSGVhZGVycyZxdW90OyIK
IAkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9Il9VU1JETEw7V0VCS0lUX0VYUE9SVFM7RlJBTUVX
T1JLX05BTUU9V2ViS2l0O0JVSUxESU5HX1dFQktJVCIKIAkJVXNlUHJlY29tcGlsZWRIZWFkZXI9
IjIiCiAJCVByZWNvbXBpbGVkSGVhZGVyVGhyb3VnaD0iV2ViS2l0MlByZWZpeC5oIgpJbmRleDog
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDJHZW5lcmF0ZWQubWFrZQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkdlbmVyYXRlZC5tYWtlCShyZXZpc2lvbiA4MTcyNSkK
KysrIFNvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyR2VuZXJhdGVkLm1ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTU4LDYgKzU4LDcgQEAgYWxsOgogICAgIHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3Nc
QVBJXENcV0tHZW9sb2NhdGlvblBvc2l0aW9uLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxp
bmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS0lu
c3BlY3Rvci5oIiAiJUNvbmZpZ3VyYXRpb25CdWlsZERpciVcaW5jbHVkZVxXZWJLaXQyIgogICAg
IHhjb3B5IC95IC9kICIuLlxVSVByb2Nlc3NcQVBJXENcV0tLZXlWYWx1ZVN0b3JhZ2VNYW5hZ2Vy
LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCisgICAgeGNvcHkg
L3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS01lZGlhQ2FjaGVNYW5hZ2VyLmgiICIlQ29uZmln
dXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJ
UHJvY2Vzc1xBUElcQ1xXS05hdGl2ZUV2ZW50LmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxp
bmNsdWRlXFdlYktpdDIiCiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS05h
dmlnYXRpb25EYXRhLmgiICIlQ29uZmlndXJhdGlvbkJ1aWxkRGlyJVxpbmNsdWRlXFdlYktpdDIi
CiAgICAgeGNvcHkgL3kgL2QgIi4uXFVJUHJvY2Vzc1xBUElcQ1xXS09wZW5QYW5lbFBhcmFtZXRl
cnMuaCIgIiVDb25maWd1cmF0aW9uQnVpbGREaXIlXGluY2x1ZGVcV2ViS2l0MiIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>86702</attachid>
            <date>2011-03-23 15:15:52 -0700</date>
            <delta_ts>2011-03-23 18:39:42 -0700</delta_ts>
            <desc>[PATCH] Call HTMLMediaElement from WebKit2</desc>
            <filename>call_html_media_cache.patch</filename>
            <type>text/plain</type>
            <size>3725</size>
            <attacher name="Brian Weinstein">bweinstein</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgxODEyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMjMgIEJyaWFuIFdl
aW5zdGVpbiAgPGJ3ZWluc3RlaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdDI6IE5lZWQgQVBJIHRvIG1hbmFnZSB0aGUg
TWVkaWEgQ2FjaGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTU2ODc4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MDgyNTAzPgorCisgICAgICAgIEFk
ZCBmdW5jdGlvbnMgdGhhdCBuZWVkIHRvIGJlIGV4cG9ydGVkLgorCisgICAgICAgICogV2ViQ29y
ZS5leHAuaW46CisKIDIwMTEtMDMtMjMgIEx1aXogQWdvc3RpbmkgIDxsdWl6LmFnb3N0aW5pQG9w
ZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gODE3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmV4cC5pbgkod29ya2luZyBjb3B5KQpAQCAtMTc1Nyw2ICsxNzU3LDkgQEAgX19aTjdXZWJD
b3JlMTZIVE1MTWVkaWFFbGVtZW50MTJlbmRTY3J1YgogX19aTjdXZWJDb3JlMTZIVE1MTWVkaWFF
bGVtZW50MTRiZWdpblNjcnViYmluZ0V2CiBfX1pON1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQx
NGV4aXRGdWxsc2NyZWVuRXYKIF9fWk43V2ViQ29yZTE2SFRNTE1lZGlhRWxlbWVudDE0c2V0Q3Vy
cmVudFRpbWVFZlJpCitfX1pON1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQxNWNsZWFyTWVkaWFD
YWNoZUV2CitfX1pON1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQyMGdldFNpdGVzSW5NZWRpYUNh
Y2hlRVJOM1dURjZWZWN0b3JJTlMxXzZTdHJpbmdFTG0wRUVFCitfX1pON1dlYkNvcmUxNkhUTUxN
ZWRpYUVsZW1lbnQyMmNsZWFyTWVkaWFDYWNoZUZvclNpdGVFUktOM1dURjZTdHJpbmdFCiBfX1pO
N1dlYkNvcmUxNkhUTUxNZWRpYUVsZW1lbnQ0cGxheUViCiBfX1pON1dlYkNvcmUxNkhUTUxNZWRp
YUVsZW1lbnQ1cGF1c2VFYgogX19aTjdXZWJDb3JlMTZIVE1MTWVkaWFFbGVtZW50NnJld2luZEVm
CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4MTgxMikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDExLTAzLTIzICBCcmlhbiBX
ZWluc3RlaW4gIDxid2VpbnN0ZWluQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJLaXQyOiBOZWVkIEFQSSB0byBtYW5hZ2UgdGhl
IE1lZGlhIENhY2hlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD01Njg3OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTA4MjUwMz4KKworICAgICAgICBD
YWxsIHRocm91Z2ggdG8gSFRNTE1lZGlhRWxlbWVudCBmdW5jdGlvbnMgdG8gbWFuYWdlIHRoZSBX
ZWJDb3JlIG1lZGlhIGNhY2hlLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dl
Yk1lZGlhQ2FjaGVNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViTWVkaWFDYWNoZU1h
bmFnZXI6OmdldEhvc3RuYW1lc1dpdGhNZWRpYUNhY2hlKToKKyAgICAgICAgKFdlYktpdDo6V2Vi
TWVkaWFDYWNoZU1hbmFnZXI6OmNsZWFyQ2FjaGVGb3JIb3N0bmFtZSk6CisgICAgICAgIChXZWJL
aXQ6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpjbGVhckNhY2hlRm9yQWxsSG9zdG5hbWVzKToKKwog
MjAxMS0wMy0yMyAgQmFsYXpzIEtlbGVtZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTWVkaWFDYWNoZS9XZWJNZWRpYUNhY2hlTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9NZWRpYUNhY2hlL1dlYk1lZGlhQ2FjaGVNYW5hZ2Vy
LmNwcAkocmV2aXNpb24gODE3ODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL01lZGlh
Q2FjaGUvV2ViTWVkaWFDYWNoZU1hbmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICsz
MCw3IEBACiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW5EYXRhLmgiCiAjaW5jbHVkZSAiV2ViTWVk
aWFDYWNoZU1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgot
I2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0hU
TUxNZWRpYUVsZW1lbnQuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTU1LDIy
ICs1NSwyNSBAQCB2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXCiB7CiAg
ICAgVmVjdG9yPFN0cmluZz4gbWVkaWFDYWNoZUhvc3RuYW1lczsKIAotICAgIC8vIEZJWE1FOiBQ
b3B1cGxhdGUgdGhlIGxpc3Qgb2YgaG9zdHMgdGhhdCBoYXZlIGVudHJpZXMgaW4gdGhlIG1lZGlh
IGNhY2hlLgotICAgIG5vdEltcGxlbWVudGVkKCk7CisjaWYgRU5BQkxFKFZJREVPKQorICAgIEhU
TUxNZWRpYUVsZW1lbnQ6OmdldFNpdGVzSW5NZWRpYUNhY2hlKG1lZGlhQ2FjaGVIb3N0bmFtZXMp
OworI2VuZGlmCiAKICAgICBXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb25uZWN0aW9uKCktPnNlbmQo
TWVzc2FnZXM6OldlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHk6OkRpZEdldEhvc3RuYW1lc1dpdGhN
ZWRpYUNhY2hlKG1lZGlhQ2FjaGVIb3N0bmFtZXMsIGNhbGxiYWNrSUQpLCAwKTsKIH0KIAogdm9p
ZCBXZWJNZWRpYUNhY2hlTWFuYWdlcjo6Y2xlYXJDYWNoZUZvckhvc3RuYW1lKGNvbnN0IFN0cmlu
ZyYgaG9zdG5hbWUpCiB7Ci0gICAgLy8gRklYTUU6IERlbGV0ZSB0aGUgbWVkaWEgY2FjaGUgZW50
cmllcyBmb3IgdGhpcyBob3N0bmFtZS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOworI2lmIEVOQUJM
RShWSURFTykKKyAgICBIVE1MTWVkaWFFbGVtZW50OjpjbGVhck1lZGlhQ2FjaGVGb3JTaXRlKGhv
c3RuYW1lKTsKKyNlbmRpZgogfQogCiB2b2lkIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyOjpjbGVhckNh
Y2hlRm9yQWxsSG9zdG5hbWVzKCkKIHsKLSAgICAvLyBGSVhNRTogRGVsZXRlIGFsbCBtZWRpYSBj
YWNoZSBlbnRyaWVzLgotICAgIG5vdEltcGxlbWVudGVkKCk7CisjaWYgRU5BQkxFKFZJREVPKQor
ICAgIEhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFDYWNoZSgpOworI2VuZGlmCiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="79017"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>