<?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>122825</bug_id>
          
          <creation_ts>2013-10-15 03:38:47 -0700</creation_ts>
          <short_desc>REGRESSION(r157445): It broke the GTK build (Requested by Ossy on #webkit).</short_desc>
          <delta_ts>2013-10-15 05:34:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>118520</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>andersca</cc>
    
    <cc>cgarcia</cc>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>939913</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 03:38:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/157445 broke the build:
It broke the GTK build (Requested by Ossy on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939915</commentid>
    <comment_count>1</comment_count>
      <attachid>214247</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-15 03:39:10 -0700</bug_when>
    <thetext>Created attachment 214247
ROLLOUT of r157445

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>939931</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2013-10-15 05:33:57 -0700</bug_when>
    <thetext>No need to rollout, I fixed the GTK+ build already.

http://trac.webkit.org/changeset/157446</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214247</attachid>
            <date>2013-10-15 03:39:10 -0700</date>
            <delta_ts>2013-10-15 05:34:20 -0700</delta_ts>
            <desc>ROLLOUT of r157445</desc>
            <filename>bug-122825-20131015033909.patch</filename>
            <type>text/plain</type>
            <size>100101</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmQ4OTE2YjI3ZWJiYWE2
OTQwNjgzZmUzYmJlODRiM2JiMjM5ZDAyYS4uMDRhOTAzYWQzMmNlNjBiZjQ4MzhjYmIxYzM4MTNm
NDljMzI4ZWMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEzLTEwLTE1ICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMTU3NDQ1LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2No
YW5nZXNldC8xNTc0NDUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyMjgyNQorCisgICAgICAgIEl0IGJyb2tlIHRoZSBHVEsgYnVpbGQgKFJlcXVlc3Rl
ZCBieSBPc3N5IG9uICN3ZWJraXQpLgorCisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToK
KyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoK
KyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9S
ZXNvdXJjZUVycm9yQmFzZS5oOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL0NlcnRpZmljYXRl
SW5mb0NGTmV0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2NmL1Jl
c291cmNlUmVzcG9uc2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJj
ZVJlc3BvbnNlTWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c2V0
Q2VydGlmaWNhdGVDaGFpbik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpj
ZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VFcnJvci5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6UmVzb3VyY2VFcnJv
cik6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjp0bHNFcnJvcnMpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6c2V0VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNv
cmU6OlJlc291cmNlRXJyb3I6OmNlcnRpZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291
cmNlRXJyb3I6OnNldENlcnRpZmljYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cjo6dGxzRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6cGxhdGZvcm1D
b3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZSk6
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OlJlc291cmNlUmVzcG9uc2UpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6c291cE1lc3NhZ2VDZXJ0aWZpY2F0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjpzZXRTb3VwTWVzc2FnZUNlcnRp
ZmljYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNvdXBNZXNzYWdl
VExTRXJyb3JzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2U6OnNldFNvdXBN
ZXNzYWdlVExTRXJyb3JzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3Vy
Y2VSZXNwb25zZVNvdXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZTo6
dG9Tb3VwTWVzc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlOjp1cGRh
dGVGcm9tU291cE1lc3NhZ2UpOgorCiAyMDEzLTEwLTE1ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgTW92ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB0
byBXZWJDb3JlIGFuZCBtYWtlIHRoZSBSZXNvdXJjZVJlc3BvbnNlIHByaW1pdGl2ZXMgd29yayBp
biB0ZXJtcyBvZiB0aGF0IHBsYXRmb3JtIGFnbm9zdGljIG9iamVjdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGIy
ZmEwMjE4MDU0MTMzODU3YzgxZDlkZmFhNGFlMTBlMDdkMTZmZGUuLmQxOTMzZDEyZGIyYjFkYzRh
MDIxODkwYWJkNGVlYjg3M2NhNTI4ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw4MyBAQAorMjAx
My0xMC0xNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE1NzQ0NS4KKyAgICAgICAgaHR0cDovL3RyYWMu
d2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTU3NDQ1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjI4MjUKKworICAgICAgICBJdCBicm9rZSB0aGUgR1RLIGJ1
aWxkIChSZXF1ZXN0ZWQgYnkgT3NzeSBvbiAjd2Via2l0KS4KKworICAgICAgICAqIEdOVW1ha2Vm
aWxlLmxpc3QuYW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvQXN5bmNocm9ub3VzTmV0d29y
a0xvYWRlckNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkFzeW5jaHJvbm91c05ldHdvcmtM
b2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUHJvY2Vz
c01hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmFsbG93U3BlY2lmaWNI
VFRQU0NlcnRpZmljYXRlRm9ySG9zdCk6CisgICAgICAgICogUGxhdGZvcm1FZmwuY21ha2U6Cisg
ICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU2hhcmVkL0FQSS9jL21hYy9X
S0NlcnRpZmljYXRlSW5mb01hYy5tbToKKyAgICAgICAgKFdLQ2VydGlmaWNhdGVJbmZvQ3JlYXRl
V2l0aENlcnRmaWNhdGVDaGFpbik6CisgICAgICAgIChXS0NlcnRpZmljYXRlSW5mb0dldENlcnRp
ZmljYXRlQ2hhaW4pOgorICAgICAgICAqIFNoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh
dGlvbk1hbmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpBdXRoZW50aWNhdGlvbk1hbmFnZXI6
OnRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKToKKyAgICAgICAgKFdl
YktpdDo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjp1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKToK
KyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmg6
CisgICAgICAgICogU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5t
ZXNzYWdlcy5pbjoKKyAgICAgICAgKiBTaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1dGhlbnRp
Y2F0aW9uTWFuYWdlci5tYWMubW06CisgICAgICAgIChXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uTWFu
YWdlcjo6dHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UpOgorICAgICAg
ICAqIFNoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVz
c2FnZUVuY29kZXI6OmJhc2VFbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpVc2VyTWVzc2FnZURl
Y29kZXI6OmJhc2VEZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJDZXJ0aWZpY2F0ZUluZm86OnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKToK
KyAgICAgICAgKFdlYktpdDo6V2ViQ2VydGlmaWNhdGVJbmZvOjpXZWJDZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAo
Q29yZUlQQzo6OjpkZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaDoKKyAgICAgICAgKiBTaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ2VydGlmaWNh
dGVJbmZvU291cC5jcHAuCisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjpjZXJ0aWZpY2F0ZUNoYWluKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvLm1tOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tLgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvOjpkdW1wKToKKyAgICAgICAgKiBTaGFyZWQvbWFjL1dlYkNvcmVBcmd1
bWVudENvZGVyc01hYy5tbToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRh
KToKKyAgICAgICAgKENvcmVJUEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBT
aGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8p
OgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6flBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpkZWNv
ZGUpOgorICAgICAgICAqIFNoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5m
by5oLgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6Y2VydGlmaWNh
dGUpOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6dGxzRXJyb3Jz
KToKKyAgICAgICAgKiBTaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcDoK
KyAgICAgICAgKENvcmVJUEM6Ojo6ZW5jb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKENvcmVJ
UEM6Ojo6ZGVjb2RlUGxhdGZvcm1EYXRhKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9X
ZWJLaXRXZWJWaWV3LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8p
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eTo6dXNlQ3JlZGVudGlhbCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZp
Y2F0ZUZvckhvc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViRnJhbWVQcm94eTo6ZGlkQ29tbWl0TG9hZCk6CisgICAgICAgICog
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRDb21taXRMb2FkRm9y
RnJhbWUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJSZXNvdXJjZUxvYWRlcjo6
ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRDb21taXRMb2FkKToKKwogMjAx
My0xMC0xNSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAg
IE1vdmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gdG8gV2ViQ29yZSBhbmQgbWFrZSB0aGUgUmVz
b3VyY2VSZXNwb25zZSBwcmltaXRpdmVzIHdvcmsgaW4gdGVybXMgb2YgdGhhdCBwbGF0Zm9ybSBh
Z25vc3RpYyBvYmplY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IGJlM2QwYjE0
ODY1NDExMWJlMGE3NWUyODRlNTNkZDkxM2UyZTBhNmIuLjg2YjQ2ZWQ1YmVlODI3YjNmMjI5ODc5
NmMyZWI5NzI0OTQ0NGRiOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtNTQx
MSw3ICs1NDExLDYgQEAgd2ViY29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Jsb2JSZXNvdXJjZUhhbmRsZS5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlJlc291cmNlSGFuZGxlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQmxvYlN0b3JhZ2VEYXRhLmggXAotCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvQ2VydGlmaWNhdGVJbmZvLmggXAogCVNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvQ29va2llU3RvcmFnZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhQnVpbGRlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGFCdWlsZGVyLmggXApAQCAtNTQ0Niw3ICs1NDQ1LDYgQEAgd2Vi
Y29yZV9wbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL1NvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL3NvdXAvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBcCiAJU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU291cC5jcHAg
XAotCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9T
b3VwLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZUph
clNvdXAuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
SmFyU291cC5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvQ29va2ll
U3RvcmFnZVNvdXAuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZs
LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKaW5kZXggMGVhNTBlMWEy
ZDZhNDVmYzA3OTdjMWU3NmQzOGYwN2YxYTM1MzhmOS4uNGQ3NWNiNDllMDI4YjNlNWIxNzIyYzA3
MDcyOGM2YThlZDc3ZGY2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UKQEAgLTE1MCw3ICsx
NTAsNiBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBwbGF0Zm9ybS9uZXR3b3Jr
L2VmbC9OZXR3b3JrU3RhdGVOb3RpZmllckVmbC5jcHAKIAogICAgIHBsYXRmb3JtL25ldHdvcmsv
c291cC9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZVNvdXAuY3BwCi0gICAgcGxhdGZvcm0vbmV0d29y
ay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3Vw
L0Nvb2tpZUphclNvdXAuY3BwCiAgICAgcGxhdGZvcm0vbmV0d29yay9zb3VwL0Nvb2tpZVN0b3Jh
Z2VTb3VwLmNwcAogICAgIHBsYXRmb3JtL25ldHdvcmsvc291cC9DcmVkZW50aWFsU3RvcmFnZVNv
dXAuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGYyYWJjNDk2MjQwZDFlMDdlYjdmODBiMDY5
OWQ4ZGEwNWRmNGQzNzYuLjUzYTg2ZmM3M2Y0NDU2ZTY0ZDMzM2ZhZmI0NTMwYjA3MzQ3YjUzMDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC03NjIsMTEgKzc2Miw2IEBAIF9fWk43V2ViQ29yZTIz
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UyM3NldEF1dGhlbnRpY2F0aW9uQ2xpZW50RVBOU18yMEF1
dGhlbnRpY2F0CiBfX1pON1dlYkNvcmUyM0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQzFFUktOU18x
NVByb3RlY3Rpb25TcGFjZUVSS05TXzEwQ3JlZGVudGlhbEVqUktOU18xNlJlc291cmNlUmVzcG9u
c2VFUktOU18xM1Jlc291cmNlRXJyb3JFCiBfX1pON1dlYkNvcmUyM011dGFibGVTdHlsZVByb3Bl
cnR5U2V0MjVlbnN1cmVDU1NTdHlsZURlY2xhcmF0aW9uRXYKIF9fWk43V2ViQ29yZTIzTXV0YWJs
ZVN0eWxlUHJvcGVydHlTZXREMUV2Ci1fX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mbzE5c2V0
Q2VydGlmaWNhdGVDaGFpbkVQSzlfX0NGQXJyYXkKLV9fWk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJ
bmZvQzFFUEs5X19DRkFycmF5Ci1fX1pON1dlYkNvcmUxNUNlcnRpZmljYXRlSW5mb0MxRXYKLV9f
Wk43V2ViQ29yZTE1Q2VydGlmaWNhdGVJbmZvRDFFdgotX19aTks3V2ViQ29yZTE1Q2VydGlmaWNh
dGVJbmZvMTZjZXJ0aWZpY2F0ZUNoYWluRXYKIF9fWk43V2ViQ29yZTIzU3luY2hyb25vdXNMb2Fk
ZXJDbGllbnQyNHBsYXRmb3JtQmFkUmVzcG9uc2VFcnJvckV2CiBfX1pON1dlYkNvcmUyM2RhdGFG
b3JVUkxDb21wb25lbnRUeXBlRVA1TlNVUkxsCiBfX1pON1dlYkNvcmUyM2RlY29kZUhvc3ROYW1l
V2l0aFJhbmdlRVA4TlNTdHJpbmc4X05TUmFuZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDU4NWRkNDMwYjQwNTI0NTJmNmE5ZTM5Nzgy
ZGIxZjQxMjA5MTE0ZmIuLjZjZWNjYjZjMjkwMzI3OTEzNjY4OTA2MWRkODNkNzhhNjAwY2ZhOWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpA
QCAtNzk3NCwxMiArNzk3NCw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xjZlxDZXJ0aWZpY2F0ZUluZm9D
Rk5ldC5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRy
dWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21w
aWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcY2ZcQ29va2llSmFyQ0ZOZXQuY3BwIj4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KQEAgLTE5MDUxLDcgKzE5MDQ1LDYgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQmxvYlJlZ2lzdHJ5SW1wbC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9iUmVzb3VyY2VIYW5kbGUuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5ldHdvcmtcQmxvYlN0b3JhZ2VEYXRh
LmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxuZXR3b3JrXENlcnRp
ZmljYXRlSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0
d29ya1xDb29raWVTdG9yYWdlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxuZXR3b3JrXENyZWRlbnRpYWwuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XHBsYXRmb3JtXG5ldHdvcmtcQ3JlZGVudGlhbFN0b3JhZ2UuaCIgLz4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRl
eCA0ZGVlZTA2NjNkYTg2YTNmMTFiZmZjNTg3OTU2MzY5OTc2M2E0MGJhLi44NWRhMjNmNmViYjY1
NDg5YjFkN2YwNTI2NWZhNjc2N2Q0NGY4ZDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC04NTM4LDkgKzg1
MzgsNiBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cbmV0d29ya1xCbG9i
U3RvcmFnZURhdGEuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXG5ldHdvcms8L0ZpbHRlcj4K
ICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXG5l
dHdvcmtcQ2VydGlmaWNhdGVJbmZvLmgiPgotICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxuZXR3b3Jr
PC9GaWx0ZXI+Ci0gICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxw
bGF0Zm9ybVxuZXR3b3JrXENvb2tpZVN0b3JhZ2UuaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3Jt
XG5ldHdvcms8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA1MTRhNmYxNDNjMDE0ODA0
YzM3ZDk5ZWYxYWNjZjVhMjczMTA1MTA1Li43MzkyZTVlM2ZmOGM2ZDhmM2E2NTRiMjQ1ZjBkM2Uy
ODQwNTM4M2QyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0xODYyLDEwICsxODYyLDcgQEAKIAkJNURGN0Y1QzIwRjAxRjkyQTAw
NTI2QjRCIC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1NjU4MEVGMDlEMTJCMjAwMDBFNjFE
NyAvKiBDU1NQcm9wZXJ0eU5hbWVzLmggKi87IH07CiAJCTVERkU4RjU2MEQxNjQ3N0IwMDc2RTkz
NyAvKiBTY2hlZHVsZWRBY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkNBMzc4QkEwRDE1RjY0MjAwQjc5M0Q2IC8qIFNjaGVkdWxlZEFjdGlv
bi5jcHAgKi87IH07CiAJCTVERkU4RjU3MEQxNjQ3N0MwMDc2RTkzNyAvKiBTY2hlZHVsZWRBY3Rp
b24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQTM3
OEJCMEQxNUY2NDIwMEI3OTNENiAvKiBTY2hlZHVsZWRBY3Rpb24uaCAqLzsgfTsKLQkJNUYyREJC
RTkxNzhFM0M4MTAwMTQxNDg2IC8qIENlcnRpZmljYXRlSW5mb01hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU3MTc4RTMzMkQwMDE0MTQ4
NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gKi87IH07Ci0JCTVGQTkwNENBMTc4RTYxRjUwMDRD
OEEyRCAvKiBDZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDVGMkRCQkU4MTc4RTMzNjkwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUlu
Zm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
RkM3REMyNkNGRTI1NjMyMDBCODVBRTQgLyogSlNFdmVudFRhcmdldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNUZDN0RDMjZDRkUyNTYzMjAwQjg1QUU1
IC8qIEpTRXZlbnRUYXJnZXQuaCAqLzsgfTsKLQkJNUZFMUQyOTIxNzhGRDFGMzAwMUFBM0MzIC8q
IFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDVGRTFEMjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdv
cmsgKi87IH07CiAJCTYyNkNERTBFMTE0MDQyNEMwMDFFNUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2MjZD
REUwQzExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uY3BwICovOyB9OwogCQk2
MjZDREUwRjExNDA0MjRDMDAxRTVBNjggLyogU3BhdGlhbE5hdmlnYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDYyNkNERTBEMTE0MDQyNEMwMDFF
NUE2OCAvKiBTcGF0aWFsTmF2aWdhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTYyOEQyMTRDMTIxMzFFRDEwMDU1RENGQyAvKiBOZXR3b3Jr
aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjI4RDIxNEIxMjEzMUVEMTAwNTVEQ0ZDIC8qIE5ldHdvcmtpbmdDb250ZXh0LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0NDAsMTAgKzg0
MzcsNyBAQAogCQk1REE5N0VDQzE2OEU3ODdCMDAwRTM2NzYgLyogU3lzdGVtVmVyc2lvbk1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN5c3RlbVZlcnNpb25N
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFCQzY4MTA3MTVBNjQwMEVG
QUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gVHJhbnNmb3JtU291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTVEQjFC
QzY5MTA3MTVBNjQwMEVGQUE0OSAvKiBUcmFuc2Zvcm1Tb3VyY2VMaWJ4c2x0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFRyYW5zZm9ybVNvdXJjZUxpYnhzbHQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYg
LyogQ2VydGlmaWNhdGVJbmZvTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gQ2VydGlmaWNhdGVJbmZvTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENlcnRpZmljYXRlSW5mby5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1RkM3REMyNkNGRTI1NjMyMDBCODVBRTUgLyogSlNFdmVudFRh
cmdldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNFdmVudFRhcmdldC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1RkUxRDI5MTE3OEZEMUYzMDAxQUEzQzMg
LyogU2VjdXJpdHkuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBTZWN1cml0eS5mcmFtZXdv
cms7IHBhdGggPSAuLi8uLi8uLi8uLi8uLi9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1NlY3Vy
aXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEMxMTQw
NDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNjI2Q0RFMEQxMTQwNDI0QzAwMUU1QTY4IC8qIFNwYXRpYWxOYXZpZ2F0
aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNwYXRpYWxOYXZpZ2F0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTYyOEQyMTRCMTIxMzFFRDEwMDU1RENG
QyAvKiBOZXR3b3JraW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBOZXR3b3JraW5nQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTMy
MzMsNyArMTMyMjcsNiBAQAogCQkJaXNhID0gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQli
dWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJNUZFMUQyOTIx
NzhGRDFGMzAwMUFBM0MzIC8qIFNlY3VyaXR5LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAog
CQkJCUZEMkRCRjEyMTJCMDQ4QTMwMEVEOThDNiAvKiBBY2NlbGVyYXRlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovLAogCQkJCTkzRjE5QjEzMDgyNDVFNTkwMDFFOUFCQyAvKiBBcHBsaWNhdGlv
blNlcnZpY2VzLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUZEMkRCRjEzMTJCMDQ4
QTMwMEVEOThDNiAvKiBBdWRpb1Rvb2xib3guZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCkBA
IC0xMzU2OSw3ICsxMzU2Miw2IEBACiAJCTA4NjdENjkxRkU4NDAyOEZDMDJBQUMwNyAvKiBXZWJL
aXQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCTVGRTFE
MjkxMTc4RkQxRjMwMDFBQTNDMyAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8sCiAJCQkJNjVDOTdB
RjIwOEVBOTA4ODAwQUNEMjczIC8qIGNvbmZpZy5oICovLAogCQkJCUVERUM5ODAyMEFFRDdFMTcw
MDU5MTM3RiAvKiBXZWJDb3JlUHJlZml4LmggKi8sCiAJCQkJOTMwNzA2MTMwOUUwQ0E4MjAwQjE3
RkU0IC8qIERlcml2ZWRTb3VyY2VzLm1ha2UgKi8sCkBAIC0xNTA0OSw3ICsxNTA0MSw2IEBACiAJ
CQkJMkVCNEJDRDAxMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5jcHAgKi8s
CiAJCQkJMkVCNEJDRDExMjFGMDNFMzAwRUM0ODg1IC8qIEJsb2JSZXNvdXJjZUhhbmRsZS5oICov
LAogCQkJCTJFREVGMUYyMTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iU3RvcmFnZURhdGEuaCAqLywK
LQkJCQk1RjJEQkJFODE3OEUzMzY5MDAxNDE0ODYgLyogQ2VydGlmaWNhdGVJbmZvLmggKi8sCiAJ
CQkJRTEzRjAxRUExMjcwRTEwRDAwREZCQTcxIC8qIENvb2tpZVN0b3JhZ2UuaCAqLywKIAkJCQk1
MTRDNzY1ODBDRTkyM0ExMDA3RUYzQ0QgLyogQ3JlZGVudGlhbC5jcHAgKi8sCiAJCQkJNTE0Qzc2
NTkwQ0U5MjNBMTAwN0VGM0NEIC8qIENyZWRlbnRpYWwuaCAqLywKQEAgLTE1MTEwLDcgKzE1MTAx
LDYgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxNEM3NjQyMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5oICovLAogCQkJCTUxNEM3NjQzMENFOTIzNEUwMDdFRjNDRCAvKiBB
dXRoZW50aWNhdGlvbk1hYy5tbSAqLywKLQkJCQk1RjJEQkJFNzE3OEUzMzJEMDAxNDE0ODYgLyog
Q2VydGlmaWNhdGVJbmZvTWFjLm1tICovLAogCQkJCUUxNDI0QzhGMTY0QjQ2MEIwMEYzMkQ0MCAv
KiBDb29raWVKYXJNYWMubW0gKi8sCiAJCQkJRTEzRjAxRjAxMjcwRTE5MDAwREZCQTcxIC8qIENv
b2tpZVN0b3JhZ2VNYWMubW0gKi8sCiAJCQkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovLApAQCAtMjM1NzgsNyArMjM1NjgsNiBAQAogCQkJCTBG
MTMxNjNFMTZFRDBDQzgwMDM1Q0MwNCAvKiBQbGF0Zm9ybUNBRmlsdGVycy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNDk5QjNFQzUxMjhDQ0M0NzAwRTcyNkMyIC8qIFBsYXRmb3JtQ0FMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNDkzRTVFMDkxMkQ2NDIwNTAwMDIwMDgxIC8qIFBsYXRmb3JtQ0FM
YXllckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNUZBOTA0Q0ExNzhFNjFGNTAwNEM4QTJE
IC8qIENlcnRpZmljYXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdDNTlCNTQxN0Y0QUMx
NTAwMEZCQ0JCIC8qIEF1ZGlvU3RyZWFtVHJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNDI0
QzhBMTY0QjNCNEUwMEYzMkQ0MCAvKiBQbGF0Zm9ybUNvb2tpZUphci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAwQkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtMjc2NzMsNyArMjc2NjIsNiBAQAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMx
MzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM4MCAvKiBYU1NBdWRpdG9yRGVsZWdhdGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTVGMkRCQkU5MTc4RTNDODEwMDE0MTQ4NiAvKiBDZXJ0aWZpY2F0ZUluZm9NYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlGRDE3NjJERjE3NjY4NkQ5MDBEODM2QTggLyogVXBTYW1wbGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUZEMTc2MkUzMTc2Njg2RUEwMEQ4MzZBOCAvKiBEb3duU2Ft
cGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVCNjggLyog
UmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9DZXJ0aWZpY2F0ZUluZm8uaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZWM5OTMwZTg3NjFkYjkxYjE5NDU4MDMwNDFiN2YyMjUwYTM1MzYyMi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NlcnRpZmljYXRlSW5mby5oCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTMgQ29tcGFueSAxMDAgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZu
ZGVmIENlcnRpZmljYXRlSW5mb19oCi0jZGVmaW5lIENlcnRpZmljYXRlSW5mb19oCi0KLSNpZiBQ
TEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCi0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgotI2VsaWYgVVNFKFNPVVApCi0jaW5jbHVkZSA8Z2lvL2dpby5oPgotI2luY2x1ZGUgPHd0Zi9n
b2JqZWN0L0dSZWZQdHIuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IENlcnRpZmljYXRlSW5mbyB7Ci1wdWJsaWM6Ci0gICAgQ2VydGlmaWNhdGVJbmZvKCk7Ci0KLSNp
ZiBQTEFURk9STShNQUMpCi0gICAgZXhwbGljaXQgQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYg
Y2VydGlmaWNhdGVDaGFpbik7Ci0jZW5kaWYKLQotICAgIH5DZXJ0aWZpY2F0ZUluZm8oKTsKLQot
I2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICB2b2lkIHNldENlcnRpZmlj
YXRlQ2hhaW4oQ0ZBcnJheVJlZik7Ci0gICAgQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkg
Y29uc3Q7Ci0jaWZuZGVmIE5ERUJVRwotICAgIHZvaWQgZHVtcCgpIGNvbnN0OwotI2VuZGlmCi0K
LSNlbGlmIFVTRShTT1VQKQotICAgIEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlmaWNhdGUoKSBjb25z
dCB7IHJldHVybiBtX2NlcnRpZmljYXRlLmdldCgpOyB9Ci0gICAgdm9pZCBzZXRDZXJ0aWZpY2F0
ZShHVGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZp
Y2F0ZTsgfQotCi0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3JzKCkgY29uc3QgeyBy
ZXR1cm4gbV90bHNFcnJvcnM7IH0KLSAgICB2b2lkIHNldFRMU0Vycm9ycyhHVGxzQ2VydGlmaWNh
dGVGbGFncyB0bHNFcnJvcnMpIHsgbV90bHNFcnJvcnMgPSB0bHNFcnJvcnM7IH0KLSNlbmRpZgot
Ci1wcml2YXRlOgotI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKENGTkVUV09SSykKLSAgICAvLyBD
ZXJ0aWZpY2F0ZSBjaGFpbiBpcyBub3JtYWxseSBwYXJ0IG9mIE5TL0NGVVJMUmVzcG9uc2UsIGJ1
dCB0aGVyZSBpcyBubyB3YXkgdG8gcmUtYWRkIGl0IHRvIGEgZGVzZXJpYWxpemVkIHJlc3BvbnNl
IGFmdGVyIElQQy4KLSAgICBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gbV9jZXJ0aWZpY2F0ZUNoYWlu
OwotI2VsaWYgVVNFKFNPVVApCi0gICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlm
aWNhdGU7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Ci0jZW5kaWYKLX07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENlcnRpZmljYXRlSW5mb19o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJy
b3JCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlRXJyb3JC
YXNlLmgKaW5kZXggZmZkY2FiNjA1ZTc3ZWVmYmJmMTg2MThjNWY5ZTcwYjQ0Njg3NjdhMy4uNWI3
OTA5ZmRiMWRlMDFkNjUzMzFjNzU5OTRmOTM4YzM3M2YyNzA1YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUVycm9yQmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VFcnJvckJhc2UuaApAQCAtMjYsNyAr
MjYsNiBAQAogI2lmbmRlZiBSZXNvdXJjZUVycm9yQmFzZV9oCiAjZGVmaW5lIFJlc291cmNlRXJy
b3JCYXNlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw5ICs1Miw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldElzVGltZW91dChib29sIGlzVGltZW91dCkgeyBtX2lzVGlt
ZW91dCA9IGlzVGltZW91dDsgfQogICAgIGJvb2wgaXNUaW1lb3V0KCkgY29uc3QgeyByZXR1cm4g
bV9pc1RpbWVvdXQ7IH0KIAotICAgIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJ
bmZvKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUluZm87IH0KLSAgICB2b2lkIHNldENl
cnRpZmljYXRlSW5mbyhjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykgeyBt
X2NlcnRpZmljYXRlSW5mbyA9IGNlcnRpZmljYXRlSW5mbzsgfQotCiAgICAgc3RhdGljIGJvb2wg
Y29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiwgY29uc3QgUmVzb3VyY2VFcnJvciYpOwogCiBw
cm90ZWN0ZWQ6CkBAIC05Myw3ICs4OSw2IEBAIHByb3RlY3RlZDoKICAgICBpbnQgbV9lcnJvckNv
ZGU7CiAgICAgU3RyaW5nIG1fZmFpbGluZ1VSTDsKICAgICBTdHJpbmcgbV9sb2NhbGl6ZWREZXNj
cmlwdGlvbjsKLSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87CiAgICAgYm9v
bCBtX2lzTnVsbDsKICAgICBib29sIG1faXNDYW5jZWxsYXRpb247CiAgICAgYm9vbCBtX2lzVGlt
ZW91dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3Vy
Y2VSZXNwb25zZUJhc2UuaAppbmRleCBkMzBjOGE0MjNkMWZhNTk0MDM4OTkyNzRiNDBhNzJjNTQ2
NzcwZjRiLi4yY2ZiNTNhOTM3ZmI0YWI3ZmE2Yjg2YjQ3OTZiYjg2ZTI0ZWI3ZWIzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlUmVzcG9uc2VCYXNl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZVJlc3BvbnNl
QmFzZS5oCkBAIC0yNywxMCArMjcsOSBAQAogI2lmbmRlZiBSZXNvdXJjZVJlc3BvbnNlQmFzZV9o
CiAjZGVmaW5lIFJlc291cmNlUmVzcG9uc2VCYXNlX2gKIAotI2luY2x1ZGUgIkNlcnRpZmljYXRl
SW5mby5oIgogI2luY2x1ZGUgIkhUVFBIZWFkZXJNYXAuaCIKLSNpbmNsdWRlICJSZXNvdXJjZUxv
YWRUaW1pbmcuaCIKICNpbmNsdWRlICJVUkwuaCIKKyNpbmNsdWRlICJSZXNvdXJjZUxvYWRUaW1p
bmcuaCIKIAogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgpAQCAtMTEzLDkgKzExMiw2IEBAIHB1YmxpYzoKICAgICBSZXNvdXJjZUxvYWRUaW1pbmcq
IHJlc291cmNlTG9hZFRpbWluZygpIGNvbnN0OwogICAgIHZvaWQgc2V0UmVzb3VyY2VMb2FkVGlt
aW5nKFBhc3NSZWZQdHI8UmVzb3VyY2VMb2FkVGltaW5nPik7CiAKLSAgICBjb25zdCBDZXJ0aWZp
Y2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJ
bmZvOyB9Ci0gICAgdm9pZCBzZXRDZXJ0aWZpY2F0ZUluZm8oY29uc3QgQ2VydGlmaWNhdGVJbmZv
JiBjZXJ0aWZpY2F0ZUluZm8pIHsgbV9jZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZUluZm87
IH0KLQogICAgIC8vIFRoZSBSZXNvdXJjZVJlc3BvbnNlIHN1YmNsYXNzIG1heSAic2hhZG93IiB0
aGlzIG1ldGhvZCB0byBwcm92aWRlIHBsYXRmb3JtLXNwZWNpZmljIG1lbW9yeSB1c2FnZSBpbmZv
cm1hdGlvbgogICAgIHVuc2lnbmVkIG1lbW9yeVVzYWdlKCkgY29uc3QKICAgICB7CkBAIC0xNTYs
NyArMTUyLDYgQEAgcHJvdGVjdGVkOgogICAgIHVuc2lnbmVkIG1fY29ubmVjdGlvbklEOwogICAg
IGJvb2wgbV9jb25uZWN0aW9uUmV1c2VkIDogMTsKICAgICBSZWZQdHI8UmVzb3VyY2VMb2FkVGlt
aW5nPiBtX3Jlc291cmNlTG9hZFRpbWluZzsKLSAgICBDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZp
Y2F0ZUluZm87CiAKICAgICBib29sIG1faXNOdWxsIDogMTsKICAgICAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvY2YvQ2VydGlmaWNhdGVJbmZvQ0ZOZXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0ZUluZm9DRk5l
dC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlhNDYxOWQwMDU3MTVjYjIzOGE0
NWI4NGZhMTk1NjVkZWI2ODYyZDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9DZXJ0aWZpY2F0
ZUluZm9DRk5ldC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzOSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
Ci0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIkNlcnRpZmljYXRlSW5mby5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLUNlcnRpZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotQ2VydGlm
aWNhdGVJbmZvOjp+Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9jZi9SZXNv
dXJjZVJlc3BvbnNlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291
cmNlUmVzcG9uc2UuaAppbmRleCA1YTM2YTBlOTQ2MjFmMWQ0YzY5ZTIzY2QyZGJkNDc1ZWEwNzIx
YjNjLi4xM2E1ODExODBlYTY4OGRkZTM3NmUzNWYwN2UyZWUzMTYzOGFkMzVlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2NmL1Jlc291cmNlUmVzcG9uc2Uu
aApAQCAtMTE3LDYgKzExNywxMCBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAgICBt
dXRhYmxlIFJldGFpblB0cjxOU1VSTFJlc3BvbnNlPiBtX25zUmVzcG9uc2U7CiAjZW5kaWYKKyNp
ZiBQTEFURk9STShNQUMpIHx8IFVTRShDRk5FVFdPUkspCisgICAgLy8gQ2VydGlmaWNhdGUgY2hh
aW4gaXMgbm9ybWFsbHkgcGFydCBvZiBOUy9DRlVSTFJlc3BvbnNlLCBidXQgdGhlcmUgaXMgbm8g
d2F5IHRvIHJlLWFkZCBpdCB0byBhIGRlc2VyaWFsaXplZCByZXNwb25zZSBhZnRlciBJUEMuCisg
ICAgUmV0YWluUHRyPENGQXJyYXlSZWY+IG1fZXh0ZXJuYWxDZXJ0aWZpY2F0ZUNoYWluOworI2Vu
ZGlmCiAgICAgSW5pdExldmVsIG1faW5pdExldmVsOwogICAgIGJvb2wgbV9wbGF0Zm9ybVJlc3Bv
bnNlSXNVcFRvRGF0ZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL21hYy9DZXJ0aWZpY2F0ZUluZm9NYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNkZDNhYjNlYWEzYTIzMTAyNDIxM2Q3NDI3YmY3OGU5YTM0M2YxYTYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyAvZGV2L251bGwK
QEAgLTEsNzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQ29tcGFueSAxMDAgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNp
bXBvcnQgIkNlcnRpZmljYXRlSW5mby5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLUNlcnRp
ZmljYXRlSW5mbzo6Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotCi1DZXJ0aWZpY2F0ZUluZm86
OkNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pCi0gICAgOiBtX2Nl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVDaGFpbikKLXsKLX0KLQotQ2VydGlmaWNhdGVJbmZv
Ojp+Q2VydGlmaWNhdGVJbmZvKCkKLXsKLX0KLQotdm9pZCBDZXJ0aWZpY2F0ZUluZm86OnNldENl
cnRpZmljYXRlQ2hhaW4oQ0ZBcnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQotewotICAgIG1fY2Vy
dGlmaWNhdGVDaGFpbiA9IGNlcnRpZmljYXRlQ2hhaW47Ci19Ci0KLUNGQXJyYXlSZWYgQ2VydGlm
aWNhdGVJbmZvOjpjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9jZXJ0
aWZpY2F0ZUNoYWluLmdldCgpOwotfQotCi0jaWZuZGVmIE5ERUJVRwotdm9pZCBDZXJ0aWZpY2F0
ZUluZm86OmR1bXAoKSBjb25zdAotewotICAgIHVuc2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmlj
YXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7
Ci0KLSAgICBOU0xvZyhAIkNlcnRpZmljYXRlSW5mb1xuIik7Ci0gICAgTlNMb2coQCIgIEVudHJp
ZXM6ICVkXG4iLCBlbnRyaWVzKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZW50cmll
czsgKytpKSB7Ci0gICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gc3VtbWFyeSA9IGFkb3B0
Q0YoU2VjQ2VydGlmaWNhdGVDb3B5U3ViamVjdFN1bW1hcnkoKFNlY0NlcnRpZmljYXRlUmVmKUNG
QXJyYXlHZXRWYWx1ZUF0SW5kZXgobV9jZXJ0aWZpY2F0ZUNoYWluLmdldCgpLCBpKSkpOwotICAg
ICAgICBOU0xvZyhAIiAgJUAiLCAoTlNTdHJpbmcgKilzdW1tYXJ5LmdldCgpKTsKLSAgICB9Ci19
Ci0jZW5kaWYKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVzcG9uc2VNYWMubW0KaW5k
ZXggMThjYTMwODE3MTdhNzI4NDA1NTc1MmQ1YzNiYmU4OWE2NGMwMDRkNi4uNTQyNWUxZmQ0YTU5
YTAyZDE2MjFlODNmMTgxODk0NmJiZjhkMzRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXNwb25zZU1hYy5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlc3BvbnNlTWFjLm1tCkBAIC0x
ODEsMTMgKzE4MSwxMyBAQCBib29sIFJlc291cmNlUmVzcG9uc2U6OnBsYXRmb3JtQ29tcGFyZShj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiBhLCBjb25zdCBSZXNvdXJjZQogdm9pZCBSZXNvdXJjZVJl
c3BvbnNlOjpzZXRDZXJ0aWZpY2F0ZUNoYWluKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikK
IHsKICAgICBBU1NFUlQoIXdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJM
UmVzcG9uc2UoKSkpOwotICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlQ2hhaW4o
Y2VydGlmaWNhdGVDaGFpbik7CisgICAgbV9leHRlcm5hbENlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0
aWZpY2F0ZUNoYWluOwogfQogCiBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gUmVzb3VyY2VSZXNwb25z
ZTo6Y2VydGlmaWNhdGVDaGFpbigpIGNvbnN0CiB7Ci0gICAgaWYgKG1fY2VydGlmaWNhdGVJbmZv
LmNlcnRpZmljYXRlQ2hhaW4oKSkKLSAgICAgICAgcmV0dXJuIGFkb3B0Q0YobV9jZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGVDaGFpbigpKTsKKyAgICBpZiAobV9leHRlcm5hbENlcnRpZmljYXRl
Q2hhaW4pCisgICAgICAgIHJldHVybiBtX2V4dGVybmFsQ2VydGlmaWNhdGVDaGFpbjsKIAogICAg
IHJldHVybiBhZG9wdENGKHdrQ29weU5TVVJMUmVzcG9uc2VDZXJ0aWZpY2F0ZUNoYWluKG5zVVJM
UmVzcG9uc2UoKSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL0NlcnRpZmljYXRlSW5mb1NvdXAuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxNjJhNzc4MWFkMWY3YzA0NDUxNmU4ZjhmMDViNjE2NjJjZGU1MjlkLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9DZXJ0aWZpY2F0ZUluZm9Tb3VwLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDQxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSWdhbGlh
IFMuTC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55IDEwMCBJbmMuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDZXJ0aWZpY2F0ZUluZm8uaCIKLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1DZXJ0aWZpY2F0ZUluZm86OkNlcnRpZmljYXRlSW5mbygpCi0g
ICAgOiBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCi17
Ci19Ci0KLUNlcnRpZmljYXRlSW5mbzo6fkNlcnRpZmljYXRlSW5mbygpCi17Ci19Ci0KLX0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9SZXNvdXJjZUVycm9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvUmVzb3VyY2VFcnJvci5oCmluZGV4IGE4NmVjZTRmYTU2YmE1MGNjYzI4MDZkODhl
Mjc3NDhkY2U5YjVjYTIuLjFhNzA1ZjE1ZWQ3ZjM4ZjhkM2FmZWQ3MDExYTMwYzA0YmNjNzhmMTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJj
ZUVycm9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlRXJyb3IuaApAQCAtNDAsMTAgKzQwLDEyIEBAIGNsYXNzIFJlc291cmNlRXJyb3IgOiBwdWJs
aWMgUmVzb3VyY2VFcnJvckJhc2UKIHB1YmxpYzoKICAgICBSZXNvdXJjZUVycm9yKGNvbnN0IFN0
cmluZyYgZG9tYWluLCBpbnQgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwsIGNv
bnN0IFN0cmluZyYgbG9jYWxpemVkRGVzY3JpcHRpb24pCiAgICAgICAgIDogUmVzb3VyY2VFcnJv
ckJhc2UoZG9tYWluLCBlcnJvckNvZGUsIGZhaWxpbmdVUkwsIGxvY2FsaXplZERlc2NyaXB0aW9u
KQorICAgICAgICAsIG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNl
RXJyb3IoKQorICAgICAgICA6IG1fdGxzRXJyb3JzKDApCiAgICAgewogICAgIH0KIApAQCAtNTQs
OSArNTYsMTcgQEAgcHVibGljOgogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIHRpbWVvdXRFcnJv
cihjb25zdCBTdHJpbmcmIGZhaWxpbmdVUkwpOwogICAgIHN0YXRpYyBSZXNvdXJjZUVycm9yIGF1
dGhlbnRpY2F0aW9uRXJyb3IoU291cE1lc3NhZ2UqKTsKIAorICAgIHVuc2lnbmVkIHRsc0Vycm9y
cygpIGNvbnN0IHsgcmV0dXJuIG1fdGxzRXJyb3JzOyB9CisgICAgdm9pZCBzZXRUTFNFcnJvcnMo
dW5zaWduZWQgdGxzRXJyb3JzKSB7IG1fdGxzRXJyb3JzID0gdGxzRXJyb3JzOyB9CisgICAgR1Rs
c0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUu
Z2V0KCk7IH0KKyAgICB2b2lkIHNldENlcnRpZmljYXRlKEdUbHNDZXJ0aWZpY2F0ZSogY2VydGlm
aWNhdGUpIHsgbV9jZXJ0aWZpY2F0ZSA9IGNlcnRpZmljYXRlOyB9CisKIHByaXZhdGU6CiAgICAg
dm9pZCBwbGF0Zm9ybUNvcHkoUmVzb3VyY2VFcnJvciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29s
IHBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9yJiBhLCBjb25zdCBSZXNvdXJjZUVy
cm9yJiBiKTsKKworICAgIHVuc2lnbmVkIG1fdGxzRXJyb3JzOworICAgIEdSZWZQdHI8R1Rsc0Nl
cnRpZmljYXRlPiBtX2NlcnRpZmljYXRlOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZUVycm9yU291cC5jcHAKaW5k
ZXggNzg3Yzc0NzNmZjcyM2I1ZDc1OTA1MmMxMjRmZWRlZjU2ODY3Y2MyZS4uYmE4NjU3YjUwNTA5
MDUyNTdjMWRhNGNhNzk5ZjczNzZhZGNkZGM1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlRXJyb3JTb3VwLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VFcnJvclNvdXAuY3BwCkBAIC0x
LDYgKzEsNSBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMiBJZ2FsaWEgUy5MLgotICogQ29w
eXJpZ2h0IChDKSAyMDEzIENvbXBhbnkgMTAwIEluYy4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtNzksOCArNzgsOCBAQCBSZXNvdXJjZUVycm9yIFJlc291cmNlRXJyb3I6OnRs
c0Vycm9yKFNvdXBSZXF1ZXN0KiByZXF1ZXN0LCB1bnNpZ25lZCB0bHNFcnJvcnMsCiB7CiAgICAg
UmVzb3VyY2VFcnJvciByZXNvdXJjZUVycm9yKGdfcXVhcmtfdG9fc3RyaW5nKFNPVVBfSFRUUF9F
UlJPUiksIFNPVVBfU1RBVFVTX1NTTF9GQUlMRUQsCiAgICAgICAgIGZhaWxpbmdVUkkocmVxdWVz
dCksIHVuYWNjZXB0YWJsZVRMU0NlcnRpZmljYXRlKCkpOwotICAgIHJlc291cmNlRXJyb3IubV9j
ZXJ0aWZpY2F0ZUluZm8uc2V0VExTRXJyb3JzKHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZs
YWdzPih0bHNFcnJvcnMpKTsKLSAgICByZXNvdXJjZUVycm9yLm1fY2VydGlmaWNhdGVJbmZvLnNl
dENlcnRpZmljYXRlKGNlcnRpZmljYXRlKTsKKyAgICByZXNvdXJjZUVycm9yLnNldFRMU0Vycm9y
cyh0bHNFcnJvcnMpOworICAgIHJlc291cmNlRXJyb3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNh
dGUpOwogICAgIHJldHVybiByZXNvdXJjZUVycm9yOwogfQogCkBAIC05OSwxMiArOTgsMTMgQEAg
UmVzb3VyY2VFcnJvciBSZXNvdXJjZUVycm9yOjp0aW1lb3V0RXJyb3IoY29uc3QgU3RyaW5nJiBm
YWlsaW5nVVJMKQogCiB2b2lkIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29weShSZXNvdXJjZUVy
cm9yJiBlcnJvckNvcHkpIGNvbnN0CiB7Ci0gICAgZXJyb3JDb3B5LnNldENlcnRpZmljYXRlSW5m
byhtX2NlcnRpZmljYXRlSW5mbyk7CisgICAgZXJyb3JDb3B5Lm1fY2VydGlmaWNhdGUgPSBtX2Nl
cnRpZmljYXRlOworICAgIGVycm9yQ29weS5tX3Rsc0Vycm9ycyA9IG1fdGxzRXJyb3JzOwogfQog
CiBib29sIFJlc291cmNlRXJyb3I6OnBsYXRmb3JtQ29tcGFyZShjb25zdCBSZXNvdXJjZUVycm9y
JiBhLCBjb25zdCBSZXNvdXJjZUVycm9yJiBiKQogewotICAgIHJldHVybiBhLm1fY2VydGlmaWNh
dGVJbmZvLnRsc0Vycm9ycygpID09IGIubV9jZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCk7Cisg
ICAgcmV0dXJuIGEudGxzRXJyb3JzKCkgPT0gYi50bHNFcnJvcnMoKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL1Jlc291cmNlUmVzcG9uc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9SZXNvdXJjZVJlc3BvbnNlLmgKaW5kZXggMzllMWQzN2ZlZTNlMzQ2ZDFmODg0Zjg3
YzhhM2UwM2FlNmZmMzEwYS4uNDg5MWY5MzVmY2JjN2Y3NzIzYTY2MTU3ZWUyZWQ5MzNjZjUzZTBm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291
cmNlUmVzcG9uc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAv
UmVzb3VyY2VSZXNwb25zZS5oCkBAIC0zOCwxOCArMzgsMjEgQEAgcHVibGljOgogICAgIFJlc291
cmNlUmVzcG9uc2UoKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VCYXNlKCkKICAgICAgICAg
LCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAg
LCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAg
ewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9uc2UoY29uc3QgVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgbWltZVR5cGUsIGxvbmcgbG9uZyBleHBlY3RlZExlbmd0aCwgY29uc3QgU3RyaW5nJiB0
ZXh0RW5jb2RpbmdOYW1lLCBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKQogICAgICAgICA6IFJlc291
cmNlUmVzcG9uc2VCYXNlKHVybCwgbWltZVR5cGUsIGV4cGVjdGVkTGVuZ3RoLCB0ZXh0RW5jb2Rp
bmdOYW1lLCBmaWxlbmFtZSkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3Vw
TWVzc2FnZUZsYWdzPigwKSkKKyAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxz
Q2VydGlmaWNhdGVGbGFncz4oMCkpCiAgICAgewogICAgIH0KIAogICAgIFJlc291cmNlUmVzcG9u
c2UoU291cE1lc3NhZ2UqIHNvdXBNZXNzYWdlKQogICAgICAgICA6IFJlc291cmNlUmVzcG9uc2VC
YXNlKCkKICAgICAgICAgLCBtX3NvdXBGbGFncyhzdGF0aWNfY2FzdDxTb3VwTWVzc2FnZUZsYWdz
PigwKSkKKyAgICAgICAgLCBtX3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVG
bGFncz4oMCkpCiAgICAgewogICAgICAgICB1cGRhdGVGcm9tU291cE1lc3NhZ2Uoc291cE1lc3Nh
Z2UpOwogICAgIH0KQEAgLTY0LDExICs2NywxMSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5n
JiBzbmlmZmVkQ29udGVudFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3NuaWZmZWRDb250ZW50VHlw
ZTsgfQogICAgIHZvaWQgc2V0U25pZmZlZENvbnRlbnRUeXBlKGNvbnN0IFN0cmluZyYgdmFsdWUp
IHsgbV9zbmlmZmVkQ29udGVudFR5cGUgPSB2YWx1ZTsgfQogCi0gICAgR1Rsc0NlcnRpZmljYXRl
KiBzb3VwTWVzc2FnZUNlcnRpZmljYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGUoKTsgfQotICAgIHZvaWQgc2V0U291cE1lc3NhZ2VDZXJ0aWZpY2F0ZShH
VGxzQ2VydGlmaWNhdGUqIGNlcnRpZmljYXRlKSB7IG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRp
ZmljYXRlKGNlcnRpZmljYXRlKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZSogc291cE1lc3NhZ2VD
ZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGUuZ2V0KCk7IH0KKyAgICB2
b2lkIHNldFNvdXBNZXNzYWdlQ2VydGlmaWNhdGUoR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0
ZSkgeyBtX2NlcnRpZmljYXRlID0gY2VydGlmaWNhdGU7IH0KIAotICAgIEdUbHNDZXJ0aWZpY2F0
ZUZsYWdzIHNvdXBNZXNzYWdlVExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0
ZUluZm8udGxzRXJyb3JzKCk7IH0KLSAgICB2b2lkIHNldFNvdXBNZXNzYWdlVExTRXJyb3JzKEdU
bHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX2NlcnRpZmljYXRlSW5mby5zZXRUTFNF
cnJvcnModGxzRXJyb3JzKTsgfQorICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHNvdXBNZXNzYWdl
VExTRXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV90bHNFcnJvcnM7IH0KKyAgICB2b2lkIHNldFNv
dXBNZXNzYWdlVExTRXJyb3JzKEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIHRsc0Vycm9ycykgeyBtX3Rs
c0Vycm9ycyA9IHRsc0Vycm9yczsgfQogCiAgICAgYm9vbCBwbGF0Zm9ybVJlc3BvbnNlSXNVcFRv
RGF0ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKQEAgLTc3LDYgKzgwLDggQEAgcHJpdmF0
ZToKIAogICAgIFNvdXBNZXNzYWdlRmxhZ3MgbV9zb3VwRmxhZ3M7CiAgICAgU3RyaW5nIG1fc25p
ZmZlZENvbnRlbnRUeXBlOworICAgIEdSZWZQdHI8R1Rsc0NlcnRpZmljYXRlPiBtX2NlcnRpZmlj
YXRlOworICAgIEdUbHNDZXJ0aWZpY2F0ZUZsYWdzIG1fdGxzRXJyb3JzOwogCiAgICAgdm9pZCBk
b1VwZGF0ZVJlc291cmNlUmVzcG9uc2UoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9SZXNvdXJjZVJlc3BvbnNlU291cC5jcHAK
aW5kZXggOThkMThjZjIyNWI3OGY2ZDAwN2EzMmEwODE1ZmU5ZjdkNDgyZjc3Yy4uOWMzYjBlZGJk
OWZkM2NiNjcwOGEwZjk5ZmU0MmQ3YjI0NTVkMjZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL1Jlc291cmNlUmVzcG9uc2VTb3VwLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvUmVzb3VyY2VSZXNwb25zZVNvdXAu
Y3BwCkBAIC01Miw3ICs1Miw3IEBAIFNvdXBNZXNzYWdlKiBSZXNvdXJjZVJlc3BvbnNlOjp0b1Nv
dXBNZXNzYWdlKCkgY29uc3QKIAogICAgIHNvdXBfbWVzc2FnZV9zZXRfZmxhZ3Moc291cE1lc3Nh
Z2UsIG1fc291cEZsYWdzKTsKIAotICAgIGdfb2JqZWN0X3NldChHX09CSkVDVChzb3VwTWVzc2Fn
ZSksICJ0bHMtY2VydGlmaWNhdGUiLCBtX2NlcnRpZmljYXRlSW5mby5jZXJ0aWZpY2F0ZSgpLCAi
dGxzLWVycm9ycyIsIG1fY2VydGlmaWNhdGVJbmZvLnRsc0Vycm9ycygpLCBOVUxMKTsKKyAgICBn
X29iamVjdF9zZXQoR19PQkpFQ1Qoc291cE1lc3NhZ2UpLCAidGxzLWNlcnRpZmljYXRlIiwgbV9j
ZXJ0aWZpY2F0ZS5nZXQoKSwgInRscy1lcnJvcnMiLCBtX3Rsc0Vycm9ycywgTlVMTCk7CiAKICAg
ICAvLyBCb2R5IGRhdGEgaXMgbm90IGluIHRoZSBtZXNzYWdlLgogICAgIHJldHVybiBzb3VwTWVz
c2FnZTsKQEAgLTY4LDEwICs2OCw4IEBAIHZvaWQgUmVzb3VyY2VSZXNwb25zZTo6dXBkYXRlRnJv
bVNvdXBNZXNzYWdlKFNvdXBNZXNzYWdlKiBzb3VwTWVzc2FnZSkKICAgICBtX3NvdXBGbGFncyA9
IHNvdXBfbWVzc2FnZV9nZXRfZmxhZ3Moc291cE1lc3NhZ2UpOwogCiAgICAgR1Rsc0NlcnRpZmlj
YXRlKiBjZXJ0aWZpY2F0ZSA9IDA7Ci0gICAgR1Rsc0NlcnRpZmljYXRlRmxhZ3MgdGxzRXJyb3Jz
OwotICAgIHNvdXBfbWVzc2FnZV9nZXRfaHR0cHNfc3RhdHVzKHNvdXBNZXNzYWdlLCAmY2VydGlm
aWNhdGUsICZ0bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldFRMU0Vycm9ycyh0
bHNFcnJvcnMpOwotICAgIG1fY2VydGlmaWNhdGVJbmZvLnNldENlcnRpZmljYXRlKGNlcnRpZmlj
YXRlKTsKKyAgICBzb3VwX21lc3NhZ2VfZ2V0X2h0dHBzX3N0YXR1cyhzb3VwTWVzc2FnZSwgJmNl
cnRpZmljYXRlLCAmbV90bHNFcnJvcnMpOworICAgIG1fY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0
ZTsKIAogICAgIHVwZGF0ZUZyb21Tb3VwTWVzc2FnZUhlYWRlcnMoc291cE1lc3NhZ2UtPnJlc3Bv
bnNlX2hlYWRlcnMpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZpbGUu
bGlzdC5hbSBiL1NvdXJjZS9XZWJLaXQyL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNzA2ZmU5
OTBlYTFkNGU5NTc2Yzc2MWMyODcyYTA4NjE2YzYzNjc2NC4uMWUzMjBjOWU5Y2MwMzViYWFiMmMw
ZGRjZjQ0ZDY4NzhkMjU0ZThlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvR05VbWFrZWZp
bGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC00
ODEsNiArNDgxLDggQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvU2Vzc2lvblN0YXRlLmggXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0
YS5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9TdGF0aXN0aWNzRGF0YS5oIFwKKwlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5jcHAgXAorCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAogCVNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1NvdXBDb29raWVQZXJzaXN0ZW50U3RvcmFnZVR5cGUu
aCBcCiAJU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291
cC5jcHAgXAogCVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9UZXh0Q2hlY2tlclN0YXRlLmggXApAQCAt
MTM1MSw2ICsxMzUzLDggQEAgd2Via2l0Ml9wbHVnaW5fcHJvY2Vzc19zb3VyY2VzICs9IFwKIAlT
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCiAJU291cmNl
L1dlYktpdDIvU2hhcmVkL2NhaXJvL1NoYXJlYWJsZUJpdG1hcENhaXJvLmNwcCBcCisJU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwIFwKKwlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKIAlTb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvc291cC9XZWJDb3JlQXJndW1lbnRDb2RlcnNTb3VwLmNwcCBcCiAJ
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAog
CVNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9Bc3luY2hyb25vdXNOZXR3
b3JrTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5j
aHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCmluZGV4IDQ5NmQwNzVlZGUxMjhmYmZkOTli
NDE2MDkxODdhYTY0MGYxMzJkOGEuLjFiYWY1YjE5YWIyMDAzZTU0OGQwM2JjMmU2NTgyYjIyYTQz
ZWI3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL0FzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL0FzeW5jaHJvbm91c05ldHdvcmtMb2FkZXJDbGllbnQuY3BwCkBAIC0yOCwxMSArMjgs
MTAgQEAKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9h
ZGVyTWVzc2FnZXMuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3Vy
Y2VSZXNwb25zZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CiAjaW5jbHVk
ZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTY0LDcgKzYzLDcgQEAgdm9pZCBBc3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNw
YWNlKE5ldHcKIAogdm9pZCBBc3luY2hyb25vdXNOZXR3b3JrTG9hZGVyQ2xpZW50OjpkaWRSZWNl
aXZlUmVzcG9uc2UoTmV0d29ya1Jlc291cmNlTG9hZGVyKiBsb2FkZXIsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKQogewotICAgIGxvYWRlci0+c2VuZEFib3J0aW5nT25GYWlsdXJl
KE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6RGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhyZXNwb25zZSwgcmVzcG9uc2UuY2VydGlmaWNhdGVJbmZvKCksIGxvYWRlci0+
aXNMb2FkaW5nTWFpblJlc291cmNlKCkpKTsKKyAgICBsb2FkZXItPnNlbmRBYm9ydGluZ09uRmFp
bHVyZShNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6OkRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8ocmVzcG9uc2UsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc3BvbnNl
KSwgbG9hZGVyLT5pc0xvYWRpbmdNYWluUmVzb3VyY2UoKSkpOwogfQogCiB2b2lkIEFzeW5jaHJv
bm91c05ldHdvcmtMb2FkZXJDbGllbnQ6OmRpZFJlY2VpdmVCdWZmZXIoTmV0d29ya1Jlc291cmNl
TG9hZGVyKiBsb2FkZXIsIFNoYXJlZEJ1ZmZlciogYnVmZmVyLCBpbnQgZW5jb2RlZERhdGFMZW5n
dGgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApp
bmRleCBkNmYwZTBkZDBhZmJjN2ZmYjJlNjAxODdjYWM0ZTA2ZTgxZmE4N2IxLi4wMTI4MTc0YTM2
ODExYzFkY2QyNzJiZjAzY2VjMTA0MDVlZGQxMTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTM2LDggKzM2LDcgQEAKICNpbmNsdWRl
IDx3dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDZXJ0aWZpY2F0
ZUluZm87Ci1jbGFzcyBSdW5Mb29wOworICAgIGNsYXNzIFJ1bkxvb3A7CiB9CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewpAQCAtNDUsNiArNDQsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIEF1
dGhlbnRpY2F0aW9uTWFuYWdlcjsKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OwogY2xhc3MgTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50OworY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm87CiBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM7CiAKIGNs
YXNzIE5ldHdvcmtQcm9jZXNzIDogcHVibGljIENoaWxkUHJvY2VzcywgcHJpdmF0ZSBEb3dubG9h
ZE1hbmFnZXI6OkNsaWVudCB7CkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRvd25sb2FkUmVxdWVzdCh1aW50NjRfdCBkb3dubG9hZElELCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmKTsKICAgICB2b2lkIGNhbmNlbERvd25sb2FkKHVpbnQ2NF90IGRvd25sb2Fk
SUQpOwogICAgIHZvaWQgc2V0Q2FjaGVNb2RlbCh1aW50MzJfdCk7Ci0gICAgdm9pZCBhbGxvd1Nw
ZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZvckhvc3QoY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJ
bmZvJiwgY29uc3QgU3RyaW5nJiBob3N0KTsKKyAgICB2b2lkIGFsbG93U3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIGNvbnN0IFN0
cmluZyYgaG9zdCk7CiAgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc1N0YXRpc3RpY3ModWludDY0
X3QgY2FsbGJhY2tJRCk7CiAgICAgdm9pZCBjbGVhckNhY2hlRm9yQWxsT3JpZ2lucyh1aW50MzJf
dCBjYWNoZXNUb0NsZWFyKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgppbmRleCAzMmJjZTA1YjhjYjUwZTBl
NjIwN2E5YThhYzBkYzE3MDI0YzQ0NTZlLi5hNWZjYmM3YmU5NDAyODA3YzFlNTU2MmEzZWU2OWZm
NjA2OTg1ZGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtMzksNyArMzksNyBAQCBtZXNzYWdlcyAt
PiBOZXR3b3JrUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU2V0UHJvY2Vzc1N1cHByZXNz
aW9uRW5hYmxlZChib29sIGZsYWcpCiAjZW5kaWYKIAotICAgIEFsbG93U3BlY2lmaWNIVFRQU0Nl
cnRpZmljYXRlRm9ySG9zdChXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdU
Rjo6U3RyaW5nIGhvc3QpCisgICAgQWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0
KFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gY2VydGlmaWNhdGUsIFdURjo6U3RyaW5n
IGhvc3QpCiAgICAgCiAgICAgR2V0TmV0d29ya1Byb2Nlc3NTdGF0aXN0aWNzKHVpbnQ2NF90IGNh
bGxiYWNrSUQpCiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAyZjhhNDlmODgzYTE5ODNkMjczMDBh
NWE0Y2EyMDRhZmIwMzUxMTMxLi4xNjMwYTJiNDdhMTNmY2FmZjgxNzlhN2M0MGI0YjA5NWM2MzI2
MzhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250
ZXh0LmgiCiAjaW5jbHVkZSAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKICNpbmNsdWRlICJTaGFyZWRN
ZW1vcnkuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9O
ZXR3b3JrUHJvY2Vzc01hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9O
ZXR3b3JrUHJvY2Vzc01hYy5tbQppbmRleCBmNjRkMmZlNDc0MmVmNDM2MjNkNTBlOTQ2ODEzMDY0
YjFkM2U3NDVhLi5lMTk3ZmYzOTZmNzBhNzdhOTU2MmQzNWFiNTNkMmM0NDUzNWNjMDJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Byb2Nlc3NN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtQcm9j
ZXNzTWFjLm1tCkBAIC0zMCwxMyArMzAsMTMgQEAKIAogI2ltcG9ydCAiTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbXBvcnQgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgor
I2ltcG9ydCAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbXBvcnQgIlJlc291cmNlQ2Fj
aGVzVG9DbGVhci5oIgogI2ltcG9ydCAiU2FuZGJveEV4dGVuc2lvbi5oIgogI2ltcG9ydCAiU2Fu
ZGJveEluaXRpYWxpemF0aW9uUGFyYW1ldGVycy5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVz
LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9j
YWxpemVkU3RyaW5ncy5oPgotI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNp
bXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2ltcG9ydCA8bWFjaC9ob3N0X2luZm8u
aD4KICNpbXBvcnQgPG1hY2gvbWFjaC5oPgpAQCAtMTg1LDcgKzE4NSw3IEBAIHZvaWQgTmV0d29y
a1Byb2Nlc3M6OnBsYXRmb3JtU2V0Q2FjaGVNb2RlbChDYWNoZU1vZGVsIGNhY2hlTW9kZWwpCiAg
ICAgW25zdXJsQ2FjaGUgc2V0RGlza0NhcGFjaXR5OnN0ZDo6bWF4PHVuc2lnbmVkIGxvbmc+KHVy
bENhY2hlRGlza0NhcGFjaXR5LCBbbnN1cmxDYWNoZSBkaXNrQ2FwYWNpdHldKV07IC8vIERvbid0
IHNocmluayBhIGJpZyBkaXNrIGNhY2hlLCBzaW5jZSB0aGF0IHdvdWxkIGNhdXNlIGNodXJuLgog
fQogCi12b2lkIE5ldHdvcmtQcm9jZXNzOjphbGxvd1NwZWNpZmljSFRUUFNDZXJ0aWZpY2F0ZUZv
ckhvc3QoY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGNvbnN0IFN0cmlu
ZyYgaG9zdCkKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmlj
YXRlRm9ySG9zdChjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
LCBjb25zdCBTdHJpbmcmIGhvc3QpCiB7CiAgICAgW05TVVJMUmVxdWVzdCBzZXRBbGxvd3NTcGVj
aWZpY0hUVFBTQ2VydGlmaWNhdGU6KE5TQXJyYXkgKiljZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNh
dGVDaGFpbigpIGZvckhvc3Q6KE5TU3RyaW5nICopaG9zdF07CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybUVmbC5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtRWZs
LmNtYWtlCmluZGV4IDAwOGE4NTZmNTFjN2U0MmY5ZGZmMzViYjljMTgzMmY1OGE4NzljZmQuLjZj
ZWEyZTE1M2RjYzA4MjlkM2ExMGIwMDViMjA1NTRkYTRjOTQxOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
RWZsLmNtYWtlCkBAIC00Niw2ICs0Niw3IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwog
ICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsLmNwcAogICAgIFNoYXJlZC9s
aW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNwcAogCisgICAgU2hhcmVkL3NvdXAv
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9EZWZhdWx0VW5kb0NvbnRyb2xsZXIu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDQxZTU5NzFmN2VmMDE4ZTBjOTY5M2Zi
YTM0OTI4NjYxMzA2YTRhYmYuLmMwYmQwZmE0NGYxNDk5N2IxMzU4ODcxNDdkNGY0OTFkZTc1MDkx
MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC02MSw2ICs2MSw3IEBAIGxpc3QoQVBQ
RU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNj
YWxsLmNwcAogICAgIFNoYXJlZC9saW51eC9TZWNjb21wRmlsdGVycy9TeXNjYWxsUG9saWN5LmNw
cAogCisgICAgU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uY3BwCiAgICAgU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKIAogICAgIFVJUHJvY2Vzcy9E
ZWZhdWx0VW5kb0NvbnRyb2xsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvbWFjL1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL21hYy9XS0NlcnRpZmljYXRlSW5mb01hYy5tbQppbmRleCAzMmZhMjFmZTJlYmZm
MzZiMGEyMWE2OThhMDFhMGQzZmVlNmQxODM5Li4zNGRkNDMxNTE5YTM5OWEzZGQ4M2UwZTgyM2Y0
MzQ3NWMyZTNiZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvbWFj
L1dLQ2VydGlmaWNhdGVJbmZvTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9tYWMvV0tDZXJ0aWZpY2F0ZUluZm9NYWMubW0KQEAgLTI5LDE2ICsyOSwxNSBAQAogI2ltcG9y
dCAiV0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXZWJDZXJ0aWZpY2F0ZUluZm8uaCIKIAotdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCiBXS0NlcnRpZmlj
YXRlSW5mb1JlZiBXS0NlcnRpZmljYXRlSW5mb0NyZWF0ZVdpdGhDZXJ0ZmljYXRlQ2hhaW4oQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKQogewotICAgIFJlZlB0cjxXZWJDZXJ0aWZpY2F0ZUlu
Zm8+IGNlcnRpZmljYXRlSW5mbyA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKENlcnRpZmlj
YXRlSW5mbyhjZXJ0aWZpY2F0ZUNoYWluKSk7CisgICAgUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5m
bz4gY2VydGlmaWNhdGVJbmZvID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8oY2VydGlmaWNhdGVDaGFpbikpOwogICAgIHJldHVybiB0b0FQSShjZXJ0
aWZpY2F0ZUluZm8ucmVsZWFzZSgpLmxlYWtSZWYoKSk7CiB9CiAKIENGQXJyYXlSZWYgV0tDZXJ0
aWZpY2F0ZUluZm9HZXRDZXJ0aWZpY2F0ZUNoYWluKFdLQ2VydGlmaWNhdGVJbmZvUmVmIGNlcnRp
ZmljYXRlSW5mb1JlZikKIHsKLSAgICByZXR1cm4gdG9JbXBsKGNlcnRpZmljYXRlSW5mb1JlZikt
PmNlcnRpZmljYXRlSW5mbygpLmNlcnRpZmljYXRlQ2hhaW4oKTsKKyAgICByZXR1cm4gdG9JbXBs
KGNlcnRpZmljYXRlSW5mb1JlZiktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkuY2VydGlmaWNh
dGVDaGFpbigpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRp
Y2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAppbmRleCBlMmY0NTMyMjlj
YjdkYmRmZDMzYzNkNmM2YjYyYmEwMjZmYjcxNmMyLi43ZjdkY2EyZGQyZTQyODI1ZmE1ODE3YjFk
MmNmMGZjZTkxYjNmYjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmNwcApAQCAtOTgsMjAg
Kzk4LDIwIEBAIHZvaWQgQXV0aGVudGljYXRpb25NYW5hZ2VyOjpkaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqIGRvd25sb2FkCiAKIC8vIEN1cnJlbnRseSwgb25seSBN
YWMga25vd3MgaG93IHRvIHJlc3BvbmQgdG8gYXV0aGVudGljYXRpb24gY2hhbGxlbmdlcyB3aXRo
IGNlcnRpZmljYXRlIGluZm8uCiAjaWYgIVVTRShTRUNVUklUWV9GUkFNRVdPUkspCi1ib29sIEF1
dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlQ2VydGlmaWNhdGVJbmZvRm9yQ2hhbGxlbmdlKGNv
bnN0IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiwgY29uc3QgQ2VydGlmaWNhdGVJ
bmZvJikKK2Jvb2wgQXV0aGVudGljYXRpb25NYW5hZ2VyOjp0cnlVc2VQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSYsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKIHsKICAgICByZXR1cm4gZmFsc2U7
CiB9CiAjZW5kaWYKIAotdm9pZCBBdXRoZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxG
b3JDaGFsbGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRl
bnRpYWwsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBBdXRo
ZW50aWNhdGlvbk1hbmFnZXI6OnVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQsIGNvbnN0IENyZWRlbnRpYWwmIGNyZWRlbnRpYWwsIGNvbnN0IFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKIAogICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5nZSA9IG1fY2hhbGxl
bmdlcy50YWtlKGNoYWxsZW5nZUlEKTsKICAgICBBU1NFUlQoIWNoYWxsZW5nZS5pc051bGwoKSk7
CiAgICAgCi0gICAgaWYgKHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjaGFsbGVu
Z2UsIGNlcnRpZmljYXRlSW5mbykpCisgICAgaWYgKHRyeVVzZVBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvRm9yQ2hhbGxlbmdlKGNoYWxsZW5nZSwgY2VydGlmaWNhdGVJbmZvKSkKICAgICAgICAgcmV0
dXJuOwogICAgIAogICAgIEF1dGhlbnRpY2F0aW9uQ2xpZW50KiBjb3JlQ2xpZW50ID0gY2hhbGxl
bmdlLmF1dGhlbnRpY2F0aW9uQ2xpZW50KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5hZ2VyLmgKaW5kZXgg
ZGZlMWU2MWJiZDRmM2RmYmNmOWQxMzAwYmE1ODI5NzY1MDQ3NGQ2Ni4uNGM2ZjgxZTk1MzkwZmY3
MGQzODE4MmJkYzliNDI2YmE2ZTAxYTU5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIuaApAQCAt
MzYsMTMgKzM2LDEzIEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2U7CiAgICAgY2xhc3MgQ3JlZGVudGlhbDsKLSAgICBjbGFzcyBDZXJ0aWZp
Y2F0ZUluZm87CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBDaGlsZFByb2Nlc3M7
CiBjbGFzcyBEb3dubG9hZDsKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOwogY2xhc3Mg
V2ViRnJhbWU7CiAKIGNsYXNzIEF1dGhlbnRpY2F0aW9uTWFuYWdlciA6IHB1YmxpYyBXZWJQcm9j
ZXNzU3VwcGxlbWVudCwgcHVibGljIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudCwgcHVibGljIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CkBAIC01OSw3ICs1OSw3IEBAIHB1YmxpYzoKICAgICAv
LyBDYWxsZWQgZm9yIGRvd25sb2FkcyB3aXRoIG9yIHdpdGhvdXQgdGhlIE5ldHdvcmtQcm9jZXNz
CiAgICAgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoRG93bmxvYWQqLCBj
b25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCi0gICAgdm9pZCB1c2VD
cmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBXZWJDb3Jl
OjpDcmVkZW50aWFsJiwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvJik7CisgICAgdm9p
ZCB1c2VDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlELCBjb25zdCBX
ZWJDb3JlOjpDcmVkZW50aWFsJiwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKICAg
ICB2b2lkIGNvbnRpbnVlV2l0aG91dENyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3QgY2hh
bGxlbmdlSUQpOwogICAgIHZvaWQgY2FuY2VsQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5nZUlE
KTsKICAgICAKQEAgLTY5LDcgKzY5LDcgQEAgcHJpdmF0ZToKICAgICAvLyBDb3JlSVBDOjpNZXNz
YWdlUmVjZWl2ZXIKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoQ29yZUlQQzo6
Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJikgT1ZFUlJJREU7CiAKLSAgICBi
b29sIHRyeVVzZUNlcnRpZmljYXRlSW5mb0ZvckNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwor
ICAgIGJvb2wgdHJ5VXNlUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3Qg
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYpOwogCiAgICAgdWludDY0X3QgZXN0YWJsaXNoSWRlbnRpZmllckZvckNoYWxsZW5n
ZShjb25zdCBXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25NYW5h
Z2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhlbnRpY2F0aW9uL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tZXNzYWdlcy5pbgppbmRleCAzNGRiOWIyMDhiZjFmZDE3M2Q4
MWE0NmM3NmY4Zjg2NDZkZjNkNWZkLi5iYjFjYzMwY2E2YmM1OTFiZGVkZWQ0MWYwZjUxOTVlYzc2
Yzk2MWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24v
QXV0aGVudGljYXRpb25NYW5hZ2VyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9BdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWVzc2FnZXMuaW4KQEAg
LTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gQXV0aGVudGljYXRp
b25NYW5hZ2VyIHsKLSAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UodWludDY0X3Qg
Y2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlhbCwgV2ViQ29yZTo6Q2Vy
dGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlKTsKKyAgICB2b2lkIFVzZUNyZWRlbnRpYWxGb3JDaGFs
bGVuZ2UodWludDY0X3QgY2hhbGxlbmdlSUQsIFdlYkNvcmU6OkNyZWRlbnRpYWwgY3JlZGVudGlh
bCwgV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZSk7CiAgICAgdm9p
ZCBDb250aW51ZVdpdGhvdXRDcmVkZW50aWFsRm9yQ2hhbGxlbmdlKHVpbnQ2NF90IGNoYWxsZW5n
ZUlEKTsKICAgICB2b2lkIENhbmNlbENoYWxsZW5nZSh1aW50NjRfdCBjaGFsbGVuZ2VJRCk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVudGljYXRpb24vbWFjL0F1
dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQXV0aGVu
dGljYXRpb24vbWFjL0F1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0KaW5kZXggOGI2ZDcxMzQ5
NzhiMDU1MWEwZDQxMDJjY2RlNjYyZjc0MDAzNjg1OS4uYzBiOTJmMTJiNGVmMmQ0ODQyNWRkMmI3
ZmUzNDFlNzY5YzI3NjAxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0F1dGhl
bnRpY2F0aW9uL21hYy9BdXRoZW50aWNhdGlvbk1hbmFnZXIubWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9BdXRoZW50aWNhdGlvbi9tYWMvQXV0aGVudGljYXRpb25NYW5hZ2VyLm1h
Yy5tbQpAQCAtMjgsMTUgKzI4LDE1IEBACiAKICNpZiBVU0UoU0VDVVJJVFlfRlJBTUVXT1JLKQog
CisjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDxTZWN1cml0
eS9TZWNJZGVudGl0eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWJvb2wgQXV0aGVudGljYXRp
b25NYW5hZ2VyOjp0cnlVc2VDZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSwgY29uc3QgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0
aWZpY2F0ZUluZm8pCitib29sIEF1dGhlbnRpY2F0aW9uTWFuYWdlcjo6dHJ5VXNlUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm9Gb3JDaGFsbGVuZ2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2Um
IGNoYWxsZW5nZSwgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5m
bykKIHsKICAgICBDRkFycmF5UmVmIGNoYWluID0gY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRl
Q2hhaW4oKTsKICAgICBpZiAoIWNoYWluKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3Nh
Z2VDb2RlcnMuaAppbmRleCBkOWIxNDA5ZDg2ZjgxMjkyOWU5MTVlNTBkYThkZjAwMDJmYTRlMmQ5
Li4wMDIyZjMxMDU1ZTk0YzY4NTgwZmJhY2Q0NGRlMzZiMGY3ZDA0ZThiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaApAQCAtMjE1LDcgKzIxNSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5m
bzogewogICAgICAgICAgICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBz
dGF0aWNfY2FzdDxXZWJDZXJ0aWZpY2F0ZUluZm8qPihtX3Jvb3QpOwotICAgICAgICAgICAgZW5j
b2RlciA8PCBjZXJ0aWZpY2F0ZUluZm8tPmNlcnRpZmljYXRlSW5mbygpOworICAgICAgICAgICAg
ZW5jb2RlciA8PCBjZXJ0aWZpY2F0ZUluZm8tPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7CiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVj
dDo6VHlwZUVycm9yOiB7CkBAIC01MDQsMTAgKzUwNCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICBjYXNlIEFQSU9iamVjdDo6VHlwZUNlcnRpZmlj
YXRlSW5mbzogewotICAgICAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmlj
YXRlSW5mbzsKLSAgICAgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoY2VydGlmaWNhdGVJbmZv
KSkKKyAgICAgICAgICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvOworICAgICAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShwbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbykpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgY29k
ZXIubV9yb290ID0gV2ViQ2VydGlmaWNhdGVJbmZvOjpjcmVhdGUoY2VydGlmaWNhdGVJbmZvKTsK
KyAgICAgICAgICAgIGNvZGVyLm1fcm9vdCA9IFdlYkNlcnRpZmljYXRlSW5mbzo6Y3JlYXRlKHBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAg
ICAgICAgIGNhc2UgQVBJT2JqZWN0OjpUeXBlRXJyb3I6IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaAppbmRleCBjOGZiYWNjZDRiZjU5ZTQ2YTc3NTc2MThlMTUx
ZDU0NjVjNzYzOTUxLi4wNjE4MmZjZTJmYzZkNTk3ZTlmNWY4YzAzOTU3NzE5YTJhYTYyYWY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oCkBAIC0yNywyNyAr
MjcsMjcgQEAKICNkZWZpbmUgV2ViQ2VydGlmaWNhdGVJbmZvX2gKIAogI2luY2x1ZGUgIkFQSU9i
amVjdC5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CisjaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgog
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ2VydGlmaWNhdGVJbmZvIDogcHVibGlj
IFR5cGVkQVBJT2JqZWN0PEFQSU9iamVjdDo6VHlwZUNlcnRpZmljYXRlSW5mbz4gewogcHVibGlj
OgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkNlcnRpZmljYXRlSW5mbz4gY3JlYXRlKGNvbnN0
IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgaW5mbykKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxX
ZWJDZXJ0aWZpY2F0ZUluZm8+IGNyZWF0ZShjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYg
aW5mbykKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV2ViQ2VydGlmaWNhdGVJ
bmZvKGluZm8pKTsKICAgICB9CiAKLSAgICBjb25zdCBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlmaWNhdGVJbmZvOyB9Cisg
ICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIHBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsgfQogCiBwcml2YXRl
OgotICAgIGV4cGxpY2l0IFdlYkNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mIGluZm8pCi0gICAgICAgIDogbV9jZXJ0aWZpY2F0ZUluZm8oaW5mbykKKyAgICBl
eHBsaWNpdCBXZWJDZXJ0aWZpY2F0ZUluZm8oY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8m
IGluZm8pCisgICAgICAgIDogbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhpbmZvKQogICAgIHsK
ICAgICB9CiAKLSAgICBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8gbV9jZXJ0aWZpY2F0ZUluZm87
CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8gbV9wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCBmNzk0NzJiZWExMDU1MjA2MDg1NDM1ZjY3
ODIwODY5OTNiOTRjZTIxLi5jOTg3ZDI4ZmM2ZjZlNTVlOTZjYWM3ZTBlMDgwNWIwOTA2MmI3YThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cApAQCAtMjgsNyArMjgsNiBAQAogCiAjaW5jbHVkZSAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW5j
bHVkZSA8V2ViQ29yZS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Db29raWUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0NyZWRlbnRpYWwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0N1cnNvci5oPgpA
QCAtNDAsMTMgKzM5LDEzIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lt
YWdlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdp
bkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb3RlY3Rpb25TcGFjZS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1
ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9UZXh0Q2hlY2tlckNsaWVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9Vc2VyU2NyaXB0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyU3R5
bGVTaGVldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVmlld3BvcnRBcmd1bWVudHMuaD4KQEAgLTU0
OCwyMiArNTQ3LDYgQEAgYm9vbCBBcmd1bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNv
ZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBSZXNvdXJjZVIKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAotdm9pZCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmVuY29kZShBcmd1bWVu
dEVuY29kZXImIGVuY29kZXIsIGNvbnN0IENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZv
KQotewotICAgIGVuY29kZVBsYXRmb3JtRGF0YShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUluZm8pOwot
fQotCi1ib29sIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0g
ICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlOwotCi0gICAgaWYgKCFkZWNvZGVQbGF0Zm9y
bURhdGEoZGVjb2RlciwgY2VydGlmaWNhdGUpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICBjZXJ0aWZpY2F0ZUluZm8gPSBjZXJ0aWZpY2F0ZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQog
dm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGUoQXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQogewogICAgIGlm
IChrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuaAppbmRleCA3NzMzNjE2MjczYjhlYzg0ZTE4ZDMxNmE0
MzRhYmRkNjFhNDgzNzYzLi5hOTY1ZGU4NTUyMjdiMWYxNDMyM2RmODE3N2YyYjk5OTU5OTkzZDgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oCkBA
IC00NSw3ICs0NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBLZXlmcmFtZVZh
bHVlTGlzdDsKICAgICBjbGFzcyBVUkw7CiAgICAgY2xhc3MgTm90aWZpY2F0aW9uOwotICAgIGNs
YXNzIENlcnRpZmljYXRlSW5mbzsKICAgICBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiAgICAgY2xh
c3MgUmVzb3VyY2VFcnJvcjsKICAgICBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CkBAIC0xNzEsMTMg
KzE3MCw2IEBAIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50Q29kZXI8V2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZT4gewogICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVu
dERlY29kZXImLCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJik7CiB9OwogCi10ZW1wbGF0ZTw+
IHN0cnVjdCBBcmd1bWVudENvZGVyPFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbz4gewotICAgIHN0
YXRpYyB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImLCBjb25zdCBXZWJDb3JlOjpDZXJ0aWZp
Y2F0ZUluZm8mKTsKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiwgV2Vi
Q29yZTo6Q2VydGlmaWNhdGVJbmZvJik7Ci0gICAgc3RhdGljIHZvaWQgZW5jb2RlUGxhdGZvcm1E
YXRhKEFyZ3VtZW50RW5jb2RlciYsIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYpOwot
ICAgIHN0YXRpYyBib29sIGRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERlY29kZXImLCBXZWJD
b3JlOjpDZXJ0aWZpY2F0ZUluZm8mKTsKLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IEFyZ3VtZW50
Q29kZXI8V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gewogI2lmIFBMQVRGT1JNKE1BQykKICAgICBz
dGF0aWMgY29uc3QgYm9vbCBrU2hvdWxkU2VyaWFsaXplV2ViQ29yZURhdGEgPSBmYWxzZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8u
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi45ZWExYTJmMzMxNzlmMmQxNTQwZDQ5MWFkMDY4M2I5NTI0MGNjY2Q2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAor
CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgorCituYW1lc3BhY2UgQ29yZUlQQyB7CisgICAgY2xhc3MgQXJndW1lbnREZWNv
ZGVyOworICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbygpOworICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKTsKKyAgICBleHBsaWNpdCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhDRkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4pOworCisgICAgQ0ZB
cnJheVJlZiBjZXJ0aWZpY2F0ZUNoYWluKCkgY29uc3QgeyByZXR1cm4gbV9jZXJ0aWZpY2F0ZUNo
YWluLmdldCgpOyB9CisKKyAgICB2b2lkIGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIm
KSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVy
JiwgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mKTsKKworI2lmbmRlZiBOREVCVUcKKyAgICB2b2lk
IGR1bXAoKSBjb25zdDsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIFJldGFpblB0cjxDRkFycmF5
UmVmPiBtX2NlcnRpZmljYXRlQ2hhaW47Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW0gYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0
YTczNTQ1YzViZDE2OGY2YWE5MjZkOTc0NjMxOGU0YTZjYThlMDIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLm1tCkBA
IC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQg
IlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCisKKyNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0Yu
aCIKKyNpbXBvcnQgIkFyZ3VtZW50RGVjb2Rlci5oIgorI2ltcG9ydCAiQXJndW1lbnRFbmNvZGVy
LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKK3sKK30K
KworUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQorICAgIDogbV9jZXJ0aWZpY2F0ZUNoYWluKHJl
c3BvbnNlLmNlcnRpZmljYXRlQ2hhaW4oKSkKK3sKK30KKworUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKENGQXJyYXlSZWYgY2VydGlmaWNhdGVDaGFpbikK
KyAgICA6IG1fY2VydGlmaWNhdGVDaGFpbihjZXJ0aWZpY2F0ZUNoYWluKQoreworfQorCit2b2lk
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAoreworICAgIGlmICghbV9jZXJ0aWZpY2F0ZUNoYWluKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBlbmNv
ZGVyIDw8IHRydWU7CisgICAgQ29yZUlQQzo6ZW5jb2RlKGVuY29kZXIsIG1fY2VydGlmaWNhdGVD
aGFpbi5nZXQoKSk7Cit9CisKK2Jvb2wgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
JiBjKQoreworICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKGhhc0NlcnRpZmljYXRlQ2hhaW4pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICBpZiAoIWhhc0NlcnRpZmljYXRlQ2hhaW4pCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
aWYgKCFDb3JlSVBDOjpkZWNvZGUoZGVjb2RlciwgYy5tX2NlcnRpZmljYXRlQ2hhaW4pKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2lmbmRlZiBOREVC
VUcKK3ZvaWQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmR1bXAoKSBjb25zdAoreworICAgIHVu
c2lnbmVkIGVudHJpZXMgPSBtX2NlcnRpZmljYXRlQ2hhaW4gPyBDRkFycmF5R2V0Q291bnQobV9j
ZXJ0aWZpY2F0ZUNoYWluLmdldCgpKSA6IDA7CisKKyAgICBOU0xvZyhAIlBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvXG4iKTsKKyAgICBOU0xvZyhAIiAgRW50cmllczogJWRcbiIsIGVudHJpZXMpOwor
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBlbnRyaWVzOyArK2kpIHsKKyAgICAgICAgUmV0
YWluUHRyPENGU3RyaW5nUmVmPiBzdW1tYXJ5ID0gYWRvcHRDRihTZWNDZXJ0aWZpY2F0ZUNvcHlT
dWJqZWN0U3VtbWFyeSgoU2VjQ2VydGlmaWNhdGVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleCht
X2NlcnRpZmljYXRlQ2hhaW4uZ2V0KCksIGkpKSk7CisgICAgICAgIE5TTG9nKEAiICAlQCIsIChO
U1N0cmluZyAqKXN1bW1hcnkuZ2V0KCkpOworICAgIH0KK30KKyNlbmRpZgorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzTWFjLm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3Jl
QXJndW1lbnRDb2RlcnNNYWMubW0KaW5kZXggOTAyNjYwOWZmOGZmMzYxOTM5YzQxMzExMzAyZTNm
ZTRiOGM3ZTFmYi4uYzEyNjAwMDNlYTE0ZjU2NTI1MGZlMGVjMGEyODMwMTVhMzhmNmU0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2RlcnNN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNNYWMubW0KQEAgLTEsNiArMSw1IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxMyBDb21wYW55
IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTI4LDE0ICsyNywxNCBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJz
LmgiCiAKICNpbXBvcnQgIkFyZ3VtZW50Q29kZXJzQ0YuaCIKKyNpbXBvcnQgIlBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvLmgiCiAjaW1wb3J0ICJXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBv
cnQgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgotI2ltcG9ydCA8V2ViQ29yZS9DZXJ0aWZpY2F0
ZUluZm8uaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KLSNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXNwb25z
ZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7
CiAKIG5hbWVzcGFjZSBDb3JlSVBDIHsKIApAQCAtMTMzLDM3ICsxMzIsNiBAQCBib29sIEFyZ3Vt
ZW50Q29kZXI8UmVzb3VyY2VSZXNwb25zZT46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERl
Y29kZXImIGRlY29kZQogICAgIHJldHVybiB0cnVlOwogfQogCi0KLXZvaWQgQXJndW1lbnRDb2Rl
cjxDZXJ0aWZpY2F0ZUluZm8+OjplbmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBl
bmNvZGVyLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKLXsKLSAgICBD
RkFycmF5UmVmIGNlcnRpZmljYXRlQ2hhaW4gPSBjZXJ0aWZpY2F0ZUluZm8uY2VydGlmaWNhdGVD
aGFpbigpOwotICAgIGlmICghY2VydGlmaWNhdGVDaGFpbikgewotICAgICAgICBlbmNvZGVyIDw8
IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwot
ICAgIENvcmVJUEM6OmVuY29kZShlbmNvZGVyLCBjZXJ0aWZpY2F0ZUNoYWluKTsKLX0KLQotYm9v
bCBBcmd1bWVudENvZGVyPENlcnRpZmljYXRlSW5mbz46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIENlcnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQot
ewotICAgIGJvb2wgaGFzQ2VydGlmaWNhdGVDaGFpbjsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGhhc0NlcnRpZmljYXRlQ2hhaW4pKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBpZiAo
IWhhc0NlcnRpZmljYXRlQ2hhaW4pCi0gICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgUmV0YWlu
UHRyPENGQXJyYXlSZWY+IGNlcnRpZmljYXRlQ2hhaW47Ci0gICAgaWYgKCFDb3JlSVBDOjpkZWNv
ZGUoZGVjb2RlciwgY2VydGlmaWNhdGVDaGFpbikpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQot
ICAgIGNlcnRpZmljYXRlSW5mby5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmljYXRlQ2hhaW4u
Z2V0KCkpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHN0YXRpYyBOU1N0cmluZyogbnNTdHJp
bmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgcmV0dXJuIHN0cmluZy5pbXBsKCkgPyBb
TlNTdHJpbmcgc3RyaW5nV2l0aENoYXJhY3RlcnM6cmVpbnRlcnByZXRfY2FzdDxjb25zdCBVbmlD
aGFyKj4oc3RyaW5nLmNoYXJhY3RlcnMoKSkgbGVuZ3RoOnN0cmluZy5sZW5ndGgoKV0gOiBAIiI7
CkBAIC0yMDAsNyArMTY4LDcgQEAgdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+Ojpl
bmNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLAogCiAgICAgaWQgcGVl
ckNlcnRpZmljYXRlQ2hhaW4gPSBbdXNlckluZm8gb2JqZWN0Rm9yS2V5OkAiTlNFcnJvclBlZXJD
ZXJ0aWZpY2F0ZUNoYWluS2V5Il07CiAgICAgQVNTRVJUKCFwZWVyQ2VydGlmaWNhdGVDaGFpbiB8
fCBbcGVlckNlcnRpZmljYXRlQ2hhaW4gaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKTsK
LSAgICBlbmNvZGVyIDw8IENlcnRpZmljYXRlSW5mbygoQ0ZBcnJheVJlZilwZWVyQ2VydGlmaWNh
dGVDaGFpbik7CisgICAgZW5jb2RlciA8PCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygoQ0ZBcnJh
eVJlZilwZWVyQ2VydGlmaWNhdGVDaGFpbik7CiB9CiAKIGJvb2wgQXJndW1lbnRDb2RlcjxSZXNv
dXJjZUVycm9yPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVjb2RlciYgZGVjb2Rlciwg
UmVzb3VyY2VFcnJvciYgcmVzb3VyY2VFcnJvcikKQEAgLTIyNiw3ICsxOTQsNyBAQCBib29sIEFy
Z3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0YShBcmd1bWVudERl
Y29kZXImIGRlY29kZXIsCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShzdHJpbmdVc2VySW5mb01h
cCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIENlcnRpZmljYXRlSW5mbyBjZXJ0aWZp
Y2F0ZTsKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZTsKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGNlcnRpZmljYXRlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvc291cC9QbGF0Zm9ybUNlcnRpZmljYXRl
SW5mby5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY5MDRiNGFlNmU1YjUzMmIwMzlkZDVjZmRhNmU3ZWViYTY3
MTRlYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmNwcApAQCAtMCwwICsxLDExMCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKKworI2luY2x1ZGUgIkFyZ3VtZW50
RGVjb2Rlci5oIgorI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2luY2x1ZGUgIkRhdGFS
ZWZlcmVuY2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4K
KwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIDogbV90
bHNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rsc0NlcnRpZmljYXRlRmxhZ3M+KDApKQoreworfQorCitQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCisgICAgOiBtX2NlcnRpZmljYXRlKHJlc3BvbnNlLnNv
dXBNZXNzYWdlQ2VydGlmaWNhdGUoKSkKKyAgICAsIG1fdGxzRXJyb3JzKHJlc3BvbnNlLnNvdXBN
ZXNzYWdlVExTRXJyb3JzKCkpCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVycm9yKQor
ICAgIDogbV9jZXJ0aWZpY2F0ZShyZXNvdXJjZUVycm9yLmNlcnRpZmljYXRlKCkpCisgICAgLCBt
X3Rsc0Vycm9ycyhzdGF0aWNfY2FzdDxHVGxzQ2VydGlmaWNhdGVGbGFncz4ocmVzb3VyY2VFcnJv
ci50bHNFcnJvcnMoKSkpCit7Cit9CisKK1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjp+UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8oKQoreworfQorCit2b2lkIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
OjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGlmICghbV9jZXJ0aWZpY2F0ZSkgeworICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsK
KyAgICBnX29iamVjdF9nZXQoR19PQkpFQ1QobV9jZXJ0aWZpY2F0ZS5nZXQoKSksICJjZXJ0aWZp
Y2F0ZSIsICZjZXJ0aWZpY2F0ZURhdGEsIE5VTEwpOworICAgIGlmICghY2VydGlmaWNhdGVEYXRh
KSB7CisgICAgICAgIGVuY29kZXIgPDwgZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBlbmNvZGVyIDw8IHRydWU7CisgICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0
ZSA9IGFkb3B0R1JlZihjZXJ0aWZpY2F0ZURhdGEpOworICAgIGVuY29kZXIuZW5jb2RlVmFyaWFi
bGVMZW5ndGhCeXRlQXJyYXkoQ29yZUlQQzo6RGF0YVJlZmVyZW5jZShjZXJ0aWZpY2F0ZS0+ZGF0
YSwgY2VydGlmaWNhdGUtPmxlbikpOworICAgIGVuY29kZXIgPDwgc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KG1fdGxzRXJyb3JzKTsKK30KKworYm9vbCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8mIGNlcnRpZmljYXRlSW5mbykKK3sKKyAgICBib29sIGhhc0NlcnRpZmljYXRlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUoaGFzQ2VydGlmaWNhdGUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICBpZiAoIWhhc0NlcnRpZmljYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwor
ICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGVWYXJpYWJsZUxlbmd0aEJ5dGVBcnJheShjZXJ0aWZpY2F0ZURh
dGFSZWZlcmVuY2UpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBHQnl0ZUFycmF5KiBj
ZXJ0aWZpY2F0ZURhdGEgPSBnX2J5dGVfYXJyYXlfc2l6ZWRfbmV3KGNlcnRpZmljYXRlRGF0YVJl
ZmVyZW5jZS5zaXplKCkpOworICAgIGNlcnRpZmljYXRlRGF0YSA9IGdfYnl0ZV9hcnJheV9hcHBl
bmQoY2VydGlmaWNhdGVEYXRhLCBjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2UuZGF0YSgpLCBjZXJ0
aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKKyAgICBHUmVmUHRyPEdCeXRlQXJyYXk+IGNl
cnRpZmljYXRlID0gYWRvcHRHUmVmKGNlcnRpZmljYXRlRGF0YSk7CisKKyAgICBHVGxzQmFja2Vu
ZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRfZ2V0X2RlZmF1bHQoKTsKKyAgICBjZXJ0aWZpY2F0
ZUluZm8ubV9jZXJ0aWZpY2F0ZSA9IGFkb3B0R1JlZihHX1RMU19DRVJUSUZJQ0FURShnX2luaXRh
YmxlX25ldyhnX3Rsc19iYWNrZW5kX2dldF9jZXJ0aWZpY2F0ZV90eXBlKGJhY2tlbmQpLCAwLCAw
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZSIsIGNlcnRpZmljYXRlLmdldCgp
LCBOVUxMKSkpOworCisgICAgdWludDMyX3QgdGxzRXJyb3JzOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUodGxzRXJyb3JzKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGNlcnRpZmljYXRl
SW5mby5tX3Rsc0Vycm9ycyA9IHN0YXRpY19jYXN0PEdUbHNDZXJ0aWZpY2F0ZUZsYWdzPih0bHNF
cnJvcnMpOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL3NvdXAvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOGMyMzFmMzZkYjMyZjhkOGI0MDI2N2I2ZGI0NWMxNDdmNjFjMDU1
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9zb3VwL1BsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorI2RlZmluZSBQ
bGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisKKyNpbmNsdWRlIDxsaWJzb3VwL3NvdXAuaD4KKyNp
bmNsdWRlIDx3dGYvZ29iamVjdC9HUmVmUHRyLmg+CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKK2Ns
YXNzIEFyZ3VtZW50RGVjb2RlcjsKK2NsYXNzIEFyZ3VtZW50RW5jb2RlcjsKK30KKworbmFtZXNw
YWNlIFdlYkNvcmUgeworY2xhc3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9u
c2U7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbyB7CitwdWJsaWM6CisgICAgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICBleHBs
aWNpdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJik7CisgICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYpOworICAgIH5QbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpOworCisg
ICAgR1Rsc0NlcnRpZmljYXRlKiBjZXJ0aWZpY2F0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2VydGlm
aWNhdGUuZ2V0KCk7IH0KKyAgICBHVGxzQ2VydGlmaWNhdGVGbGFncyB0bHNFcnJvcnMoKSBjb25z
dCB7IHJldHVybiBtX3Rsc0Vycm9yczsgfQorCisgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJn
dW1lbnRFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciYsIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CisKK3ByaXZhdGU6Cisg
ICAgR1JlZlB0cjxHVGxzQ2VydGlmaWNhdGU+IG1fY2VydGlmaWNhdGU7CisgICAgR1Rsc0NlcnRp
ZmljYXRlRmxhZ3MgbV90bHNFcnJvcnM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9zb3VwL1dlYkNvcmVBcmd1bWVudENvZGVyc1NvdXAuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKaW5kZXgg
NzYxN2IzNmViNjQwMjk3OGNhZTMwY2Y0MWU2NDViNTMwMzY3YmY2YS4uZGM0ZTExOTE3NTdlY2Ux
NzVhZDQ4NWE3YWE3MjI1MmZhZmFlODg0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL3NvdXAvV2ViQ29yZUFyZ3VtZW50Q29kZXJzU291cC5jcHAKQEAgLTEsNyArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAx
MyBDb21wYW55IDEwMCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE2ICsyNSwxNiBAQAogICovCiAKICNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmgiCiAKLSNpbmNsdWRlIDxXZWJDb3JlL0NlcnRpZmljYXRlSW5mby5oPgorI2lu
Y2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNv
dXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3Ry
aW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKIAogbmFtZXNwYWNlIENvcmVJUEMgewogCkBAIC02OSw2OSArNjgsMTkgQEAgYm9vbCBBcmd1
bWVudENvZGVyPFJlc291cmNlUmVzcG9uc2U+OjpkZWNvZGVQbGF0Zm9ybURhdGEoQXJndW1lbnRE
ZWNvZGVyJiBkZWNvZGUKIH0KIAogCi12b2lkIEFyZ3VtZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZv
Pjo6ZW5jb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlciwgY29uc3QgQ2Vy
dGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0gICAgaWYgKCFjZXJ0aWZpY2F0ZUlu
Zm8uY2VydGlmaWNhdGUoKSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gMDsKLSAg
ICBnX29iamVjdF9nZXQoR19PQkpFQ1QoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpLCAi
Y2VydGlmaWNhdGUiLCAmY2VydGlmaWNhdGVEYXRhLCBOVUxMKTsKLSAgICBpZiAoIWNlcnRpZmlj
YXRlRGF0YSkgewotICAgICAgICBlbmNvZGVyIDw8IGZhbHNlOwotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgZW5jb2RlciA8PCB0cnVlOwotICAgIEdSZWZQdHI8R0J5dGVBcnJheT4gY2Vy
dGlmaWNhdGUgPSBhZG9wdEdSZWYoY2VydGlmaWNhdGVEYXRhKTsKLSAgICBlbmNvZGVyLmVuY29k
ZVZhcmlhYmxlTGVuZ3RoQnl0ZUFycmF5KENvcmVJUEM6OkRhdGFSZWZlcmVuY2UoY2VydGlmaWNh
dGUtPmRhdGEsIGNlcnRpZmljYXRlLT5sZW4pKTsKLSAgICBlbmNvZGVyIDw8IHN0YXRpY19jYXN0
PHVpbnQzMl90PihjZXJ0aWZpY2F0ZUluZm8udGxzRXJyb3JzKCkpOwotfQotCi1ib29sIEFyZ3Vt
ZW50Q29kZXI8Q2VydGlmaWNhdGVJbmZvPjo6ZGVjb2RlUGxhdGZvcm1EYXRhKEFyZ3VtZW50RGVj
b2RlciYgZGVjb2RlciwgQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCi17Ci0gICAg
Ym9vbCBoYXNDZXJ0aWZpY2F0ZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGhhc0NlcnRpZmlj
YXRlKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgaWYgKCFoYXNDZXJ0aWZpY2F0ZSkK
LSAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICBDb3JlSVBDOjpEYXRhUmVmZXJlbmNlIGNlcnRp
ZmljYXRlRGF0YVJlZmVyZW5jZTsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlVmFyaWFibGVMZW5n
dGhCeXRlQXJyYXkoY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlKSkKLSAgICAgICAgcmV0dXJuIGZh
bHNlOwotCi0gICAgR0J5dGVBcnJheSogY2VydGlmaWNhdGVEYXRhID0gZ19ieXRlX2FycmF5X3Np
emVkX25ldyhjZXJ0aWZpY2F0ZURhdGFSZWZlcmVuY2Uuc2l6ZSgpKTsKLSAgICBjZXJ0aWZpY2F0
ZURhdGEgPSBnX2J5dGVfYXJyYXlfYXBwZW5kKGNlcnRpZmljYXRlRGF0YSwgY2VydGlmaWNhdGVE
YXRhUmVmZXJlbmNlLmRhdGEoKSwgY2VydGlmaWNhdGVEYXRhUmVmZXJlbmNlLnNpemUoKSk7Ci0g
ICAgR1JlZlB0cjxHQnl0ZUFycmF5PiBjZXJ0aWZpY2F0ZUJ5dGVzID0gYWRvcHRHUmVmKGNlcnRp
ZmljYXRlRGF0YSk7Ci0KLSAgICBHVGxzQmFja2VuZCogYmFja2VuZCA9IGdfdGxzX2JhY2tlbmRf
Z2V0X2RlZmF1bHQoKTsKLSAgICBHUmVmUHRyPEdUbHNDZXJ0aWZpY2F0ZT4gY2VydGlmaWNhdGUg
PSBhZG9wdEdSZWYoR19UTFNfQ0VSVElGSUNBVEUoZ19pbml0YWJsZV9uZXcoZ190bHNfYmFja2Vu
ZF9nZXRfY2VydGlmaWNhdGVfdHlwZShiYWNrZW5kKSwgMCwgMCwKLSAgICAgICAgImNlcnRpZmlj
YXRlIiwgY2VydGlmaWNhdGVCeXRlcy5nZXQoKSwgMCkpKTsKLSAgICBjZXJ0aWZpY2F0ZUluZm8u
c2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGUuZ2V0KCkpOwotCi0gICAgdWludDMyX3QgdGxzRXJy
b3JzOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUodGxzRXJyb3JzKSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIGNlcnRpZmljYXRlSW5mby5zZXRUTFNFcnJvcnMoc3RhdGljX2Nhc3Q8R1Rs
c0NlcnRpZmljYXRlRmxhZ3M+KHRsc0Vycm9ycykpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LQogdm9pZCBBcmd1bWVudENvZGVyPFJlc291cmNlRXJyb3I+OjplbmNvZGVQbGF0Zm9ybURhdGEo
QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBSZXNvdXJjZUVycm9yJiByZXNvdXJjZUVy
cm9yKQogewotICAgIGVuY29kZXIgPDwgcmVzb3VyY2VFcnJvci5jZXJ0aWZpY2F0ZUluZm8oKTsK
KyAgICBlbmNvZGVyIDw8IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKHJlc291cmNlRXJyb3IpOwog
fQogCiBib29sIEFyZ3VtZW50Q29kZXI8UmVzb3VyY2VFcnJvcj46OmRlY29kZVBsYXRmb3JtRGF0
YShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFJlc291cmNlRXJyb3ImIHJlc291cmNlRXJyb3Ip
CiB7Ci0gICAgQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbzsKKyAgICBQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm87CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShj
ZXJ0aWZpY2F0ZUluZm8pKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICByZXNvdXJjZUVy
cm9yLnNldENlcnRpZmljYXRlSW5mbyhjZXJ0aWZpY2F0ZUluZm8pOworICAgIHJlc291cmNlRXJy
b3Iuc2V0Q2VydGlmaWNhdGUoY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlKCkpOworICAgIHJl
c291cmNlRXJyb3Iuc2V0VExTRXJyb3JzKGNlcnRpZmljYXRlSW5mby50bHNFcnJvcnMoKSk7CiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYlZpZXcuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlldy5jcHAKaW5kZXggOTAyMDEyZmQyMWMxNjcwYzAwMTk5MTlkZGMw
MmYzODJhYzIyMjViNi4uNDQ2MjllY2ZmZGE2MjUzNmQ4OGFmMWNmNTgzMTYxOTU2N2FkOTUxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmll
dy5jcHAKQEAgLTIyLDYgKzIyLDcgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3LmgiCiAKICNp
bmNsdWRlICJJbWFnZU9wdGlvbnMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIgogI2luY2x1ZGUgIldlYkNlcnRpZmljYXRlSW5mby5oIgogI2luY2x1ZGUgIldlYkNvbnRl
eHRNZW51SXRlbS5oIgogI2luY2x1ZGUgIldlYkNvbnRleHRNZW51SXRlbURhdGEuaCIKQEAgLTU4
LDcgKzU5LDYgQEAKICNpbmNsdWRlICJXZWJLaXRXZWJWaWV3UHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdFdpbmRvd1Byb3BlcnRpZXNQcml2YXRlLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvQVBJQ2FzdC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9EcmFnSWNvbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR093blB0ckd0ay5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvR3RrVXRpbGl0aWVzLmg+CkBAIC0yOTg3LDcgKzI5ODcsNyBA
QCBnYm9vbGVhbiB3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIEdUbHNDZXJ0aWZpY2F0ZSoqCiAgICAgaWYgKCFtYWluRnJhbWUpCiAgICAgICAgIHJl
dHVybiBGQUxTRTsKIAotICAgIGNvbnN0IFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyYgY2VydGlm
aWNhdGVJbmZvID0gbWFpbkZyYW1lLT5jZXJ0aWZpY2F0ZUluZm8oKS0+Y2VydGlmaWNhdGVJbmZv
KCk7CisgICAgY29uc3QgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbyA9
IG1haW5GcmFtZS0+Y2VydGlmaWNhdGVJbmZvKCktPnBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCk7
CiAgICAgaWYgKGNlcnRpZmljYXRlKQogICAgICAgICAqY2VydGlmaWNhdGUgPSBjZXJ0aWZpY2F0
ZUluZm8uY2VydGlmaWNhdGUoKTsKICAgICBpZiAoZXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dGhlbnRpY2F0aW9uL0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuY3BwCmluZGV4IGQ1NTczZGFjYTgzMmRkZWVlNDYxY2Yx
YjMxMWYyMTdmYzMyODA2ZTcuLjlmNjQ4ODVhZTg4NDg0ZGM3NDE1MTU3MjlmNTU0YjlmNTI2YTVk
ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbi9B
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eS5jcHAKQEAg
LTY2LDcgKzY2LDcgQEAgdm9pZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Ojp1c2VDcmVk
ZW50aWFsKFdlYkNyZWRlbnRpYWwqIGNyZWRlbnRpYWwpCiAgICAgICAgIG1fY29ubmVjdGlvbi0+
c2VuZChNZXNzYWdlczo6QXV0aGVudGljYXRpb25NYW5hZ2VyOjpDb250aW51ZVdpdGhvdXRDcmVk
ZW50aWFsRm9yQ2hhbGxlbmdlKG1fY2hhbGxlbmdlSUQpLCAwKTsKICAgICBlbHNlIHsKICAgICAg
ICAgV2ViQ2VydGlmaWNhdGVJbmZvKiBjZXJ0aWZpY2F0ZUluZm8gPSBjcmVkZW50aWFsLT5jZXJ0
aWZpY2F0ZUluZm8oKTsKLSAgICAgICAgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIHBsYXRmb3Jt
SW5mbyA9IGNlcnRpZmljYXRlSW5mbyA/IGNlcnRpZmljYXRlSW5mby0+Y2VydGlmaWNhdGVJbmZv
KCkgOiBXZWJDb3JlOjpDZXJ0aWZpY2F0ZUluZm8oKTsKKyAgICAgICAgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8gcGxhdGZvcm1JbmZvID0gY2VydGlmaWNhdGVJbmZvID8gY2VydGlmaWNhdGVJbmZv
LT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpIDogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oKTsK
ICAgICAgICAgbV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpBdXRoZW50aWNhdGlvbk1hbmFn
ZXI6OlVzZUNyZWRlbnRpYWxGb3JDaGFsbGVuZ2UobV9jaGFsbGVuZ2VJRCwgY3JlZGVudGlhbC0+
Y29yZSgpLCBwbGF0Zm9ybUluZm8pLCAwKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcAppbmRleCA5NWQzYmM3ZThjMmUzYzJiMmI0ZmY5M2FlYTg5N2ZjNTY1
ZDIxZmEyLi5jNjgxYjkwM2U0MjVlNDQ5NjE4OTEwZTJmMzhhMjk1NGM5N2Q0MjhiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCkBAIC0xMDY3LDcgKzEwNjcsNyBAQCB2
b2lkIFdlYkNvbnRleHQ6OmFsbG93U3BlY2lmaWNIVFRQU0NlcnRpZmljYXRlRm9ySG9zdChjb25z
dCBXZWJDZXJ0aWZpY2F0ZUluZm8qCiB7CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKICAg
ICBpZiAobV91c2VzTmV0d29ya1Byb2Nlc3MgJiYgbV9uZXR3b3JrUHJvY2VzcykgewotICAgICAg
ICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWxsb3dT
cGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNlcnRpZmljYXRlLT5jZXJ0aWZpY2F0ZUlu
Zm8oKSwgaG9zdCksIDApOworICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpOZXR3b3JrUHJvY2Vzczo6QWxsb3dTcGVjaWZpY0hUVFBTQ2VydGlmaWNhdGVGb3JIb3N0KGNl
cnRpZmljYXRlLT5wbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpLCBob3N0KSwgMCk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuY3BwCmluZGV4IGMyOWUwMzVlZTM3OWI4MDFmNTc0MzY2ZjE4ZjZlNTFlZjM3NDE4MDku
LmE1NzA4N2MxZmQ0YzhkYWMyMDIyMzA3YWQ0NWI2YTE1ODllYWQyZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lk
IFdlYkZyYW1lUHJveHk6OmRpZEZhaWxQcm92aXNpb25hbExvYWQoKQogICAgIG1fdW5yZWFjaGFi
bGVVUkwgPSBtX2xhc3RVbnJlYWNoYWJsZVVSTDsKIH0KIAotdm9pZCBXZWJGcmFtZVByb3h5Ojpk
aWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFdlYkNvcmU6OkNl
cnRpZmljYXRlSW5mbyYgY2VydGlmaWNhdGVJbmZvKQordm9pZCBXZWJGcmFtZVByb3h5OjpkaWRD
b21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVudFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlm
aWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8pCiB7CiAgICAgQVNTRVJUKG1fbG9hZFN0YXRlID09
IExvYWRTdGF0ZVByb3Zpc2lvbmFsKTsKICAgICBtX2xvYWRTdGF0ZSA9IExvYWRTdGF0ZUNvbW1p
dHRlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5
LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oCmluZGV4IDQ5NWYz
NDY3MjE1MWVlOTY5YmM4OWNlYWQ3ZjcxYjUxNGUzZDA0YmUuLjBiZWU2NjZmZmZkNGFmMmQxMWI1
ZmM3ZGFkMjc0OGEyNjk2YjZhZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1l
UHJveHkuaApAQCAtNDAsMTQgKzQwLDEwIEBAIG5hbWVzcGFjZSBDb3JlSVBDIHsKICAgICBjbGFz
cyBDb25uZWN0aW9uOwogfQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDZXJ0aWZpY2F0
ZUluZm87Ci19Ci0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBJbW11dGFibGVBcnJheTsK
LQorY2xhc3MgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm87CiBjbGFzcyBXZWJDZXJ0aWZpY2F0ZUlu
Zm87CiBjbGFzcyBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHk7CiBjbGFzcyBXZWJGcmFt
ZVBvbGljeUxpc3RlbmVyUHJveHk7CkBAIC0xMTAsNyArMTA2LDcgQEAgcHVibGljOgogICAgIHZv
aWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWQoY29uc3QgU3RyaW5nJiB1cmwpOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZVNlcnZlclJlZGlyZWN0Rm9yUHJvdmlzaW9uYWxMb2FkKGNvbnN0IFN0cmluZyYg
dXJsKTsKICAgICB2b2lkIGRpZEZhaWxQcm92aXNpb25hbExvYWQoKTsKLSAgICB2b2lkIGRpZENv
bW1pdExvYWQoY29uc3QgU3RyaW5nJiBjb250ZW50VHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlm
aWNhdGVJbmZvJik7CisgICAgdm9pZCBkaWRDb21taXRMb2FkKGNvbnN0IFN0cmluZyYgY29udGVu
dFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJik7CiAgICAgdm9pZCBkaWRGaW5p
c2hMb2FkKCk7CiAgICAgdm9pZCBkaWRGYWlsTG9hZCgpOwogICAgIHZvaWQgZGlkU2FtZURvY3Vt
ZW50TmF2aWdhdGlvbihjb25zdCBTdHJpbmcmKTsgLy8gZWcuIGFuY2hvciBuYXZpZ2F0aW9uLCBz
ZXNzaW9uIHN0YXRlIGNoYW5nZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKaW5kZXggMmYyMGNjNTNmNmU1NTMzZGJmOWI5Yzc4NjIwMTkwNmFhYzBkYjdkNC4uYTc0
M2VjNjk1NzY0YjM4NTlhZTVkZTJhNWRiNDkzNzQ5NzQ2ZmY1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIxOTAsNyArMjE5MCw3IEBAIHZvaWQgV2Vi
UGFnZVByb3h5OjpjbGVhckxvYWREZXBlbmRlbnRDYWxsYmFja3MoKQogICAgIH0KIH0KIAotdm9p
ZCBXZWJQYWdlUHJveHk6OmRpZENvbW1pdExvYWRGb3JGcmFtZSh1aW50NjRfdCBmcmFtZUlELCBj
b25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBvcGFxdWVGcmFtZUxvYWRUeXBlLCBjb25z
dCBDZXJ0aWZpY2F0ZUluZm8mIGNlcnRpZmljYXRlSW5mbywgQ29yZUlQQzo6TWVzc2FnZURlY29k
ZXImIGRlY29kZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkQ29tbWl0TG9hZEZvckZyYW1lKHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIHVpbnQzMl90IG9wYXF1ZUZy
YW1lTG9hZFR5cGUsIGNvbnN0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUlu
Zm8sIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIFJlZlB0cjxBUElP
YmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRleHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2Fn
ZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmgKaW5kZXggZTgyYWExNmEwZDM0NDcyOWM2MTZmY2JiZjBhMjE5Njgy
ZTA4NTI5MC4uZmM2NmMxNzY5MzE1YzM2OTcwMTc3MzQ5MzBlMWQxZjk0NjM4ZGM2YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtOTgsNyArOTgsNiBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgY2xhc3MgRmxvYXRSZWN0OwogICAgIGNsYXNzIEdyYXBoaWNz
TGF5ZXI7CiAgICAgY2xhc3MgSW50U2l6ZTsKLSAgICBjbGFzcyBDZXJ0aWZpY2F0ZUluZm87CiAg
ICAgY2xhc3MgUHJvdGVjdGlvblNwYWNlOwogICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICBz
dHJ1Y3QgRmlsZUNob29zZXJTZXR0aW5nczsKQEAgLTEyNiw2ICsxMjUsNyBAQCBjbGFzcyBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViTW91c2VFdmVudDsKIGNsYXNzIE5h
dGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBQYWdlQ2xpZW50OworY2xhc3MgUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm87CiBjbGFzcyBTdHJpbmdQYWlyVmVjdG9yOwogY2xhc3MgV2ViQmFja0Zvcndh
cmRMaXN0OwogY2xhc3MgV2ViQmFja0ZvcndhcmRMaXN0SXRlbTsKQEAgLTc4NCw3ICs3ODQsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgZGlkU3RhcnRQcm92aXNpb25hbExvYWRGb3JGcmFtZSh1aW50
NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJs
ZVVSTCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTZXJ2
ZXJSZWRpcmVjdEZvclByb3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNv
bnN0IFN0cmluZyYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGYWls
UHJvdmlzaW9uYWxMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciYsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0gICAgdm9pZCBkaWRD
b21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBtaW1lVHlw
ZSwgdWludDMyX3QgZnJhbWVMb2FkVHlwZSwgY29uc3QgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZv
JiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRpZENvbW1pdExvYWRGb3JG
cmFtZSh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1pbWVUeXBlLCB1aW50MzJfdCBm
cmFtZUxvYWRUeXBlLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYsIENvcmVJUEM6Ok1l
c3NhZ2VEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRGaW5pc2hEb2N1bWVudExvYWRGb3JGcmFtZSh1
aW50NjRfdCBmcmFtZUlELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogICAgIHZvaWQgZGlk
RmluaXNoTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJik7CiAgICAgdm9pZCBkaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4K
aW5kZXggMWFmZGYwMTJkOGEyOTdkMWI0MDg1YzU0MWY1YTBmZDBiYzAzZjQ2OC4uYTk4NTM4YmUx
MjQzOWNlNzIyY2U0OWMzZDc1NTg0MjZjNDY3YjdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC0xMTEsNyArMTExLDcgQEAg
bWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBEaWRDcmVhdGVTdWJmcmFtZSh1aW50NjRf
dCBmcmFtZUlEKQogCiAgICAgIyBGcmFtZSBsb2FkIG1lc3NhZ2VzCi0gICAgRGlkQ29tbWl0TG9h
ZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6U3RyaW5nIG1pbWVUeXBlLCB1aW50MzJf
dCBsb2FkVHlwZSwgV2ViQ29yZTo6Q2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgV2Vi
S2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMK
KyAgICBEaWRDb21taXRMb2FkRm9yRnJhbWUodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcg
bWltZVR5cGUsIHVpbnQzMl90IGxvYWRUeXBlLCBXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvIGNlcnRpZmljYXRlSW5mbywgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5j
b2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBEaWRGYWlsTG9hZEZvckZyYW1lKHVpbnQ2NF90
IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRC
dW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNlckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmFpbFBy
b3Zpc2lvbmFsTG9hZEZvckZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgZXJyb3IsIFdlYktpdDo6SW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUVuY29kZXIgdXNl
ckRhdGEpIFZhcmlhZGljCiAgICAgRGlkRmluaXNoRG9jdW1lbnRMb2FkRm9yRnJhbWUodWludDY0
X3QgZnJhbWVJRCwgV2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2Vy
RGF0YSkgVmFyaWFkaWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAwZGVkMTM0MzE4ZTMzYzA5MWQyNGI2YmNlOTQ4Zjk4NDUwOThi
OWY5Li5kNGQ0NWQ4NmUzNzI4YmJmMGJjNTIwMzQzZDVkMTY5YjY5NDc2NjFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDMy
LDYgKzEwMzIsOCBAQAogCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0YxODYz
NzE2N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi87IH07CiAJCUJDRjRERTIzMTY4
RTRCRDUwMEM5NEFGQyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjRERTIyMTY4RTRCRDUwMEM5NEFG
QyAvKiBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1lbnQuaCAqLzsgfTsKIAkJQkNGNERFMjUxNjhGQTQ0
ODAwQzk0QUZDIC8qIFdlYkNvbnRleHRTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQ0Y0REUyNDE2OEZBNDQ4MDBDOTRBRkMgLyogV2Vi
Q29udGV4dFN1cHBsZW1lbnQuaCAqLzsgfTsKKwkJQkNGNTA1RTcxMjQzMDQ3QjAwNTk1NUFFIC8q
IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8uaCAqLzsgfTsKKwkJQkNGNTA1RTgxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLm1tICovOyB9OwogCQlCQ0Y1MDcyODEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlm
aWNhdGVJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCQ0Y1MDcyNjEyNDMyOUFBMDA1OTU1QUUgLyogV2ViQ2VydGlmaWNhdGVJbmZvLmggKi87IH07
CiAJCUJDRjY5Rjg2MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg0MTE3NkNE
NkYwMDQ3MUE1MiAvKiBXZWJIaXN0b3J5Q2xpZW50LmNwcCAqLzsgfTsKIAkJQkNGNjlGODcxMTc2
Q0Q2RjAwNDcxQTUyIC8qIFdlYkhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDRjY5Rjg1MTE3NkNENkYwMDQ3MUE1MiAvKiBXZWJI
aXN0b3J5Q2xpZW50LmggKi87IH07CkBAIC0yNDYxLDYgKzI0NjMsOCBAQAogCQlCQ0YxODYzNzE2
N0QwNzFFMDBBMUE4NUEgLyogQ2FjaGVNb2RlbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBDYWNoZU1vZGVsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkNGNERFMjIxNjhFNEJENTAwQzk0QUZDIC8qIE5ldHdvcmtQcm9jZXNzU3VwcGxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc1N1cHBsZW1l
bnQuaDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NTdXBwbGVtZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDRjRERTI0MTY4RkE0NDgwMEM5NEFGQyAvKiBXZWJDb250
ZXh0U3VwcGxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb250
ZXh0U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCQ0Y1MDVFNTEy
NDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkNGNTA1RTYxMjQzMDQ3QjAwNTk1NUFFIC8qIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDRjUwNjg0MTI0MzE4NjEwMDU5NTVBRSAvKiBTZWN1cml0eS5mcmFtZXdvcmsgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1l
d29yazsgbmFtZSA9IFNlY3VyaXR5LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL1NlY3VyaXR5LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+Ijsg
fTsKIAkJQkNGNTA3MjYxMjQzMjlBQTAwNTk1NUFFIC8qIFdlYkNlcnRpZmljYXRlSW5mby5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDZXJ0aWZpY2F0ZUluZm8uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkNGNjlGODQxMTc2Q0Q2RjAwNDcxQTUyIC8qIFdl
Ykhpc3RvcnlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViSGlzdG9yeUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTU1
LDYgKzQxNTksOCBAQAogCQkJCUM1NzRBNTgwMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJk
VHlwZXMubW0gKi8sCiAJCQkJRTE5NTgyRDIxNTNDQkZENzAwQjYwODc1IC8qIFBERktpdEltcG9y
dHMuaCAqLywKIAkJCQlFMTk1ODJENDE1M0NDMDUzMDBCNjA4NzUgLyogUERGS2l0SW1wb3J0cy5t
bSAqLywKKwkJCQlCQ0Y1MDVFNTEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaCAqLywKKwkJCQlCQ0Y1MDVFNjEyNDMwNDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0
aWZpY2F0ZUluZm8ubW0gKi8sCiAJCQkJRTFDQzFCOEYxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50
SW5mb01hYy5tbSAqLywKIAkJCQkxQUYxQUM2QTE2NTE3NTlFMDBDMTdEN0YgLyogUmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb24uaCAqLywKIAkJCQkxQUYxQUM2OTE2NTE3NTlFMDBDMTdEN0YgLyog
UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0gKi8sCkBAIC01MTEzLDYgKzUxMTksNyBAQAog
CQkJCUM1NzRBNTgxMTJFNjY2ODEwMDJERkU5OCAvKiBQYXN0ZWJvYXJkVHlwZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxOTU4MkQzMTUzQ0JGRDcwMEI2MDg3NSAvKiBQREZLaXRJbXBvcnRzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MUZDQjE4OTE3QkJGRTAzMDAzOTRDRDggLyogU3luY2hyb25v
dXNOZXR3b3JrTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlCQ0Y1MDVFNzEyNDMw
NDdCMDA1OTU1QUUgLyogUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDQzQzQUJCMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDODc4MEZDMTE2MUMyQjgwMENDMjc2OCAvKiBQbGF0Zm9ybVBy
b2Nlc3NJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTZGQjdEMzExRTY1MUUyMDBE
QjEzNzEgLyogUGx1Z2luLmggaW4gSGVhZGVycyAqLywKQEAgLTYyNzMsNiArNjI4MCw3IEBACiAJ
CQkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24u
bW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDQyOUJGRDE3MjFFMkM3MDBFQzY4MUYgLyogUERGUGx1
Z2luUGFzc3dvcmRGaWVsZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEMkFERjA5MTYzNjJERDUw
MDE5N0U0NyAvKiBQREZQbHVnaW5UZXh0QW5ub3RhdGlvbi5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CUJDRjUwNUU4MTI0MzA0N0IwMDU5NTVBRSAvKiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5tbSBp
biBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBv
cHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2RkI3RDIxMUU2NTFFMjAwREIx
MzcxIC8qIFBsdWdpbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE2N0UwQzE2NUIyQTk5MDA2
Q0JBNjYgLyogUGx1Z0luQXV0b1N0YXJ0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmNwcAppbmRleCBiMTZhMDE1ZTZhMTQ1NDE3N2Y2YzRiNWI5MTAzY2E1NTkxMzM4OWFjLi5k
NTc1MTczMjFmMjZjMDgzNTcwZjgyZGFlMjBlMGVlOWI5YmZlOGJmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAK
QEAgLTMyLDEwICszMiwxMCBAQAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzcy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvQ2VydGlmaWNhdGVJbmZvLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVudExvYWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KQEAg
LTk5LDE0ICs5OSwxNCBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRTZW5kRGF0YSh1aW50
NjRfdCBieXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlUwogICAgIG1fY29yZUxvYWRl
ci0+ZGlkU2VuZERhdGEoYnl0ZXNTZW50LCB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogfQogCi12b2lk
IFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBjb25zdCBDZXJ0aWZpY2F0ZUluZm8m
IGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVz
c2FnZSkKK3ZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0
aWZpY2F0ZUluZm8oY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIGNvbnN0IFBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvJiBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHNDb250aW51ZURp
ZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCiB7CiAgICAgTE9HKE5ldHdvcmssICIoV2ViUHJvY2Vz
cykgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhDZXJ0aWZpY2F0ZUlu
Zm8gZm9yICclcycuIFN0YXR1cyAlZC4iLCBtX2NvcmVMb2FkZXItPnVybCgpLnN0cmluZygpLnV0
ZjgoKS5kYXRhKCksIHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCkpOwogCiAgICAgUmVmPFdlYlJl
c291cmNlTG9hZGVyPiBwcm90ZWN0KCp0aGlzKTsKIAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVz
cG9uc2VDb3B5KHJlc3BvbnNlKTsKLSAgICByZXNwb25zZUNvcHkuc2V0Q2VydGlmaWNhdGVJbmZv
KGNlcnRpZmljYXRlSW5mbyk7CisgICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4o
Y2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CiAgICAgbV9jb3JlTG9hZGVyLT5k
aWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRl
ciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxs
YmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAppbmRleCBm
NzQ1MjE5NWM0ODNhMzNjMGMyOTljNjM3ZDgyMTU5YTVmODBmZmEzLi4wODEyYzk5YWY1OGQ4ZDVh
NjkyNDQ1YTk5Y2RiM2ZiZjBlNGJjOTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaApAQCAtNDAsNyArNDAsNiBAQCBj
bGFzcyBEYXRhUmVmZXJlbmNlOwogfQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBDZXJ0
aWZpY2F0ZUluZm87CiBjbGFzcyBQcm90ZWN0aW9uU3BhY2U7CiBjbGFzcyBSZXNvdXJjZUJ1ZmZl
cjsKIGNsYXNzIFJlc291cmNlRXJyb3I7CkBAIC01MSw2ICs1MCw3IEBAIGNsYXNzIFJlc291cmNl
UmVzcG9uc2U7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCitjbGFzcyBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbzsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKIAogY2xh
c3MgV2ViUmVzb3VyY2VMb2FkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJSZXNvdXJjZUxvYWRl
cj4sIHB1YmxpYyBDb3JlSVBDOjpNZXNzYWdlU2VuZGVyIHsKQEAgLTc2LDcgKzc2LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwogICAgIHZvaWQgZGlkU2VuZERhdGEodWludDY0X3QgYnl0ZXNTZW50LCB1aW50NjRfdCB0
b3RhbEJ5dGVzVG9CZVNlbnQpOwotICAgIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29y
ZTo6Q2VydGlmaWNhdGVJbmZvJiwgYm9vbCBuZWVkc0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNl
TWVzc2FnZSk7CisgICAgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZv
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyYsIGJvb2wgbmVlZHNDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSYsIGlu
dDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpOwogICAgIHZvaWQgZGlkRmluaXNoUmVzb3VyY2VMb2Fk
KGRvdWJsZSBmaW5pc2hUaW1lKTsKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3Qg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmlu
ZGV4IDRhNjIwNDJjNTVkNTQ0MjBlODA2NTYwZjJjMGJhMzNkM2JhOTg0MzMuLjdiNDA0NWU2Njlh
NGY5ZWZkZDU2MmRlMWEyOTg3NDJhOGFlZjI2YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2Fn
ZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVn
YWN5UmVjZWl2ZXIgewogICAgIC8vIEZJWE1FIChOZXR3b3JrUHJvY2Vzcyk6IFdlJ2xsIG5lZWQg
bXVjaCBtb3JlIGdyYW51bGFyaXR5IGZvciByZXNwb25zZSBtZXNzYWdlcy4KICAgICBXaWxsU2Vu
ZFJlcXVlc3QoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYkNvcmU6OlJlc291
cmNlUmVzcG9uc2UgcmVkaXJlY3RSZXNwb25zZSkKICAgICBEaWRTZW5kRGF0YSh1aW50NjRfdCBi
eXRlc1NlbnQsIHVpbnQ2NF90IHRvdGFsQnl0ZXNUb0JlU2VudCkKLSAgICBEaWRSZWNlaXZlUmVz
cG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UgcmVzcG9u
c2UsIFdlYkNvcmU6OkNlcnRpZmljYXRlSW5mbyBjZXJ0aWZpY2F0ZUluZm8sIGJvb2wgbmVlZHND
b250aW51ZURpZFJlY2VpdmVSZXNwb25zZU1lc3NhZ2UpCisgICAgRGlkUmVjZWl2ZVJlc3BvbnNl
V2l0aENlcnRpZmljYXRlSW5mbyhXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBX
ZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvIGNlcnRpZmljYXRlSW5mbywgYm9vbCBuZWVk
c0NvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlTWVzc2FnZSkKICAgICBEaWRSZWNlaXZlRGF0YShD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIGludDY0X3QgZW5jb2RlZERhdGFMZW5ndGgpCiAg
ICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAgIERpZEZhaWxS
ZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNzUzZDVhMThjYzQwZmVmMzM3ZGY5ZWM4YzA3YTJjODJm
MGE5ZTJjNS4uM2NlM2UwNzk4ZGIwOWQ2YzBhYmFhOWQ4ZGU5YzgxOWZkYjhkM2FmZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxv
YWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIgogI2luY2x1ZGUgIkluamVjdGVk
QnVuZGxlTmF2aWdhdGlvbkFjdGlvbi5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlVXNlck1l
c3NhZ2VDb2RlcnMuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIgogI2lu
Y2x1ZGUgIlBsdWdpblZpZXcuaCIKICNpbmNsdWRlICJXZWJCYWNrRm9yd2FyZExpc3RQcm94eS5o
IgogI2luY2x1ZGUgIldlYkNvbnRleHRNZXNzYWdlcy5oIgpAQCAtNTAsNyArNTEsNiBAQAogI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvQVBJQ2FzdC5oPgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0Lmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9DZXJ0aWZpY2F0ZUluZm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Nocm9t
ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE9NV3JhcHBlcldvcmxkLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9Eb2N1bWVudExvYWRlci5oPgpAQCAtNDQxLDcgKzQ0MSw3IEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkQ29tbWl0TG9hZCgpCiAKICAgICAvLyBOb3RpZnkgdGhl
IFVJUHJvY2Vzcy4KIAotICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkQ29tbWl0TG9hZEZvckZyYW1lKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UubWltZVR5
cGUoKSwgbV9mcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCksIHJlc3BvbnNl
LmNlcnRpZmljYXRlSW5mbygpLCBJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2Rlcih1c2Vy
RGF0YS5nZXQoKSkpKTsKKyAgICB3ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6
OkRpZENvbW1pdExvYWRGb3JGcmFtZShtX2ZyYW1lLT5mcmFtZUlEKCksIHJlc3BvbnNlLm1pbWVU
eXBlKCksIG1fZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2FkZXIoKS5sb2FkVHlwZSgpLCBQbGF0Zm9y
bUNlcnRpZmljYXRlSW5mbyhyZXNwb25zZSksIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNv
ZGVyKHVzZXJEYXRhLmdldCgpKSkpOwogCiAgICAgd2ViUGFnZS0+ZGlkQ29tbWl0TG9hZChtX2Zy
YW1lKTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>