<?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>149603</bug_id>
          
          <creation_ts>2015-09-28 13:49:36 -0700</creation_ts>
          <short_desc>Add an IDB Server that can roundtrip a request back to the client</short_desc>
          <delta_ts>2015-09-28 17:06:49 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149117</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1129059</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 13:49:36 -0700</bug_when>
    <thetext>Add an IDB Server that can roundtrip a request back to the client

This is a critical piece of IDB infrastructure that:
-Puts a database client/server divide in place.
-Client synchronously sends requests to the server, and asynchronously receives a response back from it.
-Introduces a class structure that makes it easy for WebKit2 to add a thin layer to replace the in-process server with an out-of-process server.

To allow for the most basic of tests, the &quot;delete database&quot; request is hard coded as always failing with an indeterminate error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129061</commentid>
    <comment_count>1</comment_count>
      <attachid>262016</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 13:53:08 -0700</bug_when>
    <thetext>Created attachment 262016
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129062</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-28 13:55:16 -0700</bug_when>
    <thetext>Attachment 262016 did not pass style-queue:


ERROR: Source/WebCore/page/Page.cpp:30:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:49:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:59:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/client/IDBOpenDBRequestImpl.cpp:72:  One line control clauses should not use braces.  [whitespace/braces] [4]
Total errors found: 4 in 45 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129070</commentid>
    <comment_count>3</comment_count>
      <attachid>262021</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 14:22:04 -0700</bug_when>
    <thetext>Created attachment 262021
Patch v2 - Style and CMakeList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129071</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-28 14:25:41 -0700</bug_when>
    <thetext>Attachment 262021 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:49:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:59:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129073</commentid>
    <comment_count>5</comment_count>
      <attachid>262022</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 14:35:04 -0700</bug_when>
    <thetext>Created attachment 262022
Patch v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129074</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-28 14:37:50 -0700</bug_when>
    <thetext>Attachment 262022 did not pass style-queue:


ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:49:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:59:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 46 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129095</commentid>
    <comment_count>7</comment_count>
      <attachid>262022</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-28 15:39:38 -0700</bug_when>
    <thetext>Comment on attachment 262022
Patch v3

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

r=me with these changes.

&gt; Source/WebCore/Modules/indexeddb/IDBOpenDBRequest.cpp:31
&gt; +#include &quot;Logging.h&quot;

Don&apos;t touch this file and don&apos;t include it in the ChangeLog.

&gt; Source/WebCore/Modules/indexeddb/IDBRequest.h:-33
&gt; -#include &quot;DOMRequestState.h&quot;

ditto

&gt; Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:49
&gt; +    bool isEmpty() const {

stylebot doesn&apos;t like { on the same line

&gt; Source/WebCore/Modules/indexeddb/shared/IDBRequestIdentifier.h:59
&gt; +    bool operator==(const IDBRequestIdentifier&amp; other) const {

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129110</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 16:40:12 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/190291

But the build is broken after that because of reverting the change to IDBRequest.h!  lol

Following up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129111</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-09-28 16:41:54 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; https://trac.webkit.org/changeset/190291
&gt; 
&gt; But the build is broken after that because of reverting the change to
&gt; IDBRequest.h!  lol
&gt; 
&gt; Following up.

Followup in https://trac.webkit.org/changeset/190295</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129113</commentid>
    <comment_count>10</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-28 16:58:37 -0700</bug_when>
    <thetext>This broke the Windows build. Alex, you should know better!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129118</commentid>
    <comment_count>11</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-28 17:05:39 -0700</bug_when>
    <thetext>Alex just showed me we need to add a missing ForwardingHeader location. I&apos;ll check in a fix shortly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1129121</commentid>
    <comment_count>12</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-09-28 17:06:49 -0700</bug_when>
    <thetext>Windows build fix in https://trac.webkit.org/changeset/190298.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262016</attachid>
            <date>2015-09-28 13:53:08 -0700</date>
            <delta_ts>2015-09-28 14:35:04 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>169948</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2U1NjdmLi4xZTY3NTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDkt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBJ
REIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xpZW50
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVk
YXRhYmFzZS1yZXF1ZXN0LWV2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTA5LTI4ICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIGpzL3JlZ3Jlc3MvZ2V0dGVyLXJp
Y2hhcmRzLXRyeS1jYXRjaCBpcyB0aW1pbmcgb3V0IG9uIGRlYnVnIGxheW91dCB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFi
YXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZTNkMWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2Ut
cmVxdWVzdC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitBTEVSVDogW29iamVj
dCBJREJPcGVuREJSZXF1ZXN0XQorQUxFUlQ6IGVycm9yIFtvYmplY3QgRXZlbnRdCitBTEVSVDog
RG9uZQorVGhpcyB0ZXN0IGNhbGxzIGRlbGV0ZURhdGFiYXNlIG9uIHdpbmRvdy5pbmRleGVkREIg
YW5kIHZlcmlmaWVzIHRoYXQgYW4gZXZlbnQgaXMgZmlyZWQgYXQgdGhlIHJlcXVlc3QuCitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNl
LXJlcXVlc3QtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
NjFmN2RmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQuaHRtbApAQCAtMCwwICsxLDMyIEBA
CitUaGlzIHRlc3QgY2FsbHMgZGVsZXRlRGF0YWJhc2Ugb24gd2luZG93LmluZGV4ZWREQiBhbmQg
dmVyaWZpZXMgdGhhdCBhbiBldmVudCBpcyBmaXJlZCBhdCB0aGUgcmVxdWVzdC48YnI+CitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLjxicj4KKzxzY3JpcHQ+CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBhbGVy
dCgiRG9uZSIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciByZXF1ZXN0ID0gd2luZG93LmluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSgiVGVzdERhdGFiYXNlIik7CisKK3JlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oKQoreworCWFsZXJ0KCJzdWNjZXNzIik7CisJZG9uZSgpOworfQorcmVxdWVzdC5vbmVycm9y
ID0gZnVuY3Rpb24oZSkKK3sKKwlhbGVydCgiZXJyb3IgIiArIGUpOworCWRvbmUoKTsKK30KKwor
YWxlcnQocmVxdWVzdCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGNmZTQxYWIuLjdiNWU5
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNDYgQEAKKzIwMTUtMDktMjggIEJyYWR5IEVpZHNv
biAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBJREIgU2VydmVyIHRoYXQg
Y2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xpZW50LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjAzCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVk
ZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQuaHRtbAorCisgICAgICAgIFRo
aXMgaXMgYSBjcml0aWNhbCBwaWVjZSBvZiBJREIgaW5mcmFzdHJ1Y3R1cmUgdGhhdDoKKyAgICAg
ICAgLSBQdXRzIGEgZGF0YWJhc2UgY2xpZW50L3NlcnZlciBkaXZpZGUgaW4gcGxhY2UuCisgICAg
ICAgIC0gQ2xpZW50IHN5bmNocm9ub3VzbHkgc2VuZHMgcmVxdWVzdHMgdG8gdGhlIHNlcnZlciwg
YW5kIGFzeW5jaHJvbm91c2x5IHJlY2VpdmVzIGEgcmVzcG9uc2UgYmFjayBmcm9tIGl0LgorICAg
ICAgICAtIEludHJvZHVjZXMgYSBjbGFzcyBzdHJ1Y3R1cmUgdGhhdCBtYWtlcyBpdCBlYXN5IGZv
ciBXZWJLaXQyIHRvIGFkZCBhIHRoaW4gbGF5ZXIgdG8gcmVwbGFjZSB0aGUgCisgICAgICAgICAg
aW4tcHJvY2VzcyBzZXJ2ZXIgd2l0aCBhbiBvdXQtb2YtcHJvY2VzcyBzZXJ2ZXIuCisKKyAgICAg
ICAgVG8gYWxsb3cgZm9yIHRoZSBtb3N0IGJhc2ljIG9mIHRlc3RzLCB0aGUgImRlbGV0ZSBkYXRh
YmFzZSIgcmVxdWVzdCBpcyBoYXJkIGNvZGVkIGFzIGFsd2F5cyBmYWlsaW5nIAorICAgICAgICB3
aXRoIGFuIGluZGV0ZXJtaW5hdGUgZXJyb3IuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV2lu
ZG93SW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRh
dGFiYXNlSWRlbnRpZmllcjo6ZGVidWdTdHJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURC
UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0
aW9uVG9TZXJ2ZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwLgorICAgICAgICAoV2ViQ29yZTo6
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6SURCQ29ubmVjdGlvblRvU2Vy
dmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVy
OjppZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyOjpkZWxldGVEYXRhYmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGlkRGVsZXRlRGF0YWJhc2UpOgorCisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVx
dWVzdEltcGwuaC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVj
dGlvblRvU2VydmVyRGVsZWdhdGUuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisgICAgICAgIChXZWJD
b3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlOjp+SURCQ29ubmVj
dGlvblRvU2VydmVyRGVsZWdhdGUpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xp
ZW50L0lEQkZhY3RvcnlJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURC
RmFjdG9yeTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCRmFjdG9y
eTo6SURCRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6
Om9wZW5JbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6
OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
RmFjdG9yeUltcGwuaDoKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJP
cGVuREJSZXF1ZXN0SW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQk9w
ZW5EQlJlcXVlc3Q6OmNyZWF0ZURlbGV0ZVJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q2xpZW50OjpJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGVPcGVuUmVxdWVzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJDbGllbnQ6OklEQk9wZW5EQlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0Ojp+SURCT3BlbkRC
UmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQk9wZW5EQlJlcXVlc3Q6
OnJlcXVlc3RDb21wbGV0ZWQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJPcGVuREJSZXF1ZXN0SW1wbC5oOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJP
cGVuREJSZXF1ZXN0OjpkYXRhYmFzZUlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURC
Q2xpZW50OjpJREJPcGVuREJSZXF1ZXN0Ojp2ZXJzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdDo6Y3JlYXRlKTogRGVsZXRlZC4KKworICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpJREJDbGllbnQ6OklEQlJlcXVlc3Q6OklEQlJlcXVlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCQ2xpZW50OjpJREJSZXF1ZXN0OjplbnF1ZXVlRXZlbnQpOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQ2xpZW50OjpJREJSZXF1ZXN0OjpyZXF1ZXN0SWRlbnRpZmllcik6CisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcDogQ29w
aWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5E
QlJlcXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVj
dGlvblRvQ2xpZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJD
b25uZWN0aW9uVG9DbGllbnQ6OklEQkNvbm5lY3Rpb25Ub0NsaWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6aWRlbnRpZmllcik6CisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6ZGlkRGVsZXRl
RGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0
aW9uVG9DbGllbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0
SW1wbC5oLgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGll
bnREZWxlZ2F0ZTo6fklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlKToKKworICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNlcnZlcjo6SURCU2VydmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpyZWdpc3RlckNvbm5lY3Rpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJTZXJ2ZXI6OnVucmVnaXN0ZXJDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCU2VydmVyOjpkZWxldGVEYXRhYmFzZSk6
CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQlNlcnZlci5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVx
dWVzdEltcGwuaC4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJFcnJv
ci5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRh
dGFiYXNlSWRlbnRpZmllci5jcHAuCisgICAgICAgIChXZWJDb3JlOjppZGJFeGNlcHRpb25FbnRy
eSk6CisgICAgICAgIChXZWJDb3JlOjpJREJFcnJvcjo6SURCRXJyb3IpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCRXJyb3I6Om9wZXJhdG9yPSk6CisgICAgICAgIChXZWJDb3JlOjpJREJFcnJvcjo6
bmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJFcnJvcjo6bWVzc2FnZSk6CisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkVycm9yLmg6IENvcGllZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpJREJFcnJvcjo6SURCRXJyb3IpOgorICAgICAgICAoV2ViQ29yZTo6SURC
RXJyb3I6OmlzTnVsbCk6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
UmVxdWVzdERhdGEuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwLgorICAgICAgICAoV2ViQ29yZTo6
SURCUmVxdWVzdERhdGE6OklEQlJlcXVlc3REYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisgICAgICAg
IChXZWJDb3JlOjpJREJSZXF1ZXN0RGF0YTo6cmVxdWVzdElkZW50aWZpZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SURCUmVxdWVzdERhdGE6OmRhdGFiYXNlSWRlbnRpZmllcik6CisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdElkZW50aWZpZXIuY3BwOiBDb3Bp
ZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVz
dEltcGwuY3BwLgorICAgICAgICAoV2ViQ29yZTo6bmV4dFJlcXVlc3ROdW1iZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6OklEQlJlcXVlc3RJZGVudGlmaWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVyOjplbXB0eVZhbHVlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVyOjpkZWxldGVkVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6OmlzSGFzaFRhYmxlRGVsZXRlZFZh
bHVlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdElkZW50
aWZpZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllcjo6
aXNFbXB0eSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllcjo6aGFzaCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllcjo6b3BlcmF0b3I9PSk6Cisg
ICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllcjo6Y29ubmVjdGlvbklkZW50aWZp
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXJIYXNoOjpoYXNoKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaDo6ZXF1YWwpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXJIYXNoVHJhaXRzOjplbXB0eVZhbHVl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaFRyYWl0czo6aXNF
bXB0eVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaFRy
YWl0czo6Y29uc3RydWN0RGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3RJZGVudGlmaWVySGFzaFRyYWl0czo6aXNEZWxldGVkVmFsdWUpOgorCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlc3VsdERhdGEuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcC4KKyAgICAg
ICAgKFdlYkNvcmU6OklEQlJlc3VsdERhdGE6OklEQlJlc3VsdERhdGEpOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmg6IENvcGllZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5o
LgorICAgICAgICAoV2ViQ29yZTo6SURCUmVzdWx0RGF0YTo6cmVxdWVzdElkZW50aWZpZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCUmVzdWx0RGF0YTo6ZXJyb3IpOgorCisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5jcHA6IEFkZGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjpJblByb2Nlc3NJREJTZXJ2ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjppZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkluUHJvY2Vzc0lEQlNlcnZlcjo6Y29ubmVjdGlvblRvU2VydmVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkluUHJvY2Vzc0lEQlNlcnZlcjo6Y29ubmVjdGlvblRvQ2xpZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAo
V2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjpkaWREZWxldGVEYXRhYmFzZSk6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oOiBDb3BpZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdElt
cGwuaC4KKworICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwor
ICAgICAgICAqIGxvYWRlci9FbXB0eUNsaWVudHMuY3BwOgorCisgICAgICAgICogcGFnZS9EYXRh
YmFzZVByb3ZpZGVyLmg6CisKKyAgICAgICAgKiBwYWdlL1BhZ2UuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UGFnZTo6aWRiQ29ubmVjdGlvbik6CisgICAgICAgICogcGFnZS9QYWdlLmg6CisKKyAg
ICAgICAgKiBwYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGE6OmRlYnVnU3RyaW5nKToKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5
T3JpZ2luRGF0YS5oOgorCiAyMDE1LTA5LTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgRHJvcCBzdXBwb3J0IGZvciBsZWdhY3kgRXZlbnRFeGNlcHRpb24KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4
ZWREYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5k
b3dJbmRleGVkRGF0YWJhc2UuY3BwCmluZGV4IDliNzNlZWQuLjdjMzE0MTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9NV2luZG93SW5k
ZXhlZERhdGFiYXNlLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIElEQkZhY3RvcnkqIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZTo6aW5kZXhlZERCKCkKIAogICAgIGlmICghbV9pZGJGYWN0b3J5KSB7
CiAgICAgICAgIGlmIChwYWdlLT5kYXRhYmFzZVByb3ZpZGVyKCkuc3VwcG9ydHNNb2Rlcm5JREIo
KSkKLSAgICAgICAgICAgIG1faWRiRmFjdG9yeSA9IElEQkNsaWVudDo6SURCRmFjdG9yeTo6Y3Jl
YXRlKCk7CisgICAgICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJDbGllbnQ6OklEQkZhY3Rvcnk6
OmNyZWF0ZShwYWdlLT5pZGJDb25uZWN0aW9uKCkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAg
ICBtX2lkYkZhY3RvcnkgPSBMZWdhY3lGYWN0b3J5OjpjcmVhdGUocGFnZS0+ZGF0YWJhc2VQcm92
aWRlcigpLmlkYkZhY3RvcnlCYWNrZW5kKCkpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwCmlu
ZGV4IGEwMTkwYzEuLjAzY2E2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcApAQCAtNDQsNiArNDQs
MTQgQEAgSURCRGF0YWJhc2VJZGVudGlmaWVyOjpJREJEYXRhYmFzZUlkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJiBkYXRhYmFzZU5hbWUsIGNvbnN0IFMKICAgICBBU1NFUlQoIWRhdGFiYXNlTmFtZS5p
c051bGwoKSk7CiB9CiAKKworI2lmbmRlZiBOREVCVUcKK1N0cmluZyBJREJEYXRhYmFzZUlkZW50
aWZpZXI6OmRlYnVnU3RyaW5nKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbWFrZVN0cmluZyhtX2Rh
dGFiYXNlTmFtZSwgIkAiLCBtX29wZW5pbmdPcmlnaW4uZGVidWdTdHJpbmcoKSwgIjoiLCBtX21h
aW5GcmFtZU9yaWdpbi5kZWJ1Z1N0cmluZygpKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmll
ci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlm
aWVyLmgKaW5kZXggOTFkNTBiYS4uZTcxZjkyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmgKQEAgLTgzLDYg
KzgzLDEwIEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKCkgY29u
c3QgeyByZXR1cm4gbV9kYXRhYmFzZU5hbWU7IH0KIAorI2lmbmRlZiBOREVCVUcKKyAgICBTdHJp
bmcgZGVidWdTdHJpbmcoKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFN0cmluZyBt
X2RhdGFiYXNlTmFtZTsKICAgICBTZWN1cml0eU9yaWdpbkRhdGEgbV9vcGVuaW5nT3JpZ2luOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVx
dWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1
ZXN0LmNwcAppbmRleCBhZGY4YTY4Li44NzBiMDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPcGVuREJSZXF1ZXN0LmNwcApAQCAtMjgsNiArMjgs
OCBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJMb2dnaW5n
LmgiCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogSURCT3BlbkRCUmVxdWVzdDo6SURCT3BlbkRC
UmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5oCmluZGV4IDZiNTdkNGQuLjA1YjAxNDIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3Qu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1ZXN0LmgKQEAg
LTMwLDcgKzMwLDYgQEAKIAogI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUg
IkRPTUVycm9yLmgiCi0jaW5jbHVkZSAiRE9NUmVxdWVzdFN0YXRlLmgiCiAjaW5jbHVkZSAiRE9N
U3RyaW5nTGlzdC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRMaXN0ZW5l
ci5oIgpAQCAtNjMsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgfTsKIAogICAgIHZpcnR1YWwgY29u
c3QgU3RyaW5nJiByZWFkeVN0YXRlKCkgY29uc3QgPSAwOwotCisgICAgCiBwcm90ZWN0ZWQ6CiAg
ICAgSURCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kik7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29u
bmVjdGlvblRvU2VydmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45
OWU1YzEyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKQEAgLTAsMCArMSw3OCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURC
T3BlbkRCUmVxdWVzdEltcGwuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0RGF0YS5oIgorI2luY2x1
ZGUgIklEQlJlc3VsdERhdGEuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK25hbWVzcGFjZSBJREJDbGllbnQgeworCitSZWY8SURCQ29ubmVjdGlvblRvU2Vy
dmVyPiBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmNyZWF0ZShJREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZSYgZGVsZWdhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCQ29ubmVj
dGlvblRvU2VydmVyKGRlbGVnYXRlKSk7Cit9CisKK0lEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6SURC
Q29ubmVjdGlvblRvU2VydmVyKElEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlJiBkZWxlZ2F0
ZSkKKyAgICA6IG1fZGVsZWdhdGUoZGVsZWdhdGUpCit7Cit9CisKK3VpbnQ2NF90IElEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6aWRlbnRpZmllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVsZWdh
dGUtPmlkZW50aWZpZXIoKTsKK30KKwordm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0
ZURhdGFiYXNlKElEQk9wZW5EQlJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgTE9HKEluZGV4ZWRE
QiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlRGF0YWJhc2UgLSAlcyIsIHJlcXVlc3Qu
ZGF0YWJhc2VJZGVudGlmaWVyKCkuZGVidWdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKworICAg
IEFTU0VSVCghbV9vcGVuREJSZXF1ZXN0TWFwLmNvbnRhaW5zKHJlcXVlc3QucmVxdWVzdElkZW50
aWZpZXIoKSkpOworICAgIG1fb3BlbkRCUmVxdWVzdE1hcC5zZXQocmVxdWVzdC5yZXF1ZXN0SWRl
bnRpZmllcigpLCAmcmVxdWVzdCk7CisgICAgCisgICAgSURCUmVxdWVzdERhdGEgcmVxdWVzdERh
dGEoKnRoaXMsIHJlcXVlc3QpOworICAgIG1fZGVsZWdhdGUtPmRlbGV0ZURhdGFiYXNlKHJlcXVl
c3REYXRhKTsKK30KKwordm9pZCBJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZERlbGV0ZURhdGFi
YXNlKGNvbnN0IElEQlJlc3VsdERhdGEmIHJlc3VsdERhdGEpCit7CisgICAgTE9HKEluZGV4ZWRE
QiwgIklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGlkRGVsZXRlRGF0YWJhc2UiKTsKKworICAgIGF1
dG8gcmVxdWVzdCA9IG1fb3BlbkRCUmVxdWVzdE1hcC50YWtlKHJlc3VsdERhdGEucmVxdWVzdElk
ZW50aWZpZXIoKSk7CisgICAgQVNTRVJUKHJlcXVlc3QpOworCisgICAgcmVxdWVzdC0+cmVxdWVz
dENvbXBsZXRlZChyZXN1bHREYXRhKTsKK30KKworfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50Cit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5lMmNhM2QwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlci5oCkBAIC0wLDAgKzEs
NjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElEQkNvbm5lY3Rpb25Ub1NlcnZlcl9oCisjZGVm
aW5lIElEQkNvbm5lY3Rpb25Ub1NlcnZlcl9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFT
RSkKKworI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgiCisjaW5jbHVk
ZSAiSURCUmVxdWVzdElkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlJlc3VsdERhdGE7CisKK25hbWVzcGFjZSBJREJDbGll
bnQgeworCitjbGFzcyBJREJPcGVuREJSZXF1ZXN0OworCitjbGFzcyBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPElEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gY3JlYXRlKElEQkNvbm5l
Y3Rpb25Ub1NlcnZlckRlbGVnYXRlJik7CisKKyAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29u
c3Q7CisKKyAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKElEQk9wZW5EQlJlcXVlc3QmKTsKKyAgICB2
b2lkIGRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKTsKKyAgICAKK3ByaXZh
dGU6CisgICAgSURCQ29ubmVjdGlvblRvU2VydmVyKElEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVn
YXRlJik7CisgICAgCisgICAgUmVmPElEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlPiBtX2Rl
bGVnYXRlOworCisgICAgSGFzaE1hcDxJREJSZXF1ZXN0SWRlbnRpZmllciwgUmVmUHRyPElEQkNs
aWVudDo6SURCT3BlbkRCUmVxdWVzdD4+IG1fb3BlbkRCUmVxdWVzdE1hcDsKK307CisKK30gLy8g
bmFtZXNwYWNlIElEQkNsaWVudAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCQ29ubmVjdGlvblRvU2VydmVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9J
REJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2JmZWI4YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZS5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElEQkNv
bm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlX2gKKyNkZWZpbmUgSURCQ29ubmVjdGlvblRvU2VydmVy
RGVsZWdhdGVfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgSURCUmVxdWVzdERhdGE7CisKK25hbWVzcGFjZSBJREJDbGllbnQg
eworCitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUoKSB7IH0KKworICAgIHZpcnR1
YWwgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVs
ZXRlRGF0YWJhc2UoSURCUmVxdWVzdERhdGEmKSA9IDA7CisgICAgCisgICAgdmlydHVhbCB2b2lk
IHJlZigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSA9IDA7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBJREJDbGllbnQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQkNvbm5lY3Rpb25Ub1NlcnZlckRl
bGVnYXRlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJGYWN0b3J5SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCRmFjdG9yeUltcGwuY3BwCmluZGV4IDJhOTdkNTUuLmFjMGNmZjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJGYWN0b3J5
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkZhY3RvcnlJbXBsLmNwcApAQCAtMjgsMTIgKzI4LDE0IEBACiAKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgogI2luY2x1ZGUgIklEQkRhdGFiYXNlSWRlbnRpZmllci5oIgogI2luY2x1ZGUgIklE
Qk9wZW5EQlJlcXVlc3RJbXBsLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlBh
Z2UuaCIKICNpbmNsdWRlICJTY2hlbWVSZWdpc3RyeS5oIgorI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC01OCwxNCArNjAsMTQgQEAgc3RhdGljIGJvb2wgc2hvdWxkVGhyb3dTZWN1
cml0eUV4Y2VwdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotUmVmPElEQkZhY3Rvcnk+IElEQkZhY3Rvcnk6OmNyZWF0ZSgpCitSZWY8
SURCRmFjdG9yeT4gSURCRmFjdG9yeTo6Y3JlYXRlKElEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29u
bmVjdGlvbikKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJGYWN0b3J5KTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJGYWN0b3J5KGNvbm5lY3Rpb24pKTsKIH0KIAotSURCRmFj
dG9yeTo6SURCRmFjdG9yeSgpCitJREJGYWN0b3J5OjpJREJGYWN0b3J5KElEQkNvbm5lY3Rpb25U
b1NlcnZlciYgY29ubmVjdGlvbikKKyAgICA6IG1fY29ubmVjdGlvblRvU2VydmVyKGNvbm5lY3Rp
b24pCiB7Ci0KIH0KIAogUmVmUHRyPFdlYkNvcmU6OklEQlJlcXVlc3Q+IElEQkZhY3Rvcnk6Omdl
dERhdGFiYXNlTmFtZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKQpA
QCAtOTIsNyArOTQsNyBAQCBSZWZQdHI8V2ViQ29yZTo6SURCT3BlbkRCUmVxdWVzdD4gSURCRmFj
dG9yeTo6b3BlbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZQogICAgIHJldHVybiBvcGVu
SW50ZXJuYWwoY29udGV4dCwgbmFtZSwgMCwgZWMpLnJlbGVhc2UoKTsKIH0KIAotUmVmUHRyPElE
Qk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rvcnk6Om9wZW5JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZywg
RXhjZXB0aW9uQ29kZSYgZWMpCitSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6
b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgdW5zaWduZWQgbG9uZyBsb25nIHZlcnNpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQog
ewogICAgIGlmIChuYW1lLmlzTnVsbCgpKSB7CiAgICAgICAgIGVjID0gVHlwZUVycm9yOwpAQCAt
MTEyLDcgKzExNCw3IEBAIFJlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVu
SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4CiAgICAgICAgIHJldHVybiBu
dWxscHRyOwogICAgIH0KIAotICAgIGF1dG8gcmVxdWVzdCA9IElEQk9wZW5EQlJlcXVlc3Q6OmNy
ZWF0ZShjb250ZXh0KTsKKyAgICBhdXRvIHJlcXVlc3QgPSBJREJPcGVuREJSZXF1ZXN0OjpjcmVh
dGVPcGVuUmVxdWVzdChtX2Nvbm5lY3Rpb25Ub1NlcnZlci5nZXQoKSwgY29udGV4dCwgZGF0YWJh
c2VJZGVudGlmaWVyLCB2ZXJzaW9uKTsKICAgICByZXR1cm4gYWRvcHRSZWYoJnJlcXVlc3QubGVh
a1JlZigpKTsKIH0KIApAQCAtMTM4LDcgKzE0MCw5IEBAIFJlZlB0cjxXZWJDb3JlOjpJREJPcGVu
REJSZXF1ZXN0PiBJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFzZShTY3JpcHRFeGVjdXRpb25Db250
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIGF1dG8gcmVxdWVzdCA9IElE
Qk9wZW5EQlJlcXVlc3Q6OmNyZWF0ZShjb250ZXh0KTsKKyAgICBhdXRvIHJlcXVlc3QgPSBJREJP
cGVuREJSZXF1ZXN0OjpjcmVhdGVEZWxldGVSZXF1ZXN0KG1fY29ubmVjdGlvblRvU2VydmVyLmdl
dCgpLCBjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIpOworICAgIG1fY29ubmVjdGlvblRvU2Vy
dmVyLT5kZWxldGVEYXRhYmFzZShyZXF1ZXN0LmdldCgpKTsKKwogICAgIHJldHVybiBhZG9wdFJl
ZigmcmVxdWVzdC5sZWFrUmVmKCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRmFjdG9yeUltcGwuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJGYWN0b3J5SW1wbC5oCmluZGV4IDAzZWQ3NjQu
LjgwNDczNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJGYWN0b3J5SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJGYWN0b3J5SW1wbC5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKIAorI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub1NlcnZlci5o
IgogI2luY2x1ZGUgIklEQkZhY3RvcnkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcs
NyArMzgsNyBAQCBjbGFzcyBJREJPcGVuREJSZXF1ZXN0OwogCiBjbGFzcyBJREJGYWN0b3J5IDog
cHVibGljIFdlYkNvcmU6OklEQkZhY3RvcnkgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8SURC
RmFjdG9yeT4gY3JlYXRlKCk7CisgICAgc3RhdGljIFJlZjxJREJGYWN0b3J5PiBjcmVhdGUoSURC
Q29ubmVjdGlvblRvU2VydmVyJik7CiAKICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJREJS
ZXF1ZXN0PiBnZXREYXRhYmFzZU5hbWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRp
b25Db2RlJikgb3ZlcnJpZGUgZmluYWw7CiAKQEAgLTQ4LDkgKzQ5LDExIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHNob3J0IGNtcChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgRGVwcmVj
YXRlZDo6U2NyaXB0VmFsdWUmIGZpcnN0LCBjb25zdCBEZXByZWNhdGVkOjpTY3JpcHRWYWx1ZSYg
c2Vjb25kLCBFeGNlcHRpb25Db2RlJikgb3ZlcnJpZGUgZmluYWw7CiAKIHByaXZhdGU6Ci0gICAg
SURCRmFjdG9yeSgpOworICAgIElEQkZhY3RvcnkoSURCQ29ubmVjdGlvblRvU2VydmVyJik7CiAg
ICAgCiAgICAgUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IG9wZW5JbnRlcm5hbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBsb25nIGxvbmcgdmVy
c2lvbiwgRXhjZXB0aW9uQ29kZSYpOworICAgIAorICAgIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2
ZXI+IG1fY29ubmVjdGlvblRvU2VydmVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURC
T3BlbkRCUmVxdWVzdEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmNwcAppbmRleCA2ODA2NWYwLi40NmZlODIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3Bl
bkRCUmVxdWVzdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAKQEAgLTI4LDE1ICsyOCw1MCBAQAogCiAj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJJREJFcnJvci5oIgorI2lu
Y2x1ZGUgIklEQlJlc3VsdERhdGEuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCi1JREJPcGVuREJSZXF1ZXN0OjpJ
REJPcGVuREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCi0gICAgOiBJ
REJSZXF1ZXN0KGNvbnRleHQpCitSZWY8SURCT3BlbkRCUmVxdWVzdD4gSURCT3BlbkRCUmVxdWVz
dDo6Y3JlYXRlRGVsZXRlUmVxdWVzdChJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24s
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRp
ZmllciYgZGF0YWJhc2VJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChkYXRhYmFzZUlkZW50aWZp
ZXIuaXNWYWxpZCgpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBJREJPcGVuREJSZXF1ZXN0
KGNvbm5lY3Rpb24sIGNvbnRleHQsIGRhdGFiYXNlSWRlbnRpZmllciwgMCkpOworfQorCitSZWY8
SURCT3BlbkRCUmVxdWVzdD4gSURCT3BlbkRCUmVxdWVzdDo6Y3JlYXRlT3BlblJlcXVlc3QoSURC
Q29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0aW9uLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImIGRhdGFiYXNlSWRlbnRpZmllciwg
dWludDY0X3QgdmVyc2lvbikKK3sKKyAgICBBU1NFUlQoZGF0YWJhc2VJZGVudGlmaWVyLmlzVmFs
aWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCT3BlbkRCUmVxdWVzdChjb25uZWN0
aW9uLCBjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIsIHZlcnNpb24pKTsKK30KKyAgICAKK0lE
Qk9wZW5EQlJlcXVlc3Q6OklEQk9wZW5EQlJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiBj
b25uZWN0aW9uLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBJREJEYXRh
YmFzZUlkZW50aWZpZXImIGRhdGFiYXNlSWRlbnRpZmllciwgdWludDY0X3QgdmVyc2lvbikKKyAg
ICA6IElEQlJlcXVlc3QoY29ubmVjdGlvbiwgY29udGV4dCkKKyAgICAsIG1fZGF0YWJhc2VJZGVu
dGlmaWVyKGRhdGFiYXNlSWRlbnRpZmllcikKKyAgICAsIG1fdmVyc2lvbih2ZXJzaW9uKQogewog
ICAgIHN1c3BlbmRJZk5lZWRlZCgpOwogfQogCitJREJPcGVuREJSZXF1ZXN0Ojp+SURCT3BlbkRC
UmVxdWVzdCgpCit7Cit9CisKK3ZvaWQgSURCT3BlbkRCUmVxdWVzdDo6cmVxdWVzdENvbXBsZXRl
ZChjb25zdCBJREJSZXN1bHREYXRhJiBkYXRhKQoreworICAgIExPRyhJbmRleGVkREIsICJJREJP
cGVuREJSZXF1ZXN0OjpyZXF1ZXN0Q29tcGxldGVkIik7CisKKyAgICBpZiAoIWRhdGEuZXJyb3Io
KS5pc051bGwoKSkgeworICAgICAgICBMT0coSW5kZXhlZERCLCAiICB3aXRoIGVycm9yOiAoJXMp
ICclcyciLCBkYXRhLmVycm9yKCkubmFtZSgpLnV0ZjgoKS5kYXRhKCksIGRhdGEuZXJyb3IoKS5t
ZXNzYWdlKCkudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIG1fZG9tRXJyb3IgPSBET01FcnJvcjo6
Y3JlYXRlKGRhdGEuZXJyb3IoKS5uYW1lKCkpOworICAgICAgICBlbnF1ZXVlRXZlbnQoRXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuZXJyb3JFdmVudCwgdHJ1ZSwgdHJ1ZSkpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIGVucXVldWVFdmVudChFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zdWNj
ZXNzRXZlbnQsIHRydWUsIHRydWUpKTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIElEQkNs
aWVudAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5o
CmluZGV4IDM2NjU0NmUuLjRkMzBhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5oCkBA
IC0yOCwyMCArMjgsMzYgQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisjaW5j
bHVkZSAiRE9NRXJyb3IuaCIKKyNpbmNsdWRlICJJREJEYXRhYmFzZUlkZW50aWZpZXIuaCIKICNp
bmNsdWRlICJJREJSZXF1ZXN0SW1wbC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IElEQkRhdGFiYXNlSWRlbnRpZmllcjsKKwogbmFtZXNwYWNlIElEQkNsaWVudCB7CiAKK2NsYXNz
IElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKKwogY2xhc3MgSURCT3BlbkRCUmVxdWVzdCA6IHB1Ymxp
YyBJREJSZXF1ZXN0IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPElEQk9wZW5EQlJlcXVlc3Q+
IGNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAgIHsKLSAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCT3BlbkRCUmVxdWVzdChjb250ZXh0KSk7Ci0gICAgfQor
ICAgIHN0YXRpYyBSZWY8SURCT3BlbkRCUmVxdWVzdD4gY3JlYXRlRGVsZXRlUmVxdWVzdChJREJD
b25uZWN0aW9uVG9TZXJ2ZXImLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgSURCRGF0
YWJhc2VJZGVudGlmaWVyJik7CisgICAgc3RhdGljIFJlZjxJREJPcGVuREJSZXF1ZXN0PiBjcmVh
dGVPcGVuUmVxdWVzdChJREJDb25uZWN0aW9uVG9TZXJ2ZXImLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiwgdWludDY0X3QgdmVyc2lvbik7CisK
KyAgICB2aXJ0dWFsIH5JREJPcGVuREJSZXF1ZXN0KCk7CisgICAgCisgICAgY29uc3QgSURCRGF0
YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2Rh
dGFiYXNlSWRlbnRpZmllcjsgfQorICAgIHVpbnQ2NF90IHZlcnNpb24oKSBjb25zdCB7IHJldHVy
biBtX3ZlcnNpb247IH0KKworICAgIHZvaWQgcmVxdWVzdENvbXBsZXRlZChjb25zdCBJREJSZXN1
bHREYXRhJik7CiAKIHByaXZhdGU6Ci0gICAgSURCT3BlbkRCUmVxdWVzdChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Kik7CisgICAgSURCT3BlbkRCUmVxdWVzdChJREJDb25uZWN0aW9uVG9TZXJ2ZXIm
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiwg
dWludDY0X3QgdmVyc2lvbik7CisgICAgCisgICAgSURCRGF0YWJhc2VJZGVudGlmaWVyIG1fZGF0
YWJhc2VJZGVudGlmaWVyOworICAgIHVpbnQ2NF90IG1fdmVyc2lvbjsKKyAgICBSZWZQdHI8RE9N
RXJyb3I+IG1fZG9tRXJyb3I7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBJREJDbGllbnQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVx
dWVzdEltcGwuY3BwCmluZGV4IDA4ZmMwNjkuLjgwMDU3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNw
cApAQCAtMjgsMTMgKzI4LDE2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAor
I2luY2x1ZGUgIkV2ZW50UXVldWUuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCi1JREJSZXF1ZXN0OjpJREJSZXF1ZXN0KFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCitJREJSZXF1ZXN0OjpJREJSZXF1ZXN0KElEQkNv
bm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29u
dGV4dCkKICAgICA6IElEQk9wZW5EQlJlcXVlc3QoY29udGV4dCkKKyAgICAsIG1fcmVxdWVzdElk
ZW50aWZpZXIoY29ubmVjdGlvbikKIHsKIH0KIApAQCAtODMsNyArODYsMTYgQEAgYm9vbCBJREJS
ZXF1ZXN0OjpjYW5TdXNwZW5kRm9yUGFnZUNhY2hlKCkgY29uc3QKIHsKICAgICByZXR1cm4gZmFs
c2U7CiB9Ci0gICAgCisKK3ZvaWQgSURCUmVxdWVzdDo6ZW5xdWV1ZUV2ZW50KFJlZjxFdmVudD4m
JiBldmVudCkKK3sKKyAgICBpZiAoIXNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgZXZlbnQtPnNldFRhcmdldCh0aGlzKTsKKyAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCktPmV2ZW50UXVldWUoKS5lbnF1ZXVlRXZlbnQoJmV2ZW50LmdldCgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1
ZXN0SW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJl
cXVlc3RJbXBsLmgKaW5kZXggZjlkZDAxMy4uMTdmYjQ1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmgKQEAg
LTI5LDEzICsyOSwyMiBAQAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCiAjaW5jbHVk
ZSAiSURCT3BlbkRCUmVxdWVzdC5oIgorI2luY2x1ZGUgIklEQlJlcXVlc3RJZGVudGlmaWVyLmgi
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBFdmVudDsKK2NsYXNzIElEQlJlc3VsdERhdGE7CisKIG5hbWVzcGFjZSBJREJDbGllbnQg
ewogCitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CisKIGNsYXNzIElEQlJlcXVlc3QgOiBw
dWJsaWMgV2ViQ29yZTo6SURCT3BlbkRCUmVxdWVzdCwgcHVibGljIFJlZkNvdW50ZWQ8SURCUmVx
dWVzdD4gewogcHVibGljOgorICAgIGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiByZXF1ZXN0
SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdElkZW50aWZpZXI7IH0KKwogICAg
IHZpcnR1YWwgUmVmUHRyPElEQkFueT4gcmVzdWx0KEV4Y2VwdGlvbkNvZGUmKSBjb25zdCBvdmVy
cmlkZTsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHNob3J0IGVycm9yQ29kZShFeGNlcHRpb25Db2Rl
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBSZWZQdHI8RE9NRXJyb3I+IGVycm9yKEV4
Y2VwdGlvbkNvZGUmKSBjb25zdCBvdmVycmlkZTsKQEAgLTUwLDggKzU5LDEwIEBAIHB1YmxpYzoK
ICAgICB1c2luZyBSZWZDb3VudGVkPElEQlJlcXVlc3Q+OjpyZWY7CiAgICAgdXNpbmcgUmVmQ291
bnRlZDxJREJSZXF1ZXN0Pjo6ZGVyZWY7CiAKKyAgICB2b2lkIGVucXVldWVFdmVudChSZWY8RXZl
bnQ+JiYpOworICAgIAogcHJvdGVjdGVkOgotICAgIElEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopOworICAgIElEQlJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiwgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCopOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAgIHZpcnR1
YWwgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlIGZpbmFs
OwpAQCAtNjAsNiArNzEsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgLy8gRXZlbnRUYXJnZXQuCiAgICAg
dmlydHVhbCB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgZmluYWwgeyBSZWZDb3VudGVk
PElEQlJlcXVlc3Q+OjpyZWYoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0
KCkgb3ZlcnJpZGUgZmluYWwgeyBSZWZDb3VudGVkPElEQlJlcXVlc3Q+OjpkZXJlZigpOyB9CisK
KyAgICBJREJSZXF1ZXN0SWRlbnRpZmllciBtX3JlcXVlc3RJZGVudGlmaWVyOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgSURCQ2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmZjUxZjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlv
blRvQ2xpZW50LmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIgorCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK25hbWVzcGFjZSBJREJT
ZXJ2ZXIgeworCitSZWY8SURCQ29ubmVjdGlvblRvQ2xpZW50PiBJREJDb25uZWN0aW9uVG9DbGll
bnQ6OmNyZWF0ZShJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSYgZGVsZWdhdGUpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCQ29ubmVjdGlvblRvQ2xpZW50KGRlbGVnYXRlKSk7
Cit9CisKK0lEQkNvbm5lY3Rpb25Ub0NsaWVudDo6SURCQ29ubmVjdGlvblRvQ2xpZW50KElEQkNv
bm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlJiBkZWxlZ2F0ZSkKKyAgICA6IG1fZGVsZWdhdGUoZGVs
ZWdhdGUpCit7Cit9CisKK3VpbnQ2NF90IElEQkNvbm5lY3Rpb25Ub0NsaWVudDo6aWRlbnRpZmll
cigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVsZWdhdGUtPmlkZW50aWZpZXIoKTsKK30KKwor
dm9pZCBJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJl
c3VsdERhdGEmIHJlc3VsdCkKK3sKKyAgICBtX2RlbGVnYXRlLT5kaWREZWxldGVEYXRhYmFzZShy
ZXN1bHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBJREJTZXJ2ZXIKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5l
Y3Rpb25Ub0NsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMWE5
NjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgSURCQ29ubmVjdGlvblRvQ2xpZW50X2gKKyNkZWZpbmUgSURCQ29ubmVjdGlv
blRvQ2xpZW50X2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAi
SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBJREJSZXN1bHREYXRhOworCituYW1lc3BhY2UgSURCU2VydmVyIHsKKworY2xhc3MgSURCQ29u
bmVjdGlvblRvQ2xpZW50IDogcHVibGljIFJlZkNvdW50ZWQ8SURCQ29ubmVjdGlvblRvQ2xpZW50
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxJREJDb25uZWN0aW9uVG9DbGllbnQ+IGNyZWF0
ZShJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSYpOworICAgIAorICAgIHVpbnQ2NF90IGlk
ZW50aWZpZXIoKSBjb25zdDsKKworICAgIHZvaWQgZGlkRGVsZXRlRGF0YWJhc2UoY29uc3QgSURC
UmVzdWx0RGF0YSYpOworICAgIAorcHJpdmF0ZToKKyAgICBJREJDb25uZWN0aW9uVG9DbGllbnQo
SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmKTsKKyAgICAKKyAgICBSZWY8SURCQ29ubmVj
dGlvblRvQ2xpZW50RGVsZWdhdGU+IG1fZGVsZWdhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBJ
REJTZXJ2ZXIKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQkNvbm5lY3Rpb25Ub0NsaWVudF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlv
blRvQ2xpZW50RGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmNmNTAwMzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUu
aApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJDb25uZWN0aW9uVG9D
bGllbnREZWxlZ2F0ZV9oCisjZGVmaW5lIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlX2gK
KworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIElEQlJlc3VsdERhdGE7CisKK25hbWVzcGFjZSBJREJTZXJ2ZXIgeworCitjbGFzcyBJ
REJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZSB7CitwdWJsaWM6CisgICAgdmlydHVhbCB+SURC
Q29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUoKSB7IH0KKyAgICAKKyAgICB2aXJ0dWFsIHVpbnQ2
NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGVsZXRl
RGF0YWJhc2UoY29uc3QgSURCUmVzdWx0RGF0YSYpID0gMDsKKworICAgIHZpcnR1YWwgdm9pZCBy
ZWYoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOworfTsKKworfSAvLyBuYW1l
c3BhY2UgSURCU2VydmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJDb25uZWN0aW9uVG9DbGllbnREZWxl
Z2F0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4NzE4
OTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
ZXJ2ZXIvSURCU2VydmVyLmNwcApAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQlNlcnZlci5oIgorCisjaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJSZXF1ZXN0RGF0YS5oIgorI2luY2x1ZGUgIklE
QlJlc3VsdERhdGEuaCIKKyNpbmNsdWRlICJMb2dnaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKK25hbWVzcGFjZSBJREJTZXJ2ZXIgeworCitSZWY8SURCU2VydmVyPiBJREJTZXJ2ZXI6OmNy
ZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCU2VydmVyKCkpOworfQorCitJ
REJTZXJ2ZXI6OklEQlNlcnZlcigpCit7Cit9CisKK3ZvaWQgSURCU2VydmVyOjpyZWdpc3RlckNv
bm5lY3Rpb24oSURCQ29ubmVjdGlvblRvQ2xpZW50JiBjb25uZWN0aW9uKQoreworICAgIEFTU0VS
VCghbV9jb25uZWN0aW9uTWFwLmNvbnRhaW5zKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKSk7Cisg
ICAgbV9jb25uZWN0aW9uTWFwLnNldChjb25uZWN0aW9uLmlkZW50aWZpZXIoKSwgJmNvbm5lY3Rp
b24pOworfQorCit2b2lkIElEQlNlcnZlcjo6dW5yZWdpc3RlckNvbm5lY3Rpb24oSURCQ29ubmVj
dGlvblRvQ2xpZW50JiBjb25uZWN0aW9uKQoreworICAgIEFTU0VSVChtX2Nvbm5lY3Rpb25NYXAu
Y29udGFpbnMoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpKTsKKyAgICBBU1NFUlQobV9jb25uZWN0
aW9uTWFwLmdldChjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkgPT0gJmNvbm5lY3Rpb24pOworCisg
ICAgbV9jb25uZWN0aW9uTWFwLnJlbW92ZShjb25uZWN0aW9uLmlkZW50aWZpZXIoKSk7Cit9CisK
K3ZvaWQgSURCU2VydmVyOjpkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1ZXN0RGF0YSYgZGF0
YSkKK3sKKyAgICBMT0coSW5kZXhlZERCLCAiSURCU2VydmVyOjpkZWxldGVEYXRhYmFzZSAtICVz
IiwgZGF0YS5kYXRhYmFzZUlkZW50aWZpZXIoKS5kZWJ1Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OworICAgIAorICAgIGF1dG8gY29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbk1hcC5nZXQoZGF0YS5y
ZXF1ZXN0SWRlbnRpZmllcigpLmNvbm5lY3Rpb25JZGVudGlmaWVyKCkpOworICAgIGlmICghY29u
bmVjdGlvbikgeworICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIHJlY29yZCBvZiB0aGlzIGNv
bm5lY3Rpb24gKGUuZy4gaXQgaGFzIGRyb3BwZWQgZHVlIHRvIGEgcHJvY2VzcyBjcmFzaGluZykK
KyAgICAgICAgLy8gdGhlbiB3ZSBjYW4ndCByZXBvcnQgYmFjayBzdGF0dXMgb2YgdGhlIG9wZXJh
dGlvbi4KKyAgICAgICAgLy8gVGhlcmVmb3JlIHdlIHNob3VsZG4ndCBib3RoZXIgcGVyZm9ybWlu
ZyBpdC4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAKKyAgICAvLyBGSVhNRTogRHVyaW5n
IGJyaW5ndXAgb2YgbW9kZXJuIElEQiwgdGhlIGRhdGFiYXNlIGRlbGV0aW9uIGlzIGEgbm8tb3As
IGFuZCBpcworICAgIC8vIGltbWVkaWF0ZWx5IHJlcG9ydGVkIGJhY2sgdG8gdGhlIFdlYlByb2Nl
c3MgYXMgZmFpbHVyZS4KKyAgICBJREJSZXN1bHREYXRhIHJlc3VsdChkYXRhLnJlcXVlc3RJZGVu
dGlmaWVyKCksIElEQkVycm9yKElEQkV4Y2VwdGlvbkNvZGU6OlVua25vd24pKTsKKyAgICBjb25u
ZWN0aW9uLT5kaWREZWxldGVEYXRhYmFzZShyZXN1bHQpOworfQorCit9IC8vIG5hbWVzcGFjZSBJ
REJTZXJ2ZXIKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2VydmVyL0lEQlNlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
c2VydmVyL0lEQlNlcnZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYx
ZWZlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zZXJ2ZXIvSURCU2VydmVyLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgSURCU2VydmVyX2gKKyNkZWZpbmUgSURCU2VydmVyX2gKKworI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvQ2xpZW50LmgiCisjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgSURCUmVxdWVzdERhdGE7CisKK25hbWVzcGFjZSBJREJTZXJ2ZXIgeworCitj
bGFzcyBJREJTZXJ2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxJREJTZXJ2ZXI+IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUmVmPElEQlNlcnZlcj4gY3JlYXRlKCk7CisKKyAgICB2b2lkIHJlZ2lzdGVy
Q29ubmVjdGlvbihJREJDb25uZWN0aW9uVG9DbGllbnQmKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJD
b25uZWN0aW9uKElEQkNvbm5lY3Rpb25Ub0NsaWVudCYpOworCisgICAgLy8gT3BlcmF0aW9ucyBy
ZXF1ZXN0ZWQgYnkgdGhlIGNsaWVudC4KKyAgICB2b2lkIGRlbGV0ZURhdGFiYXNlKGNvbnN0IElE
QlJlcXVlc3REYXRhJik7CisKK3ByaXZhdGU6CisgICAgSURCU2VydmVyKCk7CisKKyAgICBIYXNo
TWFwPHVpbnQ2NF90LCBSZWZQdHI8SURCQ29ubmVjdGlvblRvQ2xpZW50Pj4gbV9jb25uZWN0aW9u
TWFwOworfTsKKworfSAvLyBuYW1lc3BhY2UgSURCU2VydmVyCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJT
ZXJ2ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQkVycm9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJFcnJvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhlMTZh
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJFcnJvci5jcHAKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJ
REJFcnJvci5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlIDx3
dGYvTmV2ZXJEZXN0cm95ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY29u
c3Qgc3RkOjpwYWlyPFN0cmluZywgU3RyaW5nPiYgaWRiRXhjZXB0aW9uRW50cnkoSURCRXhjZXB0
aW9uQ29kZSBjb2RlKQoreworICAgIE5ldmVyRGVzdHJveWVkPFZlY3RvcjxzdGQ6OnBhaXI8U3Ry
aW5nLCBTdHJpbmc+Pj4gZW50cmllczsKKyAgICBpZiAoZW50cmllcy5nZXQoKS5pc0VtcHR5KCkp
IHsKKyAgICAgICAgZW50cmllcy5nZXQoKS5hcHBlbmQoc3RkOjptYWtlX3BhaXI8U3RyaW5nLCBT
dHJpbmc+KAorICAgICAgICAgICAgQVNDSUlMaXRlcmFsKCJVbmtub3duRXJyb3IiKSwKKyAgICAg
ICAgICAgIEFTQ0lJTGl0ZXJhbCgiT3BlcmF0aW9uIGZhaWxlZCBmb3IgcmVhc29ucyB1bnJlbGF0
ZWQgdG8gdGhlIGRhdGFiYXNlIGl0c2VsZiBhbmQgbm90IGNvdmVyZWQgYnkgYW55IG90aGVyIGVy
cm9ycy4iKSkpOworICAgIH0KKworICAgIHJldHVybiBlbnRyaWVzLmdldCgpWyhpbnQpY29kZSAt
IDFdOworfQorCitJREJFcnJvcjo6SURCRXJyb3IoSURCRXhjZXB0aW9uQ29kZSBjb2RlKQorICAg
IDogSURCRXJyb3IoY29kZSwgZW1wdHlTdHJpbmcoKSkKK3sKK30KKworSURCRXJyb3I6OklEQkVy
cm9yKElEQkV4Y2VwdGlvbkNvZGUgY29kZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQorICAgIDog
bV9jb2RlKGNvZGUpCisgICAgLCBtX21lc3NhZ2UobWVzc2FnZSkKK3sKK30KKworSURCRXJyb3Im
IElEQkVycm9yOjpvcGVyYXRvcj0oY29uc3QgSURCRXJyb3ImIG90aGVyKQoreworICAgIG1fY29k
ZSA9IG90aGVyLm1fY29kZTsKKyAgICBtX21lc3NhZ2UgPSBvdGhlci5tX21lc3NhZ2U7CisgICAg
cmV0dXJuICp0aGlzOworfQorCitjb25zdCBTdHJpbmcmIElEQkVycm9yOjpuYW1lKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaWRiRXhjZXB0aW9uRW50cnkobV9jb2RlKS5maXJzdDsKK30KKworY29u
c3QgU3RyaW5nJiBJREJFcnJvcjo6bWVzc2FnZSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX21lc3Nh
Z2UuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbV9tZXNzYWdlOworCisgICAgcmV0dXJuIGlk
YkV4Y2VwdGlvbkVudHJ5KG1fY29kZSkuc2Vjb25kOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJFcnJvci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkVycm9yLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY1YzEzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJFcnJvci5oCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIElEQkVycm9yX2gKKyNkZWZpbmUgSURCRXJyb3JfaAorCisjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitlbnVtIGNsYXNzIElEQkV4Y2VwdGlvbkNvZGUgeworICAgIE5vbmUgPSAw
LAorICAgIFVua25vd24gPSAxLAorfTsKKworY2xhc3MgSURCRXJyb3IgeworcHVibGljOgorICAg
IElEQkVycm9yKCkgeyB9CisgICAgSURCRXJyb3IoSURCRXhjZXB0aW9uQ29kZSk7CisgICAgSURC
RXJyb3IoSURCRXhjZXB0aW9uQ29kZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKKworICAgIElE
QkVycm9yJiBvcGVyYXRvcj0oY29uc3QgSURCRXJyb3ImKTsKKworICAgIGNvbnN0IFN0cmluZyYg
bmFtZSgpIGNvbnN0OworICAgIGNvbnN0IFN0cmluZyYgbWVzc2FnZSgpIGNvbnN0OworCisgICAg
Ym9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX2NvZGUgPT0gSURCRXhjZXB0aW9uQ29kZTo6
Tm9uZTsgfQorCitwcml2YXRlOgorICAgIElEQkV4Y2VwdGlvbkNvZGUgbV9jb2RlIHsgSURCRXhj
ZXB0aW9uQ29kZTo6Tm9uZSB9OworICAgIFN0cmluZyBtX21lc3NhZ2U7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNl
bmRpZiAvLyBJREJFcnJvcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi5lZTNlMTJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcApAQCAtMCwwICsx
LDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQlJl
cXVlc3REYXRhLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUg
IklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIgorI2luY2x1ZGUgIklEQk9wZW5EQlJlcXVlc3RJbXBs
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSURCUmVxdWVzdERhdGE6OklEQlJlcXVlc3RE
YXRhKGNvbnN0IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0aW9uLCBj
b25zdCBJREJDbGllbnQ6OklEQk9wZW5EQlJlcXVlc3QmIHJlcXVlc3QpCisgICAgOiBtX3JlcXVl
c3RJZGVudGlmaWVyKGNvbm5lY3Rpb24sIHJlcXVlc3QpCisgICAgLCBtX2RhdGFiYXNlSWRlbnRp
ZmllcihyZXF1ZXN0LmRhdGFiYXNlSWRlbnRpZmllcigpKQoreworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RE
YXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0ZTAwNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJS
ZXF1ZXN0RGF0YS5oCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElEQlJl
cXVlc3REYXRhX2gKKyNkZWZpbmUgSURCUmVxdWVzdERhdGFfaAorCisjaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJEYXRhYmFzZUlkZW50aWZpZXIuaCIKKyNpbmNs
dWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25h
bWVzcGFjZSBJREJDbGllbnQgeworY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOworY2xhc3Mg
SURCT3BlbkRCUmVxdWVzdDsKK30KKworY2xhc3MgSURCUmVxdWVzdERhdGEgeworcHVibGljOgor
ICAgIElEQlJlcXVlc3REYXRhKGNvbnN0IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVy
JiwgY29uc3QgSURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0Jik7CisKKyAgICBJREJSZXF1ZXN0
SWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVxdWVzdElk
ZW50aWZpZXI7IH0KKyAgICBjb25zdCBJREJEYXRhYmFzZUlkZW50aWZpZXImIGRhdGFiYXNlSWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VJZGVudGlmaWVyOyB9CisKK3ByaXZh
dGU6CisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKKyAgICBJ
REJEYXRhYmFzZUlkZW50aWZpZXIgbV9kYXRhYmFzZUlkZW50aWZpZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNl
bmRpZiAvLyBJREJSZXF1ZXN0RGF0YV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdElkZW50aWZpZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDFhZjNhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJ
ZGVudGlmaWVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIklEQlJlcXVlc3RJZGVudGlmaWVyLmgiCisKKyNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIgor
I2luY2x1ZGUgIklEQlJlcXVlc3RJbXBsLmgiCisjaW5jbHVkZSA8V1RGL01haW5UaHJlYWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgdWludDY0X3QgbmV4dFJlcXVlc3ROdW1i
ZXIoKQoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgc3RhdGljIHVpbnQ2NF90
IGN1cnJlbnROdW1iZXIgPSAwOworICAgIHJldHVybiArK2N1cnJlbnROdW1iZXI7Cit9CisKK0lE
QlJlcXVlc3RJZGVudGlmaWVyOjpJREJSZXF1ZXN0SWRlbnRpZmllcigpCisgICAgOiBtX3JlcXVl
c3ROdW1iZXIobmV4dFJlcXVlc3ROdW1iZXIoKSkKK3sKK30KKworSURCUmVxdWVzdElkZW50aWZp
ZXI6OklEQlJlcXVlc3RJZGVudGlmaWVyKGNvbnN0IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRv
U2VydmVyJiBjb25uZWN0aW9uKQorICAgIDogbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVt
YmVyKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKQorICAgICwgbV9yZXF1ZXN0TnVtYmVyKG5leHRS
ZXF1ZXN0TnVtYmVyKCkpCit7Cit9CisKK0lEQlJlcXVlc3RJZGVudGlmaWVyOjpJREJSZXF1ZXN0
SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVj
dGlvbiwgY29uc3QgSURCQ2xpZW50OjpJREJSZXF1ZXN0JiByZXF1ZXN0KQorICAgIDogbV9pZGJD
bGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVtYmVyKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKQorICAg
ICwgbV9yZXF1ZXN0TnVtYmVyKHJlcXVlc3QucmVxdWVzdElkZW50aWZpZXIoKS5tX3JlcXVlc3RO
dW1iZXIpCit7Cit9CisKK0lEQlJlcXVlc3RJZGVudGlmaWVyIElEQlJlcXVlc3RJZGVudGlmaWVy
OjplbXB0eVZhbHVlKCkKK3sKKyAgICBJREJSZXF1ZXN0SWRlbnRpZmllciByZXN1bHQ7CisgICAg
cmVzdWx0Lm1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9IDA7CisgICAgcmVzdWx0
Lm1fcmVxdWVzdE51bWJlciA9IDA7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHQpOworfQor
CitJREJSZXF1ZXN0SWRlbnRpZmllciBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVl
KCkKK3sKKyAgICBJREJSZXF1ZXN0SWRlbnRpZmllciByZXN1bHQ7CisgICAgcmVzdWx0Lm1faWRi
Q2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9IHN0ZDo6bnVtZXJpY19saW1pdHM8aW50NjRf
dD46Om1heCgpOworICAgIHJlc3VsdC5tX3JlcXVlc3ROdW1iZXIgPSBzdGQ6Om51bWVyaWNfbGlt
aXRzPGludDY0X3Q+OjptYXgoKTsKKyAgICByZXR1cm4gV1RGOjptb3ZlKHJlc3VsdCk7Cit9CisK
K2Jvb2wgSURCUmVxdWVzdElkZW50aWZpZXI6OmlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVtYmVyID09IHN0
ZDo6bnVtZXJpY19saW1pdHM8aW50NjRfdD46Om1heCgpCisgICAgICAgICYmIG1fcmVxdWVzdE51
bWJlciA9PSBzdGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVx
dWVzdElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJSZXF1ZXN0SWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmVkMWZjMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdElkZW50aWZpZXIuaApAQCAtMCwwICsxLDExNSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpZm5kZWYgSURCUmVxdWVzdElkZW50aWZpZXJfaAorI2RlZmluZSBJREJS
ZXF1ZXN0SWRlbnRpZmllcl9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitu
YW1lc3BhY2UgSURCQ2xpZW50IHsKK2NsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKK2NsYXNz
IElEQlJlcXVlc3Q7Cit9CisKK2NsYXNzIElEQlJlcXVlc3RJZGVudGlmaWVyIHsKK3B1YmxpYzoK
KyAgICBJREJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25U
b1NlcnZlciYpOworICAgIElEQlJlcXVlc3RJZGVudGlmaWVyKGNvbnN0IElEQkNsaWVudDo6SURC
Q29ubmVjdGlvblRvU2VydmVyJiwgY29uc3QgSURCQ2xpZW50OjpJREJSZXF1ZXN0Jik7CisKKyAg
ICBzdGF0aWMgSURCUmVxdWVzdElkZW50aWZpZXIgZGVsZXRlZFZhbHVlKCk7CisgICAgYm9vbCBp
c0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0OworCisgICAgc3RhdGljIElEQlJlcXVlc3RJ
ZGVudGlmaWVyIGVtcHR5VmFsdWUoKTsKKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7CisgICAg
ICAgIHJldHVybiAhbV9yZXF1ZXN0TnVtYmVyICYmICFtX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rp
b25OdW1iZXI7CisgICAgfQorCisgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0CisgICAgeworICAg
ICAgICB1aW50NjRfdCBoYXNoQ29kZXNbMl0gPSB7IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDY0X3Q+
KG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciksIHN0YXRpY19jYXN0PHVpbnQ2NF90
PihtX3JlcXVlc3ROdW1iZXIpIH07CisgICAgICAgIHJldHVybiBTdHJpbmdIYXNoZXI6Omhhc2hN
ZW1vcnk8c2l6ZW9mKGhhc2hDb2Rlcyk+KGhhc2hDb2Rlcyk7CisgICAgfQorICAgIAorICAgIGJv
b2wgb3BlcmF0b3I9PShjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgb3RoZXIpIGNvbnN0IHsK
KyAgICAgICAgcmV0dXJuIG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9PSBvdGhl
ci5tX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIKKyAgICAgICAgICAgICYmIG1fcmVx
dWVzdE51bWJlciA9PSBvdGhlci5tX3JlcXVlc3ROdW1iZXI7CisgICAgfQorICAgIAorICAgIHVp
bnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGJDbGllbnRT
ZXJ2ZXJDb25uZWN0aW9uTnVtYmVyOyB9CisgICAgCitwcml2YXRlOgorICAgIElEQlJlcXVlc3RJ
ZGVudGlmaWVyKCk7CisgICAgdWludDY0X3QgbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVt
YmVyIHsgMCB9OworICAgIHVpbnQ2NF90IG1fcmVxdWVzdE51bWJlcjsKK307CisKK3N0cnVjdCBJ
REJSZXF1ZXN0SWRlbnRpZmllckhhc2ggeworICAgIHN0YXRpYyB1bnNpZ25lZCBoYXNoKGNvbnN0
IElEQlJlcXVlc3RJZGVudGlmaWVyJiBhKSB7IHJldHVybiBhLmhhc2goKTsgfQorICAgIHN0YXRp
YyBib29sIGVxdWFsKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiBhLCBjb25zdCBJREJSZXF1
ZXN0SWRlbnRpZmllciYgYikgeyByZXR1cm4gYSA9PSBiOyB9CisgICAgc3RhdGljIGNvbnN0IGJv
b2wgc2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQgPSBmYWxzZTsKK307CisKK3N0cnVjdCBJ
REJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHMgOiBXVEY6OkN1c3RvbUhhc2hUcmFpdHM8SURC
UmVxdWVzdElkZW50aWZpZXI+IHsKKyAgICBzdGF0aWMgY29uc3QgYm9vbCBoYXNJc0VtcHR5VmFs
dWVGdW5jdGlvbiA9IHRydWU7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgZW1wdHlWYWx1ZUlzWmVy
byA9IGZhbHNlOworCisgICAgc3RhdGljIElEQlJlcXVlc3RJZGVudGlmaWVyIGVtcHR5VmFsdWUo
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIElEQlJlcXVlc3RJZGVudGlmaWVyOjplbXB0eVZhbHVl
KCk7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgaXNFbXB0eVZhbHVlKGNvbnN0IElEQlJlcXVl
c3RJZGVudGlmaWVyJiBpZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlkZW50aWZp
ZXIuaXNFbXB0eSgpOworICAgIH0KKworICAgIHN0YXRpYyB2b2lkIGNvbnN0cnVjdERlbGV0ZWRW
YWx1ZShJREJSZXF1ZXN0SWRlbnRpZmllciYgaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIGlk
ZW50aWZpZXIgPSBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKCk7CisgICAgfQor
CisgICAgc3RhdGljIGJvb2wgaXNEZWxldGVkVmFsdWUoY29uc3QgSURCUmVxdWVzdElkZW50aWZp
ZXImIGlkZW50aWZpZXIpCisgICAgeworICAgICAgICByZXR1cm4gaWRlbnRpZmllci5pc0hhc2hU
YWJsZURlbGV0ZWRWYWx1ZSgpOworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEhhc2hUcmFpdHM8V2ViQ29y
ZTo6SURCUmVxdWVzdElkZW50aWZpZXI+IDogV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXJI
YXNoVHJhaXRzIHsgfTsKK3RlbXBsYXRlPD4gc3RydWN0IERlZmF1bHRIYXNoPFdlYkNvcmU6OklE
QlJlcXVlc3RJZGVudGlmaWVyPiB7CisgICAgdHlwZWRlZiBXZWJDb3JlOjpJREJSZXF1ZXN0SWRl
bnRpZmllckhhc2ggSGFzaDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisjZW5kaWYgLy8g
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCUmVxdWVzdElkZW50aWZpZXJf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlc3VsdERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVk
L0lEQlJlc3VsdERhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIz
ODczMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCUmVzdWx0RGF0YS5jcHAKQEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisKKyNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitJREJSZXN1
bHREYXRhOjpJREJSZXN1bHREYXRhKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiByZXF1ZXN0
SWRlbnRpZmllciwgY29uc3QgSURCRXJyb3ImIGVycm9yKQorICAgIDogbV9yZXF1ZXN0SWRlbnRp
ZmllcihyZXF1ZXN0SWRlbnRpZmllcikKKyAgICAsIG1fZXJyb3IoZXJyb3IpCit7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
QlJlc3VsdERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJSZXN1bHREYXRhLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2YzNm
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JREJSZXN1bHREYXRhLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgSURCUmVzdWx0RGF0YV9oCisjZGVmaW5lIElEQlJlc3VsdERhdGFfaAorCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJFcnJvci5oIgorI2luY2x1ZGUgIklE
QlJlcXVlc3RJZGVudGlmaWVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSURC
UmVxdWVzdElkZW50aWZpZXI7CisKK2NsYXNzIElEQlJlc3VsdERhdGEgeworcHVibGljOgorICAg
IElEQlJlc3VsdERhdGEoY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImLCBjb25zdCBJREJFcnJv
ciYpOworCisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlmaWVyOyB9CisgICAgCisgICAgY29uc3QgSURCRXJy
b3ImIGVycm9yKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIAorcHJpdmF0ZToKKyAg
ICBJREJSZXF1ZXN0SWRlbnRpZmllciBtX3JlcXVlc3RJZGVudGlmaWVyOworICAgIElEQkVycm9y
IG1fZXJyb3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJSZXN1bHREYXRhX2gKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJT
ZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJv
Y2Vzc0lEQlNlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk1
OWVmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCkBAIC0wLDAgKzEsOTAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSW5Qcm9jZXNzSURCU2VydmVyLmgi
CisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkNvbm5lY3Rp
b25Ub0NsaWVudC5oIgorI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIgorI2luY2x1
ZGUgIklEQk9wZW5EQlJlcXVlc3RJbXBsLmgiCisjaW5jbHVkZSAiSURCUmVxdWVzdERhdGEuaCIK
KyNpbmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1
ZGUgPHd0Zi9SdW5Mb29wLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEluUHJvY2Vz
c0lEQlNlcnZlcj4gSW5Qcm9jZXNzSURCU2VydmVyOjpjcmVhdGUoKQoreworICAgIFJlZjxJblBy
b2Nlc3NJREJTZXJ2ZXI+IHNlcnZlciA9IGFkb3B0UmVmKCpuZXcgSW5Qcm9jZXNzSURCU2VydmVy
KTsKKyAgICBzZXJ2ZXItPm1fc2VydmVyLT5yZWdpc3RlckNvbm5lY3Rpb24oc2VydmVyLT5jb25u
ZWN0aW9uVG9DbGllbnQoKSk7CisgICAgcmV0dXJuIFdURjo6bW92ZShzZXJ2ZXIpOworfQorCitJ
blByb2Nlc3NJREJTZXJ2ZXI6OkluUHJvY2Vzc0lEQlNlcnZlcigpCisgICAgOiBtX3NlcnZlcihJ
REJTZXJ2ZXI6OklEQlNlcnZlcjo6Y3JlYXRlKCkpCit7CisgICAgcmVsYXhBZG9wdGlvblJlcXVp
cmVtZW50KCk7CisgICAgbV9jb25uZWN0aW9uVG9TZXJ2ZXIgPSBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub1NlcnZlcjo6Y3JlYXRlKCp0aGlzKTsKKyAgICBtX2Nvbm5lY3Rpb25Ub0NsaWVudCA9
IElEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50OjpjcmVhdGUoKnRoaXMpOworfQorCit1
aW50NjRfdCBJblByb2Nlc3NJREJTZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25zdAoreworICAgIC8v
IEFuIGluc3RhbmNlIG9mIEluUHJvY2Vzc0lEQlNlcnZlciBhbHdheXMgaGFzIGEgMToxIHJlbGF0
aW9uc2hpcCB3aXRoIGl0cyBpbnN0YW5jZSBvZiBJREJTZXJ2ZXIuCisgICAgLy8gVGhlcmVmb3Jl
IHRoZSBjb25uZWN0aW9uIGlkZW50aWZpZXIgYmV0d2VlbiB0aGUgdHdvIGNhbiBhbHdheXMgYmUg
IjEiLgorICAgIHJldHVybiAxOworfQorCitJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgSW5Qcm9jZXNzSURCU2VydmVyOjpjb25uZWN0aW9uVG9TZXJ2ZXIoKSBjb25zdAoreworICAg
IHJldHVybiAqbV9jb25uZWN0aW9uVG9TZXJ2ZXI7Cit9CisKK0lEQlNlcnZlcjo6SURCQ29ubmVj
dGlvblRvQ2xpZW50JiBJblByb2Nlc3NJREJTZXJ2ZXI6OmNvbm5lY3Rpb25Ub0NsaWVudCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuICptX2Nvbm5lY3Rpb25Ub0NsaWVudDsKK30KKwordm9pZCBJblBy
b2Nlc3NJREJTZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlKElEQlJlcXVlc3REYXRhJiByZXF1ZXN0RGF0
YSkKK3sKKyAgICBSZWZQdHI8SW5Qcm9jZXNzSURCU2VydmVyPiBzZWxmKHRoaXMpOworICAgIFJ1
bkxvb3A6OmN1cnJlbnQoKS5kaXNwYXRjaChbdGhpcywgc2VsZiwgcmVxdWVzdERhdGFdIHsKKyAg
ICAgICAgbV9zZXJ2ZXItPmRlbGV0ZURhdGFiYXNlKHJlcXVlc3REYXRhKTsKKyAgICB9KTsKK30K
Kwordm9pZCBJblByb2Nlc3NJREJTZXJ2ZXI6OmRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJl
c3VsdERhdGEmIHJlc3VsdERhdGEpCit7CisgICAgUmVmUHRyPEluUHJvY2Vzc0lEQlNlcnZlcj4g
c2VsZih0aGlzKTsKKyAgICBSdW5Mb29wOjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHNlbGYs
IHJlc3VsdERhdGFdIHsKKyAgICAgICAgbV9jb25uZWN0aW9uVG9TZXJ2ZXItPmRpZERlbGV0ZURh
dGFiYXNlKHJlc3VsdERhdGEpOworICAgIH0pO30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmI0YWQ1OQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nl
c3NJREJTZXJ2ZXIuaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJblBy
b2Nlc3NJREJTZXJ2ZXJfaAorI2RlZmluZSBJblByb2Nlc3NJREJTZXJ2ZXJfaAorCisjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9DbGllbnQu
aCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNsdWRlICJJREJPcGVu
REJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgIklEQlNlcnZlci5oIgorI2luY2x1ZGUgPHd0Zi9I
YXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNwYWNlIElEQkNsaWVudCB7Citj
bGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7Cit9CisKK25hbWVzcGFjZSBJREJTZXJ2ZXIgewor
Y2xhc3MgSURCU2VydmVyOworfQorCitjbGFzcyBJblByb2Nlc3NJREJTZXJ2ZXIgZmluYWwgOiBw
dWJsaWMgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSwgcHVibGljIElE
QlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUsIHB1YmxpYyBSZWZDb3VudGVk
PEluUHJvY2Vzc0lEQlNlcnZlcj4geworcHVibGljOgorICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRp
YyBSZWY8SW5Qcm9jZXNzSURCU2VydmVyPiBjcmVhdGUoKTsKKworICAgIFdFQkNPUkVfRVhQT1JU
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0aW9uVG9TZXJ2ZXIoKSBj
b25zdDsKKyAgICBJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvblRv
Q2xpZW50KCkgY29uc3Q7CisKKyAgICAvLyBJREJDb25uZWN0aW9uVG9TZXJ2ZXIKKyAgICB2aXJ0
dWFsIHZvaWQgZGVsZXRlRGF0YWJhc2UoSURCUmVxdWVzdERhdGEmKSBvdmVycmlkZSBmaW5hbDsK
KyAgICAKKyAgICAvLyBJREJDb25uZWN0aW9uVG9DbGllbnQKKyAgICB2aXJ0dWFsIHVpbnQ2NF90
IGlkZW50aWZpZXIoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkRGVsZXRl
RGF0YWJhc2UoY29uc3QgSURCUmVzdWx0RGF0YSYpIG92ZXJyaWRlIGZpbmFsOworCisgICAgdmly
dHVhbCB2b2lkIHJlZigpIG92ZXJyaWRlIHsgUmVmQ291bnRlZDxJblByb2Nlc3NJREJTZXJ2ZXI+
OjpyZWYoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpIG92ZXJyaWRlIHsgUmVmQ291bnRl
ZDxJblByb2Nlc3NJREJTZXJ2ZXI+OjpkZXJlZigpOyB9CisKK3ByaXZhdGU6CisgICAgSW5Qcm9j
ZXNzSURCU2VydmVyKCk7CisKKyAgICBSZWY8SURCU2VydmVyOjpJREJTZXJ2ZXI+IG1fc2VydmVy
OworICAgIFJlZlB0cjxJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcj4gbV9jb25uZWN0
aW9uVG9TZXJ2ZXI7CisgICAgUmVmUHRyPElEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50
PiBtX2Nvbm5lY3Rpb25Ub0NsaWVudDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIEluUHJvY2Vzc0lE
QlNlcnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggNjdkMWIwMi4uYzQ2MDA2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTkxMCwzMCArMTkxMCwyNCBA
QAogCQk1MTAzMTA0RjFCQThDQzAzMDAzMzI5QzAgLyogSURCRmFjdG9yeUltcGwuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzEwNEExQkE4QzZB
NjAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmNwcCAqLzsgfTsKIAkJNTEwMzEwNTAxQkE4Q0Mw
MzAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAzMTA0QjFCQThDNkE2MDAzMzI5QzAgLyogSURCRmFjdG9y
eUltcGwuaCAqLzsgfTsKIAkJNTEwMzEwNUExQkE4REI1NjAwMzMyOUMwIC8qIElEQk9wZW5EQlJl
cXVlc3RJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMDMxMDU2MUJBOERCMzAwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAg
Ki87IH07Ci0JCTUxMDMxMDVCMUJBOERCNTYwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1w
bC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzEw
NTcxQkE4REIzMDAwMzMyOUMwIC8qIElEQk9wZW5EQlJlcXVlc3RJbXBsLmggKi87IH07CisJCTUx
MDMxMDVCMUJBOERCNTYwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzEwNTcxQkE4REIzMDAw
MzMyOUMwIC8qIElEQk9wZW5EQlJlcXVlc3RJbXBsLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwMzEwNUMxQkE4REI1NjAwMzMyOUMwIC8qIElE
QlJlcXVlc3RJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMDMxMDU4MUJBOERCMzAwMDMzMjlDMCAvKiBJREJSZXF1ZXN0SW1wbC5jcHAgKi87
IH07Ci0JCTUxMDMxMDVEMUJBOERCNTYwMDMzMjlDMCAvKiBJREJSZXF1ZXN0SW1wbC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwMzEwNTkxQkE4REIz
MDAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmggKi87IH07Ci0JCTUxMDMxMDYwMUJBOEUwRTMw
MDMzMjlDMCAvKiBJREJEYXRhYmFzZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDVGMUJBOEUwOTAwMDMzMjlDMCAvKiBJREJE
YXRhYmFzZUlkZW50aWZpZXIuaCAqLzsgfTsKLQkJNTEwMzEwNjExQkE4RTEwRDAwMzMyOUMwIC8q
IElEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTAzMTA1RTFCQThFMDkwMDAzMzI5QzAgLyogSURCRGF0YWJhc2VJ
ZGVudGlmaWVyLmNwcCAqLzsgfTsKKwkJNTEwMzEwNUQxQkE4REI1NjAwMzMyOUMwIC8qIElEQlJl
cXVlc3RJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTAzMTA1OTFCQThEQjMwMDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTAzQzJCMTFCQTIyRDFB
MDBFMjYzMzcgLyogTGVnYWN5QW55LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjZFMUJBMEE3NjEwMEY3ODlDRSAvKiBMZWdhY3lBbnkuY3Bw
ICovOyB9OwotCQk1MTAzQzJCMjFCQTIzMTc0MDBFMjYzMzcgLyogSURCVHJhbnNhY3Rpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNTAx
QjlGODg5QjAwRjc4OUNFIC8qIElEQlRyYW5zYWN0aW9uLmNwcCAqLzsgfTsKLQkJNTEwM0MyQjMx
QkEyMzI0RDAwRTI2MzM3IC8qIElEQkN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1NDFCOUY4OEU4MDBGNzg5Q0UgLyogSURCQ3Vy
c29yLmNwcCAqLzsgfTsKLQkJNTEwM0MyQjQxQkEyMzJBRTAwRTI2MzM3IC8qIElEQkN1cnNvcldp
dGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTY0NUI0MjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCQ3Vyc29yV2l0aFZhbHVlLmNwcCAqLzsg
fTsKLQkJNTEwM0MyQjUxQkEyMzJENDAwRTI2MzM3IC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQ0MUI5Rjg4OUIw
MEY3ODlDRSAvKiBJREJEYXRhYmFzZS5jcHAgKi87IH07Ci0JCTUxMDNDMkI2MUJBMjMzQkYwMEUy
NjMzNyAvKiBJREJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxNjQ1QjRFMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJSZXF1ZXN0LmNwcCAq
LzsgfTsKLQkJNTEwM0MyQjcxQkEyMzNDNDAwRTI2MzM3IC8qIElEQk9wZW5EQlJlcXVlc3QuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEMx
QjlGODg5QjAwRjc4OUNFIC8qIElEQk9wZW5EQlJlcXVlc3QuY3BwICovOyB9OwotCQk1MTAzQzJC
ODFCQTIzNUM1MDBFMjYzMzcgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUyMUI5Rjg4OUIwMEY3
ODlDRSAvKiBJREJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwICovOyB9OwogCQk1MTAzQzJCOTFCQTIz
QTI2MDBFMjYzMzcgLyogTGVnYWN5QW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI2RjFCQTBBNzYxMDBGNzg5Q0UgLyogTGVnYWN5QW55Lmgg
Ki87IH07CiAJCTUxMDZEN0JEMThCREI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwNkQ3
QkIxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5jcHAgKi87IH07CiAJCTUx
MDZEN0JFMThCREI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDZEN0JDMThCREI3NkYwMDBB
QjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTBBMzI2RjE4MzE4NDMxMDAzQzUzMjYgLyogSURCU2Vy
dmVyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEwQTMyNkUxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24uaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTBBNThF
NDFCQUE0MEIxMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEUyMUJBQTQwQUUwMEMxOTI4
MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuY3BwICovOyB9OworCQk1MTBBNThFNTFCQUE0MEIxMDBD
MTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFMzFCQUE0MEFFMDBDMTkyODIgLyogSW5Qcm9jZXNz
SURCU2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNTEwQTU4RjkxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEY1MUJBQ0M0
QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgKi87IH07CisJCTUxMEE1OEZBMUJBQ0M3
RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RjYxQkFDQzRBNTAwQzE5MjgyIC8qIElEQlJlcXVl
c3REYXRhLmggKi87IH07CisJCTUxMEE1OEZCMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0
SWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTBBNThFNjFCQUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuY3Bw
ICovOyB9OworCQk1MTBBNThGQzFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1
OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMEQ0QTMzMTAzMTY1RUUw
MDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1FcnJvckJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwRDRBMkQxMDMxNjVFRTAwNDlFQTU0IC8qIFNv
Y2tldFN0cmVhbUVycm9yQmFzZS5jcHAgKi87IH07CiAJCTUxMEQ0QTM0MTAzMTY1RUUwMDQ5RUE1
NCAvKiBTb2NrZXRTdHJlYW1FcnJvckJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0QTJFMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1FcnJvckJhc2UuaCAqLzsgfTsKIAkJNTEwRDRBMzYxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tl
dFN0cmVhbUhhbmRsZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEwRDRBMzAxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRs
ZUJhc2UuY3BwICovOyB9OwogCQk1MTBENEEzNzEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3Ry
ZWFtSGFuZGxlQmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEwRDRBMzExMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZUJhc2Uu
aCAqLzsgfTsKIAkJNTEwRDRBMzgxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRs
ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEwRDRBMzIxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhhbmRsZUNsaWVudC5oICov
OyB9OwotCQk1MTFFQzFBNjE4OERBQ0E0MDBCQTNFQjYgLyogSURCS2V5RGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxQTUxODhEQUNBNDAw
QkEzRUI2IC8qIElEQktleURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQk1MTFFQzFBODE4OERBRTdCMDBCQTNFQjYgLyogSURCS2V5RGF0YS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFQzFB
NzE4OERBRTdCMDBCQTNFQjYgLyogSURCS2V5RGF0YS5jcHAgKi87IH07CiAJCTUxMUVGMkMwMTdG
MEZEMzUwMEU0RkExNiAvKiBKU0lEQkFueS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFRjJBODE3RjBGQzQ4MDBFNEZBMTYgLyogSlNJREJBbnku
Y3BwICovOyB9OwogCQk1MTFFRjJDMTE3RjBGRDM1MDBFNEZBMTYgLyogSlNJREJDdXJzb3IuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUYyQTkx
N0YwRkM0ODAwRTRGQTE2IC8qIEpTSURCQ3Vyc29yLmNwcCAqLzsgfTsKIAkJNTExRUYyQzIxN0Yw
RkQzNTAwRTRGQTE2IC8qIEpTSURCQ3Vyc29yV2l0aFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkFBMTdGMEZDNDgwMEU0RkExNiAv
KiBKU0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAgKi87IH07CkBAIC0xOTQ5LDkgKzE5NDMsNiBAQAog
CQk1MTFFRjJDRjE3RjBGREYxMDBFNEZBMTYgLyogSlNJREJBbnlDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUYyQ0MxN0YwRkRGMTAw
RTRGQTE2IC8qIEpTSURCQW55Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNTExRUYyRDAxN0YwRkRGMTAw
RTRGQTE2IC8qIEpTSURCRGF0YWJhc2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUYyQ0QxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURC
RGF0YWJhc2VDdXN0b20uY3BwICovOyB9OwogCQk1MTFFRjJEMTE3RjBGREYxMDBFNEZBMTYgLyog
SlNJREJPYmplY3RTdG9yZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTFFRjJDRTE3RjBGREYxMDBFNEZBMTYgLyogSlNJREJPYmplY3RT
dG9yZUN1c3RvbS5jcHAgKi87IH07Ci0JCTUxMjNBRjE4MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJL
ZXlSYW5nZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEyM0FGMTYxODkwQTRDQTAwMzFDREM5IC8qIElEQktleVJhbmdlRGF0YS5jcHAgKi87
IH07Ci0JCTUxMjNBRjE5MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjNBRjE3MTg5MEE0
Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTIzQUYxRDE4OTE4QUU0MDAzMUNEQzkgLyogSURC
R2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTIzQUYxQzE4OTE4QUU0MDAzMUNEQzkgLyogSURCR2V0UmVzdWx0LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEyNkU2QkIwQTJFM0IxMjAw
NUMyOUZBIC8qIEljb25EYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTI2RTZCOTBBMkUzQjEyMDA1QzI5RkEgLyogSWNvbkRhdGFiYXNl
LmNwcCAqLzsgfTsKIAkJNTEyNkU2QkMwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyNkU2QkEw
QTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBT
aGFyZWRCdWZmZXJDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTJERDhFMjBEOTFFMkI0MDAwRjg5RUUgLyogU2hhcmVkQnVmZmVyQ0YuY3BwICov
OyB9OwpAQCAtMTk2NCwxMyArMTk1NSwxNCBAQAogCQk1MTJERDhGQjBEOTFFNkFGMDAwRjg5RUUg
LyogQXJjaGl2ZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxMkREOEYxMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlUmVzb3VyY2Uu
Y3BwICovOyB9OwogCQk1MTJERDhGQzBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTJERDhG
MjBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEyREQ4RkQwRDkxRTZBRjAwMEY4OUVF
IC8qIEFyY2hpdmVGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTJERDhGMzBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZUZhY3RvcnkuaCAq
LzsgfTsKLQkJNTEyRUE5QkUxODIwMjg1NzAwMUQwMUUwIC8qIElEQk9wZXJhdGlvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyRUE5QkQxODIwMjg1
NzAwMUQwMUUwIC8qIElEQk9wZXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxMzI3RDYwMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9j
dW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
MzI3RDVFMTFBMzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuaCAqLzsgfTsKIAkJNTEzMjdE
NjExMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTMyN0Q1RjExQTMzQTJCMDA0RjlENjUgLyog
U2lua0RvY3VtZW50LmNwcCAqLzsgfTsKIAkJNTEzRjE0NTMwQUI2MzRDNDAwMDk0RERGIC8qIElj
b25Mb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEzRjE0NTEwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuY3BwICovOyB9OwogCQk1
MTNGMTQ1NDBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEzRjE0NTIwQUI2MzRDNDAwMDk0RERGIC8q
IEljb25Mb2FkZXIuaCAqLzsgfTsKIAkJNTE0MDVDODgxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVj
dGlvblJlY3RHYXRoZXJlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTQwNUM4NjE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhl
cmVyLmNwcCAqLzsgfTsKIAkJNTE0MDVDODkxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJl
Y3RHYXRoZXJlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE0MDVDODcxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNDg0NTNF
MUJCOUQwN0UwMDZBNzJFRCAvKiBJREJFcnJvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ4NDUzQzFCQjlEMDc2MDA2QTcyRUQgLyogSURCRXJy
b3IuY3BwICovOyB9OworCQk1MTQ4NDUzRjFCQjlEMDdFMDA2QTcyRUQgLyogSURCRXJyb3IuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNDg0NTNEMUJC
OUQwNzYwMDZBNzJFRCAvKiBJREJFcnJvci5oICovOyB9OwogCQk1MTRCM0Y3MzBDNzIyMDQ3MDAw
NTMwREYgLyogRmlsZVN5c3RlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE0QjNGNzIwQzcyMjA0NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRCM0Y3NjBD
NzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3RlbU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEIzRjc1MEM3MjIwNTUwMDA1MzBERiAvKiBGaWxl
U3lzdGVtTWFjLm1tICovOyB9OwogCQk1MTRDNzYzNzBDRTkyMjVFMDA3RUYzQ0QgLyogSlNTUUxF
cnJvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTRDNzYzNTBDRTkyMjVFMDA3RUYzQ0QgLyogSlNTUUxFcnJvci5jcHAgKi87IH07CkBAIC0yMDAw
LDE1ICsxOTkyLDExIEBACiAJCTUxNEM3NjdEMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJl
cXVlc3RCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTRDNzY2ODBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNEM3NjdFMENF
OTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlc3BvbnNlQmFzZS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2OTBDRTkyM0ExMDA3RUYzQ0Qg
LyogUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwICovOyB9OwogCQk1MTRDNzY3RjBDRTkyM0ExMDA3
RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEM3NjZBMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJj
ZVJlc3BvbnNlQmFzZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07Ci0JCTUxNTdENDY0MUJBMjRBRUUwMDg1Q0EyRiAvKiBJREJGYWN0b3J5LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQ2MUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJGYWN0b3J5LmNwcCAqLzsgfTsKLQkJNTE1N0Q0NjUxQkEyNEFGODAw
ODVDQTJGIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxNjQ1QjQ4MUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJJbmRleC5jcHAgKi87
IH07Ci0JCTUxNTdENDY2MUJBMjRBRkQwMDg1Q0EyRiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0QTFCOUY4
ODlCMDBGNzg5Q0UgLyogSURCT2JqZWN0U3RvcmUuY3BwICovOyB9OwogCQk1MTYwMzAwQjBDQzQy
NTEyMDBDOEFDMjUgLyogRmlsZVN5c3RlbVBPU0lYLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjAzMDBBMENDNDI1MTIwMEM4QUMyNSAvKiBGaWxl
U3lzdGVtUE9TSVguY3BwICovOyB9OwogCQk1MTYwMzA2QzBDQzQzNjIzMDBDOEFDMjUgLyogRmls
ZVN5c3RlbUNGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNjAzMDZCMENDNDM2MjMwMEM4QUMyNSAvKiBGaWxlU3lzdGVtQ0YuY3BwICovOyB9Owog
CQk1MTYwRjQ5ODBCMEFBNzVGMDBDMUQyQUYgLyogSGlzdG9yeUl0ZW1NYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwRjQ5NzBCMEFBNzVGMDBD
MUQyQUYgLyogSGlzdG9yeUl0ZW1NYWMubW0gKi87IH07CiAJCTUxNjJDN0Y0MTFGNzdFRkIwMDYx
MkVGRSAvKiBTY2hlbWVSZWdpc3RyeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTYyQzdGMjExRjc3RUZBMDA2MTJFRkUgLyogU2NoZW1lUmVnaXN0
cnkuY3BwICovOyB9OwogCQk1MTYyQzdGNTExRjc3RUZCMDA2MTJFRkUgLyogU2NoZW1lUmVnaXN0
cnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjJD
N0YzMTFGNzdFRkIwMDYxMkVGRSAvKiBTY2hlbWVSZWdpc3RyeS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxNjMxMTdEMTg1MTI0MkIwMDUzNDY0
NyAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjMxMTdDMTg1MTI0MkIwMDUzNDY0NyAvKiBJREJEYXRhYmFz
ZU1ldGFkYXRhLmNwcCAqLzsgfTsKIAkJNTE2NDVCNUExQjlGQTZDODAwRjc4OUNFIC8qIExlZ2Fj
eUN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTY0NUIyODFCOUY2MzkxMDBGNzg5Q0UgLyogTGVnYWN5Q3Vyc29yLmNwcCAqLzsgfTsKIAkJ
NTE2NDVCNUIxQjlGQTZDODAwRjc4OUNFIC8qIExlZ2FjeUN1cnNvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCMjkxQjlGNjM5MTAwRjc4OUNF
IC8qIExlZ2FjeUN1cnNvci5oICovOyB9OwogCQk1MTY0NUI1QzFCOUZBNkM4MDBGNzg5Q0UgLyog
TGVnYWN5Q3Vyc29yV2l0aFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjJBMUI5RjYzOTEwMEY3ODlDRSAvKiBMZWdhY3lDdXJzb3JX
aXRoVmFsdWUuY3BwICovOyB9OwpAQCAtMjAzNSw2ICsyMDIzLDEwIEBACiAJCTUxNkM2MjIwMTk1
MEQ0ODcwMDMzN0U3NSAvKiBHYW1lcGFkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2QzYyMUQxOTUwRDQ4NzAwMzM3RTc1IC8qIEdhbWVw
YWRFdmVudC5jcHAgKi87IH07CiAJCTUxNkM2MjIxMTk1MEQ0ODcwMDMzN0U3NSAvKiBHYW1lcGFk
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NkM2MjFFMTk1MEQ0ODcwMDMzN0U3NSAvKiBHYW1lcGFkRXZlbnQuaCAqLzsgfTsKIAkJNTE2QzYy
MjUxOTUwRTJCOTAwMzM3RTc1IC8qIEpTR2FtZXBhZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNkM2MjIzMTk1MEUyQjkwMDMzN0U3NSAv
KiBKU0dhbWVwYWRFdmVudC5jcHAgKi87IH07CisJCTUxNkQ3RDZGMUJCNUYwQkQwMEFGN0M3NyAv
KiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE4NUZDQkMxQkI1Q0I3NzAwMTI4OThGIC8qIElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5jcHAgKi87IH07CisJCTUxNkQ3RDcwMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE4NUZDQkQxQkI1Q0I3NzAwMTI4OThGIC8qIElEQkNvbm5lY3Rp
b25Ub1NlcnZlckRlbGVnYXRlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNTE2RDdENzExQkI1RjBCRDAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25U
b0NsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTZEN0Q2RDFCQjVGMDY1MDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcCAq
LzsgfTsKKwkJNTE2RDdENzIxQkI1RjBCRDAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVu
dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTZEN0Q2RTFCQjVGMDY1MDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTc0MUQwRjBCMDcyNTlBMDBFRDQ0MkMgLyogQmFja0ZvcndhcmRDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNzQxRDBCMEIwNzI1OUEwMEVE
NDQyQyAvKiBCYWNrRm9yd2FyZENsaWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxNzQxRDExMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5
SXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3
NDFEMEQwQjA3MjU5QTAwRUQ0NDJDIC8qIEhpc3RvcnlJdGVtLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE3NDFEMTIwQjA3MjU5QTAwRUQ0NDJD
IC8qIEhpc3RvcnlJdGVtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxNzQxRDBFMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5jcHAgKi87
IH07CkBAIC0yMDQ5LDYgKzIwNDEsNjMgQEAKIAkJNTE3QTYzQzUxQjc0MzE4RjAwRTdEQ0RDIC8q
IEtleWVkRGVjb2RlckNGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTdBNjNDMDFCNzQzMTdFMDBFN0RDREMgLyogS2V5ZWREZWNvZGVyQ0YuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTdBNjNDNjFC
NzQzMTkyMDBFN0RDREMgLyogS2V5ZWRFbmNvZGVyQ0YuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0E2M0MyMUI3NDMxN0UwMEU3RENEQyAvKiBLZXll
ZEVuY29kZXJDRi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxN0ZCQTFFMTUxQUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE3RkJBMTcx
NTFBQTcxQjAwQjU3OTU5IC8qIERPTVdpbmRvd0V4dGVuc2lvbi5jcHAgKi87IH07CisJCTUxODVG
QzVCMUJCNEJFNEMwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEZEMUJCMDdBOTYwMEMx
OTI4MiAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxRDcxOTZDMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRl
eGVkRGF0YWJhc2UuY3BwICovOyB9OworCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmggKi87IH07CisJCTUxODVGQzc3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJBbnku
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5
NkYxODExMDZERjAwMTZEQzUxIC8qIElEQkFueS5jcHAgKi87IH07CisJCTUxODVGQzc4MUJCNEM0
RTgwMDEyODk4RiAvKiBJREJBbnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDcxOTcwMTgxMTA2REYwMDE2REM1MSAvKiBJREJBbnkuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkM3QTFCQjRD
NEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjU0MUI5Rjg4RTgwMEY3ODlDRSAvKiBJREJDdXJzb3Iu
Y3BwICovOyB9OworCQk1MTg1RkM3QjFCQjRDNEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0MTFCOUY4
ODlCMDBGNzg5Q0UgLyogSURCQ3Vyc29yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDN0QxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNv
cldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTY0NUI0MjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCQ3Vyc29yV2l0aFZhbHVlLmNwcCAq
LzsgfTsKKwkJNTE4NUZDN0UxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDMx
QjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5oICovOyB9OworCQk1MTg1RkM4
MDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDQxQjlGODg5QjAwRjc4OUNFIC8qIElE
QkRhdGFiYXNlLmNwcCAqLzsgfTsKKwkJNTE4NUZDODExQkI0QzRFODAwMTI4OThGIC8qIElEQkRh
dGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTY0NUI0NTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCRGF0YWJhc2UuaCAqLzsgfTsKKwkJNTE4NUZD
ODMxQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlRXJyb3IuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTgzMTgxMTA2REYwMDE2REM1MSAv
KiBJREJEYXRhYmFzZUVycm9yLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJNTE4NUZDODQxQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRDcxOTg0MTgxMTA2REYwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgKi87
IH07CisJCTUxODVGQzg1MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODUx
ODExMDZERjAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDODYxQkI0QzRFODAwMTI4
OThGIC8qIElEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAzMTA1RTFCQThFMDkwMDAzMzI5QzAgLyogSURCRGF0
YWJhc2VJZGVudGlmaWVyLmNwcCAqLzsgfTsKKwkJNTE4NUZDODcxQkI0QzRFODAwMTI4OThGIC8q
IElEQkRhdGFiYXNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwMzEwNUYxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNlSWRl
bnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CisJCTUxODVGQzg4MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjMxMTdDMTg1
MTI0MkIwMDUzNDY0NyAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmNwcCAqLzsgfTsKKwkJNTE4NUZD
ODkxQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzk2MTFBMTgzRDJCODAwMEQyMDAy
RSAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDOEExQkI0QzRFODAwMTI4OThGIC8qIElEQkV2ZW50
RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUQ3MTk4NjE4MTEwNkRGMDAxNkRDNTEgLyogSURCRXZlbnREaXNwYXRjaGVyLmNwcCAq
LzsgfTsKKwkJNTE4NUZDOEIxQkI0QzRFODAwMTI4OThGIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODcx
ODExMDZERjAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oICovOyB9OworCQk1MTg1RkM4
QzFCQjRDNEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NjFCOUY4ODlCMDBGNzg5Q0UgLyogSURC
RmFjdG9yeS5jcHAgKi87IH07CisJCTUxODVGQzhEMUJCNEM0RTgwMDEyODk4RiAvKiBJREJGYWN0
b3J5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0
NUI0NzFCOUY4ODlCMDBGNzg5Q0UgLyogSURCRmFjdG9yeS5oICovOyB9OworCQk1MTg1RkM4RjFC
QjRDNEU4MDAxMjg5OEYgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIzQUYxQzE4OTE4QUU0MDAzMUNEQzkgLyogSURCR2V0
UmVzdWx0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJNTE4NUZDOTAxQkI0QzRFODAwMTI4OThGIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQ4MUI5Rjg4OUIwMEY3ODlD
RSAvKiBJREJJbmRleC5jcHAgKi87IH07CisJCTUxODVGQzkxMUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJJbmRleC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTE2NDVCNDkxQjlGODg5QjAwRjc4OUNFIC8qIElEQkluZGV4LmggKi87IH07CisJCTUxODVGQzkz
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRleE1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFCQjVCNjE4NkQwRUQxMDA4MzkxQTEgLyog
SURCSW5kZXhNZXRhZGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTUxODVGQzk0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTExODExMDZF
MDAwMTZEQzUxIC8qIElEQktleS5jcHAgKi87IH07CisJCTUxODVGQzk1MUJCNEM0RTgwMDEyODk4
RiAvKiBJREJLZXkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRDcxOTkyMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkM5NjFCQjRDNEU4MDAxMjg5
OEYgLyogSURCS2V5RGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTFFQzFBNzE4OERBRTdCMDBCQTNFQjYgLyogSURCS2V5RGF0YS5jcHAgKi87
IH07CisJCTUxODVGQzk3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlEYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFQzFBNTE4OERBQ0E0MDBC
QTNFQjYgLyogSURCS2V5RGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxODVGQzk4MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTkz
MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQYXRoLmNwcCAqLzsgfTsKKwkJNTE4NUZDOTkxQkI0
QzRFODAwMTI4OThGIC8qIElEQktleVBhdGguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTk0MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQYXRo
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4
NUZDOUExQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJhbmdlLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTk1MTgxMTA2RTAwMDE2REM1MSAv
KiBJREJLZXlSYW5nZS5jcHAgKi87IH07CisJCTUxODVGQzlCMUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJLZXlSYW5nZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFENzE5OTYxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVJhbmdlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDOUQxQkI0QzRFODAw
MTI4OThGIC8qIElEQktleVJhbmdlRGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIzQUYxNjE4OTBBNENBMDAzMUNEQzkgLyogSURCS2V5UmFu
Z2VEYXRhLmNwcCAqLzsgfTsKKwkJNTE4NUZDOUUxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJh
bmdlRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEyM0FGMTcxODkwQTRDQTAwMzFDREM5IC8qIElEQktleVJhbmdlRGF0YS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzlGMUJCNEM0RTgw
MDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0QTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCT2JqZWN0
U3RvcmUuY3BwICovOyB9OworCQk1MTg1RkNBMDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT2JqZWN0
U3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NjQ1QjRCMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJPYmplY3RTdG9yZS5oICovOyB9OworCQk1MTg1
RkNBMjFCQjRDNEU4MDAxMjg5OEYgLyogSURCT2JqZWN0U3RvcmVNZXRhZGF0YS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkI1QjcxODZEMEVEMTAw
ODM5MUExIC8qIElEQk9iamVjdFN0b3JlTWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBMzFCQjRDNEU4MDAxMjg5OEYgLyog
SURCT3BlbkRCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTY0NUI0QzFCOUY4ODlCMDBGNzg5Q0UgLyogSURCT3BlbkRCUmVxdWVzdC5j
cHAgKi87IH07CisJCTUxODVGQ0E0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJPcGVuREJSZXF1ZXN0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0
RDFCOUY4ODlCMDBGNzg5Q0UgLyogSURCT3BlbkRCUmVxdWVzdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQ0E2MUJCNEM0RTgwMDEyODk4
RiAvKiBJREJPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMkVBOUJEMTgyMDI4NTcwMDFEMDFFMCAvKiBJREJPcGVyYXRpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBNzFC
QjRDNEU4MDAxMjg5OEYgLyogSURCUmVjb3JkSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQUM1QjAxODE2M0Y0RTAwNEYxQkE0IC8q
IElEQlJlY29yZElkZW50aWZpZXIuaCAqLzsgfTsKKwkJNTE4NUZDQTgxQkI0QzRFODAwMTI4OThG
IC8qIElEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTE2NDVCNEUxQjlGODg5QjAwRjc4OUNFIC8qIElEQlJlcXVlc3QuY3BwICovOyB9
OworCQk1MTg1RkNBOTFCQjRDNEU4MDAxMjg5OEYgLyogSURCUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEYxQjlGODg5QjAwRjc4
OUNFIC8qIElEQlJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk1MTg1RkNBQjFCQjRDNEU4MDAxMjg5OEYgLyogSURCU2VydmVyQ29ubmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEw
QTMyNkUxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24uaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBQzFCQjRDNEU4
MDAxMjg5OEYgLyogSURCVHJhbnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNTAxQjlGODg5QjAwRjc4OUNFIC8qIElEQlRyYW5z
YWN0aW9uLmNwcCAqLzsgfTsKKwkJNTE4NUZDQUQxQkI0QzRFODAwMTI4OThGIC8qIElEQlRyYW5z
YWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTY0NUI1MTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVHJhbnNhY3Rpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBRjFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUyMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJW
ZXJzaW9uQ2hhbmdlRXZlbnQuY3BwICovOyB9OworCQk1MTg1RkNCMDFCQjRDNEU4MDAxMjg5OEYg
LyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MzFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVmVyc2lvbkNo
YW5nZUV2ZW50LmggKi87IH07CisJCTUxODVGQ0IyMUJCNEM0RTgwMDEyODk4RiAvKiBJbmRleGVk
REIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcx
OUFFMTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVkREIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNCMzFCQjRDNEU4MDAxMjg5OEYgLyog
V29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjExODExMDZFMDAwMTZEQzUxIC8qIFdv
cmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCAqLzsgfTsKKwkJNTE4NUZDQjQxQkI0
QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTlCMjE4MTEwNkUw
MDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCAqLzsgfTsKKwkJ
NTE4NUZDQjcxQkI0Qzc2NzAwMTI4OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4NUZDQjYxQkI0Qzc2MTAwMTI4
OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CisJCTUxODVGQ0I5MUJCNENCRjgwMDEyODk4RiAvKiBJREJDb25uZWN0
aW9uVG9DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxMEE1OEZFMUJCMDdBQTUwMEMxOTI4MiAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNC
QTFCQjRDQkY4MDAxMjg5OEYgLyogSURCU2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEE1OEVGMUJBQjcyMEYwMEMxOTI4MiAvKiBJREJT
ZXJ2ZXIuY3BwICovOyB9OworCQk1MTg1RkNCQjFCQjRDQkY4MDAxMjg5OEYgLyogSURCU2VydmVy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThG
MDFCQUI3MjBGMDBDMTkyODIgLyogSURCU2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE4OUYwMUQxMEIzN0JEOTAwRjNDNzM5IC8qIEpT
UG9wU3RhdGVFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTg5RjAxQjEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmNwcCAq
LzsgfTsKIAkJNTE4OUYwMUUxMEIzN0JEOTAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE4OUYwMUMxMEIz
N0JEOTAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5oICovOyB9OwogCQk1MTg5RjBERTEwQjQ2
QjBFMDBGM0M3MzkgLyogUG9wU3RhdGVFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTg5RjBERDEwQjQ2QjBFMDBGM0M3MzkgLyogUG9wU3Rh
dGVFdmVudC5jcHAgKi87IH07CkBAIC0yMDcwLDggKzIxMTksNiBAQAogCQk1MUFCQUUxQjEwM0Mx
OEZGMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJBRTFBMTAzQzE4RkYwMDhDNTI2MCAvKiBTb2Nr
ZXRTdHJlYW1FcnJvci5oICovOyB9OwogCQk1MUFCQUUxRTEwM0MxOTEzMDA4QzUyNjAgLyogU29j
a2V0U3RyZWFtSGFuZGxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUFCQUUxQzEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlLmgg
Ki87IH07CiAJCTUxQUJBRTFGMTAzQzE5MTMwMDhDNTI2MCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVD
Rk5ldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUFCQUUxRDEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQuY3BwICov
OyB9OwotCQk1MUFCQjVCODE4NkQwRUQxMDA4MzkxQTEgLyogSURCSW5kZXhNZXRhZGF0YS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkI1QjYxODZE
MEVEMTAwODM5MUExIC8qIElEQkluZGV4TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUFCQjVCOTE4NkQwRUQxMDA4MzkxQTEgLyog
SURCT2JqZWN0U3RvcmVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFBQkI1QjcxODZEMEVEMTAwODM5MUExIC8qIElEQk9iamVjdFN0b3Jl
TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk1MUFCRjY0RDE2MzkyRTI4MDAxMzJBN0EgLyogTG9hZGVyU3RyYXRlZ3kuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkY2NEMxNjM5MkUy
ODAwMTMyQTdBIC8qIExvYWRlclN0cmF0ZWd5LmNwcCAqLzsgfTsKIAkJNTFBRjUwMzYxNkYxMDBG
NjAwOTVCMkU4IC8qIFJlc291cmNlTG9hZGVyVHlwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUY1MDM1MTZGMTAwRjYwMDk1QjJFOCAvKiBSZXNv
dXJjZUxvYWRlclR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTFCMjQxN0IwRDkzMUYzRjAwRTgzRjVDIC8qIExlZ2FjeVdlYkFyY2hpdmVN
YWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUIy
NDE3QTBEOTMxRjNGMDBFODNGNUMgLyogTGVnYWN5V2ViQXJjaGl2ZU1hYy5tbSAqLzsgfTsKQEAg
LTIwODQsMjcgKzIxMzEsMTAgQEAKIAkJNTFDMEFBNDEwRjJBQTE1RTAwMTY0OEMyIC8qIENhY2hl
ZEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxQzBBQTQwMEYyQUExNUUwMDE2NDhDMiAvKiBDYWNoZWRGcmFtZS5jcHAgKi87IH07CiAJCTUx
QzgxQjg5MEM0NDIyRjcwMDE5RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDODFCODcwQzQ0MjJGNzAw
MTlFQ0UzIC8qIEZUUERpcmVjdG9yeVBhcnNlci5jcHAgKi87IH07CiAJCTUxQzgxQjhBMEM0NDIy
RjcwMDE5RUNFMyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzgxQjg4MEM0NDIyRjcwMDE5RUNFMyAvKiBGVFBE
aXJlY3RvcnlQYXJzZXIuaCAqLzsgfTsKLQkJNTFDOTYxMUIxODNEMkI4MDAwRDIwMDJFIC8qIElE
QkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxQzk2MTFBMTgzRDJCODAwMEQyMDAyRSAvKiBJREJEYXRhYmFzZU1ldGFkYXRh
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFD
QkZDOTkwRDEwRTQ4MzAwMkRCRjUxIC8qIENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUNCRkM5ODBEMTBFNDgz
MDAyREJGNTEgLyogQ2FjaGVkRnJhbWVQbGF0Zm9ybURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUQwQzUxNjBEQUE5MEI3MDAzQjM4MzEg
LyogSlNTdG9yYWdlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDBDNTE1MERBQTkwQjcwMDNCMzgzMSAvKiBKU1N0b3JhZ2VDdXN0b20u
Y3BwICovOyB9OwotCQk1MUQ3MTlCNjE4MTEwNkUwMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxRDcxOTZDMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJhc2Uu
Y3BwICovOyB9OwotCQk1MUQ3MTlCNzE4MTEwNkUwMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhl
ZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmgg
Ki87IH07Ci0JCTUxRDcxOUI5MTgxMTA2RTAwMDE2REM1MSAvKiBJREJBbnkuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5NkYxODExMDZERjAw
MTZEQzUxIC8qIElEQkFueS5jcHAgKi87IH07Ci0JCTUxRDcxOUJBMTgxMTA2RTAwMDE2REM1MSAv
KiBJREJBbnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRDcxOTcwMTgxMTA2REYwMDE2REM1MSAvKiBJREJBbnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlDRDE4MTEwNkUwMDAxNkRDNTEg
LyogSURCRGF0YWJhc2VFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTFENzE5ODMxODExMDZERjAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXJyb3Iu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3
MTlDRTE4MTEwNkUwMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODQxODExMDZERjAw
MTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCAqLzsgfTsKLQkJNTFENzE5Q0YxODEx
MDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4NTE4MTEwNkRGMDAxNkRDNTEgLyog
SURCRGF0YWJhc2VFeGNlcHRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlEMDE4MTEwNkUwMDAxNkRDNTEgLyogSURCRXZlbnREaXNw
YXRjaGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxRDcxOTg2MTgxMTA2REYwMDE2REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuY3BwICovOyB9
OwotCQk1MUQ3MTlEMTE4MTEwNkUwMDAxNkRDNTEgLyogSURCRXZlbnREaXNwYXRjaGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4NzE4MTEw
NkRGMDAxNkRDNTEgLyogSURCRXZlbnREaXNwYXRjaGVyLmggKi87IH07Ci0JCTUxRDcxOURCMTgx
MTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTExODExMDZFMDAwMTZEQzUxIC8qIElEQktleS5jcHAg
Ki87IH07Ci0JCTUxRDcxOURDMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTkyMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJLZXkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwotCQk1MUQ3MTlERDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5MzE4MTEw
NkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5jcHAgKi87IH07Ci0JCTUxRDcxOURFMTgxMTA2RTAw
MDE2REM1MSAvKiBJREJLZXlQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUQ3MTk5NDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxRDcxOURG
MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5NTE4MTEwNkUwMDAxNkRDNTEgLyogSURC
S2V5UmFuZ2UuY3BwICovOyB9OwotCQk1MUQ3MTlFMDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RDcxOTk2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxRDcxOUY4MTgxMTA2RTAwMDE2REM1
MSAvKiBJbmRleGVkREIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRDcxOUFFMTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVkREIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlGQjE4MTEwNkUw
MDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjExODExMDZFMDAw
MTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCAqLzsgfTsKLQkJ
NTFENzE5RkMxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFi
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTlCMjE4MTEwNkUwMDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2Uu
aCAqLzsgfTsKKwkJNTFENzIzNkMxQkI2MTc0OTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzIzNkEx
QkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuY3BwICovOyB9OworCQk1MUQ3MjM2RDFC
QjYxNzQ5MDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzIzNkIxQkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJl
c3VsdERhdGEuaCAqLzsgfTsKIAkJNTFEQ0U4MDIwQ0FDOUYxQzAwNDg4MzU4IC8qIEpTU1FMUmVz
dWx0U2V0Um93TGlzdEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MURDRTgwMTBDQUM5RjFDMDA0ODgzNTggLyogSlNTUUxSZXN1bHRTZXRS
b3dMaXN0Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNTFERjZEN0UwQjkyQTE2RDAwQzJEQzg1IC8qIFRo
cmVhZENoZWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MURGNkQ3RDBCOTJBMTZEMDBDMkRDODUgLyogVGhyZWFkQ2hlY2suaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MURGNkQ4MDBCOTJBMThFMDBD
MkRDODUgLyogVGhyZWFkQ2hlY2subW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MURGNkQ3RjBCOTJBMThFMDBDMkRDODUgLyogVGhyZWFkQ2hlY2subW0g
Ki87IH07CkBAIC0yMTI1LDcgKzIxNTUsNiBAQAogCQk1MUUzRjlENjBEQTA1RTFEMDAyNTA5MTEg
LyogSlNTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRTNGOUQ0MERBMDVFMUQwMDI1MDkxMSAvKiBKU1N0b3JhZ2UuY3BwICovOyB9Owog
CQk1MUU0MTQzNDE2QTY1OTYzMDBDNjMzQzcgLyogUmVzb3VyY2VIYW5kbGVUeXBlcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFNDE0MzIxNkE2NTk1
MTAwQzYzM0M3IC8qIFJlc291cmNlSGFuZGxlVHlwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUU2ODIxMDE2Mzg3MzAyMDAzQkJGM0MgLyog
TG9hZGVyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRTY4MjBGMTYzODczMDIwMDNCQkYzQyAvKiBMb2FkZXJTdHJhdGVneS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTUxRUFDNUIyMTgx
NjNGNEUwMDRGMUJBNCAvKiBJREJSZWNvcmRJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVBQzVCMDE4MTYzRjRFMDA0RjFCQTQgLyog
SURCUmVjb3JkSWRlbnRpZmllci5oICovOyB9OwogCQk1MUVDOTI2NTBDRTkwREQ0MDBGOTAzMDgg
LyogSlNDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUM5MjVEMENFOTBERDQwMEY5MDMwOCAv
KiBKU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwICovOyB9OwogCQk1MUVFN0Iz
ODFBQTUwQjA1MDBGOTJCMjEgLyogUmVzb3VyY2VMb2FkSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFRTdCMzcxQUE1MEIwNTAwRjkyQjIxIC8q
IFJlc291cmNlTG9hZEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk1MUVFN0IzQTFBQTUxMjMxMDBGOTJCMjEgLyogUmVzb3VyY2VMb2FkSW5m
by5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVF
N0IzOTFBQTUxMjMxMDBGOTJCMjEgLyogUmVzb3VyY2VMb2FkSW5mby5jcHAgKi87IH07CkBAIC05
MjE0LDYgKzkyNDMsMTYgQEAKIAkJNTEwNkQ3QkIxOEJEQjc2RjAwMEFCMTY2IC8qIENvbnRleHRN
ZW51Q29udGV4dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250
ZXh0TWVudUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA2RDdC
QzE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENvbnRleHRNZW51Q29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTBBMzI2RTE4MzE4NDMxMDAzQzUzMjYgLyogSURCU2VydmVyQ29ubmVj
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJTZXJ2ZXJDb25uZWN0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEUyMUJBQTQwQUUwMEMx
OTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSW5Qcm9jZXNzSURCU2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTEwQTU4RTMxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJblByb2Nlc3NJREJTZXJ2ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwQTU4RTYxQkFBNDFDOTAwQzE5MjgyIC8q
IElEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IElEQlJlcXVlc3RJZGVudGlmaWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTEwQTU4RTcxQkFBNDFDOTAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlJlcXVlc3RJZGVudGlmaWVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEVGMUJBQjcyMEYwMEMxOTI4MiAv
KiBJREJTZXJ2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURC
U2VydmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwQTU4RjAxQkFCNzIw
RjAwQzE5MjgyIC8qIElEQlNlcnZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJREJTZXJ2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwQTU4RjUxQkFD
QzRBNTAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IElEQlJlcXVlc3REYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTEwQTU4RjYxQkFDQzRBNTAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlJlcXVlc3REYXRhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEZEMUJCMDdBOTYwMEMxOTI4MiAvKiBJREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ29u
bmVjdGlvblRvU2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEZF
MUJCMDdBQTUwMEMxOTI4MiAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTJEMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1FcnJvckJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU29j
a2V0U3RyZWFtRXJyb3JCYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEw
RDRBMkUxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUVycm9yQmFzZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTb2NrZXRTdHJlYW1FcnJvckJhc2UuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwRDRBMzAxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tl
dFN0cmVhbUhhbmRsZUJhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gU29ja2V0U3RyZWFtSGFuZGxlQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC05MjU5LDYgKzkyOTgsOCBAQAogCQk1MTNGMTQ1MjBBQjYzNEM0MDAwOTREREYgLyogSWNv
bkxvYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWNvbkxvYWRlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTQwNUM4NjE5MEIwMTQ0MDA3NTRGOTQg
LyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFNlbGVjdGlvblJlY3RHYXRoZXJlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNDA1Qzg3MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVy
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VsZWN0aW9uUmVjdEdhdGhl
cmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNDg0NTNDMUJCOUQwNzYwMDZB
NzJFRCAvKiBJREJFcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJREJFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNDg0NTNEMUJC
OUQwNzYwMDZBNzJFRCAvKiBJREJFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJREJFcnJvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTRCM0Y3MjBD
NzIyMDQ3MDAwNTMwREYgLyogRmlsZVN5c3RlbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGaWxlU3lzdGVtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNEIz
Rjc1MEM3MjIwNTUwMDA1MzBERiAvKiBGaWxlU3lzdGVtTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gRmlsZVN5c3RlbU1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTE0Qzc2MzUwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTUUxFcnJvci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MzUwLDYgKzkzOTEsOCBAQAogCQk1MTZDNjIx
RjE5NTBENDg3MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBHYW1lcGFkRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTZD
NjIyMzE5NTBFMkI5MDAzMzdFNzUgLyogSlNHYW1lcGFkRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNHYW1lcGFkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTZDNjIyNDE5NTBFMkI5MDAzMzdFNzUgLyogSlNHYW1lcGFkRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHYW1lcGFkRXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTE2RDdENkQxQkI1RjA2NTAwQUY3Qzc3IC8q
IElEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBJREJDb25uZWN0aW9uVG9DbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MTZEN0Q2RTFCQjVGMDY1MDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50
RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ29ubmVjdGlv
blRvQ2xpZW50RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3NDFE
MEIwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkQ2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEJhY2tGb3J3YXJkQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxNzQxRDBEMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSGlzdG9yeUl0ZW0uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3NDFEMEUwQjA3MjU5QTAwRUQ0NDJDIC8qIEhpc3RvcnlJ
dGVtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIaXN0b3J5SXRl
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MzY2LDYgKzk0MDksOSBAQAog
CQk1MTdBNjNDMjFCNzQzMTdFMDBFN0RDREMgLyogS2V5ZWRFbmNvZGVyQ0YuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gS2V5ZWRFbmNvZGVyQ0YuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTE3RkJBMTcxNTFBQTcxQjAwQjU3OTU5IC8qIERPTVdpbmRvd0V4dGVu
c2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XaW5kb3dF
eHRlbnNpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTdGQkExODE1MUFB
NzFCMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERPTVdpbmRvd0V4dGVuc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MTg1RkNCNjFCQjRDNzYxMDAxMjg5OEYgLyogRE9NUmVxdWVzdFN0YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVJlcXVlc3RTdGF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MTg1RkNCQzFCQjVDQjc3MDAxMjg5OEYgLyogSURCQ29u
bmVjdGlvblRvU2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IElEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxODVGQ0JEMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTg5RjAxQjEwQjM3
QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTUG9wU3RhdGVFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxODlGMDFDMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNQb3BTdGF0ZUV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxODlGMEREMTBCNDZCMEUwMEYzQzczOSAvKiBQb3BT
dGF0ZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBvcFN0
YXRlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTQ0Myw2ICs5NDg5
LDggQEAKIAkJNTFENzE5QjExODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdv
cmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFENzE5QjIxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5k
ZXhlZERhdGFiYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdvcmtlckds
b2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxRDcxOUIzMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRh
YmFzZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV29ya2VyR2xvYmFsU2NvcGVJbmRleGVk
RGF0YWJhc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUQ3MjM2QTFCQjYw
QkZFMDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJREJSZXN1bHREYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTFENzIzNkIxQkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCUmVzdWx0RGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MURDRTgwMTBDQUM5RjFDMDA0ODgzNTggLyogSlNTUUxSZXN1bHRT
ZXRSb3dMaXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTU1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxREY2RDdEMEI5MkExNkQwMEMyREM4NSAvKiBUaHJlYWRDaGVjay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUaHJlYWRDaGVjay5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MURGNkQ3RjBCOTJBMThFMDBDMkRDODUgLyogVGhyZWFkQ2hlY2subW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUaHJlYWRDaGVjay5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2NTc0LDYgKzE2NjIyLDkgQEAKIAkJCWNo
aWxkcmVuID0gKAogCQkJCTUxMDMxMDRBMUJBOEM2QTYwMDMzMjlDMCAvKiBJREJGYWN0b3J5SW1w
bC5jcHAgKi8sCiAJCQkJNTEwMzEwNEIxQkE4QzZBNjAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBs
LmggKi8sCisJCQkJNTE4NUZDQkMxQkI1Q0I3NzAwMTI4OThGIC8qIElEQkNvbm5lY3Rpb25Ub1Nl
cnZlci5jcHAgKi8sCisJCQkJNTEwQTU4RkQxQkIwN0E5NjAwQzE5MjgyIC8qIElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oICovLAorCQkJCTUxODVGQ0JEMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25u
ZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oICovLAogCQkJCTUxMDMxMDU2MUJBOERCMzAwMDMzMjlD
MCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAgKi8sCiAJCQkJNTEwMzEwNTcxQkE4REIzMDAw
MzMyOUMwIC8qIElEQk9wZW5EQlJlcXVlc3RJbXBsLmggKi8sCiAJCQkJNTEwMzEwNTgxQkE4REIz
MDAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmNwcCAqLywKQEAgLTE2NTgyLDYgKzE2NjMzLDM1
IEBACiAJCQlwYXRoID0gY2xpZW50OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsK
KwkJNTEwQTU4RTExQkFBNDA5ODAwQzE5MjgyIC8qIHNoYXJlZCAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTE0ODQ1M0MxQkI5RDA3NjAwNkE3MkVEIC8q
IElEQkVycm9yLmNwcCAqLywKKwkJCQk1MTQ4NDUzRDFCQjlEMDc2MDA2QTcyRUQgLyogSURCRXJy
b3IuaCAqLywKKwkJCQk1MTBBNThGNTFCQUNDNEE1MDBDMTkyODIgLyogSURCUmVxdWVzdERhdGEu
Y3BwICovLAorCQkJCTUxMEE1OEY2MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5o
ICovLAorCQkJCTUxMEE1OEU2MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmll
ci5jcHAgKi8sCisJCQkJNTEwQTU4RTcxQkFBNDFDOTAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVu
dGlmaWVyLmggKi8sCisJCQkJNTFENzIzNkExQkI2MEJGRTAwNDc4Q0EzIC8qIElEQlJlc3VsdERh
dGEuY3BwICovLAorCQkJCTUxRDcyMzZCMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRh
LmggKi8sCisJCQkJNTEwQTU4RTIxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZl
ci5jcHAgKi8sCisJCQkJNTEwQTU4RTMxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNl
cnZlci5oICovLAorCQkJKTsKKwkJCXBhdGggPSBzaGFyZWQ7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OworCQk1MTBBNThFRTFCQUI3MUUwMDBDMTkyODIgLyogc2VydmVyICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk1MTZEN0Q2RDFCQjVG
MDY1MDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcCAqLywKKwkJCQk1MTBBNThG
RTFCQjA3QUE1MDBDMTkyODIgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmggKi8sCisJCQkJNTE2
RDdENkUxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgg
Ki8sCisJCQkJNTEwQTU4RUYxQkFCNzIwRjAwQzE5MjgyIC8qIElEQlNlcnZlci5jcHAgKi8sCisJ
CQkJNTEwQTU4RjAxQkFCNzIwRjAwQzE5MjgyIC8qIElEQlNlcnZlci5oICovLAorCQkJKTsKKwkJ
CXBhdGggPSBzZXJ2ZXI7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk1MTI2
RTZCNjBBMkUzQUVGMDA1QzI5RkEgLyogaWNvbiAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwog
CQkJY2hpbGRyZW4gPSAoCkBAIC0xODgwNiw2ICsxODg4Niw4IEBACiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1MTAzMTA0MjFCQThDNjRDMDAzMzI5QzAgLyogY2xpZW50ICovLAogCQkJCTUxNjQ1QjI3
MUI5RjYzN0UwMEY3ODlDRSAvKiBsZWdhY3kgKi8sCisJCQkJNTEwQTU4RUUxQkFCNzFFMDAwQzE5
MjgyIC8qIHNlcnZlciAqLywKKwkJCQk1MTBBNThFMTFCQUE0MDk4MDBDMTkyODIgLyogc2hhcmVk
ICovLAogCQkJCTUxRDcxOTZDMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuY3BwICovLAogCQkJCTUxRDcxOTZEMTgxMTA2REYwMDE2REM1MSAvKiBET01XaW5kb3dJ
bmRleGVkRGF0YWJhc2UuaCAqLywKIAkJCQk1MUQ3MTk2RTE4MTEwNkRGMDAxNkRDNTEgLyogRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmlkbCAqLywKQEAgLTIxNDgzLDYgKzIxNTY1LDcgQEAKIAkJ
CQkzMTJENjdCMDE1MzU2OTFGMDA1NjNEMEQgLyogRGljdGlvbmFyeS5jcHAgKi8sCiAJCQkJMzE2
MDIzRUYxNTMyQzQwQzAwRDUwRkY0IC8qIERpY3Rpb25hcnkuaCAqLywKIAkJCQlCNTY1NzZFNzE3
REE5NEUyMDBBNTZCREMgLyogRE9NQ29uc3RydWN0b3JXaXRoRG9jdW1lbnQuaCAqLywKKwkJCQk1
MTg1RkNCNjFCQjRDNzYxMDAxMjg5OEYgLyogRE9NUmVxdWVzdFN0YXRlLmggKi8sCiAJCQkJQkM1
M0RBNDcxMTQzMTM0RDAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5jcHAgKi8sCiAJCQkJQkM1
M0RBMkQxMTQzMTIxRTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5oICovLAogCQkJCTE0MzJF
ODQ4MEM1MTQ5M0YwMEIxNTAwRiAvKiBHQ0NvbnRyb2xsZXIuY3BwICovLApAQCAtMjQxNDMsMTEg
KzI0MjI2LDEzIEBACiAJCQkJMjRGNTRFQUQxMDFGRTkxNDAwMEFFNzQxIC8qIEFwcGxpY2F0aW9u
Q2FjaGVIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThGNkJDMTBEQjU1Q0RDMDAxREI3OTQg
LyogQXBwbGljYXRpb25DYWNoZVJlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTJBQUM1
OTBEQzJBM0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxMEE1OEZDMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmll
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUI0MTcwNjQxMjU2NjJCMzAwNkIyOEZDIC8qIEFwcGx5
QmxvY2tFbGVtZW50Q29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERDkwOTlFNjQ5
MjAwNTZFNTgxIC8qIEFwcGx5U3R5bGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJE
RDhGNjBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEy
REQ4RkQwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0b3J5LmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTJERDhGQzBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk1MTg1RkM3RTFCQjRDNEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yV2l0aFZh
bHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJERDhGODBEOTFFNkFGMDAwRjg5RUUgLyogQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlCMzc2MEQxNUM2
QzY4NDAwNTkxMzFEIC8qIEFycmF5VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTY4NkNB
MTNBQzE4MDIwMEI2OUM2OCAvKiBBc3luY0F1ZGlvRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNDE4Niw2ICsyNDI3MSw3IEBACiAJCQkJRkQzNTkxOTAxMzhEQjIyMDAwRTFFQkVDIC8qIEF1
ZGlvUGFyYW1UaW1lbGluZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMjAxMkIwMjY3NjAw
QzFBMzU5IC8qIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMx
NjA4NDEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9Qcm9jZXNzb3IuaCBpbiBIZWFkZXJzICovLAor
CQkJCTUxODVGQzg3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUlkZW50aWZpZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEMzE2MDg2MTJCMDI2RjcwMEMxQTM1OSAvKiBBdWRpb1Jlc2Ft
cGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwODgxMkIwMjZGNzAwQzFBMzU5IC8qIEF1
ZGlvUmVzYW1wbGVyS2VybmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDhDNDZFQzE1NDYwOEU3
MDBBNTkxMEMgLyogQXVkaW9TY2hlZHVsZWRTb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKQEAg
LTI0MjI4LDYgKzI0MzE0LDcgQEAKIAkJCQlCQ0E4Q0E2MDExRTRFNkQxMDA4MTJGQjcgLyogQmFj
a0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzEyNEVFODBDMjY0MUNEMDA5RTIz
NDkgLyogQmFyUHJvcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5RTYxQ0ExMjZDQTVDNDAwQjYz
RThEIC8qIEJhc2VCdXR0b25JbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzkx
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRleC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc5RTYx
Q0MxMjZDQTVDNDAwQjYzRThEIC8qIEJhc2VDaGVja2FibGVJbnB1dFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUY1RTBDNjVDMTY0M0M0MkMwMEQ2Q0I2OSAvKiBCYXNlQ2hvb3Nlck9ubHlEYXRl
QW5kVGltZUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzMzRUU1QzUxNEZCNDk2MTAw
MDIwOTVBIC8qIEJhc2VDbGlja2FibGVXaXRoS2V5SW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywK
QEAgLTI0MzQ1LDYgKzI0NDMyLDcgQEAKIAkJCQlGQjkyREY0QjE1RkVEMDg3MDA5OTQ0MzMgLyog
Q2xpcFBhdGhPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTU4MDM3MTYyMUE2NkYwMEEw
MEJBRjUxOSAvKiBDbGlwUmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdBQUJEMTMxNEZBMDlE
NTAwNzQ1N0FFIC8qIENsb3NlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxRDcyMzZEMUJC
NjE3NDkwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlDMEMw
NTRDQjExMThDOEU0MDBDRTI2MzYgLyogQ29kZUdlbmVyYXRvci5wbSBpbiBIZWFkZXJzICovLAog
CQkJCUJDNUVCNURGMEU4MUI5QUIwMEIyNTk2NSAvKiBDb2xsYXBzZWRCb3JkZXJWYWx1ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTQyNUE0OUExODI5MkI4NDAwMjBDRkNGIC8qIENvbGxlY3Rpb25J
bmRleENhY2hlLmggaW4gSGVhZGVycyAqLywKQEAgLTI0MzcxLDYgKzI0NDU5LDcgQEAKIAkJCQk3
OUYyRjVBMjEwOTE5MzlBMDAwRDg3Q0IgLyogQ29tcG9zaXRpb25FdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQzMTYwOEYxMkIwMjZGNzAwQzFBMzU5IC8qIENvbmUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTY1Qzk3QUYzMDhFQTkwODgwMEFDRDI3MyAvKiBjb25maWcuaCBpbiBIZWFkZXJzICov
LAorCQkJCTUxODVGQ0JCMUJCNENCRjgwMDEyODk4RiAvKiBJREJTZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE4MTg3MjFDMDk3N0QzQzAwMDU4MjZEOSAvKiBDb250YWluZXJOb2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUExNDcwODExMTAyQjE1MDBFRUMwRjMgLyogQ29udGFpbmVyTm9k
ZUFsZ29yaXRobXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNUVCOTgxMEU4MjA3MjUwMEIyNTk2
NSAvKiBDb250ZW50RGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDM4NCw2ICsyNDQ3Myw3IEBA
CiAJCQkJMjZGMEM4QTAxQTJFQzNCRTAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNpb25zQmFja2Vu
ZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjYyMzkxMzYxQTY0OENFRTAwNzI1MUEzIC8qIENvbnRl
bnRFeHRlbnNpb25zRGVidWdnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZCNjdEQzFBRTZC
ODJGMDBEMDZDNUEgLyogQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICov
LAorCQkJCTUxODVGQzc1MUJCNEM0RTgwMDEyODk4RiAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNDk3ODZGMUFCQUYzMzgwMENFRjdFNCAvKiBDb250
ZW50RmlsdGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQwOTBGRDFBQTUxRTQ4MDA5MTE5MUEg
LyogQ29udGVudEZpbHRlclVuYmxvY2tIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0M0
NzFEQzEyRjkyNUJEMDA4NjM1NEIgLyogQ29udGVudFNlY3VyaXR5UG9saWN5LmggaW4gSGVhZGVy
cyAqLywKQEAgLTI0NTM2LDYgKzI0NjI2LDcgQEAKIAkJCQlFNDlCRDlGQTEzMUZEMkVEMDAzQzU2
RjAgLyogQ1NTVmFsdWVQb29sLmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0YxOTkyRjA4MjQ1RTU5
MDAxRTlBQkMgLyogQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIyNzJBMjBFODJFODdD
MDBFN0Y5NzUgLyogQ3Vyc29yRGF0YS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQjQxQkI0
QzRFODAwMTI4OThGIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzIyNzJBRDBFODJFOEYzMDBFN0Y5NzUgLyogQ3Vyc29yTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNjJDRDMyNUExMTU3RTU3QzAwNjNCMEE3IC8qIEN1c3RvbUV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENCNDEzRTBFODYzM0ZEMDAzMkM0RjAgLyogRGFzaEFy
cmF5LmggaW4gSGVhZGVycyAqLywKQEAgLTI0NTc4LDYgKzI0NjY5LDcgQEAKIAkJCQk0MUEzRDU4
RjEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRDA2REZBNjEzNEE0REVGMDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRp
b25Ob2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjAyQzEyQjAyNjc2MDBDMUEzNTkgLyog
RGVsYXlEU1BLZXJuZWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzg1MUJCNEM0RTgwMDEy
ODk4RiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYw
MkUxMkIwMjY3NjAwQzFBMzU5IC8qIERlbGF5Tm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwMzExMkIwMjY3NjAwQzFBMzU5IC8qIERlbGF5UHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzMwOURERjA5OUU2NDkyMDA1NkU1ODEgLyogRGVsZXRlRnJvbVRleHROb2RlQ29tbWFu
ZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDU5NCw2ICsyNDY4Niw3IEBACiAJCQkJNTlBOEYxRDgx
MUE2OTUyMDAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMTQwMzc5RDEyNEJFQTdGMDBBRjQwRTQgLyogRGV2aWNlT3JpZW50YXRpb25DbGll
bnRJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTU5MzA5QTEzMTFGNEFFNkEwMDI1MDYwMyAvKiBE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzhE
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4
RjFENjExQTY5NTEzMDAxQUMzNEEgLyogRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1OTBFMUI0OTExRTRFRjRCMDA2OUY3ODQgLyogRGV2aWNlT3JpZW50
YXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OUE4NUVBNDExOUQ2OEVDMDBERUYxRUYg
LyogRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDYxNyw2ICsy
NDcxMCw3IEBACiAJCQkJN0VEQUFGQzkxOUEyQ0NEQzAwMzRERkQxIC8qIERpc2tDYWNoZU1vbml0
b3JDb2NvYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDlBRjJENjkxNDQzNUQwNTAwMTZBNzg0IC8q
IERpc3BsYXlSZWZyZXNoTW9uaXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQyOUVDQzYxOTJF
Q0M4MzAwOTg0Qjc4IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNTE4NUZDOTkxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVBhdGguaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJEMjlFQ0NBMTkyRjFGMUQwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1v
bml0b3JJT1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTJERTcwMDIzMTkyRkU4MkEwMEIwOTc1QyAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMjlFQ0M4
MTkyRUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI0NjQ5LDYgKzI0NzQzLDcgQEAKIAkJCQkxQThGNkJDMzBEQjU1Q0RDMDAx
REI3OTQgLyogRE9NQXBwbGljYXRpb25DYWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVEMzg5
QjIwQTk5MUE3RjAwMjgyMTQ1IC8qIERPTUF0dHIuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RTcx
MThEMEFDNUQ1MzUwMDUzMjcwRiAvKiBET01BdHRySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAor
CQkJCTUxODVGQ0E3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJSZWNvcmRJZGVudGlmaWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3NkZCOUZFQjE5QTcyODRCMDA0MjA1NjIgLyogRE9NQXV0b2NvbXBs
ZXRlRXJyb3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzZGQjlGRUQxOUE3Mjg0QjAwNDIw
NTYyIC8qIERPTUF1dG9jb21wbGV0ZUVycm9yRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkM5NDZFRUYxMDdGREJBQzAwODU3MTkzIC8qIERPTUJlZm9yZUxvYWRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNDY2OSw2ICsyNDc2NCw3IEBACiAJCQkJODUwMzJERDcwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU0NoYXJzZXRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkw
OUNEQzBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTQ2hhcnNldFJ1bGVJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUwMzJERDkwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU0ZvbnRGYWNl
UnVsZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE0ODQ1M0YxQkI5RDA3RTAwNkE3MkVEIC8qIElE
QkVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNERDBBQ0M3QTdFMDBERjAxRjEgLyog
RE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1MDMyRERC
MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NJbXBvcnRSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTkwOUNERTBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKQEAgLTI0ODYzLDYgKzI0OTU5LDcgQEAKIAkJCQk4NUU3MTFDRDBBQzVE
NTM1MDA1MzI3MEYgLyogRE9NSFRNTFRhYmxlU2VjdGlvbkVsZW1lbnRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODVGMzJBRjIwQUE2M0I4NzAwRkYzMTg0IC8qIERPTUhUTUxUZXh0QXJl
YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RTcxMUNFMEFDNUQ1MzUwMDUzMjcwRiAv
KiBET01IVE1MVGV4dEFyZWFFbGVtZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
ODVGQ0E0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJPcGVuREJSZXF1ZXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMUM3OTcxRDE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVhRWxlbWVu
dFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTkyRUMwMEFBNTA2OTUwMEFDMDc4NSAv
KiBET01IVE1MVGl0bGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFDRjBBQzVE
NTM1MDA1MzI3MEYgLyogRE9NSFRNTFRpdGxlRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAq
LywKQEAgLTI0ODg4LDYgKzI0OTg1LDcgQEAKIAkJCQk4NTE4REQ3ODBBOUNGMzFCMDA5MUI3QTYg
LyogRE9NTmFtZWROb2RlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFEMjBBQzVENTM1
MDA1MzI3MEYgLyogRE9NTmFtZWROb2RlTWFwSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTg1M0JGNERCMEFCQjZCNTUwMDg2NDdCQiAvKiBET01Ob2RlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk1MTg1RkM5MzFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODU0MDc1MjYwQUQ2QzY2NzAwNjIwQzU3IC8qIERPTU5vZGVGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1QjQ5OEZCMEFEQjM0MDIwMDkyNUNCQiAvKiBET01Ob2RlSW50
ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1NTI2QzM3MEFCMEExN0UwMDAzMDJFQSAvKiBE
T01Ob2RlSXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ5MTQsNiArMjUwMTIsNyBAQAog
CQkJCTg1MzhGMDVEMEFENzIyRjEwMDZBODFEMSAvKiBET01SYW5nZUludGVybmFsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NTM4RjA4NTBBRDcyQ0I2MDA2QTgxRDEgLyogRE9NUmFuZ2VzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NThDMzhBNzBBQThGMjA0MDBCMTg3QTQgLyogRE9NUmVjdC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDOEYxQkI0QzRFODAwMTI4OThGIC8qIElEQkdldFJlc3Vs
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExRDYwQUM1RDUzNTAwNTMyNzBGIC8qIERPTVJl
Y3RJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU1RDM1OEEwQUQ3MDczMTAwMTlBQUM3
IC8qIERPTVJHQkNvbG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0QwRkM0RjBEQkQ3MjBCMDBC
MkY2MzAgLyogRE9NUkdCQ29sb3JJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDkzOCw2
ICsyNTAzNyw3IEBACiAJCQkJMEY1NERDRDUxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRjU0RENENzE4ODBGODY3MDAzRUVEQkIgLyogRE9NVG91Y2hF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NERDRDkxODgwRjg2NzAwM0VFREJCIC8qIERP
TVRvdWNoRXZlbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDOUIxQkI0QzRF
ODAwMTI4OThGIC8qIElEQktleVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjU0RENEQTE4
ODBGODY3MDAzRUVEQkIgLyogRE9NVG91Y2hJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY1NERDREIxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoTGlzdC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTE0NTM0OTcxNkE5QkI2QTAwMEY2RkQyIC8qIERPTVRyYW5zaXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNDk3NCw3ICsyNTA3NCw2IEBACiAJCQkJMTQwM0I5OTcwOUVCMTNB
RjAwNzk3QzdGIC8qIERPTVdpbmRvdy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkM5QTBGNzUxNjQw
OTRDRjAwM0Q2QjhEIC8qIERPTVdpbmRvd0NTUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQTJE
NzgxNTIxMzJCMzAwQzFCQTBCIC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJNTFENzE5QjcxODExMDZFMDAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdCMzhFMjcxNTFDNDI3MTAwNDYyMkU5IC8qIERPTVdp
bmRvd05vdGlmaWNhdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3RDJBRDA0MTRCODIzQTYw
MDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODlGNjBC
MTExNTdGNjg2RTAwNzVFMTU3IC8qIERPTVdpbmRvd1F1b3RhLmggaW4gSGVhZGVycyAqLywKQEAg
LTI1MTg0LDYgKzI1MjgzLDcgQEAKIAkJCQkwODZCQkQwRjEzNjAzOUMyMDA4QjE1RDggLyogR2x5
cGguaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQzNEQTZDMEQwMDZDRDYwMEVGNkYyNiAvKiBHbHlw
aEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVENEFBN0ExMTZCQUZCNjAwNjlDQTkzIC8q
IEdseXBoTWV0cmljc01hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDODMxQkI0QzRFODAw
MTI4OThGIC8qIElEQkRhdGFiYXNlRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4NzNCODZC
MTM2MDY0RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTND
NUY1MERBNTZCOTIwMDIxRUI1RCAvKiBHcmFkaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIy
Mjc5NjQwRDAwQkYyMjAwNzFCNzgyIC8qIEdyYWRpZW50QXR0cmlidXRlcy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNTIzMSw2ICsyNTMzMSw3IEBACiAJCQkJQThFQTdEMkUwQTE5Mzg1NTAwQThFRjVG
IC8qIEhUTUxBcmVhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M1RjI4RkMxQTgyN0Q4
NDAwQzBGMzFGIC8qIEhUTUxBdHRhY2htZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RTQ0NjEzQTIwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxODVGQzk3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlEYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBODcxREMxRjBBMTUyMDU3MDBCMTJBNjggLyogSFRNTEJhc2VFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGM0ZEMjA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTEJh
c2VGb250RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOUIyNERFOEUxNTE5NEI5NTAwQzU5
QzI3IC8qIEhUTUxCRElFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzU3LDcgKzI1NDU4
LDYgQEAKIAkJCQk1MTNGMTQ1NDBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFFMUVDQzEwQzkxQzkwNDAwREMyNTVCIC8qIEljb25SZWNvcmQuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ1QkFDMkIwMTM2MEJCQUIwMDVEQTI1OCAvKiBJY29uVVJMLmgg
aW4gSGVhZGVycyAqLywKLQkJCQk1MUQ3MTlCQTE4MTEwNkUwMDAxNkRDNTEgLyogSURCQW55Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlDNTg1QTY2MzExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGlu
Z1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNjgxQkE3M0I1QjAwMkUwNTNC
IC8qIElEQkNhbGxiYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNkExQkE3M0I1QjAw
MkUwNTNCIC8qIElEQkN1cnNvckJhY2tlbmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjUzNjUsMjkg
KzI1NDY1LDE0IEBACiAJCQkJNTFGNDFBNkUxQkE3M0I1QjAwMkUwNTNCIC8qIElEQkRhdGFiYXNl
QmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNkYxQkE3M0I1QjAwMkUwNTNCIC8q
IElEQkRhdGFiYXNlQ2FsbGJhY2tzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY0MUE3MTFCQTcz
QjVCMDAyRTA1M0IgLyogSURCRGF0YWJhc2VDYWxsYmFja3NJbXBsLmggaW4gSGVhZGVycyAqLywK
LQkJCQk1MUQ3MTlDRDE4MTEwNkUwMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFcnJvci5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFENzE5Q0YxODExMDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTAzMTA2MDFCQThFMEUzMDAzMzI5QzAgLyog
SURCRGF0YWJhc2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUM5NjExQjE4M0Qy
QjgwMDBEMjAwMkUgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTFENzE5RDExODExMDZFMDAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTFGNDFBNzIxQkE3M0I1QjAwMkUwNTNCIC8qIElEQkZhY3RvcnlCYWNrZW5k
SW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMTA1MDFCQThDQzAzMDAzMzI5QzAg
LyogSURCRmFjdG9yeUltcGwuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxMjNBRjFEMTg5MThBRTQw
MDMxQ0RDOSAvKiBJREJHZXRSZXN1bHQuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxQUJCNUI4MTg2
RDBFRDEwMDgzOTFBMSAvKiBJREJJbmRleE1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKLQkJCQk1
MUQ3MTlEQzE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmggaW4gSGVhZGVycyAqLywKLQkJCQk1
MTFFQzFBNjE4OERBQ0E0MDBCQTNFQjYgLyogSURCS2V5RGF0YS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJNTFENzE5REUxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBhdGguaCBpbiBIZWFkZXJzICov
LAotCQkJCTUxRDcxOUUwMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlSYW5nZS5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJNTEyM0FGMTkxODkwQTRDQTAwMzFDREM5IC8qIElEQktleVJhbmdlRGF0YS5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNTFBQkI1QjkxODZEMEVEMTAwODM5MUExIC8qIElEQk9iamVj
dFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDMxMDVCMUJBOERCNTYwMDMz
MjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEyRUE5
QkUxODIwMjg1NzAwMUQwMUUwIC8qIElEQk9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTFGNDFBNzkxQkE3M0I1QjAwMkUwNTNCIC8qIElEQlBlbmRpbmdEZWxldGVDYWxsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUY0MUE3QTFCQTczQjVCMDAyRTA1M0IgLyogSURCUGVuZGluZ09wZW5D
YWxsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTZEN0Q3MjFCQjVGMEJEMDBBRjdDNzcgLyogSURC
Q29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTdD
MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmggaW4gSGVh
ZGVycyAqLywKLQkJCQk1MUVBQzVCMjE4MTYzRjRFMDA0RjFCQTQgLyogSURCUmVjb3JkSWRlbnRp
Zmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMzEwNUQxQkE4REI1NjAwMzMyOUMwIC8qIElE
QlJlcXVlc3RJbXBsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTBBMzI2RjE4MzE4NDMxMDAzQzUz
MjYgLyogSURCU2VydmVyQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNzQx
QkE3M0I1QjAwMkUwNTNCIC8qIElEQlRyYW5zYWN0aW9uQmFja2VuZC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTFGNDFBNzYxQkE3M0I1QjAwMkUwNTNCIC8qIElEQlRyYW5zYWN0aW9uQmFja2VuZE9w
ZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTc4MUJBNzNCNUIwMDJFMDUzQiAv
KiBJREJUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTI1NDI4LDcg
KzI1NTEzLDYgQEAKIAkJCQkwNzM2N0RERjE3MkNBNjdGMDBEODYxQjkgLyogSW5iYW5kVGV4dFRy
YWNrUHJpdmF0ZUxlZ2FjeUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJFMTZDNTk1MTdD
RkUxNzIwMDg1MkMwNCAvKiBJbmJhbmRXZWJWVFRUZXh0VHJhY2suaCBpbiBIZWFkZXJzICovLAog
CQkJCURCMjNDMkNDMEE1MDhEMjkwMDI0ODlFQiAvKiBJbmRlbnRPdXRkZW50Q29tbWFuZC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJNTFENzE5RjgxODExMDZFMDAwMTZEQzUxIC8qIEluZGV4ZWREQi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY1RTUwQTE1NUEwNTAwMEE0MjM0IC8qIElubGluZUJv
eC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjU3Q0I1MkUxODJBM0VGQzAwNzlBNjQ3IC8qIElubGlu
ZUVsZW1lbnRCb3guaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGNUUzMEExNTVBMDUwMDBBNDIz
NCAvKiBJbmxpbmVGbG93Qm94LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NDk3LDYgKzI1NTgxLDcg
QEAKIAkJCQkzMTk4NDgwQzFBMUU2Q0U4MDBBMTMzMTggLyogSlNBbmltYXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxREIwOUQxQzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkRBMTVFOUUxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9CdWZm
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzc4MUJCNEM0RTgwMDEyODk4RiAvKiBJREJB
bnkuaCBpbiBIZWFkZXJzICovLAogCQkJCUZERjdFOUM0MTNBQzIxREIwMEE1MUVBQyAvKiBKU0F1
ZGlvQnVmZmVyQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUEwMTJCMDNFRTEw
MDNBNTgzQSAvKiBKU0F1ZGlvQnVmZmVyU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkRBMTVFQTYxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQXVkaW9Db250ZXh0LmggaW4gSGVhZGVycyAq
LywKQEAgLTI1NTIzLDYgKzI1NjA4LDcgQEAKIAkJCQk5M0Y5QjdBMTBCQTYwMzI2MDA4NTQwNjQg
LyogSlNDREFUQVNlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTE1RUEyMTJCMDNFRTEw
MDNBNTgzQSAvKiBKU0NoYW5uZWxNZXJnZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREEx
NUVBNDEyQjAzRUUxMDAzQTU4M0EgLyogSlNDaGFubmVsU3BsaXR0ZXJOb2RlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTBBNThFNTFCQUE0MEIxMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2VydmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFGNDA5RDFDQzYwMDAwQkUzMjUgLyogSlNDaGFy
YWN0ZXJEYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0MwNjU4ODBGM0NFMkE3MDBDRDJEODcg
LyogSlNDbGllbnRSZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0MwNjU4QTBGM0NFMkE3MDBD
RDJEODcgLyogSlNDbGllbnRSZWN0TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTYwNyw2ICsy
NTY5Myw3IEBACiAJCQkJQURFQzc4RjgxOEVFNTMwODAwMTMxNUMyIC8qIEpTRWxlbWVudEN1c3Rv
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVDRjdBREQxMDE2MkIzODAwNDI3REU3IC8qIEpTRXJy
b3JFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjNENDYxNDkxMTYxRDUzMjAwQ0EwRDA5IC8q
IEpTRXJyb3JIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM4OTFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRFODM3
OEUwOUY4NUQ0RjAwQjg1QUU0IC8qIEpTRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQjcw
RDZBMDlFQjBDN0MwMDlEODQ2OCAvKiBKU0V2ZW50TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUwRkVGMzcyQjM3QzUzRUFDMUMxRkJFRSAvKiBKU0V2ZW50U291cmNlLmggaW4gSGVhZGVy
cyAqLywKQEAgLTI1NjIzLDYgKzI1NzEwLDcgQEAKIAkJCQk4OTg3ODVGNTEyMkUxRUFDMDAzQUFC
REEgLyogSlNGaWxlUmVhZGVyU3luYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjZEOUQyN0IxNEVB
QzA4NjAwOTBENzVFIC8qIEpTRm9jdXNFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDA5RUJE
QzAxNkI3RjM4RTAwQ0JBM0ZDIC8qIEpTRm9udExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NTE4NUZDQUIxQkI0QzRFODAwMTI4OThGIC8qIElEQlNlcnZlckNvbm5lY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZEQTE1RUFDMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0dhaW5Ob2RlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MThGNTAwMjE5NENBQzNBMDA4MUJBQUUgLyogSlNHYW1lcGFkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MThGNTAwNDE5NENBQzNBMDA4MUJBQUUgLyogSlNHYW1lcGFk
QnV0dG9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI1NjYwLDYgKzI1NzQ4LDcgQEAKIAkJCQlBOEQw
NjRGQzBBMjNDMENDMDA1RTcyMDMgLyogSlNIVE1MRm9ybUVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDNDkxOEM3MEJGRUEwNTAwMDlENjMxNiAvKiBKU0hUTUxGcmFtZUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDOTI2RjgxMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFt
ZVNldEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0I3MUJCNEM3NjcwMDEyODk4
RiAvKiBET01SZXF1ZXN0U3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4MEU3QjE1MEExOUQ2
MDYwMDdGQjhDNSAvKiBKU0hUTUxIZWFkRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFF
MkFBMkYwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhlYWRpbmdFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUUyQUEzMTBBMUNEQUI0MDBCNDJCMjUgLyogSlNIVE1MSFJFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTI1Njc3LDYgKzI1NzY2LDcgQEAKIAkJCQlCQzQ5MUI3OTBDMDIz
RUZEMDA5RDYzMTYgLyogSlNIVE1MTWFycXVlZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0NDYxNDNBMENENjg5QzgwMEZBREE3NSAvKiBKU0hUTUxNZWRpYUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRTJBRTVDMEExRDI2RjIwMEI0MkIyNSAvKiBKU0hUTUxNZW51RWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDODExQkI0QzRFODAwMTI4OThGIC8qIElEQkRh
dGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0ExODBBMTlDM0Q2MDA3RkI4QzUgLyog
SlNIVE1MTWV0YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3QkJFMjY3MTFBRkIzRjIw
MDA1RUEwMyAvKiBKU0hUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTJB
QjJBMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTI1ODc2LDYgKzI1OTY2LDcgQEAKIAkJCQlCMkZBM0Q1RDBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdDb2xvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENUYwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyRkEzRDYxMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0N1cnNvckVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCTUxMEE1OEZBMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENjMwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHRGVmc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDY1MEFCNzVBNkYwMDBF
NUFDNCAvKiBKU1NWR0Rlc2NFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q2NzBB
Qjc1QTZGMDAwRTVBQzQgLyogSlNTVkdEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTkw
MCw2ICsyNTk5MSw3IEBACiAJCQkJQjJGQTNEODMwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRkVH
YXVzc2lhbkJsdXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q4NTBBQjc1QTZG
MDAwRTVBQzQgLyogSlNTVkdGRUltYWdlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJG
QTNEODcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRkVNZXJnZUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxODVGQzk1MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUIyRkEzRDg5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFTWVyZ2VOb2RlRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODQyMjQxODQxMDdFNzdGNDAwNzY2QTg3IC8qIEpT
U1ZHRkVNb3JwaG9sb2d5RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEOEIwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRkVPZmZzZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAg
LTI1OTE1LDYgKzI2MDA3LDcgQEAKIAkJCQlBODNCNzkwMjBDQ0FGRjE1MDAwQjA4MjUgLyogSlNT
VkdGb250RmFjZU5hbWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBODNCNzhGRTBDQ0FG
RjE1MDAwQjA4MjUgLyogSlNTVkdGb250RmFjZVNyY0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUE4M0I3OEZDMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQTkxQkI0QzRFODAwMTI4OThGIC8qIElEQlJlcXVl
c3QuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDk5MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R0ZvcmVpZ25PYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5QjBBQjc1
QTZGMDAwRTVBQzQgLyogSlNTVkdHRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjI3QjI4
MjgwQ0VGMEMwNzAwRDM5RDU0IC8qIEpTU1ZHR2x5cGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
QEAgLTI2MDg3LDEwICsyNjE4MCwxMiBAQAogCQkJCTQ1MENFQkYxMTUwNzNCQkUwMDJCQjE0OSAv
KiBMYWJlbGFibGVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNDU2RkEyNzExQUQ0QTgz
MDAyMEI0MjAgLyogTGFiZWxzTm9kZUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RUM5QUZC
MEE3MUEyQzYwMEVFRUFFRCAvKiBMYW5ndWFnZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZD
QTAxQkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzRDOTZFMzFBRDQ0QUJGMDAzNjVBNTAgLyogTGF1bmNoU2VydmljZXNTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTI5MTdCNTYyMTQ3MzQ5NkMwMDUyQzlEMCAvKiBMYXllckZsdXNoU2NoZWR1
bGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTE3QjU2MzE0NzM0OTZDMDA1MkM5RDAgLyogTGF5
ZXJGbHVzaFNjaGVkdWxlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ5MTZGRjcxOTVE
RjZBMDAwNUFCMzQ5IC8qIExheWVyRmx1c2hUaHJvdHRsZVN0YXRlLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkNCMDFCQjRDNEU4MDAxMjg5OEYgLyogSURCVmVyc2lvbkNoYW5nZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2NDFBNjZGMUQzMDBCQUY1MTkgLyogTGF5ZXJGcmFn
bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0FBM0E2QTAxOTRCNTlCNjAwMUNCRDI0IC8qIExh
eWVyUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMxRDcyRjYxNUZFNjk1MzAwQzRDMDdFIC8q
IExheW91dE1pbGVzdG9uZXMuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyMjAsNiArMjYzMTUsOCBA
QAogCQkJCUM5RDg1MUYwMUIzOURDNzgwMDg1MDYyRSAvKiBNZWRpYVNlc3Npb25NZXRhZGF0YS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QzQTQ5NUYxN0E5RDAxQjAwMjc0RTQyIC8qIE1lZGlhU291
cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDY0MUVCMzE4MThGNUVEMDBFRTRDNDEgLyogTWVk
aWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNBNjFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlFNEEwMDc4MzFCODIw
RUM4MDAyQzVBNkUgLyogRGF0YVVSTERlY29kZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzhC
NUE3MTgwNDc0RjcwMDE2RTY4NSAvKiBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRERDMUU3QTE4QTk1MkYzMDAyN0E5RDQgLyogTWVkaWFTb3VyY2VQcml2
YXRlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDYxRkU2ODE3OTRBQURCMDA0MTAxRUIg
LyogTWVkaWFTb3VyY2VSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjI0Nyw2ICsyNjM0
NCw3IEBACiAJCQkJMDcwNTg1MjQxN0ZEQzE0MDAwNUYyQkNCIC8qIE1lZGlhVHJhY2tDb25zdHJh
aW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwNTg1MjkxN0ZERTAyQzAwNUYyQkNCIC8qIE1l
ZGlhVHJhY2tDb25zdHJhaW50U2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUM3Q0NCMzE4QzY2
M0U0MDAzMkU0MTMgLyogTWVtb2l6ZWRET01SZXN1bHQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
NkQ3RDcwMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCMTZDMTgwOTc5QzNCRDAwNDY3NzQxIC8qIE1lbW9yeUNh
Y2hlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTcxRENDODEzODVFNkE0MDA3MDJERDAgLyogTWVt
b3J5UHJlc3N1cmVIYW5kbGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzMwOURGQTA5OUU2NDky
MDA1NkU1ODEgLyogTWVyZ2VJZGVudGljYWxFbGVtZW50c0NvbW1hbmQuaCBpbiBIZWFkZXJzICov
LApAQCAtMjYyNTcsNiArMjYzNTUsNyBAQAogCQkJCUE3OEU1MjcwMTM0NkJEMTcwMEFEOUMzMSAv
KiBNZXRlclNoYWRvd0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RERDREE1MTM4NDUw
MUMwMDA4Qjc5MyAvKiBNSFRNTEFyY2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3RERDREE3
MTM4NDUwMUMwMDA4Qjc5MyAvKiBNSFRNTFBhcnNlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4
NUZDQjkxQkI0Q0JGODAwMTI4OThGIC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTNCODk1QUYxOURDN0VEOTAwOUNBQTkzIC8qIE1pY3JvVGFzay5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzdERENEOTUxMzg0NEZENTAwMDhCNzkzIC8qIE1JTUVIZWFkZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDNzcyQzRGMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJl
Z2lzdHJ5LmggaW4gSGVhZGVycyAqLywKQEAgLTI2MzExLDYgKzI2NDEwLDcgQEAKIAkJCQkyNjkz
OTcyMjFBNEE0MTJGMDBFODM0OUQgLyogTkZBTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjY3
NzI2MDExQTVCM0FEOTAwM0MyNEREIC8qIE5GQVRvREZBLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0VGNDNERDBFNjc0MDEyMDAxQzEyODcgLyogTmluZVBpZWNlSW1hZ2UuaCBpbiBIZWFkZXJzICov
LAorCQkJCTUxODVGQzlFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZURhdGEuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTE0MTE1QjUyMDlGODRCNzEwMENBNEZDMSAvKiBOb2RlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk4NTRGRTczMTBBMjI5N0JFMDA1OEQ3QUQgLyogTm9kZUZpbHRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODU0RkU3MzMwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVGaWx0ZXJD
b25kaXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtMjY1MDcsNiArMjY2MDcsNyBAQAogCQkJCTUx
QTA1MjU2MTA1ODg3NDAwMENDOUU5NSAvKiBQcm90ZWN0aW9uU3BhY2VIYXNoLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUY4RTExQTEyNTY1OTI2MDAyMzBGRjcgLyogUHJveHlTZXJ2ZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZGOTQ1RUNDMTYxRjdGMzYwMDk3MUJDOCAvKiBQc2V1ZG9FbGVtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNBRDFCQjRDNEU4MDAxMjg5OEYgLyogSURCVHJh
bnNhY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAv
KiBQdWJsaWNTdWZmaXguaCBpbiBIZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEz
REI5OCAvKiBQdWJsaWNVUkxNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NTBBMEJDQTA4
NUY2MDM5MDA3MzUzRDYgLyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjc2
MSw2ICsyNjg2Miw3IEBACiAJCQkJMDc4RTA5MkExN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1N0YXRz
UmVwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDk0NTE3RDE2RTFDMDA0MjBBQTEgLyog
UlRDU3RhdHNSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDkyQjE3RDE0RDFDMDA0
MjBBQTEgLyogUlRDU3RhdHNSZXF1ZXN0SW1wbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZD
NUIxQkI0QkU0QzAwMTI4OThGIC8qIElEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDc4RTA5MkMxN0QxNEQxQzAwNDIwQUExIC8qIFJUQ1N0YXRzUmVzcG9uc2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3OEUwOTQ2MTdEMTZFMUMwMDQyMEFBMSAvKiBSVENTdGF0c1Jl
c3BvbnNlQmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDcxN0QxNkUxQzAwNDIwQUEx
IC8qIFJUQ1ZvaWRSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI3MTgwLDYgKzI3MjgyLDcg
QEAKIAkJCQk4M0MxRDQzMTE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b0hvcml6
b250YWxSZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzQzFENDMyMTc4RDVBQjUwMDE0MUU2OCAv
KiBTVkdQYXRoU2VnTGluZXRvUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E3RDBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkM3QjFCQjRDNEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yLmggaW4gSGVhZGVycyAq
LywKIAkJCQk4M0MxRDQzMzE3OEQ1QUI1MDAxNDFFNjggLyogU1ZHUGF0aFNlZ0xpbmV0b1ZlcnRp
Y2FsQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzNDE3OEQ1QUI1MDAxNDFFNjggLyog
U1ZHUGF0aFNlZ0xpbmV0b1ZlcnRpY2FsUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0E4
MTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHUGF0aFNlZ0xpc3QuaCBpbiBIZWFkZXJzICovLApAQCAt
MjcyMzAsMTIgKzI3MzMzLDE0IEBACiAJCQkJQjIyMjdBQzEwRDAwQkYyMjAwNzFCNzgyIC8qIFNW
R1N5bWJvbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyMjI3QUM1MEQwMEJGMjIwMDcx
Qjc4MiAvKiBTVkdUZXN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDhGMEJGQzMxMjU1QzUzQzAw
MDc1MTg1IC8qIFNWR1RleHRDaHVuay5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQTIxQkI0
QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCTA4MTY2OEQ0MTI1NjAzQkYwMDZGMjVERSAvKiBTVkdUZXh0Q2h1bmtCdWlsZGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCMjIyN0FDODBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVGV4dENvbnRl
bnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FDQjBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHVGV4dEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4RjBCRkM0MTI1NUM1M0Mw
MDA3NTE4NSAvKiBTVkdUZXh0RnJhZ21lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4OEMyRjdB
MTIzOTAwODEwMDNENjVDRSAvKiBTVkdUZXh0TGF5b3V0QXR0cmlidXRlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDgxMDkzREMxMjU1RjBFNzAwRUQ5RDI5IC8qIFNWR1RleHRMYXlvdXRBdHRyaWJ1
dGVzQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDOEIxQkI0QzRFODAwMTI4OThG
IC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDgxNjY4REExMjU2
MDNENTAwNkYyNURFIC8qIFNWR1RleHRMYXlvdXRFbmdpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA4MEU0OTI2MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0TGF5b3V0RW5naW5lQmFzZWxpbmUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTA4MEU0OTI4MTI1NUYzQkQwMEVGQ0EyNyAvKiBTVkdUZXh0
TGF5b3V0RW5naW5lU3BhY2luZy5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzI5MSw2ICsyNzM5Niw3
IEBACiAJCQkJQjJBRkZDOUEwRDAwQTVERjAwMzAwNzREIC8qIFRleHRDb2RlY01hYy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQjJDM0RBNDAwRDAwNkMxRDAwRUY2RjI2IC8qIFRleHRDb2RlY1VzZXJE
ZWZpbmVkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE0MjBEMDA2QzFEMDBFRjZGMjYgLyog
VGV4dENvZGVjVVRGMTYuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0IyMUJCNEM0RTgwMDEy
ODk4RiAvKiBJbmRleGVkREIuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNDNDQjgyMTJGMjVFNTEw
MDMzQzVFRSAvKiBUZXh0Q29kZWNVVEY4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDJCOTdDQTEz
MTM4OTQzMDA4QkVGNEIgLyogVGV4dENvbnRyb2xJbm5lckVsZW1lbnRzLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5N0JDODRCNDEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmggaW4gSGVh
ZGVycyAqLywKQEAgLTI3NjA2LDcgKzI3NzEyLDYgQEAKIAkJCQlGMzQ3NDJFMTEzNDM2MzFGMDA1
MzFCQzIgLyogV29ya2VyRGVidWdnZXJBZ2VudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTNFMjY0
MzExNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZS5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFENzE5RkMxODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNj
b3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0Y4RTY2NjE1MUQ0QTRF
MDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyRTQzNDY0QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRjM2RTA3QTUxMzU4QThCRTAwQUFDQkM5IC8qIFdvcmtl
ckluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjc5NjgsNiArMjgwNzMs
NyBAQAogCQkJCTM3RjU3QUNEMUE1MDcyRDcwMDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5VGFibGVI
ZWFkZXJDb250YWluZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzdGNTdBQ0UxQTUwNzJEQTAw
ODc2Rjk4IC8qIEFjY2Vzc2liaWxpdHlUYWJsZVJvdy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlB
OTFDOUZCRTFCNjU4NkRFMDBBRkZENTQgLyogQWNjZXNzaWJpbGl0eVRyZWUuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTE0ODQ1M0UxQkI5RDA3RTAwNkE3MkVEIC8qIElEQkVycm9yLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE5MUM5RkMyMUI2NTlBNjcwMEFGRkQ1NCAvKiBBY2Nlc3NpYmlsaXR5
VHJlZUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjVEMzFERkExMUNGNjEwQjAwOUYyMkI0
IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxQzRERTZFMEVB
NzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVET01PYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0y
Nzk4Miw5ICsyODA4OCwxMSBAQAogCQkJCTMxNkZFMTEzMEU2RTFEQTcwMEJGNjA4OCAvKiBBbmlt
YXRpb25Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxOTg0ODAyMUExRDgxODEw
MEExMzMxOCAvKiBBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUU5MTJB
QzBFRkFDOTA2MDA5RDBDQUYgLyogQW5pbWF0aW9uTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk1MTg1RkM5ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk5MzMwOURENjA5OUU2NDkyMDA1NkU1ODEgLyogQXBwZW5kTm9kZUNvbW1hbmQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4RjZCQkMwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxpY2F0
aW9uQ2FjaGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4RjZCQkUwREI1NUNEQzAwMURCNzk0
IC8qIEFwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM3
RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCQ3Vyc29yV2l0aFZhbHVlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTI0RjU0RUFDMTAxRkU5MTQwMDBBRTc0MSAvKiBBcHBsaWNhdGlvbkNhY2hlSG9zdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThGNkJDMDBEQjU1Q0RDMDAxREI3OTQgLyogQXBwbGlj
YXRpb25DYWNoZVJlc291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMkFBQzU4MERDMkEz
QjEwMEEyMEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTI4MDc3LDYgKzI4MTg1LDcgQEAKIAkJCQk5NzZENkM3ODEyMkI4QTNEMDAxRkQxRjcgLyog
QmxvYi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRURFRjFGMzEyMUIwRUZDMDA3MjZEQjIgLyog
QmxvYkRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFEMzFDREMxOTE5NjAyMDAwMTAwNUEz
IC8qIEJsb2JEYXRhRmlsZVJlZmVyZW5jZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM3
NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCQW55LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxNjRB
MkVEMTkxQUU2MzUwMDEwNzM3RCAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2VNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQlFMTRBOTRENzE2REZERjk1MDA2OERFODIgLyogQmxvYlJlZ2lzdHJ5LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJFREVGMUY2MTIxQjBFRkMwMDcyNkRCMiAvKiBCbG9iUmVn
aXN0cnlJbXBsLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjgxNDgsNiArMjgyNTcsNyBAQAogCQkJ
CTE0RDgyMzhCMEFGOTJERjYwMDA0RjA1NyAvKiBDaHJvbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQUJBRjIyMDgwQzAzQjFDNzAwQjBCQ0YwIC8qIENocm9tZU1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTgzNDhCRkFCMUI4NTcyOTgwMDkxMkYzNiAvKiBDbGFzc0NvbGxlY3Rpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDODAxQkI0QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzA2NTdEMEYzQ0UxQjcwMENEMkQ4NyAvKiBDbGll
bnRSZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzA2NTgwMEYzQ0UxQjcwMENEMkQ4NyAv
KiBDbGllbnRSZWN0TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NTAzMUIzRjBBNDRFRkM3
MDBGOTkyRTAgLyogQ2xpcGJvYXJkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODI3Miw2
ICsyODM4Miw3IEBACiAJCQkJQkMwMkE2NDYwRTA5QUFFOTAwNEI2RDJCIC8qIENTU0Z1bmN0aW9u
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyM0U0RTEwREFBQ0UwRjAwOUZEQzkxIC8q
IENTU0dyYWRpZW50VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjUwRjUzREQwOUQxNURE
RjAwQzlCMEM4IC8qIENTU0dyYW1tYXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDQTgx
QkI0QzRFODAwMTI4OThGIC8qIElEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0Q3
REJCMjgxOENBMTlBNDAwQzExMDY2IC8qIENTU0dyaWRMaW5lTmFtZXNWYWx1ZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDRDNFMjUyMzE4MDQ2QkNEMDBFMjdGNTYgLyogQ1NTR3JpZFRlbXBsYXRl
QXJlYXNWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGQkY4OTA0NTE2OUU5RjFGMDA1MkQ4
NkUgLyogQ1NTR3JvdXBpbmdSdWxlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjgzOTQsMTAgKzI4
NTA1LDEyIEBACiAJCQkJQTc4MUM2QTcxMzgyOEI1RDAwMTJBNjJBIC8qIERvY3VtZW50TWFya2Vy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFMDU3RkE1MTIyMDczMTEwMEE0NzZENSAvKiBEb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ5NDdGRkQxMkY4
MENEMjAwQTBGNjMxIC8qIERvY3VtZW50T3JkZXJlZE1hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk1MTg1RkM3NDFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4QzIyODBFMTFENEE1OTcwMEQ1QTdEMyAvKiBEb2N1bWVu
dFBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTRGNDhBOTE2QjBERkMwMDBFREJCMjkg
LyogRG9jdW1lbnRSdWxlU2V0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBRDZFNzFBQzE2Njg4
OTlEMDAzMjBDMTMgLyogRG9jdW1lbnRTaGFyZWRPYmplY3RQb29sLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTBCOTA1NjE5MEYyNTc4QkUwMDk1RkY2QSAvKiBEb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDODYxQkI0QzRFODAwMTI4OThGIC8qIElE
QkRhdGFiYXNlSWRlbnRpZmllci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODE4NUYzQTA5NzY1
NzY2MDA1ODI2RDkgLyogRG9jdW1lbnRUeXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3Mzg4
OUEwMTE2RUE5REMwMEFERjMxMyAvKiBEb2N1bWVudFdyaXRlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlCQzFBMzdBRTA5N0M3MTVGMDAxOUYzRDggLyogRE9NLm1tIGluIFNvdXJjZXMgKi8sCkBA
IC0yODUxNyw2ICsyODYzMCw3IEBACiAJCQkJQTgxODVGM0UwOTc2NTc2NjAwNTgyNkQ5IC8qIERP
TUltcGxlbWVudGF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMUEzN0JBMDk3QzcxNUYw
MDE5RjNEOCAvKiBET01JbnRlcm5hbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTg1RkYzMTVCMEFB
RkJGQ0IwMDM3NEYzOCAvKiBET01LZXlib2FyZEV2ZW50Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTFENzIzNkMxQkI2MTc0OTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODUwNjU2RkYwQUFCNDc2MzAwMkQxNUMwIC8qIERPTU1lZGlhTGlzdC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTc1NzkzRUQ0MEQwQ0U4NUIwMDdGQzBBQyAvKiBET01NZXNzYWdlRXZl
bnQubW0gaW4gU291cmNlcyAqLywKIAkJCQlFMUFDQUY0QzBFNzkxQUFGMDA4N0QxMkIgLyogRE9N
TWVzc2FnZVBvcnQubW0gaW4gU291cmNlcyAqLywKQEAgLTI4NTc4LDcgKzI4NjkyLDYgQEAKIAkJ
CQkxNDAzQjk5ODA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUZENjc3NzM4MTk1Q0FGM0QwMDcyRTBEMyAvKiBET01XaW5kb3dDU1MuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTE3RkJBMUUxNTFBQjE3QzAwQjU3OTU5IC8qIERPTVdpbmRvd0V4dGVu
c2lvbi5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUQ3MTlCNjE4MTEwNkUwMDAxNkRDNTEgLyog
RE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QjM4RTI4
MTUxQzQyNzMwMDQ2MjJFOSAvKiBET01XaW5kb3dOb3RpZmljYXRpb25zLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTk3RDJBRDAzMTRCODIzQTYwMDkzREYzMiAvKiBET01XaW5kb3dQcm9wZXJ0eS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBQTJBNUFENzE2QTQ4NjFBMDA5NzVBMjUgLyogRE9NV2lu
ZG93U3BlZWNoU3ludGhlc2lzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg2NzgsNiArMjg3OTEs
NyBAQAogCQkJCTI2QzE3QTNGMTQ5MUQyRDQwMEQxMkJBMiAvKiBGaWxlU3lzdGVtSU9TLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTE0QjNGNzYwQzcyMjA1NTAwMDUzMERGIC8qIEZpbGVTeXN0ZW1N
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTYwMzAwQjBDQzQyNTEyMDBDOEFDMjUgLyogRmls
ZVN5c3RlbVBPU0lYLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQzg4MUJCNEM0RTgwMDEy
ODk4RiAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNUVC
NjlFMEU4MURBRUIwMEIyNTk2NSAvKiBGaWxsTGF5ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MDhDOTI1MTkwRkNDN0M0QTAwNDgwREVDIC8qIEZpbHRlckVmZmVjdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMTMxM0Y2NTE0NDNCMzVGMDA2RTJBOTAgLyogRmlsdGVyRWZmZWN0UmVuZGVyZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODc0MSw2ICsyODg1NSw3IEBACiAJCQkJNEE4Qzk2RUIw
QkU2OTAzMjAwNEVFRkYwIC8qIEZyYW1lU2VsZWN0aW9uTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzRDRDYyOUExODM4Mzc2NjAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3R0aW5nLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTY1QTIxNDg0MDk3QTNGNTMwMEI5MDUwQSAvKiBGcmFtZVRyZWUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDQUYxQkI0QzRFODAwMTI4OThGIC8qIElEQlZlcnNp
b25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NUNCRkVGOTA5NzRGNjA3MDAx
REFDMjUgLyogRnJhbWVWaWV3LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3MjA1QUFGMTIzOTI4
Q0EwMEIxNzM4MCAvKiBGVFBEaXJlY3RvcnlEb2N1bWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MUM4MUI4OTBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtMjg3OTQsNiArMjg5MDksNyBAQAogCQkJCUE4Q0ZGN0E0MEExNTY5Nzgw
MDBBNDIzNCAvKiBIVE1MQW5jaG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODcx
RDQ1RTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTEFwcGxldEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThFQTdEMkYwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxBcmVhRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM5RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UmFu
Z2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNUYyOEZCMUE4MjdEODQwMEMwRjMxRiAv
KiBIVE1MQXR0YWNobWVudEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTQ0NjEzQTEw
Q0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxBdWRpb0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTg3MURDMkEwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTI4ODc1LDYgKzI4OTkxLDcgQEAKIAkJCQlBNDNCRjU5ODExNDkyOTBBMDBD
NjQzQ0EgLyogSFRNTFByb2dyZXNzRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOENG
RjdBNTBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTFF1b3RlRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlBOEQyMjNGRDE2QjUyRTRFMDAxNTcyODggLyogSFRNTFJlc291cmNlUHJlbG9hZGVy
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQzk0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJL
ZXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3MURDMjIwQTE1MjA1NzAwQjEyQTY4IC8qIEhU
TUxTY3JpcHRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0IzODc0MTIyODgzRTkw
MEI4MUZGOCAvKiBIVE1MU2NyaXB0UnVubmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MTM2
OUQ5MDk3Mzc0RjYwMEQ3NDQ2MyAvKiBIVE1MU2VsZWN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKQEAgLTI4OTE1LDM4ICsyOTAzMiwxOCBAQAogCQkJCTUxM0YxNDUzMEFCNjM0QzQwMDA5NERE
RiAvKiBJY29uTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyNzUzNThFMEIwNTNBNjYw
MDJDRTY0RiAvKiBJY29uTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFFMUVDQzAwQzkxQzkw
NDAwREMyNTVCIC8qIEljb25SZWNvcmQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5Qjkx
ODExMDZFMDAwMTZEQzUxIC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDNTg1QTY2
MjExRDRGQUM1MDA0QzNFNEIgLyogSURCQmluZGluZ1V0aWxpdGllcy5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk1MTAzQzJCMzFCQTIzMjREMDBFMjYzMzcgLyogSURCQ3Vyc29yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxRjQxQTY5MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJDdXJzb3JCYWNrZW5k
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjQxQTZCMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJD
dXJzb3JCYWNrZW5kT3BlcmF0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTAzQzJCNDFC
QTIzMkFFMDBFMjYzMzcgLyogSURCQ3Vyc29yV2l0aFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxMDNDMkI1MUJBMjMyRDQwMEUyNjMzNyAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUY0MUE2RDFCQTczQjVCMDAyRTA1M0IgLyogSURCRGF0YWJhc2VCYWNrZW5k
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjQxQTcwMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJE
YXRhYmFzZUNhbGxiYWNrc0ltcGwuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5Q0UxODEx
MDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAot
CQkJCTUxMDMxMDYxMUJBOEUxMEQwMDMzMjlDMCAvKiBJREJEYXRhYmFzZUlkZW50aWZpZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTE2MzExN0QxODUxMjQyQjAwNTM0NjQ3IC8qIElEQkRhdGFi
YXNlTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5RDAxODExMDZFMDAwMTZE
QzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTU3RDQ2
NDFCQTI0QUVFMDA4NUNBMkYgLyogSURCRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MTAzMTA0RjFCQThDQzAzMDAzMzI5QzAgLyogSURCRmFjdG9yeUltcGwuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTE1N0Q0NjUxQkEyNEFGODAwODVDQTJGIC8qIElEQkluZGV4LmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTUxRDcxOURCMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwIGluIFNv
dXJjZXMgKi8sCi0JCQkJNTExRUMxQTgxODhEQUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3Bw
IGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5REQxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBh
dGguY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5REYxODExMDZFMDAwMTZEQzUxIC8qIElE
QktleVJhbmdlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMjNBRjE4MTg5MEE0Q0EwMDMxQ0RD
OSAvKiBJREJLZXlSYW5nZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTE1N0Q0NjYxQkEy
NEFGRDAwODVDQTJGIC8qIElEQk9iamVjdFN0b3JlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUx
MDNDMkI3MUJBMjMzQzQwMEUyNjMzNyAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxMDMxMDVBMUJBOERCNTYwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1w
bC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE3QjFCQTczQjVCMDAyRTA1M0IgLyogSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTAzQzJC
NjFCQTIzM0JGMDBFMjYzMzcgLyogSURCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MTAzMTA1QzFCQThEQjU2MDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTEwM0MyQjIxQkEyMzE3NDAwRTI2MzM3IC8qIElEQlRyYW5zYWN0aW9uLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUxRjQxQTczMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2Fj
dGlvbkJhY2tlbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGNDFBNzUxQkE3M0I1QjAwMkUw
NTNCIC8qIElEQlRyYW5zYWN0aW9uQmFja2VuZE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFGNDFBNzcxQkE3M0I1QjAwMkUwNTNCIC8qIElEQlRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwM0MyQjgxQkEyMzVDNTAwRTI2MzM3IC8qIElE
QlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTcxRDU3QjBGMzM4
MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDM0NG
MTdBNDE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlDM0NGMTdBNjE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJnZXRPYnNlcnZlclJlZ2lz
dHJ5LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkwMjAsNiArMjkxMTcsNyBAQAogCQkJCTc1NDEz
M0FBMTAyRTAwRjQwMDA3NUQwMCAvKiBJbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUYzODEwQzFCMTM2NUE0OTYwMEVENkUzMyAvKiBJbnNwZWN0b3JXb3JrZXJB
Z2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzUwQjczNTEzRjEzNzdEMDA4ODBDNDMgLyog
SW5zdHJ1bWVudGluZ0FnZW50cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM4QzFCQjRD
NEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDQ2RjA0
RTE3Qjk2RkJEMDA1NjQ3RjAgLyogSW50UG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjI3
NTM1NjAwQjA1MzgxNDAwMkNFNjRGIC8qIEludFBvaW50Q0cuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQjI3NTM1N0MwQjA1MzgxNDAwMkNFNjRGIC8qIEludFBvaW50TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCkBAIC0yOTAzOCw2ICsyOTEzNiw3IEBACiAJCQkJMDcwNTg1MDIxN0ZBMTBEMDAwNUYyQkNC
IC8qIEpTQWxsVmlkZW9DYXBhYmlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBMTVF
QzkxMkIwM0Y1MDAwM0E1ODNBIC8qIEpTQW5hbHlzZXJOb2RlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTMxQTc5NUM2MTg4OEJBREMwMDM4MkY5MCAvKiBKU0FOR0xFSW5zdGFuY2VkQXJyYXlzLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0FDMUJCNEM0RTgwMDEyODk4RiAvKiBJREJUcmFu
c2FjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTk4NDgwQjFBMUU2Q0U0MDBBMTMzMTgg
LyogSlNBbmltYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzFEQTA5RDFD
MTIzMDAwQkUzMjUgLyogSlNBdHRyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMkVENkJDMEM2
QkQyRjAwMDkyMEJGRiAvKiBKU0F0dHJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTE4
OSw2ICsyOTI4OCw3IEBACiAJCQkJRTBGRUYzNzJCNDdDNTNFQUMxQzFGQkVFIC8qIEpTRXZlbnRT
b3VyY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzZBNzAzMzI1QzlEMEI2Q0RDQkM0RDc3IC8q
IEpTRXZlbnRUYXJnZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MDkwMjAwRTkxQjhFQzAw
MEM2OEI1IC8qIEpTRXZlbnRUYXJnZXRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4
NUZDOUYxQkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTMzMTRBQ0VCMTA4OTIwODYwMDBGMEU1NiAvKiBKU0V4Y2VwdGlvbkJhc2UuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNzI0RUQzMzExQTNBOEIyMzAwRjVGMTNDIC8qIEpTRVhUQmxlbmRN
aW5NYXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNzJGMUFEQTUxQTM5MEI5RjAwMDE0RTE4IC8q
IEpTRVhURnJhZ0RlcHRoLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkyNTAsNiArMjkzNTAsNyBA
QAogCQkJCTlCMUFCMDdDMTY0OEM3QzQwMDUxRjNGMiAvKiBKU0hUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4RDA2NEZCMEEyM0MwQ0MwMDVF
NzIwMyAvKiBKU0hUTUxGb3JtRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEQwNjVB
RTBBMjQ0NkNEMDA1RTcyMDMgLyogSlNIVE1MRm9ybUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTE4NUZDN0ExQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlCQzQ5MThDNjBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MRnJhbWVF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMkVEN0E1MEM2QzBGMzYwMDkyMEJGRiAv
KiBKU0hUTUxGcmFtZUVsZW1lbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5MjZG
ODAwQzA1NTI0NzAwODI3NzZCIC8qIEpTSFRNTEZyYW1lU2V0RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTI5NTUyLDYgKzI5NjUzLDcgQEAKIAkJCQlCMkZBM0Q5NDBBQjc1QTZGMDAwRTVB
QzQgLyogSlNTVkdGRVR1cmJ1bGVuY2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
RkEzRDk2MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZpbHRlckVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQjI3QjI4MjUwQ0VGMEMwNzAwRDM5RDU0IC8qIEpTU1ZHRm9udEVsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDQkExQkI0Q0JGODAwMTI4OThGIC8qIElEQlNl
cnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODNCNzkwNDBDQ0FGRjE1MDAwQjA4MjUgLyog
SlNTVkdGb250RmFjZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzQjc5MDEwQ0NB
RkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4M0I3OTAzMENDQUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTY0Nyw2ICsyOTc0OSw3IEBACiAJCQkJMDdC
NUEyREIxNDY0MzIwQTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwN0I1QTMwRDE0Njg3RDcxMDBBODFFQ0UgLyogSlNUZXh0VHJhY2tMaXN0Q3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDFBMENENjgyNjkwMEZBREE3NSAvKiBKU1Rp
bWVSYW5nZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE2RDdENkYxQkI1RjBCRDAwQUY3Qzc3
IC8qIElEQkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkRBN0Mx
NjE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkRB
N0MxODE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTBGREE3QzFBMTg4MzIyRUIwMEM5NTRCNSAvKiBKU1RvdWNoTGlzdC5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTI5NjU5LDYgKzI5NzYyLDcgQEAKIAkJCQlBODY2MjlEMDA5REEyQjQ4MDA5NjMz
QTUgLyogSlNVSUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUFBQTRGQUQzMTc1RDVDQjMw
MDc0Mzg3MyAvKiBKU1VJUmVxdWVzdEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNzNG
QjExMTkxRUY2RjQwMDdERTA2MSAvKiBKU1VzZXJNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1MTg1RkNBMzFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVxdWVzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzczRkIwQzE5MUVGNUE4MDA3REUwNjEgLyogSlNVc2Vy
TWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNzNGQjE5
MTkxRUY4MDgwMDdERTA2MSAvKiBKU1VzZXJNZXNzYWdlSGFuZGxlcnNOYW1lc3BhY2VDdXN0b20u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTVDNzcwOTQxMDBEM0NBODAwNUJBMjY3IC8qIEpTVmFs
aWRpdHlTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NjgzLDYgKzI5Nzg3LDcgQEAKIAkJ
CQlCQzJDQkY3QjE0MEYxRDU4MDAzODc5QkUgLyogSlNXZWJHTENvbnRleHRFdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk2RTNGQUQzODE0NzMzRjQwMTBFNDIzMDcgLyogSlNXZWJHTERlYnVn
UmVuZGVyZXJJbmZvLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZFM0ZBRDM4MTQ3MzNGNDAyMEU0
MjMwNyAvKiBKU1dlYkdMRGVidWdTaGFkZXJzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVG
Qzg0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk2RTNGQUQzODE0NzMzRjQwMDBFNDIzMDcgLyogSlNXZWJHTERlcHRoVGV4dHVy
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RUJGMEU3NjEyQTk4Njg4MDBEQjE3MEEgLyogSlNX
ZWJHTERyYXdCdWZmZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdCOTk3MTA0MkQyRDMw
MDA5RDQ0NyAvKiBKU1dlYkdMRnJhbWVidWZmZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTY5
Nyw2ICsyOTgwMiw3IEBACiAJCQkJNkY5OTVBMzMxQTcwODMzNzAwQTczNUY0IC8qIEpTV2ViR0xT
YW1wbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdCOUEyMTA0MkQyRDMwMDA5RDQ0NyAv
KiBKU1dlYkdMU2hhZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUEwN0QzMzU1MTUyQjYzMEUw
MDFCNjM5MyAvKiBKU1dlYkdMU2hhZGVyUHJlY2lzaW9uRm9ybWF0LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxODVGQzhBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJFdmVudERpc3BhdGNoZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNkY5OTVBMzUxQTcwODMzNzAwQTczNUY0IC8qIEpTV2ViR0xT
eW5jLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5QzdCOUE0MTA0MkQyRDMwMDA5RDQ0NyAvKiBK
U1dlYkdMVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2Rjk5NUEzNzFBNzA4MzM3MDBB
NzM1RjQgLyogSlNXZWJHTFRyYW5zZm9ybUZlZWRiYWNrLmNwcCBpbiBTb3VyY2VzICovLApAQCAt
Mjk5ODIsNiArMzAwODgsNyBAQAogCQkJCUNENUU1QjYxMUExNUYxNTYwMDBDNjA5RSAvKiBQYWdl
Q29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzgyMDg5MjE0N0QzNUY5MDAx
MEJDMDYgLyogUGFnZUNvbnNvbGVBZ2VudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEQUVEMjAz
MDE2RjI0NDJCMDA3MEVDMEYgLyogUGFnZUNvbnNvbGVDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTEwQTU4RjkxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUE1QTJBRjBCMTgyOTczNDMwMERFMTcyOSAvKiBQYWdlRGVidWdnYWJs
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzQ3NDJEQzEzNDM2MkYwMDA1MzFCQzIgLyogUGFn
ZURlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTMwMkIwQkQwRDc5RjgyOTAw
QzdFRTgzIC8qIFBhZ2VHcm91cC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwNzE1LDYgKzMwODIy
LDcgQEAKIAkJCQlCMUFENEU3MzEzQTEyQTQ2MDA4NDZCMjcgLyogVGV4dFRyYWNrTG9hZGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUNEMUU3MzQ3MTY3QkM3OEUwMDlBODg1RCAvKiBUZXh0VHJh
Y2tSZXByZXNlbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRENBODI5NjE2NzkxMDBG
MDA4NzU3MTQgLyogVGV4dFRyYWNrUmVwcmVzZW50YXRpb25JT1MubW0gaW4gU291cmNlcyAqLywK
KwkJCQk1MTg1RkM5NjFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkyOTQ5ODY4MzE5NTM0MTk0MDA3MkQyQkQgLyogVGV4dFVuZG9JbnNlcnRpb25N
YXJrdXBNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0OTg3NzBGMDEyNDJDNTM1MDAyMjI2QkEg
LyogVGV4dHVyZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U2NUQzMjBFQUQxMjExMDA3RTQ1
MzMgLyogVGhlbWUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDczMyw2ICszMDg0MSw3IEBACiAJ
CQkJMUY3MkJGMEExODdGRDQ0OTAwMDlCQ0IzIC8qIFRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxl
cklPUy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUEzQTZBMzE5NEI1QzIyMDAxQ0JEMjQgLyog
VGlsZUNvdmVyYWdlTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBQTNBNjlCMTk0QTY0RTcw
MDFDQkQyNCAvKiBUaWxlR3JpZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM5MDFCQjRD
NEU4MDAxMjg5OEYgLyogSURCSW5kZXguY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4NzcwRjIx
MjQyQzUzNTAwMjIyNkJBIC8qIFRpbGluZ0RhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjU1
QjNEREIxMjUxRjEyRDAwM0VGMjY5IC8qIFRpbWVJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNzU1M0NGRTkxMDhGNDczRjAwRUEyODFFIC8qIFRpbWVsaW5lUmVjb3JkRmFjdG9yeS5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTMwNzk0LDYgKzMwOTAzLDcgQEAKIAkJCQkyRTNCQkYwNzEx
NjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGNUExNTQyNzEy
Nzk1MzREMDBEMEIwQzAgLyogVmFsaWRhdGlvbk1lc3NhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRkQzMTYwQUUxMkIwMjZGNzAwQzFBMzU5IC8qIFZlY3Rvck1hdGguY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNTE4NUZDOUExQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJhbmdlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUNERTgzREIxMTgzQzQ0MDYwMDMxRUFBMyAvKiBWaWRlb1BsYXliYWNr
UXVhbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBERTE3MTVEMkEyMDA2NThEOTgg
LyogVmlkZW9UcmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCRTg4RTBFMTE3MTVEMkEyMDA2
NThEOTggLyogVmlkZW9UcmFja0xpc3QuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDg4MCw2ICsz
MDk5MCw3IEBACiAJCQkJQTA4Q0YxNTQxNTJCNzdCMzAwOUM1Nzc1IC8qIFdlYkdMU2hhZGVyUHJl
Y2lzaW9uRm9ybWF0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAxRDNDRjg2MTRCRDBBMzAwMEZF
OTk3MCAvKiBXZWJHTFNoYXJlZE9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2Rjk5NUEx
NTFBNzA3NTYyMDBBNzM1RjQgLyogV2ViR0xTeW5jLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUx
MEE1OEZCMUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0OUM3QjlFNTEwNDJEMzJGMDAwOUQ0NDcgLyogV2ViR0xUZXh0dXJlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTZGOTk1QTIzMUE3MDc4QjEwMEE3MzVGNCAvKiBXZWJHTFRy
YW5zZm9ybUZlZWRiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBDM0YxRjVBMTBDODg3MTIw
MEQ3MkNFMSAvKiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMw
ODkyLDYgKzMxMDAzLDcgQEAKIAkJCQk5NzZENkM3QjEyMkI4QTNEMDAxRkQxRjcgLyogV2ViS2l0
QmxvYkJ1aWxkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEwNjAzNkYxNDMyN0QyRTAwQUJG
NEJBIC8qIFdlYktpdENTU0ZpbHRlclZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODM5
MTU4MEYxRTc3NjkwMEMyMzc4MiAvKiBXZWJLaXRDU1NNYXRyaXguY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNTE2RDdENzExQkI1RjBCRDAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk4QUE2MUNGRjE0NEQ1OTVCMDBGMzczNTAgLyogV2ViS2l0
Q1NTUmVnaW9uUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzlBREQ4MDBDQzQwOTIyMDAw
OThDNEMgLyogV2ViS2l0Q1NTVHJhbnNmb3JtVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
M0ZGRkY5QTgxNTlEOUE1NTAwMjBCQkQ1IC8qIFdlYktpdENTU1ZpZXdwb3J0UnVsZS5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTMwOTE2LDYgKzMxMDI4LDcgQEAKIAkJCQk5N0FBQkQyNjE0RkEwOUQ1
MDA3NDU3QUUgLyogV2ViU29ja2V0SGFuZHNoYWtlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMx
REVBNDU1MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMEY1ODBGQTQxNDk2OTM5MTAwRkI1QkQ4IC8qIFdlYlRpbGVkQmFja2lu
Z0xheWVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDQjMxQkI0QzRFODAwMTI4OThGIC8q
IFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUNEODIwMzBCMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5Db250cm9sbGVy
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0Y0MkIzMUUxODgxMTkxQjAwMjc4QUFDIC8qIFdlYlZp
ZGVvRnVsbHNjcmVlbkNvbnRyb2xsZXJBVktpdC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEODIw
MzBEMTM5NUFCNkEwMEY5NTZDNiAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5IVURXaW5kb3dDb250cm9s
bGVyLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0zMDk0Nyw3ICszMTA2MCw2IEBACiAJCQkJRjM0NzQy
RTAxMzQzNjMxRjAwNTMxQkMyIC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTNFMjY0MzAxNDc0ODk5MTAwNUE4NTg4IC8qIFdvcmtlckV2ZW50UXVldWUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkU0MzQ2NDgwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckds
b2JhbFNjb3BlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUZCMTgxMTA2RTAwMDE2REM1
MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk5N0Y4RTY2NTE1MUQ0QTRCMDBEMkQxODEgLyogV29ya2VyR2xvYmFsU2NvcGVOb3RpZmlj
YXRpb25zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUYzNkUwN0E0MTM1OEE4QkUwMEFBQ0JDOSAv
KiBXb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJFNDM0
NjRDMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJMb2NhdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTMwOTU5LDYgKzMxMDcxLDcgQEAKIAkJCQlGMzQ3NDJFODEzNDM2MzUwMDA1MzFCQzIgLyog
V29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTdENkIzNEEw
RjYxMTA0NTAwQjc5RkQxIC8qIFdvcmtlclNjcmlwdExvYWRlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRTQzNDY1NDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyVGhyZWFkLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxMEE1OEU0MUJBQTQwQjEwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI5MDU2RjgwRjI2ODVGMzAwOTVGRjZBIC8qIFdv
cmtlclRocmVhZGFibGVMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTdBQUJEMkMxNEZB
MDlENTAwNzQ1N0FFIC8qIFdvcmtlclRocmVhZGFibGVXZWJTb2NrZXRDaGFubmVsLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzMzA5RTIzMDk5RTY0OTIwMDU2RTU4MSAvKiBXcmFwQ29udGVudHNJ
bkR1bW15U3BhbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuY3BwCmluZGV4IDgzN2U4ZDUuLmI5NWQ4NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuY3BwCkBAIC0zNyw2ICszNyw3IEBACiAjaW5jbHVkZSAiRnJhbWVO
ZXR3b3JraW5nQ29udGV4dC5oIgogI2luY2x1ZGUgIkhUTUxGb3JtRWxlbWVudC5oIgogI2luY2x1
ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmgiCisjaW5jbHVkZSAiSW5Qcm9jZXNzSURC
U2VydmVyLmgiCiAjaW5jbHVkZSAiUGFnZUNvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJTdG9y
YWdlQXJlYS5oIgogI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKQEAgLTQ5LDYgKzUwLDEy
IEBAIGNsYXNzIEVtcHR5RGF0YWJhc2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBEYXRhYmFzZVBy
b3ZpZGVyIHsKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIFJlZlB0
cjxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gY3JlYXRlSURCRmFjdG9yeUJhY2tlbmQoKSB7
IHJldHVybiBudWxscHRyOyB9CiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTW9kZXJuSURCKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICAKKyAgICB2aXJ0dWFsIElEQkNsaWVudDo6SURC
Q29ubmVjdGlvblRvU2VydmVyJiBpZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNvbnN0
IFNlc3Npb25JRCYpCisgICAgeworICAgICAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmVmPElu
UHJvY2Vzc0lEQlNlcnZlcj4+IHNoYXJlZENvbm5lY3Rpb24oSW5Qcm9jZXNzSURCU2VydmVyOjpj
cmVhdGUoKSk7CisgICAgICAgIHJldHVybiBzaGFyZWRDb25uZWN0aW9uLmdldCgpLT5jb25uZWN0
aW9uVG9TZXJ2ZXIoKTsKKyAgICB9CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRGF0YWJhc2VQcm92aWRlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EYXRh
YmFzZVByb3ZpZGVyLmgKaW5kZXggMjcwZjQyYS4uMDFmZjRmNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9EYXRhYmFzZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9EYXRhYmFzZVByb3ZpZGVyLmgKQEAgLTMzLDYgKzMzLDExIEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgSURCQ29ubmVjdGlvbk1hbmFnZXI7CiBjbGFzcyBJREJGYWN0b3J5QmFja2Vu
ZEludGVyZmFjZTsKK2NsYXNzIFNlc3Npb25JRDsKKworbmFtZXNwYWNlIElEQkNsaWVudCB7Citj
bGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7Cit9CiAKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIERh
dGFiYXNlUHJvdmlkZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxEYXRhYmFzZVByb3ZpZGVyPiB7CiBw
dWJsaWM6CkBAIC00Miw2ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBJREJGYWN0b3J5QmFja2VuZElu
dGVyZmFjZSogaWRiRmFjdG9yeUJhY2tlbmQoKTsKIAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0
c01vZGVybklEQigpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIElEQkNsaWVudDo6SURCQ29ubmVj
dGlvblRvU2VydmVyJiBpZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNvbnN0IFNlc3Np
b25JRCYpID0gMDsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggOTBh
ZDk2MzguLmNkOTE2NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIkJhY2tGb3J3YXJkQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub1NlcnZlci5o
IgogI2luY2x1ZGUgIkNsaWVudFJlY3RMaXN0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDbGll
bnQuaCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKQEAgLTExMyw2ICsxMTQs
MTAgQEAKICNpbmNsdWRlICJNZWRpYVNlc3Npb25NYW5hZ2VyLmgiCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2luY2x1ZGUgIkluUHJvY2Vzc0lEQlNlcnZlci5oIgor
I2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIEhhc2hTZXQ8UGFnZSo+KiBh
bGxQYWdlczsKQEAgLTE3NTgsNCArMTc2MywxOSBAQCB2b2lkIFBhZ2U6OnNldEFsbG93c01lZGlh
RG9jdW1lbnRJbmxpbmVQbGF5YmFjayhib29sIGZsYWcpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQorSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIFBh
Z2U6OmlkYkNvbm5lY3Rpb24oKQoreworICAgIGlmICghbV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIpIHsKKyAgICAgICAgaWYgKHVzZXNFcGhlbWVyYWxTZXNzaW9uKCkpIHsKKyAgICAgICAgICAg
IGF1dG8gaW5Qcm9jZXNzU2VydmVyID0gSW5Qcm9jZXNzSURCU2VydmVyOjpjcmVhdGUoKTsKKyAg
ICAgICAgICAgIG1faWRiSURCQ29ubmVjdGlvblRvU2VydmVyID0gJmluUHJvY2Vzc1NlcnZlci0+
Y29ubmVjdGlvblRvU2VydmVyKCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbV9pZGJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXIgPSAmZGF0YWJhc2VQcm92aWRlcigpLmlkYkNvbm5lY3Rpb25U
b1NlcnZlckZvclNlc3Npb24obV9zZXNzaW9uSUQpOworICAgIH0KKyAgICAKKyAgICByZXR1cm4g
Km1faWRiSURCQ29ubmVjdGlvblRvU2VydmVyOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9QYWdlLmgKaW5kZXggOTdhODc0Mi4uNTFlNDM2MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
LmgKQEAgLTY0LDYgKzY0LDEwIEBAIGNsYXNzIERlYnVnZ2VyOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK25hbWVzcGFjZSBJREJDbGllbnQgeworY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVy
OworfQorCiBjbGFzcyBBbHRlcm5hdGl2ZVRleHRDbGllbnQ7CiBjbGFzcyBBcHBsaWNhdGlvbkNh
Y2hlU3RvcmFnZTsKIGNsYXNzIEJhY2tGb3J3YXJkQ29udHJvbGxlcjsKQEAgLTQ2Niw2ICs0NzAs
MTAgQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0QWxsb3dzTWVkaWFEb2N1
bWVudElubGluZVBsYXliYWNrKGJvb2wpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKKyAgICBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVj
dGlvbigpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBpbml0
R3JvdXAoKTsKIApAQCAtNjAzLDYgKzYxMSwxMCBAQCBwcml2YXRlOgogICAgIGNvbnN0IHN0ZDo6
dW5pcXVlX3B0cjxQYWdlRGVidWdnYWJsZT4gbV9pbnNwZWN0b3JEZWJ1Z2dhYmxlOwogI2VuZGlm
CiAKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyAgICBSZWZQdHI8SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1faWRiSURCQ29ubmVjdGlvblRvU2VydmVyOworI2VuZGlm
CisKICAgICBIYXNoU2V0PFN0cmluZz4gbV9zZWVuUGx1Z2luczsKICAgICBIYXNoU2V0PFN0cmlu
Zz4gbV9zZWVuTWVkaWFFbmdpbmVzOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NlY3VyaXR5T3JpZ2luRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3Jp
Z2luRGF0YS5jcHAKaW5kZXggNzM2NjRiZS4uODM5NjQ3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2VjdXJpdHlPcmlnaW5EYXRhLmNwcApAQCAtNDYsNiArNDYsMTMgQEAgU2VjdXJpdHlPcmln
aW5EYXRhIFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJgogICAgIHJldHVybiBzZWN1cml0eU9yaWdpbkRhdGE7CiB9CiAKKyNpZm5kZWYg
TkRFQlVHCitTdHJpbmcgU2VjdXJpdHlPcmlnaW5EYXRhOjpkZWJ1Z1N0cmluZygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1ha2VTdHJpbmcocHJvdG9jb2wsICI6Ly8iLCBob3N0LCAiOiIsIFN0cmlu
Zzo6bnVtYmVyKHBvcnQpKTsKK30KKyNlbmRpZgorCiBTZWN1cml0eU9yaWdpbkRhdGEgU2VjdXJp
dHlPcmlnaW5EYXRhOjpmcm9tRnJhbWUoRnJhbWUqIGZyYW1lKQogewogICAgIGlmICghZnJhbWUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuaAppbmRleCAyMWM5NWRmLi45
OTMwN2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmgKQEAgLTQ5
LDYgKzQ5LDEwIEBAIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGEgewogCiAgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgU2VjdXJpdHlPcmln
aW5EYXRhJik7CisKKyNpZm5kZWYgTkRFQlVHCisgICAgU3RyaW5nIGRlYnVnU3RyaW5nKCkgY29u
c3Q7CisjZW5kaWYKIH07CiAKIFdFQkNPUkVfRVhQT1JUIGJvb2wgb3BlcmF0b3I9PShjb25zdCBT
ZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggODhkYzZhNS4uODgyMzA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNS0wOS0y
OCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFuIElE
QiBTZXJ2ZXIgdGhhdCBjYW4gcm91bmR0cmlwIGEgcmVxdWVzdCBiYWNrIHRvIHRoZSBjbGllbnQu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk2MDMK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFN0b3Jh
Z2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJEYXRhYmFzZVByb3ZpZGVy
OjppZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKToKKyAgICAgICAgKiBTdG9yYWdlL1dl
YkRhdGFiYXNlUHJvdmlkZXIuaDoKKwogMjAxNS0wOS0yNSAgQWxleCBDaHJpc3RlbnNlbiAgPGFj
aHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENsZWFuIHVwIENNYWtlIGJ1aWxkIG9u
IE1hYwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuY3BwCmlu
ZGV4IGQxNTBlY2EuLjM5NjBlNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9X
ZWJEYXRhYmFzZVByb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0
YWJhc2VQcm92aWRlci5jcHAKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlICJXZWJEYXRhYmFz
ZVByb3ZpZGVyLmgiCiAKICNpbmNsdWRlIDxXZWJDb3JlL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvTmV2
ZXJEZXN0cm95ZWQuaD4KIAogV2ViRGF0YWJhc2VQcm92aWRlciYgV2ViRGF0YWJhc2VQcm92aWRl
cjo6c2luZ2xldG9uKCkKQEAgLTQ4LDQgKzQ5LDEzIEBAIFJlZlB0cjxXZWJDb3JlOjpJREJGYWN0
b3J5QmFja2VuZEludGVyZmFjZT4gV2ViRGF0YWJhc2VQcm92aWRlcjo6Y3JlYXRlSURCRmFjdG9y
CiB7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CisKK1dlYkNvcmU6OklEQkNsaWVudDo6SURCQ29u
bmVjdGlvblRvU2VydmVyJiBXZWJEYXRhYmFzZVByb3ZpZGVyOjppZGJDb25uZWN0aW9uVG9TZXJ2
ZXJGb3JTZXNzaW9uKGNvbnN0IFdlYkNvcmU6OlNlc3Npb25JRCYgc2Vzc2lvbklEKQoreworICAg
IGF1dG8gcmVzdWx0ID0gbV9pZGJTZXJ2ZXJNYXAuYWRkKHNlc3Npb25JRC5zZXNzaW9uSUQoKSwg
bnVsbHB0cik7CisgICAgaWYgKHJlc3VsdC5pc05ld0VudHJ5KQorICAgICAgICByZXN1bHQuaXRl
cmF0b3ItPnZhbHVlID0gV2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyOjpjcmVhdGUoKTsKKwor
ICAgIHJldHVybiByZXN1bHQuaXRlcmF0b3ItPnZhbHVlLT5jb25uZWN0aW9uVG9TZXJ2ZXIoKTsK
K30KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNl
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmgK
aW5kZXggNjNkNjRjYS4uZmVkZGVhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdl
L1dlYkRhdGFiYXNlUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0
YWJhc2VQcm92aWRlci5oCkBAIC0yNyw3ICsyNywxMCBAQAogI2RlZmluZSBXZWJEYXRhYmFzZVBy
b3ZpZGVyX2gKIAogI2luY2x1ZGUgPFdlYkNvcmUvRGF0YWJhc2VQcm92aWRlci5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvSW5Qcm9jZXNzSURCU2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAog
Y2xhc3MgV2ViRGF0YWJhc2VQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpEYXRhYmFz
ZVByb3ZpZGVyIHsKICAgICBmcmllbmQgY2xhc3MgTmV2ZXJEZXN0cm95ZWQ8V2ViRGF0YWJhc2VQ
cm92aWRlcj47CkBAIC0zNyw2ICs0MCw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFKQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01vZGVybklEQigpIGNvbnN0IG92
ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KKyAgICB2aXJ0dWFsIFdlYkNvcmU6OklEQkNsaWVudDo6
SURCQ29ubmVjdGlvblRvU2VydmVyJiBpZGJDb25uZWN0aW9uVG9TZXJ2ZXJGb3JTZXNzaW9uKGNv
bnN0IFdlYkNvcmU6OlNlc3Npb25JRCYpIG92ZXJyaWRlOwogI2VuZGlmCiAKIHByaXZhdGU6CkBA
IC00NCw2ICs0OCw3IEBAIHByaXZhdGU6CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
ICAgICB2aXJ0dWFsIFJlZlB0cjxXZWJDb3JlOjpJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4g
Y3JlYXRlSURCRmFjdG9yeUJhY2tlbmQoKSBvdmVycmlkZTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90
LCBSZWZQdHI8V2ViQ29yZTo6SW5Qcm9jZXNzSURCU2VydmVyPj4gbV9pZGJTZXJ2ZXJNYXA7CiAj
ZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwMjZkYmQ3Li5iMTM1ODA3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTUtMDktMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBhbiBJREIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJl
cXVlc3QgYmFjayB0byB0aGUgY2xpZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3Zp
ZGVyLmg6CisKIDIwMTUtMDktMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5j
b20+CiAKICAgICAgICAgRXhwb3NlIGEgV0tXZWJWaWV3IEFQSSBmb3IgYWxsb3dpbmcgcHJvZ3Jh
bW1hdGljIGZvY3VzIHRvIHRyaWdnZXIgbm9kZSBhc3Npc3RhbmNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmgK
aW5kZXggMmFlOTk0MS4uYThhZjJkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApAQCAtMzcsNiArMzcs
MTEgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgdmlydHVh
bCBib29sIHN1cHBvcnRzTW9kZXJuSURCKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7
IH0KKworICAgIHZpcnR1YWwgV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2
ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oY29uc3QgV2ViQ29yZTo6U2Vzc2lv
bklEJikgb3ZlcnJpZGUKKyAgICB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFDSEVE
KCk7CisgICAgfQogI2VuZGlmCiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262021</attachid>
            <date>2015-09-28 14:22:04 -0700</date>
            <delta_ts>2015-09-28 14:35:04 -0700</delta_ts>
            <desc>Patch v2 - Style and CMakeList</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>171429</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2U1NjdmLi4xZTY3NTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDkt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBJ
REIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xpZW50
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVk
YXRhYmFzZS1yZXF1ZXN0LWV2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTA5LTI4ICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIGpzL3JlZ3Jlc3MvZ2V0dGVyLXJp
Y2hhcmRzLXRyeS1jYXRjaCBpcyB0aW1pbmcgb3V0IG9uIGRlYnVnIGxheW91dCB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFi
YXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZTNkMWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2Ut
cmVxdWVzdC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitBTEVSVDogW29iamVj
dCBJREJPcGVuREJSZXF1ZXN0XQorQUxFUlQ6IGVycm9yIFtvYmplY3QgRXZlbnRdCitBTEVSVDog
RG9uZQorVGhpcyB0ZXN0IGNhbGxzIGRlbGV0ZURhdGFiYXNlIG9uIHdpbmRvdy5pbmRleGVkREIg
YW5kIHZlcmlmaWVzIHRoYXQgYW4gZXZlbnQgaXMgZmlyZWQgYXQgdGhlIHJlcXVlc3QuCitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNl
LXJlcXVlc3QtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
NjFmN2RmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQuaHRtbApAQCAtMCwwICsxLDMyIEBA
CitUaGlzIHRlc3QgY2FsbHMgZGVsZXRlRGF0YWJhc2Ugb24gd2luZG93LmluZGV4ZWREQiBhbmQg
dmVyaWZpZXMgdGhhdCBhbiBldmVudCBpcyBmaXJlZCBhdCB0aGUgcmVxdWVzdC48YnI+CitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLjxicj4KKzxzY3JpcHQ+CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBhbGVy
dCgiRG9uZSIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciByZXF1ZXN0ID0gd2luZG93LmluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSgiVGVzdERhdGFiYXNlIik7CisKK3JlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oKQoreworCWFsZXJ0KCJzdWNjZXNzIik7CisJZG9uZSgpOworfQorcmVxdWVzdC5vbmVycm9y
ID0gZnVuY3Rpb24oZSkKK3sKKwlhbGVydCgiZXJyb3IgIiArIGUpOworCWRvbmUoKTsKK30KKwor
YWxlcnQocmVxdWVzdCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiOTUx
MDYwLi40MzZkN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTIsNiArMTIsOCBAQCBzZXQo
V2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
aW5kZXhlZGRiIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeSIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyIgorICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
aW5kaWV1aSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYWNvbnRyb2xzLyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXNlc3Npb24iCkBAIC04NjksNiArODcxLDcg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25D
aGFuZ2VFdmVudC5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZS5jcHAKIAorICAgIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3Rv
cnlJbXBsLmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0
SW1wbC5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3Bw
CkBAIC04OTMsNiArODk2LDE1IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9pbmRleGVk
ZGIvbGVnYWN5L0xlZ2FjeVZlcnNpb25DaGFuZ2VFdmVudC5jcHAKIAorICAgIE1vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCisgICAgTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKworICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJFcnJvci5jcHAKKyAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERh
dGEuY3BwCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVy
LmNwcAorICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmNwcAorICAg
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCisKICAgICBN
b2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCiAKICAgICBNb2R1bGVz
L21lZGlhc2Vzc2lvbi9IVE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGNmZTQxYWIuLjliMjkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNDcgQEAKKzIwMTUt
MDktMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBh
biBJREIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xp
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5
NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQu
aHRtbAorCisgICAgICAgIFRoaXMgaXMgYSBjcml0aWNhbCBwaWVjZSBvZiBJREIgaW5mcmFzdHJ1
Y3R1cmUgdGhhdDoKKyAgICAgICAgLSBQdXRzIGEgZGF0YWJhc2UgY2xpZW50L3NlcnZlciBkaXZp
ZGUgaW4gcGxhY2UuCisgICAgICAgIC0gQ2xpZW50IHN5bmNocm9ub3VzbHkgc2VuZHMgcmVxdWVz
dHMgdG8gdGhlIHNlcnZlciwgYW5kIGFzeW5jaHJvbm91c2x5IHJlY2VpdmVzIGEgcmVzcG9uc2Ug
YmFjayBmcm9tIGl0LgorICAgICAgICAtIEludHJvZHVjZXMgYSBjbGFzcyBzdHJ1Y3R1cmUgdGhh
dCBtYWtlcyBpdCBlYXN5IGZvciBXZWJLaXQyIHRvIGFkZCBhIHRoaW4gbGF5ZXIgdG8gcmVwbGFj
ZSB0aGUgCisgICAgICAgICAgaW4tcHJvY2VzcyBzZXJ2ZXIgd2l0aCBhbiBvdXQtb2YtcHJvY2Vz
cyBzZXJ2ZXIuCisKKyAgICAgICAgVG8gYWxsb3cgZm9yIHRoZSBtb3N0IGJhc2ljIG9mIHRlc3Rz
LCB0aGUgImRlbGV0ZSBkYXRhYmFzZSIgcmVxdWVzdCBpcyBoYXJkIGNvZGVkIGFzIGFsd2F5cyBm
YWlsaW5nIAorICAgICAgICB3aXRoIGFuIGluZGV0ZXJtaW5hdGUgZXJyb3IuCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIpOgorCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcjo6ZGVidWdTdHJpbmcpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJl
cXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6aWRlbnRpZmllcik6CisgICAgICAg
IChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlRGF0YWJh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmRpZERlbGV0ZURhdGFiYXNlKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJP
cGVuREJSZXF1ZXN0SW1wbC5oLgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZTo6fklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlKToK
KworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJGYWN0b3J5SW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6OklEQkZhY3RvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmg6CisKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGVEZWxl
dGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVz
dDo6Y3JlYXRlT3BlblJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJP
cGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNs
aWVudDo6SURCT3BlbkRCUmVxdWVzdDo6fklEQk9wZW5EQlJlcXVlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0OjpyZXF1ZXN0Q29tcGxldGVkKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdDo6ZGF0YWJhc2VJ
ZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVz
dDo6dmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQk9wZW5EQlJlcXVl
c3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJS
ZXF1ZXN0OjpJREJSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVx
dWVzdDo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCUmVxdWVzdEltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVz
dDo6cmVxdWVzdElkZW50aWZpZXIpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50OjpJREJD
b25uZWN0aW9uVG9DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVy
OjpJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZERlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1
ZXN0SW1wbC5oLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaC4KKyAgICAgICAgKFdlYkNv
cmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGU6On5JREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZSk6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VydmVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6SURCU2VydmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJ
REJTZXJ2ZXI6OklEQlNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNl
cnZlcjo6cmVnaXN0ZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6
SURCU2VydmVyOjp1bnJlZ2lzdGVyQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OklEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6aWRiRXhjZXB0aW9uRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6
SURCRXJyb3I6OklEQkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yOjpvcGVyYXRv
cj0pOgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3I6Om5hbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRXJyb3I6Om1lc3NhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJFcnJvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3I6
OklEQkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yOjppc051bGwpOgorCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJl
cXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhOjpJREJSZXF1
ZXN0RGF0YSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RE
YXRhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJPcGVuREJSZXF1ZXN0SW1wbC5oLgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdERh
dGE6OnJlcXVlc3RJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3REYXRh
OjpkYXRhYmFzZUlkZW50aWZpZXIpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6Om5leHRSZXF1ZXN0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJ
ZGVudGlmaWVyOjpJREJSZXF1ZXN0SWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpJREJS
ZXF1ZXN0SWRlbnRpZmllcjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0SWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3RJZGVudGlmaWVyOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSk6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6OmlzRW1wdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6Omhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6SURC
UmVxdWVzdElkZW50aWZpZXI6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVx
dWVzdElkZW50aWZpZXI6OmNvbm5lY3Rpb25JZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpJREJS
ZXF1ZXN0SWRlbnRpZmllckhhc2g6OmVxdWFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3RJZGVudGlmaWVySGFzaFRyYWl0czo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6OmlzRW1wdHlWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6
OmlzRGVsZXRlZFZhbHVlKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJSZXN1bHREYXRhLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpJREJSZXN1bHRE
YXRhOjpJREJSZXN1bHREYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzdWx0RGF0YS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaC4KKyAgICAgICAgKFdlYkNvcmU6OklE
QlJlc3VsdERhdGE6OnJlcXVlc3RJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJl
c3VsdERhdGE6OmVycm9yKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vz
c0lEQlNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNlcnZl
cjo6SW5Qcm9jZXNzSURCU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNl
cnZlcjo6aWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6
OmNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2
ZXI6OmNvbm5lY3Rpb25Ub0NsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJT
ZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNl
cnZlcjo6ZGlkRGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmguCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKworICAgICAgICAqIHBhZ2Uv
RGF0YWJhc2VQcm92aWRlci5oOgorCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OmlkYkNvbm5lY3Rpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgor
CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhOjpkZWJ1Z1N0cmluZyk6CisgICAgICAgICogcGFnZS9TZWN1
cml0eU9yaWdpbkRhdGEuaDoKKwogMjAxNS0wOS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbGVnYWN5IEV2ZW50RXhjZXB0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJ
bmRleGVkRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmNwcAppbmRleCA5YjczZWVkLi43YzMxNDE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCBJREJGYWN0b3J5KiBET01X
aW5kb3dJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQigpCiAKICAgICBpZiAoIW1faWRiRmFjdG9y
eSkgewogICAgICAgICBpZiAocGFnZS0+ZGF0YWJhc2VQcm92aWRlcigpLnN1cHBvcnRzTW9kZXJu
SURCKCkpCi0gICAgICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJDbGllbnQ6OklEQkZhY3Rvcnk6
OmNyZWF0ZSgpOworICAgICAgICAgICAgbV9pZGJGYWN0b3J5ID0gSURCQ2xpZW50OjpJREJGYWN0
b3J5OjpjcmVhdGUocGFnZS0+aWRiQ29ubmVjdGlvbigpKTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgbV9pZGJGYWN0b3J5ID0gTGVnYWN5RmFjdG9yeTo6Y3JlYXRlKHBhZ2UtPmRhdGFiYXNl
UHJvdmlkZXIoKS5pZGJGYWN0b3J5QmFja2VuZCgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNw
cAppbmRleCBhMDE5MGMxLi4wM2NhNmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAKQEAgLTQ0LDYg
KzQ0LDE0IEBAIElEQkRhdGFiYXNlSWRlbnRpZmllcjo6SURCRGF0YWJhc2VJZGVudGlmaWVyKGNv
bnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBTCiAgICAgQVNTRVJUKCFkYXRhYmFzZU5h
bWUuaXNOdWxsKCkpOwogfQogCisKKyNpZm5kZWYgTkRFQlVHCitTdHJpbmcgSURCRGF0YWJhc2VJ
ZGVudGlmaWVyOjpkZWJ1Z1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmco
bV9kYXRhYmFzZU5hbWUsICJAIiwgbV9vcGVuaW5nT3JpZ2luLmRlYnVnU3RyaW5nKCksICI6Iiwg
bV9tYWluRnJhbWVPcmlnaW4uZGVidWdTdHJpbmcoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50
aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRl
bnRpZmllci5oCmluZGV4IDkxZDUwYmEuLmU3MWY5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oCkBAIC04
Myw2ICs4MywxMCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VOYW1lOyB9CiAKKyNpZm5kZWYgTkRFQlVHCisgICAg
U3RyaW5nIGRlYnVnU3RyaW5nKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9kYXRhYmFzZU5hbWU7CiAgICAgU2VjdXJpdHlPcmlnaW5EYXRhIG1fb3BlbmluZ09yaWdp
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5E
QlJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRC
UmVxdWVzdC5jcHAKaW5kZXggYWRmOGE2OC4uODcwYjAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKQEAgLTI4LDYg
KzI4LDggQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIElEQk9wZW5EQlJlcXVlc3Q6OklEQk9w
ZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRleCA2YjU3ZDRkLi4wNWIw
MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5o
CkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNs
dWRlICJET01FcnJvci5oIgotI2luY2x1ZGUgIkRPTVJlcXVlc3RTdGF0ZS5oIgogI2luY2x1ZGUg
IkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TGlz
dGVuZXIuaCIKQEAgLTYzLDcgKzYyLDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICB2aXJ0dWFs
IGNvbnN0IFN0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0ID0gMDsKLQorICAgIAogcHJvdGVjdGVk
OgogICAgIElEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOTllNWMxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC0wLDAgKzEsNzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCQ29ubmVjdGlv
blRvU2VydmVyLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUg
IklEQk9wZW5EQlJlcXVlc3RJbXBsLmgiCisjaW5jbHVkZSAiSURCUmVxdWVzdERhdGEuaCIKKyNp
bmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSURCQ2xpZW50IHsKKworUmVmPElEQkNvbm5lY3Rpb25U
b1NlcnZlcj4gSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoSURCQ29ubmVjdGlvblRvU2Vy
dmVyRGVsZWdhdGUmIGRlbGVnYXRlKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkNv
bm5lY3Rpb25Ub1NlcnZlcihkZWxlZ2F0ZSkpOworfQorCitJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OklEQkNvbm5lY3Rpb25Ub1NlcnZlcihJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSYgZGVs
ZWdhdGUpCisgICAgOiBtX2RlbGVnYXRlKGRlbGVnYXRlKQoreworfQorCit1aW50NjRfdCBJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rl
bGVnYXRlLT5pZGVudGlmaWVyKCk7Cit9CisKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpk
ZWxldGVEYXRhYmFzZShJREJPcGVuREJSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIExPRyhJbmRl
eGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlIC0gJXMiLCByZXF1
ZXN0LmRhdGFiYXNlSWRlbnRpZmllcigpLmRlYnVnU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisK
KyAgICBBU1NFUlQoIW1fb3BlbkRCUmVxdWVzdE1hcC5jb250YWlucyhyZXF1ZXN0LnJlcXVlc3RJ
ZGVudGlmaWVyKCkpKTsKKyAgICBtX29wZW5EQlJlcXVlc3RNYXAuc2V0KHJlcXVlc3QucmVxdWVz
dElkZW50aWZpZXIoKSwgJnJlcXVlc3QpOworICAgIAorICAgIElEQlJlcXVlc3REYXRhIHJlcXVl
c3REYXRhKCp0aGlzLCByZXF1ZXN0KTsKKyAgICBtX2RlbGVnYXRlLT5kZWxldGVEYXRhYmFzZShy
ZXF1ZXN0RGF0YSk7Cit9CisKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpkaWREZWxldGVE
YXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQoreworICAgIExPRyhJbmRl
eGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZERlbGV0ZURhdGFiYXNlIik7CisKKyAg
ICBhdXRvIHJlcXVlc3QgPSBtX29wZW5EQlJlcXVlc3RNYXAudGFrZShyZXN1bHREYXRhLnJlcXVl
c3RJZGVudGlmaWVyKCkpOworICAgIEFTU0VSVChyZXF1ZXN0KTsKKworICAgIHJlcXVlc3QtPnJl
cXVlc3RDb21wbGV0ZWQocmVzdWx0RGF0YSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIElEQkNsaWVu
dAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZTJjYTNkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJDb25uZWN0aW9uVG9TZXJ2ZXJfaAor
I2RlZmluZSBJREJDb25uZWN0aW9uVG9TZXJ2ZXJfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIgorI2lu
Y2x1ZGUgIklEQlJlcXVlc3RJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJSZXN1bHREYXRhOworCituYW1lc3BhY2UgSURC
Q2xpZW50IHsKKworY2xhc3MgSURCT3BlbkRCUmVxdWVzdDsKKworY2xhc3MgSURCQ29ubmVjdGlv
blRvU2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8SURCQ29ubmVjdGlvblRvU2VydmVyPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IGNyZWF0ZShJREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSYpOworCisgICAgdWludDY0X3QgaWRlbnRpZmllcigp
IGNvbnN0OworCisgICAgdm9pZCBkZWxldGVEYXRhYmFzZShJREJPcGVuREJSZXF1ZXN0Jik7Cisg
ICAgdm9pZCBkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJik7CisgICAgCitw
cml2YXRlOgorICAgIElEQkNvbm5lY3Rpb25Ub1NlcnZlcihJREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZSYpOworICAgIAorICAgIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZT4g
bV9kZWxlZ2F0ZTsKKworICAgIEhhc2hNYXA8SURCUmVxdWVzdElkZW50aWZpZXIsIFJlZlB0cjxJ
REJDbGllbnQ6OklEQk9wZW5EQlJlcXVlc3Q+PiBtX29wZW5EQlJlcXVlc3RNYXA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBJREJDbGllbnQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQkNvbm5lY3Rpb25Ub1Nl
cnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmViOGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyRGVsZWdhdGUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZV9oCisjZGVmaW5lIElEQkNvbm5lY3Rpb25Ub1Nl
cnZlckRlbGVnYXRlX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlJlcXVlc3REYXRhOworCituYW1lc3BhY2UgSURCQ2xp
ZW50IHsKKworY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUgeworcHVibGljOgor
ICAgIHZpcnR1YWwgfklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlKCkgeyB9CisKKyAgICB2
aXJ0dWFsIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGRlbGV0ZURhdGFiYXNlKElEQlJlcXVlc3REYXRhJikgPSAwOworICAgIAorICAgIHZpcnR1YWwg
dm9pZCByZWYoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOworfTsKKworfSAv
LyBuYW1lc3BhY2UgSURCQ2xpZW50Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCRmFjdG9yeUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmNwcAppbmRleCAyYTk3ZDU1Li5hYzBjZmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRmFj
dG9yeUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJGYWN0b3J5SW1wbC5jcHAKQEAgLTI4LDEyICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUlkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJJREJPcGVuREJSZXF1ZXN0SW1wbC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTgsMTQgKzYwLDE0IEBAIHN0YXRpYyBib29sIHNob3VsZFRocm93
U2VjdXJpdHlFeGNlcHRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLVJlZjxJREJGYWN0b3J5PiBJREJGYWN0b3J5OjpjcmVhdGUoKQor
UmVmPElEQkZhY3Rvcnk+IElEQkZhY3Rvcnk6OmNyZWF0ZShJREJDb25uZWN0aW9uVG9TZXJ2ZXIm
IGNvbm5lY3Rpb24pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRmFjdG9yeSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRmFjdG9yeShjb25uZWN0aW9uKSk7CiB9CiAKLUlE
QkZhY3Rvcnk6OklEQkZhY3RvcnkoKQorSURCRmFjdG9yeTo6SURCRmFjdG9yeShJREJDb25uZWN0
aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24pCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcihjb25u
ZWN0aW9uKQogewotCiB9CiAKIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBJREJGYWN0b3J5
OjpnZXREYXRhYmFzZU5hbWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2Rl
JikKQEAgLTkyLDcgKzk0LDcgQEAgUmVmUHRyPFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q+IElE
QkZhY3Rvcnk6Om9wZW4oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGUKICAgICByZXR1cm4g
b3BlbkludGVybmFsKGNvbnRleHQsIG5hbWUsIDAsIGVjKS5yZWxlYXNlKCk7CiB9CiAKLVJlZlB0
cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBsb25nIGxv
bmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rv
cnk6Om9wZW5JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBT
dHJpbmcmIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBpZiAobmFtZS5pc051bGwoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsK
QEAgLTExMiw3ICsxMTQsNyBAQCBSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6
b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleAogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBhdXRvIHJlcXVlc3QgPSBJREJPcGVuREJSZXF1ZXN0
OjpjcmVhdGUoY29udGV4dCk7CisgICAgYXV0byByZXF1ZXN0ID0gSURCT3BlbkRCUmVxdWVzdDo6
Y3JlYXRlT3BlblJlcXVlc3QobV9jb25uZWN0aW9uVG9TZXJ2ZXIuZ2V0KCksIGNvbnRleHQsIGRh
dGFiYXNlSWRlbnRpZmllciwgdmVyc2lvbik7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCZyZXF1ZXN0
LmxlYWtSZWYoKSk7CiB9CiAKQEAgLTEzOCw3ICsxNDAsOSBAQCBSZWZQdHI8V2ViQ29yZTo6SURC
T3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9u
Q29udAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBhdXRvIHJlcXVlc3Qg
PSBJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCk7CisgICAgYXV0byByZXF1ZXN0ID0g
SURCT3BlbkRCUmVxdWVzdDo6Y3JlYXRlRGVsZXRlUmVxdWVzdChtX2Nvbm5lY3Rpb25Ub1NlcnZl
ci5nZXQoKSwgY29udGV4dCwgZGF0YWJhc2VJZGVudGlmaWVyKTsKKyAgICBtX2Nvbm5lY3Rpb25U
b1NlcnZlci0+ZGVsZXRlRGF0YWJhc2UocmVxdWVzdC5nZXQoKSk7CisKICAgICByZXR1cm4gYWRv
cHRSZWYoJnJlcXVlc3QubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRmFjdG9yeUltcGwuaAppbmRleCAwM2Vk
NzY0Li44MDQ3Mzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCRmFjdG9yeUltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCRmFjdG9yeUltcGwuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaCIKICNpbmNsdWRlICJJREJGYWN0b3J5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM3LDcgKzM4LDcgQEAgY2xhc3MgSURCT3BlbkRCUmVxdWVzdDsKIAogY2xhc3MgSURCRmFjdG9y
eSA6IHB1YmxpYyBXZWJDb3JlOjpJREJGYWN0b3J5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PElEQkZhY3Rvcnk+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8SURCRmFjdG9yeT4gY3JlYXRl
KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYpOwogCiAgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6
SURCUmVxdWVzdD4gZ2V0RGF0YWJhc2VOYW1lcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhj
ZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwogCkBAIC00OCw5ICs0OSwxMSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBzaG9ydCBjbXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBmaXJzdCwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUmIHNlY29uZCwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwogCiBwcml2YXRlOgot
ICAgIElEQkZhY3RvcnkoKTsKKyAgICBJREJGYWN0b3J5KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYp
OwogICAgIAogICAgIFJlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBvcGVuSW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgbG9uZyBsb25n
IHZlcnNpb24sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAKKyAgICBSZWY8SURCQ29ubmVjdGlvblRv
U2VydmVyPiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIElEQkNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAKaW5kZXggNjgwNjVmMC4uMDM3Mzgw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
Qk9wZW5EQlJlcXVlc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwCkBAIC0yOCwxNSArMjgsNDkgQEAK
IAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiSURCRXJyb3IuaCIK
KyNpbmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAotSURCT3BlbkRCUmVxdWVz
dDo6SURCT3BlbkRCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAg
IDogSURCUmVxdWVzdChjb250ZXh0KQorUmVmPElEQk9wZW5EQlJlcXVlc3Q+IElEQk9wZW5EQlJl
cXVlc3Q6OmNyZWF0ZURlbGV0ZVJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0
aW9uLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBJREJEYXRhYmFzZUlk
ZW50aWZpZXImIGRhdGFiYXNlSWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQoZGF0YWJhc2VJZGVu
dGlmaWVyLmlzVmFsaWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCT3BlbkRCUmVx
dWVzdChjb25uZWN0aW9uLCBjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIsIDApKTsKK30KKwor
UmVmPElEQk9wZW5EQlJlcXVlc3Q+IElEQk9wZW5EQlJlcXVlc3Q6OmNyZWF0ZU9wZW5SZXF1ZXN0
KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZp
ZXIsIHVpbnQ2NF90IHZlcnNpb24pCit7CisgICAgQVNTRVJUKGRhdGFiYXNlSWRlbnRpZmllci5p
c1ZhbGlkKCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQk9wZW5EQlJlcXVlc3QoY29u
bmVjdGlvbiwgY29udGV4dCwgZGF0YWJhc2VJZGVudGlmaWVyLCB2ZXJzaW9uKSk7Cit9CisgICAg
CitJREJPcGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgY29ubmVjdGlvbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgSURC
RGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZpZXIsIHVpbnQ2NF90IHZlcnNpb24p
CisgICAgOiBJREJSZXF1ZXN0KGNvbm5lY3Rpb24sIGNvbnRleHQpCisgICAgLCBtX2RhdGFiYXNl
SWRlbnRpZmllcihkYXRhYmFzZUlkZW50aWZpZXIpCisgICAgLCBtX3ZlcnNpb24odmVyc2lvbikK
IHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAorSURCT3BlbkRCUmVxdWVzdDo6fklEQk9w
ZW5EQlJlcXVlc3QoKQoreworfQorCit2b2lkIElEQk9wZW5EQlJlcXVlc3Q6OnJlcXVlc3RDb21w
bGV0ZWQoY29uc3QgSURCUmVzdWx0RGF0YSYgZGF0YSkKK3sKKyAgICBMT0coSW5kZXhlZERCLCAi
SURCT3BlbkRCUmVxdWVzdDo6cmVxdWVzdENvbXBsZXRlZCIpOworCisgICAgaWYgKCFkYXRhLmVy
cm9yKCkuaXNOdWxsKCkpIHsKKyAgICAgICAgTE9HKEluZGV4ZWREQiwgIiAgd2l0aCBlcnJvcjog
KCVzKSAnJXMnIiwgZGF0YS5lcnJvcigpLm5hbWUoKS51dGY4KCkuZGF0YSgpLCBkYXRhLmVycm9y
KCkubWVzc2FnZSgpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBtX2RvbUVycm9yID0gRE9NRXJy
b3I6OmNyZWF0ZShkYXRhLmVycm9yKCkubmFtZSgpKTsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIHRydWUsIHRydWUpKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgZW5xdWV1ZUV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN1
Y2Nlc3NFdmVudCwgdHJ1ZSwgdHJ1ZSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBJREJDbGllbnQK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaAppbmRl
eCAzNjY1NDZlLi40ZDMwYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaApAQCAtMjgs
MjAgKzI4LDM2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAorI2luY2x1ZGUg
IkRPTUVycm9yLmgiCisjaW5jbHVkZSAiSURCRGF0YWJhc2VJZGVudGlmaWVyLmgiCiAjaW5jbHVk
ZSAiSURCUmVxdWVzdEltcGwuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJE
YXRhYmFzZUlkZW50aWZpZXI7CisKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCitjbGFzcyBJREJD
b25uZWN0aW9uVG9TZXJ2ZXI7CisKIGNsYXNzIElEQk9wZW5EQlJlcXVlc3QgOiBwdWJsaWMgSURC
UmVxdWVzdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxJREJPcGVuREJSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IElEQk9wZW5EQlJlcXVlc3QoY29udGV4dCkpOwotICAgIH0KKyAgICBz
dGF0aWMgUmVmPElEQk9wZW5EQlJlcXVlc3Q+IGNyZWF0ZURlbGV0ZVJlcXVlc3QoSURCQ29ubmVj
dGlvblRvU2VydmVyJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IElEQkRhdGFiYXNl
SWRlbnRpZmllciYpOworICAgIHN0YXRpYyBSZWY8SURCT3BlbkRCUmVxdWVzdD4gY3JlYXRlT3Bl
blJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYsIHVpbnQ2NF90IHZlcnNpb24pOworCisgICAg
dmlydHVhbCB+SURCT3BlbkRCUmVxdWVzdCgpOworICAgIAorICAgIGNvbnN0IElEQkRhdGFiYXNl
SWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFz
ZUlkZW50aWZpZXI7IH0KKyAgICB1aW50NjRfdCB2ZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV92
ZXJzaW9uOyB9CisKKyAgICB2b2lkIHJlcXVlc3RDb21wbGV0ZWQoY29uc3QgSURCUmVzdWx0RGF0
YSYpOwogCiBwcml2YXRlOgotICAgIElEQk9wZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopOworICAgIElEQk9wZW5EQlJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYsIHVpbnQ2
NF90IHZlcnNpb24pOworICAgIAorICAgIElEQkRhdGFiYXNlSWRlbnRpZmllciBtX2RhdGFiYXNl
SWRlbnRpZmllcjsKKyAgICB1aW50NjRfdCBtX3ZlcnNpb247CisgICAgUmVmUHRyPERPTUVycm9y
PiBtX2RvbUVycm9yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJ
bXBsLmNwcAppbmRleCAwOGZjMDY5Li44MDA1Nzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKQEAg
LTI4LDEzICsyOCwxNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNs
dWRlICJFdmVudFF1ZXVlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBu
YW1lc3BhY2UgSURCQ2xpZW50IHsKIAotSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQorSURCUmVxdWVzdDo6SURCUmVxdWVzdChJREJDb25uZWN0
aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CiAgICAgOiBJREJPcGVuREJSZXF1ZXN0KGNvbnRleHQpCisgICAgLCBtX3JlcXVlc3RJZGVudGlm
aWVyKGNvbm5lY3Rpb24pCiB7CiB9CiAKQEAgLTgzLDcgKzg2LDE2IEBAIGJvb2wgSURCUmVxdWVz
dDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQotICAgIAorCit2b2lkIElEQlJlcXVlc3Q6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZl
bnQpCit7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5ldmVudFF1ZXVlKCkuZW5xdWV1ZUV2ZW50KCZldmVudC5nZXQoKSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIElEQkNsaWVudAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdElt
cGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0
SW1wbC5oCmluZGV4IGY5ZGQwMTMuLjE3ZmI0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCkBAIC0yOSwx
MyArMjksMjIgQEAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklE
Qk9wZW5EQlJlcXVlc3QuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
RXZlbnQ7CitjbGFzcyBJREJSZXN1bHREYXRhOworCiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAor
Y2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOworCiBjbGFzcyBJREJSZXF1ZXN0IDogcHVibGlj
IFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3QsIHB1YmxpYyBSZWZDb3VudGVkPElEQlJlcXVlc3Q+
IHsKIHB1YmxpYzoKKyAgICBjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlmaWVyOyB9CisKICAgICB2aXJ0
dWFsIFJlZlB0cjxJREJBbnk+IHJlc3VsdChFeGNlcHRpb25Db2RlJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBlcnJvckNvZGUoRXhjZXB0aW9uQ29kZSYpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVmUHRyPERPTUVycm9yPiBlcnJvcihFeGNlcHRp
b25Db2RlJikgY29uc3Qgb3ZlcnJpZGU7CkBAIC01MCw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAg
dXNpbmcgUmVmQ291bnRlZDxJREJSZXF1ZXN0Pjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8
SURCUmVxdWVzdD46OmRlcmVmOwogCisgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYm
KTsKKyAgICAKIHByb3RlY3RlZDoKLSAgICBJREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKTsKKyAgICBJREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICB2aXJ0dWFsIGNv
bnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKQEAg
LTYwLDYgKzcxLDggQEAgcHJvdGVjdGVkOgogICAgIC8vIEV2ZW50VGFyZ2V0LgogICAgIHZpcnR1
YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRlZDxJREJS
ZXF1ZXN0Pjo6cmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92
ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRlZDxJREJSZXF1ZXN0Pjo6ZGVyZWYoKTsgfQorCisgICAg
SURCUmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIElEQkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmY1MWY4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9DbGllbnQuaCIKKworI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSURCU2VydmVy
IHsKKworUmVmPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gSURCQ29ubmVjdGlvblRvQ2xpZW50Ojpj
cmVhdGUoSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmIGRlbGVnYXRlKQoreworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IElEQkNvbm5lY3Rpb25Ub0NsaWVudChkZWxlZ2F0ZSkpOworfQor
CitJREJDb25uZWN0aW9uVG9DbGllbnQ6OklEQkNvbm5lY3Rpb25Ub0NsaWVudChJREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZSYgZGVsZWdhdGUpCisgICAgOiBtX2RlbGVnYXRlKGRlbGVnYXRl
KQoreworfQorCit1aW50NjRfdCBJREJDb25uZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIoKSBj
b25zdAoreworICAgIHJldHVybiBtX2RlbGVnYXRlLT5pZGVudGlmaWVyKCk7Cit9CisKK3ZvaWQg
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHRE
YXRhJiByZXN1bHQpCit7CisgICAgbV9kZWxlZ2F0ZS0+ZGlkRGVsZXRlRGF0YWJhc2UocmVzdWx0
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgSURCU2VydmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9u
VG9DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjFhOTY3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIElEQkNvbm5lY3Rpb25Ub0NsaWVudF9oCisjZGVmaW5lIElEQkNvbm5lY3Rpb25Ub0Ns
aWVudF9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkNv
bm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSURC
UmVzdWx0RGF0YTsKKworbmFtZXNwYWNlIElEQlNlcnZlciB7CisKK2NsYXNzIElEQkNvbm5lY3Rp
b25Ub0NsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8SURCQ29ubmVjdGlvblRvQ2xpZW50PiBjcmVhdGUoSURC
Q29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmKTsKKyAgICAKKyAgICB1aW50NjRfdCBpZGVudGlm
aWVyKCkgY29uc3Q7CisKKyAgICB2b2lkIGRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlc3Vs
dERhdGEmKTsKKyAgICAKK3ByaXZhdGU6CisgICAgSURCQ29ubmVjdGlvblRvQ2xpZW50KElEQkNv
bm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlJik7CisgICAgCisgICAgUmVmPElEQkNvbm5lY3Rpb25U
b0NsaWVudERlbGVnYXRlPiBtX2RlbGVnYXRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgSURCU2Vy
dmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKKyNlbmRpZiAvLyBJREJDb25uZWN0aW9uVG9DbGllbnRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZjUwMDM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURCQ29ubmVjdGlvblRvQ2xpZW50
RGVsZWdhdGVfaAorI2RlZmluZSBJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZV9oCisKKyNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBJREJSZXN1bHREYXRhOworCituYW1lc3BhY2UgSURCU2VydmVyIHsKKworY2xhc3MgSURCQ29u
bmVjdGlvblRvQ2xpZW50RGVsZWdhdGUgeworcHVibGljOgorICAgIHZpcnR1YWwgfklEQkNvbm5l
Y3Rpb25Ub0NsaWVudERlbGVnYXRlKCkgeyB9CisgICAgCisgICAgdmlydHVhbCB1aW50NjRfdCBp
ZGVudGlmaWVyKCkgY29uc3QgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGRpZERlbGV0ZURhdGFi
YXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNl
IElEQlNlcnZlcgorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lE
QlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURC
U2VydmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODcxODk3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJJREJTZXJ2ZXIuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorCisjaW5jbHVkZSAiSURCUmVxdWVzdERhdGEuaCIKKyNpbmNsdWRlICJJREJSZXN1
bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citu
YW1lc3BhY2UgSURCU2VydmVyIHsKKworUmVmPElEQlNlcnZlcj4gSURCU2VydmVyOjpjcmVhdGUo
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQlNlcnZlcigpKTsKK30KKworSURCU2Vy
dmVyOjpJREJTZXJ2ZXIoKQoreworfQorCit2b2lkIElEQlNlcnZlcjo6cmVnaXN0ZXJDb25uZWN0
aW9uKElEQkNvbm5lY3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQoIW1f
Y29ubmVjdGlvbk1hcC5jb250YWlucyhjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkpOworICAgIG1f
Y29ubmVjdGlvbk1hcC5zZXQoY29ubmVjdGlvbi5pZGVudGlmaWVyKCksICZjb25uZWN0aW9uKTsK
K30KKwordm9pZCBJREJTZXJ2ZXI6OnVucmVnaXN0ZXJDb25uZWN0aW9uKElEQkNvbm5lY3Rpb25U
b0NsaWVudCYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQobV9jb25uZWN0aW9uTWFwLmNvbnRh
aW5zKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKSk7CisgICAgQVNTRVJUKG1fY29ubmVjdGlvbk1h
cC5nZXQoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpID09ICZjb25uZWN0aW9uKTsKKworICAgIG1f
Y29ubmVjdGlvbk1hcC5yZW1vdmUoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOworfQorCit2b2lk
IElEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIGRhdGEpCit7
CisgICAgTE9HKEluZGV4ZWREQiwgIklEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UgLSAlcyIsIGRh
dGEuZGF0YWJhc2VJZGVudGlmaWVyKCkuZGVidWdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAKKyAgICBhdXRvIGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb25NYXAuZ2V0KGRhdGEucmVxdWVz
dElkZW50aWZpZXIoKS5jb25uZWN0aW9uSWRlbnRpZmllcigpKTsKKyAgICBpZiAoIWNvbm5lY3Rp
b24pIHsKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSByZWNvcmQgb2YgdGhpcyBjb25uZWN0
aW9uIChlLmcuIGl0IGhhcyBkcm9wcGVkIGR1ZSB0byBhIHByb2Nlc3MgY3Jhc2hpbmcpCisgICAg
ICAgIC8vIHRoZW4gd2UgY2FuJ3QgcmVwb3J0IGJhY2sgc3RhdHVzIG9mIHRoZSBvcGVyYXRpb24u
CisgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGRuJ3QgYm90aGVyIHBlcmZvcm1pbmcgaXQu
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgLy8gRklYTUU6IER1cmluZyBicmlu
Z3VwIG9mIG1vZGVybiBJREIsIHRoZSBkYXRhYmFzZSBkZWxldGlvbiBpcyBhIG5vLW9wLCBhbmQg
aXMKKyAgICAvLyBpbW1lZGlhdGVseSByZXBvcnRlZCBiYWNrIHRvIHRoZSBXZWJQcm9jZXNzIGFz
IGZhaWx1cmUuCisgICAgSURCUmVzdWx0RGF0YSByZXN1bHQoZGF0YS5yZXF1ZXN0SWRlbnRpZmll
cigpLCBJREJFcnJvcihJREJFeGNlcHRpb25Db2RlOjpVbmtub3duKSk7CisgICAgY29ubmVjdGlv
bi0+ZGlkRGVsZXRlRGF0YWJhc2UocmVzdWx0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgSURCU2Vy
dmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVmZTE0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElE
QlNlcnZlcl9oCisjZGVmaW5lIElEQlNlcnZlcl9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKKworI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIgorI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIElEQlJlcXVlc3REYXRhOworCituYW1lc3BhY2UgSURCU2VydmVyIHsKKworY2xhc3Mg
SURCU2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8SURCU2VydmVyPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxJREJTZXJ2ZXI+IGNyZWF0ZSgpOworCisgICAgdm9pZCByZWdpc3RlckNvbm5l
Y3Rpb24oSURCQ29ubmVjdGlvblRvQ2xpZW50Jik7CisgICAgdm9pZCB1bnJlZ2lzdGVyQ29ubmVj
dGlvbihJREJDb25uZWN0aW9uVG9DbGllbnQmKTsKKworICAgIC8vIE9wZXJhdGlvbnMgcmVxdWVz
dGVkIGJ5IHRoZSBjbGllbnQuCisgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1
ZXN0RGF0YSYpOworCitwcml2YXRlOgorICAgIElEQlNlcnZlcigpOworCisgICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4+IG1fY29ubmVjdGlvbk1hcDsK
K307CisKK30gLy8gbmFtZXNwYWNlIElEQlNlcnZlcgorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCU2VydmVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJFcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
RXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZTE2YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCRXJyb3IuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCRXJy
b3IuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNvbnN0IHN0
ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4mIGlkYkV4Y2VwdGlvbkVudHJ5KElEQkV4Y2VwdGlvbkNv
ZGUgY29kZSkKK3sKKyAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywg
U3RyaW5nPj4+IGVudHJpZXM7CisgICAgaWYgKGVudHJpZXMuZ2V0KCkuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIGVudHJpZXMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyPFN0cmluZywgU3RyaW5n
PigKKyAgICAgICAgICAgIEFTQ0lJTGl0ZXJhbCgiVW5rbm93bkVycm9yIiksCisgICAgICAgICAg
ICBBU0NJSUxpdGVyYWwoIk9wZXJhdGlvbiBmYWlsZWQgZm9yIHJlYXNvbnMgdW5yZWxhdGVkIHRv
IHRoZSBkYXRhYmFzZSBpdHNlbGYgYW5kIG5vdCBjb3ZlcmVkIGJ5IGFueSBvdGhlciBlcnJvcnMu
IikpKTsKKyAgICB9CisKKyAgICByZXR1cm4gZW50cmllcy5nZXQoKVsoaW50KWNvZGUgLSAxXTsK
K30KKworSURCRXJyb3I6OklEQkVycm9yKElEQkV4Y2VwdGlvbkNvZGUgY29kZSkKKyAgICA6IElE
QkVycm9yKGNvZGUsIGVtcHR5U3RyaW5nKCkpCit7Cit9CisKK0lEQkVycm9yOjpJREJFcnJvcihJ
REJFeGNlcHRpb25Db2RlIGNvZGUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICA6IG1fY29k
ZShjb2RlKQorICAgICwgbV9tZXNzYWdlKG1lc3NhZ2UpCit7Cit9CisKK0lEQkVycm9yJiBJREJF
cnJvcjo6b3BlcmF0b3I9KGNvbnN0IElEQkVycm9yJiBvdGhlcikKK3sKKyAgICBtX2NvZGUgPSBv
dGhlci5tX2NvZGU7CisgICAgbV9tZXNzYWdlID0gb3RoZXIubV9tZXNzYWdlOworICAgIHJldHVy
biAqdGhpczsKK30KKworY29uc3QgU3RyaW5nJiBJREJFcnJvcjo6bmFtZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGlkYkV4Y2VwdGlvbkVudHJ5KG1fY29kZSkuZmlyc3Q7Cit9CisKK2NvbnN0IFN0
cmluZyYgSURCRXJyb3I6Om1lc3NhZ2UoKSBjb25zdAoreworICAgIGlmICghbV9tZXNzYWdlLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fbWVzc2FnZTsKKworICAgIHJldHVybiBpZGJFeGNl
cHRpb25FbnRyeShtX2NvZGUpLnNlY29uZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmVmNWMxMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJFcnJvcl9oCisjZGVmaW5lIElEQkVycm9yX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQorCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZW51bSBjbGFzcyBJREJFeGNlcHRpb25Db2RlIHsKKyAgICBOb25lID0gMCwKKyAg
ICBVbmtub3duID0gMSwKK307CisKK2NsYXNzIElEQkVycm9yIHsKK3B1YmxpYzoKKyAgICBJREJF
cnJvcigpIHsgfQorICAgIElEQkVycm9yKElEQkV4Y2VwdGlvbkNvZGUpOworICAgIElEQkVycm9y
KElEQkV4Y2VwdGlvbkNvZGUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisKKyAgICBJREJFcnJv
ciYgb3BlcmF0b3I9KGNvbnN0IElEQkVycm9yJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUo
KSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UoKSBjb25zdDsKKworICAgIGJvb2wg
aXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlID09IElEQkV4Y2VwdGlvbkNvZGU6Ok5vbmU7
IH0KKworcHJpdmF0ZToKKyAgICBJREJFeGNlcHRpb25Db2RlIG1fY29kZSB7IElEQkV4Y2VwdGlv
bkNvZGU6Ok5vbmUgfTsKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYg
Ly8gSURCRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZWUzZTEyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKQEAgLTAsMCArMSw0NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0
RGF0YS5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0SW1wbC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQlJlcXVlc3REYXRhOjpJREJSZXF1ZXN0RGF0YShj
b25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgY29uc3Qg
SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0JiByZXF1ZXN0KQorICAgIDogbV9yZXF1ZXN0SWRl
bnRpZmllcihjb25uZWN0aW9uLCByZXF1ZXN0KQorICAgICwgbV9kYXRhYmFzZUlkZW50aWZpZXIo
cmVxdWVzdC5kYXRhYmFzZUlkZW50aWZpZXIoKSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGUwMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVz
dERhdGEuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJSZXF1ZXN0
RGF0YV9oCisjZGVmaW5lIElEQlJlcXVlc3REYXRhX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorCisjaW5jbHVkZSAiSURCRGF0YWJhc2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
SURCUmVxdWVzdElkZW50aWZpZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3Bh
Y2UgSURCQ2xpZW50IHsKK2NsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKK2NsYXNzIElEQk9w
ZW5EQlJlcXVlc3Q7Cit9CisKK2NsYXNzIElEQlJlcXVlc3REYXRhIHsKK3B1YmxpYzoKKyAgICBJ
REJSZXF1ZXN0RGF0YShjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIGNv
bnN0IElEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdCYpOworCisgICAgSURCUmVxdWVzdElkZW50
aWZpZXIgcmVxdWVzdElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlm
aWVyOyB9CisgICAgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2RhdGFiYXNlSWRlbnRpZmllcjsgfQorCitwcml2YXRlOgor
ICAgIElEQlJlcXVlc3RJZGVudGlmaWVyIG1fcmVxdWVzdElkZW50aWZpZXI7CisgICAgSURCRGF0
YWJhc2VJZGVudGlmaWVyIG1fZGF0YWJhc2VJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYg
Ly8gSURCUmVxdWVzdERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzAxYWYzYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRp
Zmllci5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgorCisjaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNs
dWRlICJJREJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgPFdURi9NYWluVGhyZWFkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIHVpbnQ2NF90IG5leHRSZXF1ZXN0TnVtYmVyKCkK
K3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIHN0YXRpYyB1aW50NjRfdCBjdXJy
ZW50TnVtYmVyID0gMDsKKyAgICByZXR1cm4gKytjdXJyZW50TnVtYmVyOworfQorCitJREJSZXF1
ZXN0SWRlbnRpZmllcjo6SURCUmVxdWVzdElkZW50aWZpZXIoKQorICAgIDogbV9yZXF1ZXN0TnVt
YmVyKG5leHRSZXF1ZXN0TnVtYmVyKCkpCit7Cit9CisKK0lEQlJlcXVlc3RJZGVudGlmaWVyOjpJ
REJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgY29ubmVjdGlvbikKKyAgICA6IG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlcihj
b25uZWN0aW9uLmlkZW50aWZpZXIoKSkKKyAgICAsIG1fcmVxdWVzdE51bWJlcihuZXh0UmVxdWVz
dE51bWJlcigpKQoreworfQorCitJREJSZXF1ZXN0SWRlbnRpZmllcjo6SURCUmVxdWVzdElkZW50
aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24s
IGNvbnN0IElEQkNsaWVudDo6SURCUmVxdWVzdCYgcmVxdWVzdCkKKyAgICA6IG1faWRiQ2xpZW50
U2VydmVyQ29ubmVjdGlvbk51bWJlcihjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkKKyAgICAsIG1f
cmVxdWVzdE51bWJlcihyZXF1ZXN0LnJlcXVlc3RJZGVudGlmaWVyKCkubV9yZXF1ZXN0TnVtYmVy
KQoreworfQorCitJREJSZXF1ZXN0SWRlbnRpZmllciBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZW1w
dHlWYWx1ZSgpCit7CisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVzdWx0OworICAgIHJlc3Vs
dC5tX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPSAwOworICAgIHJlc3VsdC5tX3Jl
cXVlc3ROdW1iZXIgPSAwOworICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0KTsKK30KKworSURC
UmVxdWVzdElkZW50aWZpZXIgSURCUmVxdWVzdElkZW50aWZpZXI6OmRlbGV0ZWRWYWx1ZSgpCit7
CisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVzdWx0OworICAgIHJlc3VsdC5tX2lkYkNsaWVu
dFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+Ojpt
YXgoKTsKKyAgICByZXN1bHQubV9yZXF1ZXN0TnVtYmVyID0gc3RkOjpudW1lcmljX2xpbWl0czxp
bnQ2NF90Pjo6bWF4KCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHQpOworfQorCitib29s
IElEQlJlcXVlc3RJZGVudGlmaWVyOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9PSBzdGQ6Om51
bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKQorICAgICAgICAmJiBtX3JlcXVlc3ROdW1iZXIg
PT0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJ
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
UmVxdWVzdElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l
ZDFmYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIElEQlJlcXVlc3RJZGVudGlmaWVyX2gKKyNkZWZpbmUgSURCUmVxdWVz
dElkZW50aWZpZXJfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNw
YWNlIElEQkNsaWVudCB7CitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CitjbGFzcyBJREJS
ZXF1ZXN0OworfQorCitjbGFzcyBJREJSZXF1ZXN0SWRlbnRpZmllciB7CitwdWJsaWM6CisgICAg
SURCUmVxdWVzdElkZW50aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2
ZXImKTsKKyAgICBJREJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub1NlcnZlciYsIGNvbnN0IElEQkNsaWVudDo6SURCUmVxdWVzdCYpOworCisgICAgc3Rh
dGljIElEQlJlcXVlc3RJZGVudGlmaWVyIGRlbGV0ZWRWYWx1ZSgpOworICAgIGJvb2wgaXNIYXNo
VGFibGVEZWxldGVkVmFsdWUoKSBjb25zdDsKKworICAgIHN0YXRpYyBJREJSZXF1ZXN0SWRlbnRp
ZmllciBlbXB0eVZhbHVlKCk7CisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeworICAgICAgICBy
ZXR1cm4gIW1fcmVxdWVzdE51bWJlciAmJiAhbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVt
YmVyOworICAgIH0KKworICAgIHVuc2lnbmVkIGhhc2goKSBjb25zdAorICAgIHsKKyAgICAgICAg
dWludDY0X3QgaGFzaENvZGVzWzJdID0geyByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX2lk
YkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIpLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9y
ZXF1ZXN0TnVtYmVyKSB9OworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5
PHNpemVvZihoYXNoQ29kZXMpPihoYXNoQ29kZXMpOworICAgIH0KKyAgICAKKyAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImIG90aGVyKSBjb25zdCB7CisgICAg
ICAgIHJldHVybiBtX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPT0gb3RoZXIubV9p
ZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVtYmVyCisgICAgICAgICAgICAmJiBtX3JlcXVlc3RO
dW1iZXIgPT0gb3RoZXIubV9yZXF1ZXN0TnVtYmVyOworICAgIH0KKyAgICAKKyAgICB1aW50NjRf
dCBjb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRiQ2xpZW50U2VydmVy
Q29ubmVjdGlvbk51bWJlcjsgfQorICAgIAorcHJpdmF0ZToKKyAgICBJREJSZXF1ZXN0SWRlbnRp
ZmllcigpOworICAgIHVpbnQ2NF90IG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciB7
IDAgfTsKKyAgICB1aW50NjRfdCBtX3JlcXVlc3ROdW1iZXI7Cit9OworCitzdHJ1Y3QgSURCUmVx
dWVzdElkZW50aWZpZXJIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBJREJS
ZXF1ZXN0SWRlbnRpZmllciYgYSkgeyByZXR1cm4gYS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgYSwgY29uc3QgSURCUmVxdWVzdElk
ZW50aWZpZXImIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFsc2U7Cit9OworCitzdHJ1Y3QgSURCUmVx
dWVzdElkZW50aWZpZXJIYXNoVHJhaXRzIDogV1RGOjpDdXN0b21IYXNoVHJhaXRzPElEQlJlcXVl
c3RJZGVudGlmaWVyPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVu
Y3Rpb24gPSB0cnVlOworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBm
YWxzZTsKKworICAgIHN0YXRpYyBJREJSZXF1ZXN0SWRlbnRpZmllciBlbXB0eVZhbHVlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZW1wdHlWYWx1ZSgpOwor
ICAgIH0KKworICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCBJREJSZXF1ZXN0SWRl
bnRpZmllciYgaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBpZGVudGlmaWVyLmlz
RW1wdHkoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUo
SURCUmVxdWVzdElkZW50aWZpZXImIGlkZW50aWZpZXIpCisgICAgeworICAgICAgICBpZGVudGlm
aWVyID0gSURCUmVxdWVzdElkZW50aWZpZXI6OmRlbGV0ZWRWYWx1ZSgpOworICAgIH0KKworICAg
IHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiBp
ZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIuaXNIYXNoVGFibGVE
ZWxldGVkVmFsdWUoKTsKKyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25h
bWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OklE
QlJlcXVlc3RJZGVudGlmaWVyPiA6IFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaFRy
YWl0cyB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJSZXF1
ZXN0SWRlbnRpZmllcj4geworICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZp
ZXJIYXNoIEhhc2g7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQlJlcXVlc3RJZGVudGlmaWVyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1
bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJS
ZXN1bHREYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzg3MzE0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlc3VsdERhdGEuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCUmVzdWx0RGF0YS5oIgorCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSURCUmVzdWx0RGF0
YTo6SURCUmVzdWx0RGF0YShjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvcikKKyAgICA6IG1fcmVxdWVzdElkZW50aWZpZXIo
cmVxdWVzdElkZW50aWZpZXIpCisgICAgLCBtX2Vycm9yKGVycm9yKQoreworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1
bHREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
dWx0RGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NmMzZjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzdWx0RGF0YS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElE
QlJlc3VsdERhdGFfaAorI2RlZmluZSBJREJSZXN1bHREYXRhX2gKKworI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNpbmNsdWRlICJJREJSZXF1
ZXN0SWRlbnRpZmllci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlJlcXVl
c3RJZGVudGlmaWVyOworCitjbGFzcyBJREJSZXN1bHREYXRhIHsKK3B1YmxpYzoKKyAgICBJREJS
ZXN1bHREYXRhKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiwgY29uc3QgSURCRXJyb3ImKTsK
KworICAgIElEQlJlcXVlc3RJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXF1ZXN0SWRlbnRpZmllcjsgfQorICAgIAorICAgIGNvbnN0IElEQkVycm9yJiBl
cnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgSURC
UmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKKyAgICBJREJFcnJvciBtX2Vy
cm9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCUmVzdWx0RGF0YV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJ
REJTZXJ2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NTllZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluUHJvY2Vzc0lEQlNlcnZlci5oIgorCisj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9D
bGllbnQuaCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNsdWRlICJJ
REJPcGVuREJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgIklEQlJlcXVlc3REYXRhLmgiCisjaW5j
bHVkZSAiSURCUmVzdWx0RGF0YS5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3
dGYvUnVuTG9vcC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxJblByb2Nlc3NJREJT
ZXJ2ZXI+IEluUHJvY2Vzc0lEQlNlcnZlcjo6Y3JlYXRlKCkKK3sKKyAgICBSZWY8SW5Qcm9jZXNz
SURCU2VydmVyPiBzZXJ2ZXIgPSBhZG9wdFJlZigqbmV3IEluUHJvY2Vzc0lEQlNlcnZlcik7Cisg
ICAgc2VydmVyLT5tX3NlcnZlci0+cmVnaXN0ZXJDb25uZWN0aW9uKHNlcnZlci0+Y29ubmVjdGlv
blRvQ2xpZW50KCkpOworICAgIHJldHVybiBXVEY6Om1vdmUoc2VydmVyKTsKK30KKworSW5Qcm9j
ZXNzSURCU2VydmVyOjpJblByb2Nlc3NJREJTZXJ2ZXIoKQorICAgIDogbV9zZXJ2ZXIoSURCU2Vy
dmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZSgpKQoreworICAgIHJlbGF4QWRvcHRpb25SZXF1aXJlbWVu
dCgpOworICAgIG1fY29ubmVjdGlvblRvU2VydmVyID0gSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7CisgICAgbV9jb25uZWN0aW9uVG9DbGllbnQgPSBJREJT
ZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y3JlYXRlKCp0aGlzKTsKK30KKwordWludDY0
X3QgSW5Qcm9jZXNzSURCU2VydmVyOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICAvLyBBbiBp
bnN0YW5jZSBvZiBJblByb2Nlc3NJREJTZXJ2ZXIgYWx3YXlzIGhhcyBhIDE6MSByZWxhdGlvbnNo
aXAgd2l0aCBpdHMgaW5zdGFuY2Ugb2YgSURCU2VydmVyLgorICAgIC8vIFRoZXJlZm9yZSB0aGUg
Y29ubmVjdGlvbiBpZGVudGlmaWVyIGJldHdlZW4gdGhlIHR3byBjYW4gYWx3YXlzIGJlICIxIi4K
KyAgICByZXR1cm4gMTsKK30KKworSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIElu
UHJvY2Vzc0lEQlNlcnZlcjo6Y29ubmVjdGlvblRvU2VydmVyKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gKm1fY29ubmVjdGlvblRvU2VydmVyOworfQorCitJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25U
b0NsaWVudCYgSW5Qcm9jZXNzSURCU2VydmVyOjpjb25uZWN0aW9uVG9DbGllbnQoKSBjb25zdAor
eworICAgIHJldHVybiAqbV9jb25uZWN0aW9uVG9DbGllbnQ7Cit9CisKK3ZvaWQgSW5Qcm9jZXNz
SURCU2VydmVyOjpkZWxldGVEYXRhYmFzZShJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCit7
CisgICAgUmVmUHRyPEluUHJvY2Vzc0lEQlNlcnZlcj4gc2VsZih0aGlzKTsKKyAgICBSdW5Mb29w
OjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHNlbGYsIHJlcXVlc3REYXRhXSB7CisgICAgICAg
IG1fc2VydmVyLT5kZWxldGVEYXRhYmFzZShyZXF1ZXN0RGF0YSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgSW5Qcm9jZXNzSURCU2VydmVyOjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHRE
YXRhJiByZXN1bHREYXRhKQoreworICAgIFJlZlB0cjxJblByb2Nlc3NJREJTZXJ2ZXI+IHNlbGYo
dGhpcyk7CisgICAgUnVuTG9vcDo6Y3VycmVudCgpLmRpc3BhdGNoKFt0aGlzLCBzZWxmLCByZXN1
bHREYXRhXSB7CisgICAgICAgIG1fY29ubmVjdGlvblRvU2VydmVyLT5kaWREZWxldGVEYXRhYmFz
ZShyZXN1bHREYXRhKTsKKyAgICB9KTt9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNGFkNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURC
U2VydmVyLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5Qcm9jZXNz
SURCU2VydmVyX2gKKyNkZWZpbmUgSW5Qcm9jZXNzSURCU2VydmVyX2gKKworI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvQ2xpZW50LmgiCisj
aW5jbHVkZSAiSURCQ29ubmVjdGlvblRvU2VydmVyLmgiCisjaW5jbHVkZSAiSURCT3BlbkRCUmVx
dWVzdEltcGwuaCIKKyNpbmNsdWRlICJJREJTZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJREJDbGllbnQgeworY2xhc3Mg
SURCQ29ubmVjdGlvblRvU2VydmVyOworfQorCituYW1lc3BhY2UgSURCU2VydmVyIHsKK2NsYXNz
IElEQlNlcnZlcjsKK30KKworY2xhc3MgSW5Qcm9jZXNzSURCU2VydmVyIGZpbmFsIDogcHVibGlj
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUsIHB1YmxpYyBJREJTZXJ2
ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBwdWJsaWMgUmVmQ291bnRlZDxJblBy
b2Nlc3NJREJTZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
PEluUHJvY2Vzc0lEQlNlcnZlcj4gY3JlYXRlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvblRvU2VydmVyKCkgY29uc3Q7
CisgICAgSURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmIGNvbm5lY3Rpb25Ub0NsaWVu
dCgpIGNvbnN0OworCisgICAgLy8gSURCQ29ubmVjdGlvblRvU2VydmVyCisgICAgdmlydHVhbCB2
b2lkIGRlbGV0ZURhdGFiYXNlKElEQlJlcXVlc3REYXRhJikgb3ZlcnJpZGUgZmluYWw7CisgICAg
CisgICAgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50CisgICAgdmlydHVhbCB1aW50NjRfdCBpZGVu
dGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZERlbGV0ZURhdGFi
YXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSBvdmVycmlkZSBmaW5hbDsKKworICAgIHZpcnR1YWwg
dm9pZCByZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Qcm9jZXNzSURCU2VydmVyPjo6cmVm
KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Q
cm9jZXNzSURCU2VydmVyPjo6ZGVyZWYoKTsgfQorCitwcml2YXRlOgorICAgIEluUHJvY2Vzc0lE
QlNlcnZlcigpOworCisgICAgUmVmPElEQlNlcnZlcjo6SURCU2VydmVyPiBtX3NlcnZlcjsKKyAg
ICBSZWZQdHI8SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1fY29ubmVjdGlvblRv
U2VydmVyOworICAgIFJlZlB0cjxJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gbV9j
b25uZWN0aW9uVG9DbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJblByb2Nlc3NJREJTZXJ2
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY3ZDFiMDIuLjc5ZTgxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5MTAsMzAgKzE5MTAsMjQgQEAKIAkJ
NTEwMzEwNEYxQkE4Q0MwMzAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDRBMUJBOEM2QTYwMDMz
MjlDMCAvKiBJREJGYWN0b3J5SW1wbC5jcHAgKi87IH07CiAJCTUxMDMxMDUwMUJBOENDMDMwMDMz
MjlDMCAvKiBJREJGYWN0b3J5SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwMzEwNEIxQkE4QzZBNjAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBs
LmggKi87IH07CiAJCTUxMDMxMDVBMUJBOERCNTYwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0
SW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTAzMTA1NjFCQThEQjMwMDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwICovOyB9
OwotCQk1MTAzMTA1QjFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU3MUJB
OERCMzAwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oICovOyB9OworCQk1MTAzMTA1
QjFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU3MUJBOERCMzAwMDMzMjlD
MCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxMDMxMDVDMUJBOERCNTYwMDMzMjlDMCAvKiBJREJSZXF1
ZXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTAzMTA1ODFCQThEQjMwMDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuY3BwICovOyB9Owot
CQk1MTAzMTA1RDFCQThEQjU2MDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU5MUJBOERCMzAwMDMz
MjlDMCAvKiBJREJSZXF1ZXN0SW1wbC5oICovOyB9OwotCQk1MTAzMTA2MDFCQThFMEUzMDAzMzI5
QzAgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAzMTA1RjFCQThFMDkwMDAzMzI5QzAgLyogSURCRGF0YWJh
c2VJZGVudGlmaWVyLmggKi87IH07Ci0JCTUxMDMxMDYxMUJBOEUxMEQwMDMzMjlDMCAvKiBJREJE
YXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEwMzEwNUUxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNlSWRlbnRp
Zmllci5jcHAgKi87IH07CisJCTUxMDMxMDVEMUJBOERCNTYwMDMzMjlDMCAvKiBJREJSZXF1ZXN0
SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEw
MzEwNTkxQkE4REIzMDAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwM0MyQjExQkEyMkQxQTAwRTI2
MzM3IC8qIExlZ2FjeUFueS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTY0NUI2RTFCQTBBNzYxMDBGNzg5Q0UgLyogTGVnYWN5QW55LmNwcCAqLzsg
fTsKLQkJNTEwM0MyQjIxQkEyMzE3NDAwRTI2MzM3IC8qIElEQlRyYW5zYWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUwMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTUxMDNDMkIzMUJBMjMy
NEQwMEUyNjMzNyAvKiBJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNTQxQjlGODhFODAwRjc4OUNFIC8qIElEQkN1cnNvci5j
cHAgKi87IH07Ci0JCTUxMDNDMkI0MUJBMjMyQUUwMEUyNjMzNyAvKiBJREJDdXJzb3JXaXRoVmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
NDVCNDIxQjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgKi87IH07Ci0J
CTUxMDNDMkI1MUJBMjMyRDQwMEUyNjMzNyAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NDFCOUY4ODlCMDBGNzg5
Q0UgLyogSURCRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTAzQzJCNjFCQTIzM0JGMDBFMjYzMzcg
LyogSURCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTY0NUI0RTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCUmVxdWVzdC5jcHAgKi87IH07
Ci0JCTUxMDNDMkI3MUJBMjMzQzQwMEUyNjMzNyAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjRDMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCAqLzsgfTsKLQkJNTEwM0MyQjgxQkEy
MzVDNTAwRTI2MzM3IC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MjFCOUY4ODlCMDBGNzg5Q0Ug
LyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcCAqLzsgfTsKIAkJNTEwM0MyQjkxQkEyM0EyNjAw
RTI2MzM3IC8qIExlZ2FjeUFueS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2NDVCNkYxQkEwQTc2MTAwRjc4OUNFIC8qIExlZ2FjeUFueS5oICovOyB9
OwogCQk1MTA2RDdCRDE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDZEN0JCMThC
REI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQuY3BwICovOyB9OwogCQk1MTA2RDdC
RTE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTA2RDdCQzE4QkRCNzZGMDAwQUIxNjYg
LyogQ29udGV4dE1lbnVDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJNTEwQTMyNkYxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNv
bm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMEEzMjZFMTgzMTg0MzEwMDNDNTMyNiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTEwQTU4RTQxQkFB
NDBCMTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFMjFCQUE0MEFFMDBDMTkyODIgLyog
SW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLzsgfTsKKwkJNTEwQTU4RTUxQkFBNDBCMTAwQzE5Mjgy
IC8qIEluUHJvY2Vzc0lEQlNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwQTU4RTMxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNl
cnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTUxMEE1OEY5MUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThGNTFCQUNDNEE1MDBD
MTkyODIgLyogSURCUmVxdWVzdERhdGEuY3BwICovOyB9OworCQk1MTBBNThGQTFCQUNDN0YyMDBD
MTkyODIgLyogSURCUmVxdWVzdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMEE1OEY2MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0
YS5oICovOyB9OworCQk1MTBBNThGQjFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50
aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEwQTU4RTYxQkFBNDFDOTAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCAqLzsg
fTsKKwkJNTEwQTU4RkMxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFNzFC
QUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTBENEEzMzEwMzE2NUVFMDA0OUVB
NTQgLyogU29ja2V0U3RyZWFtRXJyb3JCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0QTJEMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRT
dHJlYW1FcnJvckJhc2UuY3BwICovOyB9OwogCQk1MTBENEEzNDEwMzE2NUVFMDA0OUVBNTQgLyog
U29ja2V0U3RyZWFtRXJyb3JCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTBENEEyRTEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJy
b3JCYXNlLmggKi87IH07CiAJCTUxMEQ0QTM2MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1IYW5kbGVCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMEQ0QTMwMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNl
LmNwcCAqLzsgfTsKIAkJNTEwRDRBMzcxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhh
bmRsZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMEQ0QTMxMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmggKi87
IH07CiAJCTUxMEQ0QTM4MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0
QTMyMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCAqLzsgfTsK
LQkJNTExRUMxQTYxODhEQUNBNDAwQkEzRUI2IC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVDMUE1MTg4REFDQTQwMEJBM0VC
NiAvKiBJREJLZXlEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJNTExRUMxQTgxODhEQUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxQTcxODhE
QUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwICovOyB9OwogCQk1MTFFRjJDMDE3RjBGRDM1
MDBFNEZBMTYgLyogSlNJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTExRUYyQTgxN0YwRkM0ODAwRTRGQTE2IC8qIEpTSURCQW55LmNwcCAq
LzsgfTsKIAkJNTExRUYyQzExN0YwRkQzNTAwRTRGQTE2IC8qIEpTSURCQ3Vyc29yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkE5MTdGMEZD
NDgwMEU0RkExNiAvKiBKU0lEQkN1cnNvci5jcHAgKi87IH07CiAJCTUxMUVGMkMyMTdGMEZEMzUw
MEU0RkExNiAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFRjJBQTE3RjBGQzQ4MDBFNEZBMTYgLyogSlNJ
REJDdXJzb3JXaXRoVmFsdWUuY3BwICovOyB9OwpAQCAtMTk0OSw5ICsxOTQzLDYgQEAKIAkJNTEx
RUYyQ0YxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURCQW55Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkNDMTdGMEZERjEwMEU0RkEx
NiAvKiBKU0lEQkFueUN1c3RvbS5jcHAgKi87IH07CiAJCTUxMUVGMkQwMTdGMEZERjEwMEU0RkEx
NiAvKiBKU0lEQkRhdGFiYXNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkNEMTdGMEZERjEwMEU0RkExNiAvKiBKU0lEQkRhdGFi
YXNlQ3VzdG9tLmNwcCAqLzsgfTsKIAkJNTExRUYyRDExN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURC
T2JqZWN0U3RvcmVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTExRUYyQ0UxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURCT2JqZWN0U3RvcmVD
dXN0b20uY3BwICovOyB9OwotCQk1MTIzQUYxODE4OTBBNENBMDAzMUNEQzkgLyogSURCS2V5UmFu
Z2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMjNBRjE2MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuY3BwICovOyB9Owot
CQk1MTIzQUYxOTE4OTBBNENBMDAzMUNEQzkgLyogSURCS2V5UmFuZ2VEYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIzQUYxNzE4OTBBNENBMDAz
MUNEQzkgLyogSURCS2V5UmFuZ2VEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEyM0FGMUQxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJl
c3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEy
M0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMjZFNkJCMEEyRTNCMTIwMDVDMjlG
QSAvKiBJY29uRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEyNkU2QjkwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5jcHAg
Ki87IH07CiAJCTUxMjZFNkJDMEEyRTNCMTIwMDVDMjlGQSAvKiBJY29uRGF0YWJhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjZFNkJBMEEyRTNC
MTIwMDVDMjlGQSAvKiBJY29uRGF0YWJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTJERDhFMzBEOTFFMkI0MDAwRjg5RUUgLyogU2hhcmVk
QnVmZmVyQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEyREQ4RTIwRDkxRTJCNDAwMEY4OUVFIC8qIFNoYXJlZEJ1ZmZlckNGLmNwcCAqLzsgfTsK
QEAgLTE5NjQsMTMgKzE5NTUsMTQgQEAKIAkJNTEyREQ4RkIwRDkxRTZBRjAwMEY4OUVFIC8qIEFy
Y2hpdmVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTJERDhGMTBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmNwcCAq
LzsgfTsKIAkJNTEyREQ4RkMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyREQ4RjIwRDkx
RTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMkREOEZEMEQ5MUU2QUYwMDBGODlFRSAvKiBB
cmNoaXZlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEyREQ4RjMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0b3J5LmggKi87IH07
Ci0JCTUxMkVBOUJFMTgyMDI4NTcwMDFEMDFFMCAvKiBJREJPcGVyYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkVBOUJEMTgyMDI4NTcwMDFE
MDFFMCAvKiBJREJPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTMyN0Q2MDExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTMyN0Q1
RTExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmggKi87IH07CiAJCTUxMzI3RDYxMTFB
MzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEzMjdENUYxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtE
b2N1bWVudC5jcHAgKi87IH07CiAJCTUxM0YxNDUzMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
M0YxNDUxMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9hZGVyLmNwcCAqLzsgfTsKIAkJNTEzRjE0
NTQwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxM0YxNDUyMEFCNjM0QzQwMDA5NERERiAvKiBJY29u
TG9hZGVyLmggKi87IH07CiAJCTUxNDA1Qzg4MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25S
ZWN0R2F0aGVyZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTE0MDVDODYxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5j
cHAgKi87IH07CiAJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0
aGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NDA1Qzg3MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTQ4NDUzRTFCQjlE
MDdFMDA2QTcyRUQgLyogSURCRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE0ODQ1M0MxQkI5RDA3NjAwNkE3MkVEIC8qIElEQkVycm9yLmNw
cCAqLzsgfTsKKwkJNTE0ODQ1M0YxQkI5RDA3RTAwNkE3MkVEIC8qIElEQkVycm9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ4NDUzRDFCQjlEMDc2
MDA2QTcyRUQgLyogSURCRXJyb3IuaCAqLzsgfTsKIAkJNTE0QjNGNzMwQzcyMjA0NzAwMDUzMERG
IC8qIEZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE0QjNGNzYwQzcyMjA1
NTAwMDUzMERGIC8qIEZpbGVTeXN0ZW1NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRCM0Y3NTBDNzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3Rl
bU1hYy5tbSAqLzsgfTsKIAkJNTE0Qzc2MzcwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2
MzUwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3IuY3BwICovOyB9OwpAQCAtMjAwMCwxNSAr
MTk5MiwxMSBAQAogCQk1MTRDNzY3RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0
Qzc2NjgwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0Ex
MDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJl
c291cmNlUmVzcG9uc2VCYXNlLmNwcCAqLzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNw
b25zZUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk1MTU3RDQ2NDFCQTI0QUVFMDA4NUNBMkYgLyogSURCRmFjdG9yeS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NjFCOUY4ODlCMDBG
Nzg5Q0UgLyogSURCRmFjdG9yeS5jcHAgKi87IH07Ci0JCTUxNTdENDY1MUJBMjRBRjgwMDg1Q0Ey
RiAvKiBJREJJbmRleC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTY0NUI0ODFCOUY4ODlCMDBGNzg5Q0UgLyogSURCSW5kZXguY3BwICovOyB9Owot
CQk1MTU3RDQ2NjFCQTI0QUZEMDA4NUNBMkYgLyogSURCT2JqZWN0U3RvcmUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEExQjlGODg5QjAw
Rjc4OUNFIC8qIElEQk9iamVjdFN0b3JlLmNwcCAqLzsgfTsKIAkJNTE2MDMwMEIwQ0M0MjUxMjAw
QzhBQzI1IC8qIEZpbGVTeXN0ZW1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwMzAwQTBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3Rl
bVBPU0lYLmNwcCAqLzsgfTsKIAkJNTE2MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0
ZW1DRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTYwMzA2QjBDQzQzNjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCAqLzsgfTsKIAkJNTE2
MEY0OTgwQjBBQTc1RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2MEY0OTcwQjBBQTc1RjAwQzFEMkFG
IC8qIEhpc3RvcnlJdGVtTWFjLm1tICovOyB9OwogCQk1MTYyQzdGNDExRjc3RUZCMDA2MTJFRkUg
LyogU2NoZW1lUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2MkM3RjIxMUY3N0VGQTAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5LmNw
cCAqLzsgfTsKIAkJNTE2MkM3RjUxMUY3N0VGQjAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYyQzdGMzEx
Rjc3RUZCMDA2MTJFRkUgLyogU2NoZW1lUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTYzMTE3RDE4NTEyNDJCMDA1MzQ2NDcgLyog
SURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTYzMTE3QzE4NTEyNDJCMDA1MzQ2NDcgLyogSURCRGF0YWJhc2VNZXRh
ZGF0YS5jcHAgKi87IH07CiAJCTUxNjQ1QjVBMUI5RkE2QzgwMEY3ODlDRSAvKiBMZWdhY3lDdXJz
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
NDVCMjgxQjlGNjM5MTAwRjc4OUNFIC8qIExlZ2FjeUN1cnNvci5jcHAgKi87IH07CiAJCTUxNjQ1
QjVCMUI5RkE2QzgwMEY3ODlDRSAvKiBMZWdhY3lDdXJzb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjI5MUI5RjYzOTEwMEY3ODlDRSAvKiBM
ZWdhY3lDdXJzb3IuaCAqLzsgfTsKIAkJNTE2NDVCNUMxQjlGQTZDODAwRjc4OUNFIC8qIExlZ2Fj
eUN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTY0NUIyQTFCOUY2MzkxMDBGNzg5Q0UgLyogTGVnYWN5Q3Vyc29yV2l0aFZh
bHVlLmNwcCAqLzsgfTsKQEAgLTIwMzUsNiArMjAyMywxMCBAQAogCQk1MTZDNjIyMDE5NTBENDg3
MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNkM2MjFEMTk1MEQ0ODcwMDMzN0U3NSAvKiBHYW1lcGFkRXZl
bnQuY3BwICovOyB9OwogCQk1MTZDNjIyMTE5NTBENDg3MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZDNjIx
RTE5NTBENDg3MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50LmggKi87IH07CiAJCTUxNkM2MjI1MTk1
MEUyQjkwMDMzN0U3NSAvKiBKU0dhbWVwYWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZDNjIyMzE5NTBFMkI5MDAzMzdFNzUgLyogSlNH
YW1lcGFkRXZlbnQuY3BwICovOyB9OworCQk1MTZEN0Q2RjFCQjVGMEJEMDBBRjdDNzcgLyogSURC
Q29ubmVjdGlvblRvU2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxODVGQ0JDMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuY3BwICovOyB9OworCQk1MTZEN0Q3MDFCQjVGMEJEMDBBRjdDNzcgLyogSURCQ29ubmVj
dGlvblRvU2VydmVyRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxODVGQ0JEMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXJEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTUxNkQ3RDcxMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
RDdENkQxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi87IH07
CisJCTUxNkQ3RDcyMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnREZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
RDdENkUxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE3NDFE
MEYwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTc0MUQwQjBCMDcyNTlBMDBFRDQ0MkMg
LyogQmFja0ZvcndhcmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTc0MUQxMTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNzQxRDBE
MEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNzQxRDEyMEIwNzI1OUEwMEVENDQyQyAvKiBI
aXN0b3J5SXRlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTc0MUQwRTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uY3BwICovOyB9OwpA
QCAtMjA0OSw2ICsyMDQxLDYzIEBACiAJCTUxN0E2M0M1MUI3NDMxOEYwMEU3RENEQyAvKiBLZXll
ZERlY29kZXJDRi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE3QTYzQzAxQjc0MzE3RTAwRTdEQ0RDIC8qIEtleWVkRGVjb2RlckNGLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE3QTYzQzYxQjc0MzE5
MjAwRTdEQ0RDIC8qIEtleWVkRW5jb2RlckNGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdBNjNDMjFCNzQzMTdFMDBFN0RDREMgLyogS2V5ZWRFbmNv
ZGVyQ0YuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1MTdGQkExRTE1MUFCMTdDMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0ZCQTE3MTUxQUE3
MUIwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwICovOyB9OworCQk1MTg1RkM1QjFC
QjRCRTRDMDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThGRDFCQjA3QTk2MDBDMTkyODIg
LyogSURCQ29ubmVjdGlvblRvU2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDNzQxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERh
dGFiYXNlLmNwcCAqLzsgfTsKKwkJNTE4NUZDNzUxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFENzE5NkQxODExMDZERjAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5oICovOyB9OworCQk1MTg1RkM3NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCQW55LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTZGMTgx
MTA2REYwMDE2REM1MSAvKiBJREJBbnkuY3BwICovOyB9OworCQk1MTg1RkM3ODFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCQW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUQ3MTk3MDE4MTEwNkRGMDAxNkRDNTEgLyogSURCQW55LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDN0ExQkI0QzRFODAw
MTI4OThGIC8qIElEQkN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTY0NUI1NDFCOUY4OEU4MDBGNzg5Q0UgLyogSURCQ3Vyc29yLmNwcCAq
LzsgfTsKKwkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDExQjlGODg5QjAw
Rjc4OUNFIC8qIElEQkN1cnNvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxODVGQzdEMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3JXaXRo
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTE2NDVCNDIxQjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgKi87IH07
CisJCTUxODVGQzdFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQzMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCAqLzsgfTsKKwkJNTE4NUZDODAxQkI0
QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQ0MUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJEYXRh
YmFzZS5jcHAgKi87IH07CisJCTUxODVGQzgxMUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVC
NDUxQjlGODg5QjAwRjc4OUNFIC8qIElEQkRhdGFiYXNlLmggKi87IH07CisJCTUxODVGQzgzMUJC
NEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4MzE4MTEwNkRGMDAxNkRDNTEgLyogSURC
RGF0YWJhc2VFcnJvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTUxODVGQzg0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk4NDE4MTEwNkRGMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwICovOyB9Owor
CQk1MTg1RkM4NTFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg1MTgxMTA2
REYwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzg2MUJCNEM0RTgwMDEyODk4RiAv
KiBJREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEwMzEwNUUxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNl
SWRlbnRpZmllci5jcHAgKi87IH07CisJCTUxODVGQzg3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJE
YXRhYmFzZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMDMxMDVGMUJBOEUwOTAwMDMzMjlDMCAvKiBJREJEYXRhYmFzZUlkZW50aWZp
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1
MTg1RkM4ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYzMTE3QzE4NTEyNDJC
MDA1MzQ2NDcgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgKi87IH07CisJCTUxODVGQzg5MUJC
NEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM5NjExQTE4M0QyQjgwMDBEMjAwMkUgLyog
SURCRGF0YWJhc2VNZXRhZGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxODVGQzhBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJFdmVudERpc3Bh
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFENzE5ODYxODExMDZERjAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5jcHAgKi87IH07
CisJCTUxODVGQzhCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg3MTgxMTA2
REYwMDE2REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuaCAqLzsgfTsKKwkJNTE4NUZDOEMxQkI0
QzRFODAwMTI4OThGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDYxQjlGODg5QjAwRjc4OUNFIC8qIElEQkZhY3Rv
cnkuY3BwICovOyB9OworCQk1MTg1RkM4RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDcx
QjlGODg5QjAwRjc4OUNFIC8qIElEQkZhY3RvcnkuaCAqLzsgfTsKKwkJNTE4NUZDOEYxQkI0QzRF
ODAwMTI4OThGIC8qIElEQkdldFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEyM0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJlc3Vs
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUx
ODVGQzkwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRleC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0ODFCOUY4ODlCMDBGNzg5Q0UgLyog
SURCSW5kZXguY3BwICovOyB9OworCQk1MTg1RkM5MTFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5k
ZXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1
QjQ5MUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJJbmRleC5oICovOyB9OworCQk1MTg1RkM5MzFCQjRD
NEU4MDAxMjg5OEYgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkI1QjYxODZEMEVEMTAwODM5MUExIC8qIElEQklu
ZGV4TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk1MTg1RkM5NDFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTkxMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJLZXkuY3BwICovOyB9OworCQk1MTg1RkM5NTFCQjRDNEU4MDAxMjg5OEYgLyog
SURCS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUQ3MTk5MjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDOTYxQkI0QzRFODAwMTI4OThGIC8q
IElEQktleURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTExRUMxQTcxODhEQUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwICovOyB9Owor
CQk1MTg1RkM5NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxQTUxODhEQUNBNDAwQkEzRUI2
IC8qIElEQktleURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk1MTg1RkM5ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5MzE4MTEw
NkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5jcHAgKi87IH07CisJCTUxODVGQzk5MUJCNEM0RTgw
MDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUQ3MTk5NDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzlB
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5NTE4MTEwNkUwMDAxNkRDNTEgLyogSURC
S2V5UmFuZ2UuY3BwICovOyB9OworCQk1MTg1RkM5QjFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RDcxOTk2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzlEMUJCNEM0RTgwMDEyODk4
RiAvKiBJREJLZXlSYW5nZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEyM0FGMTYxODkwQTRDQTAwMzFDREM5IC8qIElEQktleVJhbmdlRGF0
YS5jcHAgKi87IH07CisJCTUxODVGQzlFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZURh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjNB
RjE3MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkM5RjFCQjRDNEU4MDAxMjg5
OEYgLyogSURCT2JqZWN0U3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE2NDVCNEExQjlGODg5QjAwRjc4OUNFIC8qIElEQk9iamVjdFN0b3Jl
LmNwcCAqLzsgfTsKKwkJNTE4NUZDQTAxQkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0
QjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCT2JqZWN0U3RvcmUuaCAqLzsgfTsKKwkJNTE4NUZDQTIx
QkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJCNUI3MTg2RDBFRDEwMDgzOTFB
MSAvKiBJREJPYmplY3RTdG9yZU1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQTMxQkI0QzRFODAwMTI4OThGIC8qIElEQk9w
ZW5EQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTE2NDVCNEMxQjlGODg5QjAwRjc4OUNFIC8qIElEQk9wZW5EQlJlcXVlc3QuY3BwICov
OyB9OworCQk1MTg1RkNBNDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEQxQjlG
ODg5QjAwRjc4OUNFIC8qIElEQk9wZW5EQlJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBNjFCQjRDNEU4MDAxMjg5OEYgLyog
SURCT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTJFQTlCRDE4MjAyODU3MDAxRDAxRTAgLyogSURCT3BlcmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQTcxQkI0QzRF
ODAwMTI4OThGIC8qIElEQlJlY29yZElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUFDNUIwMTgxNjNGNEUwMDRGMUJBNCAvKiBJREJS
ZWNvcmRJZGVudGlmaWVyLmggKi87IH07CisJCTUxODVGQ0E4MUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNjQ1QjRFMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJSZXF1ZXN0LmNwcCAqLzsgfTsKKwkJ
NTE4NUZDQTkxQkI0QzRFODAwMTI4OThGIC8qIElEQlJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjRGMUI5Rjg4OUIwMEY3ODlDRSAv
KiBJREJSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNTE4NUZDQUIxQkI0QzRFODAwMTI4OThGIC8qIElEQlNlcnZlckNvbm5lY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEEzMjZF
MTgzMTg0MzEwMDNDNTMyNiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQUMxQkI0QzRFODAwMTI4
OThGIC8qIElEQlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUwMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJUcmFuc2FjdGlv
bi5jcHAgKi87IH07CisJCTUxODVGQ0FEMUJCNEM0RTgwMDEyODk4RiAvKiBJREJUcmFuc2FjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVC
NTExQjlGODg5QjAwRjc4OUNFIC8qIElEQlRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQUYxQkI0QzRFODAwMTI4OThG
IC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVmVyc2lv
bkNoYW5nZUV2ZW50LmNwcCAqLzsgfTsKKwkJNTE4NUZDQjAxQkI0QzRFODAwMTI4OThGIC8qIElE
QlZlcnNpb25DaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2NDVCNTMxQjlGODg5QjAwRjc4OUNFIC8qIElEQlZlcnNpb25DaGFuZ2VF
dmVudC5oICovOyB9OworCQk1MTg1RkNCMjFCQjRDNEU4MDAxMjg5OEYgLyogSW5kZXhlZERCLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTlBRTE4
MTEwNkUwMDAxNkRDNTEgLyogSW5kZXhlZERCLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQjMxQkI0QzRFODAwMTI4OThGIC8qIFdvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUIxMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi87IH07CisJCTUxODVGQ0I0MUJCNEM0RTgw
MDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjIxODExMDZFMDAwMTZE
QzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggKi87IH07CisJCTUxODVG
Q0I3MUJCNEM3NjcwMDEyODk4RiAvKiBET01SZXF1ZXN0U3RhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODVGQ0I2MUJCNEM3NjEwMDEyODk4RiAv
KiBET01SZXF1ZXN0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk1MTg1RkNCOTFCQjRDQkY4MDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRv
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTBBNThGRTFCQjA3QUE1MDBDMTkyODIgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQkExQkI0
Q0JGODAwMTI4OThGIC8qIElEQlNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFRjFCQUI3MjBGMDBDMTkyODIgLyogSURCU2VydmVy
LmNwcCAqLzsgfTsKKwkJNTE4NUZDQkIxQkI0Q0JGODAwMTI4OThGIC8qIElEQlNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RjAxQkFC
NzIwRjAwQzE5MjgyIC8qIElEQlNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxODlGMDFEMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0
YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE4OUYwMUIxMEIzN0JEOTAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5jcHAgKi87IH07
CiAJCTUxODlGMDFFMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODlGMDFDMTBCMzdCRDkw
MEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuaCAqLzsgfTsKIAkJNTE4OUYwREUxMEI0NkIwRTAw
RjNDNzM5IC8qIFBvcFN0YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE4OUYwREQxMEI0NkIwRTAwRjNDNzM5IC8qIFBvcFN0YXRlRXZl
bnQuY3BwICovOyB9OwpAQCAtMjA3MCw4ICsyMTE5LDYgQEAKIAkJNTFBQkFFMUIxMDNDMThGRjAw
OEM1MjYwIC8qIFNvY2tldFN0cmVhbUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFCQUUxQTEwM0MxOEZGMDA4QzUyNjAgLyogU29ja2V0U3Ry
ZWFtRXJyb3IuaCAqLzsgfTsKIAkJNTFBQkFFMUUxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0
cmVhbUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFBQkFFMUMxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZS5oICovOyB9
OwogCQk1MUFCQUUxRjEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkFF
MUQxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcCAqLzsgfTsK
LQkJNTFBQkI1QjgxODZEMEVEMTAwODM5MUExIC8qIElEQkluZGV4TWV0YWRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJCNUI2MTg2RDBFRDEw
MDgzOTFBMSAvKiBJREJJbmRleE1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFBQkI1QjkxODZEMEVEMTAwODM5MUExIC8qIElEQk9i
amVjdFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxQUJCNUI3MTg2RDBFRDEwMDgzOTFBMSAvKiBJREJPYmplY3RTdG9yZU1ldGFk
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NTFBQkY2NEQxNjM5MkUyODAwMTMyQTdBIC8qIExvYWRlclN0cmF0ZWd5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJGNjRDMTYzOTJFMjgwMDEz
MkE3QSAvKiBMb2FkZXJTdHJhdGVneS5jcHAgKi87IH07CiAJCTUxQUY1MDM2MTZGMTAwRjYwMDk1
QjJFOCAvKiBSZXNvdXJjZUxvYWRlclR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFGNTAzNTE2RjEwMEY2MDA5NUIyRTggLyogUmVzb3VyY2VM
b2FkZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxQjI0MTdCMEQ5MzFGM0YwMEU4M0Y1QyAvKiBMZWdhY3lXZWJBcmNoaXZlTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMjQxN0Ew
RDkzMUYzRjAwRTgzRjVDIC8qIExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gKi87IH07CkBAIC0yMDg0
LDI3ICsyMTMxLDEwIEBACiAJCTUxQzBBQTQxMEYyQUExNUUwMDE2NDhDMiAvKiBDYWNoZWRGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUMw
QUE0MDBGMkFBMTVFMDAxNjQ4QzIgLyogQ2FjaGVkRnJhbWUuY3BwICovOyB9OwogCQk1MUM4MUI4
OTBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzgxQjg3MEM0NDIyRjcwMDE5RUNF
MyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuY3BwICovOyB9OwogCQk1MUM4MUI4QTBDNDQyMkY3MDAx
OUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM4MUI4ODBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0
b3J5UGFyc2VyLmggKi87IH07Ci0JCTUxQzk2MTFCMTgzRDJCODAwMEQyMDAyRSAvKiBJREJEYXRh
YmFzZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUM5NjExQTE4M0QyQjgwMDBEMjAwMkUgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxQ0JGQzk5
MEQxMEU0ODMwMDJEQkY1MSAvKiBDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDQkZDOTgwRDEwRTQ4MzAwMkRC
RjUxIC8qIENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFEMEM1MTYwREFBOTBCNzAwM0IzODMxIC8qIEpT
U3RvcmFnZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUQwQzUxNTBEQUE5MEI3MDAzQjM4MzEgLyogSlNTdG9yYWdlQ3VzdG9tLmNwcCAq
LzsgfTsKLQkJNTFENzE5QjYxODExMDZFMDAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCAq
LzsgfTsKLQkJNTFENzE5QjcxODExMDZFMDAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
NzE5NkQxODExMDZERjAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oICovOyB9
OwotCQk1MUQ3MTlCOTE4MTEwNkUwMDAxNkRDNTEgLyogSURCQW55LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTZGMTgxMTA2REYwMDE2REM1
MSAvKiBJREJBbnkuY3BwICovOyB9OwotCQk1MUQ3MTlCQTE4MTEwNkUwMDAxNkRDNTEgLyogSURC
QW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk3MDE4MTEwNkRGMDAxNkRDNTEgLyogSURCQW55LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5Q0QxODExMDZFMDAwMTZEQzUxIC8qIElE
QkRhdGFiYXNlRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRDcxOTgzMTgxMTA2REYwMDE2REM1MSAvKiBJREJEYXRhYmFzZUVycm9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5Q0Ux
ODExMDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg0MTgxMTA2REYwMDE2REM1
MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgKi87IH07Ci0JCTUxRDcxOUNGMTgxMTA2RTAw
MDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODUxODExMDZERjAwMTZEQzUxIC8qIElEQkRh
dGFiYXNlRXhjZXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJNTFENzE5RDAxODExMDZFMDAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk4NjE4MTEwNkRGMDAxNkRDNTEgLyogSURCRXZlbnREaXNwYXRjaGVyLmNwcCAqLzsgfTsKLQkJ
NTFENzE5RDExODExMDZFMDAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODcxODExMDZERjAw
MTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oICovOyB9OwotCQk1MUQ3MTlEQjE4MTEwNkUw
MDAxNkRDNTEgLyogSURCS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDcxOTkxMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwICovOyB9
OwotCQk1MUQ3MTlEQzE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5MjE4MTEwNkUwMDAxNkRDNTEg
LyogSURCS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJNTFENzE5REQxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBhdGguY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTMxODExMDZFMDAw
MTZEQzUxIC8qIElEQktleVBhdGguY3BwICovOyB9OwotCQk1MUQ3MTlERTE4MTEwNkUwMDAxNkRD
NTEgLyogSURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFENzE5OTQxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBhdGguaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlERjE4MTEw
NkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTUxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVJh
bmdlLmNwcCAqLzsgfTsKLQkJNTFENzE5RTAxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVJhbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5
NjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlGODE4MTEwNkUwMDAxNkRDNTEgLyog
SW5kZXhlZERCLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUQ3MTlBRTE4MTEwNkUwMDAxNkRDNTEgLyogSW5kZXhlZERCLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5RkIxODExMDZFMDAwMTZE
QzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUIxMTgxMTA2RTAwMDE2REM1
MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi87IH07Ci0JCTUxRDcx
OUZDMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjIx
ODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggKi87
IH07CisJCTUxRDcyMzZDMUJCNjE3NDkwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcyMzZBMUJCNjBC
RkUwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCAqLzsgfTsKKwkJNTFENzIzNkQxQkI2MTc0
OTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcyMzZCMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHRE
YXRhLmggKi87IH07CiAJCTUxRENFODAyMENBQzlGMUMwMDQ4ODM1OCAvKiBKU1NRTFJlc3VsdFNl
dFJvd0xpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFEQ0U4MDEwQ0FDOUYxQzAwNDg4MzU4IC8qIEpTU1FMUmVzdWx0U2V0Um93TGlz
dEN1c3RvbS5jcHAgKi87IH07CiAJCTUxREY2RDdFMEI5MkExNkQwMEMyREM4NSAvKiBUaHJlYWRD
aGVjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
RjZEN0QwQjkyQTE2RDAwQzJEQzg1IC8qIFRocmVhZENoZWNrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFERjZEODAwQjkyQTE4RTAwQzJEQzg1
IC8qIFRocmVhZENoZWNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFERjZEN0YwQjkyQTE4RTAwQzJEQzg1IC8qIFRocmVhZENoZWNrLm1tICovOyB9
OwpAQCAtMjEyNSw3ICsyMTU1LDYgQEAKIAkJNTFFM0Y5RDYwREEwNUUxRDAwMjUwOTExIC8qIEpT
U3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUUzRjlENDBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNwcCAqLzsgfTsKIAkJNTFF
NDE0MzQxNkE2NTk2MzAwQzYzM0M3IC8qIFJlc291cmNlSGFuZGxlVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTQxNDMyMTZBNjU5NTEwMEM2
MzNDNyAvKiBSZXNvdXJjZUhhbmRsZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFFNjgyMTAxNjM4NzMwMjAwM0JCRjNDIC8qIExvYWRl
clN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUU2ODIwRjE2Mzg3MzAyMDAzQkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUVBQzVCMjE4MTYzRjRF
MDA0RjFCQTQgLyogSURCUmVjb3JkSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQUM1QjAxODE2M0Y0RTAwNEYxQkE0IC8qIElEQlJl
Y29yZElkZW50aWZpZXIuaCAqLzsgfTsKIAkJNTFFQzkyNjUwQ0U5MERENDAwRjkwMzA4IC8qIEpT
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1RDBDRTkwREQ0MDBGOTAzMDggLyogSlND
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJNTFFRTdCMzgxQUE1
MEIwNTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUU3QjM3MUFBNTBCMDUwMEY5MkIyMSAvKiBSZXNv
dXJjZUxvYWRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNTFFRTdCM0ExQUE1MTIzMTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFRTdCMzkx
QUE1MTIzMTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uY3BwICovOyB9OwpAQCAtOTIxNCw2
ICs5MjQzLDE2IEBACiAJCTUxMDZEN0JCMThCREI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNv
bnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1l
bnVDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNkQ3QkMxOEJE
Qjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTEwQTMyNkUxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCU2VydmVyQ29ubmVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThFMjFCQUE0MEFFMDBDMTkyODIg
LyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluUHJvY2Vzc0lEQlNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxMEE1OEUzMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5Qcm9jZXNzSURCU2VydmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEU2MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJS
ZXF1ZXN0SWRlbnRpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJREJSZXF1ZXN0SWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxMEE1OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJSZXF1ZXN0SWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThFRjFCQUI3MjBGMDBDMTkyODIgLyogSURC
U2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlNlcnZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEYwMUJBQjcyMEYwMEMx
OTI4MiAvKiBJREJTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURC
U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEY1MUJBQ0M0QTUw
MEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJREJSZXF1ZXN0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxMEE1OEY2MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJSZXF1ZXN0RGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MTBBNThGRDFCQjA3QTk2MDBDMTkyODIgLyogSURCQ29ubmVjdGlv
blRvU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThGRTFCQjA3
QUE1MDBDMTkyODIgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTBENEEyRDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJy
b3JCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvY2tldFN0
cmVhbUVycm9yQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTJF
MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1FcnJvckJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU29ja2V0U3RyZWFtRXJyb3JCYXNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTMwMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1IYW5kbGVCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNv
Y2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTI1OSw2ICs5Mjk4LDggQEAKIAkJNTEzRjE0NTIwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEljb25Mb2FkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0MDVDODYxOTBCMDE0NDAwNzU0Rjk0IC8qIFNl
bGVjdGlvblJlY3RHYXRoZXJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTQwNUM4NzE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdGlvblJlY3RHYXRoZXJlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ4NDUzQzFCQjlEMDc2MDA2QTcyRUQg
LyogSURCRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURC
RXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ4NDUzRDFCQjlEMDc2
MDA2QTcyRUQgLyogSURCRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SURCRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0QjNGNzIwQzcyMjA0
NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmlsZVN5c3RlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTRCM0Y3NTBD
NzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3RlbU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEZpbGVTeXN0ZW1NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNEM3NjM1MENFOTIyNUUwMDdFRjNDRCAvKiBKU1NRTEVycm9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1FMRXJyb3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTM1MCw2ICs5MzkxLDggQEAKIAkJNTE2QzYyMUYxOTUw
RDQ4NzAwMzM3RTc1IC8qIEdhbWVwYWRFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R2FtZXBhZEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2QzYyMjMx
OTUwRTJCOTAwMzM3RTc1IC8qIEpTR2FtZXBhZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2FtZXBhZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTE2QzYyMjQxOTUwRTJCOTAwMzM3RTc1IC8qIEpTR2FtZXBhZEV2ZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2FtZXBhZEV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNkQ3RDZEMUJCNUYwNjUwMEFGN0M3NyAvKiBJREJD
b25uZWN0aW9uVG9DbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTE2RDdENkUxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVn
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rpb25Ub0Ns
aWVudERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNzQxRDBCMEIw
NzI1OUEwMEVENDQyQyAvKiBCYWNrRm9yd2FyZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCYWNrRm9yd2FyZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTc0MUQwRDBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpc3RvcnlJdGVtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxNzQxRDBFMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9yeUl0ZW0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTM2Niw2ICs5NDA5LDkgQEAKIAkJNTE3
QTYzQzIxQjc0MzE3RTAwRTdEQ0RDIC8qIEtleWVkRW5jb2RlckNGLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEtleWVkRW5jb2RlckNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxN0ZCQTE3MTUxQUE3MUIwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NV2luZG93RXh0ZW5z
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3RkJBMTgxNTFBQTcxQjAw
QjU3OTU5IC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTE4NUZDQjYxQkI0Qzc2MTAwMTI4OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01SZXF1ZXN0U3RhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTE4NUZDQkMxQkI1Q0I3NzAwMTI4OThGIC8qIElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTg1
RkNCRDFCQjVDQjc3MDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ29ubmVjdGlvblRvU2VydmVyRGVs
ZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE4OUYwMUIxMEIzN0JEOTAw
RjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1BvcFN0YXRlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTg5RjAxQzEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUG9wU3RhdGVFdmVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MTg5RjBERDEwQjQ2QjBFMDBGM0M3MzkgLyogUG9wU3RhdGVF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQb3BTdGF0ZUV2
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0NDMsNiArOTQ4OSw4IEBA
CiAJCTUxRDcxOUIxMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxRDcxOUIyMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJHbG9iYWxT
Y29wZUluZGV4ZWREYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3
MTlCMzE4MTEwNkUwMDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2Uu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFi
YXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFENzIzNkExQkI2MEJGRTAw
NDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSURCUmVzdWx0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxRDcyMzZCMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlJlc3VsdERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFEQ0U4MDEwQ0FDOUYxQzAwNDg4MzU4IC8qIEpTU1FMUmVzdWx0U2V0Um93
TGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NR
TFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MURGNkQ3RDBCOTJBMTZEMDBDMkRDODUgLyogVGhyZWFkQ2hlY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkQ2hlY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFERjZEN0YwQjkyQTE4RTAwQzJEQzg1IC8qIFRocmVhZENoZWNrLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGhyZWFkQ2hlY2subW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjU3Miw2ICsxNjYyMCw5IEBACiAJCTUxMDMxMDQy
MUJBOEM2NEMwMDMzMjlDMCAvKiBjbGllbnQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTUxODVGQ0JDMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuY3BwICovLAorCQkJCTUxMEE1OEZEMUJCMDdBOTYwMEMxOTI4MiAvKiBJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuaCAqLywKKwkJCQk1MTg1RkNCRDFCQjVDQjc3MDAxMjg5OEYgLyog
SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCAqLywKIAkJCQk1MTAzMTA0QTFCQThDNkE2
MDAzMzI5QzAgLyogSURCRmFjdG9yeUltcGwuY3BwICovLAogCQkJCTUxMDMxMDRCMUJBOEM2QTYw
MDMzMjlDMCAvKiBJREJGYWN0b3J5SW1wbC5oICovLAogCQkJCTUxMDMxMDU2MUJBOERCMzAwMDMz
MjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAgKi8sCkBAIC0xNjU4Miw2ICsxNjYzMywz
NSBAQAogCQkJcGF0aCA9IGNsaWVudDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCTUxMEE1OEUxMUJBQTQwOTgwMEMxOTI4MiAvKiBzaGFyZWQgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTUxNDg0NTNDMUJCOUQwNzYwMDZBNzJFRCAv
KiBJREJFcnJvci5jcHAgKi8sCisJCQkJNTE0ODQ1M0QxQkI5RDA3NjAwNkE3MkVEIC8qIElEQkVy
cm9yLmggKi8sCisJCQkJNTEwQTU4RjUxQkFDQzRBNTAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRh
LmNwcCAqLywKKwkJCQk1MTBBNThGNjFCQUNDNEE1MDBDMTkyODIgLyogSURCUmVxdWVzdERhdGEu
aCAqLywKKwkJCQk1MTBBNThFNjFCQUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuY3BwICovLAorCQkJCTUxMEE1OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRl
bnRpZmllci5oICovLAorCQkJCTUxRDcyMzZBMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHRE
YXRhLmNwcCAqLywKKwkJCQk1MUQ3MjM2QjFCQjYwQkZFMDA0NzhDQTMgLyogSURCUmVzdWx0RGF0
YS5oICovLAorCQkJCTUxMEE1OEUyMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2
ZXIuY3BwICovLAorCQkJCTUxMEE1OEUzMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJT
ZXJ2ZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gc2hhcmVkOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJNTEwQTU4RUUxQkFCNzFFMDAwQzE5MjgyIC8qIHNlcnZlciAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTE2RDdENkQxQkI1
RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8sCisJCQkJNTEwQTU4
RkUxQkIwN0FBNTAwQzE5MjgyIC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oICovLAorCQkJCTUx
NkQ3RDZFMUJCNUYwNjUwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZS5o
ICovLAorCQkJCTUxMEE1OEVGMUJBQjcyMEYwMEMxOTI4MiAvKiBJREJTZXJ2ZXIuY3BwICovLAor
CQkJCTUxMEE1OEYwMUJBQjcyMEYwMEMxOTI4MiAvKiBJREJTZXJ2ZXIuaCAqLywKKwkJCSk7CisJ
CQlwYXRoID0gc2VydmVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNTEy
NkU2QjYwQTJFM0FFRjAwNUMyOUZBIC8qIGljb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKApAQCAtMTg4MDYsNiArMTg4ODYsOCBAQAogCQkJY2hpbGRyZW4gPSAo
CiAJCQkJNTEwMzEwNDIxQkE4QzY0QzAwMzMyOUMwIC8qIGNsaWVudCAqLywKIAkJCQk1MTY0NUIy
NzFCOUY2MzdFMDBGNzg5Q0UgLyogbGVnYWN5ICovLAorCQkJCTUxMEE1OEVFMUJBQjcxRTAwMEMx
OTI4MiAvKiBzZXJ2ZXIgKi8sCisJCQkJNTEwQTU4RTExQkFBNDA5ODAwQzE5MjgyIC8qIHNoYXJl
ZCAqLywKIAkJCQk1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERh
dGFiYXNlLmNwcCAqLywKIAkJCQk1MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmggKi8sCiAJCQkJNTFENzE5NkUxODExMDZERjAwMTZEQzUxIC8qIERP
TVdpbmRvd0luZGV4ZWREYXRhYmFzZS5pZGwgKi8sCkBAIC0yMTQ4Myw2ICsyMTU2NSw3IEBACiAJ
CQkJMzEyRDY3QjAxNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwICovLAogCQkJCTMx
NjAyM0VGMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQjU2NTc2RTcx
N0RBOTRFMjAwQTU2QkRDIC8qIERPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmggKi8sCisJCQkJ
NTE4NUZDQjYxQkI0Qzc2MTAwMTI4OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oICovLAogCQkJCUJD
NTNEQTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuY3BwICovLAogCQkJCUJD
NTNEQTJEMTE0MzEyMUUwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuaCAqLywKIAkJCQkxNDMy
RTg0ODBDNTE0OTNGMDBCMTUwMEYgLyogR0NDb250cm9sbGVyLmNwcCAqLywKQEAgLTI0MTQzLDEx
ICsyNDIyNiwxMyBAQAogCQkJCTI0RjU0RUFEMTAxRkU5MTQwMDBBRTc0MSAvKiBBcHBsaWNhdGlv
bkNhY2hlSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4RjZCQzEwREI1NUNEQzAwMURCNzk0
IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyQUFD
NTkwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTBBNThGQzFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNDE3MDY0MTI1NjYyQjMwMDZCMjhGQyAvKiBBcHBs
eUJsb2NrRWxlbWVudENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REQ5MDk5RTY0
OTIwMDU2RTU4MSAvKiBBcHBseVN0eWxlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEy
REQ4RjYwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MkREOEZEMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyREQ4RkMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTE4NUZDN0UxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvcldpdGhW
YWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyREQ4RjgwRDkxRTZBRjAwMEY4OUVFIC8qIEFy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QjM3NjBEMTVD
NkM2ODQwMDU5MTMxRCAvKiBBcnJheVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDU2ODZD
QTEzQUMxODAyMDBCNjlDNjggLyogQXN5bmNBdWRpb0RlY29kZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMjQxODYsNiArMjQyNzEsNyBAQAogCQkJCUZEMzU5MTkwMTM4REIyMjAwMEUxRUJFQyAvKiBB
dWRpb1BhcmFtVGltZWxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDIwMTJCMDI2NzYw
MEMxQTM1OSAvKiBBdWRpb1Byb2Nlc3NpbmdFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwODQxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkM4NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA4NjEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9SZXNh
bXBsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDg4MTJCMDI2RjcwMEMxQTM1OSAvKiBB
dWRpb1Jlc2FtcGxlcktlcm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ4QzQ2RUMxNTQ2MDhF
NzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNDIyOCw2ICsyNDMxNCw3IEBACiAJCQkJQkNBOENBNjAxMUU0RTZEMTAwODEyRkI3IC8qIEJh
Y2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMjRFRTgwQzI2NDFDRDAwOUUy
MzQ5IC8qIEJhclByb3AuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUU2MUNBMTI2Q0E1QzQwMEI2
M0U4RCAvKiBCYXNlQnV0dG9uSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM5
MTFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5kZXguaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUU2
MUNDMTI2Q0E1QzQwMEI2M0U4RCAvKiBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNUUwQzY1QzE2NDNDNDJDMDBENkNCNjkgLyogQmFzZUNob29zZXJPbmx5RGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzM0VFNUM1MTRGQjQ5NjEw
MDAyMDk1QSAvKiBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNDM0NSw2ICsyNDQzMiw3IEBACiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8q
IENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBB
MDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5
RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUQ3MjM2RDFC
QjYxNzQ5MDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBD
MDU0Q0IxMTE4QzhFNDAwQ0UyNjM2IC8qIENvZGVHZW5lcmF0b3IucG0gaW4gSGVhZGVycyAqLywK
IAkJCQlCQzVFQjVERjBFODFCOUFCMDBCMjU5NjUgLyogQ29sbGFwc2VkQm9yZGVyVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0MjVBNDlBMTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9u
SW5kZXhDYWNoZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDM3MSw2ICsyNDQ1OSw3IEBACiAJCQkJ
NzlGMkY1QTIxMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZEMzE2MDhGMTJCMDI2RjcwMEMxQTM1OSAvKiBDb25lLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2NUM5N0FGMzA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkNCQjFCQjRDQkY4MDAxMjg5OEYgLyogSURCU2VydmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIxQzA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBMTQ3MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5v
ZGVBbGdvcml0aG1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjk4MTBFODIwNzI1MDBCMjU5
NjUgLyogQ29udGVudERhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMjQzODQsNiArMjQ0NzMsNyBA
QAogCQkJCTI2RjBDOEEwMUEyRUMzQkUwMDI3OTRGOCAvKiBDb250ZW50RXh0ZW5zaW9uc0JhY2tl
bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MjM5MTM2MUE2NDhDRUUwMDcyNTFBMyAvKiBDb250
ZW50RXh0ZW5zaW9uc0RlYnVnZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQjY3REMxQUU2
QjgyRjAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29u
dGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0MDkwRkQxQUE1MUU0ODAwOTExOTFB
IC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdD
NDcxREMxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNDUzNiw2ICsyNDYyNiw3IEBACiAJCQkJRTQ5QkQ5RkExMzFGRDJFRDAwM0M1
NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5MkYwODI0NUU1
OTAwMUU5QUJDIC8qIEN1cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcyQTIwRTgyRTg3
QzAwRTdGOTc1IC8qIEN1cnNvckRhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0I0MUJC
NEM0RTgwMDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDQjQxM0UwRTg2MzNGRDAwMzJDNEYwIC8qIERhc2hB
cnJheS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDU3OCw2ICsyNDY2OSw3IEBACiAJCQkJNDFBM0Q1
OEYxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQwNkRGQTYxMzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMkMxMkIwMjY3NjAwQzFBMzU5IC8q
IERlbGF5RFNQS2VybmVsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM4NTFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2
MDJFMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
MzE2MDMxMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheVByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTMzMDlEREYwOTlFNjQ5MjAwNTZFNTgxIC8qIERlbGV0ZUZyb21UZXh0Tm9kZUNvbW1h
bmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ1OTQsNiArMjQ2ODYsNyBAQAogCQkJCTU5QThGMUQ4
MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzE0MDM3OUQxMjRCRUE3RjAwQUY0MEU0IC8qIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50SU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OTMwOUExMzExRjRBRTZBMDAyNTA2MDMgLyog
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM4
RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlB
OEYxRDYxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTkwRTFCNDkxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVu
dGF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVG
IC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ2MTcsNiAr
MjQ3MTAsNyBAQAogCQkJCTdFREFBRkM5MTlBMkNDREMwMDM0REZEMSAvKiBEaXNrQ2FjaGVNb25p
dG9yQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMjlFQ0M2MTky
RUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxODVGQzk5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDI5RUNDQTE5MkYxRjFEMDA5ODRCNzggLyogRGlzcGxheVJlZnJlc2hN
b25pdG9ySU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREU3MDAyMzE5MkZFODJBMDBCMDk3NUMg
LyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDI5RUND
ODE5MkVDQzgzMDA5ODRCNzggLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNDY0OSw2ICsyNDc0Myw3IEBACiAJCQkJMUE4RjZCQzMwREI1NUNEQzAw
MURCNzk0IC8qIERPTUFwcGxpY2F0aW9uQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RDM4
OUIyMEE5OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3
MTE4RDBBQzVENTM1MDA1MzI3MEYgLyogRE9NQXR0ckludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkNBNzFCQjRDNEU4MDAxMjg5OEYgLyogSURCUmVjb3JkSWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzZGQjlGRUIxOUE3Mjg0QjAwNDIwNTYyIC8qIERPTUF1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc2RkI5RkVEMTlBNzI4NEIwMDQy
MDU2MiAvKiBET01BdXRvY29tcGxldGVFcnJvckV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTQ2RUVGMTA3RkRCQUMwMDg1NzE5MyAvKiBET01CZWZvcmVMb2FkRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjQ2NjksNiArMjQ3NjQsNyBAQAogCQkJCTg1MDMyREQ3MEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5
MDlDREMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MDMyREQ5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFj
ZVJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNDg0NTNGMUJCOUQwN0UwMDZBNzJFRCAvKiBJ
REJFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlDREQwQUNDN0E3RTAwREYwMUYxIC8q
IERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkRE
QjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODU5MDlDREUwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNDg2Myw2ICsyNDk1OSw3IEBACiAJCQkJODVFNzExQ0QwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1RjMyQUYyMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFy
ZWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFDRTBBQzVENTM1MDA1MzI3MEYg
LyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MTg1RkNBNDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTFDNzk3MUQxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTk5MkVDMDBBQTUwNjk1MDBBQzA3ODUg
LyogRE9NSFRNTFRpdGxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExQ0YwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNDg4OCw2ICsyNDk4NSw3IEBACiAJCQkJODUxOERENzgwQTlDRjMxQjAwOTFCN0E2
IC8qIERPTU5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExRDIwQUM1RDUz
NTAwNTMyNzBGIC8qIERPTU5hbWVkTm9kZU1hcEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTNCRjREQjBBQkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTE4NUZDOTMxQkI0QzRFODAwMTI4OThGIC8qIElEQkluZGV4TWV0YWRhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1NDA3NTI2MEFENkM2NjcwMDYyMEM1NyAvKiBET01Ob2RlRmlsdGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NUI0OThGQjBBREIzNDAyMDA5MjVDQkIgLyogRE9NTm9kZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTUyNkMzNzBBQjBBMTdFMDAwMzAyRUEgLyog
RE9NTm9kZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTI0OTE0LDYgKzI1MDEyLDcgQEAK
IAkJCQk4NTM4RjA1RDBBRDcyMkYxMDA2QTgxRDEgLyogRE9NUmFuZ2VJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUzOEYwODUwQUQ3MkNCNjAwNkE4MUQxIC8qIERPTVJhbmdlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODU4QzM4QTcwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCTUxODVGQzhGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJHZXRSZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RTcxMUQ2MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01S
ZWN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1NUQzNThBMEFENzA3MzEwMDE5QUFD
NyAvKiBET01SR0JDb2xvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEMEZDNEYwREJENzIwQjAw
QjJGNjMwIC8qIERPTVJHQkNvbG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ5Mzgs
NiArMjUwMzcsNyBAQAogCQkJCTBGNTREQ0Q1MTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NERDRDcxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTREQ0Q5MTg4MEY4NjcwMDNFRURCQiAvKiBE
T01Ub3VjaEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzlCMUJCNEM0
RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NERDREEx
ODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGNTREQ0RCMTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaExpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxNDUzNDk3MTZBOUJCNkEwMDBGNkZEMiAvKiBET01UcmFuc2l0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjQ5NzQsNyArMjUwNzQsNiBAQAogCQkJCTE0MDNCOTk3MDlFQjEz
QUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUZDOUEwRjc1MTY0
MDk0Q0YwMDNENkI4RCAvKiBET01XaW5kb3dDU1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkEy
RDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICov
LAotCQkJCTUxRDcxOUI3MTgxMTA2RTAwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJFOSAvKiBET01X
aW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2
MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5RjYw
QjExMTU3RjY4NkUwMDc1RTE1NyAvKiBET01XaW5kb3dRdW90YS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTE4NCw2ICsyNTI4Myw3IEBACiAJCQkJMDg2QkJEMEYxMzYwMzlDMjAwOEIxNUQ4IC8qIEds
eXBoLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2QzBEMDA2Q0Q2MDBFRjZGMjYgLyogR2x5
cGhCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5MyAv
KiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzgzMUJCNEM0RTgw
MDEyODk4RiAvKiBJREJEYXRhYmFzZUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODczQjg2
QjEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUz
QzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
MjI3OTY0MEQwMEJGMjIwMDcxQjc4MiAvKiBHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjUyMzEsNiArMjUzMzEsNyBAQAogCQkJCUE4RUE3RDJFMEExOTM4NTUwMEE4RUY1
RiAvKiBIVE1MQXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNUYyOEZDMUE4MjdE
ODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0NDYxM0EyMENENjMzMTAwMEZBREE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTg1RkM5NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3MURDMUYwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGRDIwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxC
YXNlRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCMjRERThFMTUxOTRCOTUwMEM1
OUMyNyAvKiBIVE1MQkRJRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTM1Nyw3ICsyNTQ1
OCw2IEBACiAJCQkJNTEzRjE0NTQwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxRTFFQ0MxMEM5MUM5MDQwMERDMjU1QiAvKiBJY29uUmVjb3JkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NUJBQzJCMDEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNTFENzE5QkExODExMDZFMDAwMTZEQzUxIC8qIElEQkFueS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4NUE2NjMxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRp
bmdVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTY4MUJBNzNCNUIwMDJFMDUz
QiAvKiBJREJDYWxsYmFja3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTZBMUJBNzNCNUIw
MDJFMDUzQiAvKiBJREJDdXJzb3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzY1LDI5
ICsyNTQ2NSwxNCBAQAogCQkJCTUxRjQxQTZFMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJEYXRhYmFz
ZUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTZGMUJBNzNCNUIwMDJFMDUzQiAv
KiBJREJEYXRhYmFzZUNhbGxiYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNzExQkE3
M0I1QjAwMkUwNTNCIC8qIElEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJNTFENzE5Q0QxODExMDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXJyb3IuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRDcxOUNGMTgxMTA2RTAwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEwMzEwNjAxQkE4RTBFMzAwMzMyOUMwIC8q
IElEQkRhdGFiYXNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFDOTYxMUIxODNE
MkI4MDAwRDIwMDJFIC8qIElEQkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxRDcxOUQxMTgxMTA2RTAwMDE2REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxRjQxQTcyMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJGYWN0b3J5QmFja2Vu
ZEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMzEwNTAxQkE4Q0MwMzAwMzMyOUMw
IC8qIElEQkZhY3RvcnlJbXBsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTIzQUYxRDE4OTE4QUU0
MDAzMUNEQzkgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUFCQjVCODE4
NkQwRUQxMDA4MzkxQTEgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTFENzE5REMxODExMDZFMDAwMTZEQzUxIC8qIElEQktleS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTExRUMxQTYxODhEQUNBNDAwQkEzRUI2IC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxRDcxOURFMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQYXRoLmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MUQ3MTlFMDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTUxMjNBRjE5MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEu
aCBpbiBIZWFkZXJzICovLAotCQkJCTUxQUJCNUI5MTg2RDBFRDEwMDgzOTFBMSAvKiBJREJPYmpl
Y3RTdG9yZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMTA1QjFCQThEQjU2MDAz
MzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxMkVB
OUJFMTgyMDI4NTcwMDFEMDFFMCAvKiBJREJPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRjQxQTc5MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJQZW5kaW5nRGVsZXRlQ2FsbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFGNDFBN0ExQkE3M0I1QjAwMkUwNTNCIC8qIElEQlBlbmRpbmdPcGVu
Q2FsbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE2RDdENzIxQkI1RjBCRDAwQUY3Qzc3IC8qIElE
QkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY0MUE3
QzFCQTczQjVCMDAyRTA1M0IgLyogSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFFQUM1QjIxODE2M0Y0RTAwNEYxQkE0IC8qIElEQlJlY29yZElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDMxMDVEMUJBOERCNTYwMDMzMjlDMCAvKiBJ
REJSZXF1ZXN0SW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEwQTMyNkYxODMxODQzMTAwM0M1
MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTc0
MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxRjQxQTc2MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRP
cGVyYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY0MUE3ODFCQTczQjVCMDAyRTA1M0Ig
LyogSURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQyOCw3
ICsyNTUxMyw2IEBACiAJCQkJMDczNjdEREYxNzJDQTY3RjAwRDg2MUI5IC8qIEluYmFuZFRleHRU
cmFja1ByaXZhdGVMZWdhY3lBVkZPYmpDLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRTE2QzU5NTE3
Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEQjIzQzJDQzBBNTA4RDI5MDAyNDg5RUIgLyogSW5kZW50T3V0ZGVudENvbW1hbmQuaCBp
biBIZWFkZXJzICovLAotCQkJCTUxRDcxOUY4MTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVkREIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGNUU1MEExNTVBMDUwMDBBNDIzNCAvKiBJbmxpbmVC
b3guaCBpbiBIZWFkZXJzICovLAogCQkJCUI1N0NCNTJFMTgyQTNFRkMwMDc5QTY0NyAvKiBJbmxp
bmVFbGVtZW50Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjVFMzBBMTU1QTA1MDAwQTQy
MzQgLyogSW5saW5lRmxvd0JveC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQ5Nyw2ICsyNTU4MSw3
IEBACiAJCQkJMzE5ODQ4MEMxQTFFNkNFODAwQTEzMzE4IC8qIEpTQW5pbWF0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1REYzMURCMDlEMUMxMjMwMDBCRTMyNSAvKiBKU0F0dHIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEQTE1RTlFMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQnVm
ZmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM3ODFCQjRDNEU4MDAxMjg5OEYgLyogSURC
QW55LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREY3RTlDNDEzQUMyMURCMDBBNTFFQUMgLyogSlNB
dWRpb0J1ZmZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVBMDEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZEQTE1RUE2MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNTUyMyw2ICsyNTYwOCw3IEBACiAJCQkJOTNGOUI3QTEwQkE2MDMyNjAwODU0MDY0
IC8qIEpTQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVBMjEyQjAzRUUx
MDAzQTU4M0EgLyogSlNDaGFubmVsTWVyZ2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRB
MTVFQTQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTEwQTU4RTUxQkFBNDBCMTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRjQwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTQ2hh
cmFjdGVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1ODgwRjNDRTJBNzAwQ0QyRDg3
IC8qIEpTQ2xpZW50UmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1OEEwRjNDRTJBNzAw
Q0QyRDg3IC8qIEpTQ2xpZW50UmVjdExpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjU2MDcsNiAr
MjU2OTMsNyBAQAogCQkJCUFERUM3OEY4MThFRTUzMDgwMDEzMTVDMiAvKiBKU0VsZW1lbnRDdXN0
b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQ0Y3QUREMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vy
cm9yRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDODkxQkI0QzRFODAw
MTI4OThGIC8qIElEQkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RTgz
NzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3
MEQ2QTA5RUIwQzdDMDA5RDg0NjggLyogSlNFdmVudExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNTYyMyw2ICsyNTcxMCw3IEBACiAJCQkJODk4Nzg1RjUxMjJFMUVBQzAwM0FB
QkRBIC8qIEpTRmlsZVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCUI2RDlEMjdCMTRF
QUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQwOUVC
REMwMTZCN0YzOEUwMENCQTNGQyAvKiBKU0ZvbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTUxODVGQ0FCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4RjUwMDIxOTRDQUMzQTAwODFCQUFFIC8qIEpTR2FtZXBhZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RjUwMDQxOTRDQUMzQTAwODFCQUFFIC8qIEpTR2FtZXBh
ZEJ1dHRvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTY2MCw2ICsyNTc0OCw3IEBACiAJCQkJQThE
MDY0RkMwQTIzQzBDQzAwNUU3MjAzIC8qIEpTSFRNTEZvcm1FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzQ5MThDNzBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MRnJhbWVFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzkyNkY4MTBDMDU1MjQ3MDA4Mjc3NkIgLyogSlNIVE1MRnJh
bWVTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCNzFCQjRDNzY3MDAxMjg5
OEYgLyogRE9NUmVxdWVzdFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0IxNTBBMTlE
NjA2MDA3RkI4QzUgLyogSlNIVE1MSGVhZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
RTJBQTJGMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxIZWFkaW5nRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFBMzEwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhSRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNTY3Nyw2ICsyNTc2Niw3IEBACiAJCQkJQkM0OTFCNzkwQzAy
M0VGRDAwOUQ2MzE2IC8qIEpTSFRNTE1hcnF1ZWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDQ2MTQzQTBDRDY4OUM4MDBGQURBNzUgLyogSlNIVE1MTWVkaWFFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUUyQUU1QzBBMUQyNkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzgxMUJCNEM0RTgwMDEyODk4RiAvKiBJREJE
YXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdBMTgwQTE5QzNENjAwN0ZCOEM1IC8q
IEpTSFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JCRTI2NzExQUZCM0Yy
MDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUy
QUIyQTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTg3Niw2ICsyNTk2Niw3IEBACiAJCQkJQjJGQTNENUQwQUI3NUE2RjAwMEU1QUM0IC8q
IEpTU1ZHQ29sb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDVGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMkZBM0Q2MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdDdXJzb3JFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk1MTBBNThGQTFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVz
dERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDYzMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0RlZnNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q2NTBBQjc1QTZGMDAw
RTVBQzQgLyogSlNTVkdEZXNjRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENjcw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjU5
MDAsNiArMjU5OTEsNyBAQAogCQkJCUIyRkEzRDgzMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEODUwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHRkVJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDg3MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFTWVyZ2VFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTg1RkM5NTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMkZBM0Q4OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0MjI0MTg0MTA3RTc3RjQwMDc2NkE4NyAvKiBK
U1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDhCMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFT2Zmc2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTkxNSw2ICsyNjAwNyw3IEBACiAJCQkJQTgzQjc5MDIwQ0NBRkYxNTAwMEIwODI1IC8qIEpT
U1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgzQjc4RkUwQ0NB
RkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VTcmNFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODNCNzhGQzBDQ0FGRjE1MDAwQjA4MjUgLyogSlNTVkdGb250RmFjZVVyaUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0E5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJSZXF1
ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEOUIwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyN0Iy
ODI4MENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0dseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNjA4NywxMCArMjYxODAsMTIgQEAKIAkJCQk0NTBDRUJGMTE1MDczQkJFMDAyQkIxNDkg
LyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTQ1NkZBMjcxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUVDOUFG
QjBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVG
Q0EwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M0Qzk2RTMxQUQ0NEFCRjAwMzY1QTUwIC8qIExhdW5jaFNlcnZpY2VzU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyOTE3QjU2MjE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVk
dWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkxN0I1NjMxNDczNDk2QzAwNTJDOUQwIC8qIExh
eWVyRmx1c2hTY2hlZHVsZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OTE2RkY3MTk1
REY2QTAwMDVBQjM0OSAvKiBMYXllckZsdXNoVGhyb3R0bGVTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTE4NUZDQjAxQkI0QzRFODAwMTI4OThGIC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTgwMzcxNjQxQTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJh
Z21lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBQTNBNkEwMTk0QjU5QjYwMDFDQkQyNCAvKiBM
YXllclBvb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUQ3MkY2MTVGRTY5NTMwMEM0QzA3RSAv
KiBMYXlvdXRNaWxlc3RvbmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MjIwLDYgKzI2MzE1LDgg
QEAKIAkJCQlDOUQ4NTFGMDFCMzlEQzc4MDA4NTA2MkUgLyogTWVkaWFTZXNzaW9uTWV0YWRhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0E0OTVGMTdBOUQwMUIwMDI3NEU0MiAvKiBNZWRpYVNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1l
ZGlhU291cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQTYxQkI0QzRFODAw
MTI4OThGIC8qIElEQk9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBMDA3ODMxQjgy
MEVDODAwMkM1QTZFIC8qIERhdGFVUkxEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREM4
QjVBNzE4MDQ3NEY3MDAxNkU2ODUgLyogTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2MUZFNjgxNzk0QUFEQjAwNDEwMUVC
IC8qIE1lZGlhU291cmNlUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDcsNiArMjYz
NDQsNyBAQAogCQkJCTA3MDU4NTI0MTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3Ry
YWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTI5MTdGREUwMkMwMDVGMkJDQiAvKiBN
ZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDN0NDQjMxOEM2
NjNFNDAwMzJFNDEzIC8qIE1lbW9pemVkRE9NUmVzdWx0LmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MTZEN0Q3MDFCQjVGMEJEMDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzE4MDk3OUMzQkQwMDQ2Nzc0MSAvKiBNZW1vcnlD
YWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU3MURDQzgxMzg1RTZBNDAwNzAyREQwIC8qIE1l
bW9yeVByZXNzdXJlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5
MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAq
LywKQEAgLTI2MjU3LDYgKzI2MzU1LDcgQEAKIAkJCQlBNzhFNTI3MDEzNDZCRDE3MDBBRDlDMzEg
LyogTWV0ZXJTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0REQ0RBNTEzODQ1
MDFDMDAwOEI3OTMgLyogTUhUTUxBcmNoaXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0REQ0RB
NzEzODQ1MDFDMDAwOEI3OTMgLyogTUhUTUxQYXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
ODVGQ0I5MUJCNENCRjgwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUzQjg5NUFGMTlEQzdFRDkwMDlDQUE5MyAvKiBNaWNyb1Rhc2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTM3RERDRDk1MTM4NDRGRDUwMDA4Qjc5MyAvKiBNSU1FSGVhZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkM0RjBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVS
ZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjMxMSw2ICsyNjQxMCw3IEBACiAJCQkJMjY5
Mzk3MjIxQTRBNDEyRjAwRTgzNDlEIC8qIE5GQU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2
NzcyNjAxMUE1QjNBRDkwMDNDMjRERCAvKiBORkFUb0RGQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNFRjQzREQwRTY3NDAxMjAwMUMxMjg3IC8qIE5pbmVQaWVjZUltYWdlLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkM5RTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UmFuZ2VEYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxNDExNUI1MjA5Rjg0QjcxMDBDQTRGQzEgLyogTm9kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODU0RkU3MzEwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1NEZFNzMzMEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVy
Q29uZGl0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NTA3LDYgKzI2NjA3LDcgQEAKIAkJCQk1
MUEwNTI1NjEwNTg4NzQwMDBDQzlFOTUgLyogUHJvdGVjdGlvblNwYWNlSGFzaC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFGOEUxMUExMjU2NTkyNjAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRjk0NUVDQzE2MUY3RjM2MDA5NzFCQzggLyogUHNldWRvRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQUQxQkI0QzRFODAwMTI4OThGIC8qIElEQlRy
YW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFBN0Eg
LyogUHVibGljU3VmZml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMEZCMDg0QjE0RTE1QzdFMDBB
M0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBCQ0Ew
ODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3
NjEsNiArMjY4NjIsNyBAQAogCQkJCTA3OEUwOTJBMTdEMTREMUMwMDQyMEFBMSAvKiBSVENTdGF0
c1JlcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDUxN0QxNkUxQzAwNDIwQUExIC8q
IFJUQ1N0YXRzUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5MkIxN0QxNEQxQzAw
NDIwQUExIC8qIFJUQ1N0YXRzUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVG
QzVCMUJCNEJFNEMwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA3OEUwOTJDMTdEMTREMUMwMDQyMEFBMSAvKiBSVENTdGF0c1Jlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDk0NjE3RDE2RTFDMDA0MjBBQTEgLyogUlRDU3RhdHNS
ZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTQ3MTdEMTZFMUMwMDQyMEFB
MSAvKiBSVENWb2lkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzE4MCw2ICsyNzI4Miw3
IEBACiAJCQkJODNDMUQ0MzExNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjgg
LyogU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBN0QwRDAw
QkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODNDMUQ0MzMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbEFicy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0MzQxNzhENUFCNTAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdB
ODEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaXN0LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3MjMwLDEyICsyNzMzMywxNCBAQAogCQkJCUIyMjI3QUMxMEQwMEJGMjIwMDcxQjc4MiAvKiBT
VkdTeW1ib2xFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FDNTBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHVGVzdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4RjBCRkMzMTI1NUM1M0Mw
MDA3NTE4NSAvKiBTVkdUZXh0Q2h1bmsuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0EyMUJC
NEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwODE2NjhENDEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RleHRDb250
ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQ0IwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1RleHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEYwQkZDNDEyNTVDNTND
MDAwNzUxODUgLyogU1ZHVGV4dEZyYWdtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODhDMkY3
QTEyMzkwMDgxMDAzRDY1Q0UgLyogU1ZHVGV4dExheW91dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4MTA5M0RDMTI1NUYwRTcwMEVEOUQyOSAvKiBTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzhCMUJCNEM0RTgwMDEyODk4
RiAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4MTY2OERBMTI1
NjAzRDUwMDZGMjVERSAvKiBTVkdUZXh0TGF5b3V0RW5naW5lLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwODBFNDkyNjEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODBFNDkyODEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyOTEsNiArMjczOTYs
NyBAQAogCQkJCUIyQUZGQzlBMEQwMEE1REYwMDMwMDc0RCAvKiBUZXh0Q29kZWNNYWMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyQzNEQTQwMEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVc2Vy
RGVmaW5lZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNDIwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCMjFCQjRDNEU4MDAx
Mjg5OEYgLyogSW5kZXhlZERCLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQzQ0I4MjEyRjI1RTUx
MDAzM0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyQjk3Q0Ex
MzEzODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdCQzg0QjQxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNzYwNiw3ICsyNzcxMiw2IEBACiAJCQkJRjM0NzQyRTExMzQzNjMxRjAw
NTMxQkMyIC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2
NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRDcxOUZDMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxT
Y29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdGOEU2NjYxNTFENEE0
RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNkUwN0E1MTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI3OTY4LDYgKzI4MDcz
LDcgQEAKIAkJCQkzN0Y1N0FDRDFBNTA3MkQ3MDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVRhYmxl
SGVhZGVyQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUNFMUE1MDcyREEw
MDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTkxQzlGQkUxQjY1ODZERTAwQUZGRDU0IC8qIEFjY2Vzc2liaWxpdHlUcmVlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxNDg0NTNFMUJCOUQwN0UwMDZBNzJFRCAvKiBJREJFcnJvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOTFDOUZDMjFCNjU5QTY3MDBBRkZENTQgLyogQWNjZXNzaWJpbGl0
eVRyZWVJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI1RDMxREZBMTFDRjYxMEIwMDlGMjJC
NCAvKiBBY3RpdmVET01DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUM0REU2RTBF
QTc1QzY1MDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAt
Mjc5ODIsOSArMjgwODgsMTEgQEAKIAkJCQkzMTZGRTExMzBFNkUxREE3MDBCRjYwODggLyogQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTk4NDgwMjFBMUQ4MTgx
MDBBMTMzMTggLyogQW5pbWF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTEy
QUMwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTE4NUZDOTgxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVBhdGguY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTMzMDlERDYwOTlFNjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEY2QkJDMERCNTVDREMwMDFEQjc5NCAvKiBBcHBsaWNh
dGlvbkNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEY2QkJFMERCNTVDREMwMDFEQjc5
NCAvKiBBcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZD
N0QxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyNEY1NEVBQzEwMUZFOTE0MDAwQUU3NDEgLyogQXBwbGljYXRpb25DYWNoZUhvc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4RjZCQzAwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJBQUM1ODBEQzJB
M0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yODA3Nyw2ICsyODE4NSw3IEBACiAJCQkJOTc2RDZDNzgxMjJCOEEzRDAwMUZEMUY3IC8q
IEJsb2IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVERUYxRjMxMjFCMEVGQzAwNzI2REIyIC8q
IEJsb2JEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRDMxQ0RDMTkxOTYwMjAwMDEwMDVB
MyAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZD
NzcxQkI0QzRFODAwMTI4OThGIC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTY0
QTJFRDE5MUFFNjM1MDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlTWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRURFRjFGNjEyMUIwRUZDMDA3MjZEQjIgLyogQmxvYlJl
Z2lzdHJ5SW1wbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4MTQ4LDYgKzI4MjU3LDcgQEAKIAkJ
CQkxNEQ4MjM4QjBBRjkyREY2MDAwNEYwNTcgLyogQ2hyb21lLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUFCQUYyMjA4MEMwM0IxQzcwMEIwQkNGMCAvKiBDaHJvbWVNYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQk4MzQ4QkZBQjFCODU3Mjk4MDA5MTJGMzYgLyogQ2xhc3NDb2xsZWN0aW9uLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTUxODVGQzgwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0MwNjU3RDBGM0NFMUI3MDBDRDJEODcgLyogQ2xp
ZW50UmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0MwNjU4MDBGM0NFMUI3MDBDRDJEODcg
LyogQ2xpZW50UmVjdExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzFCM0YwQTQ0RUZD
NzAwRjk5MkUwIC8qIENsaXBib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjgyNzIs
NiArMjgzODIsNyBAQAogCQkJCUJDMDJBNjQ2MEUwOUFBRTkwMDRCNkQyQiAvKiBDU1NGdW5jdGlv
blZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjNFNEUxMERBQUNFMEYwMDlGREM5MSAv
KiBDU1NHcmFkaWVudFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1MEY1M0REMDlEMTVE
REYwMEM5QjBDOCAvKiBDU1NHcmFtbWFyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0E4
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNE
N0RCQjI4MThDQTE5QTQwMEMxMTA2NiAvKiBDU1NHcmlkTGluZU5hbWVzVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkJGODkwNDUxNjlFOUYxRjAwNTJE
ODZFIC8qIENTU0dyb3VwaW5nUnVsZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4Mzk0LDEwICsy
ODUwNSwxMiBAQAogCQkJCUE3ODFDNkE3MTM4MjhCNUQwMDEyQTYyQSAvKiBEb2N1bWVudE1hcmtl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRTA1N0ZBNTEyMjA3MzExMDBBNDc2RDUgLyogRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OTQ3RkZEMTJG
ODBDRDIwMEEwRjYzMSAvKiBEb2N1bWVudE9yZGVyZWRNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTE4NUZDNzQxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEMyMjgwRTExRDRBNTk3MDBENUE3RDMgLyogRG9jdW1l
bnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEE0RjQ4QTkxNkIwREZDMDAwRURCQjI5
IC8qIERvY3VtZW50UnVsZVNldHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUQ2RTcxQUMxNjY4
ODk5RDAwMzIwQzEzIC8qIERvY3VtZW50U2hhcmVkT2JqZWN0UG9vbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwQjkwNTYxOTBGMjU3OEJFMDA5NUZGNkEgLyogRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQzg2MUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODVGM0EwOTc2
NTc2NjAwNTgyNkQ5IC8qIERvY3VtZW50VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzM4
ODlBMDExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMxQTM3QUUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTS5tbSBpbiBTb3VyY2VzICovLApA
QCAtMjg1MTcsNiArMjg2MzAsNyBAQAogCQkJCUE4MTg1RjNFMDk3NjU3NjYwMDU4MjZEOSAvKiBE
T01JbXBsZW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzFBMzdCQTA5N0M3MTVG
MDAxOUYzRDggLyogRE9NSW50ZXJuYWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUZGMzE1QjBB
QUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTUxRDcyMzZDMUJCNjE3NDkwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTg1MDY1NkZGMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3NTc5M0VENDBEMENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBQ0FGNEMwRTc5MUFBRjAwODdEMTJCIC8qIERP
TU1lc3NhZ2VQb3J0Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yODU3OCw3ICsyODY5Miw2IEBACiAJ
CQkJMTQwM0I5OTgwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDY3NzczODE5NUNBRjNEMDA3MkUwRDMgLyogRE9NV2luZG93Q1NTLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxN0ZCQTFFMTUxQUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRl
bnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5QjYxODExMDZFMDAwMTZEQzUxIC8q
IERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0IzOEUy
ODE1MUM0MjczMDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5N0QyQUQwMzE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUEyQTVBRDcxNkE0ODYxQTAwOTc1QTI1IC8qIERPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4Njc4LDYgKzI4Nzkx
LDcgQEAKIAkJCQkyNkMxN0EzRjE0OTFEMkQ0MDBEMTJCQTIgLyogRmlsZVN5c3RlbUlPUy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTUxNEIzRjc2MEM3MjIwNTUwMDA1MzBERiAvKiBGaWxlU3lzdGVt
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MDMwMEIwQ0M0MjUxMjAwQzhBQzI1IC8qIEZp
bGVTeXN0ZW1QT1NJWC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM4ODFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVF
QjY5RTBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA4QzkyNTE5MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVy
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg3NDEsNiArMjg4NTUsNyBAQAogCQkJCTRBOEM5NkVC
MEJFNjkwMzIwMDRFRUZGMCAvKiBGcmFtZVNlbGVjdGlvbk1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUM0Q0Q2MjlBMTgzODM3NjYwMDdFQkFGMSAvKiBGcmFtZVNuYXBzaG90dGluZy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk2NUEyMTQ4NDA5N0EzRjUzMDBCOTA1MEEgLyogRnJhbWVUcmVlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0FGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVDQkZFRjkwOTc0RjYwNzAw
MURBQzI1IC8qIEZyYW1lVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzIwNUFBRjEyMzky
OENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFDODFCODkwQzQ0MjJGNzAwMTlFQ0UzIC8qIEZUUERpcmVjdG9yeVBhcnNlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4Nzk0LDYgKzI4OTA5LDcgQEAKIAkJCQlBOENGRjdBNDBBMTU2OTc4
MDAwQTQyMzQgLyogSFRNTEFuY2hvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3
MUQ0NUUwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxBcHBsZXRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4RUE3RDJGMEExOTM4NTUwMEE4RUY1RiAvKiBIVE1MQXJlYUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOUQxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJh
bmdlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzVGMjhGQjFBODI3RDg0MDBDMEYzMUYg
LyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0Ex
MENENjMzMTAwMEZBREE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4NzFEQzJBMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0yODg3NSw2ICsyODk5MSw3IEBACiAJCQkJQTQzQkY1OTgxMTQ5MjkwQTAw
QzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThD
RkY3QTUwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxRdW90ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThEMjIzRkQxNkI1MkU0RTAwMTU3Mjg4IC8qIEhUTUxSZXNvdXJjZVByZWxvYWRl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM5NDFCQjRDNEU4MDAxMjg5OEYgLyogSURC
S2V5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzIyMEExNTIwNTcwMEIxMkE2OCAvKiBI
VE1MU2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdCMzg3NDEyMjg4M0U5
MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODEz
NjlEOTA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yODkxNSwzOCArMjkwMzIsMTggQEAKIAkJCQk1MTNGMTQ1MzBBQjYzNEM0MDAwOTRE
REYgLyogSWNvbkxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU4RTBCMDUzQTY2
MDAyQ0U2NEYgLyogSWNvbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRTFFQ0MwMEM5MUM5
MDQwMERDMjU1QiAvKiBJY29uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUI5
MTgxMTA2RTAwMDE2REM1MSAvKiBJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU4NUE2
NjIxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTEwM0MyQjMxQkEyMzI0RDAwRTI2MzM3IC8qIElEQkN1cnNvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MUY0MUE2OTFCQTczQjVCMDAyRTA1M0IgLyogSURCQ3Vyc29yQmFja2Vu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE2QjFCQTczQjVCMDAyRTA1M0IgLyogSURC
Q3Vyc29yQmFja2VuZE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwM0MyQjQx
QkEyMzJBRTAwRTI2MzM3IC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk1MTAzQzJCNTFCQTIzMkQ0MDBFMjYzMzcgLyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGNDFBNkQxQkE3M0I1QjAwMkUwNTNCIC8qIElEQkRhdGFiYXNlQmFja2Vu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE3MDFCQTczQjVCMDAyRTA1M0IgLyogSURC
RGF0YWJhc2VDYWxsYmFja3NJbXBsLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUNFMTgx
MTA2RTAwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk1MTAzMTA2MTFCQThFMTBEMDAzMzI5QzAgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUxNjMxMTdEMTg1MTI0MkIwMDUzNDY0NyAvKiBJREJEYXRh
YmFzZU1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUQwMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTE1N0Q0
NjQxQkEyNEFFRTAwODVDQTJGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEwMzEwNEYxQkE4Q0MwMzAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTUxNTdENDY1MUJBMjRBRjgwMDg1Q0EyRiAvKiBJREJJbmRleC5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk1MUQ3MTlEQjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxMUVDMUE4MTg4REFFN0IwMEJBM0VCNiAvKiBJREJLZXlEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUREMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQ
YXRoLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOURGMTgxMTA2RTAwMDE2REM1MSAvKiBJ
REJLZXlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTIzQUYxODE4OTBBNENBMDAzMUNE
QzkgLyogSURCS2V5UmFuZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxNTdENDY2MUJB
MjRBRkQwMDg1Q0EyRiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1
MTAzQzJCNzFCQTIzM0M0MDBFMjYzMzcgLyogSURCT3BlbkRCUmVxdWVzdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTAzMTA1QTFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdElt
cGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGNDFBN0IxQkE3M0I1QjAwMkUwNTNCIC8qIElE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwM0My
QjYxQkEyMzNCRjAwRTI2MzM3IC8qIElEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEwMzEwNUMxQkE4REI1NjAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTUxMDNDMkIyMUJBMjMxNzQwMEUyNjMzNyAvKiBJREJUcmFuc2FjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE3MzFCQTczQjVCMDAyRTA1M0IgLyogSURCVHJhbnNh
Y3Rpb25CYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjQxQTc1MUJBNzNCNUIwMDJF
MDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxRjQxQTc3MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMDNDMkI4MUJBMjM1QzUwMEUyNjMzNyAvKiBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3MUQ1N0IwRjMz
ODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzND
RjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdp
c3RyeS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MDIwLDYgKzI5MTE3LDcgQEAKIAkJCQk3NTQx
MzNBQTEwMkUwMEY0MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGMzgxMEMxQjEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM1MEI3MzUxM0YxMzc3RDAwODgwQzQzIC8q
IEluc3RydW1lbnRpbmdBZ2VudHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOEMxQkI0
QzRFODAwMTI4OThGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0NkYw
NEUxN0I5NkZCRDAwNTY0N0YwIC8qIEludFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
NzUzNTYwMEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRQb2ludENHLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyNzUzNTdDMEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRQb2ludE1hYy5tbSBpbiBTb3VyY2Vz
ICovLApAQCAtMjkwMzgsNiArMjkxMzYsNyBAQAogCQkJCTA3MDU4NTAyMTdGQTEwRDAwMDVGMkJD
QiAvKiBKU0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1
RUM5MTJCMDNGNTAwMDNBNTgzQSAvKiBKU0FuYWx5c2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMUE3OTVDNjE4ODhCQURDMDAzODJGOTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5cy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkNBQzFCQjRDNEU4MDAxMjg5OEYgLyogSURCVHJh
bnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5ODQ4MEIxQTFFNkNFNDAwQTEzMzE4
IC8qIEpTQW5pbWF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxREEwOUQx
QzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzJFRDZCQzBD
NkJEMkYwMDA5MjBCRkYgLyogSlNBdHRyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkx
ODksNiArMjkyODgsNyBAQAogCQkJCUUwRkVGMzcyQjQ3QzUzRUFDMUMxRkJFRSAvKiBKU0V2ZW50
U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3NyAv
KiBKU0V2ZW50VGFyZ2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA5MDIwMEU5MUI4RUMw
MDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUx
ODVGQzlGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTcyNEVEMzMxMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5k
TWluTWF4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTcyRjFBREE1MUEzOTBCOUYwMDAxNEUxOCAv
KiBKU0VYVEZyYWdEZXB0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MjUwLDYgKzI5MzUwLDcg
QEAKIAkJCQk5QjFBQjA3QzE2NDhDN0M0MDA1MUYzRjIgLyogSlNIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEQwNjRGQjBBMjNDMENDMDA1
RTcyMDMgLyogSlNIVE1MRm9ybUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThEMDY1
QUUwQTI0NDZDRDAwNUU3MjAzIC8qIEpTSFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxODVGQzdBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0OTE4QzYwQkZFQTA1MDAwOUQ2MzE2IC8qIEpTSFRNTEZyYW1l
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzJFRDdBNTBDNkMwRjM2MDA5MjBCRkYg
LyogSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTI2
RjgwMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yOTU1Miw2ICsyOTY1Myw3IEBACiAJCQkJQjJGQTNEOTQwQUI3NUE2RjAwMEU1
QUM0IC8qIEpTU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkZBM0Q5NjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGaWx0ZXJFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyN0IyODI1MENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0ZvbnRFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0JBMUJCNENCRjgwMDEyODk4RiAvKiBJREJT
ZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzQjc5MDQwQ0NBRkYxNTAwMEIwODI1IC8q
IEpTU1ZHRm9udEZhY2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0I3OTAxMEND
QUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODNCNzkwMzBDQ0FGRjE1MDAwQjA4MjUgLyogSlNTVkdGb250RmFjZU5hbWVF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk2NDcsNiArMjk3NDksNyBAQAogCQkJCTA3
QjVBMkRCMTQ2NDMyMEEwMEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDdCNUEzMEQxNDY4N0Q3MTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTQxQTBDRDY4MjY5MDBGQURBNzUgLyogSlNU
aW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxNkQ3RDZGMUJCNUYwQkQwMEFGN0M3
NyAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEQTdD
MTYxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZE
QTdDMTgxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkRBN0MxQTE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaExpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yOTY1OSw2ICsyOTc2Miw3IEBACiAJCQkJQTg2NjI5RDAwOURBMkI0ODAwOTYz
M0E1IC8qIEpTVUlFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQUE0RkFEMzE3NUQ1Q0Iz
MDA3NDM4NzMgLyogSlNVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzcz
RkIxMTE5MUVGNkY0MDA3REUwNjEgLyogSlNVc2VyTWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTE4NUZDQTMxQkI0QzRFODAwMTI4OThGIC8qIElEQk9wZW5EQlJlcXVlc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M3M0ZCMEMxOTFFRjVBODAwN0RFMDYxIC8qIEpTVXNl
ck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzczRkIx
OTE5MUVGODA4MDA3REUwNjEgLyogSlNVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1Zh
bGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTY4Myw2ICsyOTc4Nyw3IEBACiAJ
CQkJQkMyQ0JGN0IxNDBGMUQ1ODAwMzg3OUJFIC8qIEpTV2ViR0xDb250ZXh0RXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNkUzRkFEMzgxNDczM0Y0MDEwRTQyMzA3IC8qIEpTV2ViR0xEZWJ1
Z1JlbmRlcmVySW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTNGQUQzODE0NzMzRjQwMjBF
NDIzMDcgLyogSlNXZWJHTERlYnVnU2hhZGVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1
RkM4NDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNkUzRkFEMzgxNDczM0Y0MDAwRTQyMzA3IC8qIEpTV2ViR0xEZXB0aFRleHR1
cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzBBIC8qIEpT
V2ViR0xEcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3Qjk5NzEwNDJEMkQz
MDAwOUQ0NDcgLyogSlNXZWJHTEZyYW1lYnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk2
OTcsNiArMjk4MDIsNyBAQAogCQkJCTZGOTk1QTMzMUE3MDgzMzcwMEE3MzVGNCAvKiBKU1dlYkdM
U2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlBMjEwNDJEMkQzMDAwOUQ0NDcg
LyogSlNXZWJHTFNoYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMDdEMzM1NTE1MkI2MzBF
MDAxQjYzOTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MTg1RkM4QTFCQjRDNEU4MDAxMjg5OEYgLyogSURCRXZlbnREaXNwYXRjaGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTZGOTk1QTM1MUE3MDgzMzcwMEE3MzVGNCAvKiBKU1dlYkdM
U3luYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlBNDEwNDJEMkQzMDAwOUQ0NDcgLyog
SlNXZWJHTFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkY5OTVBMzcxQTcwODMzNzAw
QTczNUY0IC8qIEpTV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTI5OTgyLDYgKzMwMDg4LDcgQEAKIAkJCQlDRDVFNUI2MTFBMTVGMTU2MDAwQzYwOUUgLyogUGFn
ZUNvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM4MjA4OTIxNDdEMzVGOTAw
MTBCQzA2IC8qIFBhZ2VDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREFFRDIw
MzAxNkYyNDQyQjAwNzBFQzBGIC8qIFBhZ2VDb25zb2xlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxMEE1OEY5MUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNUEyQUYwQjE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2Fi
bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM0NzQyREMxMzQzNjJGMDAwNTMxQkMyIC8qIFBh
Z2VEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDJCMEJEMEQ3OUY4Mjkw
MEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDcxNSw2ICszMDgy
Miw3IEBACiAJCQkJQjFBRDRFNzMxM0ExMkE0NjAwODQ2QjI3IC8qIFRleHRUcmFja0xvYWRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDFFNzM0NzE2N0JDNzhFMDA5QTg4NUQgLyogVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDQTgyOTYxNjc5MTAw
RjAwODc1NzE0IC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uSU9TLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJNTE4NUZDOTYxQkI0QzRFODAwMTI4OThGIC8qIElEQktleURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMjk0OTg2ODMxOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9u
TWFya3VwTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4NzcwRjAxMjQyQzUzNTAwMjIyNkJB
IC8qIFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNjVEMzIwRUFEMTIxMTAwN0U0
NTMzIC8qIFRoZW1lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzA3MzMsNiArMzA4NDEsNyBAQAog
CQkJCTFGNzJCRjBBMTg3RkQ0NDkwMDA5QkNCMyAvKiBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBM0E2QTMxOTRCNUMyMjAwMUNCRDI0IC8q
IFRpbGVDb3ZlcmFnZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUEzQTY5QjE5NEE2NEU3
MDAxQ0JEMjQgLyogVGlsZUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOTAxQkI0
QzRFODAwMTI4OThGIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODc3MEYy
MTI0MkM1MzUwMDIyMjZCQSAvKiBUaWxpbmdEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1
NUIzRERCMTI1MUYxMkQwMDNFRjI2OSAvKiBUaW1lSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDc5NCw2ICszMDkwMyw3IEBACiAJCQkJMkUzQkJGMDcx
MTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjVBMTU0Mjcx
Mjc5NTM0RDAwRDBCMEMwIC8qIFZhbGlkYXRpb25NZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEMzE2MEFFMTJCMDI2RjcwMEMxQTM1OSAvKiBWZWN0b3JNYXRoLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxODVGQzlBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDREU4M0RCMTE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFj
a1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwREUxNzE1RDJBMjAwNjU4RDk4
IC8qIFZpZGVvVHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwRTExNzE1RDJBMjAw
NjU4RDk4IC8qIFZpZGVvVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzA4ODAsNiAr
MzA5OTAsNyBAQAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRlclBy
ZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMUQzQ0Y4NjE0QkQwQTMwMDBG
RTk5NzAgLyogV2ViR0xTaGFyZWRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkY5OTVB
MTUxQTcwNzU2MjAwQTczNUY0IC8qIFdlYkdMU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1
MTBBNThGQjFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDlDN0I5RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2Rjk5NUEyMzFBNzA3OEIxMDBBNzM1RjQgLyogV2ViR0xU
cmFuc2Zvcm1GZWVkYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwQzNGMUY1QTEwQzg4NzEy
MDBENzJDRTEgLyogV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0z
MDg5Miw2ICszMTAwMyw3IEBACiAJCQkJOTc2RDZDN0IxMjJCOEEzRDAwMUZEMUY3IC8qIFdlYktp
dEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxMDYwMzZGMTQzMjdEMkUwMEFC
RjRCQSAvKiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTgz
OTE1ODBGMUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxNkQ3RDcxMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFBNjFDRkYxNDRENTk1QjAwRjM3MzUwIC8qIFdlYktp
dENTU1JlZ2lvblJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5QUREODAwQ0M0MDkyMjAw
MDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTNGRkZGOUE4MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDkxNiw2ICszMTAyOCw3IEBACiAJCQkJOTdBQUJEMjYxNEZBMDlE
NTAwNzQ1N0FFIC8qIFdlYlNvY2tldEhhbmRzaGFrZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MURFQTQ1NTFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTBGNTgwRkE0MTQ5NjkzOTEwMEZCNUJEOCAvKiBXZWJUaWxlZEJhY2tp
bmdMYXllci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0IzMUJCNEM0RTgwMDEyODk4RiAv
KiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDRDgyMDMwQjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGNDJCMzFFMTg4MTE5MUIwMDI3OEFBQyAvKiBXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDgy
MDMwRDEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbSBpbiBTb3VyY2VzICovLApAQCAtMzA5NDcsNyArMzEwNjAsNiBAQAogCQkJCUYzNDc0
MkUwMTM0MzYzMUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUEzRTI2NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUQ3MTlGQjE4MTEwNkUwMDAxNkRD
NTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTdGOEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzZFMDdBNDEzNThBOEJFMDBBQUNCQzkg
LyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTQz
NDY0QzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0zMDk1OSw2ICszMTA3MSw3IEBACiAJCQkJRjM0NzQyRTgxMzQzNjM1MDAwNTMxQkMyIC8q
IFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDZCMzRB
MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkU0MzQ2NTQwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRocmVhZC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk1MTBBNThFNDFCQUE0MEIxMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2Vy
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBCOTA1NkY4MEYyNjg1RjMwMDk1RkY2QSAvKiBX
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QUFCRDJDMTRG
QTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOUUyMzA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRz
SW5EdW1teVNwYW5Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAppbmRleCA4MzdlOGQ1Li5iOTVkODVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkZyYW1l
TmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNs
dWRlICJJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgorI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiU3Rv
cmFnZUFyZWEuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlLmgiCkBAIC00OSw2ICs1MCwx
MiBAQCBjbGFzcyBFbXB0eURhdGFiYXNlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgRGF0YWJhc2VQ
cm92aWRlciB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgdmlydHVhbCBSZWZQ
dHI8SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZUlEQkZhY3RvcnlCYWNrZW5kKCkg
eyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01vZGVybklEQigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgCisgICAgdmlydHVhbCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25z
dCBTZXNzaW9uSUQmKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlZjxJ
blByb2Nlc3NJREJTZXJ2ZXI+PiBzaGFyZWRDb25uZWN0aW9uKEluUHJvY2Vzc0lEQlNlcnZlcjo6
Y3JlYXRlKCkpOworICAgICAgICByZXR1cm4gc2hhcmVkQ29ubmVjdGlvbi5nZXQoKS0+Y29ubmVj
dGlvblRvU2VydmVyKCk7CisgICAgfQogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RhdGFiYXNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGF0
YWJhc2VQcm92aWRlci5oCmluZGV4IDI3MGY0MmEuLjAxZmY0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGF0YWJhc2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGF0YWJhc2VQcm92aWRlci5oCkBAIC0zMyw2ICszMywxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIElEQkNvbm5lY3Rpb25NYW5hZ2VyOwogY2xhc3MgSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2U7CitjbGFzcyBTZXNzaW9uSUQ7CisKK25hbWVzcGFjZSBJREJDbGllbnQgewor
Y2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOworfQogCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBE
YXRhYmFzZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0YWJhc2VQcm92aWRlcj4gewog
cHVibGljOgpAQCAtNDIsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2UqIGlkYkZhY3RvcnlCYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNNb2Rlcm5JREIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBTZXNz
aW9uSUQmKSA9IDA7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDkw
YWQ5NjM4Li5kYzU3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTEzLDYgKzExNCwx
MCBAQAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCisjaW5jbHVkZSAiSW5Qcm9jZXNzSURCU2VydmVyLmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgSGFzaFNldDxQYWdlKj4qIGFs
bFBhZ2VzOwpAQCAtMTc1OCw0ICsxNzYzLDE5IEBAIHZvaWQgUGFnZTo6c2V0QWxsb3dzTWVkaWFE
b2N1bWVudElubGluZVBsYXliYWNrKGJvb2wgZmxhZykKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCitJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgUGFn
ZTo6aWRiQ29ubmVjdGlvbigpCit7CisgICAgaWYgKCFtX2lkYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cikgeworICAgICAgICBpZiAodXNlc0VwaGVtZXJhbFNlc3Npb24oKSkgeworICAgICAgICAgICAg
YXV0byBpblByb2Nlc3NTZXJ2ZXIgPSBJblByb2Nlc3NJREJTZXJ2ZXI6OmNyZWF0ZSgpOworICAg
ICAgICAgICAgbV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXIgPSAmaW5Qcm9jZXNzU2VydmVyLT5j
b25uZWN0aW9uVG9TZXJ2ZXIoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2lkYklE
QkNvbm5lY3Rpb25Ub1NlcnZlciA9ICZkYXRhYmFzZVByb3ZpZGVyKCkuaWRiQ29ubmVjdGlvblRv
U2VydmVyRm9yU2Vzc2lvbihtX3Nlc3Npb25JRCk7CisgICAgfQorICAgIAorICAgIHJldHVybiAq
bV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXI7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5N2E4NzQyLi41MWU0MzYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtNjQsNiArNjQsMTAgQEAgY2xhc3MgRGVidWdnZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorbmFtZXNwYWNlIElEQkNsaWVudCB7CitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7
Cit9CisKIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwpAQCAtNDY2LDYgKzQ3MCwx
MCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBbGxvd3NNZWRpYURvY3Vt
ZW50SW5saW5lUGxheWJhY2soYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBpZGJDb25uZWN0
aW9uKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRH
cm91cCgpOwogCkBAIC02MDMsNiArNjExLDEwIEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPFBhZ2VEZWJ1Z2dhYmxlPiBtX2luc3BlY3RvckRlYnVnZ2FibGU7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAgIFJlZlB0cjxJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Ub1NlcnZlcj4gbV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CisjZW5kaWYK
KwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NlZW5QbHVnaW5zOwogICAgIEhhc2hTZXQ8U3RyaW5n
PiBtX3NlZW5NZWRpYUVuZ2luZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2VjdXJpdHlPcmlnaW5EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW5EYXRhLmNwcAppbmRleCA3MzY2NGJlLi44Mzk2NDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbkRhdGEuY3BwCkBAIC00Niw2ICs0NiwxMyBAQCBTZWN1cml0eU9yaWdp
bkRhdGEgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4oY29uc3QgU2VjdXJp
dHlPcmlnaW4mCiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KIAorI2lmbmRlZiBO
REVCVUcKK1N0cmluZyBTZWN1cml0eU9yaWdpbkRhdGE6OmRlYnVnU3RyaW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbWFrZVN0cmluZyhwcm90b2NvbCwgIjovLyIsIGhvc3QsICI6IiwgU3RyaW5n
OjpudW1iZXIocG9ydCkpOworfQorI2VuZGlmCisKIFNlY3VyaXR5T3JpZ2luRGF0YSBTZWN1cml0
eU9yaWdpbkRhdGE6OmZyb21GcmFtZShGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKCFmcmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oCmluZGV4IDIxYzk1ZGYuLjk5
MzA3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuaApAQCAtNDks
NiArNDksMTAgQEAgc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YSB7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBTZWN1cml0eU9yaWdp
bkRhdGEmKTsKKworI2lmbmRlZiBOREVCVUcKKyAgICBTdHJpbmcgZGVidWdTdHJpbmcoKSBjb25z
dDsKKyNlbmRpZgogfTsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA4OGRjNmE1Li44ODIzMDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA5LTI4
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYW4gSURC
IFNlcnZlciB0aGF0IGNhbiByb3VuZHRyaXAgYSByZXF1ZXN0IGJhY2sgdG8gdGhlIGNsaWVudC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTYwMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3RvcmFn
ZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkRhdGFiYXNlUHJvdmlkZXI6
OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24pOgorICAgICAgICAqIFN0b3JhZ2UvV2Vi
RGF0YWJhc2VQcm92aWRlci5oOgorCiAyMDE1LTA5LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2xlYW4gdXAgQ01ha2UgYnVpbGQgb24g
TWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKaW5k
ZXggZDE1MGVjYS4uMzk2MGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1dl
YkRhdGFiYXNlUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRh
YmFzZVByb3ZpZGVyLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIldlYkRhdGFiYXNl
UHJvdmlkZXIuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogCiBXZWJEYXRhYmFzZVByb3ZpZGVyJiBXZWJEYXRhYmFzZVByb3ZpZGVy
OjpzaW5nbGV0b24oKQpAQCAtNDgsNCArNDksMTMgQEAgUmVmUHRyPFdlYkNvcmU6OklEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlPiBXZWJEYXRhYmFzZVByb3ZpZGVyOjpjcmVhdGVJREJGYWN0b3IK
IHsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KKworV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIFdlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZl
ckZvclNlc3Npb24oY29uc3QgV2ViQ29yZTo6U2Vzc2lvbklEJiBzZXNzaW9uSUQpCit7CisgICAg
YXV0byByZXN1bHQgPSBtX2lkYlNlcnZlck1hcC5hZGQoc2Vzc2lvbklELnNlc3Npb25JRCgpLCBu
dWxscHRyKTsKKyAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJlc3VsdC5pdGVy
YXRvci0+dmFsdWUgPSBXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6OmNyZWF0ZSgpOworCisg
ICAgcmV0dXJuIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUtPmNvbm5lY3Rpb25Ub1NlcnZlcigpOwor
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQ
cm92aWRlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApp
bmRleCA2M2Q2NGNhLi5mZWRkZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
V2ViRGF0YWJhc2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRh
YmFzZVByb3ZpZGVyLmgKQEAgLTI3LDcgKzI3LDEwIEBACiAjZGVmaW5lIFdlYkRhdGFiYXNlUHJv
dmlkZXJfaAogCiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVByb3ZpZGVyLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9JblByb2Nlc3NJREJTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBj
bGFzcyBXZWJEYXRhYmFzZVByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkRhdGFiYXNl
UHJvdmlkZXIgewogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxXZWJEYXRhYmFzZVBy
b3ZpZGVyPjsKQEAgLTM3LDYgKzQwLDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTW9kZXJuSURCKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oY29u
c3QgV2ViQ29yZTo6U2Vzc2lvbklEJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAg
LTQ0LDYgKzQ4LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQog
ICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBj
cmVhdGVJREJGYWN0b3J5QmFja2VuZCgpIG92ZXJyaWRlOworICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI+PiBtX2lkYlNlcnZlck1hcDsKICNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDAyNmRiZDcuLmIxMzU4MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxNS0wOS0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGFuIElEQiBTZXJ2ZXIgdGhhdCBjYW4gcm91bmR0cmlwIGEgcmVx
dWVzdCBiYWNrIHRvIHRoZSBjbGllbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDk2MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlk
ZXIuaDoKKwogMjAxNS0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBFeHBvc2UgYSBXS1dlYlZpZXcgQVBJIGZvciBhbGxvd2luZyBwcm9ncmFt
bWF0aWMgZm9jdXMgdG8gdHJpZ2dlciBub2RlIGFzc2lzdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApp
bmRleCAyYWU5OTQxLi5hOGFmMmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5oCkBAIC0zNyw2ICszNywx
MSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNNb2Rlcm5JREIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQorCisgICAgdmlydHVhbCBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBXZWJDb3JlOjpTZXNzaW9u
SUQmKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICB9CiAjZW5kaWYKIAogcHJpdmF0ZToK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262022</attachid>
            <date>2015-09-28 14:35:04 -0700</date>
            <delta_ts>2015-09-28 15:39:38 -0700</delta_ts>
            <desc>Patch v3</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>171429</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjM2U1NjdmLi4xZTY3NTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDkt
MjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBhbiBJ
REIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xpZW50
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NjAz
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVk
YXRhYmFzZS1yZXF1ZXN0LWV2ZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE1LTA5LTI4ICBTYWFtIGJh
cmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgogCiAgICAgICAgIGpzL3JlZ3Jlc3MvZ2V0dGVyLXJp
Y2hhcmRzLXRyeS1jYXRjaCBpcyB0aW1pbmcgb3V0IG9uIGRlYnVnIGxheW91dCB0ZXN0cwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFi
YXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ZTNkMWQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2Ut
cmVxdWVzdC1ldmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw2IEBACitBTEVSVDogW29iamVj
dCBJREJPcGVuREJSZXF1ZXN0XQorQUxFUlQ6IGVycm9yIFtvYmplY3QgRXZlbnRdCitBTEVSVDog
RG9uZQorVGhpcyB0ZXN0IGNhbGxzIGRlbGV0ZURhdGFiYXNlIG9uIHdpbmRvdy5pbmRleGVkREIg
YW5kIHZlcmlmaWVzIHRoYXQgYW4gZXZlbnQgaXMgZmlyZWQgYXQgdGhlIHJlcXVlc3QuCitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtcmVxdWVzdC1ldmVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNl
LXJlcXVlc3QtZXZlbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
NjFmN2RmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
bW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQuaHRtbApAQCAtMCwwICsxLDMyIEBA
CitUaGlzIHRlc3QgY2FsbHMgZGVsZXRlRGF0YWJhc2Ugb24gd2luZG93LmluZGV4ZWREQiBhbmQg
dmVyaWZpZXMgdGhhdCBhbiBldmVudCBpcyBmaXJlZCBhdCB0aGUgcmVxdWVzdC48YnI+CitXaGls
ZSBhdCB0aGlzIHN0YWdlIGluIG1vZGVybiBJbmRleGVkREIgZGV2ZWxvcG1lbnQsIHRoYXQgZXZl
bnQgaXMgaGFyZGNvZGVkIHRvIGJlIGFuIGVycm9yLjxicj4KKzxzY3JpcHQ+CisKK2lmICh3aW5k
b3cudGVzdFJ1bm5lcikgeworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworfQorCitmdW5jdGlvbiBkb25lKCkKK3sKKyAgICBhbGVy
dCgiRG9uZSIpOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Cit9CisKK3ZhciByZXF1ZXN0ID0gd2luZG93LmluZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZSgiVGVzdERhdGFiYXNlIik7CisKK3JlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oKQoreworCWFsZXJ0KCJzdWNjZXNzIik7CisJZG9uZSgpOworfQorcmVxdWVzdC5vbmVycm9y
ID0gZnVuY3Rpb24oZSkKK3sKKwlhbGVydCgiZXJyb3IgIiArIGUpOworCWRvbmUoKTsKK30KKwor
YWxlcnQocmVxdWVzdCk7CisKKzwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiOTUx
MDYwLi40MzZkN2JkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTIsNiArMTIsOCBAQCBzZXQo
V2ViQ29yZV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
aW5kZXhlZGRiIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQi
CiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvaW5kZXhlZGRiL2xlZ2FjeSIKKyAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyIgorICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
aW5kaWV1aSIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYWNvbnRyb2xzLyIKICAg
ICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9tZWRpYXNlc3Npb24iCkBAIC04NjksNiArODcxLDcg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlZlcnNpb25D
aGFuZ2VFdmVudC5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9Xb3JrZXJHbG9iYWxTY29wZUlu
ZGV4ZWREYXRhYmFzZS5jcHAKIAorICAgIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25u
ZWN0aW9uVG9TZXJ2ZXIuY3BwCiAgICAgTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3Rv
cnlJbXBsLmNwcAogICAgIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0
SW1wbC5jcHAKICAgICBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3Bw
CkBAIC04OTMsNiArODk2LDE1IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBNb2R1bGVzL2lu
ZGV4ZWRkYi9sZWdhY3kvTGVnYWN5VHJhbnNhY3Rpb24uY3BwCiAgICAgTW9kdWxlcy9pbmRleGVk
ZGIvbGVnYWN5L0xlZ2FjeVZlcnNpb25DaGFuZ2VFdmVudC5jcHAKIAorICAgIE1vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQuY3BwCisgICAgTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQlNlcnZlci5jcHAKKworICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJFcnJvci5jcHAKKyAgICBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERh
dGEuY3BwCisgICAgTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVy
LmNwcAorICAgIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1bHREYXRhLmNwcAorICAg
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuY3BwCisKICAgICBN
b2R1bGVzL21lZGlhY29udHJvbHMvTWVkaWFDb250cm9sc0hvc3QuY3BwCiAKICAgICBNb2R1bGVz
L21lZGlhc2Vzc2lvbi9IVE1MTWVkaWFFbGVtZW50TWVkaWFTZXNzaW9uLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IGNmZTQxYWIuLjliMjkwYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNDcgQEAKKzIwMTUt
MDktMjggIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBh
biBJREIgU2VydmVyIHRoYXQgY2FuIHJvdW5kdHJpcCBhIHJlcXVlc3QgYmFjayB0byB0aGUgY2xp
ZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5
NjAzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLXJlcXVlc3QtZXZlbnQu
aHRtbAorCisgICAgICAgIFRoaXMgaXMgYSBjcml0aWNhbCBwaWVjZSBvZiBJREIgaW5mcmFzdHJ1
Y3R1cmUgdGhhdDoKKyAgICAgICAgLSBQdXRzIGEgZGF0YWJhc2UgY2xpZW50L3NlcnZlciBkaXZp
ZGUgaW4gcGxhY2UuCisgICAgICAgIC0gQ2xpZW50IHN5bmNocm9ub3VzbHkgc2VuZHMgcmVxdWVz
dHMgdG8gdGhlIHNlcnZlciwgYW5kIGFzeW5jaHJvbm91c2x5IHJlY2VpdmVzIGEgcmVzcG9uc2Ug
YmFjayBmcm9tIGl0LgorICAgICAgICAtIEludHJvZHVjZXMgYSBjbGFzcyBzdHJ1Y3R1cmUgdGhh
dCBtYWtlcyBpdCBlYXN5IGZvciBXZWJLaXQyIHRvIGFkZCBhIHRoaW4gbGF5ZXIgdG8gcmVwbGFj
ZSB0aGUgCisgICAgICAgICAgaW4tcHJvY2VzcyBzZXJ2ZXIgd2l0aCBhbiBvdXQtb2YtcHJvY2Vz
cyBzZXJ2ZXIuCisKKyAgICAgICAgVG8gYWxsb3cgZm9yIHRoZSBtb3N0IGJhc2ljIG9mIHRlc3Rz
LCB0aGUgImRlbGV0ZSBkYXRhYmFzZSIgcmVxdWVzdCBpcyBoYXJkIGNvZGVkIGFzIGFsd2F5cyBm
YWlsaW5nIAorICAgICAgICB3aXRoIGFuIGluZGV0ZXJtaW5hdGUgZXJyb3IuCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0YWJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RE9NV2luZG93SW5kZXhlZERhdGFiYXNlOjppbmRleGVkREIpOgorCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlSWRlbnRpZmllcjo6ZGVidWdTdHJpbmcpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oOgorCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHA6CisKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJl
cXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCQ29ubmVjdGlv
blRvU2VydmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6aWRlbnRpZmllcik6CisgICAgICAg
IChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlcjo6ZGVsZXRlRGF0YWJh
c2UpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OmRpZERlbGV0ZURhdGFiYXNlKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisgICAgICAgICog
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlLmg6
IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJP
cGVuREJSZXF1ZXN0SW1wbC5oLgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZTo6fklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlKToK
KworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJGYWN0b3J5SW1wbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQkZhY3Rvcnk6OklEQkZhY3RvcnkpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFzZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmg6CisKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGVEZWxl
dGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVz
dDo6Y3JlYXRlT3BlblJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJP
cGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNs
aWVudDo6SURCT3BlbkRCUmVxdWVzdDo6fklEQk9wZW5EQlJlcXVlc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0OjpyZXF1ZXN0Q29tcGxldGVkKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdDo6ZGF0YWJhc2VJ
ZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVz
dDo6dmVyc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklEQk9wZW5EQlJlcXVl
c3Q6OmNyZWF0ZSk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCUmVxdWVzdEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJS
ZXF1ZXN0OjpJREJSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVx
dWVzdDo6ZW5xdWV1ZUV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQv
SURCUmVxdWVzdEltcGwuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCUmVxdWVz
dDo6cmVxdWVzdElkZW50aWZpZXIpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAuCisgICAg
ICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50OjpJREJD
b25uZWN0aW9uVG9DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJREJDb25u
ZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVy
OjpJREJDb25uZWN0aW9uVG9DbGllbnQ6OmRpZERlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50Lmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJPcGVuREJSZXF1
ZXN0SW1wbC5oLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaC4KKyAgICAgICAgKFdlYkNv
cmU6OklEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGU6On5JREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZSk6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zZXJ2
ZXIvSURCU2VydmVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlNl
cnZlcjo6SURCU2VydmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpJ
REJTZXJ2ZXI6OklEQlNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJTZXJ2ZXI6OklEQlNl
cnZlcjo6cmVnaXN0ZXJDb25uZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlNlcnZlcjo6
SURCU2VydmVyOjp1bnJlZ2lzdGVyQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJT
ZXJ2ZXI6OklEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL3NlcnZlci9JREJTZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmguCisKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuY3BwOiBDb3BpZWQgZnJvbSBTb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6aWRiRXhjZXB0aW9uRW50cnkpOgorICAgICAgICAoV2ViQ29yZTo6
SURCRXJyb3I6OklEQkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yOjpvcGVyYXRv
cj0pOgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3I6Om5hbWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRXJyb3I6Om1lc3NhZ2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJFcnJvci5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6SURCRXJyb3I6
OklEQkVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkVycm9yOjppc051bGwpOgorCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJl
cXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3REYXRhOjpJREJSZXF1
ZXN0RGF0YSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RE
YXRhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJPcGVuREJSZXF1ZXN0SW1wbC5oLgorICAgICAgICAoV2ViQ29yZTo6SURCUmVxdWVzdERh
dGE6OnJlcXVlc3RJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3REYXRh
OjpkYXRhYmFzZUlkZW50aWZpZXIpOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmNwcC4KKyAgICAgICAgKFdl
YkNvcmU6Om5leHRSZXF1ZXN0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVlc3RJ
ZGVudGlmaWVyOjpJREJSZXF1ZXN0SWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpJREJS
ZXF1ZXN0SWRlbnRpZmllcjo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1
ZXN0SWRlbnRpZmllcjo6ZGVsZXRlZFZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3RJZGVudGlmaWVyOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSk6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6OmlzRW1wdHkpOgorICAgICAgICAoV2Vi
Q29yZTo6SURCUmVxdWVzdElkZW50aWZpZXI6Omhhc2gpOgorICAgICAgICAoV2ViQ29yZTo6SURC
UmVxdWVzdElkZW50aWZpZXI6Om9wZXJhdG9yPT0pOgorICAgICAgICAoV2ViQ29yZTo6SURCUmVx
dWVzdElkZW50aWZpZXI6OmNvbm5lY3Rpb25JZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaDo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpJREJS
ZXF1ZXN0SWRlbnRpZmllckhhc2g6OmVxdWFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJlcXVl
c3RJZGVudGlmaWVySGFzaFRyYWl0czo6ZW1wdHlWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
REJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6OmlzRW1wdHlWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRW
YWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJSZXF1ZXN0SWRlbnRpZmllckhhc2hUcmFpdHM6
OmlzRGVsZXRlZFZhbHVlKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJSZXN1bHREYXRhLmNwcDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpJREJSZXN1bHRE
YXRhOjpJREJSZXN1bHREYXRhKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzdWx0RGF0YS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaC4KKyAgICAgICAgKFdlYkNvcmU6OklE
QlJlc3VsdERhdGE6OnJlcXVlc3RJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlJl
c3VsdERhdGE6OmVycm9yKToKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
blByb2Nlc3NJREJTZXJ2ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vz
c0lEQlNlcnZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNlcnZl
cjo6SW5Qcm9jZXNzSURCU2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNl
cnZlcjo6aWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6
OmNvbm5lY3Rpb25Ub1NlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2
ZXI6OmNvbm5lY3Rpb25Ub0NsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJblByb2Nlc3NJREJT
ZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkluUHJvY2Vzc0lEQlNl
cnZlcjo6ZGlkRGVsZXRlRGF0YWJhc2UpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3No
YXJlZC9JblByb2Nlc3NJREJTZXJ2ZXIuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJbXBsLmguCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKworICAgICAgICAqIHBhZ2Uv
RGF0YWJhc2VQcm92aWRlci5oOgorCisgICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlBhZ2U6OmlkYkNvbm5lY3Rpb24pOgorICAgICAgICAqIHBhZ2UvUGFnZS5oOgor
CisgICAgICAgICogcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VjdXJpdHlPcmlnaW5EYXRhOjpkZWJ1Z1N0cmluZyk6CisgICAgICAgICogcGFnZS9TZWN1
cml0eU9yaWdpbkRhdGEuaDoKKwogMjAxNS0wOS0yOCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIERyb3Agc3VwcG9ydCBmb3IgbGVnYWN5IEV2ZW50RXhjZXB0aW9u
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJ
bmRleGVkRGF0YWJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvRE9N
V2luZG93SW5kZXhlZERhdGFiYXNlLmNwcAppbmRleCA5YjczZWVkLi43YzMxNDE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9ET01XaW5kb3dJbmRleGVkRGF0
YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0RPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5jcHAKQEAgLTExNCw3ICsxMTQsNyBAQCBJREJGYWN0b3J5KiBET01X
aW5kb3dJbmRleGVkRGF0YWJhc2U6OmluZGV4ZWREQigpCiAKICAgICBpZiAoIW1faWRiRmFjdG9y
eSkgewogICAgICAgICBpZiAocGFnZS0+ZGF0YWJhc2VQcm92aWRlcigpLnN1cHBvcnRzTW9kZXJu
SURCKCkpCi0gICAgICAgICAgICBtX2lkYkZhY3RvcnkgPSBJREJDbGllbnQ6OklEQkZhY3Rvcnk6
OmNyZWF0ZSgpOworICAgICAgICAgICAgbV9pZGJGYWN0b3J5ID0gSURCQ2xpZW50OjpJREJGYWN0
b3J5OjpjcmVhdGUocGFnZS0+aWRiQ29ubmVjdGlvbigpKTsKICAgICAgICAgZWxzZQogICAgICAg
ICAgICAgbV9pZGJGYWN0b3J5ID0gTGVnYWN5RmFjdG9yeTo6Y3JlYXRlKHBhZ2UtPmRhdGFiYXNl
UHJvdmlkZXIoKS5pZGJGYWN0b3J5QmFja2VuZCgpKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VJZGVudGlmaWVyLmNw
cAppbmRleCBhMDE5MGMxLi4wM2NhNmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5jcHAKQEAgLTQ0LDYg
KzQ0LDE0IEBAIElEQkRhdGFiYXNlSWRlbnRpZmllcjo6SURCRGF0YWJhc2VJZGVudGlmaWVyKGNv
bnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lLCBjb25zdCBTCiAgICAgQVNTRVJUKCFkYXRhYmFzZU5h
bWUuaXNOdWxsKCkpOwogfQogCisKKyNpZm5kZWYgTkRFQlVHCitTdHJpbmcgSURCRGF0YWJhc2VJ
ZGVudGlmaWVyOjpkZWJ1Z1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1ha2VTdHJpbmco
bV9kYXRhYmFzZU5hbWUsICJAIiwgbV9vcGVuaW5nT3JpZ2luLmRlYnVnU3RyaW5nKCksICI6Iiwg
bV9tYWluRnJhbWVPcmlnaW4uZGVidWdTdHJpbmcoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZUlkZW50
aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRl
bnRpZmllci5oCmluZGV4IDkxZDUwYmEuLmU3MWY5MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlSWRlbnRpZmllci5oCkBAIC04
Myw2ICs4MywxMCBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSgp
IGNvbnN0IHsgcmV0dXJuIG1fZGF0YWJhc2VOYW1lOyB9CiAKKyNpZm5kZWYgTkRFQlVHCisgICAg
U3RyaW5nIGRlYnVnU3RyaW5nKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBTdHJp
bmcgbV9kYXRhYmFzZU5hbWU7CiAgICAgU2VjdXJpdHlPcmlnaW5EYXRhIG1fb3BlbmluZ09yaWdp
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9wZW5E
QlJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRC
UmVxdWVzdC5jcHAKaW5kZXggYWRmOGE2OC4uODcwYjAzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT3BlbkRCUmVxdWVzdC5jcHAKQEAgLTI4LDYg
KzI4LDggQEAKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiTG9n
Z2luZy5oIgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIElEQk9wZW5EQlJlcXVlc3Q6OklEQk9w
ZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlJlcXVlc3QuaAppbmRleCA2YjU3ZDRkLi4wNWIw
MTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJSZXF1
ZXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCUmVxdWVzdC5o
CkBAIC0zMCw3ICszMCw2IEBACiAKICNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNs
dWRlICJET01FcnJvci5oIgotI2luY2x1ZGUgIkRPTVJlcXVlc3RTdGF0ZS5oIgogI2luY2x1ZGUg
IkRPTVN0cmluZ0xpc3QuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TGlz
dGVuZXIuaCIKQEAgLTYzLDcgKzYyLDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICB2aXJ0dWFs
IGNvbnN0IFN0cmluZyYgcmVhZHlTdGF0ZSgpIGNvbnN0ID0gMDsKLQorICAgIAogcHJvdGVjdGVk
OgogICAgIElEQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9u
VG9TZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
QkNvbm5lY3Rpb25Ub1NlcnZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uOTllNWMxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwCkBAIC0wLDAgKzEsNzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCQ29ubmVjdGlv
blRvU2VydmVyLmgiCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUg
IklEQk9wZW5EQlJlcXVlc3RJbXBsLmgiCisjaW5jbHVkZSAiSURCUmVxdWVzdERhdGEuaCIKKyNp
bmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSURCQ2xpZW50IHsKKworUmVmPElEQkNvbm5lY3Rpb25U
b1NlcnZlcj4gSURCQ29ubmVjdGlvblRvU2VydmVyOjpjcmVhdGUoSURCQ29ubmVjdGlvblRvU2Vy
dmVyRGVsZWdhdGUmIGRlbGVnYXRlKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQkNv
bm5lY3Rpb25Ub1NlcnZlcihkZWxlZ2F0ZSkpOworfQorCitJREJDb25uZWN0aW9uVG9TZXJ2ZXI6
OklEQkNvbm5lY3Rpb25Ub1NlcnZlcihJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSYgZGVs
ZWdhdGUpCisgICAgOiBtX2RlbGVnYXRlKGRlbGVnYXRlKQoreworfQorCit1aW50NjRfdCBJREJD
b25uZWN0aW9uVG9TZXJ2ZXI6OmlkZW50aWZpZXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rl
bGVnYXRlLT5pZGVudGlmaWVyKCk7Cit9CisKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpk
ZWxldGVEYXRhYmFzZShJREJPcGVuREJSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIExPRyhJbmRl
eGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRlbGV0ZURhdGFiYXNlIC0gJXMiLCByZXF1
ZXN0LmRhdGFiYXNlSWRlbnRpZmllcigpLmRlYnVnU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisK
KyAgICBBU1NFUlQoIW1fb3BlbkRCUmVxdWVzdE1hcC5jb250YWlucyhyZXF1ZXN0LnJlcXVlc3RJ
ZGVudGlmaWVyKCkpKTsKKyAgICBtX29wZW5EQlJlcXVlc3RNYXAuc2V0KHJlcXVlc3QucmVxdWVz
dElkZW50aWZpZXIoKSwgJnJlcXVlc3QpOworICAgIAorICAgIElEQlJlcXVlc3REYXRhIHJlcXVl
c3REYXRhKCp0aGlzLCByZXF1ZXN0KTsKKyAgICBtX2RlbGVnYXRlLT5kZWxldGVEYXRhYmFzZShy
ZXF1ZXN0RGF0YSk7Cit9CisKK3ZvaWQgSURCQ29ubmVjdGlvblRvU2VydmVyOjpkaWREZWxldGVE
YXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJiByZXN1bHREYXRhKQoreworICAgIExPRyhJbmRl
eGVkREIsICJJREJDb25uZWN0aW9uVG9TZXJ2ZXI6OmRpZERlbGV0ZURhdGFiYXNlIik7CisKKyAg
ICBhdXRvIHJlcXVlc3QgPSBtX29wZW5EQlJlcXVlc3RNYXAudGFrZShyZXN1bHREYXRhLnJlcXVl
c3RJZGVudGlmaWVyKCkpOworICAgIEFTU0VSVChyZXF1ZXN0KTsKKworICAgIHJlcXVlc3QtPnJl
cXVlc3RDb21wbGV0ZWQocmVzdWx0RGF0YSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIElEQkNsaWVu
dAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRvU2VydmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uZTJjYTNkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXIuaApAQCAtMCww
ICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJDb25uZWN0aW9uVG9TZXJ2ZXJfaAor
I2RlZmluZSBJREJDb25uZWN0aW9uVG9TZXJ2ZXJfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFU
QUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oIgorI2lu
Y2x1ZGUgIklEQlJlcXVlc3RJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4K
KyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJSZXN1bHREYXRhOworCituYW1lc3BhY2UgSURC
Q2xpZW50IHsKKworY2xhc3MgSURCT3BlbkRCUmVxdWVzdDsKKworY2xhc3MgSURCQ29ubmVjdGlv
blRvU2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8SURCQ29ubmVjdGlvblRvU2VydmVyPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IGNyZWF0ZShJREJD
b25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZSYpOworCisgICAgdWludDY0X3QgaWRlbnRpZmllcigp
IGNvbnN0OworCisgICAgdm9pZCBkZWxldGVEYXRhYmFzZShJREJPcGVuREJSZXF1ZXN0Jik7Cisg
ICAgdm9pZCBkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHREYXRhJik7CisgICAgCitw
cml2YXRlOgorICAgIElEQkNvbm5lY3Rpb25Ub1NlcnZlcihJREJDb25uZWN0aW9uVG9TZXJ2ZXJE
ZWxlZ2F0ZSYpOworICAgIAorICAgIFJlZjxJREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZT4g
bV9kZWxlZ2F0ZTsKKworICAgIEhhc2hNYXA8SURCUmVxdWVzdElkZW50aWZpZXIsIFJlZlB0cjxJ
REJDbGllbnQ6OklEQk9wZW5EQlJlcXVlc3Q+PiBtX29wZW5EQlJlcXVlc3RNYXA7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBJREJDbGllbnQKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQkNvbm5lY3Rpb25Ub1Nl
cnZlcl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGll
bnQvSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL2NsaWVudC9JREJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiZmViOGIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCQ29ubmVjdGlvblRv
U2VydmVyRGVsZWdhdGUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJEZWxlZ2F0ZV9oCisjZGVmaW5lIElEQkNvbm5lY3Rpb25Ub1Nl
cnZlckRlbGVnYXRlX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlJlcXVlc3REYXRhOworCituYW1lc3BhY2UgSURCQ2xp
ZW50IHsKKworY2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUgeworcHVibGljOgor
ICAgIHZpcnR1YWwgfklEQkNvbm5lY3Rpb25Ub1NlcnZlckRlbGVnYXRlKCkgeyB9CisKKyAgICB2
aXJ0dWFsIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCB2b2lk
IGRlbGV0ZURhdGFiYXNlKElEQlJlcXVlc3REYXRhJikgPSAwOworICAgIAorICAgIHZpcnR1YWwg
dm9pZCByZWYoKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgPSAwOworfTsKKworfSAv
LyBuYW1lc3BhY2UgSURCQ2xpZW50Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJREJDb25uZWN0aW9uVG9TZXJ2
ZXJEZWxlZ2F0ZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCRmFjdG9yeUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmNwcAppbmRleCAyYTk3ZDU1Li5hYzBjZmY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRmFj
dG9yeUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJGYWN0b3J5SW1wbC5jcHAKQEAgLTI4LDEyICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkV4Y2Vw
dGlvbkNvZGUuaCIKICNpbmNsdWRlICJJREJEYXRhYmFzZUlkZW50aWZpZXIuaCIKICNpbmNsdWRl
ICJJREJPcGVuREJSZXF1ZXN0SW1wbC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRl
ICJQYWdlLmgiCiAjaW5jbHVkZSAiU2NoZW1lUmVnaXN0cnkuaCIKKyNpbmNsdWRlICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNTgsMTQgKzYwLDE0IEBAIHN0YXRpYyBib29sIHNob3VsZFRocm93
U2VjdXJpdHlFeGNlcHRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKICAgICBy
ZXR1cm4gZmFsc2U7CiB9CiAKLVJlZjxJREJGYWN0b3J5PiBJREJGYWN0b3J5OjpjcmVhdGUoKQor
UmVmPElEQkZhY3Rvcnk+IElEQkZhY3Rvcnk6OmNyZWF0ZShJREJDb25uZWN0aW9uVG9TZXJ2ZXIm
IGNvbm5lY3Rpb24pCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRmFjdG9yeSk7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCRmFjdG9yeShjb25uZWN0aW9uKSk7CiB9CiAKLUlE
QkZhY3Rvcnk6OklEQkZhY3RvcnkoKQorSURCRmFjdG9yeTo6SURCRmFjdG9yeShJREJDb25uZWN0
aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24pCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcihjb25u
ZWN0aW9uKQogewotCiB9CiAKIFJlZlB0cjxXZWJDb3JlOjpJREJSZXF1ZXN0PiBJREJGYWN0b3J5
OjpnZXREYXRhYmFzZU5hbWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25Db2Rl
JikKQEAgLTkyLDcgKzk0LDcgQEAgUmVmUHRyPFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3Q+IElE
QkZhY3Rvcnk6Om9wZW4oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGUKICAgICByZXR1cm4g
b3BlbkludGVybmFsKGNvbnRleHQsIG5hbWUsIDAsIGVjKS5yZWxlYXNlKCk7CiB9CiAKLVJlZlB0
cjxJREJPcGVuREJSZXF1ZXN0PiBJREJGYWN0b3J5OjpvcGVuSW50ZXJuYWwoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBuYW1lLCB1bnNpZ25lZCBsb25nIGxv
bmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQorUmVmUHRyPElEQk9wZW5EQlJlcXVlc3Q+IElEQkZhY3Rv
cnk6Om9wZW5JbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBT
dHJpbmcmIG5hbWUsIHVuc2lnbmVkIGxvbmcgbG9uZyB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKICAgICBpZiAobmFtZS5pc051bGwoKSkgewogICAgICAgICBlYyA9IFR5cGVFcnJvcjsK
QEAgLTExMiw3ICsxMTQsNyBAQCBSZWZQdHI8SURCT3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6
b3BlbkludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleAogICAgICAgICByZXR1
cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBhdXRvIHJlcXVlc3QgPSBJREJPcGVuREJSZXF1ZXN0
OjpjcmVhdGUoY29udGV4dCk7CisgICAgYXV0byByZXF1ZXN0ID0gSURCT3BlbkRCUmVxdWVzdDo6
Y3JlYXRlT3BlblJlcXVlc3QobV9jb25uZWN0aW9uVG9TZXJ2ZXIuZ2V0KCksIGNvbnRleHQsIGRh
dGFiYXNlSWRlbnRpZmllciwgdmVyc2lvbik7CiAgICAgcmV0dXJuIGFkb3B0UmVmKCZyZXF1ZXN0
LmxlYWtSZWYoKSk7CiB9CiAKQEAgLTEzOCw3ICsxNDAsOSBAQCBSZWZQdHI8V2ViQ29yZTo6SURC
T3BlbkRCUmVxdWVzdD4gSURCRmFjdG9yeTo6ZGVsZXRlRGF0YWJhc2UoU2NyaXB0RXhlY3V0aW9u
Q29udAogICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICB9CiAKLSAgICBhdXRvIHJlcXVlc3Qg
PSBJREJPcGVuREJSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCk7CisgICAgYXV0byByZXF1ZXN0ID0g
SURCT3BlbkRCUmVxdWVzdDo6Y3JlYXRlRGVsZXRlUmVxdWVzdChtX2Nvbm5lY3Rpb25Ub1NlcnZl
ci5nZXQoKSwgY29udGV4dCwgZGF0YWJhc2VJZGVudGlmaWVyKTsKKyAgICBtX2Nvbm5lY3Rpb25U
b1NlcnZlci0+ZGVsZXRlRGF0YWJhc2UocmVxdWVzdC5nZXQoKSk7CisKICAgICByZXR1cm4gYWRv
cHRSZWYoJnJlcXVlc3QubGVha1JlZigpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkZhY3RvcnlJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRmFjdG9yeUltcGwuaAppbmRleCAwM2Vk
NzY0Li44MDQ3Mzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9jbGllbnQvSURCRmFjdG9yeUltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCRmFjdG9yeUltcGwuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaCIKICNpbmNsdWRlICJJREJGYWN0b3J5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTM3LDcgKzM4LDcgQEAgY2xhc3MgSURCT3BlbkRCUmVxdWVzdDsKIAogY2xhc3MgSURCRmFjdG9y
eSA6IHB1YmxpYyBXZWJDb3JlOjpJREJGYWN0b3J5IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PElEQkZhY3Rvcnk+IGNyZWF0ZSgpOworICAgIHN0YXRpYyBSZWY8SURCRmFjdG9yeT4gY3JlYXRl
KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYpOwogCiAgICAgdmlydHVhbCBSZWZQdHI8V2ViQ29yZTo6
SURCUmVxdWVzdD4gZ2V0RGF0YWJhc2VOYW1lcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhj
ZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwogCkBAIC00OCw5ICs0OSwxMSBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBzaG9ydCBjbXAoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IERl
cHJlY2F0ZWQ6OlNjcmlwdFZhbHVlJiBmaXJzdCwgY29uc3QgRGVwcmVjYXRlZDo6U2NyaXB0VmFs
dWUmIHNlY29uZCwgRXhjZXB0aW9uQ29kZSYpIG92ZXJyaWRlIGZpbmFsOwogCiBwcml2YXRlOgot
ICAgIElEQkZhY3RvcnkoKTsKKyAgICBJREJGYWN0b3J5KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYp
OwogICAgIAogICAgIFJlZlB0cjxJREJPcGVuREJSZXF1ZXN0PiBvcGVuSW50ZXJuYWwoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IFN0cmluZyYgbmFtZSwgdW5zaWduZWQgbG9uZyBsb25n
IHZlcnNpb24sIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAKKyAgICBSZWY8SURCQ29ubmVjdGlvblRv
U2VydmVyPiBtX2Nvbm5lY3Rpb25Ub1NlcnZlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIElEQkNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL2NsaWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAKaW5kZXggNjgwNjVmMC4uMDM3Mzgw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lE
Qk9wZW5EQlJlcXVlc3RJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwCkBAIC0yOCwxNSArMjgsNDkgQEAK
IAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCisjaW5jbHVkZSAiSURCRXJyb3IuaCIK
KyNpbmNsdWRlICJJREJSZXN1bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAotSURCT3BlbkRCUmVxdWVz
dDo6SURCT3BlbkRCUmVxdWVzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQotICAg
IDogSURCUmVxdWVzdChjb250ZXh0KQorUmVmPElEQk9wZW5EQlJlcXVlc3Q+IElEQk9wZW5EQlJl
cXVlc3Q6OmNyZWF0ZURlbGV0ZVJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiBjb25uZWN0
aW9uLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBJREJEYXRhYmFzZUlk
ZW50aWZpZXImIGRhdGFiYXNlSWRlbnRpZmllcikKK3sKKyAgICBBU1NFUlQoZGF0YWJhc2VJZGVu
dGlmaWVyLmlzVmFsaWQoKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgSURCT3BlbkRCUmVx
dWVzdChjb25uZWN0aW9uLCBjb250ZXh0LCBkYXRhYmFzZUlkZW50aWZpZXIsIDApKTsKK30KKwor
UmVmPElEQk9wZW5EQlJlcXVlc3Q+IElEQk9wZW5EQlJlcXVlc3Q6OmNyZWF0ZU9wZW5SZXF1ZXN0
KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZp
ZXIsIHVpbnQ2NF90IHZlcnNpb24pCit7CisgICAgQVNTRVJUKGRhdGFiYXNlSWRlbnRpZmllci5p
c1ZhbGlkKCkpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQk9wZW5EQlJlcXVlc3QoY29u
bmVjdGlvbiwgY29udGV4dCwgZGF0YWJhc2VJZGVudGlmaWVyLCB2ZXJzaW9uKSk7Cit9CisgICAg
CitJREJPcGVuREJSZXF1ZXN0OjpJREJPcGVuREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgY29ubmVjdGlvbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgY29uc3QgSURC
RGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZpZXIsIHVpbnQ2NF90IHZlcnNpb24p
CisgICAgOiBJREJSZXF1ZXN0KGNvbm5lY3Rpb24sIGNvbnRleHQpCisgICAgLCBtX2RhdGFiYXNl
SWRlbnRpZmllcihkYXRhYmFzZUlkZW50aWZpZXIpCisgICAgLCBtX3ZlcnNpb24odmVyc2lvbikK
IHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIAorSURCT3BlbkRCUmVxdWVzdDo6fklEQk9w
ZW5EQlJlcXVlc3QoKQoreworfQorCit2b2lkIElEQk9wZW5EQlJlcXVlc3Q6OnJlcXVlc3RDb21w
bGV0ZWQoY29uc3QgSURCUmVzdWx0RGF0YSYgZGF0YSkKK3sKKyAgICBMT0coSW5kZXhlZERCLCAi
SURCT3BlbkRCUmVxdWVzdDo6cmVxdWVzdENvbXBsZXRlZCIpOworCisgICAgaWYgKCFkYXRhLmVy
cm9yKCkuaXNOdWxsKCkpIHsKKyAgICAgICAgTE9HKEluZGV4ZWREQiwgIiAgd2l0aCBlcnJvcjog
KCVzKSAnJXMnIiwgZGF0YS5lcnJvcigpLm5hbWUoKS51dGY4KCkuZGF0YSgpLCBkYXRhLmVycm9y
KCkubWVzc2FnZSgpLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBtX2RvbUVycm9yID0gRE9NRXJy
b3I6OmNyZWF0ZShkYXRhLmVycm9yKCkubmFtZSgpKTsKKyAgICAgICAgZW5xdWV1ZUV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmVycm9yRXZlbnQsIHRydWUsIHRydWUpKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgZW5xdWV1ZUV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnN1
Y2Nlc3NFdmVudCwgdHJ1ZSwgdHJ1ZSkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBJREJDbGllbnQK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaAppbmRl
eCAzNjY1NDZlLi40ZDMwYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuaApAQCAtMjgs
MjAgKzI4LDM2IEBACiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAorI2luY2x1ZGUg
IkRPTUVycm9yLmgiCisjaW5jbHVkZSAiSURCRGF0YWJhc2VJZGVudGlmaWVyLmgiCiAjaW5jbHVk
ZSAiSURCUmVxdWVzdEltcGwuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJREJE
YXRhYmFzZUlkZW50aWZpZXI7CisKIG5hbWVzcGFjZSBJREJDbGllbnQgewogCitjbGFzcyBJREJD
b25uZWN0aW9uVG9TZXJ2ZXI7CisKIGNsYXNzIElEQk9wZW5EQlJlcXVlc3QgOiBwdWJsaWMgSURC
UmVxdWVzdCB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxJREJPcGVuREJSZXF1ZXN0PiBjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKLSAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IElEQk9wZW5EQlJlcXVlc3QoY29udGV4dCkpOwotICAgIH0KKyAgICBz
dGF0aWMgUmVmPElEQk9wZW5EQlJlcXVlc3Q+IGNyZWF0ZURlbGV0ZVJlcXVlc3QoSURCQ29ubmVj
dGlvblRvU2VydmVyJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IElEQkRhdGFiYXNl
SWRlbnRpZmllciYpOworICAgIHN0YXRpYyBSZWY8SURCT3BlbkRCUmVxdWVzdD4gY3JlYXRlT3Bl
blJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCos
IGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYsIHVpbnQ2NF90IHZlcnNpb24pOworCisgICAg
dmlydHVhbCB+SURCT3BlbkRCUmVxdWVzdCgpOworICAgIAorICAgIGNvbnN0IElEQkRhdGFiYXNl
SWRlbnRpZmllciYgZGF0YWJhc2VJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9kYXRhYmFz
ZUlkZW50aWZpZXI7IH0KKyAgICB1aW50NjRfdCB2ZXJzaW9uKCkgY29uc3QgeyByZXR1cm4gbV92
ZXJzaW9uOyB9CisKKyAgICB2b2lkIHJlcXVlc3RDb21wbGV0ZWQoY29uc3QgSURCUmVzdWx0RGF0
YSYpOwogCiBwcml2YXRlOgotICAgIElEQk9wZW5EQlJlcXVlc3QoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCopOworICAgIElEQk9wZW5EQlJlcXVlc3QoSURCQ29ubmVjdGlvblRvU2VydmVyJiwgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCosIGNvbnN0IElEQkRhdGFiYXNlSWRlbnRpZmllciYsIHVpbnQ2
NF90IHZlcnNpb24pOworICAgIAorICAgIElEQkRhdGFiYXNlSWRlbnRpZmllciBtX2RhdGFiYXNl
SWRlbnRpZmllcjsKKyAgICB1aW50NjRfdCBtX3ZlcnNpb247CisgICAgUmVmUHRyPERPTUVycm9y
PiBtX2RvbUVycm9yOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgSURCQ2xpZW50CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlJlcXVlc3RJ
bXBsLmNwcAppbmRleCAwOGZjMDY5Li44MDA1Nzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdEltcGwuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5jcHAKQEAg
LTI4LDEzICsyOCwxNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNs
dWRlICJFdmVudFF1ZXVlLmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgog
I2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBu
YW1lc3BhY2UgSURCQ2xpZW50IHsKIAotSURCUmVxdWVzdDo6SURCUmVxdWVzdChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBjb250ZXh0KQorSURCUmVxdWVzdDo6SURCUmVxdWVzdChJREJDb25uZWN0
aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQp
CiAgICAgOiBJREJPcGVuREJSZXF1ZXN0KGNvbnRleHQpCisgICAgLCBtX3JlcXVlc3RJZGVudGlm
aWVyKGNvbm5lY3Rpb24pCiB7CiB9CiAKQEAgLTgzLDcgKzg2LDE2IEBAIGJvb2wgSURCUmVxdWVz
dDo6Y2FuU3VzcGVuZEZvclBhZ2VDYWNoZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGZhbHNlOwog
fQotICAgIAorCit2b2lkIElEQlJlcXVlc3Q6OmVucXVldWVFdmVudChSZWY8RXZlbnQ+JiYgZXZl
bnQpCit7CisgICAgaWYgKCFzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIGV2ZW50LT5zZXRUYXJnZXQodGhpcyk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLT5ldmVudFF1ZXVlKCkuZW5xdWV1ZUV2ZW50KCZldmVudC5nZXQoKSk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIElEQkNsaWVudAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCUmVxdWVzdElt
cGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0
SW1wbC5oCmluZGV4IGY5ZGQwMTMuLjE3ZmI0NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJSZXF1ZXN0SW1wbC5oCkBAIC0yOSwx
MyArMjksMjIgQEAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIklE
Qk9wZW5EQlJlcXVlc3QuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
RXZlbnQ7CitjbGFzcyBJREJSZXN1bHREYXRhOworCiBuYW1lc3BhY2UgSURCQ2xpZW50IHsKIAor
Y2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOworCiBjbGFzcyBJREJSZXF1ZXN0IDogcHVibGlj
IFdlYkNvcmU6OklEQk9wZW5EQlJlcXVlc3QsIHB1YmxpYyBSZWZDb3VudGVkPElEQlJlcXVlc3Q+
IHsKIHB1YmxpYzoKKyAgICBjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlmaWVyOyB9CisKICAgICB2aXJ0
dWFsIFJlZlB0cjxJREJBbnk+IHJlc3VsdChFeGNlcHRpb25Db2RlJikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB1bnNpZ25lZCBzaG9ydCBlcnJvckNvZGUoRXhjZXB0aW9uQ29kZSYpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgUmVmUHRyPERPTUVycm9yPiBlcnJvcihFeGNlcHRp
b25Db2RlJikgY29uc3Qgb3ZlcnJpZGU7CkBAIC01MCw4ICs1OSwxMCBAQCBwdWJsaWM6CiAgICAg
dXNpbmcgUmVmQ291bnRlZDxJREJSZXF1ZXN0Pjo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ8
SURCUmVxdWVzdD46OmRlcmVmOwogCisgICAgdm9pZCBlbnF1ZXVlRXZlbnQoUmVmPEV2ZW50PiYm
KTsKKyAgICAKIHByb3RlY3RlZDoKLSAgICBJREJSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKTsKKyAgICBJREJSZXF1ZXN0KElEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKIAogICAgIC8vIEFjdGl2ZURPTU9iamVjdC4KICAgICB2aXJ0dWFsIGNv
bnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZSBmaW5hbDsKQEAg
LTYwLDYgKzcxLDggQEAgcHJvdGVjdGVkOgogICAgIC8vIEV2ZW50VGFyZ2V0LgogICAgIHZpcnR1
YWwgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRlZDxJREJS
ZXF1ZXN0Pjo6cmVmKCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92
ZXJyaWRlIGZpbmFsIHsgUmVmQ291bnRlZDxJREJSZXF1ZXN0Pjo6ZGVyZWYoKTsgfQorCisgICAg
SURCUmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIElEQkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmY1MWY4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9DbGllbnQuaCIKKworI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CituYW1lc3BhY2UgSURCU2VydmVy
IHsKKworUmVmPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gSURCQ29ubmVjdGlvblRvQ2xpZW50Ojpj
cmVhdGUoSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmIGRlbGVnYXRlKQoreworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IElEQkNvbm5lY3Rpb25Ub0NsaWVudChkZWxlZ2F0ZSkpOworfQor
CitJREJDb25uZWN0aW9uVG9DbGllbnQ6OklEQkNvbm5lY3Rpb25Ub0NsaWVudChJREJDb25uZWN0
aW9uVG9DbGllbnREZWxlZ2F0ZSYgZGVsZWdhdGUpCisgICAgOiBtX2RlbGVnYXRlKGRlbGVnYXRl
KQoreworfQorCit1aW50NjRfdCBJREJDb25uZWN0aW9uVG9DbGllbnQ6OmlkZW50aWZpZXIoKSBj
b25zdAoreworICAgIHJldHVybiBtX2RlbGVnYXRlLT5pZGVudGlmaWVyKCk7Cit9CisKK3ZvaWQg
SURCQ29ubmVjdGlvblRvQ2xpZW50OjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHRE
YXRhJiByZXN1bHQpCit7CisgICAgbV9kZWxlZ2F0ZS0+ZGlkRGVsZXRlRGF0YWJhc2UocmVzdWx0
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgSURCU2VydmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9uVG9DbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9JREJDb25uZWN0aW9u
VG9DbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjFhOTY3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQkNvbm5lY3Rpb25Ub0NsaWVudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aWZuZGVmIElEQkNvbm5lY3Rpb25Ub0NsaWVudF9oCisjZGVmaW5lIElEQkNvbm5lY3Rpb25Ub0Ns
aWVudF9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworI2luY2x1ZGUgIklEQkNv
bm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSURC
UmVzdWx0RGF0YTsKKworbmFtZXNwYWNlIElEQlNlcnZlciB7CisKK2NsYXNzIElEQkNvbm5lY3Rp
b25Ub0NsaWVudCA6IHB1YmxpYyBSZWZDb3VudGVkPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4gewor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8SURCQ29ubmVjdGlvblRvQ2xpZW50PiBjcmVhdGUoSURC
Q29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUmKTsKKyAgICAKKyAgICB1aW50NjRfdCBpZGVudGlm
aWVyKCkgY29uc3Q7CisKKyAgICB2b2lkIGRpZERlbGV0ZURhdGFiYXNlKGNvbnN0IElEQlJlc3Vs
dERhdGEmKTsKKyAgICAKK3ByaXZhdGU6CisgICAgSURCQ29ubmVjdGlvblRvQ2xpZW50KElEQkNv
bm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlJik7CisgICAgCisgICAgUmVmPElEQkNvbm5lY3Rpb25U
b0NsaWVudERlbGVnYXRlPiBtX2RlbGVnYXRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgSURCU2Vy
dmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKKyNlbmRpZiAvLyBJREJDb25uZWN0aW9uVG9DbGllbnRfaApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0Ns
aWVudERlbGVnYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
SURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5jZjUwMDM5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2VydmVyL0lEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgKQEAg
LTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSURCQ29ubmVjdGlvblRvQ2xpZW50
RGVsZWdhdGVfaAorI2RlZmluZSBJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZV9oCisKKyNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBJREJSZXN1bHREYXRhOworCituYW1lc3BhY2UgSURCU2VydmVyIHsKKworY2xhc3MgSURCQ29u
bmVjdGlvblRvQ2xpZW50RGVsZWdhdGUgeworcHVibGljOgorICAgIHZpcnR1YWwgfklEQkNvbm5l
Y3Rpb25Ub0NsaWVudERlbGVnYXRlKCkgeyB9CisgICAgCisgICAgdmlydHVhbCB1aW50NjRfdCBp
ZGVudGlmaWVyKCkgY29uc3QgPSAwOworCisgICAgdmlydHVhbCB2b2lkIGRpZERlbGV0ZURhdGFi
YXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSA9IDA7CisKKyAgICB2aXJ0dWFsIHZvaWQgcmVmKCkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpID0gMDsKK307CisKK30gLy8gbmFtZXNwYWNl
IElEQlNlcnZlcgorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50RGVsZWdhdGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL0lE
QlNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvSURC
U2VydmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODcxODk3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVy
L0lEQlNlcnZlci5jcHAKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJJREJTZXJ2ZXIuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorCisjaW5jbHVkZSAiSURCUmVxdWVzdERhdGEuaCIKKyNpbmNsdWRlICJJREJSZXN1
bHREYXRhLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7Citu
YW1lc3BhY2UgSURCU2VydmVyIHsKKworUmVmPElEQlNlcnZlcj4gSURCU2VydmVyOjpjcmVhdGUo
KQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IElEQlNlcnZlcigpKTsKK30KKworSURCU2Vy
dmVyOjpJREJTZXJ2ZXIoKQoreworfQorCit2b2lkIElEQlNlcnZlcjo6cmVnaXN0ZXJDb25uZWN0
aW9uKElEQkNvbm5lY3Rpb25Ub0NsaWVudCYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQoIW1f
Y29ubmVjdGlvbk1hcC5jb250YWlucyhjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkpOworICAgIG1f
Y29ubmVjdGlvbk1hcC5zZXQoY29ubmVjdGlvbi5pZGVudGlmaWVyKCksICZjb25uZWN0aW9uKTsK
K30KKwordm9pZCBJREJTZXJ2ZXI6OnVucmVnaXN0ZXJDb25uZWN0aW9uKElEQkNvbm5lY3Rpb25U
b0NsaWVudCYgY29ubmVjdGlvbikKK3sKKyAgICBBU1NFUlQobV9jb25uZWN0aW9uTWFwLmNvbnRh
aW5zKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKSk7CisgICAgQVNTRVJUKG1fY29ubmVjdGlvbk1h
cC5nZXQoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpID09ICZjb25uZWN0aW9uKTsKKworICAgIG1f
Y29ubmVjdGlvbk1hcC5yZW1vdmUoY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOworfQorCit2b2lk
IElEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UoY29uc3QgSURCUmVxdWVzdERhdGEmIGRhdGEpCit7
CisgICAgTE9HKEluZGV4ZWREQiwgIklEQlNlcnZlcjo6ZGVsZXRlRGF0YWJhc2UgLSAlcyIsIGRh
dGEuZGF0YWJhc2VJZGVudGlmaWVyKCkuZGVidWdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKKyAg
ICAKKyAgICBhdXRvIGNvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb25NYXAuZ2V0KGRhdGEucmVxdWVz
dElkZW50aWZpZXIoKS5jb25uZWN0aW9uSWRlbnRpZmllcigpKTsKKyAgICBpZiAoIWNvbm5lY3Rp
b24pIHsKKyAgICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSByZWNvcmQgb2YgdGhpcyBjb25uZWN0
aW9uIChlLmcuIGl0IGhhcyBkcm9wcGVkIGR1ZSB0byBhIHByb2Nlc3MgY3Jhc2hpbmcpCisgICAg
ICAgIC8vIHRoZW4gd2UgY2FuJ3QgcmVwb3J0IGJhY2sgc3RhdHVzIG9mIHRoZSBvcGVyYXRpb24u
CisgICAgICAgIC8vIFRoZXJlZm9yZSB3ZSBzaG91bGRuJ3QgYm90aGVyIHBlcmZvcm1pbmcgaXQu
CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgCisgICAgLy8gRklYTUU6IER1cmluZyBicmlu
Z3VwIG9mIG1vZGVybiBJREIsIHRoZSBkYXRhYmFzZSBkZWxldGlvbiBpcyBhIG5vLW9wLCBhbmQg
aXMKKyAgICAvLyBpbW1lZGlhdGVseSByZXBvcnRlZCBiYWNrIHRvIHRoZSBXZWJQcm9jZXNzIGFz
IGZhaWx1cmUuCisgICAgSURCUmVzdWx0RGF0YSByZXN1bHQoZGF0YS5yZXF1ZXN0SWRlbnRpZmll
cigpLCBJREJFcnJvcihJREJFeGNlcHRpb25Db2RlOjpVbmtub3duKSk7CisgICAgY29ubmVjdGlv
bi0+ZGlkRGVsZXRlRGF0YWJhc2UocmVzdWx0KTsKK30KKworfSAvLyBuYW1lc3BhY2UgSURCU2Vy
dmVyCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9JREJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZl
ci9JREJTZXJ2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVmZTE0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2Vy
dmVyL0lEQlNlcnZlci5oCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElE
QlNlcnZlcl9oCisjZGVmaW5lIElEQlNlcnZlcl9oCisKKyNpZiBFTkFCTEUoSU5ERVhFRF9EQVRB
QkFTRSkKKworI2luY2x1ZGUgIklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIgorI2luY2x1ZGUgPHd0
Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIElEQlJlcXVlc3REYXRhOworCituYW1lc3BhY2UgSURCU2VydmVyIHsKKworY2xhc3Mg
SURCU2VydmVyIDogcHVibGljIFJlZkNvdW50ZWQ8SURCU2VydmVyPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFJlZjxJREJTZXJ2ZXI+IGNyZWF0ZSgpOworCisgICAgdm9pZCByZWdpc3RlckNvbm5l
Y3Rpb24oSURCQ29ubmVjdGlvblRvQ2xpZW50Jik7CisgICAgdm9pZCB1bnJlZ2lzdGVyQ29ubmVj
dGlvbihJREJDb25uZWN0aW9uVG9DbGllbnQmKTsKKworICAgIC8vIE9wZXJhdGlvbnMgcmVxdWVz
dGVkIGJ5IHRoZSBjbGllbnQuCisgICAgdm9pZCBkZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXF1
ZXN0RGF0YSYpOworCitwcml2YXRlOgorICAgIElEQlNlcnZlcigpOworCisgICAgSGFzaE1hcDx1
aW50NjRfdCwgUmVmUHRyPElEQkNvbm5lY3Rpb25Ub0NsaWVudD4+IG1fY29ubmVjdGlvbk1hcDsK
K307CisKK30gLy8gbmFtZXNwYWNlIElEQlNlcnZlcgorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCU2VydmVy
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9J
REJFcnJvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
RXJyb3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZTE2YWIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCRXJyb3IuY3BwCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCRXJy
b3IuaCIKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNvbnN0IHN0
ZDo6cGFpcjxTdHJpbmcsIFN0cmluZz4mIGlkYkV4Y2VwdGlvbkVudHJ5KElEQkV4Y2VwdGlvbkNv
ZGUgY29kZSkKK3sKKyAgICBOZXZlckRlc3Ryb3llZDxWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywg
U3RyaW5nPj4+IGVudHJpZXM7CisgICAgaWYgKGVudHJpZXMuZ2V0KCkuaXNFbXB0eSgpKSB7Cisg
ICAgICAgIGVudHJpZXMuZ2V0KCkuYXBwZW5kKHN0ZDo6bWFrZV9wYWlyPFN0cmluZywgU3RyaW5n
PigKKyAgICAgICAgICAgIEFTQ0lJTGl0ZXJhbCgiVW5rbm93bkVycm9yIiksCisgICAgICAgICAg
ICBBU0NJSUxpdGVyYWwoIk9wZXJhdGlvbiBmYWlsZWQgZm9yIHJlYXNvbnMgdW5yZWxhdGVkIHRv
IHRoZSBkYXRhYmFzZSBpdHNlbGYgYW5kIG5vdCBjb3ZlcmVkIGJ5IGFueSBvdGhlciBlcnJvcnMu
IikpKTsKKyAgICB9CisKKyAgICByZXR1cm4gZW50cmllcy5nZXQoKVsoaW50KWNvZGUgLSAxXTsK
K30KKworSURCRXJyb3I6OklEQkVycm9yKElEQkV4Y2VwdGlvbkNvZGUgY29kZSkKKyAgICA6IElE
QkVycm9yKGNvZGUsIGVtcHR5U3RyaW5nKCkpCit7Cit9CisKK0lEQkVycm9yOjpJREJFcnJvcihJ
REJFeGNlcHRpb25Db2RlIGNvZGUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKKyAgICA6IG1fY29k
ZShjb2RlKQorICAgICwgbV9tZXNzYWdlKG1lc3NhZ2UpCit7Cit9CisKK0lEQkVycm9yJiBJREJF
cnJvcjo6b3BlcmF0b3I9KGNvbnN0IElEQkVycm9yJiBvdGhlcikKK3sKKyAgICBtX2NvZGUgPSBv
dGhlci5tX2NvZGU7CisgICAgbV9tZXNzYWdlID0gb3RoZXIubV9tZXNzYWdlOworICAgIHJldHVy
biAqdGhpczsKK30KKworY29uc3QgU3RyaW5nJiBJREJFcnJvcjo6bmFtZSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGlkYkV4Y2VwdGlvbkVudHJ5KG1fY29kZSkuZmlyc3Q7Cit9CisKK2NvbnN0IFN0
cmluZyYgSURCRXJyb3I6Om1lc3NhZ2UoKSBjb25zdAoreworICAgIGlmICghbV9tZXNzYWdlLmlz
RW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIG1fbWVzc2FnZTsKKworICAgIHJldHVybiBpZGJFeGNl
cHRpb25FbnRyeShtX2NvZGUpLnNlY29uZDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLmVmNWMxMzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCRXJyb3IuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJ
REJFcnJvcl9oCisjZGVmaW5lIElEQkVycm9yX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQorCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworZW51bSBjbGFzcyBJREJFeGNlcHRpb25Db2RlIHsKKyAgICBOb25lID0gMCwKKyAg
ICBVbmtub3duID0gMSwKK307CisKK2NsYXNzIElEQkVycm9yIHsKK3B1YmxpYzoKKyAgICBJREJF
cnJvcigpIHsgfQorICAgIElEQkVycm9yKElEQkV4Y2VwdGlvbkNvZGUpOworICAgIElEQkVycm9y
KElEQkV4Y2VwdGlvbkNvZGUsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSk7CisKKyAgICBJREJFcnJv
ciYgb3BlcmF0b3I9KGNvbnN0IElEQkVycm9yJik7CisKKyAgICBjb25zdCBTdHJpbmcmIG5hbWUo
KSBjb25zdDsKKyAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UoKSBjb25zdDsKKworICAgIGJvb2wg
aXNOdWxsKCkgY29uc3QgeyByZXR1cm4gbV9jb2RlID09IElEQkV4Y2VwdGlvbkNvZGU6Ok5vbmU7
IH0KKworcHJpdmF0ZToKKyAgICBJREJFeGNlcHRpb25Db2RlIG1fY29kZSB7IElEQkV4Y2VwdGlv
bkNvZGU6Ok5vbmUgfTsKKyAgICBTdHJpbmcgbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYg
Ly8gSURCRXJyb3JfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQlJlcXVlc3REYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZWUzZTEyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5jcHAKQEAgLTAsMCArMSw0NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0
RGF0YS5oIgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNsdWRlICJJREJPcGVuREJSZXF1ZXN0SW1wbC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0lEQlJlcXVlc3REYXRhOjpJREJSZXF1ZXN0RGF0YShj
b25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvbiwgY29uc3Qg
SURCQ2xpZW50OjpJREJPcGVuREJSZXF1ZXN0JiByZXF1ZXN0KQorICAgIDogbV9yZXF1ZXN0SWRl
bnRpZmllcihjb25uZWN0aW9uLCByZXF1ZXN0KQorICAgICwgbV9kYXRhYmFzZUlkZW50aWZpZXIo
cmVxdWVzdC5kYXRhYmFzZUlkZW50aWZpZXIoKSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVzdERhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0RGF0YS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0NGUwMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVxdWVz
dERhdGEuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJREJSZXF1ZXN0
RGF0YV9oCisjZGVmaW5lIElEQlJlcXVlc3REYXRhX2gKKworI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorCisjaW5jbHVkZSAiSURCRGF0YWJhc2VJZGVudGlmaWVyLmgiCisjaW5jbHVkZSAi
SURCUmVxdWVzdElkZW50aWZpZXIuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCituYW1lc3Bh
Y2UgSURCQ2xpZW50IHsKK2NsYXNzIElEQkNvbm5lY3Rpb25Ub1NlcnZlcjsKK2NsYXNzIElEQk9w
ZW5EQlJlcXVlc3Q7Cit9CisKK2NsYXNzIElEQlJlcXVlc3REYXRhIHsKK3B1YmxpYzoKKyAgICBJ
REJSZXF1ZXN0RGF0YShjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIGNv
bnN0IElEQkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdCYpOworCisgICAgSURCUmVxdWVzdElkZW50
aWZpZXIgcmVxdWVzdElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3JlcXVlc3RJZGVudGlm
aWVyOyB9CisgICAgY29uc3QgSURCRGF0YWJhc2VJZGVudGlmaWVyJiBkYXRhYmFzZUlkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2RhdGFiYXNlSWRlbnRpZmllcjsgfQorCitwcml2YXRlOgor
ICAgIElEQlJlcXVlc3RJZGVudGlmaWVyIG1fcmVxdWVzdElkZW50aWZpZXI7CisgICAgSURCRGF0
YWJhc2VJZGVudGlmaWVyIG1fZGF0YWJhc2VJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisjZW5kaWYg
Ly8gSURCUmVxdWVzdERhdGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRpZmllci5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0NDBkMQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXF1ZXN0SWRlbnRp
Zmllci5jcHAKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJJREJSZXF1ZXN0SWRlbnRpZmllci5oIgorCisjaWYgRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNs
dWRlICJJREJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIHVpbnQ2NF90IG5leHRSZXF1ZXN0TnVtYmVyKCkK
K3sKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIHN0YXRpYyB1aW50NjRfdCBjdXJy
ZW50TnVtYmVyID0gMDsKKyAgICByZXR1cm4gKytjdXJyZW50TnVtYmVyOworfQorCitJREJSZXF1
ZXN0SWRlbnRpZmllcjo6SURCUmVxdWVzdElkZW50aWZpZXIoKQorICAgIDogbV9yZXF1ZXN0TnVt
YmVyKG5leHRSZXF1ZXN0TnVtYmVyKCkpCit7Cit9CisKK0lEQlJlcXVlc3RJZGVudGlmaWVyOjpJ
REJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgY29ubmVjdGlvbikKKyAgICA6IG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlcihj
b25uZWN0aW9uLmlkZW50aWZpZXIoKSkKKyAgICAsIG1fcmVxdWVzdE51bWJlcihuZXh0UmVxdWVz
dE51bWJlcigpKQoreworfQorCitJREJSZXF1ZXN0SWRlbnRpZmllcjo6SURCUmVxdWVzdElkZW50
aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIGNvbm5lY3Rpb24s
IGNvbnN0IElEQkNsaWVudDo6SURCUmVxdWVzdCYgcmVxdWVzdCkKKyAgICA6IG1faWRiQ2xpZW50
U2VydmVyQ29ubmVjdGlvbk51bWJlcihjb25uZWN0aW9uLmlkZW50aWZpZXIoKSkKKyAgICAsIG1f
cmVxdWVzdE51bWJlcihyZXF1ZXN0LnJlcXVlc3RJZGVudGlmaWVyKCkubV9yZXF1ZXN0TnVtYmVy
KQoreworfQorCitJREJSZXF1ZXN0SWRlbnRpZmllciBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZW1w
dHlWYWx1ZSgpCit7CisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVzdWx0OworICAgIHJlc3Vs
dC5tX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPSAwOworICAgIHJlc3VsdC5tX3Jl
cXVlc3ROdW1iZXIgPSAwOworICAgIHJldHVybiBXVEY6Om1vdmUocmVzdWx0KTsKK30KKworSURC
UmVxdWVzdElkZW50aWZpZXIgSURCUmVxdWVzdElkZW50aWZpZXI6OmRlbGV0ZWRWYWx1ZSgpCit7
CisgICAgSURCUmVxdWVzdElkZW50aWZpZXIgcmVzdWx0OworICAgIHJlc3VsdC5tX2lkYkNsaWVu
dFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPSBzdGQ6Om51bWVyaWNfbGltaXRzPGludDY0X3Q+Ojpt
YXgoKTsKKyAgICByZXN1bHQubV9yZXF1ZXN0TnVtYmVyID0gc3RkOjpudW1lcmljX2xpbWl0czxp
bnQ2NF90Pjo6bWF4KCk7CisgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHQpOworfQorCitib29s
IElEQlJlcXVlc3RJZGVudGlmaWVyOjppc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciA9PSBzdGQ6Om51
bWVyaWNfbGltaXRzPGludDY0X3Q+OjptYXgoKQorICAgICAgICAmJiBtX3JlcXVlc3ROdW1iZXIg
PT0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ2NF90Pjo6bWF4KCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlJlcXVlc3RJ
ZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURC
UmVxdWVzdElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l
ZDFmYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQlJlcXVlc3RJZGVudGlmaWVyLmgKQEAgLTAsMCArMSwxMTUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIElEQlJlcXVlc3RJZGVudGlmaWVyX2gKKyNkZWZpbmUgSURCUmVxdWVz
dElkZW50aWZpZXJfaAorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRl
IDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworbmFtZXNw
YWNlIElEQkNsaWVudCB7CitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CitjbGFzcyBJREJS
ZXF1ZXN0OworfQorCitjbGFzcyBJREJSZXF1ZXN0SWRlbnRpZmllciB7CitwdWJsaWM6CisgICAg
SURCUmVxdWVzdElkZW50aWZpZXIoY29uc3QgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2
ZXImKTsKKyAgICBJREJSZXF1ZXN0SWRlbnRpZmllcihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub1NlcnZlciYsIGNvbnN0IElEQkNsaWVudDo6SURCUmVxdWVzdCYpOworCisgICAgc3Rh
dGljIElEQlJlcXVlc3RJZGVudGlmaWVyIGRlbGV0ZWRWYWx1ZSgpOworICAgIGJvb2wgaXNIYXNo
VGFibGVEZWxldGVkVmFsdWUoKSBjb25zdDsKKworICAgIHN0YXRpYyBJREJSZXF1ZXN0SWRlbnRp
ZmllciBlbXB0eVZhbHVlKCk7CisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeworICAgICAgICBy
ZXR1cm4gIW1fcmVxdWVzdE51bWJlciAmJiAhbV9pZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVt
YmVyOworICAgIH0KKworICAgIHVuc2lnbmVkIGhhc2goKSBjb25zdAorICAgIHsKKyAgICAgICAg
dWludDY0X3QgaGFzaENvZGVzWzJdID0geyByZWludGVycHJldF9jYXN0PHVpbnQ2NF90PihtX2lk
YkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIpLCBzdGF0aWNfY2FzdDx1aW50NjRfdD4obV9y
ZXF1ZXN0TnVtYmVyKSB9OworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpoYXNoTWVtb3J5
PHNpemVvZihoYXNoQ29kZXMpPihoYXNoQ29kZXMpOworICAgIH0KKyAgICAKKyAgICBib29sIG9w
ZXJhdG9yPT0oY29uc3QgSURCUmVxdWVzdElkZW50aWZpZXImIG90aGVyKSBjb25zdCB7CisgICAg
ICAgIHJldHVybiBtX2lkYkNsaWVudFNlcnZlckNvbm5lY3Rpb25OdW1iZXIgPT0gb3RoZXIubV9p
ZGJDbGllbnRTZXJ2ZXJDb25uZWN0aW9uTnVtYmVyCisgICAgICAgICAgICAmJiBtX3JlcXVlc3RO
dW1iZXIgPT0gb3RoZXIubV9yZXF1ZXN0TnVtYmVyOworICAgIH0KKyAgICAKKyAgICB1aW50NjRf
dCBjb25uZWN0aW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRiQ2xpZW50U2VydmVy
Q29ubmVjdGlvbk51bWJlcjsgfQorICAgIAorcHJpdmF0ZToKKyAgICBJREJSZXF1ZXN0SWRlbnRp
ZmllcigpOworICAgIHVpbnQ2NF90IG1faWRiQ2xpZW50U2VydmVyQ29ubmVjdGlvbk51bWJlciB7
IDAgfTsKKyAgICB1aW50NjRfdCBtX3JlcXVlc3ROdW1iZXI7Cit9OworCitzdHJ1Y3QgSURCUmVx
dWVzdElkZW50aWZpZXJIYXNoIHsKKyAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBJREJS
ZXF1ZXN0SWRlbnRpZmllciYgYSkgeyByZXR1cm4gYS5oYXNoKCk7IH0KKyAgICBzdGF0aWMgYm9v
bCBlcXVhbChjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgYSwgY29uc3QgSURCUmVxdWVzdElk
ZW50aWZpZXImIGIpIHsgcmV0dXJuIGEgPT0gYjsgfQorICAgIHN0YXRpYyBjb25zdCBib29sIHNh
ZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFsc2U7Cit9OworCitzdHJ1Y3QgSURCUmVx
dWVzdElkZW50aWZpZXJIYXNoVHJhaXRzIDogV1RGOjpDdXN0b21IYXNoVHJhaXRzPElEQlJlcXVl
c3RJZGVudGlmaWVyPiB7CisgICAgc3RhdGljIGNvbnN0IGJvb2wgaGFzSXNFbXB0eVZhbHVlRnVu
Y3Rpb24gPSB0cnVlOworICAgIHN0YXRpYyBjb25zdCBib29sIGVtcHR5VmFsdWVJc1plcm8gPSBm
YWxzZTsKKworICAgIHN0YXRpYyBJREJSZXF1ZXN0SWRlbnRpZmllciBlbXB0eVZhbHVlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBJREJSZXF1ZXN0SWRlbnRpZmllcjo6ZW1wdHlWYWx1ZSgpOwor
ICAgIH0KKworICAgIHN0YXRpYyBib29sIGlzRW1wdHlWYWx1ZShjb25zdCBJREJSZXF1ZXN0SWRl
bnRpZmllciYgaWRlbnRpZmllcikKKyAgICB7CisgICAgICAgIHJldHVybiBpZGVudGlmaWVyLmlz
RW1wdHkoKTsKKyAgICB9CisKKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUo
SURCUmVxdWVzdElkZW50aWZpZXImIGlkZW50aWZpZXIpCisgICAgeworICAgICAgICBpZGVudGlm
aWVyID0gSURCUmVxdWVzdElkZW50aWZpZXI6OmRlbGV0ZWRWYWx1ZSgpOworICAgIH0KKworICAg
IHN0YXRpYyBib29sIGlzRGVsZXRlZFZhbHVlKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiBp
ZGVudGlmaWVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIuaXNIYXNoVGFibGVE
ZWxldGVkVmFsdWUoKTsKKyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK25h
bWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZTw+IHN0cnVjdCBIYXNoVHJhaXRzPFdlYkNvcmU6OklE
QlJlcXVlc3RJZGVudGlmaWVyPiA6IFdlYkNvcmU6OklEQlJlcXVlc3RJZGVudGlmaWVySGFzaFRy
YWl0cyB7IH07Cit0ZW1wbGF0ZTw+IHN0cnVjdCBEZWZhdWx0SGFzaDxXZWJDb3JlOjpJREJSZXF1
ZXN0SWRlbnRpZmllcj4geworICAgIHR5cGVkZWYgV2ViQ29yZTo6SURCUmVxdWVzdElkZW50aWZp
ZXJIYXNoIEhhc2g7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXVEYKKworI2VuZGlmIC8vIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQorI2VuZGlmIC8vIElEQlJlcXVlc3RJZGVudGlmaWVyX2gKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1
bHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJS
ZXN1bHREYXRhLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzg3MzE0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hh
cmVkL0lEQlJlc3VsdERhdGEuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSURCUmVzdWx0RGF0YS5oIgorCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSURCUmVzdWx0RGF0
YTo6SURCUmVzdWx0RGF0YShjb25zdCBJREJSZXF1ZXN0SWRlbnRpZmllciYgcmVxdWVzdElkZW50
aWZpZXIsIGNvbnN0IElEQkVycm9yJiBlcnJvcikKKyAgICA6IG1fcmVxdWVzdElkZW50aWZpZXIo
cmVxdWVzdElkZW50aWZpZXIpCisgICAgLCBtX2Vycm9yKGVycm9yKQoreworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJSZXN1
bHREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCUmVz
dWx0RGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NmMzZjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCUmVzdWx0RGF0YS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIElE
QlJlc3VsdERhdGFfaAorI2RlZmluZSBJREJSZXN1bHREYXRhX2gKKworI2lmIEVOQUJMRShJTkRF
WEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCRXJyb3IuaCIKKyNpbmNsdWRlICJJREJSZXF1
ZXN0SWRlbnRpZmllci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIElEQlJlcXVl
c3RJZGVudGlmaWVyOworCitjbGFzcyBJREJSZXN1bHREYXRhIHsKK3B1YmxpYzoKKyAgICBJREJS
ZXN1bHREYXRhKGNvbnN0IElEQlJlcXVlc3RJZGVudGlmaWVyJiwgY29uc3QgSURCRXJyb3ImKTsK
KworICAgIElEQlJlcXVlc3RJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZXF1ZXN0SWRlbnRpZmllcjsgfQorICAgIAorICAgIGNvbnN0IElEQkVycm9yJiBl
cnJvcigpIGNvbnN0IHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgSURC
UmVxdWVzdElkZW50aWZpZXIgbV9yZXF1ZXN0SWRlbnRpZmllcjsKKyAgICBJREJFcnJvciBtX2Vy
cm9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCisjZW5kaWYgLy8gSURCUmVzdWx0RGF0YV9oCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURCU2VydmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JblByb2Nlc3NJ
REJTZXJ2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5NTllZmEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSW5Qcm9jZXNzSURCU2VydmVyLmNwcApAQCAtMCwwICsxLDkwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkluUHJvY2Vzc0lEQlNlcnZlci5oIgorCisj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9D
bGllbnQuaCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCIKKyNpbmNsdWRlICJJ
REJPcGVuREJSZXF1ZXN0SW1wbC5oIgorI2luY2x1ZGUgIklEQlJlcXVlc3REYXRhLmgiCisjaW5j
bHVkZSAiSURCUmVzdWx0RGF0YS5oIgorI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlIDx3
dGYvUnVuTG9vcC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxJblByb2Nlc3NJREJT
ZXJ2ZXI+IEluUHJvY2Vzc0lEQlNlcnZlcjo6Y3JlYXRlKCkKK3sKKyAgICBSZWY8SW5Qcm9jZXNz
SURCU2VydmVyPiBzZXJ2ZXIgPSBhZG9wdFJlZigqbmV3IEluUHJvY2Vzc0lEQlNlcnZlcik7Cisg
ICAgc2VydmVyLT5tX3NlcnZlci0+cmVnaXN0ZXJDb25uZWN0aW9uKHNlcnZlci0+Y29ubmVjdGlv
blRvQ2xpZW50KCkpOworICAgIHJldHVybiBXVEY6Om1vdmUoc2VydmVyKTsKK30KKworSW5Qcm9j
ZXNzSURCU2VydmVyOjpJblByb2Nlc3NJREJTZXJ2ZXIoKQorICAgIDogbV9zZXJ2ZXIoSURCU2Vy
dmVyOjpJREJTZXJ2ZXI6OmNyZWF0ZSgpKQoreworICAgIHJlbGF4QWRvcHRpb25SZXF1aXJlbWVu
dCgpOworICAgIG1fY29ubmVjdGlvblRvU2VydmVyID0gSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
VG9TZXJ2ZXI6OmNyZWF0ZSgqdGhpcyk7CisgICAgbV9jb25uZWN0aW9uVG9DbGllbnQgPSBJREJT
ZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudDo6Y3JlYXRlKCp0aGlzKTsKK30KKwordWludDY0
X3QgSW5Qcm9jZXNzSURCU2VydmVyOjppZGVudGlmaWVyKCkgY29uc3QKK3sKKyAgICAvLyBBbiBp
bnN0YW5jZSBvZiBJblByb2Nlc3NJREJTZXJ2ZXIgYWx3YXlzIGhhcyBhIDE6MSByZWxhdGlvbnNo
aXAgd2l0aCBpdHMgaW5zdGFuY2Ugb2YgSURCU2VydmVyLgorICAgIC8vIFRoZXJlZm9yZSB0aGUg
Y29ubmVjdGlvbiBpZGVudGlmaWVyIGJldHdlZW4gdGhlIHR3byBjYW4gYWx3YXlzIGJlICIxIi4K
KyAgICByZXR1cm4gMTsKK30KKworSURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXImIElu
UHJvY2Vzc0lEQlNlcnZlcjo6Y29ubmVjdGlvblRvU2VydmVyKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gKm1fY29ubmVjdGlvblRvU2VydmVyOworfQorCitJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25U
b0NsaWVudCYgSW5Qcm9jZXNzSURCU2VydmVyOjpjb25uZWN0aW9uVG9DbGllbnQoKSBjb25zdAor
eworICAgIHJldHVybiAqbV9jb25uZWN0aW9uVG9DbGllbnQ7Cit9CisKK3ZvaWQgSW5Qcm9jZXNz
SURCU2VydmVyOjpkZWxldGVEYXRhYmFzZShJREJSZXF1ZXN0RGF0YSYgcmVxdWVzdERhdGEpCit7
CisgICAgUmVmUHRyPEluUHJvY2Vzc0lEQlNlcnZlcj4gc2VsZih0aGlzKTsKKyAgICBSdW5Mb29w
OjpjdXJyZW50KCkuZGlzcGF0Y2goW3RoaXMsIHNlbGYsIHJlcXVlc3REYXRhXSB7CisgICAgICAg
IG1fc2VydmVyLT5kZWxldGVEYXRhYmFzZShyZXF1ZXN0RGF0YSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgSW5Qcm9jZXNzSURCU2VydmVyOjpkaWREZWxldGVEYXRhYmFzZShjb25zdCBJREJSZXN1bHRE
YXRhJiByZXN1bHREYXRhKQoreworICAgIFJlZlB0cjxJblByb2Nlc3NJREJTZXJ2ZXI+IHNlbGYo
dGhpcyk7CisgICAgUnVuTG9vcDo6Y3VycmVudCgpLmRpc3BhdGNoKFt0aGlzLCBzZWxmLCByZXN1
bHREYXRhXSB7CisgICAgICAgIG1fY29ubmVjdGlvblRvU2VydmVyLT5kaWREZWxldGVEYXRhYmFz
ZShyZXN1bHREYXRhKTsKKyAgICB9KTt9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0luUHJvY2Vzc0lEQlNlcnZlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNGFkNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSW5Qcm9jZXNzSURC
U2VydmVyLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW5Qcm9jZXNz
SURCU2VydmVyX2gKKyNkZWZpbmUgSW5Qcm9jZXNzSURCU2VydmVyX2gKKworI2lmIEVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQorCisjaW5jbHVkZSAiSURCQ29ubmVjdGlvblRvQ2xpZW50LmgiCisj
aW5jbHVkZSAiSURCQ29ubmVjdGlvblRvU2VydmVyLmgiCisjaW5jbHVkZSAiSURCT3BlbkRCUmVx
dWVzdEltcGwuaCIKKyNpbmNsdWRlICJJREJTZXJ2ZXIuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1h
cC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK25hbWVzcGFjZSBJREJDbGllbnQgeworY2xhc3Mg
SURCQ29ubmVjdGlvblRvU2VydmVyOworfQorCituYW1lc3BhY2UgSURCU2VydmVyIHsKK2NsYXNz
IElEQlNlcnZlcjsKK30KKworY2xhc3MgSW5Qcm9jZXNzSURCU2VydmVyIGZpbmFsIDogcHVibGlj
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUsIHB1YmxpYyBJREJTZXJ2
ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLCBwdWJsaWMgUmVmQ291bnRlZDxJblBy
b2Nlc3NJREJTZXJ2ZXI+IHsKK3B1YmxpYzoKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgUmVm
PEluUHJvY2Vzc0lEQlNlcnZlcj4gY3JlYXRlKCk7CisKKyAgICBXRUJDT1JFX0VYUE9SVCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgY29ubmVjdGlvblRvU2VydmVyKCkgY29uc3Q7
CisgICAgSURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmIGNvbm5lY3Rpb25Ub0NsaWVu
dCgpIGNvbnN0OworCisgICAgLy8gSURCQ29ubmVjdGlvblRvU2VydmVyCisgICAgdmlydHVhbCB2
b2lkIGRlbGV0ZURhdGFiYXNlKElEQlJlcXVlc3REYXRhJikgb3ZlcnJpZGUgZmluYWw7CisgICAg
CisgICAgLy8gSURCQ29ubmVjdGlvblRvQ2xpZW50CisgICAgdmlydHVhbCB1aW50NjRfdCBpZGVu
dGlmaWVyKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpZERlbGV0ZURhdGFi
YXNlKGNvbnN0IElEQlJlc3VsdERhdGEmKSBvdmVycmlkZSBmaW5hbDsKKworICAgIHZpcnR1YWwg
dm9pZCByZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Qcm9jZXNzSURCU2VydmVyPjo6cmVm
KCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSBvdmVycmlkZSB7IFJlZkNvdW50ZWQ8SW5Q
cm9jZXNzSURCU2VydmVyPjo6ZGVyZWYoKTsgfQorCitwcml2YXRlOgorICAgIEluUHJvY2Vzc0lE
QlNlcnZlcigpOworCisgICAgUmVmPElEQlNlcnZlcjo6SURCU2VydmVyPiBtX3NlcnZlcjsKKyAg
ICBSZWZQdHI8SURCQ2xpZW50OjpJREJDb25uZWN0aW9uVG9TZXJ2ZXI+IG1fY29ubmVjdGlvblRv
U2VydmVyOworICAgIFJlZlB0cjxJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVudD4gbV9j
b25uZWN0aW9uVG9DbGllbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKKyNlbmRpZiAvLyBJblByb2Nlc3NJREJTZXJ2
ZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDY3ZDFiMDIuLjc5ZTgxZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE5MTAsMzAgKzE5MTAsMjQgQEAKIAkJ
NTEwMzEwNEYxQkE4Q0MwMzAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDRBMUJBOEM2QTYwMDMz
MjlDMCAvKiBJREJGYWN0b3J5SW1wbC5jcHAgKi87IH07CiAJCTUxMDMxMDUwMUJBOENDMDMwMDMz
MjlDMCAvKiBJREJGYWN0b3J5SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwMzEwNEIxQkE4QzZBNjAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBs
LmggKi87IH07CiAJCTUxMDMxMDVBMUJBOERCNTYwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0
SW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTAzMTA1NjFCQThEQjMwMDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwICovOyB9
OwotCQk1MTAzMTA1QjFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU3MUJB
OERCMzAwMDMzMjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oICovOyB9OworCQk1MTAzMTA1
QjFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU3MUJBOERCMzAwMDMzMjlD
MCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxMDMxMDVDMUJBOERCNTYwMDMzMjlDMCAvKiBJREJSZXF1
ZXN0SW1wbC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MTAzMTA1ODFCQThEQjMwMDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuY3BwICovOyB9Owot
CQk1MTAzMTA1RDFCQThEQjU2MDAzMzI5QzAgLyogSURCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDMxMDU5MUJBOERCMzAwMDMz
MjlDMCAvKiBJREJSZXF1ZXN0SW1wbC5oICovOyB9OwotCQk1MTAzMTA2MDFCQThFMEUzMDAzMzI5
QzAgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTAzMTA1RjFCQThFMDkwMDAzMzI5QzAgLyogSURCRGF0YWJh
c2VJZGVudGlmaWVyLmggKi87IH07Ci0JCTUxMDMxMDYxMUJBOEUxMEQwMDMzMjlDMCAvKiBJREJE
YXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEwMzEwNUUxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNlSWRlbnRp
Zmllci5jcHAgKi87IH07CisJCTUxMDMxMDVEMUJBOERCNTYwMDMzMjlDMCAvKiBJREJSZXF1ZXN0
SW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEw
MzEwNTkxQkE4REIzMDAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTEwM0MyQjExQkEyMkQxQTAwRTI2
MzM3IC8qIExlZ2FjeUFueS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTY0NUI2RTFCQTBBNzYxMDBGNzg5Q0UgLyogTGVnYWN5QW55LmNwcCAqLzsg
fTsKLQkJNTEwM0MyQjIxQkEyMzE3NDAwRTI2MzM3IC8qIElEQlRyYW5zYWN0aW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUwMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJUcmFuc2FjdGlvbi5jcHAgKi87IH07Ci0JCTUxMDNDMkIzMUJBMjMy
NEQwMEUyNjMzNyAvKiBJREJDdXJzb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNTQxQjlGODhFODAwRjc4OUNFIC8qIElEQkN1cnNvci5j
cHAgKi87IH07Ci0JCTUxMDNDMkI0MUJBMjMyQUUwMEUyNjMzNyAvKiBJREJDdXJzb3JXaXRoVmFs
dWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
NDVCNDIxQjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgKi87IH07Ci0J
CTUxMDNDMkI1MUJBMjMyRDQwMEUyNjMzNyAvKiBJREJEYXRhYmFzZS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NDFCOUY4ODlCMDBGNzg5
Q0UgLyogSURCRGF0YWJhc2UuY3BwICovOyB9OwotCQk1MTAzQzJCNjFCQTIzM0JGMDBFMjYzMzcg
LyogSURCUmVxdWVzdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTY0NUI0RTFCOUY4ODlCMDBGNzg5Q0UgLyogSURCUmVxdWVzdC5jcHAgKi87IH07
Ci0JCTUxMDNDMkI3MUJBMjMzQzQwMEUyNjMzNyAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjRDMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJPcGVuREJSZXF1ZXN0LmNwcCAqLzsgfTsKLQkJNTEwM0MyQjgxQkEy
MzVDNTAwRTI2MzM3IC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MjFCOUY4ODlCMDBGNzg5Q0Ug
LyogSURCVmVyc2lvbkNoYW5nZUV2ZW50LmNwcCAqLzsgfTsKIAkJNTEwM0MyQjkxQkEyM0EyNjAw
RTI2MzM3IC8qIExlZ2FjeUFueS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2NDVCNkYxQkEwQTc2MTAwRjc4OUNFIC8qIExlZ2FjeUFueS5oICovOyB9
OwogCQk1MTA2RDdCRDE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMDZEN0JCMThC
REI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNvbnRleHQuY3BwICovOyB9OwogCQk1MTA2RDdC
RTE4QkRCNzZGMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTA2RDdCQzE4QkRCNzZGMDAwQUIxNjYg
LyogQ29udGV4dE1lbnVDb250ZXh0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJNTEwQTMyNkYxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNv
bm5lY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMEEzMjZFMTgzMTg0MzEwMDNDNTMyNiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTEwQTU4RTQxQkFB
NDBCMTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFMjFCQUE0MEFFMDBDMTkyODIgLyog
SW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLzsgfTsKKwkJNTEwQTU4RTUxQkFBNDBCMTAwQzE5Mjgy
IC8qIEluUHJvY2Vzc0lEQlNlcnZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEwQTU4RTMxQkFBNDBBRTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNl
cnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTUxMEE1OEY5MUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThGNTFCQUNDNEE1MDBD
MTkyODIgLyogSURCUmVxdWVzdERhdGEuY3BwICovOyB9OworCQk1MTBBNThGQTFCQUNDN0YyMDBD
MTkyODIgLyogSURCUmVxdWVzdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxMEE1OEY2MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0
YS5oICovOyB9OworCQk1MTBBNThGQjFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50
aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTEwQTU4RTYxQkFBNDFDOTAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmNwcCAqLzsg
fTsKKwkJNTEwQTU4RkMxQkFDQzdGMjAwQzE5MjgyIC8qIElEQlJlcXVlc3RJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFNzFC
QUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTBENEEzMzEwMzE2NUVFMDA0OUVB
NTQgLyogU29ja2V0U3RyZWFtRXJyb3JCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0QTJEMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRT
dHJlYW1FcnJvckJhc2UuY3BwICovOyB9OwogCQk1MTBENEEzNDEwMzE2NUVFMDA0OUVBNTQgLyog
U29ja2V0U3RyZWFtRXJyb3JCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTBENEEyRTEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJy
b3JCYXNlLmggKi87IH07CiAJCTUxMEQ0QTM2MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1IYW5kbGVCYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxMEQ0QTMwMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNl
LmNwcCAqLzsgfTsKIAkJNTEwRDRBMzcxMDMxNjVFRTAwNDlFQTU0IC8qIFNvY2tldFN0cmVhbUhh
bmRsZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMEQ0QTMxMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVCYXNlLmggKi87
IH07CiAJCTUxMEQ0QTM4MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGll
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEQ0
QTMyMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGVDbGllbnQuaCAqLzsgfTsK
LQkJNTExRUMxQTYxODhEQUNBNDAwQkEzRUI2IC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVDMUE1MTg4REFDQTQwMEJBM0VC
NiAvKiBJREJLZXlEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJNTExRUMxQTgxODhEQUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxQTcxODhE
QUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwICovOyB9OwogCQk1MTFFRjJDMDE3RjBGRDM1
MDBFNEZBMTYgLyogSlNJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTExRUYyQTgxN0YwRkM0ODAwRTRGQTE2IC8qIEpTSURCQW55LmNwcCAq
LzsgfTsKIAkJNTExRUYyQzExN0YwRkQzNTAwRTRGQTE2IC8qIEpTSURCQ3Vyc29yLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkE5MTdGMEZD
NDgwMEU0RkExNiAvKiBKU0lEQkN1cnNvci5jcHAgKi87IH07CiAJCTUxMUVGMkMyMTdGMEZEMzUw
MEU0RkExNiAvKiBKU0lEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTFFRjJBQTE3RjBGQzQ4MDBFNEZBMTYgLyogSlNJ
REJDdXJzb3JXaXRoVmFsdWUuY3BwICovOyB9OwpAQCAtMTk0OSw5ICsxOTQzLDYgQEAKIAkJNTEx
RUYyQ0YxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURCQW55Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkNDMTdGMEZERjEwMEU0RkEx
NiAvKiBKU0lEQkFueUN1c3RvbS5jcHAgKi87IH07CiAJCTUxMUVGMkQwMTdGMEZERjEwMEU0RkEx
NiAvKiBKU0lEQkRhdGFiYXNlQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxMUVGMkNEMTdGMEZERjEwMEU0RkExNiAvKiBKU0lEQkRhdGFi
YXNlQ3VzdG9tLmNwcCAqLzsgfTsKIAkJNTExRUYyRDExN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURC
T2JqZWN0U3RvcmVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTExRUYyQ0UxN0YwRkRGMTAwRTRGQTE2IC8qIEpTSURCT2JqZWN0U3RvcmVD
dXN0b20uY3BwICovOyB9OwotCQk1MTIzQUYxODE4OTBBNENBMDAzMUNEQzkgLyogSURCS2V5UmFu
Z2VEYXRhLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDUxMjNBRjE2MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuY3BwICovOyB9Owot
CQk1MTIzQUYxOTE4OTBBNENBMDAzMUNEQzkgLyogSURCS2V5UmFuZ2VEYXRhLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTIzQUYxNzE4OTBBNENBMDAz
MUNEQzkgLyogSURCS2V5UmFuZ2VEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTEyM0FGMUQxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJl
c3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEy
M0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJlc3VsdC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMjZFNkJCMEEyRTNCMTIwMDVDMjlG
QSAvKiBJY29uRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTEyNkU2QjkwQTJFM0IxMjAwNUMyOUZBIC8qIEljb25EYXRhYmFzZS5jcHAg
Ki87IH07CiAJCTUxMjZFNkJDMEEyRTNCMTIwMDVDMjlGQSAvKiBJY29uRGF0YWJhc2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjZFNkJBMEEyRTNC
MTIwMDVDMjlGQSAvKiBJY29uRGF0YWJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTJERDhFMzBEOTFFMkI0MDAwRjg5RUUgLyogU2hhcmVk
QnVmZmVyQ0YuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTEyREQ4RTIwRDkxRTJCNDAwMEY4OUVFIC8qIFNoYXJlZEJ1ZmZlckNGLmNwcCAqLzsgfTsK
QEAgLTE5NjQsMTMgKzE5NTUsMTQgQEAKIAkJNTEyREQ4RkIwRDkxRTZBRjAwMEY4OUVFIC8qIEFy
Y2hpdmVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTJERDhGMTBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZVJlc291cmNlLmNwcCAq
LzsgfTsKIAkJNTEyREQ4RkMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEyREQ4RjIwRDkx
RTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxMkREOEZEMEQ5MUU2QUYwMDBGODlFRSAvKiBB
cmNoaXZlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTEyREQ4RjMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVGYWN0b3J5LmggKi87IH07
Ci0JCTUxMkVBOUJFMTgyMDI4NTcwMDFEMDFFMCAvKiBJREJPcGVyYXRpb24uaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMkVBOUJEMTgyMDI4NTcwMDFE
MDFFMCAvKiBJREJPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTMyN0Q2MDExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTMyN0Q1
RTExQTMzQTJCMDA0RjlENjUgLyogU2lua0RvY3VtZW50LmggKi87IH07CiAJCTUxMzI3RDYxMTFB
MzNBMkIwMDRGOUQ2NSAvKiBTaW5rRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEzMjdENUYxMUEzM0EyQjAwNEY5RDY1IC8qIFNpbmtE
b2N1bWVudC5jcHAgKi87IH07CiAJCTUxM0YxNDUzMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
M0YxNDUxMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9hZGVyLmNwcCAqLzsgfTsKIAkJNTEzRjE0
NTQwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxM0YxNDUyMEFCNjM0QzQwMDA5NERERiAvKiBJY29u
TG9hZGVyLmggKi87IH07CiAJCTUxNDA1Qzg4MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25S
ZWN0R2F0aGVyZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTE0MDVDODYxOTBCMDE0NDAwNzU0Rjk0IC8qIFNlbGVjdGlvblJlY3RHYXRoZXJlci5j
cHAgKi87IH07CiAJCTUxNDA1Qzg5MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0
aGVyZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
NDA1Qzg3MTkwQjAxNDQwMDc1NEY5NCAvKiBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTQ4NDUzRTFCQjlE
MDdFMDA2QTcyRUQgLyogSURCRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE0ODQ1M0MxQkI5RDA3NjAwNkE3MkVEIC8qIElEQkVycm9yLmNw
cCAqLzsgfTsKKwkJNTE0ODQ1M0YxQkI5RDA3RTAwNkE3MkVEIC8qIElEQkVycm9yLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTQ4NDUzRDFCQjlEMDc2
MDA2QTcyRUQgLyogSURCRXJyb3IuaCAqLzsgfTsKIAkJNTE0QjNGNzMwQzcyMjA0NzAwMDUzMERG
IC8qIEZpbGVTeXN0ZW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxNEIzRjcyMEM3MjIwNDcwMDA1MzBERiAvKiBGaWxlU3lzdGVtLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE0QjNGNzYwQzcyMjA1
NTAwMDUzMERGIC8qIEZpbGVTeXN0ZW1NYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRCM0Y3NTBDNzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3Rl
bU1hYy5tbSAqLzsgfTsKIAkJNTE0Qzc2MzcwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2
MzUwQ0U5MjI1RTAwN0VGM0NEIC8qIEpTU1FMRXJyb3IuY3BwICovOyB9OwpAQCAtMjAwMCwxNSAr
MTk5MiwxMSBAQAogCQk1MTRDNzY3RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0
QmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0
Qzc2NjgwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RTBDRTkyM0Ex
MDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjkwQ0U5MjNBMTAwN0VGM0NEIC8qIFJl
c291cmNlUmVzcG9uc2VCYXNlLmNwcCAqLzsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVzcG9uc2VCYXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNw
b25zZUJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwotCQk1MTU3RDQ2NDFCQTI0QUVFMDA4NUNBMkYgLyogSURCRmFjdG9yeS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0NjFCOUY4ODlCMDBG
Nzg5Q0UgLyogSURCRmFjdG9yeS5jcHAgKi87IH07Ci0JCTUxNTdENDY1MUJBMjRBRjgwMDg1Q0Ey
RiAvKiBJREJJbmRleC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MTY0NUI0ODFCOUY4ODlCMDBGNzg5Q0UgLyogSURCSW5kZXguY3BwICovOyB9Owot
CQk1MTU3RDQ2NjFCQTI0QUZEMDA4NUNBMkYgLyogSURCT2JqZWN0U3RvcmUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEExQjlGODg5QjAw
Rjc4OUNFIC8qIElEQk9iamVjdFN0b3JlLmNwcCAqLzsgfTsKIAkJNTE2MDMwMEIwQ0M0MjUxMjAw
QzhBQzI1IC8qIEZpbGVTeXN0ZW1QT1NJWC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYwMzAwQTBDQzQyNTEyMDBDOEFDMjUgLyogRmlsZVN5c3Rl
bVBPU0lYLmNwcCAqLzsgfTsKIAkJNTE2MDMwNkMwQ0M0MzYyMzAwQzhBQzI1IC8qIEZpbGVTeXN0
ZW1DRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTYwMzA2QjBDQzQzNjIzMDBDOEFDMjUgLyogRmlsZVN5c3RlbUNGLmNwcCAqLzsgfTsKIAkJNTE2
MEY0OTgwQjBBQTc1RjAwQzFEMkFGIC8qIEhpc3RvcnlJdGVtTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2MEY0OTcwQjBBQTc1RjAwQzFEMkFG
IC8qIEhpc3RvcnlJdGVtTWFjLm1tICovOyB9OwogCQk1MTYyQzdGNDExRjc3RUZCMDA2MTJFRkUg
LyogU2NoZW1lUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2MkM3RjIxMUY3N0VGQTAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5LmNw
cCAqLzsgfTsKIAkJNTE2MkM3RjUxMUY3N0VGQjAwNjEyRUZFIC8qIFNjaGVtZVJlZ2lzdHJ5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYyQzdGMzEx
Rjc3RUZCMDA2MTJFRkUgLyogU2NoZW1lUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MTYzMTE3RDE4NTEyNDJCMDA1MzQ2NDcgLyog
SURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTYzMTE3QzE4NTEyNDJCMDA1MzQ2NDcgLyogSURCRGF0YWJhc2VNZXRh
ZGF0YS5jcHAgKi87IH07CiAJCTUxNjQ1QjVBMUI5RkE2QzgwMEY3ODlDRSAvKiBMZWdhY3lDdXJz
b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
NDVCMjgxQjlGNjM5MTAwRjc4OUNFIC8qIExlZ2FjeUN1cnNvci5jcHAgKi87IH07CiAJCTUxNjQ1
QjVCMUI5RkE2QzgwMEY3ODlDRSAvKiBMZWdhY3lDdXJzb3IuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjI5MUI5RjYzOTEwMEY3ODlDRSAvKiBM
ZWdhY3lDdXJzb3IuaCAqLzsgfTsKIAkJNTE2NDVCNUMxQjlGQTZDODAwRjc4OUNFIC8qIExlZ2Fj
eUN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MTY0NUIyQTFCOUY2MzkxMDBGNzg5Q0UgLyogTGVnYWN5Q3Vyc29yV2l0aFZh
bHVlLmNwcCAqLzsgfTsKQEAgLTIwMzUsNiArMjAyMywxMCBAQAogCQk1MTZDNjIyMDE5NTBENDg3
MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNkM2MjFEMTk1MEQ0ODcwMDMzN0U3NSAvKiBHYW1lcGFkRXZl
bnQuY3BwICovOyB9OwogCQk1MTZDNjIyMTE5NTBENDg3MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZDNjIx
RTE5NTBENDg3MDAzMzdFNzUgLyogR2FtZXBhZEV2ZW50LmggKi87IH07CiAJCTUxNkM2MjI1MTk1
MEUyQjkwMDMzN0U3NSAvKiBKU0dhbWVwYWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTZDNjIyMzE5NTBFMkI5MDAzMzdFNzUgLyogSlNH
YW1lcGFkRXZlbnQuY3BwICovOyB9OworCQk1MTZEN0Q2RjFCQjVGMEJEMDBBRjdDNzcgLyogSURC
Q29ubmVjdGlvblRvU2VydmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxODVGQ0JDMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXIuY3BwICovOyB9OworCQk1MTZEN0Q3MDFCQjVGMEJEMDBBRjdDNzcgLyogSURCQ29ubmVj
dGlvblRvU2VydmVyRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxODVGQ0JEMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9T
ZXJ2ZXJEZWxlZ2F0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTUxNkQ3RDcxMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGll
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
RDdENkQxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi87IH07
CisJCTUxNkQ3RDcyMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnREZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2
RDdENkUxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE3NDFE
MEYwQjA3MjU5QTAwRUQ0NDJDIC8qIEJhY2tGb3J3YXJkQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTc0MUQwQjBCMDcyNTlBMDBFRDQ0MkMg
LyogQmFja0ZvcndhcmRDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk1MTc0MUQxMTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNzQxRDBE
MEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxNzQxRDEyMEIwNzI1OUEwMEVENDQyQyAvKiBI
aXN0b3J5SXRlbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTc0MUQwRTBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uY3BwICovOyB9OwpA
QCAtMjA0OSw2ICsyMDQxLDYzIEBACiAJCTUxN0E2M0M1MUI3NDMxOEYwMEU3RENEQyAvKiBLZXll
ZERlY29kZXJDRi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE3QTYzQzAxQjc0MzE3RTAwRTdEQ0RDIC8qIEtleWVkRGVjb2RlckNGLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE3QTYzQzYxQjc0MzE5
MjAwRTdEQ0RDIC8qIEtleWVkRW5jb2RlckNGLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTdBNjNDMjFCNzQzMTdFMDBFN0RDREMgLyogS2V5ZWRFbmNv
ZGVyQ0YuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQk1MTdGQkExRTE1MUFCMTdDMDBCNTc5NTkgLyogRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxN0ZCQTE3MTUxQUE3
MUIwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24uY3BwICovOyB9OworCQk1MTg1RkM1QjFC
QjRCRTRDMDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThGRDFCQjA3QTk2MDBDMTkyODIg
LyogSURCQ29ubmVjdGlvblRvU2VydmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDNzQxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERh
dGFiYXNlLmNwcCAqLzsgfTsKKwkJNTE4NUZDNzUxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRv
d0luZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFENzE5NkQxODExMDZERjAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5oICovOyB9OworCQk1MTg1RkM3NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCQW55LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTZGMTgx
MTA2REYwMDE2REM1MSAvKiBJREJBbnkuY3BwICovOyB9OworCQk1MTg1RkM3ODFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCQW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUQ3MTk3MDE4MTEwNkRGMDAxNkRDNTEgLyogSURCQW55LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDN0ExQkI0QzRFODAw
MTI4OThGIC8qIElEQkN1cnNvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MTY0NUI1NDFCOUY4OEU4MDBGNzg5Q0UgLyogSURCQ3Vyc29yLmNwcCAq
LzsgfTsKKwkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDExQjlGODg5QjAw
Rjc4OUNFIC8qIElEQkN1cnNvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxODVGQzdEMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3JXaXRo
VmFsdWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTE2NDVCNDIxQjlGODg5QjAwRjc4OUNFIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgKi87IH07
CisJCTUxODVGQzdFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQzMUI5Rjg4
OUIwMEY3ODlDRSAvKiBJREJDdXJzb3JXaXRoVmFsdWUuaCAqLzsgfTsKKwkJNTE4NUZDODAxQkI0
QzRFODAwMTI4OThGIC8qIElEQkRhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjQ0MUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJEYXRh
YmFzZS5jcHAgKi87IH07CisJCTUxODVGQzgxMUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFz
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVC
NDUxQjlGODg5QjAwRjc4OUNFIC8qIElEQkRhdGFiYXNlLmggKi87IH07CisJCTUxODVGQzgzMUJC
NEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk4MzE4MTEwNkRGMDAxNkRDNTEgLyogSURC
RGF0YWJhc2VFcnJvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTUxODVGQzg0MUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk4NDE4MTEwNkRGMDAxNkRDNTEgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwICovOyB9Owor
CQk1MTg1RkM4NTFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg1MTgxMTA2
REYwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzg2MUJCNEM0RTgwMDEyODk4RiAv
KiBJREJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEwMzEwNUUxQkE4RTA5MDAwMzMyOUMwIC8qIElEQkRhdGFiYXNl
SWRlbnRpZmllci5jcHAgKi87IH07CisJCTUxODVGQzg3MUJCNEM0RTgwMDEyODk4RiAvKiBJREJE
YXRhYmFzZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxMDMxMDVGMUJBOEUwOTAwMDMzMjlDMCAvKiBJREJEYXRhYmFzZUlkZW50aWZp
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1
MTg1RkM4ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTYzMTE3QzE4NTEyNDJC
MDA1MzQ2NDcgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgKi87IH07CisJCTUxODVGQzg5MUJC
NEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFzZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM5NjExQTE4M0QyQjgwMDBEMjAwMkUgLyog
SURCRGF0YWJhc2VNZXRhZGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTUxODVGQzhBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJFdmVudERpc3Bh
dGNoZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFENzE5ODYxODExMDZERjAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5jcHAgKi87IH07
CisJCTUxODVGQzhCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg3MTgxMTA2
REYwMDE2REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuaCAqLzsgfTsKKwkJNTE4NUZDOEMxQkI0
QzRFODAwMTI4OThGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDYxQjlGODg5QjAwRjc4OUNFIC8qIElEQkZhY3Rv
cnkuY3BwICovOyB9OworCQk1MTg1RkM4RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNDcx
QjlGODg5QjAwRjc4OUNFIC8qIElEQkZhY3RvcnkuaCAqLzsgfTsKKwkJNTE4NUZDOEYxQkI0QzRF
ODAwMTI4OThGIC8qIElEQkdldFJlc3VsdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTEyM0FGMUMxODkxOEFFNDAwMzFDREM5IC8qIElEQkdldFJlc3Vs
dC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUx
ODVGQzkwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJJbmRleC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0ODFCOUY4ODlCMDBGNzg5Q0UgLyog
SURCSW5kZXguY3BwICovOyB9OworCQk1MTg1RkM5MTFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5k
ZXguaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1
QjQ5MUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJJbmRleC5oICovOyB9OworCQk1MTg1RkM5MzFCQjRD
NEU4MDAxMjg5OEYgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkI1QjYxODZEMEVEMTAwODM5MUExIC8qIElEQklu
ZGV4TWV0YWRhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OworCQk1MTg1RkM5NDFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTkxMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJLZXkuY3BwICovOyB9OworCQk1MTg1RkM5NTFCQjRDNEU4MDAxMjg5OEYgLyog
SURCS2V5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUQ3MTk5MjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDOTYxQkI0QzRFODAwMTI4OThGIC8q
IElEQktleURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTExRUMxQTcxODhEQUU3QjAwQkEzRUI2IC8qIElEQktleURhdGEuY3BwICovOyB9Owor
CQk1MTg1RkM5NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTExRUMxQTUxODhEQUNBNDAwQkEzRUI2
IC8qIElEQktleURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQk1MTg1RkM5ODFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UGF0aC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5MzE4MTEw
NkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5jcHAgKi87IH07CisJCTUxODVGQzk5MUJCNEM0RTgw
MDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUQ3MTk5NDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UGF0aC5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzlB
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5NTE4MTEwNkUwMDAxNkRDNTEgLyogSURC
S2V5UmFuZ2UuY3BwICovOyB9OworCQk1MTg1RkM5QjFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5
UmFuZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RDcxOTk2MTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlSYW5nZS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxODVGQzlEMUJCNEM0RTgwMDEyODk4
RiAvKiBJREJLZXlSYW5nZURhdGEuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTEyM0FGMTYxODkwQTRDQTAwMzFDREM5IC8qIElEQktleVJhbmdlRGF0
YS5jcHAgKi87IH07CisJCTUxODVGQzlFMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZURh
dGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMjNB
RjE3MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkM5RjFCQjRDNEU4MDAxMjg5
OEYgLyogSURCT2JqZWN0U3RvcmUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE2NDVCNEExQjlGODg5QjAwRjc4OUNFIC8qIElEQk9iamVjdFN0b3Jl
LmNwcCAqLzsgfTsKKwkJNTE4NUZDQTAxQkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3Jl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI0
QjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCT2JqZWN0U3RvcmUuaCAqLzsgfTsKKwkJNTE4NUZDQTIx
QkI0QzRFODAwMTI4OThGIC8qIElEQk9iamVjdFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJCNUI3MTg2RDBFRDEwMDgzOTFB
MSAvKiBJREJPYmplY3RTdG9yZU1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQTMxQkI0QzRFODAwMTI4OThGIC8qIElEQk9w
ZW5EQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTE2NDVCNEMxQjlGODg5QjAwRjc4OUNFIC8qIElEQk9wZW5EQlJlcXVlc3QuY3BwICov
OyB9OworCQk1MTg1RkNBNDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVxdWVzdC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVCNEQxQjlG
ODg5QjAwRjc4OUNFIC8qIElEQk9wZW5EQlJlcXVlc3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTg1RkNBNjFCQjRDNEU4MDAxMjg5OEYgLyog
SURCT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MTJFQTlCRDE4MjAyODU3MDAxRDAxRTAgLyogSURCT3BlcmF0aW9uLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQTcxQkI0QzRF
ODAwMTI4OThGIC8qIElEQlJlY29yZElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUFDNUIwMTgxNjNGNEUwMDRGMUJBNCAvKiBJREJS
ZWNvcmRJZGVudGlmaWVyLmggKi87IH07CisJCTUxODVGQ0E4MUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNjQ1QjRFMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJSZXF1ZXN0LmNwcCAqLzsgfTsKKwkJ
NTE4NUZDQTkxQkI0QzRFODAwMTI4OThGIC8qIElEQlJlcXVlc3QuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjRGMUI5Rjg4OUIwMEY3ODlDRSAv
KiBJREJSZXF1ZXN0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNTE4NUZDQUIxQkI0QzRFODAwMTI4OThGIC8qIElEQlNlcnZlckNvbm5lY3Rpb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxMEEzMjZF
MTgzMTg0MzEwMDNDNTMyNiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQUMxQkI0QzRFODAwMTI4
OThGIC8qIElEQlRyYW5zYWN0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxNjQ1QjUwMUI5Rjg4OUIwMEY3ODlDRSAvKiBJREJUcmFuc2FjdGlv
bi5jcHAgKi87IH07CisJCTUxODVGQ0FEMUJCNEM0RTgwMDEyODk4RiAvKiBJREJUcmFuc2FjdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE2NDVC
NTExQjlGODg5QjAwRjc4OUNFIC8qIElEQlRyYW5zYWN0aW9uLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQUYxQkI0QzRFODAwMTI4OThG
IC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTY0NUI1MjFCOUY4ODlCMDBGNzg5Q0UgLyogSURCVmVyc2lv
bkNoYW5nZUV2ZW50LmNwcCAqLzsgfTsKKwkJNTE4NUZDQjAxQkI0QzRFODAwMTI4OThGIC8qIElE
QlZlcnNpb25DaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNTE2NDVCNTMxQjlGODg5QjAwRjc4OUNFIC8qIElEQlZlcnNpb25DaGFuZ2VF
dmVudC5oICovOyB9OworCQk1MTg1RkNCMjFCQjRDNEU4MDAxMjg5OEYgLyogSW5kZXhlZERCLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTlBRTE4
MTEwNkUwMDAxNkRDNTEgLyogSW5kZXhlZERCLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQjMxQkI0QzRFODAwMTI4OThGIC8qIFdvcmtl
ckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUIxMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi87IH07CisJCTUxODVGQ0I0MUJCNEM0RTgw
MDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjIxODExMDZFMDAwMTZE
QzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggKi87IH07CisJCTUxODVG
Q0I3MUJCNEM3NjcwMDEyODk4RiAvKiBET01SZXF1ZXN0U3RhdGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODVGQ0I2MUJCNEM3NjEwMDEyODk4RiAv
KiBET01SZXF1ZXN0U3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OworCQk1MTg1RkNCOTFCQjRDQkY4MDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRv
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MTBBNThGRTFCQjA3QUE1MDBDMTkyODIgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNTE4NUZDQkExQkI0
Q0JGODAwMTI4OThGIC8qIElEQlNlcnZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MTBBNThFRjFCQUI3MjBGMDBDMTkyODIgLyogSURCU2VydmVy
LmNwcCAqLzsgfTsKKwkJNTE4NUZDQkIxQkI0Q0JGODAwMTI4OThGIC8qIElEQlNlcnZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTEwQTU4RjAxQkFC
NzIwRjAwQzE5MjgyIC8qIElEQlNlcnZlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTUxODlGMDFEMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0
YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTE4OUYwMUIxMEIzN0JEOTAwRjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5jcHAgKi87IH07
CiAJCTUxODlGMDFFMTBCMzdCRDkwMEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxODlGMDFDMTBCMzdCRDkw
MEYzQzczOSAvKiBKU1BvcFN0YXRlRXZlbnQuaCAqLzsgfTsKIAkJNTE4OUYwREUxMEI0NkIwRTAw
RjNDNzM5IC8qIFBvcFN0YXRlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTE4OUYwREQxMEI0NkIwRTAwRjNDNzM5IC8qIFBvcFN0YXRlRXZl
bnQuY3BwICovOyB9OwpAQCAtMjA3MCw4ICsyMTE5LDYgQEAKIAkJNTFBQkFFMUIxMDNDMThGRjAw
OEM1MjYwIC8qIFNvY2tldFN0cmVhbUVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFCQUUxQTEwM0MxOEZGMDA4QzUyNjAgLyogU29ja2V0U3Ry
ZWFtRXJyb3IuaCAqLzsgfTsKIAkJNTFBQkFFMUUxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0
cmVhbUhhbmRsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFBQkFFMUMxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZS5oICovOyB9
OwogCQk1MUFCQUUxRjEwM0MxOTEzMDA4QzUyNjAgLyogU29ja2V0U3RyZWFtSGFuZGxlQ0ZOZXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFBQkFF
MUQxMDNDMTkxMzAwOEM1MjYwIC8qIFNvY2tldFN0cmVhbUhhbmRsZUNGTmV0LmNwcCAqLzsgfTsK
LQkJNTFBQkI1QjgxODZEMEVEMTAwODM5MUExIC8qIElEQkluZGV4TWV0YWRhdGEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJCNUI2MTg2RDBFRDEw
MDgzOTFBMSAvKiBJREJJbmRleE1ldGFkYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFBQkI1QjkxODZEMEVEMTAwODM5MUExIC8qIElEQk9i
amVjdFN0b3JlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxQUJCNUI3MTg2RDBFRDEwMDgzOTFBMSAvKiBJREJPYmplY3RTdG9yZU1ldGFk
YXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NTFBQkY2NEQxNjM5MkUyODAwMTMyQTdBIC8qIExvYWRlclN0cmF0ZWd5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQUJGNjRDMTYzOTJFMjgwMDEz
MkE3QSAvKiBMb2FkZXJTdHJhdGVneS5jcHAgKi87IH07CiAJCTUxQUY1MDM2MTZGMTAwRjYwMDk1
QjJFOCAvKiBSZXNvdXJjZUxvYWRlclR5cGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUFGNTAzNTE2RjEwMEY2MDA5NUIyRTggLyogUmVzb3VyY2VM
b2FkZXJUeXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxQjI0MTdCMEQ5MzFGM0YwMEU4M0Y1QyAvKiBMZWdhY3lXZWJBcmNoaXZlTWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFCMjQxN0Ew
RDkzMUYzRjAwRTgzRjVDIC8qIExlZ2FjeVdlYkFyY2hpdmVNYWMubW0gKi87IH07CkBAIC0yMDg0
LDI3ICsyMTMxLDEwIEBACiAJCTUxQzBBQTQxMEYyQUExNUUwMDE2NDhDMiAvKiBDYWNoZWRGcmFt
ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUMw
QUE0MDBGMkFBMTVFMDAxNjQ4QzIgLyogQ2FjaGVkRnJhbWUuY3BwICovOyB9OwogCQk1MUM4MUI4
OTBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxQzgxQjg3MEM0NDIyRjcwMDE5RUNF
MyAvKiBGVFBEaXJlY3RvcnlQYXJzZXIuY3BwICovOyB9OwogCQk1MUM4MUI4QTBDNDQyMkY3MDAx
OUVDRTMgLyogRlRQRGlyZWN0b3J5UGFyc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUM4MUI4ODBDNDQyMkY3MDAxOUVDRTMgLyogRlRQRGlyZWN0
b3J5UGFyc2VyLmggKi87IH07Ci0JCTUxQzk2MTFCMTgzRDJCODAwMEQyMDAyRSAvKiBJREJEYXRh
YmFzZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUM5NjExQTE4M0QyQjgwMDBEMjAwMkUgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxQ0JGQzk5
MEQxMEU0ODMwMDJEQkY1MSAvKiBDYWNoZWRGcmFtZVBsYXRmb3JtRGF0YS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFDQkZDOTgwRDEwRTQ4MzAwMkRC
RjUxIC8qIENhY2hlZEZyYW1lUGxhdGZvcm1EYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFEMEM1MTYwREFBOTBCNzAwM0IzODMxIC8qIEpT
U3RvcmFnZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA1MUQwQzUxNTBEQUE5MEI3MDAzQjM4MzEgLyogSlNTdG9yYWdlQ3VzdG9tLmNwcCAq
LzsgfTsKLQkJNTFENzE5QjYxODExMDZFMDAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERhdGFiYXNlLmNwcCAq
LzsgfTsKLQkJNTFENzE5QjcxODExMDZFMDAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRh
YmFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
NzE5NkQxODExMDZERjAwMTZEQzUxIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5oICovOyB9
OwotCQk1MUQ3MTlCOTE4MTEwNkUwMDAxNkRDNTEgLyogSURCQW55LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTZGMTgxMTA2REYwMDE2REM1
MSAvKiBJREJBbnkuY3BwICovOyB9OwotCQk1MUQ3MTlCQTE4MTEwNkUwMDAxNkRDNTEgLyogSURC
QW55LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk3MDE4MTEwNkRGMDAxNkRDNTEgLyogSURCQW55LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5Q0QxODExMDZFMDAwMTZEQzUxIC8qIElE
QkRhdGFiYXNlRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRDcxOTgzMTgxMTA2REYwMDE2REM1MSAvKiBJREJEYXRhYmFzZUVycm9yLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5Q0Ux
ODExMDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXhjZXB0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOTg0MTgxMTA2REYwMDE2REM1
MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgKi87IH07Ci0JCTUxRDcxOUNGMTgxMTA2RTAw
MDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODUxODExMDZERjAwMTZEQzUxIC8qIElEQkRh
dGFiYXNlRXhjZXB0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKLQkJNTFENzE5RDAxODExMDZFMDAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3
MTk4NjE4MTEwNkRGMDAxNkRDNTEgLyogSURCRXZlbnREaXNwYXRjaGVyLmNwcCAqLzsgfTsKLQkJ
NTFENzE5RDExODExMDZFMDAwMTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5ODcxODExMDZERjAw
MTZEQzUxIC8qIElEQkV2ZW50RGlzcGF0Y2hlci5oICovOyB9OwotCQk1MUQ3MTlEQjE4MTEwNkUw
MDAxNkRDNTEgLyogSURCS2V5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRDcxOTkxMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXkuY3BwICovOyB9
OwotCQk1MUQ3MTlEQzE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5MjE4MTEwNkUwMDAxNkRDNTEg
LyogSURCS2V5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKLQkJNTFENzE5REQxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBhdGguY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTMxODExMDZFMDAw
MTZEQzUxIC8qIElEQktleVBhdGguY3BwICovOyB9OwotCQk1MUQ3MTlERTE4MTEwNkUwMDAxNkRD
NTEgLyogSURCS2V5UGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFENzE5OTQxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVBhdGguaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlERjE4MTEw
NkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5OTUxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVJh
bmdlLmNwcCAqLzsgfTsKLQkJNTFENzE5RTAxODExMDZFMDAwMTZEQzUxIC8qIElEQktleVJhbmdl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUQ3MTk5
NjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUQ3MTlGODE4MTEwNkUwMDAxNkRDNTEgLyog
SW5kZXhlZERCLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUQ3MTlBRTE4MTEwNkUwMDAxNkRDNTEgLyogSW5kZXhlZERCLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNTFENzE5RkIxODExMDZFMDAwMTZE
QzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcxOUIxMTgxMTA2RTAwMDE2REM1
MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgKi87IH07Ci0JCTUxRDcx
OUZDMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFENzE5QjIx
ODExMDZFMDAwMTZEQzUxIC8qIFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggKi87
IH07CisJCTUxRDcyMzZDMUJCNjE3NDkwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcyMzZBMUJCNjBC
RkUwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCAqLzsgfTsKKwkJNTFENzIzNkQxQkI2MTc0
OTAwNDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRDcyMzZCMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHRE
YXRhLmggKi87IH07CiAJCTUxRENFODAyMENBQzlGMUMwMDQ4ODM1OCAvKiBKU1NRTFJlc3VsdFNl
dFJvd0xpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFEQ0U4MDEwQ0FDOUYxQzAwNDg4MzU4IC8qIEpTU1FMUmVzdWx0U2V0Um93TGlz
dEN1c3RvbS5jcHAgKi87IH07CiAJCTUxREY2RDdFMEI5MkExNkQwMEMyREM4NSAvKiBUaHJlYWRD
aGVjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFE
RjZEN0QwQjkyQTE2RDAwQzJEQzg1IC8qIFRocmVhZENoZWNrLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFERjZEODAwQjkyQTE4RTAwQzJEQzg1
IC8qIFRocmVhZENoZWNrLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFERjZEN0YwQjkyQTE4RTAwQzJEQzg1IC8qIFRocmVhZENoZWNrLm1tICovOyB9
OwpAQCAtMjEyNSw3ICsyMTU1LDYgQEAKIAkJNTFFM0Y5RDYwREEwNUUxRDAwMjUwOTExIC8qIEpT
U3RvcmFnZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUUzRjlENDBEQTA1RTFEMDAyNTA5MTEgLyogSlNTdG9yYWdlLmNwcCAqLzsgfTsKIAkJNTFF
NDE0MzQxNkE2NTk2MzAwQzYzM0M3IC8qIFJlc291cmNlSGFuZGxlVHlwZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRTQxNDMyMTZBNjU5NTEwMEM2
MzNDNyAvKiBSZXNvdXJjZUhhbmRsZVR5cGVzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFFNjgyMTAxNjM4NzMwMjAwM0JCRjNDIC8qIExvYWRl
clN0cmF0ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUU2ODIwRjE2Mzg3MzAyMDAzQkJGM0MgLyogTG9hZGVyU3RyYXRlZ3kuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQk1MUVBQzVCMjE4MTYzRjRF
MDA0RjFCQTQgLyogSURCUmVjb3JkSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFQUM1QjAxODE2M0Y0RTAwNEYxQkE0IC8qIElEQlJl
Y29yZElkZW50aWZpZXIuaCAqLzsgfTsKIAkJNTFFQzkyNjUwQ0U5MERENDAwRjkwMzA4IC8qIEpT
Q3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUVDOTI1RDBDRTkwREQ0MDBGOTAzMDggLyogSlND
dXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCAqLzsgfTsKIAkJNTFFRTdCMzgxQUE1
MEIwNTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRUU3QjM3MUFBNTBCMDUwMEY5MkIyMSAvKiBSZXNv
dXJjZUxvYWRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNTFFRTdCM0ExQUE1MTIzMTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFFRTdCMzkx
QUE1MTIzMTAwRjkyQjIxIC8qIFJlc291cmNlTG9hZEluZm8uY3BwICovOyB9OwpAQCAtOTIxNCw2
ICs5MjQzLDE2IEBACiAJCTUxMDZEN0JCMThCREI3NkYwMDBBQjE2NiAvKiBDb250ZXh0TWVudUNv
bnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1l
bnVDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNkQ3QkMxOEJE
Qjc2RjAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb250ZXh0TWVudUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTEwQTMyNkUxODMxODQzMTAwM0M1MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCU2VydmVyQ29ubmVjdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThFMjFCQUE0MEFFMDBDMTkyODIg
LyogSW5Qcm9jZXNzSURCU2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEluUHJvY2Vzc0lEQlNlcnZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxMEE1OEUzMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2ZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5Qcm9jZXNzSURCU2VydmVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEU2MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJS
ZXF1ZXN0SWRlbnRpZmllci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJREJSZXF1ZXN0SWRlbnRpZmllci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxMEE1OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRlbnRpZmllci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJSZXF1ZXN0SWRlbnRpZmllci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThFRjFCQUI3MjBGMDBDMTkyODIgLyogSURC
U2VydmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElEQlNlcnZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEYwMUJBQjcyMEYwMEMx
OTI4MiAvKiBJREJTZXJ2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURC
U2VydmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMEE1OEY1MUJBQ0M0QTUw
MEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJREJSZXF1ZXN0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTUxMEE1OEY2MUJBQ0M0QTUwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJREJSZXF1ZXN0RGF0YS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MTBBNThGRDFCQjA3QTk2MDBDMTkyODIgLyogSURCQ29ubmVjdGlv
blRvU2VydmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTBBNThGRTFCQjA3
QUE1MDBDMTkyODIgLyogSURCQ29ubmVjdGlvblRvQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MTBENEEyRDEwMzE2NUVFMDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJy
b3JCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNvY2tldFN0
cmVhbUVycm9yQmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTJF
MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1FcnJvckJhc2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU29ja2V0U3RyZWFtRXJyb3JCYXNlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxMEQ0QTMwMTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJl
YW1IYW5kbGVCYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNv
Y2tldFN0cmVhbUhhbmRsZUJhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
OTI1OSw2ICs5Mjk4LDggQEAKIAkJNTEzRjE0NTIwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2Fk
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEljb25Mb2FkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0MDVDODYxOTBCMDE0NDAwNzU0Rjk0IC8qIFNl
bGVjdGlvblJlY3RHYXRoZXJlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTZWxlY3Rpb25SZWN0R2F0aGVyZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTQwNUM4NzE5MEIwMTQ0MDA3NTRGOTQgLyogU2VsZWN0aW9uUmVjdEdhdGhlcmVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlbGVjdGlvblJlY3RHYXRoZXJlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ4NDUzQzFCQjlEMDc2MDA2QTcyRUQg
LyogSURCRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSURC
RXJyb3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTQ4NDUzRDFCQjlEMDc2
MDA2QTcyRUQgLyogSURCRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SURCRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE0QjNGNzIwQzcyMjA0
NzAwMDUzMERGIC8qIEZpbGVTeXN0ZW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRmlsZVN5c3RlbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTRCM0Y3NTBD
NzIyMDU1MDAwNTMwREYgLyogRmlsZVN5c3RlbU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IEZpbGVTeXN0ZW1NYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxNEM3NjM1MENFOTIyNUUwMDdFRjNDRCAvKiBKU1NRTEVycm9yLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1FMRXJyb3IuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTM1MCw2ICs5MzkxLDggQEAKIAkJNTE2QzYyMUYxOTUw
RDQ4NzAwMzM3RTc1IC8qIEdhbWVwYWRFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
R2FtZXBhZEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE2QzYyMjMx
OTUwRTJCOTAwMzM3RTc1IC8qIEpTR2FtZXBhZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2FtZXBhZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTE2QzYyMjQxOTUwRTJCOTAwMzM3RTc1IC8qIEpTR2FtZXBhZEV2ZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2FtZXBhZEV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxNkQ3RDZEMUJCNUYwNjUwMEFGN0M3NyAvKiBJREJD
b25uZWN0aW9uVG9DbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSURCQ29ubmVjdGlvblRvQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTE2RDdENkUxQkI1RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudERlbGVn
YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQkNvbm5lY3Rpb25Ub0Ns
aWVudERlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxNzQxRDBCMEIw
NzI1OUEwMEVENDQyQyAvKiBCYWNrRm9yd2FyZENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCYWNrRm9yd2FyZENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MTc0MUQwRDBCMDcyNTlBMDBFRDQ0MkMgLyogSGlzdG9yeUl0ZW0uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhpc3RvcnlJdGVtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxNzQxRDBFMEIwNzI1OUEwMEVENDQyQyAvKiBIaXN0b3J5SXRlbS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGlzdG9yeUl0ZW0uY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtOTM2Niw2ICs5NDA5LDkgQEAKIAkJNTE3
QTYzQzIxQjc0MzE3RTAwRTdEQ0RDIC8qIEtleWVkRW5jb2RlckNGLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEtleWVkRW5jb2RlckNGLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxN0ZCQTE3MTUxQUE3MUIwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRlbnNpb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRE9NV2luZG93RXh0ZW5z
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE3RkJBMTgxNTFBQTcxQjAw
QjU3OTU5IC8qIERPTVdpbmRvd0V4dGVuc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNTE4NUZDQjYxQkI0Qzc2MTAwMTI4OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01SZXF1ZXN0U3RhdGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTE4NUZDQkMxQkI1Q0I3NzAwMTI4OThGIC8qIElEQkNvbm5lY3Rp
b25Ub1NlcnZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MTg1
RkNCRDFCQjVDQjc3MDAxMjg5OEYgLyogSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSURCQ29ubmVjdGlvblRvU2VydmVyRGVs
ZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTE4OUYwMUIxMEIzN0JEOTAw
RjNDNzM5IC8qIEpTUG9wU3RhdGVFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1BvcFN0YXRlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MTg5RjAxQzEwQjM3QkQ5MDBGM0M3MzkgLyogSlNQb3BTdGF0ZUV2ZW50LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUG9wU3RhdGVFdmVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MTg5RjBERDEwQjQ2QjBFMDBGM0M3MzkgLyogUG9wU3RhdGVF
dmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQb3BTdGF0ZUV2
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTk0NDMsNiArOTQ4OSw4IEBA
CiAJCTUxRDcxOUIxMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJH
bG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTUxRDcxOUIyMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWRE
YXRhYmFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3JrZXJHbG9iYWxT
Y29wZUluZGV4ZWREYXRhYmFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUQ3
MTlCMzE4MTEwNkUwMDAxNkRDNTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2Uu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFi
YXNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFENzIzNkExQkI2MEJGRTAw
NDc4Q0EzIC8qIElEQlJlc3VsdERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSURCUmVzdWx0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxRDcyMzZCMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElEQlJlc3VsdERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFEQ0U4MDEwQ0FDOUYxQzAwNDg4MzU4IC8qIEpTU1FMUmVzdWx0U2V0Um93
TGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NR
TFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk1MURGNkQ3RDBCOTJBMTZEMDBDMkRDODUgLyogVGhyZWFkQ2hlY2suaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVGhyZWFkQ2hlY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFERjZEN0YwQjkyQTE4RTAwQzJEQzg1IC8qIFRocmVhZENoZWNrLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVGhyZWFkQ2hlY2subW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjU3Miw2ICsxNjYyMCw5IEBACiAJCTUxMDMxMDQy
MUJBOEM2NEMwMDMzMjlDMCAvKiBjbGllbnQgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTUxODVGQ0JDMUJCNUNCNzcwMDEyODk4RiAvKiBJREJDb25uZWN0
aW9uVG9TZXJ2ZXIuY3BwICovLAorCQkJCTUxMEE1OEZEMUJCMDdBOTYwMEMxOTI4MiAvKiBJREJD
b25uZWN0aW9uVG9TZXJ2ZXIuaCAqLywKKwkJCQk1MTg1RkNCRDFCQjVDQjc3MDAxMjg5OEYgLyog
SURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUuaCAqLywKIAkJCQk1MTAzMTA0QTFCQThDNkE2
MDAzMzI5QzAgLyogSURCRmFjdG9yeUltcGwuY3BwICovLAogCQkJCTUxMDMxMDRCMUJBOEM2QTYw
MDMzMjlDMCAvKiBJREJGYWN0b3J5SW1wbC5oICovLAogCQkJCTUxMDMxMDU2MUJBOERCMzAwMDMz
MjlDMCAvKiBJREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAgKi8sCkBAIC0xNjU4Miw2ICsxNjYzMywz
NSBAQAogCQkJcGF0aCA9IGNsaWVudDsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07
CisJCTUxMEE1OEUxMUJBQTQwOTgwMEMxOTI4MiAvKiBzaGFyZWQgKi8gPSB7CisJCQlpc2EgPSBQ
QlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTUxNDg0NTNDMUJCOUQwNzYwMDZBNzJFRCAv
KiBJREJFcnJvci5jcHAgKi8sCisJCQkJNTE0ODQ1M0QxQkI5RDA3NjAwNkE3MkVEIC8qIElEQkVy
cm9yLmggKi8sCisJCQkJNTEwQTU4RjUxQkFDQzRBNTAwQzE5MjgyIC8qIElEQlJlcXVlc3REYXRh
LmNwcCAqLywKKwkJCQk1MTBBNThGNjFCQUNDNEE1MDBDMTkyODIgLyogSURCUmVxdWVzdERhdGEu
aCAqLywKKwkJCQk1MTBBNThFNjFCQUE0MUM5MDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuY3BwICovLAorCQkJCTUxMEE1OEU3MUJBQTQxQzkwMEMxOTI4MiAvKiBJREJSZXF1ZXN0SWRl
bnRpZmllci5oICovLAorCQkJCTUxRDcyMzZBMUJCNjBCRkUwMDQ3OENBMyAvKiBJREJSZXN1bHRE
YXRhLmNwcCAqLywKKwkJCQk1MUQ3MjM2QjFCQjYwQkZFMDA0NzhDQTMgLyogSURCUmVzdWx0RGF0
YS5oICovLAorCQkJCTUxMEE1OEUyMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJTZXJ2
ZXIuY3BwICovLAorCQkJCTUxMEE1OEUzMUJBQTQwQUUwMEMxOTI4MiAvKiBJblByb2Nlc3NJREJT
ZXJ2ZXIuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gc2hhcmVkOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJNTEwQTU4RUUxQkFCNzFFMDAwQzE5MjgyIC8qIHNlcnZlciAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNTE2RDdENkQxQkI1
RjA2NTAwQUY3Qzc3IC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAgKi8sCisJCQkJNTEwQTU4
RkUxQkIwN0FBNTAwQzE5MjgyIC8qIElEQkNvbm5lY3Rpb25Ub0NsaWVudC5oICovLAorCQkJCTUx
NkQ3RDZFMUJCNUYwNjUwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnREZWxlZ2F0ZS5o
ICovLAorCQkJCTUxMEE1OEVGMUJBQjcyMEYwMEMxOTI4MiAvKiBJREJTZXJ2ZXIuY3BwICovLAor
CQkJCTUxMEE1OEYwMUJBQjcyMEYwMEMxOTI4MiAvKiBJREJTZXJ2ZXIuaCAqLywKKwkJCSk7CisJ
CQlwYXRoID0gc2VydmVyOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNTEy
NkU2QjYwQTJFM0FFRjAwNUMyOUZBIC8qIGljb24gKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKApAQCAtMTg4MDYsNiArMTg4ODYsOCBAQAogCQkJY2hpbGRyZW4gPSAo
CiAJCQkJNTEwMzEwNDIxQkE4QzY0QzAwMzMyOUMwIC8qIGNsaWVudCAqLywKIAkJCQk1MTY0NUIy
NzFCOUY2MzdFMDBGNzg5Q0UgLyogbGVnYWN5ICovLAorCQkJCTUxMEE1OEVFMUJBQjcxRTAwMEMx
OTI4MiAvKiBzZXJ2ZXIgKi8sCisJCQkJNTEwQTU4RTExQkFBNDA5ODAwQzE5MjgyIC8qIHNoYXJl
ZCAqLywKIAkJCQk1MUQ3MTk2QzE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93SW5kZXhlZERh
dGFiYXNlLmNwcCAqLywKIAkJCQk1MUQ3MTk2RDE4MTEwNkRGMDAxNkRDNTEgLyogRE9NV2luZG93
SW5kZXhlZERhdGFiYXNlLmggKi8sCiAJCQkJNTFENzE5NkUxODExMDZERjAwMTZEQzUxIC8qIERP
TVdpbmRvd0luZGV4ZWREYXRhYmFzZS5pZGwgKi8sCkBAIC0yMTQ4Myw2ICsyMTU2NSw3IEBACiAJ
CQkJMzEyRDY3QjAxNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwICovLAogCQkJCTMx
NjAyM0VGMTUzMkM0MEMwMEQ1MEZGNCAvKiBEaWN0aW9uYXJ5LmggKi8sCiAJCQkJQjU2NTc2RTcx
N0RBOTRFMjAwQTU2QkRDIC8qIERPTUNvbnN0cnVjdG9yV2l0aERvY3VtZW50LmggKi8sCisJCQkJ
NTE4NUZDQjYxQkI0Qzc2MTAwMTI4OThGIC8qIERPTVJlcXVlc3RTdGF0ZS5oICovLAogCQkJCUJD
NTNEQTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuY3BwICovLAogCQkJCUJD
NTNEQTJEMTE0MzEyMUUwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuaCAqLywKIAkJCQkxNDMy
RTg0ODBDNTE0OTNGMDBCMTUwMEYgLyogR0NDb250cm9sbGVyLmNwcCAqLywKQEAgLTI0MTQzLDEx
ICsyNDIyNiwxMyBAQAogCQkJCTI0RjU0RUFEMTAxRkU5MTQwMDBBRTc0MSAvKiBBcHBsaWNhdGlv
bkNhY2hlSG9zdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4RjZCQzEwREI1NUNEQzAwMURCNzk0
IC8qIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyQUFD
NTkwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTBBNThGQzFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZp
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCNDE3MDY0MTI1NjYyQjMwMDZCMjhGQyAvKiBBcHBs
eUJsb2NrRWxlbWVudENvbW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5REQ5MDk5RTY0
OTIwMDU2RTU4MSAvKiBBcHBseVN0eWxlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEy
REQ4RjYwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MkREOEZEMEQ5MUU2QUYwMDBGODlFRSAvKiBBcmNoaXZlRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEyREQ4RkMwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJjZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNTE4NUZDN0UxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvcldpdGhW
YWx1ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyREQ4RjgwRDkxRTZBRjAwMEY4OUVFIC8qIEFy
Y2hpdmVSZXNvdXJjZUNvbGxlY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QjM3NjBEMTVD
NkM2ODQwMDU5MTMxRCAvKiBBcnJheVZhbHVlLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDU2ODZD
QTEzQUMxODAyMDBCNjlDNjggLyogQXN5bmNBdWRpb0RlY29kZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMjQxODYsNiArMjQyNzEsNyBAQAogCQkJCUZEMzU5MTkwMTM4REIyMjAwMEUxRUJFQyAvKiBB
dWRpb1BhcmFtVGltZWxpbmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDIwMTJCMDI2NzYw
MEMxQTM1OSAvKiBBdWRpb1Byb2Nlc3NpbmdFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQz
MTYwODQxMkIwMjZGNzAwQzFBMzU5IC8qIEF1ZGlvUHJvY2Vzc29yLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkM4NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGRDMxNjA4NjEyQjAyNkY3MDBDMUEzNTkgLyogQXVkaW9SZXNh
bXBsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2MDg4MTJCMDI2RjcwMEMxQTM1OSAvKiBB
dWRpb1Jlc2FtcGxlcktlcm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ4QzQ2RUMxNTQ2MDhF
NzAwQTU5MTBDIC8qIEF1ZGlvU2NoZWR1bGVkU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNDIyOCw2ICsyNDMxNCw3IEBACiAJCQkJQkNBOENBNjAxMUU0RTZEMTAwODEyRkI3IC8qIEJh
Y2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxMjRFRTgwQzI2NDFDRDAwOUUy
MzQ5IC8qIEJhclByb3AuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUU2MUNBMTI2Q0E1QzQwMEI2
M0U4RCAvKiBCYXNlQnV0dG9uSW5wdXRUeXBlLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM5
MTFCQjRDNEU4MDAxMjg5OEYgLyogSURCSW5kZXguaCBpbiBIZWFkZXJzICovLAogCQkJCTM3OUU2
MUNDMTI2Q0E1QzQwMEI2M0U4RCAvKiBCYXNlQ2hlY2thYmxlSW5wdXRUeXBlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlGNUUwQzY1QzE2NDNDNDJDMDBENkNCNjkgLyogQmFzZUNob29zZXJPbmx5RGF0
ZUFuZFRpbWVJbnB1dFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUMzM0VFNUM1MTRGQjQ5NjEw
MDAyMDk1QSAvKiBCYXNlQ2xpY2thYmxlV2l0aEtleUlucHV0VHlwZS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNDM0NSw2ICsyNDQzMiw3IEBACiAJCQkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8q
IENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1ODAzNzE2MjFBNjZGMDBB
MDBCQUY1MTkgLyogQ2xpcFJlY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QUFCRDEzMTRGQTA5
RDUwMDc0NTdBRSAvKiBDbG9zZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MUQ3MjM2RDFC
QjYxNzQ5MDA0NzhDQTMgLyogSURCUmVzdWx0RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzBD
MDU0Q0IxMTE4QzhFNDAwQ0UyNjM2IC8qIENvZGVHZW5lcmF0b3IucG0gaW4gSGVhZGVycyAqLywK
IAkJCQlCQzVFQjVERjBFODFCOUFCMDBCMjU5NjUgLyogQ29sbGFwc2VkQm9yZGVyVmFsdWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0MjVBNDlBMTgyOTJCODQwMDIwQ0ZDRiAvKiBDb2xsZWN0aW9u
SW5kZXhDYWNoZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDM3MSw2ICsyNDQ1OSw3IEBACiAJCQkJ
NzlGMkY1QTIxMDkxOTM5QTAwMEQ4N0NCIC8qIENvbXBvc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUZEMzE2MDhGMTJCMDI2RjcwMEMxQTM1OSAvKiBDb25lLmggaW4gSGVhZGVycyAq
LywKIAkJCQk2NUM5N0FGMzA4RUE5MDg4MDBBQ0QyNzMgLyogY29uZmlnLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkNCQjFCQjRDQkY4MDAxMjg5OEYgLyogSURCU2VydmVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBODE4NzIxQzA5NzdEM0MwMDA1ODI2RDkgLyogQ29udGFpbmVyTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBMTQ3MDgxMTEwMkIxNTAwRUVDMEYzIC8qIENvbnRhaW5lck5v
ZGVBbGdvcml0aG1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzVFQjk4MTBFODIwNzI1MDBCMjU5
NjUgLyogQ29udGVudERhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtMjQzODQsNiArMjQ0NzMsNyBA
QAogCQkJCTI2RjBDOEEwMUEyRUMzQkUwMDI3OTRGOCAvKiBDb250ZW50RXh0ZW5zaW9uc0JhY2tl
bmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2MjM5MTM2MUE2NDhDRUUwMDcyNTFBMyAvKiBDb250
ZW50RXh0ZW5zaW9uc0RlYnVnZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGQjY3REMxQUU2
QjgyRjAwRDA2QzVBIC8qIENvbnRlbnRFeHRlbnNpb25TdHlsZVNoZWV0LmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkM3NTFCQjRDNEU4MDAxMjg5OEYgLyogRE9NV2luZG93SW5kZXhlZERhdGFi
YXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTQ5Nzg2RjFBQkFGMzM4MDBDRUY3RTQgLyogQ29u
dGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0MDkwRkQxQUE1MUU0ODAwOTExOTFB
IC8qIENvbnRlbnRGaWx0ZXJVbmJsb2NrSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdD
NDcxREMxMkY5MjVCRDAwODYzNTRCIC8qIENvbnRlbnRTZWN1cml0eVBvbGljeS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNDUzNiw2ICsyNDYyNiw3IEBACiAJCQkJRTQ5QkQ5RkExMzFGRDJFRDAwM0M1
NkYwIC8qIENTU1ZhbHVlUG9vbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5MkYwODI0NUU1
OTAwMUU5QUJDIC8qIEN1cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMjcyQTIwRTgyRTg3
QzAwRTdGOTc1IC8qIEN1cnNvckRhdGEuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0I0MUJC
NEM0RTgwMDEyODk4RiAvKiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMyMjcyQUQwRTgyRThGMzAwRTdGOTc1IC8qIEN1cnNvckxpc3QuaCBp
biBIZWFkZXJzICovLAogCQkJCTYyQ0QzMjVBMTE1N0U1N0MwMDYzQjBBNyAvKiBDdXN0b21FdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDQjQxM0UwRTg2MzNGRDAwMzJDNEYwIC8qIERhc2hB
cnJheS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDU3OCw2ICsyNDY2OSw3IEBACiAJCQkJNDFBM0Q1
OEYxMDFDMTUyRDAwMzE2RDA3IC8qIERlZGljYXRlZFdvcmtlclRocmVhZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkQwNkRGQTYxMzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQzMTYwMkMxMkIwMjY3NjAwQzFBMzU5IC8q
IERlbGF5RFNQS2VybmVsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM4NTFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMzE2
MDJFMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
MzE2MDMxMTJCMDI2NzYwMEMxQTM1OSAvKiBEZWxheVByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTMzMDlEREYwOTlFNjQ5MjAwNTZFNTgxIC8qIERlbGV0ZUZyb21UZXh0Tm9kZUNvbW1h
bmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ1OTQsNiArMjQ2ODYsNyBAQAogCQkJCTU5QThGMUQ4
MTFBNjk1MjAwMDFBQzM0QSAvKiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMzE0MDM3OUQxMjRCRUE3RjAwQUY0MEU0IC8qIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50SU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQk1OTMwOUExMzExRjRBRTZBMDAyNTA2MDMgLyog
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM4
RDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlB
OEYxRDYxMUE2OTUxMzAwMUFDMzRBIC8qIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTkwRTFCNDkxMUU0RUY0QjAwNjlGNzg0IC8qIERldmljZU9yaWVu
dGF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTlBODVFQTQxMTlENjhFQzAwREVGMUVG
IC8qIERldmljZU9yaWVudGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ2MTcsNiAr
MjQ3MTAsNyBAQAogCQkJCTdFREFBRkM5MTlBMkNDREMwMDM0REZEMSAvKiBEaXNrQ2FjaGVNb25p
dG9yQ29jb2EuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5QUYyRDY5MTQ0MzVEMDUwMDE2QTc4NCAv
KiBEaXNwbGF5UmVmcmVzaE1vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMjlFQ0M2MTky
RUNDODMwMDk4NEI3OCAvKiBEaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTUxODVGQzk5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlQYXRoLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDI5RUNDQTE5MkYxRjFEMDA5ODRCNzggLyogRGlzcGxheVJlZnJlc2hN
b25pdG9ySU9TLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREU3MDAyMzE5MkZFODJBMDBCMDk3NUMg
LyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDI5RUND
ODE5MkVDQzgzMDA5ODRCNzggLyogRGlzcGxheVJlZnJlc2hNb25pdG9yTWFuYWdlci5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNDY0OSw2ICsyNDc0Myw3IEBACiAJCQkJMUE4RjZCQzMwREI1NUNEQzAw
MURCNzk0IC8qIERPTUFwcGxpY2F0aW9uQ2FjaGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RDM4
OUIyMEE5OTFBN0YwMDI4MjE0NSAvKiBET01BdHRyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3
MTE4RDBBQzVENTM1MDA1MzI3MEYgLyogRE9NQXR0ckludGVybmFsLmggaW4gSGVhZGVycyAqLywK
KwkJCQk1MTg1RkNBNzFCQjRDNEU4MDAxMjg5OEYgLyogSURCUmVjb3JkSWRlbnRpZmllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNzZGQjlGRUIxOUE3Mjg0QjAwNDIwNTYyIC8qIERPTUF1dG9jb21w
bGV0ZUVycm9yRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTc2RkI5RkVEMTlBNzI4NEIwMDQy
MDU2MiAvKiBET01BdXRvY29tcGxldGVFcnJvckV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDOTQ2RUVGMTA3RkRCQUMwMDg1NzE5MyAvKiBET01CZWZvcmVMb2FkRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjQ2NjksNiArMjQ3NjQsNyBAQAogCQkJCTg1MDMyREQ3MEFBOEM5
QkUwMDdEM0I3RCAvKiBET01DU1NDaGFyc2V0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5
MDlDREMwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MDMyREQ5MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NGb250RmFj
ZVJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNDg0NTNGMUJCOUQwN0UwMDZBNzJFRCAvKiBJ
REJFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU5MDlDREQwQUNDN0E3RTAwREYwMUYxIC8q
IERPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMkRE
QjBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTSW1wb3J0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJODU5MDlDREUwQUNDN0E3RTAwREYwMUYxIC8qIERPTUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNDg2Myw2ICsyNDk1OSw3IEBACiAJCQkJODVFNzExQ0QwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUYWJsZVNlY3Rpb25FbGVtZW50SW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1RjMyQUYyMEFBNjNCODcwMEZGMzE4NCAvKiBET01IVE1MVGV4dEFy
ZWFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUU3MTFDRTBBQzVENTM1MDA1MzI3MEYg
LyogRE9NSFRNTFRleHRBcmVhRWxlbWVudEludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MTg1RkNBNDFCQjRDNEU4MDAxMjg5OEYgLyogSURCT3BlbkRCUmVxdWVzdC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTFDNzk3MUQxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxUZXh0QXJlYUVsZW1l
bnRQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTk5MkVDMDBBQTUwNjk1MDBBQzA3ODUg
LyogRE9NSFRNTFRpdGxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExQ0YwQUM1
RDUzNTAwNTMyNzBGIC8qIERPTUhUTUxUaXRsZUVsZW1lbnRJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNDg4OCw2ICsyNDk4NSw3IEBACiAJCQkJODUxOERENzgwQTlDRjMxQjAwOTFCN0E2
IC8qIERPTU5hbWVkTm9kZU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODVFNzExRDIwQUM1RDUz
NTAwNTMyNzBGIC8qIERPTU5hbWVkTm9kZU1hcEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk4NTNCRjREQjBBQkI2QjU1MDA4NjQ3QkIgLyogRE9NTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNTE4NUZDOTMxQkI0QzRFODAwMTI4OThGIC8qIElEQkluZGV4TWV0YWRhdGEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTg1NDA3NTI2MEFENkM2NjcwMDYyMEM1NyAvKiBET01Ob2RlRmlsdGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk4NUI0OThGQjBBREIzNDAyMDA5MjVDQkIgLyogRE9NTm9kZUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTUyNkMzNzBBQjBBMTdFMDAwMzAyRUEgLyog
RE9NTm9kZUl0ZXJhdG9yLmggaW4gSGVhZGVycyAqLywKQEAgLTI0OTE0LDYgKzI1MDEyLDcgQEAK
IAkJCQk4NTM4RjA1RDBBRDcyMkYxMDA2QTgxRDEgLyogRE9NUmFuZ2VJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODUzOEYwODUwQUQ3MkNCNjAwNkE4MUQxIC8qIERPTVJhbmdlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJODU4QzM4QTcwQUE4RjIwNDAwQjE4N0E0IC8qIERPTVJlY3QuaCBp
biBIZWFkZXJzICovLAorCQkJCTUxODVGQzhGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJHZXRSZXN1
bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1RTcxMUQ2MEFDNUQ1MzUwMDUzMjcwRiAvKiBET01S
ZWN0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1NUQzNThBMEFENzA3MzEwMDE5QUFD
NyAvKiBET01SR0JDb2xvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEMEZDNEYwREJENzIwQjAw
QjJGNjMwIC8qIERPTVJHQkNvbG9ySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ5Mzgs
NiArMjUwMzcsNyBAQAogCQkJCTBGNTREQ0Q1MTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NERDRDcxODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNo
RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGNTREQ0Q5MTg4MEY4NjcwMDNFRURCQiAvKiBE
T01Ub3VjaEV2ZW50SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzlCMUJCNEM0
RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY1NERDREEx
ODgwRjg2NzAwM0VFREJCIC8qIERPTVRvdWNoSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTBGNTREQ0RCMTg4MEY4NjcwMDNFRURCQiAvKiBET01Ub3VjaExpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCUUxNDUzNDk3MTZBOUJCNkEwMDBGNkZEMiAvKiBET01UcmFuc2l0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjQ5NzQsNyArMjUwNzQsNiBAQAogCQkJCTE0MDNCOTk3MDlFQjEz
QUYwMDc5N0M3RiAvKiBET01XaW5kb3cuaCBpbiBIZWFkZXJzICovLAogCQkJCUZDOUEwRjc1MTY0
MDk0Q0YwMDNENkI4RCAvKiBET01XaW5kb3dDU1MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRkEy
RDc4MTUyMTMyQjMwMEMxQkEwQiAvKiBET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICov
LAotCQkJCTUxRDcxOUI3MTgxMTA2RTAwMDE2REM1MSAvKiBET01XaW5kb3dJbmRleGVkRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QjM4RTI3MTUxQzQyNzEwMDQ2MjJFOSAvKiBET01X
aW5kb3dOb3RpZmljYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2
MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTg5RjYw
QjExMTU3RjY4NkUwMDc1RTE1NyAvKiBET01XaW5kb3dRdW90YS5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTE4NCw2ICsyNTI4Myw3IEBACiAJCQkJMDg2QkJEMEYxMzYwMzlDMjAwOEIxNUQ4IC8qIEds
eXBoLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkMzREE2QzBEMDA2Q0Q2MDBFRjZGMjYgLyogR2x5
cGhCdWZmZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RDRBQTdBMTE2QkFGQjYwMDY5Q0E5MyAv
KiBHbHlwaE1ldHJpY3NNYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzgzMUJCNEM0RTgw
MDEyODk4RiAvKiBJREJEYXRhYmFzZUVycm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwODczQjg2
QjEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzUz
QzVGNTBEQTU2QjkyMDAyMUVCNUQgLyogR3JhZGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
MjI3OTY0MEQwMEJGMjIwMDcxQjc4MiAvKiBHcmFkaWVudEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjUyMzEsNiArMjUzMzEsNyBAQAogCQkJCUE4RUE3RDJFMEExOTM4NTUwMEE4RUY1
RiAvKiBIVE1MQXJlYUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNUYyOEZDMUE4MjdE
ODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUU0NDYxM0EyMENENjMzMTAwMEZBREE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTg1RkM5NzFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5RGF0YS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTg3MURDMUYwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxCYXNlRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGRDIwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxC
YXNlRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTlCMjRERThFMTUxOTRCOTUwMEM1
OUMyNyAvKiBIVE1MQkRJRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTM1Nyw3ICsyNTQ1
OCw2IEBACiAJCQkJNTEzRjE0NTQwQUI2MzRDNDAwMDk0RERGIC8qIEljb25Mb2FkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxRTFFQ0MxMEM5MUM5MDQwMERDMjU1QiAvKiBJY29uUmVjb3JkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0NUJBQzJCMDEzNjBCQkFCMDA1REEyNTggLyogSWNvblVSTC5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJNTFENzE5QkExODExMDZFMDAwMTZEQzUxIC8qIElEQkFueS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4NUE2NjMxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRp
bmdVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTY4MUJBNzNCNUIwMDJFMDUz
QiAvKiBJREJDYWxsYmFja3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTZBMUJBNzNCNUIw
MDJFMDUzQiAvKiBJREJDdXJzb3JCYWNrZW5kLmggaW4gSGVhZGVycyAqLywKQEAgLTI1MzY1LDI5
ICsyNTQ2NSwxNCBAQAogCQkJCTUxRjQxQTZFMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJEYXRhYmFz
ZUJhY2tlbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTZGMUJBNzNCNUIwMDJFMDUzQiAv
KiBJREJEYXRhYmFzZUNhbGxiYWNrcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGNDFBNzExQkE3
M0I1QjAwMkUwNTNCIC8qIElEQkRhdGFiYXNlQ2FsbGJhY2tzSW1wbC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJNTFENzE5Q0QxODExMDZFMDAwMTZEQzUxIC8qIElEQkRhdGFiYXNlRXJyb3IuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRDcxOUNGMTgxMTA2RTAwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEwMzEwNjAxQkE4RTBFMzAwMzMyOUMwIC8q
IElEQkRhdGFiYXNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTFDOTYxMUIxODNE
MkI4MDAwRDIwMDJFIC8qIElEQkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAotCQkJ
CTUxRDcxOUQxMTgxMTA2RTAwMDE2REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxRjQxQTcyMUJBNzNCNUIwMDJFMDUzQiAvKiBJREJGYWN0b3J5QmFja2Vu
ZEludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwMzEwNTAxQkE4Q0MwMzAwMzMyOUMw
IC8qIElEQkZhY3RvcnlJbXBsLmggaW4gSGVhZGVycyAqLywKLQkJCQk1MTIzQUYxRDE4OTE4QUU0
MDAzMUNEQzkgLyogSURCR2V0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKLQkJCQk1MUFCQjVCODE4
NkQwRUQxMDA4MzkxQTEgLyogSURCSW5kZXhNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTFENzE5REMxODExMDZFMDAwMTZEQzUxIC8qIElEQktleS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
NTExRUMxQTYxODhEQUNBNDAwQkEzRUI2IC8qIElEQktleURhdGEuaCBpbiBIZWFkZXJzICovLAot
CQkJCTUxRDcxOURFMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQYXRoLmggaW4gSGVhZGVycyAq
LywKLQkJCQk1MUQ3MTlFMDE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5UmFuZ2UuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTUxMjNBRjE5MTg5MEE0Q0EwMDMxQ0RDOSAvKiBJREJLZXlSYW5nZURhdGEu
aCBpbiBIZWFkZXJzICovLAotCQkJCTUxQUJCNUI5MTg2RDBFRDEwMDgzOTFBMSAvKiBJREJPYmpl
Y3RTdG9yZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMTA1QjFCQThEQjU2MDAz
MzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICovLAotCQkJCTUxMkVB
OUJFMTgyMDI4NTcwMDFEMDFFMCAvKiBJREJPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxRjQxQTc5MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJQZW5kaW5nRGVsZXRlQ2FsbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFGNDFBN0ExQkE3M0I1QjAwMkUwNTNCIC8qIElEQlBlbmRpbmdPcGVu
Q2FsbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE2RDdENzIxQkI1RjBCRDAwQUY3Qzc3IC8qIElE
QkNvbm5lY3Rpb25Ub0NsaWVudERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY0MUE3
QzFCQTczQjVCMDAyRTA1M0IgLyogSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJNTFFQUM1QjIxODE2M0Y0RTAwNEYxQkE0IC8qIElEQlJlY29yZElkZW50
aWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDMxMDVEMUJBOERCNTYwMDMzMjlDMCAvKiBJ
REJSZXF1ZXN0SW1wbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNTEwQTMyNkYxODMxODQzMTAwM0M1
MzI2IC8qIElEQlNlcnZlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRjQxQTc0
MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxRjQxQTc2MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRP
cGVyYXRpb25zLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUY0MUE3ODFCQTczQjVCMDAyRTA1M0Ig
LyogSURCVHJhbnNhY3Rpb25Db29yZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQyOCw3
ICsyNTUxMyw2IEBACiAJCQkJMDczNjdEREYxNzJDQTY3RjAwRDg2MUI5IC8qIEluYmFuZFRleHRU
cmFja1ByaXZhdGVMZWdhY3lBVkZPYmpDLmggaW4gSGVhZGVycyAqLywKIAkJCQlCRTE2QzU5NTE3
Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmggaW4gSGVhZGVycyAqLywK
IAkJCQlEQjIzQzJDQzBBNTA4RDI5MDAyNDg5RUIgLyogSW5kZW50T3V0ZGVudENvbW1hbmQuaCBp
biBIZWFkZXJzICovLAotCQkJCTUxRDcxOUY4MTgxMTA2RTAwMDE2REM1MSAvKiBJbmRleGVkREIu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGNUU1MEExNTVBMDUwMDBBNDIzNCAvKiBJbmxpbmVC
b3guaCBpbiBIZWFkZXJzICovLAogCQkJCUI1N0NCNTJFMTgyQTNFRkMwMDc5QTY0NyAvKiBJbmxp
bmVFbGVtZW50Qm94LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOENGRjVFMzBBMTU1QTA1MDAwQTQy
MzQgLyogSW5saW5lRmxvd0JveC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTQ5Nyw2ICsyNTU4MSw3
IEBACiAJCQkJMzE5ODQ4MEMxQTFFNkNFODAwQTEzMzE4IC8qIEpTQW5pbWF0aW9uRXZlbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1REYzMURCMDlEMUMxMjMwMDBCRTMyNSAvKiBKU0F0dHIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZEQTE1RTlFMTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQnVm
ZmVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkM3ODFCQjRDNEU4MDAxMjg5OEYgLyogSURC
QW55LmggaW4gSGVhZGVycyAqLywKIAkJCQlGREY3RTlDNDEzQUMyMURCMDBBNTFFQUMgLyogSlNB
dWRpb0J1ZmZlckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVBMDEyQjAzRUUx
MDAzQTU4M0EgLyogSlNBdWRpb0J1ZmZlclNvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZEQTE1RUE2MTJCMDNFRTEwMDNBNTgzQSAvKiBKU0F1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNTUyMyw2ICsyNTYwOCw3IEBACiAJCQkJOTNGOUI3QTEwQkE2MDMyNjAwODU0MDY0
IC8qIEpTQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREExNUVBMjEyQjAzRUUx
MDAzQTU4M0EgLyogSlNDaGFubmVsTWVyZ2VyTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRB
MTVFQTQxMkIwM0VFMTAwM0E1ODNBIC8qIEpTQ2hhbm5lbFNwbGl0dGVyTm9kZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNTEwQTU4RTUxQkFBNDBCMTAwQzE5MjgyIC8qIEluUHJvY2Vzc0lEQlNlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRjQwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTQ2hh
cmFjdGVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1ODgwRjNDRTJBNzAwQ0QyRDg3
IC8qIEpTQ2xpZW50UmVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDMDY1OEEwRjNDRTJBNzAw
Q0QyRDg3IC8qIEpTQ2xpZW50UmVjdExpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjU2MDcsNiAr
MjU2OTMsNyBAQAogCQkJCUFERUM3OEY4MThFRTUzMDgwMDEzMTVDMiAvKiBKU0VsZW1lbnRDdXN0
b20uaCBpbiBIZWFkZXJzICovLAogCQkJCTJFQ0Y3QUREMTAxNjJCMzgwMDQyN0RFNyAvKiBKU0Vy
cm9yRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzRDQ2MTQ5MTE2MUQ1MzIwMENBMEQwOSAv
KiBKU0Vycm9ySGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDODkxQkI0QzRFODAw
MTI4OThGIC8qIElEQkRhdGFiYXNlTWV0YWRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0RTgz
NzhFMDlGODVENEYwMEI4NUFFNCAvKiBKU0V2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0I3
MEQ2QTA5RUIwQzdDMDA5RDg0NjggLyogSlNFdmVudExpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMEZFRjM3MkIzN0M1M0VBQzFDMUZCRUUgLyogSlNFdmVudFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yNTYyMyw2ICsyNTcxMCw3IEBACiAJCQkJODk4Nzg1RjUxMjJFMUVBQzAwM0FB
QkRBIC8qIEpTRmlsZVJlYWRlclN5bmMuaCBpbiBIZWFkZXJzICovLAogCQkJCUI2RDlEMjdCMTRF
QUMwODYwMDkwRDc1RSAvKiBKU0ZvY3VzRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQwOUVC
REMwMTZCN0YzOEUwMENCQTNGQyAvKiBKU0ZvbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTUxODVGQ0FCMUJCNEM0RTgwMDEyODk4RiAvKiBJREJTZXJ2ZXJDb25uZWN0aW9uLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGREExNUVBQzEyQjAzRUUxMDAzQTU4M0EgLyogSlNHYWluTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE4RjUwMDIxOTRDQUMzQTAwODFCQUFFIC8qIEpTR2FtZXBhZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RjUwMDQxOTRDQUMzQTAwODFCQUFFIC8qIEpTR2FtZXBh
ZEJ1dHRvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNTY2MCw2ICsyNTc0OCw3IEBACiAJCQkJQThE
MDY0RkMwQTIzQzBDQzAwNUU3MjAzIC8qIEpTSFRNTEZvcm1FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzQ5MThDNzBCRkVBMDUwMDA5RDYzMTYgLyogSlNIVE1MRnJhbWVFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzkyNkY4MTBDMDU1MjQ3MDA4Mjc3NkIgLyogSlNIVE1MRnJh
bWVTZXRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCNzFCQjRDNzY3MDAxMjg5
OEYgLyogRE9NUmVxdWVzdFN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBFN0IxNTBBMTlE
NjA2MDA3RkI4QzUgLyogSlNIVE1MSGVhZEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
RTJBQTJGMEExQ0RBQjQwMEI0MkIyNSAvKiBKU0hUTUxIZWFkaW5nRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFMkFBMzEwQTFDREFCNDAwQjQyQjI1IC8qIEpTSFRNTEhSRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNTY3Nyw2ICsyNTc2Niw3IEBACiAJCQkJQkM0OTFCNzkwQzAy
M0VGRDAwOUQ2MzE2IC8qIEpTSFRNTE1hcnF1ZWVFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDQ2MTQzQTBDRDY4OUM4MDBGQURBNzUgLyogSlNIVE1MTWVkaWFFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUUyQUU1QzBBMUQyNkYyMDBCNDJCMjUgLyogSlNIVE1MTWVudUVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzgxMUJCNEM0RTgwMDEyODk4RiAvKiBJREJE
YXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTdBMTgwQTE5QzNENjAwN0ZCOEM1IC8q
IEpTSFRNTE1ldGFFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBN0JCRTI2NzExQUZCM0Yy
MDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUy
QUIyQTBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNTg3Niw2ICsyNTk2Niw3IEBACiAJCQkJQjJGQTNENUQwQUI3NUE2RjAwMEU1QUM0IC8q
IEpTU1ZHQ29sb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDVGMEFCNzVBNkYwMDBFNUFD
NCAvKiBKU1NWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlCMkZBM0Q2MTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdDdXJzb3JFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQk1MTBBNThGQTFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVz
dERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDYzMEFCNzVBNkYwMDBFNUFDNCAvKiBK
U1NWR0RlZnNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q2NTBBQjc1QTZGMDAw
RTVBQzQgLyogSlNTVkdEZXNjRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNENjcw
QUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHRG9jdW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjU5
MDAsNiArMjU5OTEsNyBAQAogCQkJCUIyRkEzRDgzMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZF
R2F1c3NpYW5CbHVyRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEODUwQUI3NUE2
RjAwMEU1QUM0IC8qIEpTU1ZHRkVJbWFnZUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIy
RkEzRDg3MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFTWVyZ2VFbGVtZW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk1MTg1RkM5NTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCMkZBM0Q4OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGRU1lcmdlTm9kZUVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg0MjI0MTg0MTA3RTc3RjQwMDc2NkE4NyAvKiBK
U1NWR0ZFTW9ycGhvbG9neUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRkEzRDhCMEFC
NzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFT2Zmc2V0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCkBA
IC0yNTkxNSw2ICsyNjAwNyw3IEBACiAJCQkJQTgzQjc5MDIwQ0NBRkYxNTAwMEIwODI1IC8qIEpT
U1ZHRm9udEZhY2VOYW1lRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgzQjc4RkUwQ0NB
RkYxNTAwMEIwODI1IC8qIEpTU1ZHRm9udEZhY2VTcmNFbGVtZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODNCNzhGQzBDQ0FGRjE1MDAwQjA4MjUgLyogSlNTVkdGb250RmFjZVVyaUVsZW1lbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0E5MUJCNEM0RTgwMDEyODk4RiAvKiBJREJSZXF1
ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkZBM0Q5OTBBQjc1QTZGMDAwRTVBQzQgLyogSlNT
VkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJGQTNEOUIwQUI3
NUE2RjAwMEU1QUM0IC8qIEpTU1ZHR0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyN0Iy
ODI4MENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0dseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNjA4NywxMCArMjYxODAsMTIgQEAKIAkJCQk0NTBDRUJGMTE1MDczQkJFMDAyQkIxNDkg
LyogTGFiZWxhYmxlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTQ1NkZBMjcxMUFENEE4
MzAwMjBCNDIwIC8qIExhYmVsc05vZGVMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4NUVDOUFG
QjBBNzFBMkM2MDBFRUVBRUQgLyogTGFuZ3VhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVG
Q0EwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M0Qzk2RTMxQUQ0NEFCRjAwMzY1QTUwIC8qIExhdW5jaFNlcnZpY2VzU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyOTE3QjU2MjE0NzM0OTZDMDA1MkM5RDAgLyogTGF5ZXJGbHVzaFNjaGVk
dWxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjkxN0I1NjMxNDczNDk2QzAwNTJDOUQwIC8qIExh
eWVyRmx1c2hTY2hlZHVsZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0OTE2RkY3MTk1
REY2QTAwMDVBQjM0OSAvKiBMYXllckZsdXNoVGhyb3R0bGVTdGF0ZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTE4NUZDQjAxQkI0QzRFODAwMTI4OThGIC8qIElEQlZlcnNpb25DaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTgwMzcxNjQxQTY2RjFEMzAwQkFGNTE5IC8qIExheWVyRnJh
Z21lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdBQTNBNkEwMTk0QjU5QjYwMDFDQkQyNCAvKiBM
YXllclBvb2wuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMUQ3MkY2MTVGRTY5NTMwMEM0QzA3RSAv
KiBMYXlvdXRNaWxlc3RvbmVzLmggaW4gSGVhZGVycyAqLywKQEAgLTI2MjIwLDYgKzI2MzE1LDgg
QEAKIAkJCQlDOUQ4NTFGMDFCMzlEQzc4MDA4NTA2MkUgLyogTWVkaWFTZXNzaW9uTWV0YWRhdGEu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNEM0E0OTVGMTdBOUQwMUIwMDI3NEU0MiAvKiBNZWRpYVNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1l
ZGlhU291cmNlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQTYxQkI0QzRFODAw
MTI4OThGIC8qIElEQk9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTRBMDA3ODMxQjgy
MEVDODAwMkM1QTZFIC8qIERhdGFVUkxEZWNvZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREM4
QjVBNzE4MDQ3NEY3MDAxNkU2ODUgLyogTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0REQzFFN0ExOEE5NTJGMzAwMjdBOUQ0IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q2MUZFNjgxNzk0QUFEQjAwNDEwMUVC
IC8qIE1lZGlhU291cmNlUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNDcsNiArMjYz
NDQsNyBAQAogCQkJCTA3MDU4NTI0MTdGREMxNDAwMDVGMkJDQiAvKiBNZWRpYVRyYWNrQ29uc3Ry
YWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDU4NTI5MTdGREUwMkMwMDVGMkJDQiAvKiBN
ZWRpYVRyYWNrQ29uc3RyYWludFNldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTlDN0NDQjMxOEM2
NjNFNDAwMzJFNDEzIC8qIE1lbW9pemVkRE9NUmVzdWx0LmggaW4gSGVhZGVycyAqLywKKwkJCQk1
MTZEN0Q3MDFCQjVGMEJEMDBBRjdDNzcgLyogSURCQ29ubmVjdGlvblRvU2VydmVyRGVsZWdhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDQjE2QzE4MDk3OUMzQkQwMDQ2Nzc0MSAvKiBNZW1vcnlD
YWNoZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU3MURDQzgxMzg1RTZBNDAwNzAyREQwIC8qIE1l
bW9yeVByZXNzdXJlSGFuZGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5
MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRpY2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAq
LywKQEAgLTI2MjU3LDYgKzI2MzU1LDcgQEAKIAkJCQlBNzhFNTI3MDEzNDZCRDE3MDBBRDlDMzEg
LyogTWV0ZXJTaGFkb3dFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0REQ0RBNTEzODQ1
MDFDMDAwOEI3OTMgLyogTUhUTUxBcmNoaXZlLmggaW4gSGVhZGVycyAqLywKIAkJCQkzN0REQ0RB
NzEzODQ1MDFDMDAwOEI3OTMgLyogTUhUTUxQYXJzZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUx
ODVGQ0I5MUJCNENCRjgwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUzQjg5NUFGMTlEQzdFRDkwMDlDQUE5MyAvKiBNaWNyb1Rhc2suaCBpbiBI
ZWFkZXJzICovLAogCQkJCTM3RERDRDk1MTM4NDRGRDUwMDA4Qjc5MyAvKiBNSU1FSGVhZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzc3MkM0RjBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVS
ZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjMxMSw2ICsyNjQxMCw3IEBACiAJCQkJMjY5
Mzk3MjIxQTRBNDEyRjAwRTgzNDlEIC8qIE5GQU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2
NzcyNjAxMUE1QjNBRDkwMDNDMjRERCAvKiBORkFUb0RGQS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNFRjQzREQwRTY3NDAxMjAwMUMxMjg3IC8qIE5pbmVQaWVjZUltYWdlLmggaW4gSGVhZGVycyAq
LywKKwkJCQk1MTg1RkM5RTFCQjRDNEU4MDAxMjg5OEYgLyogSURCS2V5UmFuZ2VEYXRhLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxNDExNUI1MjA5Rjg0QjcxMDBDQTRGQzEgLyogTm9kZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJODU0RkU3MzEwQTIyOTdCRTAwNThEN0FEIC8qIE5vZGVGaWx0ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTg1NEZFNzMzMEEyMjk3QkUwMDU4RDdBRCAvKiBOb2RlRmlsdGVy
Q29uZGl0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI2NTA3LDYgKzI2NjA3LDcgQEAKIAkJCQk1
MUEwNTI1NjEwNTg4NzQwMDBDQzlFOTUgLyogUHJvdGVjdGlvblNwYWNlSGFzaC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFGOEUxMUExMjU2NTkyNjAwMjMwRkY3IC8qIFByb3h5U2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGRjk0NUVDQzE2MUY3RjM2MDA5NzFCQzggLyogUHNldWRvRWxlbWVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE4NUZDQUQxQkI0QzRFODAwMTI4OThGIC8qIElEQlRy
YW5zYWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFBN0Eg
LyogUHVibGljU3VmZml4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMEZCMDg0QjE0RTE1QzdFMDBB
M0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBCQ0Ew
ODVGNjAzOTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLApAQCAtMjY3
NjEsNiArMjY4NjIsNyBAQAogCQkJCTA3OEUwOTJBMTdEMTREMUMwMDQyMEFBMSAvKiBSVENTdGF0
c1JlcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5NDUxN0QxNkUxQzAwNDIwQUExIC8q
IFJUQ1N0YXRzUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4RTA5MkIxN0QxNEQxQzAw
NDIwQUExIC8qIFJUQ1N0YXRzUmVxdWVzdEltcGwuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVG
QzVCMUJCNEJFNEMwMDEyODk4RiAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA3OEUwOTJDMTdEMTREMUMwMDQyMEFBMSAvKiBSVENTdGF0c1Jlc3BvbnNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzhFMDk0NjE3RDE2RTFDMDA0MjBBQTEgLyogUlRDU3RhdHNS
ZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3OEUwOTQ3MTdEMTZFMUMwMDQyMEFB
MSAvKiBSVENWb2lkUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzE4MCw2ICsyNzI4Miw3
IEBACiAJCQkJODNDMUQ0MzExNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9Ib3Jp
em9udGFsUmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRDQzMjE3OEQ1QUI1MDAxNDFFNjgg
LyogU1ZHUGF0aFNlZ0xpbmV0b1JlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBN0QwRDAw
QkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNTE4NUZDN0IxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJODNDMUQ0MzMxNzhENUFCNTAwMTQxRTY4IC8qIFNWR1BhdGhTZWdMaW5ldG9WZXJ0
aWNhbEFicy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUQ0MzQxNzhENUFCNTAwMTQxRTY4IC8q
IFNWR1BhdGhTZWdMaW5ldG9WZXJ0aWNhbFJlbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdB
ODEwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1BhdGhTZWdMaXN0LmggaW4gSGVhZGVycyAqLywKQEAg
LTI3MjMwLDEyICsyNzMzMywxNCBAQAogCQkJCUIyMjI3QUMxMEQwMEJGMjIwMDcxQjc4MiAvKiBT
VkdTeW1ib2xFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyN0FDNTBEMDBCRjIyMDA3
MUI3ODIgLyogU1ZHVGVzdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4RjBCRkMzMTI1NUM1M0Mw
MDA3NTE4NSAvKiBTVkdUZXh0Q2h1bmsuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQ0EyMUJC
NEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZU1ldGFkYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQkwODE2NjhENDEyNTYwM0JGMDA2RjI1REUgLyogU1ZHVGV4dENodW5rQnVpbGRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQzgwRDAwQkYyMjAwNzFCNzgyIC8qIFNWR1RleHRDb250
ZW50RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjIyMjdBQ0IwRDAwQkYyMjAwNzFCNzgy
IC8qIFNWR1RleHRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwOEYwQkZDNDEyNTVDNTND
MDAwNzUxODUgLyogU1ZHVGV4dEZyYWdtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODhDMkY3
QTEyMzkwMDgxMDAzRDY1Q0UgLyogU1ZHVGV4dExheW91dEF0dHJpYnV0ZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTA4MTA5M0RDMTI1NUYwRTcwMEVEOUQyOSAvKiBTVkdUZXh0TGF5b3V0QXR0cmli
dXRlc0J1aWxkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxODVGQzhCMUJCNEM0RTgwMDEyODk4
RiAvKiBJREJFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA4MTY2OERBMTI1
NjAzRDUwMDZGMjVERSAvKiBTVkdUZXh0TGF5b3V0RW5naW5lLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwODBFNDkyNjEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4dExheW91dEVuZ2luZUJhc2VsaW5l
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwODBFNDkyODEyNTVGM0JEMDBFRkNBMjcgLyogU1ZHVGV4
dExheW91dEVuZ2luZVNwYWNpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtMjcyOTEsNiArMjczOTYs
NyBAQAogCQkJCUIyQUZGQzlBMEQwMEE1REYwMDMwMDc0RCAvKiBUZXh0Q29kZWNNYWMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUIyQzNEQTQwMEQwMDZDMUQwMEVGNkYyNiAvKiBUZXh0Q29kZWNVc2Vy
RGVmaW5lZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJDM0RBNDIwRDAwNkMxRDAwRUY2RjI2IC8q
IFRleHRDb2RlY1VURjE2LmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTg1RkNCMjFCQjRDNEU4MDAx
Mjg5OEYgLyogSW5kZXhlZERCLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzQzQ0I4MjEyRjI1RTUx
MDAzM0M1RUUgLyogVGV4dENvZGVjVVRGOC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQyQjk3Q0Ex
MzEzODk0MzAwOEJFRjRCIC8qIFRleHRDb250cm9sSW5uZXJFbGVtZW50cy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTdCQzg0QjQxMjM3MTE4MDAwMEM2MTYxIC8qIFRleHREb2N1bWVudC5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNzYwNiw3ICsyNzcxMiw2IEBACiAJCQkJRjM0NzQyRTExMzQzNjMxRjAw
NTMxQkMyIC8qIFdvcmtlckRlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUEzRTI2
NDMxMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQkyRTQzNDY0OTBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGUuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTUxRDcxOUZDMTgxMTA2RTAwMDE2REM1MSAvKiBXb3JrZXJHbG9iYWxT
Y29wZUluZGV4ZWREYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTdGOEU2NjYxNTFENEE0
RTAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZpY2F0aW9ucy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkU0MzQ2NEIwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUYzNkUwN0E1MTM1OEE4QkUwMEFBQ0JDOSAvKiBXb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI3OTY4LDYgKzI4MDcz
LDcgQEAKIAkJCQkzN0Y1N0FDRDFBNTA3MkQ3MDA4NzZGOTggLyogQWNjZXNzaWJpbGl0eVRhYmxl
SGVhZGVyQ29udGFpbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjU3QUNFMUE1MDcyREEw
MDg3NkY5OCAvKiBBY2Nlc3NpYmlsaXR5VGFibGVSb3cuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTkxQzlGQkUxQjY1ODZERTAwQUZGRDU0IC8qIEFjY2Vzc2liaWxpdHlUcmVlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxNDg0NTNFMUJCOUQwN0UwMDZBNzJFRCAvKiBJREJFcnJvci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBOTFDOUZDMjFCNjU5QTY3MDBBRkZENTQgLyogQWNjZXNzaWJpbGl0
eVRyZWVJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI1RDMxREZBMTFDRjYxMEIwMDlGMjJC
NCAvKiBBY3RpdmVET01DYWxsYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUM0REU2RTBF
QTc1QzY1MDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAt
Mjc5ODIsOSArMjgwODgsMTEgQEAKIAkJCQkzMTZGRTExMzBFNkUxREE3MDBCRjYwODggLyogQW5p
bWF0aW9uQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMTk4NDgwMjFBMUQ4MTgx
MDBBMTMzMTggLyogQW5pbWF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlFOTEy
QUMwRUZBQzkwNjAwOUQwQ0FGIC8qIEFuaW1hdGlvbkxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTE4NUZDOTgxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVBhdGguY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJOTMzMDlERDYwOTlFNjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEY2QkJDMERCNTVDREMwMDFEQjc5NCAvKiBBcHBsaWNh
dGlvbkNhY2hlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEY2QkJFMERCNTVDREMwMDFEQjc5
NCAvKiBBcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZD
N0QxQkI0QzRFODAwMTI4OThGIC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkyNEY1NEVBQzEwMUZFOTE0MDAwQUU3NDEgLyogQXBwbGljYXRpb25DYWNoZUhvc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4RjZCQzAwREI1NUNEQzAwMURCNzk0IC8qIEFwcGxp
Y2F0aW9uQ2FjaGVSZXNvdXJjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJBQUM1ODBEQzJB
M0IxMDBBMjBEOUEgLyogQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0yODA3Nyw2ICsyODE4NSw3IEBACiAJCQkJOTc2RDZDNzgxMjJCOEEzRDAwMUZEMUY3IC8q
IEJsb2IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkVERUYxRjMxMjFCMEVGQzAwNzI2REIyIC8q
IEJsb2JEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxRDMxQ0RDMTkxOTYwMjAwMDEwMDVB
MyAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZD
NzcxQkI0QzRFODAwMTI4OThGIC8qIElEQkFueS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTY0
QTJFRDE5MUFFNjM1MDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlTWFjLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJRTE0QTk0RDcxNkRGREY5NTAwNjhERTgyIC8qIEJsb2JSZWdpc3RyeS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkyRURFRjFGNjEyMUIwRUZDMDA3MjZEQjIgLyogQmxvYlJl
Z2lzdHJ5SW1wbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4MTQ4LDYgKzI4MjU3LDcgQEAKIAkJ
CQkxNEQ4MjM4QjBBRjkyREY2MDAwNEYwNTcgLyogQ2hyb21lLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUFCQUYyMjA4MEMwM0IxQzcwMEIwQkNGMCAvKiBDaHJvbWVNYWMubW0gaW4gU291cmNlcyAq
LywKIAkJCQk4MzQ4QkZBQjFCODU3Mjk4MDA5MTJGMzYgLyogQ2xhc3NDb2xsZWN0aW9uLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTUxODVGQzgwMUJCNEM0RTgwMDEyODk4RiAvKiBJREJEYXRhYmFz
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0MwNjU3RDBGM0NFMUI3MDBDRDJEODcgLyogQ2xp
ZW50UmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0MwNjU4MDBGM0NFMUI3MDBDRDJEODcg
LyogQ2xpZW50UmVjdExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzFCM0YwQTQ0RUZD
NzAwRjk5MkUwIC8qIENsaXBib2FyZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjgyNzIs
NiArMjgzODIsNyBAQAogCQkJCUJDMDJBNjQ2MEUwOUFBRTkwMDRCNkQyQiAvKiBDU1NGdW5jdGlv
blZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMjNFNEUxMERBQUNFMEYwMDlGREM5MSAv
KiBDU1NHcmFkaWVudFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTY1MEY1M0REMDlEMTVE
REYwMEM5QjBDOCAvKiBDU1NHcmFtbWFyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0E4
MUJCNEM0RTgwMDEyODk4RiAvKiBJREJSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNE
N0RCQjI4MThDQTE5QTQwMEMxMTA2NiAvKiBDU1NHcmlkTGluZU5hbWVzVmFsdWUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQ0QzRTI1MjMxODA0NkJDRDAwRTI3RjU2IC8qIENTU0dyaWRUZW1wbGF0
ZUFyZWFzVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkJGODkwNDUxNjlFOUYxRjAwNTJE
ODZFIC8qIENTU0dyb3VwaW5nUnVsZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4Mzk0LDEwICsy
ODUwNSwxMiBAQAogCQkJCUE3ODFDNkE3MTM4MjhCNUQwMDEyQTYyQSAvKiBEb2N1bWVudE1hcmtl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRTA1N0ZBNTEyMjA3MzExMDBBNDc2RDUgLyogRG9j
dW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0OTQ3RkZEMTJG
ODBDRDIwMEEwRjYzMSAvKiBEb2N1bWVudE9yZGVyZWRNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTE4NUZDNzQxQkI0QzRFODAwMTI4OThGIC8qIERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEMyMjgwRTExRDRBNTk3MDBENUE3RDMgLyogRG9jdW1l
bnRQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEE0RjQ4QTkxNkIwREZDMDAwRURCQjI5
IC8qIERvY3VtZW50UnVsZVNldHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUQ2RTcxQUMxNjY4
ODk5RDAwMzIwQzEzIC8qIERvY3VtZW50U2hhcmVkT2JqZWN0UG9vbC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkwQjkwNTYxOTBGMjU3OEJFMDA5NUZGNkEgLyogRG9jdW1lbnRUaHJlYWRhYmxlTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQzg2MUJCNEM0RTgwMDEyODk4RiAvKiBJ
REJEYXRhYmFzZUlkZW50aWZpZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgxODVGM0EwOTc2
NTc2NjAwNTgyNkQ5IC8qIERvY3VtZW50VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzM4
ODlBMDExNkVBOURDMDBBREYzMTMgLyogRG9jdW1lbnRXcml0ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMxQTM3QUUwOTdDNzE1RjAwMTlGM0Q4IC8qIERPTS5tbSBpbiBTb3VyY2VzICovLApA
QCAtMjg1MTcsNiArMjg2MzAsNyBAQAogCQkJCUE4MTg1RjNFMDk3NjU3NjYwMDU4MjZEOSAvKiBE
T01JbXBsZW1lbnRhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzFBMzdCQTA5N0M3MTVG
MDAxOUYzRDggLyogRE9NSW50ZXJuYWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk4NUZGMzE1QjBB
QUZCRkNCMDAzNzRGMzggLyogRE9NS2V5Ym9hcmRFdmVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTUxRDcyMzZDMUJCNjE3NDkwMDQ3OENBMyAvKiBJREJSZXN1bHREYXRhLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTg1MDY1NkZGMEFBQjQ3NjMwMDJEMTVDMCAvKiBET01NZWRpYUxpc3QubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3NTc5M0VENDBEMENFODVCMDA3RkMwQUMgLyogRE9NTWVzc2FnZUV2
ZW50Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJRTFBQ0FGNEMwRTc5MUFBRjAwODdEMTJCIC8qIERP
TU1lc3NhZ2VQb3J0Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yODU3OCw3ICsyODY5Miw2IEBACiAJ
CQkJMTQwM0I5OTgwOUVCMTNBRjAwNzk3QzdGIC8qIERPTVdpbmRvdy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDY3NzczODE5NUNBRjNEMDA3MkUwRDMgLyogRE9NV2luZG93Q1NTLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxN0ZCQTFFMTUxQUIxN0MwMEI1Nzk1OSAvKiBET01XaW5kb3dFeHRl
bnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTFENzE5QjYxODExMDZFMDAwMTZEQzUxIC8q
IERPTVdpbmRvd0luZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5N0IzOEUy
ODE1MUM0MjczMDA0NjIyRTkgLyogRE9NV2luZG93Tm90aWZpY2F0aW9ucy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5N0QyQUQwMzE0QjgyM0E2MDA5M0RGMzIgLyogRE9NV2luZG93UHJvcGVydHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUEyQTVBRDcxNkE0ODYxQTAwOTc1QTI1IC8qIERPTVdp
bmRvd1NwZWVjaFN5bnRoZXNpcy5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4Njc4LDYgKzI4Nzkx
LDcgQEAKIAkJCQkyNkMxN0EzRjE0OTFEMkQ0MDBEMTJCQTIgLyogRmlsZVN5c3RlbUlPUy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTUxNEIzRjc2MEM3MjIwNTUwMDA1MzBERiAvKiBGaWxlU3lzdGVt
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE2MDMwMEIwQ0M0MjUxMjAwQzhBQzI1IC8qIEZp
bGVTeXN0ZW1QT1NJWC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM4ODFCQjRDNEU4MDAx
Mjg5OEYgLyogSURCRGF0YWJhc2VNZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVF
QjY5RTBFODFEQUVCMDBCMjU5NjUgLyogRmlsbExheWVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA4QzkyNTE5MEZDQzdDNEEwMDQ4MERFQyAvKiBGaWx0ZXJFZmZlY3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzEzMTNGNjUxNDQzQjM1RjAwNkUyQTkwIC8qIEZpbHRlckVmZmVjdFJlbmRlcmVy
LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjg3NDEsNiArMjg4NTUsNyBAQAogCQkJCTRBOEM5NkVC
MEJFNjkwMzIwMDRFRUZGMCAvKiBGcmFtZVNlbGVjdGlvbk1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUM0Q0Q2MjlBMTgzODM3NjYwMDdFQkFGMSAvKiBGcmFtZVNuYXBzaG90dGluZy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk2NUEyMTQ4NDA5N0EzRjUzMDBCOTA1MEEgLyogRnJhbWVUcmVlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0FGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJWZXJz
aW9uQ2hhbmdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVDQkZFRjkwOTc0RjYwNzAw
MURBQzI1IC8qIEZyYW1lVmlldy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzIwNUFBRjEyMzky
OENBMDBCMTczODAgLyogRlRQRGlyZWN0b3J5RG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTFDODFCODkwQzQ0MjJGNzAwMTlFQ0UzIC8qIEZUUERpcmVjdG9yeVBhcnNlci5jcHAgaW4g
U291cmNlcyAqLywKQEAgLTI4Nzk0LDYgKzI4OTA5LDcgQEAKIAkJCQlBOENGRjdBNDBBMTU2OTc4
MDAwQTQyMzQgLyogSFRNTEFuY2hvckVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTg3
MUQ0NUUwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxBcHBsZXRFbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUE4RUE3RDJGMEExOTM4NTUwMEE4RUY1RiAvKiBIVE1MQXJlYUVsZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOUQxQkI0QzRFODAwMTI4OThGIC8qIElEQktleVJh
bmdlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzVGMjhGQjFBODI3RDg0MDBDMEYzMUYg
LyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxM0Ex
MENENjMzMTAwMEZBREE3NSAvKiBIVE1MQXVkaW9FbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE4NzFEQzJBMEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MQmFzZUVsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC0yODg3NSw2ICsyODk5MSw3IEBACiAJCQkJQTQzQkY1OTgxMTQ5MjkwQTAw
QzY0M0NBIC8qIEhUTUxQcm9ncmVzc0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThD
RkY3QTUwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxRdW90ZUVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThEMjIzRkQxNkI1MkU0RTAwMTU3Mjg4IC8qIEhUTUxSZXNvdXJjZVByZWxvYWRl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkM5NDFCQjRDNEU4MDAxMjg5OEYgLyogSURC
S2V5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFEQzIyMEExNTIwNTcwMEIxMkE2OCAvKiBI
VE1MU2NyaXB0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdCMzg3NDEyMjg4M0U5
MDBCODFGRjggLyogSFRNTFNjcmlwdFJ1bm5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODEz
NjlEOTA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yODkxNSwzOCArMjkwMzIsMTggQEAKIAkJCQk1MTNGMTQ1MzBBQjYzNEM0MDAwOTRE
REYgLyogSWNvbkxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjc1MzU4RTBCMDUzQTY2
MDAyQ0U2NEYgLyogSWNvbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxRTFFQ0MwMEM5MUM5
MDQwMERDMjU1QiAvKiBJY29uUmVjb3JkLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUI5
MTgxMTA2RTAwMDE2REM1MSAvKiBJREJBbnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzU4NUE2
NjIxMUQ0RkFDNTAwNEMzRTRCIC8qIElEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCi0JCQkJNTEwM0MyQjMxQkEyMzI0RDAwRTI2MzM3IC8qIElEQkN1cnNvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1MUY0MUE2OTFCQTczQjVCMDAyRTA1M0IgLyogSURCQ3Vyc29yQmFja2Vu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE2QjFCQTczQjVCMDAyRTA1M0IgLyogSURC
Q3Vyc29yQmFja2VuZE9wZXJhdGlvbnMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwM0MyQjQx
QkEyMzJBRTAwRTI2MzM3IC8qIElEQkN1cnNvcldpdGhWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk1MTAzQzJCNTFCQTIzMkQ0MDBFMjYzMzcgLyogSURCRGF0YWJhc2UuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFGNDFBNkQxQkE3M0I1QjAwMkUwNTNCIC8qIElEQkRhdGFiYXNlQmFja2Vu
ZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE3MDFCQTczQjVCMDAyRTA1M0IgLyogSURC
RGF0YWJhc2VDYWxsYmFja3NJbXBsLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUNFMTgx
MTA2RTAwMDE2REM1MSAvKiBJREJEYXRhYmFzZUV4Y2VwdGlvbi5jcHAgaW4gU291cmNlcyAqLywK
LQkJCQk1MTAzMTA2MTFCQThFMTBEMDAzMzI5QzAgLyogSURCRGF0YWJhc2VJZGVudGlmaWVyLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUxNjMxMTdEMTg1MTI0MkIwMDUzNDY0NyAvKiBJREJEYXRh
YmFzZU1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUQwMTgxMTA2RTAwMDE2
REM1MSAvKiBJREJFdmVudERpc3BhdGNoZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTE1N0Q0
NjQxQkEyNEFFRTAwODVDQTJGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEwMzEwNEYxQkE4Q0MwMzAwMzMyOUMwIC8qIElEQkZhY3RvcnlJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTUxNTdENDY1MUJBMjRBRjgwMDg1Q0EyRiAvKiBJREJJbmRleC5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQk1MUQ3MTlEQjE4MTEwNkUwMDAxNkRDNTEgLyogSURCS2V5LmNwcCBpbiBT
b3VyY2VzICovLAotCQkJCTUxMUVDMUE4MTg4REFFN0IwMEJBM0VCNiAvKiBJREJLZXlEYXRhLmNw
cCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOUREMTgxMTA2RTAwMDE2REM1MSAvKiBJREJLZXlQ
YXRoLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxRDcxOURGMTgxMTA2RTAwMDE2REM1MSAvKiBJ
REJLZXlSYW5nZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MTIzQUYxODE4OTBBNENBMDAzMUNE
QzkgLyogSURCS2V5UmFuZ2VEYXRhLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxNTdENDY2MUJB
MjRBRkQwMDg1Q0EyRiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1
MTAzQzJCNzFCQTIzM0M0MDBFMjYzMzcgLyogSURCT3BlbkRCUmVxdWVzdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MTAzMTA1QTFCQThEQjU2MDAzMzI5QzAgLyogSURCT3BlbkRCUmVxdWVzdElt
cGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGNDFBN0IxQkE3M0I1QjAwMkUwNTNCIC8qIElE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNTEwM0My
QjYxQkEyMzNCRjAwRTI2MzM3IC8qIElEQlJlcXVlc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEwMzEwNUMxQkE4REI1NjAwMzMyOUMwIC8qIElEQlJlcXVlc3RJbXBsLmNwcCBpbiBTb3VyY2Vz
ICovLAotCQkJCTUxMDNDMkIyMUJBMjMxNzQwMEUyNjMzNyAvKiBJREJUcmFuc2FjdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MUY0MUE3MzFCQTczQjVCMDAyRTA1M0IgLyogSURCVHJhbnNh
Y3Rpb25CYWNrZW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjQxQTc1MUJBNzNCNUIwMDJF
MDUzQiAvKiBJREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxRjQxQTc3MUJBNzNCNUIwMDJFMDUzQiAvKiBJREJUcmFuc2FjdGlvbkNvb3JkaW5h
dG9yLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTUxMDNDMkI4MUJBMjM1QzUwMEUyNjMzNyAvKiBJ
REJWZXJzaW9uQ2hhbmdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE3MUQ1N0IwRjMz
ODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzND
RjE3QTQxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQzNDRjE3QTYxNUIwMDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdp
c3RyeS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MDIwLDYgKzI5MTE3LDcgQEAKIAkJCQk3NTQx
MzNBQTEwMkUwMEY0MDAwNzVEMDAgLyogSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlGMzgxMEMxQjEzNjVBNDk2MDBFRDZFMzMgLyogSW5zcGVjdG9yV29ya2Vy
QWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM1MEI3MzUxM0YxMzc3RDAwODgwQzQzIC8q
IEluc3RydW1lbnRpbmdBZ2VudHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOEMxQkI0
QzRFODAwMTI4OThGIC8qIElEQkZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0NkYw
NEUxN0I5NkZCRDAwNTY0N0YwIC8qIEludFBvaW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIy
NzUzNTYwMEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRQb2ludENHLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyNzUzNTdDMEIwNTM4MTQwMDJDRTY0RiAvKiBJbnRQb2ludE1hYy5tbSBpbiBTb3VyY2Vz
ICovLApAQCAtMjkwMzgsNiArMjkxMzYsNyBAQAogCQkJCTA3MDU4NTAyMTdGQTEwRDAwMDVGMkJD
QiAvKiBKU0FsbFZpZGVvQ2FwYWJpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQTE1
RUM5MTJCMDNGNTAwMDNBNTgzQSAvKiBKU0FuYWx5c2VyTm9kZS5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkzMUE3OTVDNjE4ODhCQURDMDAzODJGOTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5cy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1RkNBQzFCQjRDNEU4MDAxMjg5OEYgLyogSURCVHJh
bnNhY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5ODQ4MEIxQTFFNkNFNDAwQTEzMzE4
IC8qIEpTQW5pbWF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMxREEwOUQx
QzEyMzAwMEJFMzI1IC8qIEpTQXR0ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzJFRDZCQzBD
NkJEMkYwMDA5MjBCRkYgLyogSlNBdHRyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkx
ODksNiArMjkyODgsNyBAQAogCQkJCUUwRkVGMzcyQjQ3QzUzRUFDMUMxRkJFRSAvKiBKU0V2ZW50
U291cmNlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM2QTcwMzMyNUM5RDBCNkNEQ0JDNEQ3NyAv
KiBKU0V2ZW50VGFyZ2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNjA5MDIwMEU5MUI4RUMw
MDBDNjhCNSAvKiBKU0V2ZW50VGFyZ2V0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUx
ODVGQzlGMUJCNEM0RTgwMDEyODk4RiAvKiBJREJPYmplY3RTdG9yZS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQkzMzE0QUNFQjEwODkyMDg2MDAwRjBFNTYgLyogSlNFeGNlcHRpb25CYXNlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTcyNEVEMzMxMUEzQThCMjMwMEY1RjEzQyAvKiBKU0VYVEJsZW5k
TWluTWF4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTcyRjFBREE1MUEzOTBCOUYwMDAxNEUxOCAv
KiBKU0VYVEZyYWdEZXB0aC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5MjUwLDYgKzI5MzUwLDcg
QEAKIAkJCQk5QjFBQjA3QzE2NDhDN0M0MDA1MUYzRjIgLyogSlNIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEQwNjRGQjBBMjNDMENDMDA1
RTcyMDMgLyogSlNIVE1MRm9ybUVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQThEMDY1
QUUwQTI0NDZDRDAwNUU3MjAzIC8qIEpTSFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxODVGQzdBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJDdXJzb3IuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM0OTE4QzYwQkZFQTA1MDAwOUQ2MzE2IC8qIEpTSFRNTEZyYW1l
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzJFRDdBNTBDNkMwRjM2MDA5MjBCRkYg
LyogSlNIVE1MRnJhbWVFbGVtZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOTI2
RjgwMEMwNTUyNDcwMDgyNzc2QiAvKiBKU0hUTUxGcmFtZVNldEVsZW1lbnQuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yOTU1Miw2ICsyOTY1Myw3IEBACiAJCQkJQjJGQTNEOTQwQUI3NUE2RjAwMEU1
QUM0IC8qIEpTU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MkZBM0Q5NjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdGaWx0ZXJFbGVtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUIyN0IyODI1MENFRjBDMDcwMEQzOUQ1NCAvKiBKU1NWR0ZvbnRFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0JBMUJCNENCRjgwMDEyODk4RiAvKiBJREJT
ZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzQjc5MDQwQ0NBRkYxNTAwMEIwODI1IC8q
IEpTU1ZHRm9udEZhY2VFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4M0I3OTAxMEND
QUZGMTUwMDBCMDgyNSAvKiBKU1NWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBODNCNzkwMzBDQ0FGRjE1MDAwQjA4MjUgLyogSlNTVkdGb250RmFjZU5hbWVF
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk2NDcsNiArMjk3NDksNyBAQAogCQkJCTA3
QjVBMkRCMTQ2NDMyMEEwMEE4MUVDRSAvKiBKU1RleHRUcmFja0xpc3QuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMDdCNUEzMEQxNDY4N0Q3MTAwQTgxRUNFIC8qIEpTVGV4dFRyYWNrTGlzdEN1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTQxQTBDRDY4MjY5MDBGQURBNzUgLyogSlNU
aW1lUmFuZ2VzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxNkQ3RDZGMUJCNUYwQkQwMEFGN0M3
NyAvKiBJREJDb25uZWN0aW9uVG9TZXJ2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZEQTdD
MTYxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZE
QTdDMTgxODgzMjJFQjAwQzk1NEI1IC8qIEpTVG91Y2hFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRkRBN0MxQTE4ODMyMkVCMDBDOTU0QjUgLyogSlNUb3VjaExpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yOTY1OSw2ICsyOTc2Miw3IEBACiAJCQkJQTg2NjI5RDAwOURBMkI0ODAwOTYz
M0E1IC8qIEpTVUlFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBQUE0RkFEMzE3NUQ1Q0Iz
MDA3NDM4NzMgLyogSlNVSVJlcXVlc3RFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzcz
RkIxMTE5MUVGNkY0MDA3REUwNjEgLyogSlNVc2VyTWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNTE4NUZDQTMxQkI0QzRFODAwMTI4OThGIC8qIElEQk9wZW5EQlJlcXVlc3Qu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M3M0ZCMEMxOTFFRjVBODAwN0RFMDYxIC8qIEpTVXNl
ck1lc3NhZ2VIYW5kbGVyc05hbWVzcGFjZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzczRkIx
OTE5MUVGODA4MDA3REUwNjEgLyogSlNVc2VyTWVzc2FnZUhhbmRsZXJzTmFtZXNwYWNlQ3VzdG9t
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE1Qzc3MDk0MTAwRDNDQTgwMDVCQTI2NyAvKiBKU1Zh
bGlkaXR5U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTY4Myw2ICsyOTc4Nyw3IEBACiAJ
CQkJQkMyQ0JGN0IxNDBGMUQ1ODAwMzg3OUJFIC8qIEpTV2ViR0xDb250ZXh0RXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNkUzRkFEMzgxNDczM0Y0MDEwRTQyMzA3IC8qIEpTV2ViR0xEZWJ1
Z1JlbmRlcmVySW5mby5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTNGQUQzODE0NzMzRjQwMjBF
NDIzMDcgLyogSlNXZWJHTERlYnVnU2hhZGVycy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MTg1
RkM4NDFCQjRDNEU4MDAxMjg5OEYgLyogSURCRGF0YWJhc2VFeGNlcHRpb24uY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNkUzRkFEMzgxNDczM0Y0MDAwRTQyMzA3IC8qIEpTV2ViR0xEZXB0aFRleHR1
cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkVCRjBFNzYxMkE5ODY4ODAwREIxNzBBIC8qIEpT
V2ViR0xEcmF3QnVmZmVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3Qjk5NzEwNDJEMkQz
MDAwOUQ0NDcgLyogSlNXZWJHTEZyYW1lYnVmZmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk2
OTcsNiArMjk4MDIsNyBAQAogCQkJCTZGOTk1QTMzMUE3MDgzMzcwMEE3MzVGNCAvKiBKU1dlYkdM
U2FtcGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlBMjEwNDJEMkQzMDAwOUQ0NDcg
LyogSlNXZWJHTFNoYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMDdEMzM1NTE1MkI2MzBF
MDAxQjYzOTMgLyogSlNXZWJHTFNoYWRlclByZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MTg1RkM4QTFCQjRDNEU4MDAxMjg5OEYgLyogSURCRXZlbnREaXNwYXRjaGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTZGOTk1QTM1MUE3MDgzMzcwMEE3MzVGNCAvKiBKU1dlYkdM
U3luYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OUM3QjlBNDEwNDJEMkQzMDAwOUQ0NDcgLyog
SlNXZWJHTFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkY5OTVBMzcxQTcwODMzNzAw
QTczNUY0IC8qIEpTV2ViR0xUcmFuc2Zvcm1GZWVkYmFjay5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTI5OTgyLDYgKzMwMDg4LDcgQEAKIAkJCQlDRDVFNUI2MTFBMTVGMTU2MDAwQzYwOUUgLyogUGFn
ZUNvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM4MjA4OTIxNDdEMzVGOTAw
MTBCQzA2IC8qIFBhZ2VDb25zb2xlQWdlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJREFFRDIw
MzAxNkYyNDQyQjAwNzBFQzBGIC8qIFBhZ2VDb25zb2xlQ2xpZW50LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxMEE1OEY5MUJBQ0M3RjIwMEMxOTI4MiAvKiBJREJSZXF1ZXN0RGF0YS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlBNUEyQUYwQjE4Mjk3MzQzMDBERTE3MjkgLyogUGFnZURlYnVnZ2Fi
bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjM0NzQyREMxMzQzNjJGMDAwNTMxQkMyIC8qIFBh
Z2VEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMDJCMEJEMEQ3OUY4Mjkw
MEM3RUU4MyAvKiBQYWdlR3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDcxNSw2ICszMDgy
Miw3IEBACiAJCQkJQjFBRDRFNzMxM0ExMkE0NjAwODQ2QjI3IC8qIFRleHRUcmFja0xvYWRlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDFFNzM0NzE2N0JDNzhFMDA5QTg4NUQgLyogVGV4dFRy
YWNrUmVwcmVzZW50YXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDQTgyOTYxNjc5MTAw
RjAwODc1NzE0IC8qIFRleHRUcmFja1JlcHJlc2VudGF0aW9uSU9TLm1tIGluIFNvdXJjZXMgKi8s
CisJCQkJNTE4NUZDOTYxQkI0QzRFODAwMTI4OThGIC8qIElEQktleURhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMjk0OTg2ODMxOTUzNDE5NDAwNzJEMkJEIC8qIFRleHRVbmRvSW5zZXJ0aW9u
TWFya3VwTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDk4NzcwRjAxMjQyQzUzNTAwMjIyNkJB
IC8qIFRleHR1cmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNjVEMzIwRUFEMTIxMTAwN0U0
NTMzIC8qIFRoZW1lLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzA3MzMsNiArMzA4NDEsNyBAQAog
CQkJCTFGNzJCRjBBMTg3RkQ0NDkwMDA5QkNCMyAvKiBUaWxlQ29udHJvbGxlck1lbW9yeUhhbmRs
ZXJJT1MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0FBM0E2QTMxOTRCNUMyMjAwMUNCRDI0IC8q
IFRpbGVDb3ZlcmFnZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QUEzQTY5QjE5NEE2NEU3
MDAxQ0JEMjQgLyogVGlsZUdyaWQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTE4NUZDOTAxQkI0
QzRFODAwMTI4OThGIC8qIElEQkluZGV4LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODc3MEYy
MTI0MkM1MzUwMDIyMjZCQSAvKiBUaWxpbmdEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUY1
NUIzRERCMTI1MUYxMkQwMDNFRjI2OSAvKiBUaW1lSW5wdXRUeXBlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTc1NTNDRkU5MTA4RjQ3M0YwMEVBMjgxRSAvKiBUaW1lbGluZVJlY29yZEZhY3Rvcnku
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDc5NCw2ICszMDkwMyw3IEBACiAJCQkJMkUzQkJGMDcx
MTYyREExMTAwQjk0MDlBIC8qIFVVSUQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjVBMTU0Mjcx
Mjc5NTM0RDAwRDBCMEMwIC8qIFZhbGlkYXRpb25NZXNzYWdlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEMzE2MEFFMTJCMDI2RjcwMEMxQTM1OSAvKiBWZWN0b3JNYXRoLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxODVGQzlBMUJCNEM0RTgwMDEyODk4RiAvKiBJREJLZXlSYW5nZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlDREU4M0RCMTE4M0M0NDA2MDAzMUVBQTMgLyogVmlkZW9QbGF5YmFj
a1F1YWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwREUxNzE1RDJBMjAwNjU4RDk4
IC8qIFZpZGVvVHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkU4OEUwRTExNzE1RDJBMjAw
NjU4RDk4IC8qIFZpZGVvVHJhY2tMaXN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzA4ODAsNiAr
MzA5OTAsNyBAQAogCQkJCUEwOENGMTU0MTUyQjc3QjMwMDlDNTc3NSAvKiBXZWJHTFNoYWRlclBy
ZWNpc2lvbkZvcm1hdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMUQzQ0Y4NjE0QkQwQTMwMDBG
RTk5NzAgLyogV2ViR0xTaGFyZWRPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkY5OTVB
MTUxQTcwNzU2MjAwQTczNUY0IC8qIFdlYkdMU3luYy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1
MTBBNThGQjFCQUNDN0YyMDBDMTkyODIgLyogSURCUmVxdWVzdElkZW50aWZpZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDlDN0I5RTUxMDQyRDMyRjAwMDlENDQ3IC8qIFdlYkdMVGV4dHVyZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk2Rjk5NUEyMzFBNzA3OEIxMDBBNzM1RjQgLyogV2ViR0xU
cmFuc2Zvcm1GZWVkYmFjay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwQzNGMUY1QTEwQzg4NzEy
MDBENzJDRTEgLyogV2ViR0xVbmlmb3JtTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0z
MDg5Miw2ICszMTAwMyw3IEBACiAJCQkJOTc2RDZDN0IxMjJCOEEzRDAwMUZEMUY3IC8qIFdlYktp
dEJsb2JCdWlsZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMxMDYwMzZGMTQzMjdEMkUwMEFC
RjRCQSAvKiBXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTgz
OTE1ODBGMUU3NzY5MDBDMjM3ODIgLyogV2ViS2l0Q1NTTWF0cml4LmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTUxNkQ3RDcxMUJCNUYwQkQwMEFGN0M3NyAvKiBJREJDb25uZWN0aW9uVG9DbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOEFBNjFDRkYxNDRENTk1QjAwRjM3MzUwIC8qIFdlYktp
dENTU1JlZ2lvblJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5QUREODAwQ0M0MDkyMjAw
MDk4QzRDIC8qIFdlYktpdENTU1RyYW5zZm9ybVZhbHVlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTNGRkZGOUE4MTU5RDlBNTUwMDIwQkJENSAvKiBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0zMDkxNiw2ICszMTAyOCw3IEBACiAJCQkJOTdBQUJEMjYxNEZBMDlE
NTAwNzQ1N0FFIC8qIFdlYlNvY2tldEhhbmRzaGFrZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkz
MURFQTQ1NTFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTBGNTgwRkE0MTQ5NjkzOTEwMEZCNUJEOCAvKiBXZWJUaWxlZEJhY2tp
bmdMYXllci5tbSBpbiBTb3VyY2VzICovLAorCQkJCTUxODVGQ0IzMUJCNEM0RTgwMDEyODk4RiAv
KiBXb3JrZXJHbG9iYWxTY29wZUluZGV4ZWREYXRhYmFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlDRDgyMDMwQjEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuQ29udHJvbGxl
ci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGNDJCMzFFMTg4MTE5MUIwMDI3OEFBQyAvKiBXZWJW
aWRlb0Z1bGxzY3JlZW5Db250cm9sbGVyQVZLaXQubW0gaW4gU291cmNlcyAqLywKIAkJCQlDRDgy
MDMwRDEzOTVBQjZBMDBGOTU2QzYgLyogV2ViVmlkZW9GdWxsc2NyZWVuSFVEV2luZG93Q29udHJv
bGxlci5tbSBpbiBTb3VyY2VzICovLApAQCAtMzA5NDcsNyArMzEwNjAsNiBAQAogCQkJCUYzNDc0
MkUwMTM0MzYzMUYwMDUzMUJDMiAvKiBXb3JrZXJEZWJ1Z2dlckFnZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUEzRTI2NDMwMTQ3NDg5OTEwMDVBODU4OCAvKiBXb3JrZXJFdmVudFF1ZXVlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTJFNDM0NjQ4MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk1MUQ3MTlGQjE4MTEwNkUwMDAxNkRD
NTEgLyogV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJOTdGOEU2NjUxNTFENEE0QjAwRDJEMTgxIC8qIFdvcmtlckdsb2JhbFNjb3BlTm90aWZp
Y2F0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGMzZFMDdBNDEzNThBOEJFMDBBQUNCQzkg
LyogV29ya2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRTQz
NDY0QzBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyTG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8s
CkBAIC0zMDk1OSw2ICszMTA3MSw3IEBACiAJCQkJRjM0NzQyRTgxMzQzNjM1MDAwNTMxQkMyIC8q
IFdvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE3RDZCMzRB
MEY2MTEwNDUwMEI3OUZEMSAvKiBXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMkU0MzQ2NTQwRjU0NkE4MjAwQjBGMUJBIC8qIFdvcmtlclRocmVhZC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk1MTBBNThFNDFCQUE0MEIxMDBDMTkyODIgLyogSW5Qcm9jZXNzSURCU2Vy
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBCOTA1NkY4MEYyNjg1RjMwMDk1RkY2QSAvKiBX
b3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3QUFCRDJDMTRG
QTA5RDUwMDc0NTdBRSAvKiBXb3JrZXJUaHJlYWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk5MzMwOUUyMzA5OUU2NDkyMDA1NkU1ODEgLyogV3JhcENvbnRlbnRz
SW5EdW1teVNwYW5Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmNwcAppbmRleCA4MzdlOGQ1Li5iOTVkODVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkZyYW1l
TmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNs
dWRlICJJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oIgorI2luY2x1ZGUgIkluUHJvY2Vzc0lE
QlNlcnZlci5oIgogI2luY2x1ZGUgIlBhZ2VDb25maWd1cmF0aW9uLmgiCiAjaW5jbHVkZSAiU3Rv
cmFnZUFyZWEuaCIKICNpbmNsdWRlICJTdG9yYWdlTmFtZXNwYWNlLmgiCkBAIC00OSw2ICs1MCwx
MiBAQCBjbGFzcyBFbXB0eURhdGFiYXNlUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgRGF0YWJhc2VQ
cm92aWRlciB7CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgdmlydHVhbCBSZWZQ
dHI8SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U+IGNyZWF0ZUlEQkZhY3RvcnlCYWNrZW5kKCkg
eyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c01vZGVybklEQigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisgICAgCisgICAgdmlydHVhbCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25z
dCBTZXNzaW9uSUQmKQorICAgIHsKKyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFJlZjxJ
blByb2Nlc3NJREJTZXJ2ZXI+PiBzaGFyZWRDb25uZWN0aW9uKEluUHJvY2Vzc0lEQlNlcnZlcjo6
Y3JlYXRlKCkpOworICAgICAgICByZXR1cm4gc2hhcmVkQ29ubmVjdGlvbi5nZXQoKS0+Y29ubmVj
dGlvblRvU2VydmVyKCk7CisgICAgfQogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RhdGFiYXNlUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRGF0
YWJhc2VQcm92aWRlci5oCmluZGV4IDI3MGY0MmEuLjAxZmY0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRGF0YWJhc2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRGF0YWJhc2VQcm92aWRlci5oCkBAIC0zMyw2ICszMywxMSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIElEQkNvbm5lY3Rpb25NYW5hZ2VyOwogY2xhc3MgSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2U7CitjbGFzcyBTZXNzaW9uSUQ7CisKK25hbWVzcGFjZSBJREJDbGllbnQgewor
Y2xhc3MgSURCQ29ubmVjdGlvblRvU2VydmVyOworfQogCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBE
YXRhYmFzZVByb3ZpZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8RGF0YWJhc2VQcm92aWRlcj4gewog
cHVibGljOgpAQCAtNDIsNiArNDcsNyBAQCBwdWJsaWM6CiAgICAgSURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2UqIGlkYkZhY3RvcnlCYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIGJvb2wgc3VwcG9y
dHNNb2Rlcm5JREIoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBJREJDbGllbnQ6OklEQkNvbm5l
Y3Rpb25Ub1NlcnZlciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBTZXNz
aW9uSUQmKSA9IDA7CiAjZW5kaWYKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCmluZGV4IDkw
YWQ5NjM4Li5kYzU3YzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTUwLDYgKzUwLDcgQEAKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpc3RvcnlDb250cm9sbGVyLmgiCiAj
aW5jbHVkZSAiSGlzdG9yeUl0ZW0uaCIKKyNpbmNsdWRlICJJREJDb25uZWN0aW9uVG9TZXJ2ZXIu
aCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTEzLDYgKzExNCwx
MCBAQAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbk1hbmFnZXIuaCIKICNlbmRpZgogCisjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCisjaW5jbHVkZSAiSW5Qcm9jZXNzSURCU2VydmVyLmgiCisj
ZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdGF0aWMgSGFzaFNldDxQYWdlKj4qIGFs
bFBhZ2VzOwpAQCAtMTc1OCw0ICsxNzYzLDE5IEBAIHZvaWQgUGFnZTo6c2V0QWxsb3dzTWVkaWFE
b2N1bWVudElubGluZVBsYXliYWNrKGJvb2wgZmxhZykKIH0KICNlbmRpZgogCisjaWYgRU5BQkxF
KElOREVYRURfREFUQUJBU0UpCitJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYgUGFn
ZTo6aWRiQ29ubmVjdGlvbigpCit7CisgICAgaWYgKCFtX2lkYklEQkNvbm5lY3Rpb25Ub1NlcnZl
cikgeworICAgICAgICBpZiAodXNlc0VwaGVtZXJhbFNlc3Npb24oKSkgeworICAgICAgICAgICAg
YXV0byBpblByb2Nlc3NTZXJ2ZXIgPSBJblByb2Nlc3NJREJTZXJ2ZXI6OmNyZWF0ZSgpOworICAg
ICAgICAgICAgbV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXIgPSAmaW5Qcm9jZXNzU2VydmVyLT5j
b25uZWN0aW9uVG9TZXJ2ZXIoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBtX2lkYklE
QkNvbm5lY3Rpb25Ub1NlcnZlciA9ICZkYXRhYmFzZVByb3ZpZGVyKCkuaWRiQ29ubmVjdGlvblRv
U2VydmVyRm9yU2Vzc2lvbihtX3Nlc3Npb25JRCk7CisgICAgfQorICAgIAorICAgIHJldHVybiAq
bV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXI7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1BhZ2UuaAppbmRleCA5N2E4NzQyLi41MWU0MzYwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
aApAQCAtNjQsNiArNjQsMTAgQEAgY2xhc3MgRGVidWdnZXI7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorbmFtZXNwYWNlIElEQkNsaWVudCB7CitjbGFzcyBJREJDb25uZWN0aW9uVG9TZXJ2ZXI7
Cit9CisKIGNsYXNzIEFsdGVybmF0aXZlVGV4dENsaWVudDsKIGNsYXNzIEFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlOwogY2xhc3MgQmFja0ZvcndhcmRDb250cm9sbGVyOwpAQCAtNDY2LDYgKzQ3MCwx
MCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRBbGxvd3NNZWRpYURvY3Vt
ZW50SW5saW5lUGxheWJhY2soYm9vbCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShJTkRFWEVEX0RB
VEFCQVNFKQorICAgIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblRvU2VydmVyJiBpZGJDb25uZWN0
aW9uKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGluaXRH
cm91cCgpOwogCkBAIC02MDMsNiArNjExLDEwIEBAIHByaXZhdGU6CiAgICAgY29uc3Qgc3RkOjp1
bmlxdWVfcHRyPFBhZ2VEZWJ1Z2dhYmxlPiBtX2luc3BlY3RvckRlYnVnZ2FibGU7CiAjZW5kaWYK
IAorI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAgIFJlZlB0cjxJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Ub1NlcnZlcj4gbV9pZGJJREJDb25uZWN0aW9uVG9TZXJ2ZXI7CisjZW5kaWYK
KwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX3NlZW5QbHVnaW5zOwogICAgIEhhc2hTZXQ8U3RyaW5n
PiBtX3NlZW5NZWRpYUVuZ2luZXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2VjdXJpdHlPcmlnaW5EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmln
aW5EYXRhLmNwcAppbmRleCA3MzY2NGJlLi44Mzk2NDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZWN1cml0eU9yaWdpbkRhdGEuY3BwCkBAIC00Niw2ICs0NiwxMyBAQCBTZWN1cml0eU9yaWdp
bkRhdGEgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4oY29uc3QgU2VjdXJp
dHlPcmlnaW4mCiAgICAgcmV0dXJuIHNlY3VyaXR5T3JpZ2luRGF0YTsKIH0KIAorI2lmbmRlZiBO
REVCVUcKK1N0cmluZyBTZWN1cml0eU9yaWdpbkRhdGE6OmRlYnVnU3RyaW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbWFrZVN0cmluZyhwcm90b2NvbCwgIjovLyIsIGhvc3QsICI6IiwgU3RyaW5n
OjpudW1iZXIocG9ydCkpOworfQorI2VuZGlmCisKIFNlY3VyaXR5T3JpZ2luRGF0YSBTZWN1cml0
eU9yaWdpbkRhdGE6OmZyb21GcmFtZShGcmFtZSogZnJhbWUpCiB7CiAgICAgaWYgKCFmcmFtZSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRhLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luRGF0YS5oCmluZGV4IDIxYzk1ZGYuLjk5
MzA3YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW5EYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbkRhdGEuaApAQCAtNDks
NiArNDksMTAgQEAgc3RydWN0IFNlY3VyaXR5T3JpZ2luRGF0YSB7CiAKICAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIGJvb2wgZGVjb2RlKERlY29kZXImLCBTZWN1cml0eU9yaWdp
bkRhdGEmKTsKKworI2lmbmRlZiBOREVCVUcKKyAgICBTdHJpbmcgZGVidWdTdHJpbmcoKSBjb25z
dDsKKyNlbmRpZgogfTsKIAogV0VCQ09SRV9FWFBPUlQgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFNl
Y3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCA4OGRjNmE1Li44ODIzMDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE1LTA5LTI4
ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYW4gSURC
IFNlcnZlciB0aGF0IGNhbiByb3VuZHRyaXAgYSByZXF1ZXN0IGJhY2sgdG8gdGhlIGNsaWVudC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0OTYwMwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3RvcmFn
ZS9XZWJEYXRhYmFzZVByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkRhdGFiYXNlUHJvdmlkZXI6
OmlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24pOgorICAgICAgICAqIFN0b3JhZ2UvV2Vi
RGF0YWJhc2VQcm92aWRlci5oOgorCiAyMDE1LTA5LTI1ICBBbGV4IENocmlzdGVuc2VuICA8YWNo
cmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ2xlYW4gdXAgQ01ha2UgYnVpbGQgb24g
TWFjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQcm92aWRlci5jcHAKaW5k
ZXggZDE1MGVjYS4uMzk2MGU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlL1dl
YkRhdGFiYXNlUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRh
YmFzZVByb3ZpZGVyLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgIldlYkRhdGFiYXNl
UHJvdmlkZXIuaCIKIAogI2luY2x1ZGUgPFdlYkNvcmUvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2UuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5oPgogI2luY2x1ZGUgPHd0Zi9OZXZl
ckRlc3Ryb3llZC5oPgogCiBXZWJEYXRhYmFzZVByb3ZpZGVyJiBXZWJEYXRhYmFzZVByb3ZpZGVy
OjpzaW5nbGV0b24oKQpAQCAtNDgsNCArNDksMTMgQEAgUmVmUHRyPFdlYkNvcmU6OklEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlPiBXZWJEYXRhYmFzZVByb3ZpZGVyOjpjcmVhdGVJREJGYWN0b3IK
IHsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KKworV2ViQ29yZTo6SURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uVG9TZXJ2ZXImIFdlYkRhdGFiYXNlUHJvdmlkZXI6OmlkYkNvbm5lY3Rpb25Ub1NlcnZl
ckZvclNlc3Npb24oY29uc3QgV2ViQ29yZTo6U2Vzc2lvbklEJiBzZXNzaW9uSUQpCit7CisgICAg
YXV0byByZXN1bHQgPSBtX2lkYlNlcnZlck1hcC5hZGQoc2Vzc2lvbklELnNlc3Npb25JRCgpLCBu
dWxscHRyKTsKKyAgICBpZiAocmVzdWx0LmlzTmV3RW50cnkpCisgICAgICAgIHJlc3VsdC5pdGVy
YXRvci0+dmFsdWUgPSBXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI6OmNyZWF0ZSgpOworCisg
ICAgcmV0dXJuIHJlc3VsdC5pdGVyYXRvci0+dmFsdWUtPmNvbm5lY3Rpb25Ub1NlcnZlcigpOwor
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2UvV2ViRGF0YWJhc2VQ
cm92aWRlci5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApp
bmRleCA2M2Q2NGNhLi5mZWRkZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2Uv
V2ViRGF0YWJhc2VQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZS9XZWJEYXRh
YmFzZVByb3ZpZGVyLmgKQEAgLTI3LDcgKzI3LDEwIEBACiAjZGVmaW5lIFdlYkRhdGFiYXNlUHJv
dmlkZXJfaAogCiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVByb3ZpZGVyLmg+CisjaW5jbHVk
ZSA8V2ViQ29yZS9JblByb2Nlc3NJREJTZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCiBj
bGFzcyBXZWJEYXRhYmFzZVByb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkRhdGFiYXNl
UHJvdmlkZXIgewogICAgIGZyaWVuZCBjbGFzcyBOZXZlckRlc3Ryb3llZDxXZWJEYXRhYmFzZVBy
b3ZpZGVyPjsKQEAgLTM3LDYgKzQwLDcgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKElOREVYRURf
REFUQUJBU0UpCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRzTW9kZXJuSURCKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQorICAgIHZpcnR1YWwgV2ViQ29yZTo6SURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uVG9TZXJ2ZXImIGlkYkNvbm5lY3Rpb25Ub1NlcnZlckZvclNlc3Npb24oY29u
c3QgV2ViQ29yZTo6U2Vzc2lvbklEJikgb3ZlcnJpZGU7CiAjZW5kaWYKIAogcHJpdmF0ZToKQEAg
LTQ0LDYgKzQ4LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQog
ICAgIHZpcnR1YWwgUmVmUHRyPFdlYkNvcmU6OklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBj
cmVhdGVJREJGYWN0b3J5QmFja2VuZCgpIG92ZXJyaWRlOworICAgIEhhc2hNYXA8dWludDY0X3Qs
IFJlZlB0cjxXZWJDb3JlOjpJblByb2Nlc3NJREJTZXJ2ZXI+PiBtX2lkYlNlcnZlck1hcDsKICNl
bmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDAyNmRiZDcuLmIxMzU4MDcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxMiBAQAorMjAxNS0wOS0yOCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGFuIElEQiBTZXJ2ZXIgdGhhdCBjYW4gcm91bmR0cmlwIGEgcmVx
dWVzdCBiYWNrIHRvIHRoZSBjbGllbnQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNDk2MDMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlk
ZXIuaDoKKwogMjAxNS0wOS0yNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNv
bT4KIAogICAgICAgICBFeHBvc2UgYSBXS1dlYlZpZXcgQVBJIGZvciBhbGxvd2luZyBwcm9ncmFt
bWF0aWMgZm9jdXMgdG8gdHJpZ2dlciBub2RlIGFzc2lzdGFuY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL1dlYkRhdGFiYXNlUHJvdmlkZXIuaApp
bmRleCAyYWU5OTQxLi5hOGFmMmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0RhdGFiYXNlcy9XZWJEYXRhYmFzZVByb3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvV2ViRGF0YWJhc2VQcm92aWRlci5oCkBAIC0zNyw2ICszNywx
MSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICB2aXJ0dWFs
IGJvb2wgc3VwcG9ydHNNb2Rlcm5JREIoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQorCisgICAgdmlydHVhbCBXZWJDb3JlOjpJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZl
ciYgaWRiQ29ubmVjdGlvblRvU2VydmVyRm9yU2Vzc2lvbihjb25zdCBXZWJDb3JlOjpTZXNzaW9u
SUQmKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICB9CiAjZW5kaWYKIAogcHJpdmF0ZToK
</data>
<flag name="review"
          id="287204"
          type_id="1"
          status="+"
          setter="achristensen"
    />
    <flag name="commit-queue"
          id="287206"
          type_id="3"
          status="-"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>