<?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>189938</bug_id>
          
          <creation_ts>2018-09-24 17:12:04 -0700</creation_ts>
          <short_desc>[Apple Pay] Support granular errors in PaymentDetailsUpdate</short_desc>
          <delta_ts>2018-10-18 11:06:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=190650</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>andersca</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1463025</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-24 17:12:04 -0700</bug_when>
    <thetext>[Apple Pay] Support granular errors in PaymentDetailsUpdate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463028</commentid>
    <comment_count>1</comment_count>
      <attachid>350717</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-24 17:13:12 -0700</bug_when>
    <thetext>Created attachment 350717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463742</commentid>
    <comment_count>2</comment_count>
      <attachid>350899</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-26 13:55:56 -0700</bug_when>
    <thetext>Created attachment 350899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463755</commentid>
    <comment_count>3</comment_count>
      <attachid>350903</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-26 14:39:41 -0700</bug_when>
    <thetext>Created attachment 350903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463970</commentid>
    <comment_count>4</comment_count>
      <attachid>350903</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-09-27 09:01:21 -0700</bug_when>
    <thetext>Comment on attachment 350903
Patch

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

&gt; Source/WebCore/Modules/applepay/ApplePayErrorCode.h:2
&gt; + * Copyright (C) 2017-2018 Apple Inc. All rights reserved.

2018?

&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:315
&gt; +static inline void appendShippingContactInvalidError(String&amp;&amp; message, std::optional&lt;PaymentError::ContactField&gt;&amp;&amp; contactField, Vector&lt;PaymentError&gt;&amp; errors)

If ContactField is an enum, I believe we go with std::optional&lt;&gt; without &amp;&amp;.

&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:321
&gt; +Vector&lt;PaymentError&gt; ApplePayPaymentHandler::computeErrors(String&amp;&amp; error, AddressErrors&amp;&amp; addressErrors, PayerErrorFields&amp;&amp; payerErrors, JSC::Strong&lt;JSC::JSObject&gt;&amp;&amp; paymentMethodErrors) const

Does paymentMethodErrors need to be a JSC::Strong, can we make it a JSC::JSObject&amp; instead?

&gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:357
&gt; +                    errors.append({ applePayError-&gt;code(), applePayError-&gt;message(), applePayError-&gt;contactField() });

We can probably move applePayError-&gt;message()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463985</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 09:15:19 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Comment on attachment 350903 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=350903&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/ApplePayErrorCode.h:2
&gt; &gt; + * Copyright (C) 2017-2018 Apple Inc. All rights reserved.
&gt; 
&gt; 2018?

Yeah I&apos;ll remove this.

&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:315
&gt; &gt; +static inline void appendShippingContactInvalidError(String&amp;&amp; message, std::optional&lt;PaymentError::ContactField&gt;&amp;&amp; contactField, Vector&lt;PaymentError&gt;&amp; errors)
&gt; 
&gt; If ContactField is an enum, I believe we go with std::optional&lt;&gt; without &amp;&amp;.

Ok.

&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:321
&gt; &gt; +Vector&lt;PaymentError&gt; ApplePayPaymentHandler::computeErrors(String&amp;&amp; error, AddressErrors&amp;&amp; addressErrors, PayerErrorFields&amp;&amp; payerErrors, JSC::Strong&lt;JSC::JSObject&gt;&amp;&amp; paymentMethodErrors) const
&gt; 
&gt; Does paymentMethodErrors need to be a JSC::Strong, can we make it a
&gt; JSC::JSObject&amp; instead?

We can make it a JSC::JSObject*. It might be null.

&gt; 
&gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:357
&gt; &gt; +                    errors.append({ applePayError-&gt;code(), applePayError-&gt;message(), applePayError-&gt;contactField() });
&gt; 
&gt; We can probably move applePayError-&gt;message()

Yes.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463994</commentid>
    <comment_count>6</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 09:23:07 -0700</bug_when>
    <thetext>(In reply to Andy Estes from comment #5)
&gt; (In reply to youenn fablet from comment #4)
&gt; &gt; Comment on attachment 350903 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=350903&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/applepay/ApplePayErrorCode.h:2
&gt; &gt; &gt; + * Copyright (C) 2017-2018 Apple Inc. All rights reserved.
&gt; &gt; 
&gt; &gt; 2018?
&gt; 
&gt; Yeah I&apos;ll remove this.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:315
&gt; &gt; &gt; +static inline void appendShippingContactInvalidError(String&amp;&amp; message, std::optional&lt;PaymentError::ContactField&gt;&amp;&amp; contactField, Vector&lt;PaymentError&gt;&amp; errors)
&gt; &gt; 
&gt; &gt; If ContactField is an enum, I believe we go with std::optional&lt;&gt; without &amp;&amp;.
&gt; 
&gt; Ok.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:321
&gt; &gt; &gt; +Vector&lt;PaymentError&gt; ApplePayPaymentHandler::computeErrors(String&amp;&amp; error, AddressErrors&amp;&amp; addressErrors, PayerErrorFields&amp;&amp; payerErrors, JSC::Strong&lt;JSC::JSObject&gt;&amp;&amp; paymentMethodErrors) const
&gt; &gt; 
&gt; &gt; Does paymentMethodErrors need to be a JSC::Strong, can we make it a
&gt; &gt; JSC::JSObject&amp; instead?
&gt; 
&gt; We can make it a JSC::JSObject*. It might be null.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:357
&gt; &gt; &gt; +                    errors.append({ applePayError-&gt;code(), applePayError-&gt;message(), applePayError-&gt;contactField() });
&gt; &gt; 
&gt; &gt; We can probably move applePayError-&gt;message()
&gt; 
&gt; Yes.

Actually we don&apos;t need to move, because since message() returns a temporary the compiler will elide the copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463996</commentid>
    <comment_count>7</comment_count>
      <attachid>350969</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-09-27 09:26:26 -0700</bug_when>
    <thetext>Created attachment 350969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464011</commentid>
    <comment_count>8</comment_count>
      <attachid>350969</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-27 09:44:56 -0700</bug_when>
    <thetext>Comment on attachment 350969
Patch

Clearing flags on attachment: 350969

Committed r236552: &lt;https://trac.webkit.org/changeset/236552&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464012</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-09-27 09:44:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464013</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-09-27 09:45:25 -0700</bug_when>
    <thetext>&lt;rdar://problem/44833449&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467042</commentid>
    <comment_count>11</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2018-10-08 08:39:54 -0700</bug_when>
    <thetext>The new test: 
http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https.html

added in:
https://trac.webkit.org/changeset/236552/webkit

is flakey failure.

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=http%2Ftests%2Fssl%2Fapplepay%2FApplePayShippingAddressChangeEventErrorsV3.https.html

Diff:
--- /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https-expected.txt
+++ /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https-actual.txt
@@ -1,3 +1,4 @@
+CONSOLE MESSAGE: Unhandled Promise Rejection: InvalidStateError: The object is in an invalid state.
 Test specifying Apple Pay errors in response to the shippingaddresschange event.
 
 On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470597</commentid>
    <comment_count>12</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-10-18 11:06:17 -0700</bug_when>
    <thetext>(In reply to Truitt Savell from comment #11)
&gt; The new test: 
&gt; http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https.html
&gt; 
&gt; added in:
&gt; https://trac.webkit.org/changeset/236552/webkit
&gt; 
&gt; is flakey failure.
&gt; 
&gt; History:
&gt; https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.
&gt; html#showAllRuns=true&amp;tests=http%2Ftests%2Fssl%2Fapplepay%2FApplePayShippingA
&gt; ddressChangeEventErrorsV3.https.html
&gt; 
&gt; Diff:
&gt; ---
&gt; /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/
&gt; http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https-
&gt; expected.txt
&gt; +++
&gt; /Volumes/Data/slave/highsierra-debug-tests-wk2/build/layout-test-results/
&gt; http/tests/ssl/applepay/ApplePayShippingAddressChangeEventErrorsV3.https-
&gt; actual.txt
&gt; @@ -1,3 +1,4 @@
&gt; +CONSOLE MESSAGE: Unhandled Promise Rejection: InvalidStateError: The object
&gt; is in an invalid state.
&gt;  Test specifying Apple Pay errors in response to the shippingaddresschange
&gt; event.
&gt;  
&gt;  On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST
&gt; COMPLETE&quot;.

Tracked by bug #190650.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350717</attachid>
            <date>2018-09-24 17:13:12 -0700</date>
            <delta_ts>2018-09-26 13:54:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189938-20180924171311.patch</filename>
            <type>text/plain</type>
            <size>43944</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjEzZGExYTVjMWRkN2Yx
NjU5MGZhMTU4N2VmOGJhYWFiMTVjZDRiMS4uMjkxNzIyYjY4MGNhN2VjZDhkYWMxM2MwMDFhOGY4
N2Q2ZWUyY2FjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDE4LTA5LTI0ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdXBwb3J0
IGdyYW51bGFyIGVycm9ycyBpbiBQYXltZW50RGV0YWlsc1VwZGF0ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5OTM4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlFcnJvci5pZGw6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eUVycm9yQ29kZS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5pZGwuCisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmg6IENvcGllZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRh
dGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvbnRhY3RG
aWVsZC5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudERldGFpbHNVcGRhdGUuaWRsLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjphcHBlbmRTaGlwcGluZ0NvbnRhY3RFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpBcHBs
ZVBheVBheW1lbnRIYW5kbGVyOjpjb21wdXRlRXJyb3JzIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKToKKyAgICAgICAgKFdl
YkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQpOgor
ICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFp
bHNVcGRhdGUuaDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRh
aWxzVXBkYXRlLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRI
YW5kbGVyLmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6cGF5bWVudE1ldGhvZENo
YW5nZWQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OnNldHRsZURldGFpbHNQ
cm9taXNlKToKKyAgICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3Iu
aWRsOgorICAgICAgICAqIHRlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5oOiBDb3BpZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRl
LmlkbC4KKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsOiBDb3BpZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBk
YXRlLmlkbC4KKwogMjAxOC0wOS0yNCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gRXZlbnRzIGNsZWFudXAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCmluZGV4IDM4MjE0MGYyY2RhMjJiMDVmMjkxODcxYjY2ZWM1N2U4ODkxYTky
ODIuLjRlMDZmZmYwZDQ0MjljMmNhNmU5ZWMyMjQyYTU5OGY1ZjVkM2NmYjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtOTAsMjYgKzkwLDI4IEBAIFZQQVRIID0gXAogSlNfQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9haXJwbGF5L1dlYktpdFBsYXli
YWNrVGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlDb250YWN0RmllbGQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheUVycm9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RXJyb3JDb2RlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlMaW5lSXRlbS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmlkbCBcCi0JJChX
ZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25SZXN1
bHQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRDb250YWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFR5cGUuaWRs
IFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBk
YXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVu
dE1ldGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVBheW1lbnRQYXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudFJlcXVlc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0QmFzZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbCBcCi0JJChXZWJDb3Jl
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBkYXRlLmlkbCBcCisg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0VXBk
YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdNZXRob2QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5TW9kaWZpZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbCBcCkBAIC05ODEsNiArOTgzLDcgQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9Nb2NrUGFnZU92ZXJsYXku
aWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRBZGRyZXNzLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0
aW5nL1R5cGVDb252ZXJzaW9ucy5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9BYnN0cmFj
dFdvcmtlci5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlFcnJvci5pZGwKaW5kZXggZjI4ODE1MDlkYWU5ZTVmNTY2YWEyNWU3OGMwNmMxZmNlNGY1
ODMzOC4uNTQxNTVkOTk5NzNjMTY2M2QwMWVmYTliNDUyNzhkYjQzY2YwNmQyMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsCkBAIC0x
LDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDMz
ICsyMyw2IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotWwot
ICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9TRVNTSU9OX1YzLAotXSBlbnVtIEFwcGxlUGF5RXJy
b3JDb2RlIHsKLSAgICAidW5rbm93biIsCi0gICAgInNoaXBwaW5nQ29udGFjdEludmFsaWQiLAot
ICAgICJiaWxsaW5nQ29udGFjdEludmFsaWQiLAotICAgICJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIK
LX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVlfU0VTU0lPTl9WMywKLV0gZW51bSBB
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkIHsKLSAgICAicGhvbmVOdW1iZXIiLAotICAgICJlbWFp
bEFkZHJlc3MiLAotICAgICJuYW1lIiwKLSAgICAicGhvbmV0aWNOYW1lIiwKLSAgICAicG9zdGFs
QWRkcmVzcyIsCi0gICAgImFkZHJlc3NMaW5lcyIsCi0gICAgInN1YkxvY2FsaXR5IiwKLSAgICAi
bG9jYWxpdHkiLAotICAgICJwb3N0YWxDb2RlIiwKLSAgICAic3ViQWRtaW5pc3RyYXRpdmVBcmVh
IiwKLSAgICAiYWRtaW5pc3RyYXRpdmVBcmVhIiwKLSAgICAiY291bnRyeSIsCi0gICAgImNvdW50
cnlDb2RlIgotfTsKLQogWwogICAgIENvbnN0cnVjdG9yKEFwcGxlUGF5RXJyb3JDb2RlIGVycm9y
Q29kZSwgb3B0aW9uYWwgQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZCBjb250YWN0RmllbGQsIG9w
dGlvbmFsIERPTVN0cmluZyBtZXNzYWdlID0gIiIpLAogICAgIENvbmRpdGlvbmFsPUFQUExFX1BB
WV9TRVNTSU9OX1YzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheUVycm9yQ29kZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUVycm9yQ29kZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3ODNhMTI2M2IwZDc0Yjg1OWE0OGEyMTAx
YzNkZjkwMDMxMmYyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEFQUExFX1BBWSkKKworI2luY2x1ZGUgIkFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
dXNpbmcgQXBwbGVQYXlFcnJvckNvZGUgPSBQYXltZW50RXJyb3I6OkNvZGU7CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjM2Yjk1ODA1NzRmOTY0Y2ZlYzcxNjgwNDc2Y2VhM2Y2MmU0NjQ2NTMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3JDb2RlLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUFQUExFX1BBWQorXSBlbnVtIEFwcGxlUGF5RXJyb3JDb2RlIHsKKyAgICAidW5rbm93biIs
CisgICAgInNoaXBwaW5nQ29udGFjdEludmFsaWQiLAorICAgICJiaWxsaW5nQ29udGFjdEludmFs
aWQiLAorICAgICJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcyZGUzNGJlYWI5OTM1NWRhNTdkNWQwZmE1ZDcyM2E5ZmMxN2NjMDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW5jbHVkZSAiQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkID0gUGF5bWVudEVycm9yOjpDb250YWN0RmllbGQ7CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250
YWN0RmllbGQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVy
cm9yQ29udGFjdEZpZWxkLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZmQ5OTBlMTZhZjQ5OWY0ZTU5Mjg0Njgz
NTkxMzU4ZWJhMzU1M2E1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbApAQCAtMCwwICsxLDQyIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWQorXSBlbnVtIEFwcGxl
UGF5RXJyb3JDb250YWN0RmllbGQgeworICAgICJwaG9uZU51bWJlciIsCisgICAgImVtYWlsQWRk
cmVzcyIsCisgICAgIm5hbWUiLAorICAgICJwaG9uZXRpY05hbWUiLAorICAgICJwb3N0YWxBZGRy
ZXNzIiwKKyAgICAiYWRkcmVzc0xpbmVzIiwKKyAgICAic3ViTG9jYWxpdHkiLAorICAgICJsb2Nh
bGl0eSIsCisgICAgInBvc3RhbENvZGUiLAorICAgICJzdWJBZG1pbmlzdHJhdGl2ZUFyZWEiLAor
ICAgICJhZG1pbmlzdHJhdGl2ZUFyZWEiLAorICAgICJjb3VudHJ5IiwKKyAgICAiY291bnRyeUNv
ZGUiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAK
aW5kZXggYmQ2ZmZlMTY0YjVkYjY2NDczYjIwYzliNjZjMjY2ZWI0MzFiNjY1OS4uMTUxODg2NTY1
OGZkOGJhNTVkMGY2YjU3ZTAyMmI0OTI5MWY5Nzg1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogCisjaW5jbHVkZSAiQWRk
cmVzc0Vycm9ycy5oIgogI2luY2x1ZGUgIkFwcGxlUGF5Q29udGFjdEZpZWxkLmgiCiAjaW5jbHVk
ZSAiQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKICNpbmNsdWRlICJBcHBsZVBheU1vZGlm
aWVyLmgiCkBAIC00Miw2ICs0Myw3IEBACiAjaW5jbHVkZSAiTGlua0ljb25Db2xsZWN0b3IuaCIK
ICNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIK
KyNpbmNsdWRlICJQYXllckVycm9yRmllbGRzLmgiCiAjaW5jbHVkZSAiUGF5bWVudC5oIgogI2lu
Y2x1ZGUgIlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENv
bnRhY3QuaCIKQEAgLTMwOSwxNCArMzExLDU0IEBAIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lv
blBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gQXBwbGVQYXlQYXltZW50SGFuCiAg
ICAgcmV0dXJuIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVt
cyB7IFdURk1vdmUodG90YWwpLCBXVEZNb3ZlKGxpbmVJdGVtcykgfTsKIH0KIAotRXhjZXB0aW9u
T3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJl
cXVlc3Q6OlVwZGF0ZVJlYXNvbiByZWFzb24sIGNvbnN0IFN0cmluZyYgZXJyb3IpCitzdGF0aWMg
aW5saW5lIHZvaWQgYXBwZW5kU2hpcHBpbmdDb250YWN0RXJyb3IoU3RyaW5nJiYgbWVzc2FnZSwg
c3RkOjpvcHRpb25hbDxQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZD4mJiBjb250YWN0RmllbGQs
IFZlY3RvcjxQYXltZW50RXJyb3I+JiBlcnJvcnMpCit7CisgICAgaWYgKCFtZXNzYWdlLmlzRW1w
dHkoKSkKKyAgICAgICAgZXJyb3JzLmFwcGVuZCh7IFBheW1lbnRFcnJvcjo6Q29kZTo6U2hpcHBp
bmdDb250YWN0SW52YWxpZCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShjb250YWN0RmllbGQp
IH0pOworfQorCitWZWN0b3I8UGF5bWVudEVycm9yPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpj
b21wdXRlRXJyb3JzKFN0cmluZyYmIGVycm9yLCBBZGRyZXNzRXJyb3JzJiYgYWRkcmVzc0Vycm9y
cywgUGF5ZXJFcnJvckZpZWxkcyYmIHBheWVyRXJyb3JzLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2Jq
ZWN0PiYmKSBjb25zdAoreworICAgIHVzaW5nIENvbnRhY3RGaWVsZCA9IFBheW1lbnRFcnJvcjo6
Q29udGFjdEZpZWxkOworCisgICAgVmVjdG9yPFBheW1lbnRFcnJvcj4gZXJyb3JzOworICAgIGF1
dG8mIG9wdGlvbnMgPSBtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygpOworCisgICAg
aWYgKG9wdGlvbnMucmVxdWVzdFNoaXBwaW5nICYmIG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRE
ZXRhaWxzKCkuc2hpcHBpbmdPcHRpb25zLmlzRW1wdHkoKSkgeworICAgICAgICBhcHBlbmRTaGlw
cGluZ0NvbnRhY3RFcnJvcihXVEZNb3ZlKGVycm9yKSwgc3RkOjpudWxsb3B0LCBlcnJvcnMpOwor
ICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RFcnJvcihXVEZNb3ZlKGFkZHJlc3NFcnJvcnMu
YWRkcmVzc0xpbmUpLCBDb250YWN0RmllbGQ6OkFkZHJlc3NMaW5lcywgZXJyb3JzKTsKKyAgICAg
ICAgYXBwZW5kU2hpcHBpbmdDb250YWN0RXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNpdHkp
LCBDb250YWN0RmllbGQ6OkxvY2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGlu
Z0NvbnRhY3RFcnJvcihXVEZNb3ZlKGFkZHJlc3NFcnJvcnMuY291bnRyeSksIENvbnRhY3RGaWVs
ZDo6Q291bnRyeSwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0RXJyb3Io
V1RGTW92ZShhZGRyZXNzRXJyb3JzLmRlcGVuZGVudExvY2FsaXR5KSwgQ29udGFjdEZpZWxkOjpT
dWJMb2NhbGl0eSwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0RXJyb3Io
V1RGTW92ZShhZGRyZXNzRXJyb3JzLnBob25lKSwgQ29udGFjdEZpZWxkOjpQaG9uZU51bWJlciwg
ZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0RXJyb3IoV1RGTW92ZShhZGRy
ZXNzRXJyb3JzLnBvc3RhbENvZGUpLCBDb250YWN0RmllbGQ6OlBvc3RhbENvZGUsIGVycm9ycyk7
CisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9y
cy5yZWNpcGllbnQpLCBDb250YWN0RmllbGQ6Ok5hbWUsIGVycm9ycyk7CisgICAgICAgIGFwcGVu
ZFNoaXBwaW5nQ29udGFjdEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5yZWdpb24pLCBDb250
YWN0RmllbGQ6OkFkbWluaXN0cmF0aXZlQXJlYSwgZXJyb3JzKTsKKyAgICB9CisKKyAgICBpZiAo
b3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lKQorICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RF
cnJvcihXVEZNb3ZlKHBheWVyRXJyb3JzLm5hbWUpLCBDb250YWN0RmllbGQ6Ok5hbWUsIGVycm9y
cyk7CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0UGF5ZXJFbWFpbCkKKyAgICAgICAgYXBwZW5k
U2hpcHBpbmdDb250YWN0RXJyb3IoV1RGTW92ZShwYXllckVycm9ycy5lbWFpbCksIENvbnRhY3RG
aWVsZDo6RW1haWxBZGRyZXNzLCBlcnJvcnMpOworCisgICAgaWYgKG9wdGlvbnMucmVxdWVzdFBh
eWVyUGhvbmUpCisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEVycm9yKFdURk1vdmUocGF5
ZXJFcnJvcnMuZW1haWwpLCBDb250YWN0RmllbGQ6OlBob25lTnVtYmVyLCBlcnJvcnMpOworCisg
ICAgLy8gRklYTUU6IHBheW1lbnRNZXRob2RFcnJvcnMgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYSBz
ZXF1ZW5jZSBvZiBBcHBsZVBheUVycm9ycy4gSWYgdGhlc2UgYXJlCisgICAgLy8gc3BlY2lmaWVk
IGJ5IHRoZSBtZXJjaGFudCwgY29udmVydCB0aGVtIHRvIFBheW1lbnRFcnJvcnMgYW5kIGFwcGVu
ZCB0aGVtIHRvIGVycm9ycy4KKworICAgIHJldHVybiBlcnJvcnM7Cit9CisKK0V4Y2VwdGlvbk9y
PHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1
ZXN0OjpVcGRhdGVSZWFzb24gcmVhc29uLCBTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYm
IGFkZHJlc3NFcnJvcnMsIFBheWVyRXJyb3JGaWVsZHMmJiBwYXllckVycm9ycywgSlNDOjpTdHJv
bmc8SlNDOjpKU09iamVjdD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKQogewogICAgIHVzaW5nIFJl
YXNvbiA9IFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb247CiAgICAgc3dpdGNoIChyZWFzb24p
IHsKICAgICBjYXNlIFJlYXNvbjo6U2hvd0RldGFpbHNSZXNvbHZlZDoKICAgICAgICAgcmV0dXJu
IHsgfTsKICAgICBjYXNlIFJlYXNvbjo6U2hpcHBpbmdBZGRyZXNzQ2hhbmdlZDoKLSAgICAgICAg
cmV0dXJuIHNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoZXJyb3IpOworICAgICAgICByZXR1cm4gc2hp
cHBpbmdBZGRyZXNzVXBkYXRlZChjb21wdXRlRXJyb3JzKFdURk1vdmUoZXJyb3IpLCBXVEZNb3Zl
KGFkZHJlc3NFcnJvcnMpLCBXVEZNb3ZlKHBheWVyRXJyb3JzKSwgV1RGTW92ZShwYXltZW50TWV0
aG9kRXJyb3JzKSkpOwogICAgIGNhc2UgUmVhc29uOjpTaGlwcGluZ09wdGlvbkNoYW5nZWQ6CiAg
ICAgICAgIHJldHVybiBzaGlwcGluZ09wdGlvblVwZGF0ZWQoKTsKICAgICBjYXNlIFJlYXNvbjo6
UGF5bWVudE1ldGhvZENoYW5nZWQ6CkBAIC0zNDQsMTkgKzM4NiwxMyBAQCBFeGNlcHRpb25Pcjx2
b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjptZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQo
SlNDOjpKU1ZhbAogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxl
UGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoY29uc3QgU3RyaW5nJiBl
cnJvcikKK0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5n
QWRkcmVzc1VwZGF0ZWQoVmVjdG9yPFBheW1lbnRFcnJvcj4mJiBlcnJvcnMpCiB7CiAgICAgQVNT
RVJUKG1faXNVcGRhdGluZyk7CiAgICAgbV9pc1VwZGF0aW5nID0gZmFsc2U7CiAKICAgICBTaGlw
cGluZ0NvbnRhY3RVcGRhdGUgdXBkYXRlOwotCi0gICAgaWYgKG1fcGF5bWVudFJlcXVlc3QtPnBh
eW1lbnRPcHRpb25zKCkucmVxdWVzdFNoaXBwaW5nICYmIG1fcGF5bWVudFJlcXVlc3QtPnBheW1l
bnREZXRhaWxzKCkuc2hpcHBpbmdPcHRpb25zLmlzRW1wdHkoKSkgewotICAgICAgICBQYXltZW50
RXJyb3IgcGF5bWVudEVycm9yOwotICAgICAgICBwYXltZW50RXJyb3IuY29kZSA9IFBheW1lbnRF
cnJvcjo6Q29kZTo6U2hpcHBpbmdDb250YWN0SW52YWxpZDsKLSAgICAgICAgcGF5bWVudEVycm9y
Lm1lc3NhZ2UgPSBlcnJvcjsKLSAgICAgICAgdXBkYXRlLmVycm9ycy5hcHBlbmQoV1RGTW92ZShw
YXltZW50RXJyb3IpKTsKLSAgICB9CisgICAgdXBkYXRlLmVycm9ycyA9IFdURk1vdmUoZXJyb3Jz
KTsKIAogICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb21wdXRlVG90YWxBbmRMaW5l
SXRlbXMoKTsKICAgICBpZiAobmV3VG90YWxBbmRMaW5lSXRlbXMuaGFzRXhjZXB0aW9uKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDQ3NTNmMGQ1
YjBjMTczMzY2YmQ4OGQ0MTcxYWYyYjI4ZjczYjRiNzguLjRiNDQ5Y2RlMjIyNzQ5MGQzMjFiZTA4
ODYyYzI4ZmI2YjcxZWFmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5oCkBAIC01Myw4ICs1Myw5IEBAIHByaXZhdGU6CiAgICAgUGF5bWVudENvb3JkaW5h
dG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAogICAgIEV4Y2VwdGlvbk9yPEFwcGxl
UGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gY29tcHV0ZVRvdGFs
QW5kTGluZUl0ZW1zKCk7CisgICAgVmVjdG9yPFBheW1lbnRFcnJvcj4gY29tcHV0ZUVycm9ycyhT
dHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmLCBQYXllckVycm9yRmllbGRzJiYsIEpTQzo6
U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYgcGF5bWVudE1ldGhvZEVycm9ycykgY29uc3Q7CiAKLSAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmluZyYg
ZXJyb3IpOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoVmVj
dG9yPFBheW1lbnRFcnJvcj4mJiBlcnJvcnMpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNoaXBw
aW5nT3B0aW9uVXBkYXRlZCgpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBheW1lbnRNZXRob2RV
cGRhdGVkKCk7CiAKQEAgLTYzLDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBFeGNlcHRpb25Pcjx2
b2lkPiBzaG93KCkgZmluYWw7CiAgICAgdm9pZCBoaWRlKCkgZmluYWw7CiAgICAgdm9pZCBjYW5N
YWtlUGF5bWVudChXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIp
IGZpbmFsOwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1
ZXN0OjpVcGRhdGVSZWFzb24sIGNvbnN0IFN0cmluZyYgZXJyb3IpIGZpbmFsOworICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb24s
IFN0cmluZyYmIGVycm9yLCBBZGRyZXNzRXJyb3JzJiYsIFBheWVyRXJyb3JGaWVsZHMmJiwgSlND
OjpTdHJvbmc8SlNDOjpKU09iamVjdD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKSBmaW5hbDsKICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBtZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1Zh
bHVlJiYpIGZpbmFsOwogICAgIHZvaWQgY29tcGxldGUoc3RkOjpvcHRpb25hbDxQYXltZW50Q29t
cGxldGU+JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmgKaW5kZXggZjY4MzdhY2Qw
MjljYzkxYzg5NjczNDA3ODgyMDdmNTFjMmNkOTY5Mi4uY2YzMTQwYWM4MTRjZjEzYWJjODVjZGUw
MWIwNDkwYWM5ZWU0MjAwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaApAQCAtMjcsNiArMjcs
OCBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkFkZHJlc3NF
cnJvcnMuaCIKKyNpbmNsdWRlICJQYXllckVycm9yRmllbGRzLmgiCiAjaW5jbHVkZSAiUGF5bWVu
dERldGFpbHNCYXNlLmgiCiAjaW5jbHVkZSAiUGF5bWVudEl0ZW0uaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM2LDYgKzM4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
c3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlIGZpbmFsIDogcHVibGljIFBheW1lbnREZXRhaWxz
QmFzZSB7CiAgICAgU3RyaW5nIGVycm9yOwogICAgIFBheW1lbnRJdGVtIHRvdGFsOworICAgIEFk
ZHJlc3NFcnJvcnMgc2hpcHBpbmdBZGRyZXNzRXJyb3JzOworICAgIFBheWVyRXJyb3JGaWVsZHMg
cGF5ZXJFcnJvcnM7CisgICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGF5bWVudE1ldGhv
ZEVycm9yczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1Vw
ZGF0ZS5pZGwKaW5kZXggM2I4N2M4ODhjODIzZjFkZWUzYzU4MGY5MGQyNzdhZTM1ODg0YmRiZi4u
MTU3NjQwNGJjMzkzYTc2NDM2MTBhNDg2ZmQyMDE0NzI4OTZkNzE3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0
YWlsc1VwZGF0ZS5pZGwKQEAgLTI4LDQgKzI4LDcgQEAKIF0gZGljdGlvbmFyeSBQYXltZW50RGV0
YWlsc1VwZGF0ZSA6IFBheW1lbnREZXRhaWxzQmFzZSB7CiAgICAgRE9NU3RyaW5nIGVycm9yOwog
ICAgIFBheW1lbnRJdGVtIHRvdGFsOworICAgIEFkZHJlc3NFcnJvcnMgc2hpcHBpbmdBZGRyZXNz
RXJyb3JzOworICAgIFBheWVyRXJyb3JGaWVsZHMgcGF5ZXJFcnJvcnM7CisgICAgb2JqZWN0IHBh
eW1lbnRNZXRob2RFcnJvcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5oCmluZGV4IDQyOTczZjllMTZmZDQ4N2M3
MWMzMGQ3OTgwODcwNjAyNDkyODI5MDUuLjRjZjA0MmM1NDc1ZjI3Mjg1OWI0MzIwN2JiYTQ2YWYz
MTUxMjA3ZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmgKQEAgLTM4LDYgKzM4LDggQEAgY2xhc3MgSlNWYWx1ZTsK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitzdHJ1Y3QgQWRkcmVzc0Vy
cm9yczsKK3N0cnVjdCBQYXllckVycm9yRmllbGRzOwogCiBjbGFzcyBQYXltZW50SGFuZGxlciA6
IHB1YmxpYyB2aXJ0dWFsIFBheW1lbnRTZXNzaW9uQmFzZSB7CiBwdWJsaWM6CkBAIC00OSw3ICs1
MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IHNob3coKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGhpZGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQ
YXltZW50KFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgPSAw
OwotICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJl
cXVlc3Q6OlVwZGF0ZVJlYXNvbiwgY29uc3QgU3RyaW5nJiBlcnJvcikgPSAwOworICAgIHZpcnR1
YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJlcXVlc3Q6OlVwZGF0
ZVJlYXNvbiwgU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NFcnJvcnMmJiwgUGF5ZXJFcnJvckZpZWxk
cyYmLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmIHBheW1lbnRNZXRob2RFcnJvcnMpID0g
MDsKICAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IG1lcmNoYW50VmFsaWRhdGlvbkNvbXBs
ZXRlZChKU0M6OkpTVmFsdWUmJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZShzdGQ6
Om9wdGlvbmFsPFBheW1lbnRDb21wbGV0ZT4mJikgPSAwOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5k
ZXggNjFkYTBjODBjMDVjNjg5Y2ViYzQ5YjM0ZWRjOGUzMjdlNDE2ZTdkMC4uNjE4YmZmODY1NjEx
NzQ3MTRiZWMxMzEwNDcxZjA2MDcyNTU5YjEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTU1OSw3
ICs1NTksNyBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0OjpwYXltZW50TWV0aG9kQ2hhbmdlZChjb25z
dCBTdHJpbmcmIG1ldGhvZE5hbWUsIFBheW1lbnRNZXRobwogICAgICAgICBpZiAoaGFzRXZlbnRM
aXN0ZW5lcnMoZXZlbnROYW1lKSkKICAgICAgICAgICAgIGRpc3BhdGNoRXZlbnQoUGF5bWVudE1l
dGhvZENoYW5nZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lLCBtZXRob2ROYW1lLCBXVEZNb3ZlKG1l
dGhvZERldGFpbHNGdW5jdGlvbikpKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV9hY3Rp
dmVQYXltZW50SGFuZGxlci0+ZGV0YWlsc1VwZGF0ZWQoVXBkYXRlUmVhc29uOjpQYXltZW50TWV0
aG9kQ2hhbmdlZCwgeyB9KTsKKyAgICAgICAgICAgIG1fYWN0aXZlUGF5bWVudEhhbmRsZXItPmRl
dGFpbHNVcGRhdGVkKFVwZGF0ZVJlYXNvbjo6UGF5bWVudE1ldGhvZENoYW5nZWQsIHsgfSwgeyB9
LCB7IH0sIHsgfSk7CiAgICAgfSk7CiB9CiAKQEAgLTYyNywxOSArNjI3LDE5IEBAIHZvaWQgUGF5
bWVudFJlcXVlc3Q6OnNldHRsZURldGFpbHNQcm9taXNlKFVwZGF0ZVJlYXNvbiByZWFzb24pCiAK
ICAgICBhdXRvJiBjb250ZXh0ID0gKm1fZGV0YWlsc1Byb21pc2UtPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKTsKICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGNvbnRl
eHQudm0oKSk7Ci0gICAgYXV0byBwYXltZW50RGV0YWlsc1VwZGF0ZSA9IGNvbnZlcnREaWN0aW9u
YXJ5PFBheW1lbnREZXRhaWxzVXBkYXRlPigqY29udGV4dC5leGVjU3RhdGUoKSwgbV9kZXRhaWxz
UHJvbWlzZS0+cmVzdWx0KCkpOworICAgIGF1dG8gZGV0YWlsc1VwZGF0ZSA9IGNvbnZlcnREaWN0
aW9uYXJ5PFBheW1lbnREZXRhaWxzVXBkYXRlPigqY29udGV4dC5leGVjU3RhdGUoKSwgbV9kZXRh
aWxzUHJvbWlzZS0+cmVzdWx0KCkpOwogICAgIGlmICh0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSB7
CiAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbihFeGNlcHRpb24geyBFeGlzdGluZ0V4Y2VwdGlv
bkVycm9yIH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byB0b3RhbFJlc3Vs
dCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplVG90YWwocGF5bWVudERldGFpbHNVcGRhdGUudG90YWwu
YW1vdW50KTsKKyAgICBhdXRvIHRvdGFsUmVzdWx0ID0gY2hlY2tBbmRDYW5vbmljYWxpemVUb3Rh
bChkZXRhaWxzVXBkYXRlLnRvdGFsLmFtb3VudCk7CiAgICAgaWYgKHRvdGFsUmVzdWx0Lmhhc0V4
Y2VwdGlvbigpKSB7CiAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbih0b3RhbFJlc3VsdC5yZWxl
YXNlRXhjZXB0aW9uKCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBkZXRh
aWxzUmVzdWx0ID0gY2hlY2tBbmRDYW5vbmljYWxpemVEZXRhaWxzKCpjb250ZXh0LmV4ZWNTdGF0
ZSgpLCBwYXltZW50RGV0YWlsc1VwZGF0ZSwgbV9vcHRpb25zLnJlcXVlc3RTaGlwcGluZywgU2hv
dWxkVmFsaWRhdGVQYXltZW50TWV0aG9kSWRlbnRpZmllcjo6WWVzKTsKKyAgICBhdXRvIGRldGFp
bHNSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZURldGFpbHMoKmNvbnRleHQuZXhlY1N0YXRl
KCksIGRldGFpbHNVcGRhdGUsIG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcsIFNob3VsZFZhbGlk
YXRlUGF5bWVudE1ldGhvZElkZW50aWZpZXI6Olllcyk7CiAgICAgaWYgKGRldGFpbHNSZXN1bHQu
aGFzRXhjZXB0aW9uKCkpIHsKICAgICAgICAgYWJvcnRXaXRoRXhjZXB0aW9uKGRldGFpbHNSZXN1
bHQucmVsZWFzZUV4Y2VwdGlvbigpKTsKICAgICAgICAgcmV0dXJuOwpAQCAtNjQ3LDE3ICs2NDcs
MTcgQEAgdm9pZCBQYXltZW50UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21pc2UoVXBkYXRlUmVh
c29uIHJlYXNvbikKIAogICAgIGF1dG8gc2hpcHBpbmdPcHRpb25BbmRNb2RpZmllckRhdGEgPSBk
ZXRhaWxzUmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpOwogCi0gICAgbV9kZXRhaWxzLnRvdGFs
ID0gV1RGTW92ZShwYXltZW50RGV0YWlsc1VwZGF0ZS50b3RhbCk7Ci0gICAgbV9kZXRhaWxzLmRp
c3BsYXlJdGVtcyA9IFdURk1vdmUocGF5bWVudERldGFpbHNVcGRhdGUuZGlzcGxheUl0ZW1zKTsK
KyAgICBtX2RldGFpbHMudG90YWwgPSBXVEZNb3ZlKGRldGFpbHNVcGRhdGUudG90YWwpOworICAg
IG1fZGV0YWlscy5kaXNwbGF5SXRlbXMgPSBXVEZNb3ZlKGRldGFpbHNVcGRhdGUuZGlzcGxheUl0
ZW1zKTsKICAgICBpZiAobV9vcHRpb25zLnJlcXVlc3RTaGlwcGluZykgewotICAgICAgICBtX2Rl
dGFpbHMuc2hpcHBpbmdPcHRpb25zID0gV1RGTW92ZShwYXltZW50RGV0YWlsc1VwZGF0ZS5zaGlw
cGluZ09wdGlvbnMpOworICAgICAgICBtX2RldGFpbHMuc2hpcHBpbmdPcHRpb25zID0gV1RGTW92
ZShkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9ucyk7CiAgICAgICAgIG1fc2hpcHBpbmdPcHRp
b24gPSBXVEZNb3ZlKHN0ZDo6Z2V0PDA+KHNoaXBwaW5nT3B0aW9uQW5kTW9kaWZpZXJEYXRhKSk7
CiAgICAgfQogCi0gICAgbV9kZXRhaWxzLm1vZGlmaWVycyA9IFdURk1vdmUocGF5bWVudERldGFp
bHNVcGRhdGUubW9kaWZpZXJzKTsKKyAgICBtX2RldGFpbHMubW9kaWZpZXJzID0gV1RGTW92ZShk
ZXRhaWxzVXBkYXRlLm1vZGlmaWVycyk7CiAgICAgbV9zZXJpYWxpemVkTW9kaWZpZXJEYXRhID0g
V1RGTW92ZShzdGQ6OmdldDwxPihzaGlwcGluZ09wdGlvbkFuZE1vZGlmaWVyRGF0YSkpOwogCi0g
ICAgYXV0byByZXN1bHQgPSBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyLT5kZXRhaWxzVXBkYXRlZChy
ZWFzb24sIHBheW1lbnREZXRhaWxzVXBkYXRlLmVycm9yKTsKKyAgICBhdXRvIHJlc3VsdCA9IG1f
YWN0aXZlUGF5bWVudEhhbmRsZXItPmRldGFpbHNVcGRhdGVkKHJlYXNvbiwgV1RGTW92ZShkZXRh
aWxzVXBkYXRlLmVycm9yKSwgV1RGTW92ZShkZXRhaWxzVXBkYXRlLnNoaXBwaW5nQWRkcmVzc0Vy
cm9ycyksIFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5wYXllckVycm9ycyksIFdURk1vdmUoZGV0YWls
c1VwZGF0ZS5wYXltZW50TWV0aG9kRXJyb3JzKSk7CiAgICAgaWYgKHJlc3VsdC5oYXNFeGNlcHRp
b24oKSkgewogICAgICAgICBhYm9ydFdpdGhFeGNlcHRpb24ocmVzdWx0LnJlbGVhc2VFeGNlcHRp
b24oKSk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXNDb2NvYS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDYyYmZk
OGQ4YzIwN2EwOTQ5ODkzZTVjNDU4YWJjZTcwN2JjZmY2N2YuLmYwYTg2NTZkMmI0NWZlNTk4NzY3
NjM5ZDg0MzU0ZjBmYTM2OGY3MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXND
b2NvYS50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtNTg1LDYg
KzU4NSw4IEBAIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRl
ckNvY29hLmNwcAogCiAgICAgSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKICAgICBKU0FwcGxl
UGF5RXJyb3IuY3BwCisgICAgSlNBcHBsZVBheUVycm9yQ29kZS5jcHAKKyAgICBKU0FwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQuY3BwCiAgICAgSlNBcHBsZVBheUxpbmVJdGVtLmNwcAogICAgIEpT
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwCiAgICAgSlNBcHBsZVBheU1vZGlmaWVyLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGJmZmVmNWM2ZTQxNmU3OWEwNjRjOWFkMWY4OGQ3MDJiYTVhM2U2MzIuLjRjZTg2ODc5
ZjQzMWIzNjAzMTI0ZTY1YzA2MWNkMDEwNTJlYTE4M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NTQsNiArMjk1NCwxMyBA
QAogCQlBMUFGRURFNzFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFGRURF
NTFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgKi87IH07CiAJ
CUExQjVCMjlFMUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQjVCMjlD
MUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLzsgfTsK
IAkJQTFCNUIyOUYxQUFBODQ2RjAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3Mu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQjVCMjlE
MUFBQTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTFCQjg1OUMyMTU5QUVB
MTAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJCODU5OTIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQ
YXlFcnJvckNvZGUuaCAqLzsgfTsKKwkJQTFCQjg1QTMyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxl
UGF5RXJyb3JDb250YWN0RmllbGQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEExQkI4NUEwMjE1OUFGNTcwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29u
dGFjdEZpZWxkLmggKi87IH07CisJCUExQkI4NUE5MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5
bWVudEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMUJCODVBNjIxNTlCMDJDMDA2N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oICovOyB9Owor
CQlBMUJCODVCMjIxNTlCMUExMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QUUyMTU5QjFB
MDAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvZGUuaCAqLzsgfTsKKwkJQTFCQjg1QjMyMTU5
QjFBMTAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QUYyMTU5QjFBMDAwNjdF
MDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oICovOyB9OworCQlBMUJCODVCODIx
NTlCM0E0MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4NUI0MjE1OUIzODkwMDY3RTA3RCAv
KiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovOyB9OworCQlBMUJCODVCOTIxNTlCM0FFMDA2N0Uw
N0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2NrUGF5bWVu
dEVycm9yLmggKi87IH07CiAJCUExQkY2QjgyMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVu
dEZpbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMUJGNkI4MDFBQTk2QzdEMDBBRjRBOEEgLyogTW9ja0NvbnRlbnRGaWx0ZXIuY3BwICovOyB9
OwogCQlBMUJGNkI4MzFBQTk2QzdEMDBBRjRBOEEgLyogTW9ja0NvbnRlbnRGaWx0ZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkY2QjgxMUFBOTZD
N0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oICovOyB9OwogCQlBMUMxNTA3QTFFM0Yy
QjNFMDAzMkM5OEMgLyogUHJldmlld0NvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFDMTUwNzgxRTNGMkIzRTAwMzJDOThDIC8qIFByZXZp
ZXdDb252ZXJ0ZXIuaCAqLzsgfTsKQEAgLTExMDQwLDYgKzExMDQ3LDE4IEBACiAJCUExQUZFREU1
MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IE1vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlBMUI1QjI5QzFBQUE4NDZFMDA4QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJT
ZXR0aW5ncy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29u
dGVudEZpbHRlclNldHRpbmdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFC
NUIyOUQxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODU5OTIxNTlBRUExMDA2N0UwN0Qg
LyogQXBwbGVQYXlFcnJvckNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlFcnJvckNvZGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1OUIyMTU5QUVBMTAwNjdFMDdE
IC8qIEFwcGxlUGF5RXJyb3JDb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheUVycm9yQ29kZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUEwMjE1OUFGNTcwMDY3RTA3RCAvKiBB
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5RXJyb3JD
b250YWN0RmllbGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QTIyMTU5
QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxl
UGF5RXJyb3JDb250YWN0RmllbGQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlB
MUJCODVBNjIxNTlCMDJDMDA2N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNb2NrUGF5bWVudEVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEx
QkI4NUE4MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNb2Nr
UGF5bWVudEVycm9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QUMy
MTU5QjE5RjAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5RXJyb3JDb250YWN0Rmll
bGQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRDIxNTlCMUEwMDA2
N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5RXJyb3JDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTFCQjg1QUUyMTU5QjFBMDAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNv
ZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUVycm9yQ29k
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRjIxNTlCMUEwMDA2N0Uw
N0QgLyogSlNBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVu
dEVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1Bh
eW1lbnRFcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUI1MjE1
OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNNb2NrUGF5bWVudEVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExQkY2QjgwMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29udGVudEZpbHRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgxMUFBOTZDN0QwMEFG
NEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNb2NrQ29udGVudEZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MUMxNTA3NzFFM0YyQjNFMDAzMkM5OEMgLyogUHJldmlld0NvbnZlcnRlci5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByZXZpZXdDb252ZXJ0ZXIubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjA4MSw2ICsxNjEwMCwxMCBAQAogCQkJCTFBREZE
RkQ1MUU3MUQ4REYwMDhGNUQzNCAvKiBBcHBsZVBheUVycm9yLmNwcCAqLywKIAkJCQkxQURGREZE
NjFFNzFEOERGMDA4RjVEMzQgLyogQXBwbGVQYXlFcnJvci5oICovLAogCQkJCTFBREZERkQ3MUU3
MUQ4REYwMDhGNUQzNCAvKiBBcHBsZVBheUVycm9yLmlkbCAqLywKKwkJCQlBMUJCODU5OTIxNTlB
RUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvZGUuaCAqLywKKwkJCQlBMUJCODU5QjIxNTlB
RUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvZGUuaWRsICovLAorCQkJCUExQkI4NUEwMjE1
OUFGNTcwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggKi8sCisJCQkJQTFC
Qjg1QTIyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsICov
LAogCQkJCTdDNjU3OUUyMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggKi8s
CiAJCQkJN0M2NTc5RTQxRTAwODJDODAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaWRsICov
LAogCQkJCUExREY1QUE4MUY4MDcwRDQwMDU4QTQ3NyAvKiBBcHBsZVBheU1lcmNoYW50Q2FwYWJp
bGl0eS5jcHAgKi8sCkBAIC0xNjI1NCw2ICsxNjI3NywxMCBAQAogCQkJCUExREY1QTk3MUY3RUM4
QkYwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZpZWxkLmggKi8sCiAJCQkJMUFERkRGRTEx
RTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlFcnJvci5jcHAgKi8sCiAJCQkJMUFERkRGRTIx
RTcxRENBMDAwOEY1RDM0IC8qIEpTQXBwbGVQYXlFcnJvci5oICovLAorCQkJCUExQkI4NUFEMjE1
OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb2RlLmNwcCAqLywKKwkJCQlBMUJCODVB
RTIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oICovLAorCQkJCUExQkI4
NUFDMjE1OUIxOUYwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuY3BwICov
LAorCQkJCUExQkI4NUFGMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250YWN0
RmllbGQuaCAqLywKIAkJCQk3QzY1NzlFOTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxp
bmVJdGVtLmNwcCAqLywKIAkJCQk3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBh
eUxpbmVJdGVtLmggKi8sCiAJCQkJQTFERjVBODkxRjdFQzAwMDAwNThBNDc3IC8qIEpTQXBwbGVQ
YXlNZXJjaGFudENhcGFiaWxpdHkuY3BwICovLApAQCAtMTcwMjUsNiArMTcwNTIsOCBAQAogCQkJ
CUExQUZFREU1MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAq
LywKIAkJCQlBMUFGRURFNDFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRv
ci5oICovLAogCQkJCUExNDZEMzE2MUY5OUI1M0QwMEQyOTE5NiAvKiBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmlkbCAqLywKKwkJCQlBMUJCODVBNjIxNTlCMDJDMDA2N0UwN0QgLyogTW9ja1BheW1l
bnRFcnJvci5oICovLAorCQkJCUExQkI4NUE4MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVu
dEVycm9yLmlkbCAqLywKIAkJCQlBMUNCRUY2MzFGOUYxMTI5MDAyOERFN0MgLyogTW9ja1BheW1l
bnRNZXRob2QuaCAqLywKIAkJCQlBMTQwNjE4OTFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZp
ZXdMb2FkZXJDbGllbnQuY3BwICovLAogCQkJCUExNDA2MThBMUUyRUNBMEEwMDMyQjM0RSAvKiBN
b2NrUHJldmlld0xvYWRlckNsaWVudC5oICovLApAQCAtMTcwNjUsNiArMTcwOTQsOCBAQAogCQkJ
CUExNDZEMzFGMUY5OUNBM0QwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5oICovLAog
CQkJCUExNDZEMzE5MUY5OUJDQkIwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3Iu
Y3BwICovLAogCQkJCUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29v
cmRpbmF0b3IuaCAqLywKKwkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5
bWVudEVycm9yLmNwcCAqLywKKwkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2Nr
UGF5bWVudEVycm9yLmggKi8sCiAJCQkJNDI3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2Vy
dmljZVdvcmtlckludGVybmFscy5jcHAgKi8sCiAJCQkJNDI3REE3MUMxMzczNURGQTAwN0M1N0ZC
IC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oICovLAogCQkJCUVCRjUxMjFBMTY5NjQ5NkMw
MDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9ucy5jcHAgKi8sCkBAIC0yNzA5MSw2ICsyNzEyMiw3
IEBACiAJCQkJNTM4RUM5MzQxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTW9ja1BhZ2VPdmVybGF5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMTQ2RDMyMzFGOTlEMEVGMDBEMjkxOTYgLyogSlNNb2NrUGF5
bWVudEFkZHJlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNDZEMzFCMUY5OUJDRkIwMEQyOTE5
NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUExQkI4
NUI5MjE1OUIzQUUwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTQyN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUVCRjUxMjFEMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5
cGVDb252ZXJzaW9ucy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDMjZCNDExNjBBOENDRTAwMjY3
NTdCIC8qIExlZ2FjeU1vY2tDRE0uaCBpbiBIZWFkZXJzICovLApAQCAtMjcxODUsNiArMjcyMTcs
OCBAQAogCQkJCTkzMzA5REQ3MDk5RTY0OTIwMDU2RTU4MSAvKiBBcHBlbmROb2RlQ29tbWFuZC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5
Q29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlFRTIwMzVGQzlCMDAxMjIz
NkIgLyogQXBwbGVQYXlFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1OUMyMTU5QUVB
MTAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJC
ODVBMzIxNTlBRjU3MDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0
ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QTg2MUY3RUJERjIwMDU4QTQ3NyAvKiBBcHBs
ZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNkNGRkYxRkUw
OTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1
MjgsNiArMjg1NjIsOCBAQAogCQkJCTcxMDI1RURFMUY5OUYxRUMwMDRBMjUwQyAvKiBKU0FuaW1h
dGlvblRpbWVsaW5lLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE5OTFGN0VDOEMwMDA1OEE0
NzcgLyogSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5
RjkyMDM2MEFDQjAwMTIyMzZCIC8qIEpTQXBwbGVQYXlFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQTFCQjg1QjIyMTU5QjFBMTAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvZGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUExQkI4NUIzMjE1OUIxQTEwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJy
b3JDb250YWN0RmllbGQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUz
QTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QThF
MUY3RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBMUY2RDAxMjFGRTA5OUI0MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlm
aWVyLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NTkzLDYgKzI5NjI5LDcgQEAKIAkJCQk0MTNDQ0Q0
QTIwREUwMzRGMDA2NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDREYyQjAxMzE4MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDE1MTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrTWVk
aWFTb3VyY2VQcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODVBOTIxNTlCMDJDMDA2
N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdENkE0RjQx
QkVENUY4ODAwMTc0MTQ2IC8qIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0QTBGRkE5RTFBQUY1RTdFMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAv
KiBNb2NrUmVhbHRpbWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTUxMCw2ICsz
MTU0Nyw3IEBACiAJCQkJMkQ0MTUwREUxQzFGODY4QzAwMEEzQkEyIC8qIEpTTW9ja1BhZ2VPdmVy
bGF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDZEMzIyMUY5OUQwRUMwMEQyOTE5NiAvKiBK
U01vY2tQYXltZW50QWRkcmVzcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlC
Q0Y4MDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCUExQkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNDI3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2Vydmlj
ZVdvcmtlckludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZD
MDA1NkJEMjUgLyogSlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RD
MjZCNDAxNjBBOENDNjAwMjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0
b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCmlu
ZGV4IDFmN2QwNjhkMWNjMDllZjRkNWMzZTViZjE2MDliNDAwMjE2MzE3Y2YuLjVjMzYzNWU3MzAx
NTdiYTJkYjlhZTAzYzdmMjBkNjdkY2I0NWY1NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNs
dWRlICJBcHBsZVBheUxpbmVJdGVtLmgiCiAjaW5jbHVkZSAiTW9ja1BheW1lbnRBZGRyZXNzLmgi
CisjaW5jbHVkZSAiTW9ja1BheW1lbnRFcnJvci5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGlu
YXRvckNsaWVudC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvU3RyaW5nSGFzaC5oPgpAQCAtNTAsNiArNTEsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBB
cHBsZVBheUxpbmVJdGVtJiB0b3RhbCgpIGNvbnN0IHsgcmV0dXJuIG1fdG90YWw7IH0KICAgICBj
b25zdCBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4mIGxpbmVJdGVtcygpIGNvbnN0IHsgcmV0dXJu
IG1fbGluZUl0ZW1zOyB9CisgICAgY29uc3QgVmVjdG9yPE1vY2tQYXltZW50RXJyb3I+JiBlcnJv
cnMoKSBjb25zdCB7IHJldHVybiBtX2Vycm9yczsgfQogCiAgICAgdm9pZCByZWYoKSBjb25zdCB7
IH0KICAgICB2b2lkIGRlcmVmKCkgY29uc3QgeyB9CkBAIC03Niw2ICs3OCw3IEBAIHByaXZhdGU6
CiAgICAgQXBwbGVQYXlQYXltZW50Q29udGFjdCBtX3NoaXBwaW5nQWRkcmVzczsKICAgICBBcHBs
ZVBheUxpbmVJdGVtIG1fdG90YWw7CiAgICAgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+IG1fbGlu
ZUl0ZW1zOworICAgIFZlY3RvcjxNb2NrUGF5bWVudEVycm9yPiBtX2Vycm9yczsKICAgICBIYXNo
U2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiBtX2F2YWlsYWJsZVBheW1lbnRO
ZXR3b3JrczsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1Bh
eW1lbnRDb29yZGluYXRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsCmluZGV4IDIzMTRlZWRiMmFlYmNiNjJjNTFhZDJiMmVjMmM1N2I5YWM0
MzBhYTYuLjcwYjAyM2YzNGMyZGJkMGRkYmMzNzFmZmNhNGM2MWNhM2M1Zjc5YjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbApAQCAt
MzUsNCArMzUsNSBAQAogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFwcGxlUGF5TGluZUl0ZW0g
dG90YWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFwcGxlUGF5TGluZUl0ZW0+
IGxpbmVJdGVtczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8TW9ja1BheW1lbnRF
cnJvcj4gZXJyb3JzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9j
a1BheW1lbnRFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9y
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uM2FmMmY0ZWJkMjM4YTdmN2JjMGRiNTIwNmQwNjYxM2FiZmY3YzViZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJv
ci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVz
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNb2NrUGF5bWVudEVycm9yIDog
UGF5bWVudEVycm9yIHsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01v
Y2tQYXltZW50RXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudEVy
cm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44ZWRkYmM4Mjk1NzVjYTRkNTI1ZDM3YjMxMGY5ODk5OGM2MGVj
NGJlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVu
dEVycm9yLmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUFQUExFX1BBWSwKK10gZGljdGlvbmFyeSBNb2NrUGF5bWVudEVycm9yIHsKKyAgICByZXF1
aXJlZCBBcHBsZVBheUVycm9yQ29kZSBjb2RlOworICAgIHJlcXVpcmVkIERPTVN0cmluZyBtZXNz
YWdlOworICAgIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQgY29udGFjdEZpZWxkOworfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350899</attachid>
            <date>2018-09-26 13:55:56 -0700</date>
            <delta_ts>2018-09-26 14:39:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189938-20180926135554.patch</filename>
            <type>text/plain</type>
            <size>70330</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIwM2E3MTgzZmY2MTkw
ZTc1YWIzN2VjYzRhMmQ5YjU1ZmYxZTg0ZS4uOTcxOTA1ZTVlYjEzNWFkNzA3YjIxZDU3MDhjMGQ2
NjI5YzYyNGVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE4LTA5LTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdXBwb3J0
IGdyYW51bGFyIGVycm9ycyBpbiBQYXltZW50RGV0YWlsc1VwZGF0ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5OTM4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIHNoaXBwaW5n
QWRkcmVzc0Vycm9ycywgcGF5ZXJFcnJvcnMsIGFuZCBwYXltZW50TWV0aG9kRXJyb3JzIHByb3Bl
cnRpZXMgb24KKyAgICAgICAgUGF5bWVudERldGFpbHNVcGRhdGUsIGFzIHNwZWNpZmllZCBpbiB0
aGUgUGF5bWVudCBSZXF1ZXN0IEFQSSBXM0MgRWRpdG9yJ3MgRHJhZnQgb2YKKyAgICAgICAgMjYg
U2VwdGVtYmVyIDIwMTguCisKKyAgICAgICAgV2hlbiB0aGVzZSBlcnJvcnMgYXJlIHNwZWNpZmll
ZCBpbiBhIFBheW1lbnREZXRhaWxzVXBkYXRlLCBtYXAgdGhlbSB0byBQYXltZW50RXJyb3JzLiBG
b3IKKyAgICAgICAgc2hpcHBpbmdBZGRyZXNzRXJyb3JzIGFuZCBwYXllckVycm9ycywgd2UgdXNl
IHRoZSAic2hpcHBpbmdDb250YWN0SW52YWxpZCIgY29kZSBhbmQgYQorICAgICAgICBjb250YWN0
IGZpZWxkIHRoYXQgbWF0Y2hlcyB0aGUgc2hpcHBpbmdBZGRyZXNzRXJyb3Igb3IgcGF5ZXJFcnJv
ciBwcm9wZXJ0eSBzcGVjaWZpZWQuCisKKyAgICAgICAgRm9yIHBheW1lbnRNZXRob2RFcnJvcnMs
IHdlIGludGVycHJldCB0aGlzIGFzIGEgc2VxdWVuY2Ugb2YgQXBwbGVQYXlFcnJvcnMsIHdoaWNo
IGFyZQorICAgICAgICBjb252ZXJ0ZWQgdG8gUGF5bWVudEVycm9ycyBhcyBpbiBBcHBsZSBQYXkg
SlMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVu
dEVycm9yc1YzLmh0dHBzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IFJl
bW92ZWQgc29tZSB0YWJzIGFuZCBhZGRlZCBuZXcgLmlkbCBmaWxlcy4KKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsOiBNb3ZlZCBBcHBsZVBheUVycm9yQ29kZSBh
bmQgQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZAorICAgICAgICBpbnRvIHRoZWlyIG93biAuaWRs
IGZpbGVzIHNvIHRoZXkgY2FuIGJlIHVzZWQgaW4gTW9ja1BheW1lbnRFcnJvci4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbDog
QWRkZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kU2hpcHBpbmdD
b250YWN0SW52YWxpZEVycm9yKTogQXBwZW5kZWQgYSAic2hpcHBpbmdDb250YWN0SW52YWxpZCIK
KyAgICAgICAgUGF5bWVudEVycm9yIHRvIGVycm9ycyBpZiB0aGUgbWVzc2FnZSBpcyBub24tbnVs
bC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVFcnJv
cnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0
YWlsc1VwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6
c2hpcHBpbmdBZGRyZXNzVXBkYXRlZCk6IENvbXB1dGVkIGEgdmVjdG9yIG9mIFBheW1lbnRFcnJv
cnMKKyAgICAgICAgYmFzZWQgb24gc2hpcHBpbmdBZGRyZXNzRXJyb3JzLCBwYXllckVycm9ycywg
YW5kIHBheW1lbnRNZXRob2RFcnJvcnMuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKworICAgICAgICAqIE1vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmlkbDogRGVmaW5lZCBzaGlw
cGluZ0FkZHJlc3NFcnJvcnMsCisgICAgICAgIHBheWVyRXJyb3JzLCBhbmQgcGF5bWVudE1ldGhv
ZEVycm9ycy4KKworICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhhbmRs
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpwYXltZW50TWV0aG9kQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21p
c2UpOiBQYXNzZWQgc2hpcHBpbmdBZGRyZXNzRXJyb3JzLCBwYXllckVycm9ycywKKyAgICAgICAg
YW5kIHBheW1lbnRNZXRob2RFcnJvcnMgdG8gdGhlIHBheW1lbnQgaGFuZGxlci4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hp
cHBpbmdDb250YWN0U2VsZWN0aW9uKTogU3RvcmVkIGVycm9ycyBpbiBtX2Vycm9ycy4KKyAgICAg
ICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOiBBZGRlZCBhbiBlcnJvcnMgYXR0cmlidXRlLgor
CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmg6IEFkZGVkLgorICAgICAgICAq
IHRlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGw6IEFkZGVkLgorCiAyMDE4LTA5LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIGNv
ZGUgYXJvdW5kIFJlbmRlckxheWVyJ3MgImhhcyBhY2NlbGVyYXRlZCBzY3JvbGxpbmciIGZ1bmN0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzgyMTQwZjJjZGEyMmIwNWYy
OTE4NzFiNjZlYzU3ZTg4OTFhOTI4Mi4uN2JjODQzZTA3NDc0MGIwYTI2NmNiZDg5MDA4Y2E1NzIz
ZDA1Y2YyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDQgKzEsNCBAQAot
IyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjIENvcHlyaWdodCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICMgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgogIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQu
YXU+CiAjCkBAIC05MCwyNiArOTAsMjggQEAgVlBBVEggPSBcCiBKU19CSU5ESU5HX0lETFMgPSBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFp
bGFiaWxpdHlFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvbnRhY3RGaWVsZC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUVycm9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ckNvZGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ckNvbnRhY3RGaWVsZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUxpbmVJdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5TWVyY2hhbnRDYXBhYmlsaXR5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudENvbnRhY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwgXAotCSQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFBh
c3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
UmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJl
cXVlc3RCYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
U2VsZWN0ZWRFdmVudC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVJlcXVlc3QuaWRsIFwKQEAgLTk4MSw2ICs5ODMsNyBAQCBKU19CSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXAogICAgICQo
V2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEFkZHJlc3MuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvdGVz
dGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNvbnZl
cnNpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmlk
bAppbmRleCBmMjg4MTUwOWRhZTllNWY1NjZhYTI1ZTc4YzA2YzFmY2U0ZjU4MzM4Li41NDE1NWQ5
OTk3M2MxNjYzZDAxZWZhOWI0NTI3OGRiNDNjZjA2ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMzMgKzIzLDYgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1bCi0gICAgQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1NFU1NJT05fVjMsCi1dIGVudW0gQXBwbGVQYXlFcnJvckNvZGUgewotICAg
ICJ1bmtub3duIiwKLSAgICAic2hpcHBpbmdDb250YWN0SW52YWxpZCIsCi0gICAgImJpbGxpbmdD
b250YWN0SW52YWxpZCIsCi0gICAgImFkZHJlc3NVbnNlcnZpY2VhYmxlIgotfTsKLQotWwotICAg
IENvbmRpdGlvbmFsPUFQUExFX1BBWV9TRVNTSU9OX1YzLAotXSBlbnVtIEFwcGxlUGF5RXJyb3JD
b250YWN0RmllbGQgewotICAgICJwaG9uZU51bWJlciIsCi0gICAgImVtYWlsQWRkcmVzcyIsCi0g
ICAgIm5hbWUiLAotICAgICJwaG9uZXRpY05hbWUiLAotICAgICJwb3N0YWxBZGRyZXNzIiwKLSAg
ICAiYWRkcmVzc0xpbmVzIiwKLSAgICAic3ViTG9jYWxpdHkiLAotICAgICJsb2NhbGl0eSIsCi0g
ICAgInBvc3RhbENvZGUiLAotICAgICJzdWJBZG1pbmlzdHJhdGl2ZUFyZWEiLAotICAgICJhZG1p
bmlzdHJhdGl2ZUFyZWEiLAotICAgICJjb3VudHJ5IiwKLSAgICAiY291bnRyeUNvZGUiCi19Owot
CiBbCiAgICAgQ29uc3RydWN0b3IoQXBwbGVQYXlFcnJvckNvZGUgZXJyb3JDb2RlLCBvcHRpb25h
bCBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkIGNvbnRhY3RGaWVsZCwgb3B0aW9uYWwgRE9NU3Ry
aW5nIG1lc3NhZ2UgPSAiIiksCiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NFU1NJT05fVjMs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3JDb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JD
b2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTUxNzIyZTg5ZDZiYmNjNWY5YTlkODBkNjFhMjc4ZTBhMWEzM2Yy
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlFcnJvckNvZGUuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIEFw
cGxlUGF5RXJyb3JDb2RlID0gUGF5bWVudEVycm9yOjpDb2RlOworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kNjJmYmEyZGY3OGVjOTZiNzY1YjNiNmRhZjQ0MjU0ZDUzNzg5NTVlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5p
ZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKK10gZW51bSBBcHBs
ZVBheUVycm9yQ29kZSB7CisgICAgInVua25vd24iLAorICAgICJzaGlwcGluZ0NvbnRhY3RJbnZh
bGlkIiwKKyAgICAiYmlsbGluZ0NvbnRhY3RJbnZhbGlkIiwKKyAgICAiYWRkcmVzc1Vuc2Vydmlj
ZWFibGUiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTYyMjI0ODFkZDlm
YjBmMWM2ZjY4N2NhYjU3Nzg5NzE2MTEyNTUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmgKQEAgLTAs
MCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZKQorCisjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxk
ID0gUGF5bWVudEVycm9yOjpDb250YWN0RmllbGQ7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMmE4OWRkZmE0YjVlZjcxZDZmMTZkM2YxNDhiZjllM2JhOGE3ODk0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVy
cm9yQ29udGFjdEZpZWxkLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQ
T1JULAorXSBlbnVtIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQgeworICAgICJwaG9uZU51bWJl
ciIsCisgICAgImVtYWlsQWRkcmVzcyIsCisgICAgIm5hbWUiLAorICAgICJwaG9uZXRpY05hbWUi
LAorICAgICJwb3N0YWxBZGRyZXNzIiwKKyAgICAiYWRkcmVzc0xpbmVzIiwKKyAgICAic3ViTG9j
YWxpdHkiLAorICAgICJsb2NhbGl0eSIsCisgICAgInBvc3RhbENvZGUiLAorICAgICJzdWJBZG1p
bmlzdHJhdGl2ZUFyZWEiLAorICAgICJhZG1pbmlzdHJhdGl2ZUFyZWEiLAorICAgICJjb3VudHJ5
IiwKKyAgICAiY291bnRyeUNvZGUiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAKaW5kZXggYmQ2ZmZlMTY0YjVkYjY2NDczYjIwYzliNjZjMjY2ZWI0
MzFiNjY1OS4uMTFjYzFjYTIxZDMxOTdkY2RkMTFjOWFmZTU4MzUxMmVjYjExZThmZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNU
KQogCisjaW5jbHVkZSAiQWRkcmVzc0Vycm9ycy5oIgogI2luY2x1ZGUgIkFwcGxlUGF5Q29udGFj
dEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKICNpbmNs
dWRlICJBcHBsZVBheU1vZGlmaWVyLmgiCkBAIC0zNiwxMiArMzcsMTQgQEAKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIkpTQXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50
LmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnRNZXRob2QuaCIKICNpbmNsdWRlICJKU0Fw
cGxlUGF5UmVxdWVzdC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVk
ZSAiTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUGF5ZXJFcnJvckZpZWxkcy5oIgogI2luY2x1ZGUgIlBheW1lbnQuaCIKICNpbmNsdWRlICJQ
YXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oIgogI2luY2x1ZGUgIlBheW1lbnRDb250YWN0Lmgi
CkBAIC0zMDksMTQgKzMxMiw2NSBAQCBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IEFwcGxlUGF5UGF5bWVudEhhbgogICAgIHJldHVy
biBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMgeyBXVEZN
b3ZlKHRvdGFsKSwgV1RGTW92ZShsaW5lSXRlbXMpIH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+
IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpV
cGRhdGVSZWFzb24gcmVhc29uLCBjb25zdCBTdHJpbmcmIGVycm9yKQorc3RhdGljIGlubGluZSB2
b2lkIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJvcihTdHJpbmcmJiBtZXNzYWdlLCBz
dGQ6Om9wdGlvbmFsPFBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkPiYmIGNvbnRhY3RGaWVsZCwg
VmVjdG9yPFBheW1lbnRFcnJvcj4mIGVycm9ycykKK3sKKyAgICBpZiAoIW1lc3NhZ2UuaXNOdWxs
KCkpCisgICAgICAgIGVycm9ycy5hcHBlbmQoeyBQYXltZW50RXJyb3I6OkNvZGU6OlNoaXBwaW5n
Q29udGFjdEludmFsaWQsIFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoY29udGFjdEZpZWxkKSB9
KTsKK30KKworVmVjdG9yPFBheW1lbnRFcnJvcj4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y29t
cHV0ZUVycm9ycyhTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmIGFkZHJlc3NFcnJvcnMs
IFBheWVyRXJyb3JGaWVsZHMmJiBwYXllckVycm9ycywgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVj
dD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKSBjb25zdAoreworICAgIFZlY3RvcjxQYXltZW50RXJy
b3I+IGVycm9yczsKKworICAgIGF1dG8mIG9wdGlvbnMgPSBtX3BheW1lbnRSZXF1ZXN0LT5wYXlt
ZW50T3B0aW9ucygpOworICAgIHVzaW5nIENvbnRhY3RGaWVsZCA9IFBheW1lbnRFcnJvcjo6Q29u
dGFjdEZpZWxkOworCisgICAgaWYgKG9wdGlvbnMucmVxdWVzdFNoaXBwaW5nICYmIG1fcGF5bWVu
dFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuc2hpcHBpbmdPcHRpb25zLmlzRW1wdHkoKSkgewor
ICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShlcnJvciks
IHN0ZDo6bnVsbG9wdCwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52
YWxpZEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5hZGRyZXNzTGluZSksIENvbnRhY3RGaWVs
ZDo6QWRkcmVzc0xpbmVzLCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJ
bnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNpdHkpLCBDb250YWN0RmllbGQ6Okxv
Y2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJy
b3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNvdW50cnkpLCBDb250YWN0RmllbGQ6OkNvdW50cnks
IGVycm9ycyk7CisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJvcihXVEZN
b3ZlKGFkZHJlc3NFcnJvcnMuZGVwZW5kZW50TG9jYWxpdHkpLCBDb250YWN0RmllbGQ6OlN1Ykxv
Y2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJy
b3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLnBob25lKSwgQ29udGFjdEZpZWxkOjpQaG9uZU51bWJl
ciwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdU
Rk1vdmUoYWRkcmVzc0Vycm9ycy5wb3N0YWxDb2RlKSwgQ29udGFjdEZpZWxkOjpQb3N0YWxDb2Rl
LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RG
TW92ZShhZGRyZXNzRXJyb3JzLnJlY2lwaWVudCksIENvbnRhY3RGaWVsZDo6TmFtZSwgZXJyb3Jz
KTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUoYWRk
cmVzc0Vycm9ycy5yZWdpb24pLCBDb250YWN0RmllbGQ6OkFkbWluaXN0cmF0aXZlQXJlYSwgZXJy
b3JzKTsKKyAgICB9CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lKQorICAgICAg
ICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShwYXllckVycm9ycy5u
YW1lKSwgQ29udGFjdEZpZWxkOjpOYW1lLCBlcnJvcnMpOworCisgICAgaWYgKG9wdGlvbnMucmVx
dWVzdFBheWVyRW1haWwpCisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJv
cihXVEZNb3ZlKHBheWVyRXJyb3JzLmVtYWlsKSwgQ29udGFjdEZpZWxkOjpFbWFpbEFkZHJlc3Ms
IGVycm9ycyk7CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0UGF5ZXJQaG9uZSkKKyAgICAgICAg
YXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUocGF5ZXJFcnJvcnMucGhv
bmUpLCBDb250YWN0RmllbGQ6OlBob25lTnVtYmVyLCBlcnJvcnMpOworCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9TRVNTSU9OX1YzKQorICAgIGlmIChwYXltZW50TWV0aG9kRXJyb3JzKSB7CisgICAg
ICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGNvbnRleHQudm0oKSk7CisgICAg
ICAgIGF1dG8gYXBwbGVQYXlFcnJvcnMgPSBjb252ZXJ0PElETFNlcXVlbmNlPElETEludGVyZmFj
ZTxBcHBsZVBheUVycm9yPj4+KCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBwYXltZW50TWV0aG9kRXJy
b3JzLmdldCgpKTsKKyAgICAgICAgaWYgKCF0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSB7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIGFwcGxlUGF5RXJyb3IgOiBhcHBsZVBheUVycm9ycykgeworICAg
ICAgICAgICAgICAgIGlmIChhcHBsZVBheUVycm9yKQorICAgICAgICAgICAgICAgICAgICBlcnJv
cnMuYXBwZW5kKHsgYXBwbGVQYXlFcnJvci0+Y29kZSgpLCBhcHBsZVBheUVycm9yLT5tZXNzYWdl
KCksIGFwcGxlUGF5RXJyb3ItPmNvbnRhY3RGaWVsZCgpIH0pOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gZXJyb3JzOworfQorCitFeGNlcHRp
b25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkZXRhaWxzVXBkYXRlZChQYXltZW50
UmVxdWVzdDo6VXBkYXRlUmVhc29uIHJlYXNvbiwgU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NFcnJv
cnMmJiBhZGRyZXNzRXJyb3JzLCBQYXllckVycm9yRmllbGRzJiYgcGF5ZXJFcnJvcnMsIEpTQzo6
U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYgcGF5bWVudE1ldGhvZEVycm9ycykKIHsKICAgICB1c2lu
ZyBSZWFzb24gPSBQYXltZW50UmVxdWVzdDo6VXBkYXRlUmVhc29uOwogICAgIHN3aXRjaCAocmVh
c29uKSB7CiAgICAgY2FzZSBSZWFzb246OlNob3dEZXRhaWxzUmVzb2x2ZWQ6CiAgICAgICAgIHJl
dHVybiB7IH07CiAgICAgY2FzZSBSZWFzb246OlNoaXBwaW5nQWRkcmVzc0NoYW5nZWQ6Ci0gICAg
ICAgIHJldHVybiBzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGVycm9yKTsKKyAgICAgICAgcmV0dXJu
IHNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoY29tcHV0ZUVycm9ycyhXVEZNb3ZlKGVycm9yKSwgV1RG
TW92ZShhZGRyZXNzRXJyb3JzKSwgV1RGTW92ZShwYXllckVycm9ycyksIFdURk1vdmUocGF5bWVu
dE1ldGhvZEVycm9ycykpKTsKICAgICBjYXNlIFJlYXNvbjo6U2hpcHBpbmdPcHRpb25DaGFuZ2Vk
OgogICAgICAgICByZXR1cm4gc2hpcHBpbmdPcHRpb25VcGRhdGVkKCk7CiAgICAgY2FzZSBSZWFz
b246OlBheW1lbnRNZXRob2RDaGFuZ2VkOgpAQCAtMzQ0LDE5ICszOTgsMTMgQEAgRXhjZXB0aW9u
T3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6bWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxl
dGVkKEpTQzo6SlNWYWwKICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmlu
ZyYgZXJyb3IpCitFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlw
cGluZ0FkZHJlc3NVcGRhdGVkKFZlY3RvcjxQYXltZW50RXJyb3I+JiYgZXJyb3JzKQogewogICAg
IEFTU0VSVChtX2lzVXBkYXRpbmcpOwogICAgIG1faXNVcGRhdGluZyA9IGZhbHNlOwogCiAgICAg
U2hpcHBpbmdDb250YWN0VXBkYXRlIHVwZGF0ZTsKLQotICAgIGlmIChtX3BheW1lbnRSZXF1ZXN0
LT5wYXltZW50T3B0aW9ucygpLnJlcXVlc3RTaGlwcGluZyAmJiBtX3BheW1lbnRSZXF1ZXN0LT5w
YXltZW50RGV0YWlscygpLnNoaXBwaW5nT3B0aW9ucy5pc0VtcHR5KCkpIHsKLSAgICAgICAgUGF5
bWVudEVycm9yIHBheW1lbnRFcnJvcjsKLSAgICAgICAgcGF5bWVudEVycm9yLmNvZGUgPSBQYXlt
ZW50RXJyb3I6OkNvZGU6OlNoaXBwaW5nQ29udGFjdEludmFsaWQ7Ci0gICAgICAgIHBheW1lbnRF
cnJvci5tZXNzYWdlID0gZXJyb3I7Ci0gICAgICAgIHVwZGF0ZS5lcnJvcnMuYXBwZW5kKFdURk1v
dmUocGF5bWVudEVycm9yKSk7Ci0gICAgfQorICAgIHVwZGF0ZS5lcnJvcnMgPSBXVEZNb3ZlKGVy
cm9ycyk7CiAKICAgICBhdXRvIG5ld1RvdGFsQW5kTGluZUl0ZW1zID0gY29tcHV0ZVRvdGFsQW5k
TGluZUl0ZW1zKCk7CiAgICAgaWYgKG5ld1RvdGFsQW5kTGluZUl0ZW1zLmhhc0V4Y2VwdGlvbigp
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVx
dWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAppbmRleCA0NzUz
ZjBkNWIwYzE3MzM2NmJkODhkNDE3MWFmMmIyOGY3M2I0Yjc4Li40YjQ0OWNkZTIyMjc0OTBkMzIx
YmUwODg2MmMyOGZiNmI3MWVhZmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5
bWVudEhhbmRsZXIuaApAQCAtNTMsOCArNTMsOSBAQCBwcml2YXRlOgogICAgIFBheW1lbnRDb29y
ZGluYXRvciYgcGF5bWVudENvb3JkaW5hdG9yKCkgY29uc3Q7CiAKICAgICBFeGNlcHRpb25PcjxB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IGNvbXB1dGVU
b3RhbEFuZExpbmVJdGVtcygpOworICAgIFZlY3RvcjxQYXltZW50RXJyb3I+IGNvbXB1dGVFcnJv
cnMoU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NFcnJvcnMmJiwgUGF5ZXJFcnJvckZpZWxkcyYmLCBK
U0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmIHBheW1lbnRNZXRob2RFcnJvcnMpIGNvbnN0Owog
Ci0gICAgRXhjZXB0aW9uT3I8dm9pZD4gc2hpcHBpbmdBZGRyZXNzVXBkYXRlZChjb25zdCBTdHJp
bmcmIGVycm9yKTsKKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBzaGlwcGluZ0FkZHJlc3NVcGRhdGVk
KFZlY3RvcjxQYXltZW50RXJyb3I+JiYgZXJyb3JzKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
aGlwcGluZ09wdGlvblVwZGF0ZWQoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwYXltZW50TWV0
aG9kVXBkYXRlZCgpOwogCkBAIC02Myw3ICs2NCw3IEBAIHByaXZhdGU6CiAgICAgRXhjZXB0aW9u
T3I8dm9pZD4gc2hvdygpIGZpbmFsOwogICAgIHZvaWQgaGlkZSgpIGZpbmFsOwogICAgIHZvaWQg
Y2FuTWFrZVBheW1lbnQoV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKSBmaW5hbDsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZXRhaWxzVXBkYXRlZChQYXltZW50
UmVxdWVzdDo6VXBkYXRlUmVhc29uLCBjb25zdCBTdHJpbmcmIGVycm9yKSBmaW5hbDsKKyAgICBF
eGNlcHRpb25Pcjx2b2lkPiBkZXRhaWxzVXBkYXRlZChQYXltZW50UmVxdWVzdDo6VXBkYXRlUmVh
c29uLCBTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmLCBQYXllckVycm9yRmllbGRzJiYs
IEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYgcGF5bWVudE1ldGhvZEVycm9ycykgZmluYWw7
CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gbWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxldGVkKEpTQzo6
SlNWYWx1ZSYmKSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlKHN0ZDo6b3B0aW9uYWw8UGF5bWVu
dENvbXBsZXRlPiYmKSBmaW5hbDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oCmluZGV4IGY2ODM3
YWNkMDI5Y2M5MWM4OTY3MzQwNzg4MjA3ZjUxYzJjZDk2OTIuLjIyOGVmNGRjODUyNWU3OGZlYWY4
Njk3NzMzY2Y2OTViZGJhNDkxNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjcsNiArMjcs
OCBAQAogCiAjaWYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkFkZHJlc3NF
cnJvcnMuaCIKKyNpbmNsdWRlICJQYXllckVycm9yRmllbGRzLmgiCiAjaW5jbHVkZSAiUGF5bWVu
dERldGFpbHNCYXNlLmgiCiAjaW5jbHVkZSAiUGF5bWVudEl0ZW0uaCIKICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KQEAgLTM2LDYgKzM4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
c3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlIGZpbmFsIDogcHVibGljIFBheW1lbnREZXRhaWxz
QmFzZSB7CiAgICAgU3RyaW5nIGVycm9yOwogICAgIFBheW1lbnRJdGVtIHRvdGFsOworICAgIEFk
ZHJlc3NFcnJvcnMgc2hpcHBpbmdBZGRyZXNzRXJyb3JzOworICAgIFBheWVyRXJyb3JGaWVsZHMg
cGF5ZXJFcnJvcnM7CisgICAgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4gcGF5bWVudE1ldGhv
ZEVycm9yczsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1Vw
ZGF0ZS5pZGwKaW5kZXggM2I4N2M4ODhjODIzZjFkZWUzYzU4MGY5MGQyNzdhZTM1ODg0YmRiZi4u
YTM4YmRlNTRiZmVhOGE2MDg2Y2RmY2Q1NTNiMmZjYTYwNGRkNWJjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0
YWlsc1VwZGF0ZS5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMjgsNCArMjgsNyBAQAogXSBkaWN0aW9uYXJ5IFBheW1lbnREZXRhaWxz
VXBkYXRlIDogUGF5bWVudERldGFpbHNCYXNlIHsKICAgICBET01TdHJpbmcgZXJyb3I7CiAgICAg
UGF5bWVudEl0ZW0gdG90YWw7CisgICAgQWRkcmVzc0Vycm9ycyBzaGlwcGluZ0FkZHJlc3NFcnJv
cnM7CisgICAgUGF5ZXJFcnJvckZpZWxkcyBwYXllckVycm9yczsKKyAgICBvYmplY3QgcGF5bWVu
dE1ldGhvZEVycm9yczsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmgKaW5kZXggNDI5NzNmOWUxNmZkNDg3YzcxYzMw
ZDc5ODA4NzA2MDI0OTI4MjkwNS4uNGNmMDQyYzU0NzVmMjcyODU5YjQzMjA3YmJhNDZhZjMxNTEy
MDdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudEhhbmRsZXIuaApAQCAtMzgsNiArMzgsOCBAQCBjbGFzcyBKU1ZhbHVlOwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK3N0cnVjdCBBZGRyZXNzRXJyb3Jz
Oworc3RydWN0IFBheWVyRXJyb3JGaWVsZHM7CiAKIGNsYXNzIFBheW1lbnRIYW5kbGVyIDogcHVi
bGljIHZpcnR1YWwgUGF5bWVudFNlc3Npb25CYXNlIHsKIHB1YmxpYzoKQEAgLTQ5LDcgKzUxLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gc2hvdygpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgaGlkZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2FuTWFrZVBheW1l
bnQoV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSA9IDA7Ci0g
ICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBkZXRhaWxzVXBkYXRlZChQYXltZW50UmVxdWVz
dDo6VXBkYXRlUmVhc29uLCBjb25zdCBTdHJpbmcmIGVycm9yKSA9IDA7CisgICAgdmlydHVhbCBF
eGNlcHRpb25Pcjx2b2lkPiBkZXRhaWxzVXBkYXRlZChQYXltZW50UmVxdWVzdDo6VXBkYXRlUmVh
c29uLCBTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmLCBQYXllckVycm9yRmllbGRzJiYs
IEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYgcGF5bWVudE1ldGhvZEVycm9ycykgPSAwOwog
ICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gbWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxldGVk
KEpTQzo6SlNWYWx1ZSYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvbXBsZXRlKHN0ZDo6b3B0
aW9uYWw8UGF5bWVudENvbXBsZXRlPiYmKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAppbmRleCA2
MWRhMGM4MGMwNWM2ODljZWJjNDliMzRlZGM4ZTMyN2U0MTZlN2QwLi42MThiZmY4NjU2MTE3NDcx
NGJlYzEzMTA0NzFmMDYwNzI1NTliMTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcApAQCAtNTU5LDcgKzU1
OSw3IEBAIHZvaWQgUGF5bWVudFJlcXVlc3Q6OnBheW1lbnRNZXRob2RDaGFuZ2VkKGNvbnN0IFN0
cmluZyYgbWV0aG9kTmFtZSwgUGF5bWVudE1ldGhvCiAgICAgICAgIGlmIChoYXNFdmVudExpc3Rl
bmVycyhldmVudE5hbWUpKQogICAgICAgICAgICAgZGlzcGF0Y2hFdmVudChQYXltZW50TWV0aG9k
Q2hhbmdlRXZlbnQ6OmNyZWF0ZShldmVudE5hbWUsIG1ldGhvZE5hbWUsIFdURk1vdmUobWV0aG9k
RGV0YWlsc0Z1bmN0aW9uKSkpOwogICAgICAgICBlbHNlCi0gICAgICAgICAgICBtX2FjdGl2ZVBh
eW1lbnRIYW5kbGVyLT5kZXRhaWxzVXBkYXRlZChVcGRhdGVSZWFzb246OlBheW1lbnRNZXRob2RD
aGFuZ2VkLCB7IH0pOworICAgICAgICAgICAgbV9hY3RpdmVQYXltZW50SGFuZGxlci0+ZGV0YWls
c1VwZGF0ZWQoVXBkYXRlUmVhc29uOjpQYXltZW50TWV0aG9kQ2hhbmdlZCwgeyB9LCB7IH0sIHsg
fSwgeyB9KTsKICAgICB9KTsKIH0KIApAQCAtNjI3LDE5ICs2MjcsMTkgQEAgdm9pZCBQYXltZW50
UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21pc2UoVXBkYXRlUmVhc29uIHJlYXNvbikKIAogICAg
IGF1dG8mIGNvbnRleHQgPSAqbV9kZXRhaWxzUHJvbWlzZS0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpOwogICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUoY29udGV4dC52
bSgpKTsKLSAgICBhdXRvIHBheW1lbnREZXRhaWxzVXBkYXRlID0gY29udmVydERpY3Rpb25hcnk8
UGF5bWVudERldGFpbHNVcGRhdGU+KCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBtX2RldGFpbHNQcm9t
aXNlLT5yZXN1bHQoKSk7CisgICAgYXV0byBkZXRhaWxzVXBkYXRlID0gY29udmVydERpY3Rpb25h
cnk8UGF5bWVudERldGFpbHNVcGRhdGU+KCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBtX2RldGFpbHNQ
cm9taXNlLT5yZXN1bHQoKSk7CiAgICAgaWYgKHRocm93U2NvcGUuZXhjZXB0aW9uKCkpIHsKICAg
ICAgICAgYWJvcnRXaXRoRXhjZXB0aW9uKEV4Y2VwdGlvbiB7IEV4aXN0aW5nRXhjZXB0aW9uRXJy
b3IgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIHRvdGFsUmVzdWx0ID0g
Y2hlY2tBbmRDYW5vbmljYWxpemVUb3RhbChwYXltZW50RGV0YWlsc1VwZGF0ZS50b3RhbC5hbW91
bnQpOworICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZVRvdGFsKGRl
dGFpbHNVcGRhdGUudG90YWwuYW1vdW50KTsKICAgICBpZiAodG90YWxSZXN1bHQuaGFzRXhjZXB0
aW9uKCkpIHsKICAgICAgICAgYWJvcnRXaXRoRXhjZXB0aW9uKHRvdGFsUmVzdWx0LnJlbGVhc2VF
eGNlcHRpb24oKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvIGRldGFpbHNS
ZXN1bHQgPSBjaGVja0FuZENhbm9uaWNhbGl6ZURldGFpbHMoKmNvbnRleHQuZXhlY1N0YXRlKCks
IHBheW1lbnREZXRhaWxzVXBkYXRlLCBtX29wdGlvbnMucmVxdWVzdFNoaXBwaW5nLCBTaG91bGRW
YWxpZGF0ZVBheW1lbnRNZXRob2RJZGVudGlmaWVyOjpZZXMpOworICAgIGF1dG8gZGV0YWlsc1Jl
c3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplRGV0YWlscygqY29udGV4dC5leGVjU3RhdGUoKSwg
ZGV0YWlsc1VwZGF0ZSwgbV9vcHRpb25zLnJlcXVlc3RTaGlwcGluZywgU2hvdWxkVmFsaWRhdGVQ
YXltZW50TWV0aG9kSWRlbnRpZmllcjo6WWVzKTsKICAgICBpZiAoZGV0YWlsc1Jlc3VsdC5oYXNF
eGNlcHRpb24oKSkgewogICAgICAgICBhYm9ydFdpdGhFeGNlcHRpb24oZGV0YWlsc1Jlc3VsdC5y
ZWxlYXNlRXhjZXB0aW9uKCkpOwogICAgICAgICByZXR1cm47CkBAIC02NDcsMTcgKzY0NywxNyBA
QCB2b2lkIFBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlzZShVcGRhdGVSZWFzb24g
cmVhc29uKQogCiAgICAgYXV0byBzaGlwcGluZ09wdGlvbkFuZE1vZGlmaWVyRGF0YSA9IGRldGFp
bHNSZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCk7CiAKLSAgICBtX2RldGFpbHMudG90YWwgPSBX
VEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLnRvdGFsKTsKLSAgICBtX2RldGFpbHMuZGlzcGxh
eUl0ZW1zID0gV1RGTW92ZShwYXltZW50RGV0YWlsc1VwZGF0ZS5kaXNwbGF5SXRlbXMpOworICAg
IG1fZGV0YWlscy50b3RhbCA9IFdURk1vdmUoZGV0YWlsc1VwZGF0ZS50b3RhbCk7CisgICAgbV9k
ZXRhaWxzLmRpc3BsYXlJdGVtcyA9IFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5kaXNwbGF5SXRlbXMp
OwogICAgIGlmIChtX29wdGlvbnMucmVxdWVzdFNoaXBwaW5nKSB7Ci0gICAgICAgIG1fZGV0YWls
cy5zaGlwcGluZ09wdGlvbnMgPSBXVEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLnNoaXBwaW5n
T3B0aW9ucyk7CisgICAgICAgIG1fZGV0YWlscy5zaGlwcGluZ09wdGlvbnMgPSBXVEZNb3ZlKGRl
dGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zKTsKICAgICAgICAgbV9zaGlwcGluZ09wdGlvbiA9
IFdURk1vdmUoc3RkOjpnZXQ8MD4oc2hpcHBpbmdPcHRpb25BbmRNb2RpZmllckRhdGEpKTsKICAg
ICB9CiAKLSAgICBtX2RldGFpbHMubW9kaWZpZXJzID0gV1RGTW92ZShwYXltZW50RGV0YWlsc1Vw
ZGF0ZS5tb2RpZmllcnMpOworICAgIG1fZGV0YWlscy5tb2RpZmllcnMgPSBXVEZNb3ZlKGRldGFp
bHNVcGRhdGUubW9kaWZpZXJzKTsKICAgICBtX3NlcmlhbGl6ZWRNb2RpZmllckRhdGEgPSBXVEZN
b3ZlKHN0ZDo6Z2V0PDE+KHNoaXBwaW5nT3B0aW9uQW5kTW9kaWZpZXJEYXRhKSk7CiAKLSAgICBh
dXRvIHJlc3VsdCA9IG1fYWN0aXZlUGF5bWVudEhhbmRsZXItPmRldGFpbHNVcGRhdGVkKHJlYXNv
biwgcGF5bWVudERldGFpbHNVcGRhdGUuZXJyb3IpOworICAgIGF1dG8gcmVzdWx0ID0gbV9hY3Rp
dmVQYXltZW50SGFuZGxlci0+ZGV0YWlsc1VwZGF0ZWQocmVhc29uLCBXVEZNb3ZlKGRldGFpbHNV
cGRhdGUuZXJyb3IpLCBXVEZNb3ZlKGRldGFpbHNVcGRhdGUuc2hpcHBpbmdBZGRyZXNzRXJyb3Jz
KSwgV1RGTW92ZShkZXRhaWxzVXBkYXRlLnBheWVyRXJyb3JzKSwgV1RGTW92ZShkZXRhaWxzVXBk
YXRlLnBheW1lbnRNZXRob2RFcnJvcnMpKTsKICAgICBpZiAocmVzdWx0Lmhhc0V4Y2VwdGlvbigp
KSB7CiAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbihyZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
KTsKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlc0Nv
Y29hLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKaW5kZXggZDdjMGFjN2Iz
ZGJhOTAyOTNjNjI1YTdkMDdkZDNlNWY3YzI5OTVjMS4uNzc3NjBmZjZkYThjZThkYmU0YzJmYTMz
NWJlZGJkM2M4ZTA1YzFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29h
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CkBAIC0xLDQgKzEsNCBA
QAotLy8gQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
Ky8vIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KIC8vCiAvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKIC8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTg4LDYgKzU4OCw4IEBAIHBs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlckNvY29hLmNwcAog
CiAgICAgSlNBcHBsZVBheUNvbnRhY3RGaWVsZC5jcHAKICAgICBKU0FwcGxlUGF5RXJyb3IuY3Bw
CisgICAgSlNBcHBsZVBheUVycm9yQ29kZS5jcHAKKyAgICBKU0FwcGxlUGF5RXJyb3JDb250YWN0
RmllbGQuY3BwCiAgICAgSlNBcHBsZVBheUxpbmVJdGVtLmNwcAogICAgIEpTQXBwbGVQYXlNZXJj
aGFudENhcGFiaWxpdHkuY3BwCiAgICAgSlNBcHBsZVBheU1vZGlmaWVyLmNwcApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGNjYTMx
NTczNmU5MGY0N2Q2NDUyYjlhNjMyZTVlOGExZDc5NTA2YTMuLmVmMjMzMWE5YjFmNzA2ODQ3ZTgx
NmE3YTI1ODI0YTdhMzcyNmUxZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI5NTQsNiArMjk1NCwxMyBAQAogCQlBMUFGRURF
NzFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUFGRURFNTFGOEJGRjZEMDA4
NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgKi87IH07CiAJCUExQjVCMjlFMUFB
QTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQjVCMjlDMUFBQTg0NkUwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLzsgfTsKIAkJQTFCNUIyOUYx
QUFBODQ2RjAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQjVCMjlEMUFBQTg0NkUwMDhC
NjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTFCQjg1OUMyMTU5QUVBMTAwNjdFMDdEIC8q
IEFwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUJCODU5OTIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvZGUu
aCAqLzsgfTsKKwkJQTFCQjg1QTMyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250
YWN0RmllbGQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExQkI4NUEwMjE1OUFGNTcwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmgg
Ki87IH07CisJCUExQkI4NUE5MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJCODVBNjIx
NTlCMDJDMDA2N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oICovOyB9OworCQlBMUJCODVCMjIx
NTlCMUExMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QUUyMTU5QjFBMDAwNjdFMDdEIC8q
IEpTQXBwbGVQYXlFcnJvckNvZGUuaCAqLzsgfTsKKwkJQTFCQjg1QjMyMTU5QjFBMTAwNjdFMDdE
IC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QUYyMTU5QjFBMDAwNjdFMDdEIC8qIEpTQXBw
bGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oICovOyB9OworCQlBMUJCODVCODIxNTlCM0E0MDA2N0Uw
N0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXlt
ZW50RXJyb3IuY3BwICovOyB9OworCQlBMUJCODVCOTIxNTlCM0FFMDA2N0UwN0QgLyogSlNNb2Nr
UGF5bWVudEVycm9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmggKi87
IH07CiAJCUExQkY2QjgyMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJGNkI4MDFB
QTk2QzdEMDBBRjRBOEEgLyogTW9ja0NvbnRlbnRGaWx0ZXIuY3BwICovOyB9OwogCQlBMUJGNkI4
MzFBQTk2QzdEMDBBRjRBOEEgLyogTW9ja0NvbnRlbnRGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkY2QjgxMUFBOTZDN0QwMEFGNEE4QSAv
KiBNb2NrQ29udGVudEZpbHRlci5oICovOyB9OwogCQlBMUMxNTA3QTFFM0YyQjNFMDAzMkM5OEMg
LyogUHJldmlld0NvbnZlcnRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQTFDMTUwNzgxRTNGMkIzRTAwMzJDOThDIC8qIFByZXZpZXdDb252ZXJ0ZXIu
aCAqLzsgfTsKQEAgLTExMDQzLDYgKzExMDUwLDE4IEBACiAJCUExQUZFREU1MUY4QkZGNkQwMDg3
MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlB
MUI1QjI5QzFBQUE4NDZFMDA4QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlclNl
dHRpbmdzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFCNUIyOUQxQUFBODQ2
RTAwOEI2MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBMUJCODU5OTIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlF
cnJvckNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlFcnJvckNvZGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1OUIyMTU5QUVBMTAwNjdFMDdEIC8qIEFwcGxlUGF5
RXJyb3JDb2RlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBBcHBsZVBheUVycm9yQ29kZS5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUExQkI4NUEwMjE1OUFGNTcwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9y
Q29udGFjdEZpZWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QTIyMTU5QUY1NzAwNjdFMDdE
IC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEFwcGxlUGF5RXJyb3JDb250
YWN0RmllbGQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBNjIxNTlC
MDJDMDA2N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrUGF5
bWVudEVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUE4MjE1OUIw
MkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNb2NrUGF5bWVudEVycm9y
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QUMyMTU5QjE5RjAwNjdF
MDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRDIxNTlCMUEwMDA2N0UwN0QgLyogSlNB
cHBsZVBheUVycm9yQ29kZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0FwcGxlUGF5RXJyb3JDb2RlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
QTFCQjg1QUUyMTU5QjFBMDAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvZGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUVycm9yQ29kZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRjIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTW9ja1BheW1lbnRFcnJvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUI1MjE1OUIzOEEwMDY3RTA3
RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNNb2NrUGF5bWVudEVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEx
QkY2QjgwMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrQ29udGVudEZpbHRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQkY2QjgxMUFBOTZDN0QwMEFGNEE4QSAvKiBNb2Nr
Q29udGVudEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrQ29u
dGVudEZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUMxNTA3NzFFM0Yy
QjNFMDAzMkM5OEMgLyogUHJldmlld0NvbnZlcnRlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFByZXZpZXdDb252ZXJ0ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xNjA5MCw2ICsxNjEwOSwxMCBAQAogCQkJCTFBREZERkQ1MUU3MUQ4REYw
MDhGNUQzNCAvKiBBcHBsZVBheUVycm9yLmNwcCAqLywKIAkJCQkxQURGREZENjFFNzFEOERGMDA4
RjVEMzQgLyogQXBwbGVQYXlFcnJvci5oICovLAogCQkJCTFBREZERkQ3MUU3MUQ4REYwMDhGNUQz
NCAvKiBBcHBsZVBheUVycm9yLmlkbCAqLywKKwkJCQlBMUJCODU5OTIxNTlBRUExMDA2N0UwN0Qg
LyogQXBwbGVQYXlFcnJvckNvZGUuaCAqLywKKwkJCQlBMUJCODU5QjIxNTlBRUExMDA2N0UwN0Qg
LyogQXBwbGVQYXlFcnJvckNvZGUuaWRsICovLAorCQkJCUExQkI4NUEwMjE1OUFGNTcwMDY3RTA3
RCAvKiBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggKi8sCisJCQkJQTFCQjg1QTIyMTU5QUY1
NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsICovLAogCQkJCTdDNjU3
OUUyMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBheUxpbmVJdGVtLmggKi8sCiAJCQkJN0M2NTc5
RTQxRTAwODJDODAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaWRsICovLAogCQkJCUExREY1
QUE4MUY4MDcwRDQwMDU4QTQ3NyAvKiBBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5jcHAgKi8s
CkBAIC0xNjI2Myw2ICsxNjI4NiwxMCBAQAogCQkJCUExREY1QTk3MUY3RUM4QkYwMDU4QTQ3NyAv
KiBKU0FwcGxlUGF5Q29udGFjdEZpZWxkLmggKi8sCiAJCQkJMUFERkRGRTExRTcxRENBMDAwOEY1
RDM0IC8qIEpTQXBwbGVQYXlFcnJvci5jcHAgKi8sCiAJCQkJMUFERkRGRTIxRTcxRENBMDAwOEY1
RDM0IC8qIEpTQXBwbGVQYXlFcnJvci5oICovLAorCQkJCUExQkI4NUFEMjE1OUIxQTAwMDY3RTA3
RCAvKiBKU0FwcGxlUGF5RXJyb3JDb2RlLmNwcCAqLywKKwkJCQlBMUJCODVBRTIxNTlCMUEwMDA2
N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oICovLAorCQkJCUExQkI4NUFDMjE1OUIxOUYw
MDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuY3BwICovLAorCQkJCUExQkI4
NUFGMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCAqLywK
IAkJCQk3QzY1NzlFOTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmNwcCAq
LywKIAkJCQk3QzY1NzlFQTFFMDA4NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmgg
Ki8sCiAJCQkJQTFERjVBODkxRjdFQzAwMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlNZXJjaGFudENh
cGFiaWxpdHkuY3BwICovLApAQCAtMTcwMzQsNiArMTcwNjEsOCBAQAogCQkJCUExQUZFREU1MUY4
QkZGNkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLywKIAkJCQlBMUFG
RURFNDFGOEJGRjZEMDA4NzAxM0YgLyogTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAogCQkJ
CUExNDZEMzE2MUY5OUI1M0QwMEQyOTE5NiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCAq
LywKKwkJCQlBMUJCODVBNjIxNTlCMDJDMDA2N0UwN0QgLyogTW9ja1BheW1lbnRFcnJvci5oICov
LAorCQkJCUExQkI4NUE4MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmlkbCAq
LywKIAkJCQlBMUNCRUY2MzFGOUYxMTI5MDAyOERFN0MgLyogTW9ja1BheW1lbnRNZXRob2QuaCAq
LywKIAkJCQlBMTQwNjE4OTFFMkVDQTBBMDAzMkIzNEUgLyogTW9ja1ByZXZpZXdMb2FkZXJDbGll
bnQuY3BwICovLAogCQkJCUExNDA2MThBMUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xv
YWRlckNsaWVudC5oICovLApAQCAtMTcwNzQsNiArMTcxMDMsOCBAQAogCQkJCUExNDZEMzFGMUY5
OUNBM0QwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5oICovLAogCQkJCUExNDZEMzE5
MUY5OUJDQkIwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLAogCQkJ
CUExNDZEMzE4MUY5OUJDQkEwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50Q29vcmRpbmF0b3IuaCAq
LywKKwkJCQlBMUJCODVCNDIxNTlCMzg5MDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9yLmNw
cCAqLywKKwkJCQlBMUJCODVCNTIxNTlCMzhBMDA2N0UwN0QgLyogSlNNb2NrUGF5bWVudEVycm9y
LmggKi8sCiAJCQkJNDI3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlcklu
dGVybmFscy5jcHAgKi8sCiAJCQkJNDI3REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2Vydmlj
ZVdvcmtlckludGVybmFscy5oICovLAogCQkJCUVCRjUxMjFBMTY5NjQ5NkMwMDU2QkQyNSAvKiBK
U1R5cGVDb252ZXJzaW9ucy5jcHAgKi8sCkBAIC0yNzEwNiw2ICsyNzEzNyw3IEBACiAJCQkJNTM4
RUM5MzQxRjk5QjlGNzAwNEQyMkE4IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmggaW4gSGVhZGVycyAq
LywKIAkJCQlBMTQ2RDMyMzFGOTlEMEVGMDBEMjkxOTYgLyogSlNNb2NrUGF5bWVudEFkZHJlc3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCUExNDZEMzFCMUY5OUJDRkIwMEQyOTE5NiAvKiBKU01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaCBpbiBIZWFkZXJzICovLAorCQkJCUExQkI4NUI5MjE1OUIzQUUw
MDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTQyN0RB
NzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUVCRjUxMjFEMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJzaW9u
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RDMjZCNDExNjBBOENDRTAwMjY3NTdCIC8qIExlZ2Fj
eU1vY2tDRE0uaCBpbiBIZWFkZXJzICovLApAQCAtMjcyMDAsNiArMjcyMzIsOCBAQAogCQkJCTkz
MzA5REQ3MDk5RTY0OTIwMDU2RTU4MSAvKiBBcHBlbmROb2RlQ29tbWFuZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTFERjVBOTQxRjdFQzQzMjAwNThBNDc3IC8qIEFwcGxlUGF5Q29udGFjdEZpZWxk
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlFRTIwMzVGQzlCMDAxMjIzNkIgLyogQXBwbGVQ
YXlFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1OUMyMTU5QUVBMTAwNjdFMDdEIC8q
IEFwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODVBMzIxNTlBRjU3
MDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExREY1QTg2MUY3RUJERjIwMDU4QTQ3NyAvKiBBcHBsZVBheU1lcmNoYW50
Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFGNkNGRkYxRkUwOTYyMTAwMTgwNzhD
IC8qIEFwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1NDYsNiArMjg1ODAs
OCBAQAogCQkJCTcxMDI1RURFMUY5OUYxRUMwMDRBMjUwQyAvKiBKU0FuaW1hdGlvblRpbWVsaW5l
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE5OTFGN0VDOEMwMDA1OEE0NzcgLyogSlNBcHBs
ZVBheUNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTEyQzU5RjkyMDM2MEFDQjAw
MTIyMzZCIC8qIEpTQXBwbGVQYXlFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1QjIy
MTU5QjFBMTAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvZGUuaCBpbiBIZWFkZXJzICovLAor
CQkJCUExQkI4NUIzMjE1OUIxQTEwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250YWN0Rmll
bGQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0Fw
cGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUExREY1QThFMUY3RUMwMDIwMDU4
QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBMUY2RDAxMjFGRTA5OUI0MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI5NjExLDYgKzI5NjQ3LDcgQEAKIAkJCQk0MTNDQ0Q0QTIwREUwMzRGMDA2
NUEyMUEgLyogTW9ja01lZGlhRGV2aWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREYyQjAxMzE4
MjA1NDA2MDBGMkI0MjQgLyogTW9ja01lZGlhUGxheWVyTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNERjJCMDE1MTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrTWVkaWFTb3VyY2VQcml2
YXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODVBOTIxNTlCMDJDMDA2N0UwN0QgLyogTW9j
a1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdENkE0RjQxQkVENUY4ODAwMTc0
MTQ2IC8qIE1vY2tSZWFsdGltZUF1ZGlvU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk0QTBG
RkE5RTFBQUY1RTdFMDA2MjgwM0IgLyogTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3RUU3NkVDMUJFOTZEQjAwMEY4OTEzMyAvKiBNb2NrUmVhbHRp
bWVWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTUyOCw2ICszMTU2NSw3IEBACiAJ
CQkJMkQ0MTUwREUxQzFGODY4QzAwMEEzQkEyIC8qIEpTTW9ja1BhZ2VPdmVybGF5LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUExNDZEMzIyMUY5OUQwRUMwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50
QWRkcmVzcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMTQ2RDMxQTFGOTlCQ0Y4MDBEMjkxOTYg
LyogSlNNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExQkI4
NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNDI3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFQkY1MTIxQzE2OTY0OTZDMDA1NkJEMjUgLyog
SlNUeXBlQ29udmVyc2lvbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RDMjZCNDAxNjBBOEND
NjAwMjY3NTdCIC8qIExlZ2FjeU1vY2tDRE0uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcAppbmRleCA4Zjg2
OTJiMWRlNDI3MjhhYTBkYTNjZWJhMDEyNmY5M2YwNzFhMzQzLi45YjZlOTVlMjE1NDgzMGMwMDAz
ZDZlMjE4MDAzYWNlYWEyMmZlZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAKQEAgLTE1MSwxMCArMTUxLDEzIEBAIHZvaWQgTW9j
a1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6
Om9wdGlvbmFsPFNoaXBwCiAKIHZvaWQgTW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVT
aGlwcGluZ0NvbnRhY3RTZWxlY3Rpb24oc3RkOjpvcHRpb25hbDxTaGlwcGluZ0NvbnRhY3RVcGRh
dGU+JiYgc2hpcHBpbmdDb250YWN0VXBkYXRlKQogewotICAgIGlmIChzaGlwcGluZ0NvbnRhY3RV
cGRhdGUpCi0gICAgICAgIHVwZGF0ZVRvdGFsQW5kTGluZUl0ZW1zKHNoaXBwaW5nQ29udGFjdFVw
ZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRlbXMpOworICAgIGlmICghc2hpcHBpbmdDb250YWN0VXBk
YXRlKQorICAgICAgICByZXR1cm47CisKKyAgICB1cGRhdGVUb3RhbEFuZExpbmVJdGVtcyhzaGlw
cGluZ0NvbnRhY3RVcGRhdGUtPm5ld1RvdGFsQW5kTGluZUl0ZW1zKTsKKyAgICBtX2Vycm9ycyA9
IFdURk1vdmUoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5lcnJvcnMpOwogfQotICAgIAorCiB2b2lk
IE1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihz
dGQ6Om9wdGlvbmFsPFBheW1lbnRNZXRob2RVcGRhdGU+JiYgcGF5bWVudE1ldGhvZFVwZGF0ZSkK
IHsKICAgICBpZiAocGF5bWVudE1ldGhvZFVwZGF0ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmgKaW5kZXggMWY3ZDA2OGQxY2MwOWVmNGQ1YzNl
NWJmMTYwOWI0MDAyMTYzMTdjZi4uNWMzNjM1ZTczMDE1N2JhMmRiOWFlMDNjN2YyMGQ2N2RjYjQ1
ZjU0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5h
dG9yLmgKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5TGluZUl0ZW0uaCIK
ICNpbmNsdWRlICJNb2NrUGF5bWVudEFkZHJlc3MuaCIKKyNpbmNsdWRlICJNb2NrUGF5bWVudEVy
cm9yLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvb3JkaW5hdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CkBAIC01MCw2
ICs1MSw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IEFwcGxlUGF5TGluZUl0ZW0mIHRvdGFsKCkg
Y29uc3QgeyByZXR1cm4gbV90b3RhbDsgfQogICAgIGNvbnN0IFZlY3RvcjxBcHBsZVBheUxpbmVJ
dGVtPiYgbGluZUl0ZW1zKCkgY29uc3QgeyByZXR1cm4gbV9saW5lSXRlbXM7IH0KKyAgICBjb25z
dCBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4mIGVycm9ycygpIGNvbnN0IHsgcmV0dXJuIG1fZXJy
b3JzOyB9CiAKICAgICB2b2lkIHJlZigpIGNvbnN0IHsgfQogICAgIHZvaWQgZGVyZWYoKSBjb25z
dCB7IH0KQEAgLTc2LDYgKzc4LDcgQEAgcHJpdmF0ZToKICAgICBBcHBsZVBheVBheW1lbnRDb250
YWN0IG1fc2hpcHBpbmdBZGRyZXNzOwogICAgIEFwcGxlUGF5TGluZUl0ZW0gbV90b3RhbDsKICAg
ICBWZWN0b3I8QXBwbGVQYXlMaW5lSXRlbT4gbV9saW5lSXRlbXM7CisgICAgVmVjdG9yPE1vY2tQ
YXltZW50RXJyb3I+IG1fZXJyb3JzOwogICAgIEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNl
bnNpdGl2ZUhhc2g+IG1fYXZhaWxhYmxlUGF5bWVudE5ldHdvcmtzOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwKaW5kZXggMjMx
NGVlZGIyYWViY2I2MmM1MWFkMmIyZWMyYzU3YjlhYzQzMGFhNi4uZDdlNWQ1ODk1NDlmMWVkOGM4
NmVkNWY2MmM1NWM3N2JjOWZkYzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM1LDQgKzM1LDUgQEAKIAogICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBBcHBsZVBheUxpbmVJdGVtIHRvdGFsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBzZXF1ZW5jZTxBcHBsZVBheUxpbmVJdGVtPiBsaW5lSXRlbXM7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIHNlcXVlbmNlPE1vY2tQYXltZW50RXJyb3I+IGVycm9yczsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkZTM4ZWY1MDFjNjBj
YjE0MGQ5YTdlN2MxMTI2MDlkNTM3YmM1M2UKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaApAQCAtMCwwICsxLDM4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW5jbHVkZSAi
QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit1c2luZyBNb2NrUGF5bWVudEVycm9yID0gUGF5bWVudEVycm9yOworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODFkZDM3OWVhNTNmYjU1
MGZmMDRkNGMwODBkNzM5ZDJlYmViZDMyNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1BUFBMRV9QQVksCisgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QsCitdIGRpY3Rpb25hcnkgTW9ja1BheW1lbnRFcnJvciB7CisgICAgcmVxdWlyZWQgQXBw
bGVQYXlFcnJvckNvZGUgY29kZTsKKyAgICByZXF1aXJlZCBET01TdHJpbmcgbWVzc2FnZTsKKyAg
ICBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkIGNvbnRhY3RGaWVsZDsKK307CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzk3
OGIyNWVlYjNhOTQwNWU2NjhkYjQyZDQ2NGE2ZTk2Mjk5MWYzNC4uNjY3MDk4MzU3ZGQ5OGFhYmEy
MzlmNzk0ZDIzZmZlZjI4MTA0MWQ5NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE4LTA5LTI2
ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBT
dXBwb3J0IGdyYW51bGFyIGVycm9ycyBpbiBQYXltZW50RGV0YWlsc1VwZGF0ZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5OTM4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL3Jlc291
cmNlcy9wYXltZW50LXJlcXVlc3QuanM6CisgICAgICAgICh2YWxpZFBheW1lbnREZXRhaWxzKToK
KyAgICAgICAgKHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSk6CisgICAgICAg
ICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VF
dmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVz
dHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMu
aHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOC0wOS0yNSAgUnlh
biBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBj
b3JyZWN0IGEgdHlwbyBpbiBhIGJ1ZyBVUkwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMKaW5kZXggM2I0NmZhZmEzMTJhY2Q2MjQ3
YjNjODU3NTlkYzZjMjdhOGI2ZDA0ZC4uNGViYWMxZjZhY2RhYmI4NDZlMGVlODNkZGQ4YTllYzI3
YjI5MTM2YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvcGF5
bWVudC1yZXF1ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3Bh
eW1lbnQtcmVxdWVzdC5qcwpAQCAtMTgsMyArMTgsNjAgQEAgZnVuY3Rpb24gdXNlcl9hY3RpdmF0
aW9uX3Rlc3QoZnVuYywgbmFtZSkKICAgICAgICAgYXdhaXQgYWN0aXZhdGVUaGVuKCgpID0+IGZ1
bmModCkpOwogICAgIH0sIG5hbWUpOwogfQorCitmdW5jdGlvbiB2YWxpZFBheW1lbnRNZXRob2Qo
KQoreworICAgIHJldHVybiB7CisgICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2Fw
cGxlLmNvbS9hcHBsZS1wYXknLAorICAgICAgICBkYXRhOiB7CisgICAgICAgICAgICB2ZXJzaW9u
OiAyLAorICAgICAgICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKKyAgICAgICAgICAgIGNv
dW50cnlDb2RlOiAnVVMnLAorICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScs
ICdtYXN0ZXJDYXJkJ10sCisgICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBw
b3J0czNEUyddLAorICAgICAgICB9LAorICAgIH0KK30KKworZnVuY3Rpb24gdmFsaWRQYXltZW50
RGV0YWlscygpCit7CisgICAgcmV0dXJuIHsKKyAgICAgICAgdG90YWw6IHsKKyAgICAgICAgICAg
IGxhYmVsOiAnVG90YWwnLAorICAgICAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAg
Y3VycmVuY3k6ICdVU0QnLAorICAgICAgICAgICAgICAgIHZhbHVlOiAnMTAuMDAnLAorICAgICAg
ICAgICAgfSwKKyAgICAgICAgfSwKKyAgICAgICAgZGlzcGxheUl0ZW1zOiBbeworICAgICAgICAg
ICAgbGFiZWw6ICdJdGVtJywKKyAgICAgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAgICAg
IGN1cnJlbmN5OiAnVVNEJywKKyAgICAgICAgICAgICAgICB2YWx1ZTogJzEwLjAwJywKKyAgICAg
ICAgICAgIH0sCisgICAgICAgIH1dLAorICAgIH0KK30KKworZnVuY3Rpb24gdXBkYXRlRGV0YWls
c09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHBheW1lbnREZXRhaWxzSW5pdCwgcGF5bWVudE9wdGlv
bnMsIGRldGFpbHNVcGRhdGUpCit7CisgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCBy
ZWplY3QpID0+IHsKKyAgICAgICAgYWN0aXZhdGVUaGVuKCgpID0+IHsKKyAgICAgICAgICAgIHZh
ciByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KFt2YWxpZFBheW1lbnRNZXRob2QoKV0sIHBh
eW1lbnREZXRhaWxzSW5pdCwgcGF5bWVudE9wdGlvbnMpOworICAgICAgICAgICAgcmVxdWVzdC5v
bm1lcmNoYW50dmFsaWRhdGlvbiA9IChldmVudCkgPT4geworICAgICAgICAgICAgICAgIGV2ZW50
LmNvbXBsZXRlKHsgfSk7CisgICAgICAgICAgICB9OworICAgICAgICAgICAgcmVxdWVzdC5vbnNo
aXBwaW5nYWRkcmVzc2NoYW5nZSA9IChldmVudCkgPT4geworICAgICAgICAgICAgICAgIHZhciBk
ZXRhaWxzVXBkYXRlUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHsK
KyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShkZXRhaWxzVXBkYXRlKTsKKyAgICAgICAgICAg
ICAgICB9KTsKKyAgICAgICAgICAgICAgICBldmVudC51cGRhdGVXaXRoKGRldGFpbHNVcGRhdGVQ
cm9taXNlKTsKKyAgICAgICAgICAgICAgICBkZXRhaWxzVXBkYXRlUHJvbWlzZS50aGVuKCgpID0+
IHsKKyAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0LmFib3J0KCk7CisgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICB9OworICAg
ICAgICAgICAgcmVxdWVzdC5zaG93KCkuY2F0Y2goZXJyb3IgPT4gZXJyb3IpOworICAgICAgICB9
KTsKKyAgICB9KTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmU3ZjRmNzQ0ZjYyN2FkOWFlMWNhYTg2ZmJjYjBhZjUyMzZmNTU0ZAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNzUgQEAKK1Rlc3Qgc3BlY2lmeWluZyBlcnJvcnMgaW4gcmVzcG9uc2UgdG8gdGhlIHNoaXBw
aW5nYWRkcmVzc2NoYW5nZSBldmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBubyBlcnJvcnMuCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMgMAorCitUZXN0aW5n
IFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZXJyb3IgYW5kIHNoaXBwaW5nIG9wdGlvbnMu
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMg
MAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZW1wdHkgZXJyb3IuCitQ
QVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMgMQor
UEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSBpcyAn
c2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMgJycKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCBpcyB1bmRlZmluZWQKKworVGVzdGlu
ZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVycm9yLgorUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdElu
dmFsaWQnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5t
ZXNzYWdlIGlzICdzaW5nbGUgZXJyb3InCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1swXS5jb250YWN0RmllbGQgaXMgdW5kZWZpbmVkCisKK1Rlc3RpbmcgUGF5
bWVudERldGFpbHNVcGRhdGUgd2l0aCBhbiBlcnJvciBhbmQgdW5kZWZpbmVkIHNoaXBwaW5nIGFk
ZHJlc3MgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnMubGVuZ3RoIGlzIDEKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzWzBdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIGlzICdzaW5nbGUgZXJyb3In
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0
RmllbGQgaXMgdW5kZWZpbmVkCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBz
aGlwcGluZyBhZGRyZXNzIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzLmxlbmd0aCBpcyA4CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1swXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSBpcyAnZXJy
b3InCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250
YWN0RmllbGQgaXMgJ2FkZHJlc3NMaW5lcycKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzFdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNT
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5tZXNzYWdlIGlzICdl
cnJvcicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLmNv
bnRhY3RGaWVsZCBpcyAnbG9jYWxpdHknCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1syXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0ubWVzc2FnZSBpcyAnZXJy
b3InCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5jb250
YWN0RmllbGQgaXMgJ2NvdW50cnknCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9yc1szXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbM10ubWVzc2FnZSBpcyAnZXJyb3In
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1szXS5jb250YWN0
RmllbGQgaXMgJ3N1YkxvY2FsaXR5JworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbNF0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzRdLm1lc3NhZ2UgaXMgJ2Vycm9y
JworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNF0uY29udGFj
dEZpZWxkIGlzICdwaG9uZU51bWJlcicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzWzVdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1XS5tZXNzYWdlIGlzICdlcnJv
cicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzVdLmNvbnRh
Y3RGaWVsZCBpcyAncG9zdGFsQ29kZScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzWzZdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s2XS5tZXNzYWdlIGlzICdlcnJv
cicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzZdLmNvbnRh
Y3RGaWVsZCBpcyAnbmFtZScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzWzddLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s3XS5tZXNzYWdlIGlzICdlcnJvcicKK1BB
U1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzddLmNvbnRhY3RGaWVs
ZCBpcyAnYWRtaW5pc3RyYXRpdmVBcmVhJworCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRl
IHdpdGggdW5yZXF1ZXN0ZWQgcGF5ZXIgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDAKKworVGVzdGluZyBQYXltZW50RGV0YWls
c1VwZGF0ZSB3aXRoIHBheWVyIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAzCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSBpcyAn
ZXJyb3InCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5j
b250YWN0RmllbGQgaXMgJ25hbWUnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9yc1sxXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0ubWVzc2FnZSBpcyAnZXJyb3In
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5jb250YWN0
RmllbGQgaXMgJ2VtYWlsQWRkcmVzcycKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzWzJdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5tZXNzYWdlIGlzICdlcnJv
cicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLmNvbnRh
Y3RGaWVsZCBpcyAncGhvbmVOdW1iZXInCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzLmh0
dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDRk
ZGNiY2Y1YTI1YWZmYzM3N2JlNjNmNTYyODIxZTNhMTE2ZjNmZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRy
ZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbApAQCAtMCwwICsxLDE0OSBAQAorPCFET0NU
WVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHNjcmlw
dCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3Qgc3BlY2lmeWluZyBlcnJvcnMgaW4gcmVz
cG9uc2UgdG8gdGhlIHNoaXBwaW5nYWRkcmVzc2NoYW5nZSBldmVudC4iKTsKKword2luZG93Lmpz
VGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0cygpCit7CisgICAg
ZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBubyBlcnJvcnMuIik7Cisg
ICAgdmFyIGRldGFpbHMgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgYXdhaXQgdXBkYXRl
RGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKGRldGFpbHMsIHsgcmVxdWVzdFNoaXBwaW5n
OiB0cnVlIH0sIGRldGFpbHMpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjAiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBk
ZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVycm9yIGFuZCBzaGlw
cGluZyBvcHRpb25zLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQYXltZW50RGV0
YWlscygpOworICAgIGRldGFpbHNVcGRhdGUuZXJyb3IgPSAic2luZ2xlIGVycm9yIjsKKyAgICBk
ZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9ucyA9IFt7CisgICAgICAgIGlkOiAib3B0aW9uMSIs
CisgICAgICAgIGxhYmVsOiAib3B0aW9uIDEiLAorICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAg
ICAgIGN1cnJlbmN5OiAiVVNEIiwKKyAgICAgICAgICAgIHZhbHVlOiAiMS4wMCIsCisgICAgICAg
IH0sCisgICAgfV07CisgICAgYXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hh
bmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSwgZGV0
YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9ycy5sZW5ndGgiLCAiMCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJU
ZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZW1wdHkgZXJyb3IuIik7CisgICAg
dmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1Vw
ZGF0ZS5lcnJvciA9ICIiOworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRkcmVz
c0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0s
IGRldGFpbHNVcGRhdGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdElu
dmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9yc1swXS5tZXNzYWdlIiwgIicnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0RmllbGQiLCAidW5kZWZpbmVkIik7
CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRh
dGUgd2l0aCBhbiBlcnJvci4iKTsKKyAgICB2YXIgZGV0YWlsc1VwZGF0ZSA9IHZhbGlkUGF5bWVu
dERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLmVycm9yID0gInNpbmdsZSBlcnJvciI7Cisg
ICAgYXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVu
dERldGFpbHMoKSwgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSwgZGV0YWlsc1VwZGF0ZSk7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5n
dGgiLCAiMSIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnNbMF0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2Ui
LCAiJ3NpbmdsZSBlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCIsICJ1bmRlZmluZWQiKTsKKyAgICBk
ZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRo
IGFuIGVycm9yIGFuZCB1bmRlZmluZWQgc2hpcHBpbmcgYWRkcmVzcyBlcnJvcnMuIik7CisgICAg
dmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1Vw
ZGF0ZS5lcnJvciA9ICJzaW5nbGUgZXJyb3IiOworICAgIGRldGFpbHNVcGRhdGUuc2hpcHBpbmdB
ZGRyZXNzRXJyb3JzID0geworICAgIH07CisgICAgYXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBp
bmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyByZXF1ZXN0U2hpcHBpbmc6
IHRydWUgfSwgZGV0YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiMSIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSIsICInc2hpcHBpbmdD
b250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UiLCAiJ3NpbmdsZSBlcnJvciciKTsKKyAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RG
aWVsZCIsICJ1bmRlZmluZWQiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGlu
ZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIHNoaXBwaW5nIGFkZHJlc3MgZXJyb3JzLiIpOwor
ICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFp
bHNVcGRhdGUuc2hpcHBpbmdBZGRyZXNzRXJyb3JzID0geworICAgICAgICBhZGRyZXNzTGluZTog
ImVycm9yIiwKKyAgICAgICAgY2l0eTogImVycm9yIiwKKyAgICAgICAgY291bnRyeTogImVycm9y
IiwKKyAgICAgICAgZGVwZW5kZW50TG9jYWxpdHk6ICJlcnJvciIsCisgICAgICAgIHBob25lOiAi
ZXJyb3IiLAorICAgICAgICBwb3N0YWxDb2RlOiAiZXJyb3IiLAorICAgICAgICByZWNpcGllbnQ6
ICJlcnJvciIsCisgICAgICAgIHJlZ2lvbjogImVycm9yIiwKKyAgICB9OworICAgIGF3YWl0IHVw
ZGF0ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCks
IHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0sIGRldGFpbHNVcGRhdGUpOworICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjgiKTsK
KyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBd
LmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIiwgIidlcnJvcici
KTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
WzBdLmNvbnRhY3RGaWVsZCIsICInYWRkcmVzc0xpbmVzJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29kZSIsICInc2hpcHBpbmdD
b250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzFdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29udGFjdEZpZWxkIiwg
Iidsb2NhbGl0eSciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzWzJdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAg
c2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5tZXNz
YWdlIiwgIidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzJdLmNvbnRhY3RGaWVsZCIsICInY291bnRyeSciKTsKKyAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzNdLmNvZGUiLCAi
J3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1szXS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzNdLmNvbnRh
Y3RGaWVsZCIsICInc3ViTG9jYWxpdHknIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s0XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZh
bGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbNF0ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s0XS5jb250YWN0RmllbGQiLCAiJ3Bob25lTnVt
YmVyJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbNV0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzVdLm1lc3NhZ2UiLCAi
J2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnNbNV0uY29udGFjdEZpZWxkIiwgIidwb3N0YWxDb2RlJyIpOworICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNl0uY29kZSIsICInc2hp
cHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzZdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNl0uY29udGFjdEZp
ZWxkIiwgIiduYW1lJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5lcnJvcnNbN10uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzddLm1l
c3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnNbN10uY29udGFjdEZpZWxkIiwgIidhZG1pbmlzdHJhdGl2ZUFyZWEn
Iik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNV
cGRhdGUgd2l0aCB1bnJlcXVlc3RlZCBwYXllciBlcnJvcnMuIik7CisgICAgdmFyIGRldGFpbHNV
cGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1VwZGF0ZS5wYXllckVy
cm9ycyA9IHsKKyAgICAgICAgbmFtZTogImVycm9yIiwKKyAgICAgICAgZW1haWw6ICJlcnJvciIs
CisgICAgICAgIHBob25lOiAiZXJyb3IiLAorICAgIH07CisgICAgYXdhaXQgdXBkYXRlRGV0YWls
c09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyB9LCBkZXRh
aWxzVXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IuZXJyb3JzLmxlbmd0aCIsICIwIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRl
c3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBwYXllciBlcnJvcnMuIik7CisgICAgdmFy
IGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1VwZGF0
ZS5wYXllckVycm9ycyA9IHsKKyAgICAgICAgbmFtZTogImVycm9yIiwKKyAgICAgICAgZW1haWw6
ICJlcnJvciIsCisgICAgICAgIHBob25lOiAiZXJyb3IiLAorICAgIH07CisgICAgYXdhaXQgdXBk
YXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwg
eyByZXF1ZXN0UGF5ZXJOYW1lOiB0cnVlLCByZXF1ZXN0UGF5ZXJQaG9uZTogdHJ1ZSwgcmVxdWVz
dFBheWVyRW1haWw6IHRydWUgfSwgZGV0YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiMyIpOworICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSIs
ICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29u
dGFjdEZpZWxkIiwgIiduYW1lJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCci
KTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
WzFdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29udGFjdEZpZWxkIiwgIidlbWFpbEFkZHJlc3Mn
Iik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1syXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0ubWVzc2FnZSIsICInZXJy
b3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVy
cm9yc1syXS5jb250YWN0RmllbGQiLCAiJ3Bob25lTnVtYmVyJyIpOworICAgIGRlYnVnKCIiKTsK
KworICAgIGZpbmlzaEpTVGVzdCgpOworfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjFhNTk0YThiZTEzZjE3NmYzOTg1YTc1ODkwNzEwNjlkZWRhNjI5YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSwyNCBAQAorVGVzdCBzcGVjaWZ5aW5nIEFwcGxlIFBheSBlcnJvcnMgaW4gcmVzcG9uc2UgdG8g
dGhlIHNoaXBwaW5nYWRkcmVzc2NoYW5nZSBldmVudC4KKworT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgorCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBudWxsIHBheW1lbnQg
bWV0aG9kIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzLmxlbmd0aCBpcyAwCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBpbnZh
bGlkIHBheW1lbnQgbWV0aG9kIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAwCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRh
dGUgd2l0aCBBcHBsZSBQYXkgcGF5bWVudCBtZXRob2QgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDIKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUgaXMgJ2FkZHJlc3NVbnNlcnZp
Y2VhYmxlJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0u
bWVzc2FnZSBpcyAnJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbMF0uY29udGFjdEZpZWxkIGlzIHVuZGVmaW5lZAorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcK
K1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLm1lc3NhZ2Ug
aXMgJ0FwcGxlIFBheSBlcnJvcicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IuZXJyb3JzWzFdLmNvbnRhY3RGaWVsZCBpcyAncGhvbmV0aWNOYW1lJworCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3ND
aGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Nz
bC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0
cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi44YmYxNjgxNTY4ZDQxNzI5MDgyOWVhY2VlMjc0MTgzZmVlODkw
NWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLmh0bWwK
QEAgLTAsMCArMSw1OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEg
Y2hhcnNldD0idXRmLTgiPgorPHNjcmlwdCBzcmM9Ii9qcy10ZXN0LXJlc291cmNlcy91aS1oZWxw
ZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvcGF5bWVudC1yZXF1ZXN0LmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oIlRlc3Qg
c3BlY2lmeWluZyBBcHBsZSBQYXkgZXJyb3JzIGluIHJlc3BvbnNlIHRvIHRoZSBzaGlwcGluZ2Fk
ZHJlc3NjaGFuZ2UgZXZlbnQuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKKwor
YXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKQoreworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRE
ZXRhaWxzVXBkYXRlIHdpdGggbnVsbCBwYXltZW50IG1ldGhvZCBlcnJvcnMuIik7CisgICAgdmFy
IGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1VwZGF0
ZS5wYXltZW50TWV0aG9kRXJyb3JzID0gbnVsbDsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25T
aGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IH0sIGRldGFpbHNV
cGRhdGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnMubGVuZ3RoIiwgIjAiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGlu
ZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGludmFsaWQgcGF5bWVudCBtZXRob2QgZXJyb3Jz
LiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAg
IGRldGFpbHNVcGRhdGUucGF5bWVudE1ldGhvZEVycm9ycyA9IFsKKyAgICAgICAgeyB9LAorICAg
ICAgICBudWxsLAorICAgICAgICBuZXcgUHJvbWlzZSgoKSA9PiB7IH0pLAorICAgIF07CisgICAg
YXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERl
dGFpbHMoKSwgeyB9LCBkZXRhaWxzVXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIsICIwIik7CisgICAgZGVidWcoIiIp
OworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBBcHBsZSBQ
YXkgcGF5bWVudCBtZXRob2QgZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFs
aWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUucGF5bWVudE1ldGhvZEVycm9y
cyA9IFsKKyAgICAgICAgbmV3IEFwcGxlUGF5RXJyb3IoImFkZHJlc3NVbnNlcnZpY2VhYmxlIiks
CisgICAgICAgIG5ldyBBcHBsZVBheUVycm9yKCJzaGlwcGluZ0NvbnRhY3RJbnZhbGlkIiwgInBo
b25ldGljTmFtZSIsICJBcHBsZSBQYXkgZXJyb3IiKSwKKyAgICBdOworICAgIGF3YWl0IHVwZGF0
ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsg
fSwgZGV0YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiMiIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSIsICInYWRkcmVzc1Vuc2Vydmlj
ZWFibGUnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9yc1swXS5tZXNzYWdlIiwgIicnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0RmllbGQiLCAidW5kZWZpbmVkIik7
CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sx
XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0ubWVzc2FnZSIsICInQXBwbGUg
UGF5IGVycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbMV0uY29udGFjdEZpZWxkIiwgIidwaG9uZXRpY05hbWUnIik7CisgICAgZGVi
dWcoIiIpOworCisgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK3J1blRlc3RzKCk7Cis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKaW5kZXggOWIxNzM4MzcxOGFhNDg3ZGMzZDgzOWNhZDAwMGU1NTlkZDJjYTczMy4u
YTRmYTY2ZDEwZDU5MDUyZjMyOTcwOTY4Y2FmZGRiNzBhY2JmMmNkOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjYsNiArMjYsNyBAQCBm
YXN0L21lZGlhL21xLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbGl2ZS11cGRhdGUuaHRtbCBbIFBh
c3MgXQogWyBTaWVycmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25W
My5odG1sIFsgU2tpcCBdCiBbIFNpZXJyYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvblY0Lmh0bWwgWyBTa2lwIF0KIFsgU2llcnJhIF0gaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMuaHRtbCBbIFNraXAg
XQorWyBTaWVycmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRk
cmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMuaHRtbCBbIFNraXAgXQogWyBIaWdoU2llcnJh
IF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlCdXR0b25WNC5odG1sIFsgU2tpcCBd
CiBbIEhpZ2hTaWVycmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25W
NC5odG1sIFsgU2tpcCBdCiAKQEAgLTc1Nyw2ICs3NTgsNyBAQCB3ZWJraXQub3JnL2IvMTg1OTk0
IFsgRGVidWcgXSBmYXN0L3RleHQvdXNlci1pbnN0YWxsZWQtZm9udHMvc2hhZG93LXBvc3RzY3Jp
cHQtZgogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vz
c2lvblYzLmh0bWwgWyBQYXNzIF0KIFsgTW9qYXZlKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRwcy5o
dG1sIFsgUGFzcyBdCitbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLmh0bWwgWyBQYXNz
IF0KICMgPHJkYXI6Ly9wcm9ibGVtLzMxNjM0NDUxPgogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVz
dHMvcmVzb3VyY2VMb2FkU3RhdGlzdGljcy9jb29raWVzLXdpdGgtYW5kLXdpdGhvdXQtdXNlci1p
bnRlcmFjdGlvbi5odG1sIFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNv
dXJjZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZS1kZWxldGlvbi5odG1sIFsgUGFzcyBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350903</attachid>
            <date>2018-09-26 14:39:41 -0700</date>
            <delta_ts>2018-09-27 09:26:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189938-20180926143938.patch</filename>
            <type>text/plain</type>
            <size>70377</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIwM2E3MTgzZmY2MTkw
ZTc1YWIzN2VjYzRhMmQ5YjU1ZmYxZTg0ZS4uOTcxOTA1ZTVlYjEzNWFkNzA3YjIxZDU3MDhjMGQ2
NjI5YzYyNGVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE4LTA5LTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdXBwb3J0
IGdyYW51bGFyIGVycm9ycyBpbiBQYXltZW50RGV0YWlsc1VwZGF0ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5OTM4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50ZWQgdGhlIHNoaXBwaW5n
QWRkcmVzc0Vycm9ycywgcGF5ZXJFcnJvcnMsIGFuZCBwYXltZW50TWV0aG9kRXJyb3JzIHByb3Bl
cnRpZXMgb24KKyAgICAgICAgUGF5bWVudERldGFpbHNVcGRhdGUsIGFzIHNwZWNpZmllZCBpbiB0
aGUgUGF5bWVudCBSZXF1ZXN0IEFQSSBXM0MgRWRpdG9yJ3MgRHJhZnQgb2YKKyAgICAgICAgMjYg
U2VwdGVtYmVyIDIwMTguCisKKyAgICAgICAgV2hlbiB0aGVzZSBlcnJvcnMgYXJlIHNwZWNpZmll
ZCBpbiBhIFBheW1lbnREZXRhaWxzVXBkYXRlLCBtYXAgdGhlbSB0byBQYXltZW50RXJyb3JzLiBG
b3IKKyAgICAgICAgc2hpcHBpbmdBZGRyZXNzRXJyb3JzIGFuZCBwYXllckVycm9ycywgd2UgdXNl
IHRoZSAic2hpcHBpbmdDb250YWN0SW52YWxpZCIgY29kZSBhbmQgYQorICAgICAgICBjb250YWN0
IGZpZWxkIHRoYXQgbWF0Y2hlcyB0aGUgc2hpcHBpbmdBZGRyZXNzRXJyb3Igb3IgcGF5ZXJFcnJv
ciBwcm9wZXJ0eSBzcGVjaWZpZWQuCisKKyAgICAgICAgRm9yIHBheW1lbnRNZXRob2RFcnJvcnMs
IHdlIGludGVycHJldCB0aGlzIGFzIGEgc2VxdWVuY2Ugb2YgQXBwbGVQYXlFcnJvcnMsIHdoaWNo
IGFyZQorICAgICAgICBjb252ZXJ0ZWQgdG8gUGF5bWVudEVycm9ycyBhcyBpbiBBcHBsZSBQYXkg
SlMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbAorICAgICAgICAgICAgICAg
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVu
dEVycm9yc1YzLmh0dHBzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IFJl
bW92ZWQgc29tZSB0YWJzIGFuZCBhZGRlZCBuZXcgLmlkbCBmaWxlcy4KKyAgICAgICAgKiBNb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsOiBNb3ZlZCBBcHBsZVBheUVycm9yQ29kZSBh
bmQgQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZAorICAgICAgICBpbnRvIHRoZWlyIG93biAuaWRs
IGZpbGVzIHNvIHRoZXkgY2FuIGJlIHVzZWQgaW4gTW9ja1BheW1lbnRFcnJvci4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmg6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaDogQWRkZWQuCisg
ICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbDog
QWRkZWQuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6YXBwZW5kU2hpcHBpbmdD
b250YWN0SW52YWxpZEVycm9yKTogQXBwZW5kZWQgYSAic2hpcHBpbmdDb250YWN0SW52YWxpZCIK
KyAgICAgICAgUGF5bWVudEVycm9yIHRvIGVycm9ycyBpZiB0aGUgbWVzc2FnZSBpcyBub24tbnVs
bC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVFcnJv
cnMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0
YWlsc1VwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6
c2hpcHBpbmdBZGRyZXNzVXBkYXRlZCk6IENvbXB1dGVkIGEgdmVjdG9yIG9mIFBheW1lbnRFcnJv
cnMKKyAgICAgICAgYmFzZWQgb24gc2hpcHBpbmdBZGRyZXNzRXJyb3JzLCBwYXllckVycm9ycywg
YW5kIHBheW1lbnRNZXRob2RFcnJvcnMuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3Bh
eW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKworICAgICAgICAqIE1vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaDoKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmlkbDogRGVmaW5lZCBzaGlw
cGluZ0FkZHJlc3NFcnJvcnMsCisgICAgICAgIHBheWVyRXJyb3JzLCBhbmQgcGF5bWVudE1ldGhv
ZEVycm9ycy4KKworICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhhbmRs
ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpwYXltZW50TWV0aG9kQ2hhbmdl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50UmVxdWVzdDo6c2V0dGxlRGV0YWlsc1Byb21p
c2UpOiBQYXNzZWQgc2hpcHBpbmdBZGRyZXNzRXJyb3JzLCBwYXllckVycm9ycywKKyAgICAgICAg
YW5kIHBheW1lbnRNZXRob2RFcnJvcnMgdG8gdGhlIHBheW1lbnQgaGFuZGxlci4KKworICAgICAg
ICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorCisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tQYXltZW50Q29vcmRpbmF0b3I6OmNvbXBsZXRlU2hp
cHBpbmdDb250YWN0U2VsZWN0aW9uKTogU3RvcmVkIGVycm9ycyBpbiBtX2Vycm9ycy4KKyAgICAg
ICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsOiBBZGRlZCBhbiBlcnJvcnMgYXR0cmlidXRlLgor
CisgICAgICAgICogdGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmg6IEFkZGVkLgorICAgICAgICAq
IHRlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5pZGw6IEFkZGVkLgorCiAyMDE4LTA5LTI1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIGNv
ZGUgYXJvdW5kIFJlbmRlckxheWVyJ3MgImhhcyBhY2NlbGVyYXRlZCBzY3JvbGxpbmciIGZ1bmN0
aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMzgyMTQwZjJjZGEyMmIwNWYy
OTE4NzFiNjZlYzU3ZTg4OTFhOTI4Mi4uN2JjODQzZTA3NDc0MGIwYTI2NmNiZDg5MDA4Y2E1NzIz
ZDA1Y2YyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xLDQgKzEsNCBAQAot
IyBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisjIENvcHlyaWdodCAoQykgMjAwNi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICMgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwu
Y29tPgogIyBDb3B5cmlnaHQgKEMpIDIwMDkgQ2FtZXJvbiBNY0Nvcm1hY2sgPGNhbUBtY2MuaWQu
YXU+CiAjCkBAIC05MCwyNiArOTAsMjggQEAgVlBBVEggPSBcCiBKU19CSU5ESU5HX0lETFMgPSBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFp
bGFiaWxpdHlFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUNvbnRhY3RGaWVsZC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUVycm9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ckNvZGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ckNvbnRhY3RGaWVsZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheUxpbmVJdGVtLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5TWVyY2hhbnRDYXBhYmlsaXR5LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5UGF5bWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdC5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9u
UmVzdWx0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudENvbnRhY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlQYXltZW50TWV0aG9kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVHlwZS5pZGwgXAotCSQoV2ViQ29y
ZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50TWV0aG9kVXBkYXRl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudFBh
c3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50
UmVxdWVzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVJl
cXVlc3RCYXNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2Vzc2lvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaWRsIFwKLQkkKFdlYkNvcmUpL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RVcGRhdGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9k
U2VsZWN0ZWRFdmVudC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmll
ci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVJlcXVlc3QuaWRsIFwKQEAgLTk4MSw2ICs5ODMsNyBAQCBKU19CSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL01vY2tQYWdlT3ZlcmxheS5pZGwgXAogICAgICQo
V2ViQ29yZSkvdGVzdGluZy9Nb2NrUGF5bWVudEFkZHJlc3MuaWRsIFwKICAgICAkKFdlYkNvcmUp
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvdGVz
dGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvVHlwZUNvbnZl
cnNpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmlk
bAppbmRleCBmMjg4MTUwOWRhZTllNWY1NjZhYTI1ZTc4YzA2YzFmY2U0ZjU4MzM4Li41NDE1NWQ5
OTk3M2MxNjYzZDAxZWZhOWI0NTI3OGRiNDNjZjA2ZDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsMzMgKzIzLDYgQEAKICAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1bCi0gICAgQ29uZGl0aW9u
YWw9QVBQTEVfUEFZX1NFU1NJT05fVjMsCi1dIGVudW0gQXBwbGVQYXlFcnJvckNvZGUgewotICAg
ICJ1bmtub3duIiwKLSAgICAic2hpcHBpbmdDb250YWN0SW52YWxpZCIsCi0gICAgImJpbGxpbmdD
b250YWN0SW52YWxpZCIsCi0gICAgImFkZHJlc3NVbnNlcnZpY2VhYmxlIgotfTsKLQotWwotICAg
IENvbmRpdGlvbmFsPUFQUExFX1BBWV9TRVNTSU9OX1YzLAotXSBlbnVtIEFwcGxlUGF5RXJyb3JD
b250YWN0RmllbGQgewotICAgICJwaG9uZU51bWJlciIsCi0gICAgImVtYWlsQWRkcmVzcyIsCi0g
ICAgIm5hbWUiLAotICAgICJwaG9uZXRpY05hbWUiLAotICAgICJwb3N0YWxBZGRyZXNzIiwKLSAg
ICAiYWRkcmVzc0xpbmVzIiwKLSAgICAic3ViTG9jYWxpdHkiLAotICAgICJsb2NhbGl0eSIsCi0g
ICAgInBvc3RhbENvZGUiLAotICAgICJzdWJBZG1pbmlzdHJhdGl2ZUFyZWEiLAotICAgICJhZG1p
bmlzdHJhdGl2ZUFyZWEiLAotICAgICJjb3VudHJ5IiwKLSAgICAiY291bnRyeUNvZGUiCi19Owot
CiBbCiAgICAgQ29uc3RydWN0b3IoQXBwbGVQYXlFcnJvckNvZGUgZXJyb3JDb2RlLCBvcHRpb25h
bCBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkIGNvbnRhY3RGaWVsZCwgb3B0aW9uYWwgRE9NU3Ry
aW5nIG1lc3NhZ2UgPSAiIiksCiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NFU1NJT05fVjMs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3JDb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JD
b2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTUxNzIyZTg5ZDZiYmNjNWY5YTlkODBkNjFhMjc4ZTBhMWEzM2Yy
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlFcnJvckNvZGUuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIEFw
cGxlUGF5RXJyb3JDb2RlID0gUGF5bWVudEVycm9yOjpDb2RlOworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQVBQTEVfUEFZKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb2RlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kNjJmYmEyZGY3OGVjOTZiNzY1YjNiNmRhZjQ0MjU0ZDUzNzg5NTVlCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5p
ZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKK10gZW51bSBBcHBs
ZVBheUVycm9yQ29kZSB7CisgICAgInVua25vd24iLAorICAgICJzaGlwcGluZ0NvbnRhY3RJbnZh
bGlkIiwKKyAgICAiYmlsbGluZ0NvbnRhY3RJbnZhbGlkIiwKKyAgICAiYWRkcmVzc1Vuc2Vydmlj
ZWFibGUiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZTYyMjI0ODFkZDlm
YjBmMWM2ZjY4N2NhYjU3Nzg5NzE2MTEyNTUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmgKQEAgLTAs
MCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
QVBQTEVfUEFZKQorCisjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxk
ID0gUGF5bWVudEVycm9yOjpDb250YWN0RmllbGQ7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zMmE4OWRkZmE0YjVlZjcxZDZmMTZkM2YxNDhiZjllM2JhOGE3ODk0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVy
cm9yQ29udGFjdEZpZWxkLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQ
T1JULAorXSBlbnVtIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQgeworICAgICJwaG9uZU51bWJl
ciIsCisgICAgImVtYWlsQWRkcmVzcyIsCisgICAgIm5hbWUiLAorICAgICJwaG9uZXRpY05hbWUi
LAorICAgICJwb3N0YWxBZGRyZXNzIiwKKyAgICAiYWRkcmVzc0xpbmVzIiwKKyAgICAic3ViTG9j
YWxpdHkiLAorICAgICJsb2NhbGl0eSIsCisgICAgInBvc3RhbENvZGUiLAorICAgICJzdWJBZG1p
bmlzdHJhdGl2ZUFyZWEiLAorICAgICJhZG1pbmlzdHJhdGl2ZUFyZWEiLAorICAgICJjb3VudHJ5
IiwKKyAgICAiY291bnRyeUNvZGUiCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQ
YXltZW50SGFuZGxlci5jcHAKaW5kZXggYmQ2ZmZlMTY0YjVkYjY2NDczYjIwYzliNjZjMjY2ZWI0
MzFiNjY1OS4uZGNiODNlMzQ4Y2NjZTI4M2RkOTViMjE3M2Q4N2NhZDRmYzU0ZjI1OCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCkBAIC0yOCw2ICsy
OCw3IEBACiAKICNpZiBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNU
KQogCisjaW5jbHVkZSAiQWRkcmVzc0Vycm9ycy5oIgogI2luY2x1ZGUgIkFwcGxlUGF5Q29udGFj
dEZpZWxkLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKICNpbmNs
dWRlICJBcHBsZVBheU1vZGlmaWVyLmgiCkBAIC0zNiwxMiArMzcsMTQgQEAKICNpbmNsdWRlICJE
b2N1bWVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIkpTQXBwbGVQYXlFcnJvci5oIgogI2luY2x1ZGUgIkpTQXBwbGVQYXlQYXltZW50
LmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheVBheW1lbnRNZXRob2QuaCIKICNpbmNsdWRlICJKU0Fw
cGxlUGF5UmVxdWVzdC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVk
ZSAiTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUGF5ZXJFcnJvckZpZWxkcy5oIgogI2luY2x1ZGUgIlBheW1lbnQuaCIKICNpbmNsdWRlICJQ
YXltZW50QXV0aG9yaXphdGlvblN0YXR1cy5oIgogI2luY2x1ZGUgIlBheW1lbnRDb250YWN0Lmgi
CkBAIC0zMDksMTQgKzMxMiw2NyBAQCBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25QYXltZW50
UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IEFwcGxlUGF5UGF5bWVudEhhbgogICAgIHJldHVy
biBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXMgeyBXVEZN
b3ZlKHRvdGFsKSwgV1RGTW92ZShsaW5lSXRlbXMpIH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+
IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpV
cGRhdGVSZWFzb24gcmVhc29uLCBjb25zdCBTdHJpbmcmIGVycm9yKQorc3RhdGljIGlubGluZSB2
b2lkIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJvcihTdHJpbmcmJiBtZXNzYWdlLCBz
dGQ6Om9wdGlvbmFsPFBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkPiYmIGNvbnRhY3RGaWVsZCwg
VmVjdG9yPFBheW1lbnRFcnJvcj4mIGVycm9ycykKK3sKKyAgICBpZiAoIW1lc3NhZ2UuaXNOdWxs
KCkpCisgICAgICAgIGVycm9ycy5hcHBlbmQoeyBQYXltZW50RXJyb3I6OkNvZGU6OlNoaXBwaW5n
Q29udGFjdEludmFsaWQsIFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoY29udGFjdEZpZWxkKSB9
KTsKK30KKworVmVjdG9yPFBheW1lbnRFcnJvcj4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y29t
cHV0ZUVycm9ycyhTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmIGFkZHJlc3NFcnJvcnMs
IFBheWVyRXJyb3JGaWVsZHMmJiBwYXllckVycm9ycywgSlNDOjpTdHJvbmc8SlNDOjpKU09iamVj
dD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKSBjb25zdAoreworICAgIFZlY3RvcjxQYXltZW50RXJy
b3I+IGVycm9yczsKKworICAgIGF1dG8mIG9wdGlvbnMgPSBtX3BheW1lbnRSZXF1ZXN0LT5wYXlt
ZW50T3B0aW9ucygpOworICAgIHVzaW5nIENvbnRhY3RGaWVsZCA9IFBheW1lbnRFcnJvcjo6Q29u
dGFjdEZpZWxkOworCisgICAgaWYgKG9wdGlvbnMucmVxdWVzdFNoaXBwaW5nICYmIG1fcGF5bWVu
dFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuc2hpcHBpbmdPcHRpb25zLmlzRW1wdHkoKSkgewor
ICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShlcnJvciks
IHN0ZDo6bnVsbG9wdCwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52
YWxpZEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5hZGRyZXNzTGluZSksIENvbnRhY3RGaWVs
ZDo6QWRkcmVzc0xpbmVzLCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJ
bnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNpdHkpLCBDb250YWN0RmllbGQ6Okxv
Y2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJy
b3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNvdW50cnkpLCBDb250YWN0RmllbGQ6OkNvdW50cnks
IGVycm9ycyk7CisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJvcihXVEZN
b3ZlKGFkZHJlc3NFcnJvcnMuZGVwZW5kZW50TG9jYWxpdHkpLCBDb250YWN0RmllbGQ6OlN1Ykxv
Y2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJy
b3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLnBob25lKSwgQ29udGFjdEZpZWxkOjpQaG9uZU51bWJl
ciwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdU
Rk1vdmUoYWRkcmVzc0Vycm9ycy5wb3N0YWxDb2RlKSwgQ29udGFjdEZpZWxkOjpQb3N0YWxDb2Rl
LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RG
TW92ZShhZGRyZXNzRXJyb3JzLnJlY2lwaWVudCksIENvbnRhY3RGaWVsZDo6TmFtZSwgZXJyb3Jz
KTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUoYWRk
cmVzc0Vycm9ycy5yZWdpb24pLCBDb250YWN0RmllbGQ6OkFkbWluaXN0cmF0aXZlQXJlYSwgZXJy
b3JzKTsKKyAgICB9CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0UGF5ZXJOYW1lKQorICAgICAg
ICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShwYXllckVycm9ycy5u
YW1lKSwgQ29udGFjdEZpZWxkOjpOYW1lLCBlcnJvcnMpOworCisgICAgaWYgKG9wdGlvbnMucmVx
dWVzdFBheWVyRW1haWwpCisgICAgICAgIGFwcGVuZFNoaXBwaW5nQ29udGFjdEludmFsaWRFcnJv
cihXVEZNb3ZlKHBheWVyRXJyb3JzLmVtYWlsKSwgQ29udGFjdEZpZWxkOjpFbWFpbEFkZHJlc3Ms
IGVycm9ycyk7CisKKyAgICBpZiAob3B0aW9ucy5yZXF1ZXN0UGF5ZXJQaG9uZSkKKyAgICAgICAg
YXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUocGF5ZXJFcnJvcnMucGhv
bmUpLCBDb250YWN0RmllbGQ6OlBob25lTnVtYmVyLCBlcnJvcnMpOworCisjaWYgRU5BQkxFKEFQ
UExFX1BBWV9TRVNTSU9OX1YzKQorICAgIGlmIChwYXltZW50TWV0aG9kRXJyb3JzKSB7CisgICAg
ICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgICAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKGNvbnRleHQudm0oKSk7CisgICAg
ICAgIGF1dG8gYXBwbGVQYXlFcnJvcnMgPSBjb252ZXJ0PElETFNlcXVlbmNlPElETEludGVyZmFj
ZTxBcHBsZVBheUVycm9yPj4+KCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBwYXltZW50TWV0aG9kRXJy
b3JzLmdldCgpKTsKKyAgICAgICAgaWYgKCF0aHJvd1Njb3BlLmV4Y2VwdGlvbigpKSB7CisgICAg
ICAgICAgICBmb3IgKGF1dG8mIGFwcGxlUGF5RXJyb3IgOiBhcHBsZVBheUVycm9ycykgeworICAg
ICAgICAgICAgICAgIGlmIChhcHBsZVBheUVycm9yKQorICAgICAgICAgICAgICAgICAgICBlcnJv
cnMuYXBwZW5kKHsgYXBwbGVQYXlFcnJvci0+Y29kZSgpLCBhcHBsZVBheUVycm9yLT5tZXNzYWdl
KCksIGFwcGxlUGF5RXJyb3ItPmNvbnRhY3RGaWVsZCgpIH0pOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocGF5bWVudE1ldGhvZEVycm9y
cyk7CisjZW5kaWYKKworICAgIHJldHVybiBlcnJvcnM7Cit9CisKK0V4Y2VwdGlvbk9yPHZvaWQ+
IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpV
cGRhdGVSZWFzb24gcmVhc29uLCBTdHJpbmcmJiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmIGFkZHJl
c3NFcnJvcnMsIFBheWVyRXJyb3JGaWVsZHMmJiBwYXllckVycm9ycywgSlNDOjpTdHJvbmc8SlND
OjpKU09iamVjdD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKQogewogICAgIHVzaW5nIFJlYXNvbiA9
IFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb247CiAgICAgc3dpdGNoIChyZWFzb24pIHsKICAg
ICBjYXNlIFJlYXNvbjo6U2hvd0RldGFpbHNSZXNvbHZlZDoKICAgICAgICAgcmV0dXJuIHsgfTsK
ICAgICBjYXNlIFJlYXNvbjo6U2hpcHBpbmdBZGRyZXNzQ2hhbmdlZDoKLSAgICAgICAgcmV0dXJu
IHNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoZXJyb3IpOworICAgICAgICByZXR1cm4gc2hpcHBpbmdB
ZGRyZXNzVXBkYXRlZChjb21wdXRlRXJyb3JzKFdURk1vdmUoZXJyb3IpLCBXVEZNb3ZlKGFkZHJl
c3NFcnJvcnMpLCBXVEZNb3ZlKHBheWVyRXJyb3JzKSwgV1RGTW92ZShwYXltZW50TWV0aG9kRXJy
b3JzKSkpOwogICAgIGNhc2UgUmVhc29uOjpTaGlwcGluZ09wdGlvbkNoYW5nZWQ6CiAgICAgICAg
IHJldHVybiBzaGlwcGluZ09wdGlvblVwZGF0ZWQoKTsKICAgICBjYXNlIFJlYXNvbjo6UGF5bWVu
dE1ldGhvZENoYW5nZWQ6CkBAIC0zNDQsMTkgKzQwMCwxMyBAQCBFeGNlcHRpb25Pcjx2b2lkPiBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjptZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpK
U1ZhbAogICAgIHJldHVybiB7IH07CiB9CiAKLUV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5
bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoY29uc3QgU3RyaW5nJiBlcnJvcikK
K0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRkcmVz
c1VwZGF0ZWQoVmVjdG9yPFBheW1lbnRFcnJvcj4mJiBlcnJvcnMpCiB7CiAgICAgQVNTRVJUKG1f
aXNVcGRhdGluZyk7CiAgICAgbV9pc1VwZGF0aW5nID0gZmFsc2U7CiAKICAgICBTaGlwcGluZ0Nv
bnRhY3RVcGRhdGUgdXBkYXRlOwotCi0gICAgaWYgKG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnRP
cHRpb25zKCkucmVxdWVzdFNoaXBwaW5nICYmIG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRh
aWxzKCkuc2hpcHBpbmdPcHRpb25zLmlzRW1wdHkoKSkgewotICAgICAgICBQYXltZW50RXJyb3Ig
cGF5bWVudEVycm9yOwotICAgICAgICBwYXltZW50RXJyb3IuY29kZSA9IFBheW1lbnRFcnJvcjo6
Q29kZTo6U2hpcHBpbmdDb250YWN0SW52YWxpZDsKLSAgICAgICAgcGF5bWVudEVycm9yLm1lc3Nh
Z2UgPSBlcnJvcjsKLSAgICAgICAgdXBkYXRlLmVycm9ycy5hcHBlbmQoV1RGTW92ZShwYXltZW50
RXJyb3IpKTsKLSAgICB9CisgICAgdXBkYXRlLmVycm9ycyA9IFdURk1vdmUoZXJyb3JzKTsKIAog
ICAgIGF1dG8gbmV3VG90YWxBbmRMaW5lSXRlbXMgPSBjb21wdXRlVG90YWxBbmRMaW5lSXRlbXMo
KTsKICAgICBpZiAobmV3VG90YWxBbmRMaW5lSXRlbXMuaGFzRXhjZXB0aW9uKCkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxl
UGF5UGF5bWVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCmluZGV4IDQ3NTNmMGQ1YjBjMTcz
MzY2YmQ4OGQ0MTcxYWYyYjI4ZjczYjRiNzguLjRiNDQ5Y2RlMjIyNzQ5MGQzMjFiZTA4ODYyYzI4
ZmI2YjcxZWFmYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
cGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxl
ci5oCkBAIC01Myw4ICs1Myw5IEBAIHByaXZhdGU6CiAgICAgUGF5bWVudENvb3JkaW5hdG9yJiBw
YXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAogICAgIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vz
c2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gY29tcHV0ZVRvdGFsQW5kTGlu
ZUl0ZW1zKCk7CisgICAgVmVjdG9yPFBheW1lbnRFcnJvcj4gY29tcHV0ZUVycm9ycyhTdHJpbmcm
JiBlcnJvciwgQWRkcmVzc0Vycm9ycyYmLCBQYXllckVycm9yRmllbGRzJiYsIEpTQzo6U3Ryb25n
PEpTQzo6SlNPYmplY3Q+JiYgcGF5bWVudE1ldGhvZEVycm9ycykgY29uc3Q7CiAKLSAgICBFeGNl
cHRpb25Pcjx2b2lkPiBzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmluZyYgZXJyb3Ip
OworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNoaXBwaW5nQWRkcmVzc1VwZGF0ZWQoVmVjdG9yPFBh
eW1lbnRFcnJvcj4mJiBlcnJvcnMpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNoaXBwaW5nT3B0
aW9uVXBkYXRlZCgpOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBheW1lbnRNZXRob2RVcGRhdGVk
KCk7CiAKQEAgLTYzLDcgKzY0LDcgQEAgcHJpdmF0ZToKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBz
aG93KCkgZmluYWw7CiAgICAgdm9pZCBoaWRlKCkgZmluYWw7CiAgICAgdm9pZCBjYW5NYWtlUGF5
bWVudChXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIGZpbmFs
OwotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpV
cGRhdGVSZWFzb24sIGNvbnN0IFN0cmluZyYgZXJyb3IpIGZpbmFsOworICAgIEV4Y2VwdGlvbk9y
PHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb24sIFN0cmlu
ZyYmIGVycm9yLCBBZGRyZXNzRXJyb3JzJiYsIFBheWVyRXJyb3JGaWVsZHMmJiwgSlNDOjpTdHJv
bmc8SlNDOjpKU09iamVjdD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKSBmaW5hbDsKICAgICBFeGNl
cHRpb25Pcjx2b2lkPiBtZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1ZhbHVlJiYp
IGZpbmFsOwogICAgIHZvaWQgY29tcGxldGUoc3RkOjpvcHRpb25hbDxQYXltZW50Q29tcGxldGU+
JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmgKaW5kZXggZjY4MzdhY2QwMjljYzkx
Yzg5NjczNDA3ODgyMDdmNTFjMmNkOTY5Mi4uMjI4ZWY0ZGM4NTI1ZTc4ZmVhZjg2OTc3MzNjZjY5
NWJkYmE0OTE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yNyw2ICsyNyw4IEBACiAKICNp
ZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQogCisjaW5jbHVkZSAiQWRkcmVzc0Vycm9ycy5oIgor
I2luY2x1ZGUgIlBheWVyRXJyb3JGaWVsZHMuaCIKICNpbmNsdWRlICJQYXltZW50RGV0YWlsc0Jh
c2UuaCIKICNpbmNsdWRlICJQYXltZW50SXRlbS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0
cmluZy5oPgpAQCAtMzYsNiArMzgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgUGF5
bWVudERldGFpbHNVcGRhdGUgZmluYWwgOiBwdWJsaWMgUGF5bWVudERldGFpbHNCYXNlIHsKICAg
ICBTdHJpbmcgZXJyb3I7CiAgICAgUGF5bWVudEl0ZW0gdG90YWw7CisgICAgQWRkcmVzc0Vycm9y
cyBzaGlwcGluZ0FkZHJlc3NFcnJvcnM7CisgICAgUGF5ZXJFcnJvckZpZWxkcyBwYXllckVycm9y
czsKKyAgICBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiBwYXltZW50TWV0aG9kRXJyb3JzOwog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmlkbApp
bmRleCAzYjg3Yzg4OGM4MjNmMWRlZTNjNTgwZjkwZDI3N2FlMzU4ODRiZGJmLi5hMzhiZGU1NGJm
ZWE4YTYwODZjZGZjZDU1M2IyZmNhNjA0ZGQ1YmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmlkbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRl
LmlkbApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yOCw0ICsyOCw3IEBACiBdIGRpY3Rpb25hcnkgUGF5bWVudERldGFpbHNVcGRhdGUgOiBQ
YXltZW50RGV0YWlsc0Jhc2UgewogICAgIERPTVN0cmluZyBlcnJvcjsKICAgICBQYXltZW50SXRl
bSB0b3RhbDsKKyAgICBBZGRyZXNzRXJyb3JzIHNoaXBwaW5nQWRkcmVzc0Vycm9yczsKKyAgICBQ
YXllckVycm9yRmllbGRzIHBheWVyRXJyb3JzOworICAgIG9iamVjdCBwYXltZW50TWV0aG9kRXJy
b3JzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudEhhbmRsZXIuaAppbmRleCA0Mjk3M2Y5ZTE2ZmQ0ODdjNzFjMzBkNzk4MDg3MDYw
MjQ5MjgyOTA1Li40Y2YwNDJjNTQ3NWYyNzI4NTliNDMyMDdiYmE0NmFmMzE1MTIwN2U2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5k
bGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
SGFuZGxlci5oCkBAIC0zOCw2ICszOCw4IEBAIGNsYXNzIEpTVmFsdWU7CiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIERvY3VtZW50Oworc3RydWN0IEFkZHJlc3NFcnJvcnM7CitzdHJ1Y3Qg
UGF5ZXJFcnJvckZpZWxkczsKIAogY2xhc3MgUGF5bWVudEhhbmRsZXIgOiBwdWJsaWMgdmlydHVh
bCBQYXltZW50U2Vzc2lvbkJhc2UgewogcHVibGljOgpAQCAtNDksNyArNTEsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBzaG93KCkgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBoaWRlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjYW5NYWtlUGF5bWVudChXVEY6OkZ1
bmN0aW9uPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKLSAgICB2aXJ0dWFs
IEV4Y2VwdGlvbk9yPHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVS
ZWFzb24sIGNvbnN0IFN0cmluZyYgZXJyb3IpID0gMDsKKyAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9y
PHZvaWQ+IGRldGFpbHNVcGRhdGVkKFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb24sIFN0cmlu
ZyYmIGVycm9yLCBBZGRyZXNzRXJyb3JzJiYsIFBheWVyRXJyb3JGaWVsZHMmJiwgSlNDOjpTdHJv
bmc8SlNDOjpKU09iamVjdD4mJiBwYXltZW50TWV0aG9kRXJyb3JzKSA9IDA7CiAgICAgdmlydHVh
bCBFeGNlcHRpb25Pcjx2b2lkPiBtZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1Zh
bHVlJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGUoc3RkOjpvcHRpb25hbDxQYXlt
ZW50Q29tcGxldGU+JiYpID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IDYxZGEwYzgwYzA1
YzY4OWNlYmM0OWIzNGVkYzhlMzI3ZTQxNmU3ZDAuLjYxOGJmZjg2NTYxMTc0NzE0YmVjMTMxMDQ3
MWYwNjA3MjU1OWIxMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCkBAIC01NTksNyArNTU5LDcgQEAgdm9p
ZCBQYXltZW50UmVxdWVzdDo6cGF5bWVudE1ldGhvZENoYW5nZWQoY29uc3QgU3RyaW5nJiBtZXRo
b2ROYW1lLCBQYXltZW50TWV0aG8KICAgICAgICAgaWYgKGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50
TmFtZSkpCiAgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KFBheW1lbnRNZXRob2RDaGFuZ2VFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZSwgbWV0aG9kTmFtZSwgV1RGTW92ZShtZXRob2REZXRhaWxzRnVu
Y3Rpb24pKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYWN0aXZlUGF5bWVudEhhbmRs
ZXItPmRldGFpbHNVcGRhdGVkKFVwZGF0ZVJlYXNvbjo6UGF5bWVudE1ldGhvZENoYW5nZWQsIHsg
fSk7CisgICAgICAgICAgICBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyLT5kZXRhaWxzVXBkYXRlZChV
cGRhdGVSZWFzb246OlBheW1lbnRNZXRob2RDaGFuZ2VkLCB7IH0sIHsgfSwgeyB9LCB7IH0pOwog
ICAgIH0pOwogfQogCkBAIC02MjcsMTkgKzYyNywxOSBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0Ojpz
ZXR0bGVEZXRhaWxzUHJvbWlzZShVcGRhdGVSZWFzb24gcmVhc29uKQogCiAgICAgYXV0byYgY29u
dGV4dCA9ICptX2RldGFpbHNQcm9taXNlLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShjb250ZXh0LnZtKCkpOwotICAg
IGF1dG8gcGF5bWVudERldGFpbHNVcGRhdGUgPSBjb252ZXJ0RGljdGlvbmFyeTxQYXltZW50RGV0
YWlsc1VwZGF0ZT4oKmNvbnRleHQuZXhlY1N0YXRlKCksIG1fZGV0YWlsc1Byb21pc2UtPnJlc3Vs
dCgpKTsKKyAgICBhdXRvIGRldGFpbHNVcGRhdGUgPSBjb252ZXJ0RGljdGlvbmFyeTxQYXltZW50
RGV0YWlsc1VwZGF0ZT4oKmNvbnRleHQuZXhlY1N0YXRlKCksIG1fZGV0YWlsc1Byb21pc2UtPnJl
c3VsdCgpKTsKICAgICBpZiAodGhyb3dTY29wZS5leGNlcHRpb24oKSkgewogICAgICAgICBhYm9y
dFdpdGhFeGNlcHRpb24oRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENh
bm9uaWNhbGl6ZVRvdGFsKHBheW1lbnREZXRhaWxzVXBkYXRlLnRvdGFsLmFtb3VudCk7CisgICAg
YXV0byB0b3RhbFJlc3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplVG90YWwoZGV0YWlsc1VwZGF0
ZS50b3RhbC5hbW91bnQpOwogICAgIGlmICh0b3RhbFJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewog
ICAgICAgICBhYm9ydFdpdGhFeGNlcHRpb24odG90YWxSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gZGV0YWlsc1Jlc3VsdCA9IGNo
ZWNrQW5kQ2Fub25pY2FsaXplRGV0YWlscygqY29udGV4dC5leGVjU3RhdGUoKSwgcGF5bWVudERl
dGFpbHNVcGRhdGUsIG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcsIFNob3VsZFZhbGlkYXRlUGF5
bWVudE1ldGhvZElkZW50aWZpZXI6Olllcyk7CisgICAgYXV0byBkZXRhaWxzUmVzdWx0ID0gY2hl
Y2tBbmRDYW5vbmljYWxpemVEZXRhaWxzKCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBkZXRhaWxzVXBk
YXRlLCBtX29wdGlvbnMucmVxdWVzdFNoaXBwaW5nLCBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRo
b2RJZGVudGlmaWVyOjpZZXMpOwogICAgIGlmIChkZXRhaWxzUmVzdWx0Lmhhc0V4Y2VwdGlvbigp
KSB7CiAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbihkZXRhaWxzUmVzdWx0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY0NywxNyArNjQ3LDE3IEBAIHZvaWQgUGF5
bWVudFJlcXVlc3Q6OnNldHRsZURldGFpbHNQcm9taXNlKFVwZGF0ZVJlYXNvbiByZWFzb24pCiAK
ICAgICBhdXRvIHNoaXBwaW5nT3B0aW9uQW5kTW9kaWZpZXJEYXRhID0gZGV0YWlsc1Jlc3VsdC5y
ZWxlYXNlUmV0dXJuVmFsdWUoKTsKIAotICAgIG1fZGV0YWlscy50b3RhbCA9IFdURk1vdmUocGF5
bWVudERldGFpbHNVcGRhdGUudG90YWwpOwotICAgIG1fZGV0YWlscy5kaXNwbGF5SXRlbXMgPSBX
VEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLmRpc3BsYXlJdGVtcyk7CisgICAgbV9kZXRhaWxz
LnRvdGFsID0gV1RGTW92ZShkZXRhaWxzVXBkYXRlLnRvdGFsKTsKKyAgICBtX2RldGFpbHMuZGlz
cGxheUl0ZW1zID0gV1RGTW92ZShkZXRhaWxzVXBkYXRlLmRpc3BsYXlJdGVtcyk7CiAgICAgaWYg
KG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcpIHsKLSAgICAgICAgbV9kZXRhaWxzLnNoaXBwaW5n
T3B0aW9ucyA9IFdURk1vdmUocGF5bWVudERldGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zKTsK
KyAgICAgICAgbV9kZXRhaWxzLnNoaXBwaW5nT3B0aW9ucyA9IFdURk1vdmUoZGV0YWlsc1VwZGF0
ZS5zaGlwcGluZ09wdGlvbnMpOwogICAgICAgICBtX3NoaXBwaW5nT3B0aW9uID0gV1RGTW92ZShz
dGQ6OmdldDwwPihzaGlwcGluZ09wdGlvbkFuZE1vZGlmaWVyRGF0YSkpOwogICAgIH0KIAotICAg
IG1fZGV0YWlscy5tb2RpZmllcnMgPSBXVEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLm1vZGlm
aWVycyk7CisgICAgbV9kZXRhaWxzLm1vZGlmaWVycyA9IFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5t
b2RpZmllcnMpOwogICAgIG1fc2VyaWFsaXplZE1vZGlmaWVyRGF0YSA9IFdURk1vdmUoc3RkOjpn
ZXQ8MT4oc2hpcHBpbmdPcHRpb25BbmRNb2RpZmllckRhdGEpKTsKIAotICAgIGF1dG8gcmVzdWx0
ID0gbV9hY3RpdmVQYXltZW50SGFuZGxlci0+ZGV0YWlsc1VwZGF0ZWQocmVhc29uLCBwYXltZW50
RGV0YWlsc1VwZGF0ZS5lcnJvcik7CisgICAgYXV0byByZXN1bHQgPSBtX2FjdGl2ZVBheW1lbnRI
YW5kbGVyLT5kZXRhaWxzVXBkYXRlZChyZWFzb24sIFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5lcnJv
ciksIFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5zaGlwcGluZ0FkZHJlc3NFcnJvcnMpLCBXVEZNb3Zl
KGRldGFpbHNVcGRhdGUucGF5ZXJFcnJvcnMpLCBXVEZNb3ZlKGRldGFpbHNVcGRhdGUucGF5bWVu
dE1ldGhvZEVycm9ycykpOwogICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAgICAg
ICAgYWJvcnRXaXRoRXhjZXB0aW9uKHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCBkN2MwYWM3YjNkYmE5MDI5M2M2
MjVhN2QwN2RkM2U1ZjdjMjk5NWMxLi43Nzc2MGZmNmRhOGNlOGRiZTRjMmZhMzM1YmVkYmQzYzhl
MDVjMWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJp
Z2h0IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8v
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01ODgsNiArNTg4LDggQEAgcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwCiAKICAgICBKU0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmNwcAogICAgIEpTQXBwbGVQYXlFcnJvci5jcHAKKyAgICBKU0Fw
cGxlUGF5RXJyb3JDb2RlLmNwcAorICAgIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAK
ICAgICBKU0FwcGxlUGF5TGluZUl0ZW0uY3BwCiAgICAgSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJp
bGl0eS5jcHAKICAgICBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2NhMzE1NzM2ZTkwZjQ3
ZDY0NTJiOWE2MzJlNWU4YTFkNzk1MDZhMy4uZWYyMzMxYTliMWY3MDY4NDdlODE2YTdhMjU4MjRh
N2EzNzI2ZTFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMjk1NCw2ICsyOTU0LDEzIEBACiAJCUExQUZFREU3MUY4QkZGNkQw
MDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQUZFREU1MUY4QkZGNkQwMDg3MDEzRiAvKiBN
b2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLzsgfTsKIAkJQTFCNUIyOUUxQUFBODQ2RTAwOEI2
MDQyIC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCNUIyOUMxQUFBODQ2RTAwOEI2MDQyIC8qIE1v
Y2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwICovOyB9OwogCQlBMUI1QjI5RjFBQUE4NDZGMDA4
QjYwNDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCNUIyOUQxQUFBODQ2RTAwOEI2MDQyIC8qIE1v
Y2tDb250ZW50RmlsdGVyU2V0dGluZ3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OworCQlBMUJCODU5QzIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlF
cnJvckNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEExQkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29kZS5oICovOyB9Owor
CQlBMUJCODVBMzIxNTlBRjU3MDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QTAy
MTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCAqLzsgfTsKKwkJ
QTFCQjg1QTkyMTU5QjAyQzAwNjdFMDdEIC8qIE1vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4NUE2MjE1OUIwMkMwMDY3
RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmggKi87IH07CisJCUExQkI4NUIyMjE1OUIxQTEwMDY3
RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMUJCODVBRTIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBh
eUVycm9yQ29kZS5oICovOyB9OworCQlBMUJCODVCMzIxNTlCMUExMDA2N0UwN0QgLyogSlNBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMUJCODVBRjIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9y
Q29udGFjdEZpZWxkLmggKi87IH07CisJCUExQkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01v
Y2tQYXltZW50RXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFCQjg1QjQyMTU5QjM4OTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5j
cHAgKi87IH07CisJCUExQkI4NUI5MjE1OUIzQUUwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJy
b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4
NUI1MjE1OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLzsgfTsKIAkJQTFC
RjZCODIxQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkY2QjgwMUFBOTZDN0QwMEFG
NEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5jcHAgKi87IH07CiAJCUExQkY2QjgzMUFBOTZDN0Qw
MEFGNEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCRjZCODExQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250
ZW50RmlsdGVyLmggKi87IH07CiAJCUExQzE1MDdBMUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3
Q29udmVydGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBBMUMxNTA3ODFFM0YyQjNFMDAzMkM5OEMgLyogUHJldmlld0NvbnZlcnRlci5oICovOyB9OwpA
QCAtMTEwNDMsNiArMTEwNTAsMTggQEAKIAkJQTFBRkVERTUxRjhCRkY2RDAwODcwMTNGIC8qIE1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQjVCMjlDMUFB
QTg0NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUI1QjI5RDFBQUE4NDZFMDA4QjYwNDIg
LyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExQkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29kZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBBcHBsZVBheUVycm9yQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBMUJCODU5QjIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvZGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEFwcGxlUGF5RXJyb3JDb2RlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQTFCQjg1QTAyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0Rmll
bGQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBMjIxNTlBRjU3MDA2N0UwN0QgLyogQXBwbGVQ
YXlFcnJvckNvbnRhY3RGaWVsZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUE2MjE1OUIwMkMwMDY3RTA3
RCAvKiBNb2NrUGF5bWVudEVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYXltZW50RXJyb3Iu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QTgyMTU5QjAyQzAwNjdFMDdE
IC8qIE1vY2tQYXltZW50RXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tQYXltZW50RXJyb3IuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBQzIxNTlCMTlGMDA2N0UwN0QgLyogSlNB
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUExQkI4NUFEMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJy
b3JDb2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQ
YXlFcnJvckNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRTIx
NTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5RXJyb3JDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUExQkI4NUFGMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JD
b250YWN0RmllbGQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBh
eUVycm9yQ29udGFjdEZpZWxkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4
NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2NrUGF5bWVudEVycm9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QjUyMTU5QjM4QTAwNjdFMDdEIC8qIEpTTW9j
a1BheW1lbnRFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01vY2tQ
YXltZW50RXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFCRjZCODAxQUE5
NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTFCRjZCODExQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50Rmls
dGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzE1MDc3MUUzRjJCM0UwMDMyQzk4
QyAvKiBQcmV2aWV3Q29udmVydGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gUHJldmlld0NvbnZlcnRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTE2MDkwLDYgKzE2MTA5LDEwIEBACiAJCQkJMUFERkRGRDUxRTcxRDhERjAwOEY1RDM0IC8q
IEFwcGxlUGF5RXJyb3IuY3BwICovLAogCQkJCTFBREZERkQ2MUU3MUQ4REYwMDhGNUQzNCAvKiBB
cHBsZVBheUVycm9yLmggKi8sCiAJCQkJMUFERkRGRDcxRTcxRDhERjAwOEY1RDM0IC8qIEFwcGxl
UGF5RXJyb3IuaWRsICovLAorCQkJCUExQkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBh
eUVycm9yQ29kZS5oICovLAorCQkJCUExQkI4NTlCMjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBh
eUVycm9yQ29kZS5pZGwgKi8sCisJCQkJQTFCQjg1QTAyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxl
UGF5RXJyb3JDb250YWN0RmllbGQuaCAqLywKKwkJCQlBMUJCODVBMjIxNTlBRjU3MDA2N0UwN0Qg
LyogQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5pZGwgKi8sCiAJCQkJN0M2NTc5RTIxRTAwODI3
MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCAqLywKIAkJCQk3QzY1NzlFNDFFMDA4MkM4
MDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5pZGwgKi8sCiAJCQkJQTFERjVBQTgxRjgwNzBE
NDAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcCAqLywKQEAgLTE2MjYz
LDYgKzE2Mjg2LDEwIEBACiAJCQkJQTFERjVBOTcxRjdFQzhCRjAwNThBNDc3IC8qIEpTQXBwbGVQ
YXlDb250YWN0RmllbGQuaCAqLywKIAkJCQkxQURGREZFMTFFNzFEQ0EwMDA4RjVEMzQgLyogSlNB
cHBsZVBheUVycm9yLmNwcCAqLywKIAkJCQkxQURGREZFMjFFNzFEQ0EwMDA4RjVEMzQgLyogSlNB
cHBsZVBheUVycm9yLmggKi8sCisJCQkJQTFCQjg1QUQyMTU5QjFBMDAwNjdFMDdEIC8qIEpTQXBw
bGVQYXlFcnJvckNvZGUuY3BwICovLAorCQkJCUExQkI4NUFFMjE1OUIxQTAwMDY3RTA3RCAvKiBK
U0FwcGxlUGF5RXJyb3JDb2RlLmggKi8sCisJCQkJQTFCQjg1QUMyMTU5QjE5RjAwNjdFMDdEIC8q
IEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAgKi8sCisJCQkJQTFCQjg1QUYyMTU5QjFB
MDAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oICovLAogCQkJCTdDNjU3
OUU5MUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uY3BwICovLAogCQkJCTdD
NjU3OUVBMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uaCAqLywKIAkJCQlB
MURGNUE4OTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5j
cHAgKi8sCkBAIC0xNzAzNCw2ICsxNzA2MSw4IEBACiAJCQkJQTFBRkVERTUxRjhCRkY2RDAwODcw
MTNGIC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLAogCQkJCUExQUZFREU0MUY4QkZG
NkQwMDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJQTE0NkQzMTYx
Rjk5QjUzRDAwRDI5MTk2IC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsICovLAorCQkJCUEx
QkI4NUE2MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmggKi8sCisJCQkJQTFC
Qjg1QTgyMTU5QjAyQzAwNjdFMDdEIC8qIE1vY2tQYXltZW50RXJyb3IuaWRsICovLAogCQkJCUEx
Q0JFRjYzMUY5RjExMjkwMDI4REU3QyAvKiBNb2NrUGF5bWVudE1ldGhvZC5oICovLAogCQkJCUEx
NDA2MTg5MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xvYWRlckNsaWVudC5jcHAgKi8s
CiAJCQkJQTE0MDYxOEExRTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50
LmggKi8sCkBAIC0xNzA3NCw2ICsxNzEwMyw4IEBACiAJCQkJQTE0NkQzMUYxRjk5Q0EzRDAwRDI5
MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggKi8sCiAJCQkJQTE0NkQzMTkxRjk5QkNCQjAw
RDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJQTE0NkQzMTgx
Rjk5QkNCQTAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAorCQkJCUEx
QkI4NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLAorCQkJ
CUExQkI4NUI1MjE1OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLywKIAkJ
CQk0MjdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNw
cCAqLywKIAkJCQk0MjdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50
ZXJuYWxzLmggKi8sCiAJCQkJRUJGNTEyMUExNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZl
cnNpb25zLmNwcCAqLywKQEAgLTI3MTA2LDYgKzI3MTM3LDcgQEAKIAkJCQk1MzhFQzkzNDFGOTlC
OUY3MDA0RDIyQTggLyogSlNNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUEx
NDZEMzIzMUY5OUQwRUYwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTE0NkQzMUIxRjk5QkNGQjAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29y
ZGluYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1QjkyMTU5QjNBRTAwNjdFMDdEIC8q
IEpTTW9ja1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDI3REE3MUUxMzczNURG
QTAwN0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRUJGNTEyMUQxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNpb25zLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREMyNkI0MTE2MEE4Q0NFMDAyNjc1N0IgLyogTGVnYWN5TW9ja0NETS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNzIwMCw2ICsyNzIzMiw4IEBACiAJCQkJOTMzMDlERDcwOTlF
NjQ5MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
MURGNUE5NDFGN0VDNDMyMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExMkM1OUVFMjAzNUZDOUIwMDEyMjM2QiAvKiBBcHBsZVBheUVycm9yLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODU5QzIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlF
cnJvckNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUExQkI4NUEzMjE1OUFGNTcwMDY3RTA3RCAv
KiBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlF
MzFFMDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQ
YXlNb2RpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODU0Niw2ICsyODU4MCw4IEBACiAJCQkJ
NzEwMjVFREUxRjk5RjFFQzAwNEEyNTBDIC8qIEpTQW5pbWF0aW9uVGltZWxpbmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUExREY1QTk5MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFj
dEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGOTIwMzYwQUNCMDAxMjIzNkIgLyog
SlNBcHBsZVBheUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODVCMjIxNTlCMUExMDA2
N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1
QjMyMTU5QjFBMTAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0M2NTc5RjAxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5l
SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOEUxRjdFQzAwMjAwNThBNDc3IC8qIEpT
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjZEMDEy
MUZFMDk5QjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLApA
QCAtMjk2MTEsNiArMjk2NDcsNyBAQAogCQkJCTQxM0NDRDRBMjBERTAzNEYwMDY1QTIxQSAvKiBN
b2NrTWVkaWFEZXZpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDEzMTgyMDU0MDYwMEYy
QjQyNCAvKiBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0RGMkIwMTUxODIwNTQwNjAwRjJCNDI0IC8qIE1vY2tNZWRpYVNvdXJjZVByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUExQkI4NUE5MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVy
cm9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0Q2QTRGNDFCRUQ1Rjg4MDAxNzQxNDYgLyogTW9j
a1JlYWx0aW1lQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQTlFMUFBRjVF
N0UwMDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291
cmNlLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNTI4LDYgKzMxNTY1LDcgQEAKIAkJCQkyRDQxNTBE
RTFDMUY4NjhDMDAwQTNCQTIgLyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQTE0NkQzMjIxRjk5RDBFQzAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUExNDZEMzFBMUY5OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFCQjg1QjgyMTU5QjNB
NDAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0
MjdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252
ZXJzaW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREMyNkI0MDE2MEE4Q0M2MDAyNjc1N0Ig
LyogTGVnYWN5TW9ja0NETS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDhmODY5MmIxZGU0Mjcy
OGFhMGRhM2NlYmEwMTI2ZjkzZjA3MWEzNDMuLjliNmU5NWUyMTU0ODMwYzAwMDNkNmUyMTgwMDNh
Y2VhYTIyZmVkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmNwcApAQCAtMTUxLDEwICsxNTEsMTMgQEAgdm9pZCBNb2NrUGF5bWVudENv
b3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8
U2hpcHAKIAogdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29u
dGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJiBzaGlw
cGluZ0NvbnRhY3RVcGRhdGUpCiB7Ci0gICAgaWYgKHNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKLSAg
ICAgICAgdXBkYXRlVG90YWxBbmRMaW5lSXRlbXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdU
b3RhbEFuZExpbmVJdGVtcyk7CisgICAgaWYgKCFzaGlwcGluZ0NvbnRhY3RVcGRhdGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIHVwZGF0ZVRvdGFsQW5kTGluZUl0ZW1zKHNoaXBwaW5nQ29udGFj
dFVwZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRlbXMpOworICAgIG1fZXJyb3JzID0gV1RGTW92ZShz
aGlwcGluZ0NvbnRhY3RVcGRhdGUtPmVycm9ycyk7CiB9Ci0gICAgCisKIHZvaWQgTW9ja1BheW1l
bnRDb29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9u
YWw8UGF5bWVudE1ldGhvZFVwZGF0ZT4mJiBwYXltZW50TWV0aG9kVXBkYXRlKQogewogICAgIGlm
IChwYXltZW50TWV0aG9kVXBkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQ
YXltZW50Q29vcmRpbmF0b3IuaAppbmRleCAxZjdkMDY4ZDFjYzA5ZWY0ZDVjM2U1YmYxNjA5YjQw
MDIxNjMxN2NmLi41YzM2MzVlNzMwMTU3YmEyZGI5YWUwM2M3ZjIwZDY3ZGNiNDVmNTQzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaApAQCAt
MjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5oIgogI2luY2x1ZGUg
Ik1vY2tQYXltZW50QWRkcmVzcy5oIgorI2luY2x1ZGUgIk1vY2tQYXltZW50RXJyb3IuaCIKICNp
bmNsdWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNl
dC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KQEAgLTUwLDYgKzUxLDcgQEAg
cHVibGljOgogCiAgICAgY29uc3QgQXBwbGVQYXlMaW5lSXRlbSYgdG90YWwoKSBjb25zdCB7IHJl
dHVybiBtX3RvdGFsOyB9CiAgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBsaW5l
SXRlbXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJdGVtczsgfQorICAgIGNvbnN0IFZlY3RvcjxN
b2NrUGF5bWVudEVycm9yPiYgZXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcnM7IH0KIAog
ICAgIHZvaWQgcmVmKCkgY29uc3QgeyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IHsgfQpAQCAt
NzYsNiArNzgsNyBAQCBwcml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgbV9zaGlw
cGluZ0FkZHJlc3M7CiAgICAgQXBwbGVQYXlMaW5lSXRlbSBtX3RvdGFsOwogICAgIFZlY3RvcjxB
cHBsZVBheUxpbmVJdGVtPiBtX2xpbmVJdGVtczsKKyAgICBWZWN0b3I8TW9ja1BheW1lbnRFcnJv
cj4gbV9lcnJvcnM7CiAgICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFz
aD4gbV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAppbmRleCAyMzE0ZWVkYjJhZWJj
YjYyYzUxYWQyYjJlYzJjNTdiOWFjNDMwYWE2Li5kN2U1ZDU4OTU0OWYxZWQ4Yzg2ZWQ1ZjYyYzU1
Yzc3YmM5ZmRjN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb29yZGluYXRvci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
Ny0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzUsNCArMzUsNSBAQAogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IEFwcGxlUGF5TGluZUl0ZW0gdG90YWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNl
PEFwcGxlUGF5TGluZUl0ZW0+IGxpbmVJdGVtczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2Vx
dWVuY2U8TW9ja1BheW1lbnRFcnJvcj4gZXJyb3JzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudEVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RlMzhlZjUwMWM2MGNiMTQwZDlhN2U3
YzExMjYwOWQ1MzdiYzUzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvTW9ja1BheW1lbnRFcnJvci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBsZVBheVNl
c3Npb25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIE1v
Y2tQYXltZW50RXJyb3IgPSBQYXltZW50RXJyb3I7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudEVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWRkMzc5ZWE1M2ZiNTUwZmYwNGQ0YzA4
MGQ3MzlkMmViZWJkMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudEVycm9yLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWwor
ICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWSwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10g
ZGljdGlvbmFyeSBNb2NrUGF5bWVudEVycm9yIHsKKyAgICByZXF1aXJlZCBBcHBsZVBheUVycm9y
Q29kZSBjb2RlOworICAgIHJlcXVpcmVkIERPTVN0cmluZyBtZXNzYWdlOworICAgIEFwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQgY29udGFjdEZpZWxkOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOTc4YjI1ZWViM2E5
NDA1ZTY2OGRiNDJkNDY0YTZlOTYyOTkxZjM0Li42NjcwOTgzNTdkZDk4YWFiYTIzOWY3OTRkMjNm
ZmVmMjgxMDQxZDk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDktMjYgIEFuZHkgRXN0
ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFN1cHBvcnQgZ3Jh
bnVsYXIgZXJyb3JzIGluIFBheW1lbnREZXRhaWxzVXBkYXRlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5MzgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcmVzb3VyY2VzL3BheW1l
bnQtcmVxdWVzdC5qczoKKyAgICAgICAgKHZhbGlkUGF5bWVudERldGFpbHMpOgorICAgICAgICAo
dXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKToKKyAgICAgICAgKiBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3Jz
Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBw
aW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVz
c0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTA5LTI1ICBSeWFuIEhhZGRhZCAg
PHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGNvcnJlY3QgYSB0
eXBvIGluIGEgYnVnIFVSTC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVz
b3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3Vy
Y2VzL3BheW1lbnQtcmVxdWVzdC5qcwppbmRleCAzYjQ2ZmFmYTMxMmFjZDYyNDdiM2M4NTc1OWRj
NmMyN2E4YjZkMDRkLi40ZWJhYzFmNmFjZGFiYjg0NmUwZWU4M2RkZDhhOWVjMjdiMjkxMzZhIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wYXltZW50LXJlcXVl
c3QuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMvcGF5bWVudC1yZXF1
ZXN0LmpzCkBAIC0xOCwzICsxOCw2MCBAQCBmdW5jdGlvbiB1c2VyX2FjdGl2YXRpb25fdGVzdChm
dW5jLCBuYW1lKQogICAgICAgICBhd2FpdCBhY3RpdmF0ZVRoZW4oKCkgPT4gZnVuYyh0KSk7CiAg
ICAgfSwgbmFtZSk7CiB9CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudE1ldGhvZCgpCit7CisgICAg
cmV0dXJuIHsKKyAgICAgICAgc3VwcG9ydGVkTWV0aG9kczogJ2h0dHBzOi8vYXBwbGUuY29tL2Fw
cGxlLXBheScsCisgICAgICAgIGRhdGE6IHsKKyAgICAgICAgICAgIHZlcnNpb246IDIsCisgICAg
ICAgICAgICBtZXJjaGFudElkZW50aWZpZXI6ICcnLAorICAgICAgICAgICAgY291bnRyeUNvZGU6
ICdVUycsCisgICAgICAgICAgICBzdXBwb3J0ZWROZXR3b3JrczogWyd2aXNhJywgJ21hc3RlckNh
cmQnXSwKKyAgICAgICAgICAgIG1lcmNoYW50Q2FwYWJpbGl0aWVzOiBbJ3N1cHBvcnRzM0RTJ10s
CisgICAgICAgIH0sCisgICAgfQorfQorCitmdW5jdGlvbiB2YWxpZFBheW1lbnREZXRhaWxzKCkK
K3sKKyAgICByZXR1cm4geworICAgICAgICB0b3RhbDogeworICAgICAgICAgICAgbGFiZWw6ICdU
b3RhbCcsCisgICAgICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAgICBjdXJyZW5jeTog
J1VTRCcsCisgICAgICAgICAgICAgICAgdmFsdWU6ICcxMC4wMCcsCisgICAgICAgICAgICB9LAor
ICAgICAgICB9LAorICAgICAgICBkaXNwbGF5SXRlbXM6IFt7CisgICAgICAgICAgICBsYWJlbDog
J0l0ZW0nLAorICAgICAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICAgICAgY3VycmVuY3k6
ICdVU0QnLAorICAgICAgICAgICAgICAgIHZhbHVlOiAnMTAuMDAnLAorICAgICAgICAgICAgfSwK
KyAgICAgICAgfV0sCisgICAgfQorfQorCitmdW5jdGlvbiB1cGRhdGVEZXRhaWxzT25TaGlwcGlu
Z0FkZHJlc3NDaGFuZ2UocGF5bWVudERldGFpbHNJbml0LCBwYXltZW50T3B0aW9ucywgZGV0YWls
c1VwZGF0ZSkKK3sKKyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4g
eworICAgICAgICBhY3RpdmF0ZVRoZW4oKCkgPT4geworICAgICAgICAgICAgdmFyIHJlcXVlc3Qg
PSBuZXcgUGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgcGF5bWVudERldGFp
bHNJbml0LCBwYXltZW50T3B0aW9ucyk7CisgICAgICAgICAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2
YWxpZGF0aW9uID0gKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgZXZlbnQuY29tcGxldGUo
eyB9KTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRy
ZXNzY2hhbmdlID0gKGV2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgdmFyIGRldGFpbHNVcGRh
dGVQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICAg
ICAgICAgICAgICByZXNvbHZlKGRldGFpbHNVcGRhdGUpOworICAgICAgICAgICAgICAgIH0pOwor
ICAgICAgICAgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgoZGV0YWlsc1VwZGF0ZVByb21pc2UpOwor
ICAgICAgICAgICAgICAgIGRldGFpbHNVcGRhdGVQcm9taXNlLnRoZW4oKCkgPT4geworICAgICAg
ICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuYWJv
cnQoKTsKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBy
ZXF1ZXN0LnNob3coKS5jYXRjaChlcnJvciA9PiBlcnJvcik7CisgICAgICAgIH0pOworICAgIH0p
OworfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRk
cmVzc0NoYW5nZUV2ZW50RXJyb3JzLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZTdm
NGY3NDRmNjI3YWQ5YWUxY2FhODZmYmNiMGFmNTIzNmY1NTRkCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJl
c3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw3NSBAQAor
VGVzdCBzcGVjaWZ5aW5nIGVycm9ycyBpbiByZXNwb25zZSB0byB0aGUgc2hpcHBpbmdhZGRyZXNz
Y2hhbmdlIGV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGluZyBQ
YXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIG5vIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAwCisKK1Rlc3RpbmcgUGF5bWVudERl
dGFpbHNVcGRhdGUgd2l0aCBhbiBlcnJvciBhbmQgc2hpcHBpbmcgb3B0aW9ucy4KK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAwCisKK1Rlc3Rp
bmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBhbiBlbXB0eSBlcnJvci4KK1BBU1MgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAxCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIGlzICdzaGlwcGluZ0Nv
bnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbMF0ubWVzc2FnZSBpcyAnJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIGlzIHVuZGVmaW5lZAorCitUZXN0aW5nIFBheW1lbnRE
ZXRhaWxzVXBkYXRlIHdpdGggYW4gZXJyb3IuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMgMQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnNbMF0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BB
U1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMg
J3NpbmdsZSBlcnJvcicKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzWzBdLmNvbnRhY3RGaWVsZCBpcyB1bmRlZmluZWQKKworVGVzdGluZyBQYXltZW50RGV0YWls
c1VwZGF0ZSB3aXRoIGFuIGVycm9yIGFuZCB1bmRlZmluZWQgc2hpcHBpbmcgYWRkcmVzcyBlcnJv
cnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGgg
aXMgMQorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29k
ZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMgJ3NpbmdsZSBlcnJvcicKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCBpcyB1
bmRlZmluZWQKKworVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIHNoaXBwaW5nIGFk
ZHJlc3MgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnMubGVuZ3RoIGlzIDgKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzWzBdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIGlzICdlcnJvcicKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCBp
cyAnYWRkcmVzc0xpbmVzJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbMV0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFT
UyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29udGFjdEZpZWxk
IGlzICdsb2NhbGl0eScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzWzJdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5tZXNzYWdlIGlzICdlcnJvcicKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLmNvbnRhY3RGaWVsZCBp
cyAnY291bnRyeScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
WzNdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1szXS5tZXNzYWdlIGlzICdlcnJvcicKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzNdLmNvbnRhY3RGaWVsZCBpcyAn
c3ViTG9jYWxpdHknCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1s0XS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNF0ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s0XS5jb250YWN0RmllbGQgaXMg
J3Bob25lTnVtYmVyJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbNV0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzVdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNV0uY29udGFjdEZpZWxkIGlz
ICdwb3N0YWxDb2RlJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbNl0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzZdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNl0uY29udGFjdEZpZWxkIGlz
ICduYW1lJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbN10u
Y29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzddLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbN10uY29udGFjdEZpZWxkIGlzICdhZG1p
bmlzdHJhdGl2ZUFyZWEnCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCB1bnJl
cXVlc3RlZCBwYXllciBlcnJvcnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9ycy5sZW5ndGggaXMgMAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdp
dGggcGF5ZXIgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnMubGVuZ3RoIGlzIDMKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzWzBdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIGlzICdlcnJvcicKK1BB
U1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVs
ZCBpcyAnbmFtZScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
WzFdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5tZXNzYWdlIGlzICdlcnJvcicKK1BBU1MgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLmNvbnRhY3RGaWVsZCBpcyAn
ZW1haWxBZGRyZXNzJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbMl0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0uY29udGFjdEZpZWxkIGlz
ICdwaG9uZU51bWJlcicKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRy
ZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNGRkY2JjZjVhMjVh
ZmZjMzc3YmU2M2Y1NjI4MjFlM2ExMTZmM2ZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VF
dmVudEVycm9ycy5odHRwcy5odG1sCkBAIC0wLDAgKzEsMTQ5IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iL2pz
LXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgorCitkZXNjcmlwdGlvbigiVGVzdCBzcGVjaWZ5aW5nIGVycm9ycyBpbiByZXNwb25zZSB0byB0
aGUgc2hpcHBpbmdhZGRyZXNzY2hhbmdlIGV2ZW50LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3RzKCkKK3sKKyAgICBkZWJ1ZygiVGVz
dGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIG5vIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0
YWlscyA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25T
aGlwcGluZ0FkZHJlc3NDaGFuZ2UoZGV0YWlscywgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSwg
ZGV0YWlscyk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9ycy5sZW5ndGgiLCAiMCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJUZXN0
aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZXJyb3IgYW5kIHNoaXBwaW5nIG9wdGlv
bnMuIik7CisgICAgdmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7Cisg
ICAgZGV0YWlsc1VwZGF0ZS5lcnJvciA9ICJzaW5nbGUgZXJyb3IiOworICAgIGRldGFpbHNVcGRh
dGUuc2hpcHBpbmdPcHRpb25zID0gW3sKKyAgICAgICAgaWQ6ICJvcHRpb24xIiwKKyAgICAgICAg
bGFiZWw6ICJvcHRpb24gMSIsCisgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAgY3VycmVu
Y3k6ICJVU0QiLAorICAgICAgICAgICAgdmFsdWU6ICIxLjAwIiwKKyAgICAgICAgfSwKKyAgICB9
XTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQ
YXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRl
KTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
Lmxlbmd0aCIsICIwIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5
bWVudERldGFpbHNVcGRhdGUgd2l0aCBhbiBlbXB0eSBlcnJvci4iKTsKKyAgICB2YXIgZGV0YWls
c1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLmVycm9y
ID0gIiI7CisgICAgYXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZh
bGlkUGF5bWVudERldGFpbHMoKSwgeyByZXF1ZXN0U2hpcHBpbmc6IHRydWUgfSwgZGV0YWlsc1Vw
ZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVy
cm9ycy5sZW5ndGgiLCAiMSIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnNbMF0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsK
KyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBd
Lm1lc3NhZ2UiLCAiJyciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCIsICJ1bmRlZmluZWQiKTsKKyAgICBkZWJ1
ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFu
IGVycm9yLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQYXltZW50RGV0YWlscygp
OworICAgIGRldGFpbHNVcGRhdGUuZXJyb3IgPSAic2luZ2xlIGVycm9yIjsKKyAgICBhd2FpdCB1
cGRhdGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygp
LCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRlKTsKKyAgICBzaG91bGRC
ZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIsICIxIik7
CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sw
XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSIsICInc2luZ2xl
IGVycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIiwgInVuZGVmaW5lZCIpOworICAgIGRlYnVnKCIiKTsK
KworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZXJyb3Ig
YW5kIHVuZGVmaW5lZCBzaGlwcGluZyBhZGRyZXNzIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWls
c1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLmVycm9y
ID0gInNpbmdsZSBlcnJvciI7CisgICAgZGV0YWlsc1VwZGF0ZS5zaGlwcGluZ0FkZHJlc3NFcnJv
cnMgPSB7CisgICAgfTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3ND
aGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCBk
ZXRhaWxzVXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzLmxlbmd0aCIsICIxIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZh
bGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbMF0ubWVzc2FnZSIsICInc2luZ2xlIGVycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIiwgInVu
ZGVmaW5lZCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRE
ZXRhaWxzVXBkYXRlIHdpdGggc2hpcHBpbmcgYWRkcmVzcyBlcnJvcnMuIik7CisgICAgdmFyIGRl
dGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1VwZGF0ZS5z
aGlwcGluZ0FkZHJlc3NFcnJvcnMgPSB7CisgICAgICAgIGFkZHJlc3NMaW5lOiAiZXJyb3IiLAor
ICAgICAgICBjaXR5OiAiZXJyb3IiLAorICAgICAgICBjb3VudHJ5OiAiZXJyb3IiLAorICAgICAg
ICBkZXBlbmRlbnRMb2NhbGl0eTogImVycm9yIiwKKyAgICAgICAgcGhvbmU6ICJlcnJvciIsCisg
ICAgICAgIHBvc3RhbENvZGU6ICJlcnJvciIsCisgICAgICAgIHJlY2lwaWVudDogImVycm9yIiwK
KyAgICAgICAgcmVnaW9uOiAiZXJyb3IiLAorICAgIH07CisgICAgYXdhaXQgdXBkYXRlRGV0YWls
c09uU2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyByZXF1ZXN0
U2hpcHBpbmc6IHRydWUgfSwgZGV0YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiOCIpOworICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSIsICIn
c2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29udGFj
dEZpZWxkIiwgIidhZGRyZXNzTGluZXMnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZh
bGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbMV0ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5jb250YWN0RmllbGQiLCAiJ2xvY2FsaXR5
JyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbMl0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgi
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UiLCAiJ2Vy
cm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnNbMl0uY29udGFjdEZpZWxkIiwgIidjb3VudHJ5JyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbM10uY29kZSIsICInc2hpcHBpbmdD
b250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzNdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbM10uY29udGFjdEZpZWxkIiwg
IidzdWJMb2NhbGl0eSciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzRdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s0XS5t
ZXNzYWdlIiwgIidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50
Q29vcmRpbmF0b3IuZXJyb3JzWzRdLmNvbnRhY3RGaWVsZCIsICIncGhvbmVOdW1iZXInIik7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1XS5j
b2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbNV0ubWVzc2FnZSIsICInZXJyb3InIik7
CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1
XS5jb250YWN0RmllbGQiLCAiJ3Bvc3RhbENvZGUnIik7CisgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s2XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRh
Y3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbNl0ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s2XS5jb250YWN0RmllbGQiLCAiJ25h
bWUnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVy
cm9yc1s3XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbN10ubWVzc2FnZSIsICIn
ZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9yc1s3XS5jb250YWN0RmllbGQiLCAiJ2FkbWluaXN0cmF0aXZlQXJlYSciKTsKKyAgICBk
ZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRo
IHVucmVxdWVzdGVkIHBheWVyIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWlsc1VwZGF0ZSA9IHZh
bGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLnBheWVyRXJyb3JzID0gewor
ICAgICAgICBuYW1lOiAiZXJyb3IiLAorICAgICAgICBlbWFpbDogImVycm9yIiwKKyAgICAgICAg
cGhvbmU6ICJlcnJvciIsCisgICAgfTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlwcGlu
Z0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IH0sIGRldGFpbHNVcGRhdGUp
OworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMu
bGVuZ3RoIiwgIjAiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXlt
ZW50RGV0YWlsc1VwZGF0ZSB3aXRoIHBheWVyIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWlsc1Vw
ZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLnBheWVyRXJy
b3JzID0geworICAgICAgICBuYW1lOiAiZXJyb3IiLAorICAgICAgICBlbWFpbDogImVycm9yIiwK
KyAgICAgICAgcGhvbmU6ICJlcnJvciIsCisgICAgfTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxz
T25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RQ
YXllck5hbWU6IHRydWUsIHJlcXVlc3RQYXllclBob25lOiB0cnVlLCByZXF1ZXN0UGF5ZXJFbWFp
bDogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIsICIzIik7CisgICAgc2hvdWxkQmUoImlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIiwgIidzaGlwcGlu
Z0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUo
ImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0RmllbGQi
LCAiJ25hbWUnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9yc1sxXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0ubWVzc2Fn
ZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1sxXS5jb250YWN0RmllbGQiLCAiJ2VtYWlsQWRkcmVzcyciKTsKKyAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLmNvZGUi
LCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLmNv
bnRhY3RGaWVsZCIsICIncGhvbmVOdW1iZXInIik7CisgICAgZGVidWcoIiIpOworCisgICAgZmlu
aXNoSlNUZXN0KCk7Cit9CisKK3J1blRlc3RzKCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNo
aXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3ND
aGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWE1OTRh
OGJlMTNmMTc2ZjM5ODVhNzU4OTA3MTA2OWRlZGE2MjliCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3ND
aGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitU
ZXN0IHNwZWNpZnlpbmcgQXBwbGUgUGF5IGVycm9ycyBpbiByZXNwb25zZSB0byB0aGUgc2hpcHBp
bmdhZGRyZXNzY2hhbmdlIGV2ZW50LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
VGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIG51bGwgcGF5bWVudCBtZXRob2QgZXJy
b3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3Ro
IGlzIDAKKworVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGludmFsaWQgcGF5bWVu
dCBtZXRob2QgZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5l
cnJvcnMubGVuZ3RoIGlzIDAKKworVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIEFw
cGxlIFBheSBwYXltZW50IG1ldGhvZCBlcnJvcnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMgMgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29kZSBpcyAnYWRkcmVzc1Vuc2VydmljZWFibGUnCitQ
QVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIGlz
ICcnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250
YWN0RmllbGQgaXMgdW5kZWZpbmVkCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5h
dG9yLmVycm9yc1sxXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0ubWVzc2FnZSBpcyAnQXBwbGUg
UGF5IGVycm9yJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNb
MV0uY29udGFjdEZpZWxkIGlzICdwaG9uZXRpY05hbWUnCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50
RXJyb3JzVjMuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhiZjE2ODE1NjhkNDE3MjkwODI5ZWFjZWUyNzQxODNmZWU4OTA1ZDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMuaHRtbApAQCAtMCwwICsx
LDU5IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBjaGFyc2V0PSJ1
dGYtOCI+Cis8c2NyaXB0IHNyYz0iL2pzLXRlc3QtcmVzb3VyY2VzL3VpLWhlbHBlci5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3QuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBzcGVjaWZ5aW5n
IEFwcGxlIFBheSBlcnJvcnMgaW4gcmVzcG9uc2UgdG8gdGhlIHNoaXBwaW5nYWRkcmVzc2NoYW5n
ZSBldmVudC4iKTsKKword2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCithc3luYyBmdW5j
dGlvbiBydW5UZXN0cygpCit7CisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRh
dGUgd2l0aCBudWxsIHBheW1lbnQgbWV0aG9kIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWlsc1Vw
ZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLnBheW1lbnRN
ZXRob2RFcnJvcnMgPSBudWxsOworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRk
cmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgfSwgZGV0YWlsc1VwZGF0ZSk7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5n
dGgiLCAiMCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRE
ZXRhaWxzVXBkYXRlIHdpdGggaW52YWxpZCBwYXltZW50IG1ldGhvZCBlcnJvcnMuIik7CisgICAg
dmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7CisgICAgZGV0YWlsc1Vw
ZGF0ZS5wYXltZW50TWV0aG9kRXJyb3JzID0gWworICAgICAgICB7IH0sCisgICAgICAgIG51bGws
CisgICAgICAgIG5ldyBQcm9taXNlKCgpID0+IHsgfSksCisgICAgXTsKKyAgICBhd2FpdCB1cGRh
dGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7
IH0sIGRldGFpbHNVcGRhdGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjAiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBk
ZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIEFwcGxlIFBheSBwYXltZW50
IG1ldGhvZCBlcnJvcnMuIik7CisgICAgdmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnRE
ZXRhaWxzKCk7CisgICAgZGV0YWlsc1VwZGF0ZS5wYXltZW50TWV0aG9kRXJyb3JzID0gWworICAg
ICAgICBuZXcgQXBwbGVQYXlFcnJvcigiYWRkcmVzc1Vuc2VydmljZWFibGUiKSwKKyAgICAgICAg
bmV3IEFwcGxlUGF5RXJyb3IoInNoaXBwaW5nQ29udGFjdEludmFsaWQiLCAicGhvbmV0aWNOYW1l
IiwgIkFwcGxlIFBheSBlcnJvciIpLAorICAgIF07CisgICAgYXdhaXQgdXBkYXRlRGV0YWlsc09u
U2hpcHBpbmdBZGRyZXNzQ2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyB9LCBkZXRhaWxz
VXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzLmxlbmd0aCIsICIyIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVu
dENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIiwgIidhZGRyZXNzVW5zZXJ2aWNlYWJsZSciKTsK
KyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBd
Lm1lc3NhZ2UiLCAiJyciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCIsICJ1bmRlZmluZWQiKTsKKyAgICBzaG91
bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLmNvZGUiLCAi
J3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5tZXNzYWdlIiwgIidBcHBsZSBQYXkgZXJyb3In
Iik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1sxXS5jb250YWN0RmllbGQiLCAiJ3Bob25ldGljTmFtZSciKTsKKyAgICBkZWJ1ZygiIik7CisK
KyAgICBmaW5pc2hKU1Rlc3QoKTsKK30KKworcnVuVGVzdHMoKTsKKzwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpp
bmRleCA5YjE3MzgzNzE4YWE0ODdkYzNkODM5Y2FkMDAwZTU1OWRkMmNhNzMzLi5hNGZhNjZkMTBk
NTkwNTJmMzI5NzA5NjhjYWZkZGI3MGFjYmYyY2Q5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNiw2ICsyNiw3IEBAIGZhc3QvbWVkaWEv
bXEtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1saXZlLXVwZGF0ZS5odG1sIFsgUGFzcyBdCiBbIFNp
ZXJyYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblYzLmh0bWwgWyBT
a2lwIF0KIFsgU2llcnJhIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9u
VjQuaHRtbCBbIFNraXAgXQogWyBTaWVycmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBs
ZVBheVJlcXVlc3RTaGlwcGluZ0NvbnRhY3RWMy5odHRwcy5odG1sIFsgU2tpcCBdCitbIFNpZXJy
YSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdl
RXZlbnRFcnJvcnNWMy5odHRwcy5odG1sIFsgU2tpcCBdCiBbIEhpZ2hTaWVycmEgXSBodHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheUJ1dHRvblY0Lmh0bWwgWyBTa2lwIF0KIFsgSGlnaFNp
ZXJyYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvblY0Lmh0bWwgWyBT
a2lwIF0KIApAQCAtNzU3LDYgKzc1OCw3IEBAIHdlYmtpdC5vcmcvYi8xODU5OTQgWyBEZWJ1ZyBd
IGZhc3QvdGV4dC91c2VyLWluc3RhbGxlZC1mb250cy9zaGFkb3ctcG9zdHNjcmlwdC1mCiBbIEhp
Z2hTaWVycmErIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRt
bCBbIFBhc3MgXQogWyBNb2phdmUrIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uVjQuaHRtbCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2Fw
cGxlcGF5L0FwcGxlUGF5UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWwgWyBQYXNz
IF0KK1sgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBw
aW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzVjMuaHR0cHMuaHRtbCBbIFBhc3MgXQogIyA8cmRh
cjovL3Byb2JsZW0vMzE2MzQ0NTE+CiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzL2Nvb2tpZXMtd2l0aC1hbmQtd2l0aG91dC11c2VyLWludGVyYWN0aW9u
Lmh0bWwgWyBQYXNzIF0KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0
YXRpc3RpY3MvY29va2llLWRlbGV0aW9uLmh0bWwgWyBQYXNzIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>350969</attachid>
            <date>2018-09-27 09:26:26 -0700</date>
            <delta_ts>2018-09-27 09:44:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189938-20180927092623.patch</filename>
            <type>text/plain</type>
            <size>70031</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2NDYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDIwM2E3MTgzZmY2MTkw
ZTc1YWIzN2VjYzRhMmQ5YjU1ZmYxZTg0ZS4uYmE2YWU2OTgyOGY4OWNhYmQ2ZWFhM2U5MDhiYzg1
NGRjNDIwNzE0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE4LTA5LTI2ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBTdXBwb3J0
IGdyYW51bGFyIGVycm9ycyBpbiBQYXltZW50RGV0YWlsc1VwZGF0ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg5OTM4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgWW91ZW5uIEZhYmxldC4KKworICAgICAgICBJbXBsZW1lbnRlZCB0aGUgc2hpcHBpbmdB
ZGRyZXNzRXJyb3JzLCBwYXllckVycm9ycywgYW5kIHBheW1lbnRNZXRob2RFcnJvcnMgcHJvcGVy
dGllcyBvbgorICAgICAgICBQYXltZW50RGV0YWlsc1VwZGF0ZSwgYXMgc3BlY2lmaWVkIGluIHRo
ZSBQYXltZW50IFJlcXVlc3QgQVBJIFczQyBFZGl0b3IncyBEcmFmdCBvZgorICAgICAgICAyNiBT
ZXB0ZW1iZXIgMjAxOC4KKworICAgICAgICBXaGVuIHRoZXNlIGVycm9ycyBhcmUgc3BlY2lmaWVk
IGluIGEgUGF5bWVudERldGFpbHNVcGRhdGUsIG1hcCB0aGVtIHRvIFBheW1lbnRFcnJvcnMuIEZv
cgorICAgICAgICBzaGlwcGluZ0FkZHJlc3NFcnJvcnMgYW5kIHBheWVyRXJyb3JzLCB3ZSB1c2Ug
dGhlICJzaGlwcGluZ0NvbnRhY3RJbnZhbGlkIiBjb2RlIGFuZCBhCisgICAgICAgIGNvbnRhY3Qg
ZmllbGQgdGhhdCBtYXRjaGVzIHRoZSBzaGlwcGluZ0FkZHJlc3NFcnJvciBvciBwYXllckVycm9y
IHByb3BlcnR5IHNwZWNpZmllZC4KKworICAgICAgICBGb3IgcGF5bWVudE1ldGhvZEVycm9ycywg
d2UgaW50ZXJwcmV0IHRoaXMgYXMgYSBzZXF1ZW5jZSBvZiBBcHBsZVBheUVycm9ycywgd2hpY2gg
YXJlCisgICAgICAgIGNvbnZlcnRlZCB0byBQYXltZW50RXJyb3JzIGFzIGluIEFwcGxlIFBheSBK
Uy4KKworICAgICAgICBUZXN0czogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sCisgICAgICAgICAgICAgICBo
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50
RXJyb3JzVjMuaHR0cHMuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogUmVt
b3ZlZCBzb21lIHRhYnMgYW5kIGFkZGVkIG5ldyAuaWRsIGZpbGVzLgorICAgICAgICAqIE1vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGw6IE1vdmVkIEFwcGxlUGF5RXJyb3JDb2RlIGFu
ZCBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkCisgICAgICAgIGludG8gdGhlaXIgb3duIC5pZGwg
ZmlsZXMgc28gdGhleSBjYW4gYmUgdXNlZCBpbiBNb2NrUGF5bWVudEVycm9yLgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGw6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsOiBB
ZGRlZC4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjphcHBlbmRTaGlwcGluZ0Nv
bnRhY3RJbnZhbGlkRXJyb3IpOiBBcHBlbmRlZCBhICJzaGlwcGluZ0NvbnRhY3RJbnZhbGlkIgor
ICAgICAgICBQYXltZW50RXJyb3IgdG8gZXJyb3JzIGlmIHRoZSBtZXNzYWdlIGlzIG5vbi1udWxs
LgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6Y29tcHV0ZUVycm9y
cyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkZXRh
aWxzVXBkYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpz
aGlwcGluZ0FkZHJlc3NVcGRhdGVkKTogQ29tcHV0ZWQgYSB2ZWN0b3Igb2YgUGF5bWVudEVycm9y
cworICAgICAgICBiYXNlZCBvbiBzaGlwcGluZ0FkZHJlc3NFcnJvcnMsIHBheWVyRXJyb3JzLCBh
bmQgcGF5bWVudE1ldGhvZEVycm9ycy4KKworICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oOgorCisgICAgICAgICogTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oOgorICAgICAgICAqIE1vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRhdGUuaWRsOiBEZWZpbmVkIHNoaXBw
aW5nQWRkcmVzc0Vycm9ycywKKyAgICAgICAgcGF5ZXJFcnJvcnMsIGFuZCBwYXltZW50TWV0aG9k
RXJyb3JzLgorCisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxl
ci5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OnBheW1lbnRNZXRob2RDaGFuZ2Vk
KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlz
ZSk6IFBhc3NlZCBzaGlwcGluZ0FkZHJlc3NFcnJvcnMsIHBheWVyRXJyb3JzLAorICAgICAgICBh
bmQgcGF5bWVudE1ldGhvZEVycm9ycyB0byB0aGUgcGF5bWVudCBoYW5kbGVyLgorCisgICAgICAg
ICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisKKyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6TW9ja1BheW1lbnRDb29yZGluYXRvcjo6Y29tcGxldGVTaGlw
cGluZ0NvbnRhY3RTZWxlY3Rpb24pOiBTdG9yZWQgZXJyb3JzIGluIG1fZXJyb3JzLgorICAgICAg
ICAqIHRlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIHRlc3Rpbmcv
TW9ja1BheW1lbnRDb29yZGluYXRvci5pZGw6IEFkZGVkIGFuIGVycm9ycyBhdHRyaWJ1dGUuCisK
KyAgICAgICAgKiB0ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaDogQWRkZWQuCisgICAgICAgICog
dGVzdGluZy9Nb2NrUGF5bWVudEVycm9yLmlkbDogQWRkZWQuCisKIDIwMTgtMDktMjUgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW4gdXAgY29k
ZSBhcm91bmQgUmVuZGVyTGF5ZXIncyAiaGFzIGFjY2VsZXJhdGVkIHNjcm9sbGluZyIgZnVuY3Rp
b25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAzODIxNDBmMmNkYTIyYjA1ZjI5
MTg3MWI2NmVjNTdlODg5MWE5MjgyLi43YmM4NDNlMDc0NzQwYjBhMjY2Y2JkODkwMDhjYTU3MjNk
MDVjZjI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEsNCArMSw0IEBACi0j
IENvcHlyaWdodCAoQykgMjAwNi0yMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CiAjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5h
dT4KICMKQEAgLTkwLDI2ICs5MCwyOCBAQCBWUEFUSCA9IFwKIEpTX0JJTkRJTkdfSURMUyA9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWls
YWJpbGl0eUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5Q29udGFjdEZpZWxkLmlkbCBcCi0JJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5RXJyb3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlF
cnJvci5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9y
Q29kZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9y
Q29udGFjdEZpZWxkLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5TGluZUl0ZW0uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlNZXJjaGFudENhcGFiaWxpdHkuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemF0aW9uUmVzdWx0LmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6YXRpb25S
ZXN1bHQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXlt
ZW50Q29udGFjdC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRNZXRob2QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RUeXBlLmlkbCBcCi0JJChXZWJDb3Jl
KS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudE1ldGhvZFVwZGF0ZS5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50UGFz
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRS
ZXF1ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UmVx
dWVzdEJhc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
ZXNzaW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5pZGwgXAotCSQoV2ViQ29yZSkvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFVwZGF0ZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RT
ZWxlY3RlZEV2ZW50LmlkbCBcCi0JJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdNZXRob2RVcGRhdGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1vZGlmaWVy
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UmVxdWVzdC5pZGwgXApAQCAtOTgxLDYgKzk4Myw3IEBAIEpTX0JJTkRJTkdfSURMUyA9
IFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvTW9ja1BhZ2VPdmVybGF5LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS90ZXN0aW5nL01vY2tQYXltZW50QWRkcmVzcy5pZGwgXAogICAgICQoV2ViQ29yZSkv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS90ZXN0
aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5pZGwgXAogICAgICQoV2ViQ29yZSkvdGVzdGluZy9UeXBlQ29udmVy
c2lvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3IuaWRs
CmluZGV4IGYyODgxNTA5ZGFlOWU1ZjU2NmFhMjVlNzhjMDZjMWZjZTRmNTgzMzguLmY0YTlmNjRh
MmIzZDM3ODFlNDdiY2M5N2EzMDE2MjJkYjYwZWZiZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvci5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yLmlkbApAQCAtMjMsMzMgKzIzLDYgQEAK
ICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi1bCi0gICAgQ29uZGl0
aW9uYWw9QVBQTEVfUEFZX1NFU1NJT05fVjMsCi1dIGVudW0gQXBwbGVQYXlFcnJvckNvZGUgewot
ICAgICJ1bmtub3duIiwKLSAgICAic2hpcHBpbmdDb250YWN0SW52YWxpZCIsCi0gICAgImJpbGxp
bmdDb250YWN0SW52YWxpZCIsCi0gICAgImFkZHJlc3NVbnNlcnZpY2VhYmxlIgotfTsKLQotWwot
ICAgIENvbmRpdGlvbmFsPUFQUExFX1BBWV9TRVNTSU9OX1YzLAotXSBlbnVtIEFwcGxlUGF5RXJy
b3JDb250YWN0RmllbGQgewotICAgICJwaG9uZU51bWJlciIsCi0gICAgImVtYWlsQWRkcmVzcyIs
Ci0gICAgIm5hbWUiLAotICAgICJwaG9uZXRpY05hbWUiLAotICAgICJwb3N0YWxBZGRyZXNzIiwK
LSAgICAiYWRkcmVzc0xpbmVzIiwKLSAgICAic3ViTG9jYWxpdHkiLAotICAgICJsb2NhbGl0eSIs
Ci0gICAgInBvc3RhbENvZGUiLAotICAgICJzdWJBZG1pbmlzdHJhdGl2ZUFyZWEiLAotICAgICJh
ZG1pbmlzdHJhdGl2ZUFyZWEiLAotICAgICJjb3VudHJ5IiwKLSAgICAiY291bnRyeUNvZGUiCi19
OwotCiBbCiAgICAgQ29uc3RydWN0b3IoQXBwbGVQYXlFcnJvckNvZGUgZXJyb3JDb2RlLCBvcHRp
b25hbCBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkIGNvbnRhY3RGaWVsZCwgb3B0aW9uYWwgRE9N
U3RyaW5nIG1lc3NhZ2UgPSAiIiksCiAgICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NFU1NJT05f
VjMsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3JDb2RlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJy
b3JDb2RlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMmZhZWVmN2RjODdlMGRiZDJkOGJkYmM1ZTg3NmEyMTFiODVl
NmY2YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlFcnJvckNvZGUuaApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQorCisjaW5jbHVkZSAiQXBwbGVQYXlTZXNz
aW9uUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBBcHBs
ZVBheUVycm9yQ29kZSA9IFBheW1lbnRFcnJvcjo6Q29kZTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29kZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NGNkNDRmOGQ0MTJhZWVmZDM4N2IxODcxMmQwYzM4MjNkNTMyOGU4YgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlFcnJvckNvZGUuaWRs
CkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9QVBQTEVf
UEFZLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JULAorXSBlbnVtIEFwcGxlUGF5RXJy
b3JDb2RlIHsKKyAgICAidW5rbm93biIsCisgICAgInNoaXBwaW5nQ29udGFjdEludmFsaWQiLAor
ICAgICJiaWxsaW5nQ29udGFjdEludmFsaWQiLAorICAgICJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBw
bGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2YTcwZDA3MDdjYjlmNWFlNTdi
OTBkMmNjNDFmZjMwYWI3Y2ExMTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaApAQCAtMCwwICsxLDM4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoQVBQTEVfUEFZKQor
CisjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCit1c2luZyBBcHBsZVBheUVycm9yQ29udGFjdEZpZWxkID0gUGF5bWVudEVy
cm9yOjpDb250YWN0RmllbGQ7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
YzBkMDRhMjE4NzAxMThlNDhlNmRhZGNhYjMyYjMxMTM2NzlkNDAwCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUVycm9yQ29udGFjdEZp
ZWxkLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PUFQUExFX1BBWSwKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKK10gZW51bSBBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkIHsKKyAgICAicGhvbmVOdW1iZXIiLAorICAgICJlbWFpbEFk
ZHJlc3MiLAorICAgICJuYW1lIiwKKyAgICAicGhvbmV0aWNOYW1lIiwKKyAgICAicG9zdGFsQWRk
cmVzcyIsCisgICAgImFkZHJlc3NMaW5lcyIsCisgICAgInN1YkxvY2FsaXR5IiwKKyAgICAibG9j
YWxpdHkiLAorICAgICJwb3N0YWxDb2RlIiwKKyAgICAic3ViQWRtaW5pc3RyYXRpdmVBcmVhIiwK
KyAgICAiYWRtaW5pc3RyYXRpdmVBcmVhIiwKKyAgICAiY291bnRyeSIsCisgICAgImNvdW50cnlD
b2RlIgorfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3Bw
CmluZGV4IGJkNmZmZTE2NGI1ZGI2NjQ3M2IyMGM5YjY2YzI2NmViNDMxYjY2NTkuLjhmNTc1MDA4
MDk0MjA2OGE2Yzg4NWI3NWNjNGZiMTJmYTY4M2JiNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5B
QkxFKEFQUExFX1BBWSkgJiYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKIAorI2luY2x1ZGUgIkFk
ZHJlc3NFcnJvcnMuaCIKICNpbmNsdWRlICJBcHBsZVBheUNvbnRhY3RGaWVsZC5oIgogI2luY2x1
ZGUgIkFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNb2Rp
Zmllci5oIgpAQCAtMzYsMTIgKzM3LDE0IEBACiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJKU0FwcGxl
UGF5RXJyb3IuaCIKICNpbmNsdWRlICJKU0FwcGxlUGF5UGF5bWVudC5oIgogI2luY2x1ZGUgIkpT
QXBwbGVQYXlQYXltZW50TWV0aG9kLmgiCiAjaW5jbHVkZSAiSlNBcHBsZVBheVJlcXVlc3QuaCIK
ICNpbmNsdWRlICJMaW5rSWNvbkNvbGxlY3Rvci5oIgogI2luY2x1ZGUgIk1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlBheWVyRXJyb3JGaWVs
ZHMuaCIKICNpbmNsdWRlICJQYXltZW50LmgiCiAjaW5jbHVkZSAiUGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXMuaCIKICNpbmNsdWRlICJQYXltZW50Q29udGFjdC5oIgpAQCAtMzA5LDE0ICszMTIs
NjcgQEAgRXhjZXB0aW9uT3I8QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5k
TGluZUl0ZW1zPiBBcHBsZVBheVBheW1lbnRIYW4KICAgICByZXR1cm4gQXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OlRvdGFsQW5kTGluZUl0ZW1zIHsgV1RGTW92ZSh0b3RhbCksIFdURk1v
dmUobGluZUl0ZW1zKSB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpkZXRhaWxzVXBkYXRlZChQYXltZW50UmVxdWVzdDo6VXBkYXRlUmVhc29uIHJlYXNv
biwgY29uc3QgU3RyaW5nJiBlcnJvcikKK3N0YXRpYyBpbmxpbmUgdm9pZCBhcHBlbmRTaGlwcGlu
Z0NvbnRhY3RJbnZhbGlkRXJyb3IoU3RyaW5nJiYgbWVzc2FnZSwgc3RkOjpvcHRpb25hbDxQYXlt
ZW50RXJyb3I6OkNvbnRhY3RGaWVsZD4gY29udGFjdEZpZWxkLCBWZWN0b3I8UGF5bWVudEVycm9y
PiYgZXJyb3JzKQoreworICAgIGlmICghbWVzc2FnZS5pc051bGwoKSkKKyAgICAgICAgZXJyb3Jz
LmFwcGVuZCh7IFBheW1lbnRFcnJvcjo6Q29kZTo6U2hpcHBpbmdDb250YWN0SW52YWxpZCwgV1RG
TW92ZShtZXNzYWdlKSwgV1RGTW92ZShjb250YWN0RmllbGQpIH0pOworfQorCitWZWN0b3I8UGF5
bWVudEVycm9yPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjb21wdXRlRXJyb3JzKFN0cmluZyYm
IGVycm9yLCBBZGRyZXNzRXJyb3JzJiYgYWRkcmVzc0Vycm9ycywgUGF5ZXJFcnJvckZpZWxkcyYm
IHBheWVyRXJyb3JzLCBKU0M6OkpTT2JqZWN0KiBwYXltZW50TWV0aG9kRXJyb3JzKSBjb25zdAor
eworICAgIFZlY3RvcjxQYXltZW50RXJyb3I+IGVycm9yczsKKworICAgIGF1dG8mIG9wdGlvbnMg
PSBtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9ucygpOworICAgIHVzaW5nIENvbnRhY3RG
aWVsZCA9IFBheW1lbnRFcnJvcjo6Q29udGFjdEZpZWxkOworCisgICAgaWYgKG9wdGlvbnMucmVx
dWVzdFNoaXBwaW5nICYmIG1fcGF5bWVudFJlcXVlc3QtPnBheW1lbnREZXRhaWxzKCkuc2hpcHBp
bmdPcHRpb25zLmlzRW1wdHkoKSkgeworICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZh
bGlkRXJyb3IoV1RGTW92ZShlcnJvciksIHN0ZDo6bnVsbG9wdCwgZXJyb3JzKTsKKyAgICAgICAg
YXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5h
ZGRyZXNzTGluZSksIENvbnRhY3RGaWVsZDo6QWRkcmVzc0xpbmVzLCBlcnJvcnMpOworICAgICAg
ICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3Jz
LmNpdHkpLCBDb250YWN0RmllbGQ6OkxvY2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRT
aGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLmNvdW50cnkp
LCBDb250YWN0RmllbGQ6OkNvdW50cnksIGVycm9ycyk7CisgICAgICAgIGFwcGVuZFNoaXBwaW5n
Q29udGFjdEludmFsaWRFcnJvcihXVEZNb3ZlKGFkZHJlc3NFcnJvcnMuZGVwZW5kZW50TG9jYWxp
dHkpLCBDb250YWN0RmllbGQ6OlN1YkxvY2FsaXR5LCBlcnJvcnMpOworICAgICAgICBhcHBlbmRT
aGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLnBob25lKSwg
Q29udGFjdEZpZWxkOjpQaG9uZU51bWJlciwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBp
bmdDb250YWN0SW52YWxpZEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5wb3N0YWxDb2RlKSwg
Q29udGFjdEZpZWxkOjpQb3N0YWxDb2RlLCBlcnJvcnMpOworICAgICAgICBhcHBlbmRTaGlwcGlu
Z0NvbnRhY3RJbnZhbGlkRXJyb3IoV1RGTW92ZShhZGRyZXNzRXJyb3JzLnJlY2lwaWVudCksIENv
bnRhY3RGaWVsZDo6TmFtZSwgZXJyb3JzKTsKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0
SW52YWxpZEVycm9yKFdURk1vdmUoYWRkcmVzc0Vycm9ycy5yZWdpb24pLCBDb250YWN0RmllbGQ6
OkFkbWluaXN0cmF0aXZlQXJlYSwgZXJyb3JzKTsKKyAgICB9CisKKyAgICBpZiAob3B0aW9ucy5y
ZXF1ZXN0UGF5ZXJOYW1lKQorICAgICAgICBhcHBlbmRTaGlwcGluZ0NvbnRhY3RJbnZhbGlkRXJy
b3IoV1RGTW92ZShwYXllckVycm9ycy5uYW1lKSwgQ29udGFjdEZpZWxkOjpOYW1lLCBlcnJvcnMp
OworCisgICAgaWYgKG9wdGlvbnMucmVxdWVzdFBheWVyRW1haWwpCisgICAgICAgIGFwcGVuZFNo
aXBwaW5nQ29udGFjdEludmFsaWRFcnJvcihXVEZNb3ZlKHBheWVyRXJyb3JzLmVtYWlsKSwgQ29u
dGFjdEZpZWxkOjpFbWFpbEFkZHJlc3MsIGVycm9ycyk7CisKKyAgICBpZiAob3B0aW9ucy5yZXF1
ZXN0UGF5ZXJQaG9uZSkKKyAgICAgICAgYXBwZW5kU2hpcHBpbmdDb250YWN0SW52YWxpZEVycm9y
KFdURk1vdmUocGF5ZXJFcnJvcnMucGhvbmUpLCBDb250YWN0RmllbGQ6OlBob25lTnVtYmVyLCBl
cnJvcnMpOworCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TRVNTSU9OX1YzKQorICAgIGlmIChwYXlt
ZW50TWV0aG9kRXJyb3JzKSB7CisgICAgICAgIGF1dG8mIGNvbnRleHQgPSAqc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOworICAgICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1ND
T1BFKGNvbnRleHQudm0oKSk7CisgICAgICAgIGF1dG8gYXBwbGVQYXlFcnJvcnMgPSBjb252ZXJ0
PElETFNlcXVlbmNlPElETEludGVyZmFjZTxBcHBsZVBheUVycm9yPj4+KCpjb250ZXh0LmV4ZWNT
dGF0ZSgpLCBwYXltZW50TWV0aG9kRXJyb3JzKTsKKyAgICAgICAgaWYgKCF0aHJvd1Njb3BlLmV4
Y2VwdGlvbigpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8mIGFwcGxlUGF5RXJyb3IgOiBhcHBs
ZVBheUVycm9ycykgeworICAgICAgICAgICAgICAgIGlmIChhcHBsZVBheUVycm9yKQorICAgICAg
ICAgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKHsgYXBwbGVQYXlFcnJvci0+Y29kZSgpLCBhcHBs
ZVBheUVycm9yLT5tZXNzYWdlKCksIGFwcGxlUGF5RXJyb3ItPmNvbnRhY3RGaWVsZCgpIH0pOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0o
cGF5bWVudE1ldGhvZEVycm9ycyk7CisjZW5kaWYKKworICAgIHJldHVybiBlcnJvcnM7Cit9CisK
K0V4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVk
KFBheW1lbnRSZXF1ZXN0OjpVcGRhdGVSZWFzb24gcmVhc29uLCBTdHJpbmcmJiBlcnJvciwgQWRk
cmVzc0Vycm9ycyYmIGFkZHJlc3NFcnJvcnMsIFBheWVyRXJyb3JGaWVsZHMmJiBwYXllckVycm9y
cywgSlNDOjpKU09iamVjdCogcGF5bWVudE1ldGhvZEVycm9ycykKIHsKICAgICB1c2luZyBSZWFz
b24gPSBQYXltZW50UmVxdWVzdDo6VXBkYXRlUmVhc29uOwogICAgIHN3aXRjaCAocmVhc29uKSB7
CiAgICAgY2FzZSBSZWFzb246OlNob3dEZXRhaWxzUmVzb2x2ZWQ6CiAgICAgICAgIHJldHVybiB7
IH07CiAgICAgY2FzZSBSZWFzb246OlNoaXBwaW5nQWRkcmVzc0NoYW5nZWQ6Ci0gICAgICAgIHJl
dHVybiBzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGVycm9yKTsKKyAgICAgICAgcmV0dXJuIHNoaXBw
aW5nQWRkcmVzc1VwZGF0ZWQoY29tcHV0ZUVycm9ycyhXVEZNb3ZlKGVycm9yKSwgV1RGTW92ZShh
ZGRyZXNzRXJyb3JzKSwgV1RGTW92ZShwYXllckVycm9ycyksIHBheW1lbnRNZXRob2RFcnJvcnMp
KTsKICAgICBjYXNlIFJlYXNvbjo6U2hpcHBpbmdPcHRpb25DaGFuZ2VkOgogICAgICAgICByZXR1
cm4gc2hpcHBpbmdPcHRpb25VcGRhdGVkKCk7CiAgICAgY2FzZSBSZWFzb246OlBheW1lbnRNZXRo
b2RDaGFuZ2VkOgpAQCAtMzQ0LDE5ICs0MDAsMTMgQEAgRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQ
YXlQYXltZW50SGFuZGxlcjo6bWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxldGVkKEpTQzo6SlNWYWwK
ICAgICByZXR1cm4geyB9OwogfQogCi1FeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRhdGVkKGNvbnN0IFN0cmluZyYgZXJyb3IpCitFeGNl
cHRpb25Pcjx2b2lkPiBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpzaGlwcGluZ0FkZHJlc3NVcGRh
dGVkKFZlY3RvcjxQYXltZW50RXJyb3I+JiYgZXJyb3JzKQogewogICAgIEFTU0VSVChtX2lzVXBk
YXRpbmcpOwogICAgIG1faXNVcGRhdGluZyA9IGZhbHNlOwogCiAgICAgU2hpcHBpbmdDb250YWN0
VXBkYXRlIHVwZGF0ZTsKLQotICAgIGlmIChtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50T3B0aW9u
cygpLnJlcXVlc3RTaGlwcGluZyAmJiBtX3BheW1lbnRSZXF1ZXN0LT5wYXltZW50RGV0YWlscygp
LnNoaXBwaW5nT3B0aW9ucy5pc0VtcHR5KCkpIHsKLSAgICAgICAgUGF5bWVudEVycm9yIHBheW1l
bnRFcnJvcjsKLSAgICAgICAgcGF5bWVudEVycm9yLmNvZGUgPSBQYXltZW50RXJyb3I6OkNvZGU6
OlNoaXBwaW5nQ29udGFjdEludmFsaWQ7Ci0gICAgICAgIHBheW1lbnRFcnJvci5tZXNzYWdlID0g
ZXJyb3I7Ci0gICAgICAgIHVwZGF0ZS5lcnJvcnMuYXBwZW5kKFdURk1vdmUocGF5bWVudEVycm9y
KSk7Ci0gICAgfQorICAgIHVwZGF0ZS5lcnJvcnMgPSBXVEZNb3ZlKGVycm9ycyk7CiAKICAgICBh
dXRvIG5ld1RvdGFsQW5kTGluZUl0ZW1zID0gY29tcHV0ZVRvdGFsQW5kTGluZUl0ZW1zKCk7CiAg
ICAgaWYgKG5ld1RvdGFsQW5kTGluZUl0ZW1zLmhhc0V4Y2VwdGlvbigpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBh
eW1lbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAppbmRleCA0NzUzZjBkNWIwYzE3MzM2NmJk
ODhkNDE3MWFmMmIyOGY3M2I0Yjc4Li45MDdlOGE3YjkwODE3NjZlOGMxNGY3ZGM4ZWI0YWJlNjI5
NWY2MTljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaApA
QCAtNTMsOCArNTMsOSBAQCBwcml2YXRlOgogICAgIFBheW1lbnRDb29yZGluYXRvciYgcGF5bWVu
dENvb3JkaW5hdG9yKCkgY29uc3Q7CiAKICAgICBFeGNlcHRpb25PcjxBcHBsZVBheVNlc3Npb25Q
YXltZW50UmVxdWVzdDo6VG90YWxBbmRMaW5lSXRlbXM+IGNvbXB1dGVUb3RhbEFuZExpbmVJdGVt
cygpOworICAgIFZlY3RvcjxQYXltZW50RXJyb3I+IGNvbXB1dGVFcnJvcnMoU3RyaW5nJiYgZXJy
b3IsIEFkZHJlc3NFcnJvcnMmJiwgUGF5ZXJFcnJvckZpZWxkcyYmLCBKU0M6OkpTT2JqZWN0KiBw
YXltZW50TWV0aG9kRXJyb3JzKSBjb25zdDsKIAotICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNoaXBw
aW5nQWRkcmVzc1VwZGF0ZWQoY29uc3QgU3RyaW5nJiBlcnJvcik7CisgICAgRXhjZXB0aW9uT3I8
dm9pZD4gc2hpcHBpbmdBZGRyZXNzVXBkYXRlZChWZWN0b3I8UGF5bWVudEVycm9yPiYmIGVycm9y
cyk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gc2hpcHBpbmdPcHRpb25VcGRhdGVkKCk7CiAgICAg
RXhjZXB0aW9uT3I8dm9pZD4gcGF5bWVudE1ldGhvZFVwZGF0ZWQoKTsKIApAQCAtNjMsNyArNjQs
NyBAQCBwcml2YXRlOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHNob3coKSBmaW5hbDsKICAgICB2
b2lkIGhpZGUoKSBmaW5hbDsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50KFdURjo6RnVuY3Rpb248
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7Ci0gICAgRXhjZXB0aW9uT3I8
dm9pZD4gZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJlcXVlc3Q6OlVwZGF0ZVJlYXNvbiwgY29uc3Qg
U3RyaW5nJiBlcnJvcikgZmluYWw7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0
ZWQoUGF5bWVudFJlcXVlc3Q6OlVwZGF0ZVJlYXNvbiwgU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NF
cnJvcnMmJiwgUGF5ZXJFcnJvckZpZWxkcyYmLCBKU0M6OkpTT2JqZWN0KiBwYXltZW50TWV0aG9k
RXJyb3JzKSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBtZXJjaGFudFZhbGlkYXRpb25D
b21wbGV0ZWQoSlNDOjpKU1ZhbHVlJiYpIGZpbmFsOwogICAgIHZvaWQgY29tcGxldGUoc3RkOjpv
cHRpb25hbDxQYXltZW50Q29tcGxldGU+JiYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRl
LmgKaW5kZXggZjY4MzdhY2QwMjljYzkxYzg5NjczNDA3ODgyMDdmNTFjMmNkOTY5Mi4uMTIxMjc3
NWYyZjFlNmY5ZjJkNDQyNzc4MTM0MWE0NmEwODVkZWUxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50RGV0YWlsc1VwZGF0ZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRh
dGUuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3LTIwMTggQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yNywxNSArMjcsMjAgQEAKIAogI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCiAKKyNp
bmNsdWRlICJBZGRyZXNzRXJyb3JzLmgiCisjaW5jbHVkZSAiUGF5ZXJFcnJvckZpZWxkcy5oIgog
I2luY2x1ZGUgIlBheW1lbnREZXRhaWxzQmFzZS5oIgogI2luY2x1ZGUgIlBheW1lbnRJdGVtLmgi
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotc3RydWN0IFBheW1lbnREZXRhaWxzVXBkYXRlIGZpbmFsIDogcHVibGljIFBheW1lbnREZXRh
aWxzQmFzZSB7CitzdHJ1Y3QgUGF5bWVudERldGFpbHNVcGRhdGUgZmluYWwgOiBQYXltZW50RGV0
YWlsc0Jhc2UgewogICAgIFN0cmluZyBlcnJvcjsKICAgICBQYXltZW50SXRlbSB0b3RhbDsKKyAg
ICBBZGRyZXNzRXJyb3JzIHNoaXBwaW5nQWRkcmVzc0Vycm9yczsKKyAgICBQYXllckVycm9yRmll
bGRzIHBheWVyRXJyb3JzOworICAgIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+IHBheW1lbnRN
ZXRob2RFcnJvcnM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnREZXRhaWxzVXBkYXRl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFp
bHNVcGRhdGUuaWRsCmluZGV4IDNiODdjODg4YzgyM2YxZGVlM2M1ODBmOTBkMjc3YWUzNTg4NGJk
YmYuLmEzOGJkZTU0YmZlYThhNjA4NmNkZmNkNTUzYjJmY2E2MDRkZDViYzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudERldGFpbHNVcGRh
dGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVu
dERldGFpbHNVcGRhdGUuaWRsCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTctMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDQgKzI4LDcgQEAKIF0gZGljdGlvbmFyeSBQYXltZW50RGV0
YWlsc1VwZGF0ZSA6IFBheW1lbnREZXRhaWxzQmFzZSB7CiAgICAgRE9NU3RyaW5nIGVycm9yOwog
ICAgIFBheW1lbnRJdGVtIHRvdGFsOworICAgIEFkZHJlc3NFcnJvcnMgc2hpcHBpbmdBZGRyZXNz
RXJyb3JzOworICAgIFBheWVyRXJyb3JGaWVsZHMgcGF5ZXJFcnJvcnM7CisgICAgb2JqZWN0IHBh
eW1lbnRNZXRob2RFcnJvcnM7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5oCmluZGV4IDQyOTczZjllMTZmZDQ4N2M3
MWMzMGQ3OTgwODcwNjAyNDkyODI5MDUuLjE3MzU4NzJhMTQ1MjBkMGM5YWY0NTY4ZjJkYWMyODBi
YWE5M2IzZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVl
c3QvUGF5bWVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmgKQEAgLTM4LDYgKzM4LDggQEAgY2xhc3MgSlNWYWx1ZTsK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitzdHJ1Y3QgQWRkcmVzc0Vy
cm9yczsKK3N0cnVjdCBQYXllckVycm9yRmllbGRzOwogCiBjbGFzcyBQYXltZW50SGFuZGxlciA6
IHB1YmxpYyB2aXJ0dWFsIFBheW1lbnRTZXNzaW9uQmFzZSB7CiBwdWJsaWM6CkBAIC00OSw3ICs1
MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IHNob3coKSA9IDA7
CiAgICAgdmlydHVhbCB2b2lkIGhpZGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNhbk1ha2VQ
YXltZW50KFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgPSAw
OwotICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJl
cXVlc3Q6OlVwZGF0ZVJlYXNvbiwgY29uc3QgU3RyaW5nJiBlcnJvcikgPSAwOworICAgIHZpcnR1
YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0ZWQoUGF5bWVudFJlcXVlc3Q6OlVwZGF0
ZVJlYXNvbiwgU3RyaW5nJiYgZXJyb3IsIEFkZHJlc3NFcnJvcnMmJiwgUGF5ZXJFcnJvckZpZWxk
cyYmLCBKU0M6OkpTT2JqZWN0KiBwYXltZW50TWV0aG9kRXJyb3JzKSA9IDA7CiAgICAgdmlydHVh
bCBFeGNlcHRpb25Pcjx2b2lkPiBtZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1Zh
bHVlJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY29tcGxldGUoc3RkOjpvcHRpb25hbDxQYXlt
ZW50Q29tcGxldGU+JiYpID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCmluZGV4IDYxZGEwYzgwYzA1
YzY4OWNlYmM0OWIzNGVkYzhlMzI3ZTQxNmU3ZDAuLjQzOTgwY2ZiMjBhM2Q4Y2U4OWEzMjk0NTk4
OWU3YTJkYzRlYzA1NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwCkBAIC01NTksNyArNTU5LDcgQEAgdm9p
ZCBQYXltZW50UmVxdWVzdDo6cGF5bWVudE1ldGhvZENoYW5nZWQoY29uc3QgU3RyaW5nJiBtZXRo
b2ROYW1lLCBQYXltZW50TWV0aG8KICAgICAgICAgaWYgKGhhc0V2ZW50TGlzdGVuZXJzKGV2ZW50
TmFtZSkpCiAgICAgICAgICAgICBkaXNwYXRjaEV2ZW50KFBheW1lbnRNZXRob2RDaGFuZ2VFdmVu
dDo6Y3JlYXRlKGV2ZW50TmFtZSwgbWV0aG9kTmFtZSwgV1RGTW92ZShtZXRob2REZXRhaWxzRnVu
Y3Rpb24pKSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYWN0aXZlUGF5bWVudEhhbmRs
ZXItPmRldGFpbHNVcGRhdGVkKFVwZGF0ZVJlYXNvbjo6UGF5bWVudE1ldGhvZENoYW5nZWQsIHsg
fSk7CisgICAgICAgICAgICBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyLT5kZXRhaWxzVXBkYXRlZChV
cGRhdGVSZWFzb246OlBheW1lbnRNZXRob2RDaGFuZ2VkLCB7IH0sIHsgfSwgeyB9LCB7IH0pOwog
ICAgIH0pOwogfQogCkBAIC02MjcsMTkgKzYyNywxOSBAQCB2b2lkIFBheW1lbnRSZXF1ZXN0Ojpz
ZXR0bGVEZXRhaWxzUHJvbWlzZShVcGRhdGVSZWFzb24gcmVhc29uKQogCiAgICAgYXV0byYgY29u
dGV4dCA9ICptX2RldGFpbHNQcm9taXNlLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7CiAgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRShjb250ZXh0LnZtKCkpOwotICAg
IGF1dG8gcGF5bWVudERldGFpbHNVcGRhdGUgPSBjb252ZXJ0RGljdGlvbmFyeTxQYXltZW50RGV0
YWlsc1VwZGF0ZT4oKmNvbnRleHQuZXhlY1N0YXRlKCksIG1fZGV0YWlsc1Byb21pc2UtPnJlc3Vs
dCgpKTsKKyAgICBhdXRvIGRldGFpbHNVcGRhdGUgPSBjb252ZXJ0RGljdGlvbmFyeTxQYXltZW50
RGV0YWlsc1VwZGF0ZT4oKmNvbnRleHQuZXhlY1N0YXRlKCksIG1fZGV0YWlsc1Byb21pc2UtPnJl
c3VsdCgpKTsKICAgICBpZiAodGhyb3dTY29wZS5leGNlcHRpb24oKSkgewogICAgICAgICBhYm9y
dFdpdGhFeGNlcHRpb24oRXhjZXB0aW9uIHsgRXhpc3RpbmdFeGNlcHRpb25FcnJvciB9KTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gdG90YWxSZXN1bHQgPSBjaGVja0FuZENh
bm9uaWNhbGl6ZVRvdGFsKHBheW1lbnREZXRhaWxzVXBkYXRlLnRvdGFsLmFtb3VudCk7CisgICAg
YXV0byB0b3RhbFJlc3VsdCA9IGNoZWNrQW5kQ2Fub25pY2FsaXplVG90YWwoZGV0YWlsc1VwZGF0
ZS50b3RhbC5hbW91bnQpOwogICAgIGlmICh0b3RhbFJlc3VsdC5oYXNFeGNlcHRpb24oKSkgewog
ICAgICAgICBhYm9ydFdpdGhFeGNlcHRpb24odG90YWxSZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gZGV0YWlsc1Jlc3VsdCA9IGNo
ZWNrQW5kQ2Fub25pY2FsaXplRGV0YWlscygqY29udGV4dC5leGVjU3RhdGUoKSwgcGF5bWVudERl
dGFpbHNVcGRhdGUsIG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcsIFNob3VsZFZhbGlkYXRlUGF5
bWVudE1ldGhvZElkZW50aWZpZXI6Olllcyk7CisgICAgYXV0byBkZXRhaWxzUmVzdWx0ID0gY2hl
Y2tBbmRDYW5vbmljYWxpemVEZXRhaWxzKCpjb250ZXh0LmV4ZWNTdGF0ZSgpLCBkZXRhaWxzVXBk
YXRlLCBtX29wdGlvbnMucmVxdWVzdFNoaXBwaW5nLCBTaG91bGRWYWxpZGF0ZVBheW1lbnRNZXRo
b2RJZGVudGlmaWVyOjpZZXMpOwogICAgIGlmIChkZXRhaWxzUmVzdWx0Lmhhc0V4Y2VwdGlvbigp
KSB7CiAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbihkZXRhaWxzUmVzdWx0LnJlbGVhc2VFeGNl
cHRpb24oKSk7CiAgICAgICAgIHJldHVybjsKQEAgLTY0NywxNyArNjQ3LDE3IEBAIHZvaWQgUGF5
bWVudFJlcXVlc3Q6OnNldHRsZURldGFpbHNQcm9taXNlKFVwZGF0ZVJlYXNvbiByZWFzb24pCiAK
ICAgICBhdXRvIHNoaXBwaW5nT3B0aW9uQW5kTW9kaWZpZXJEYXRhID0gZGV0YWlsc1Jlc3VsdC5y
ZWxlYXNlUmV0dXJuVmFsdWUoKTsKIAotICAgIG1fZGV0YWlscy50b3RhbCA9IFdURk1vdmUocGF5
bWVudERldGFpbHNVcGRhdGUudG90YWwpOwotICAgIG1fZGV0YWlscy5kaXNwbGF5SXRlbXMgPSBX
VEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLmRpc3BsYXlJdGVtcyk7CisgICAgbV9kZXRhaWxz
LnRvdGFsID0gV1RGTW92ZShkZXRhaWxzVXBkYXRlLnRvdGFsKTsKKyAgICBtX2RldGFpbHMuZGlz
cGxheUl0ZW1zID0gV1RGTW92ZShkZXRhaWxzVXBkYXRlLmRpc3BsYXlJdGVtcyk7CiAgICAgaWYg
KG1fb3B0aW9ucy5yZXF1ZXN0U2hpcHBpbmcpIHsKLSAgICAgICAgbV9kZXRhaWxzLnNoaXBwaW5n
T3B0aW9ucyA9IFdURk1vdmUocGF5bWVudERldGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zKTsK
KyAgICAgICAgbV9kZXRhaWxzLnNoaXBwaW5nT3B0aW9ucyA9IFdURk1vdmUoZGV0YWlsc1VwZGF0
ZS5zaGlwcGluZ09wdGlvbnMpOwogICAgICAgICBtX3NoaXBwaW5nT3B0aW9uID0gV1RGTW92ZShz
dGQ6OmdldDwwPihzaGlwcGluZ09wdGlvbkFuZE1vZGlmaWVyRGF0YSkpOwogICAgIH0KIAotICAg
IG1fZGV0YWlscy5tb2RpZmllcnMgPSBXVEZNb3ZlKHBheW1lbnREZXRhaWxzVXBkYXRlLm1vZGlm
aWVycyk7CisgICAgbV9kZXRhaWxzLm1vZGlmaWVycyA9IFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5t
b2RpZmllcnMpOwogICAgIG1fc2VyaWFsaXplZE1vZGlmaWVyRGF0YSA9IFdURk1vdmUoc3RkOjpn
ZXQ8MT4oc2hpcHBpbmdPcHRpb25BbmRNb2RpZmllckRhdGEpKTsKIAotICAgIGF1dG8gcmVzdWx0
ID0gbV9hY3RpdmVQYXltZW50SGFuZGxlci0+ZGV0YWlsc1VwZGF0ZWQocmVhc29uLCBwYXltZW50
RGV0YWlsc1VwZGF0ZS5lcnJvcik7CisgICAgYXV0byByZXN1bHQgPSBtX2FjdGl2ZVBheW1lbnRI
YW5kbGVyLT5kZXRhaWxzVXBkYXRlZChyZWFzb24sIFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5lcnJv
ciksIFdURk1vdmUoZGV0YWlsc1VwZGF0ZS5zaGlwcGluZ0FkZHJlc3NFcnJvcnMpLCBXVEZNb3Zl
KGRldGFpbHNVcGRhdGUucGF5ZXJFcnJvcnMpLCBkZXRhaWxzVXBkYXRlLnBheW1lbnRNZXRob2RF
cnJvcnMuZ2V0KCkpOwogICAgIGlmIChyZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKICAgICAgICAg
YWJvcnRXaXRoRXhjZXB0aW9uKHJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwogICAgICAgICBy
ZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRleCBkN2MwYWM3YjNkYmE5MDI5M2M2MjVh
N2QwN2RkM2U1ZjdjMjk5NWMxLi43Nzc2MGZmNmRhOGNlOGRiZTRjMmZhMzM1YmVkYmQzYzhlMDVj
MWViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAgLTEsNCArMSw0IEBACi0vLyBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLy8gQ29weXJpZ2h0
IChDKSAyMDE3LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogLy8KIC8vIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogLy8gbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01ODgsNiArNTg4LDggQEAgcGxhdGZvcm0vbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyQ29jb2EuY3BwCiAKICAgICBKU0FwcGxl
UGF5Q29udGFjdEZpZWxkLmNwcAogICAgIEpTQXBwbGVQYXlFcnJvci5jcHAKKyAgICBKU0FwcGxl
UGF5RXJyb3JDb2RlLmNwcAorICAgIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAKICAg
ICBKU0FwcGxlUGF5TGluZUl0ZW0uY3BwCiAgICAgSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0
eS5jcHAKICAgICBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggY2NhMzE1NzM2ZTkwZjQ3ZDY0
NTJiOWE2MzJlNWU4YTFkNzk1MDZhMy4uZWYyMzMxYTliMWY3MDY4NDdlODE2YTdhMjU4MjRhN2Ez
NzI2ZTFlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMjk1NCw2ICsyOTU0LDEzIEBACiAJCUExQUZFREU3MUY4QkZGNkQwMDg3
MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQUZFREU1MUY4QkZGNkQwMDg3MDEzRiAvKiBNb2Nr
UGF5bWVudENvb3JkaW5hdG9yLmNwcCAqLzsgfTsKIAkJQTFCNUIyOUUxQUFBODQ2RTAwOEI2MDQy
IC8qIE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCNUIyOUMxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tD
b250ZW50RmlsdGVyU2V0dGluZ3MuY3BwICovOyB9OwogCQlBMUI1QjI5RjFBQUE4NDZGMDA4QjYw
NDIgLyogTW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCNUIyOUQxQUFBODQ2RTAwOEI2MDQyIC8qIE1vY2tD
b250ZW50RmlsdGVyU2V0dGluZ3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlBMUJCODU5QzIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJv
ckNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEEx
QkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29kZS5oICovOyB9OworCQlB
MUJCODVBMzIxNTlBRjU3MDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTFCQjg1QTAyMTU5
QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQuaCAqLzsgfTsKKwkJQTFC
Qjg1QTkyMTU5QjAyQzAwNjdFMDdEIC8qIE1vY2tQYXltZW50RXJyb3IuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4NUE2MjE1OUIwMkMwMDY3RTA3
RCAvKiBNb2NrUGF5bWVudEVycm9yLmggKi87IH07CisJCUExQkI4NUIyMjE1OUIxQTEwMDY3RTA3
RCAvKiBKU0FwcGxlUGF5RXJyb3JDb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBBMUJCODVBRTIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVy
cm9yQ29kZS5oICovOyB9OworCQlBMUJCODVCMzIxNTlCMUExMDA2N0UwN0QgLyogSlNBcHBsZVBh
eUVycm9yQ29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBMUJCODVBRjIxNTlCMUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29u
dGFjdEZpZWxkLmggKi87IH07CisJCUExQkI4NUI4MjE1OUIzQTQwMDY3RTA3RCAvKiBKU01vY2tQ
YXltZW50RXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFCQjg1QjQyMTU5QjM4OTAwNjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAg
Ki87IH07CisJCUExQkI4NUI5MjE1OUIzQUUwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkI4NUI1
MjE1OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLzsgfTsKIAkJQTFCRjZC
ODIxQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExQkY2QjgwMUFBOTZDN0QwMEFGNEE4
QSAvKiBNb2NrQ29udGVudEZpbHRlci5jcHAgKi87IH07CiAJCUExQkY2QjgzMUFBOTZDN0QwMEFG
NEE4QSAvKiBNb2NrQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTFCRjZCODExQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50
RmlsdGVyLmggKi87IH07CiAJCUExQzE1MDdBMUUzRjJCM0UwMDMyQzk4QyAvKiBQcmV2aWV3Q29u
dmVydGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
MUMxNTA3ODFFM0YyQjNFMDAzMkM5OEMgLyogUHJldmlld0NvbnZlcnRlci5oICovOyB9OwpAQCAt
MTEwNDMsNiArMTEwNTAsMTggQEAKIAkJQTFBRkVERTUxRjhCRkY2RDAwODcwMTNGIC8qIE1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja1BheW1lbnRDb29y
ZGluYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQjVCMjlDMUFBQTg0
NkUwMDhCNjA0MiAvKiBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyU2V0dGluZ3MuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMUI1QjI5RDFBQUE4NDZFMDA4QjYwNDIgLyog
TW9ja0NvbnRlbnRGaWx0ZXJTZXR0aW5ncy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNb2NrQ29udGVudEZpbHRlclNldHRpbmdzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUExQkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVycm9yQ29kZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBcHBsZVBheUVycm9yQ29kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlBMUJCODU5QjIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJvckNvZGUuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEFwcGxlUGF5RXJyb3JDb2RlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQTFCQjg1QTAyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5RXJyb3JDb250YWN0RmllbGQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBMjIxNTlBRjU3MDA2N0UwN0QgLyogQXBwbGVQYXlF
cnJvckNvbnRhY3RGaWVsZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUE2MjE1OUIwMkMwMDY3RTA3RCAv
KiBNb2NrUGF5bWVudEVycm9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYXltZW50RXJyb3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QTgyMTU5QjAyQzAwNjdFMDdEIC8q
IE1vY2tQYXltZW50RXJyb3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1vY2tQYXltZW50RXJyb3IuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBQzIxNTlCMTlGMDA2N0UwN0QgLyogSlNBcHBs
ZVBheUVycm9yQ29udGFjdEZpZWxkLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUExQkI4NUFEMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JD
b2RlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXBwbGVQYXlF
cnJvckNvZGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMUJCODVBRTIxNTlC
MUEwMDA2N0UwN0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0FwcGxlUGF5RXJyb3JDb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUExQkI4NUFGMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0FwcGxlUGF5RXJyb3JDb250
YWN0RmllbGQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBcHBsZVBheUVy
cm9yQ29udGFjdEZpZWxkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExQkI4NUI0
MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNb2NrUGF5bWVudEVycm9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTFCQjg1QjUyMTU5QjM4QTAwNjdFMDdEIC8qIEpTTW9ja1Bh
eW1lbnRFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01vY2tQYXlt
ZW50RXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFCRjZCODAxQUE5NkM3
RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTFCRjZCODExQUE5NkM3RDAwQUY0QThBIC8qIE1vY2tDb250ZW50RmlsdGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tDb250ZW50RmlsdGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExQzE1MDc3MUUzRjJCM0UwMDMyQzk4QyAv
KiBQcmV2aWV3Q29udmVydGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gUHJldmlld0NvbnZlcnRlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE2MDkwLDYgKzE2MTA5LDEwIEBACiAJCQkJMUFERkRGRDUxRTcxRDhERjAwOEY1RDM0IC8qIEFw
cGxlUGF5RXJyb3IuY3BwICovLAogCQkJCTFBREZERkQ2MUU3MUQ4REYwMDhGNUQzNCAvKiBBcHBs
ZVBheUVycm9yLmggKi8sCiAJCQkJMUFERkRGRDcxRTcxRDhERjAwOEY1RDM0IC8qIEFwcGxlUGF5
RXJyb3IuaWRsICovLAorCQkJCUExQkI4NTk5MjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVy
cm9yQ29kZS5oICovLAorCQkJCUExQkI4NTlCMjE1OUFFQTEwMDY3RTA3RCAvKiBBcHBsZVBheUVy
cm9yQ29kZS5pZGwgKi8sCisJCQkJQTFCQjg1QTAyMTU5QUY1NzAwNjdFMDdEIC8qIEFwcGxlUGF5
RXJyb3JDb250YWN0RmllbGQuaCAqLywKKwkJCQlBMUJCODVBMjIxNTlBRjU3MDA2N0UwN0QgLyog
QXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5pZGwgKi8sCiAJCQkJN0M2NTc5RTIxRTAwODI3MDAw
RTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCAqLywKIAkJCQk3QzY1NzlFNDFFMDA4MkM4MDBF
M0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5pZGwgKi8sCiAJCQkJQTFERjVBQTgxRjgwNzBENDAw
NThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5LmNwcCAqLywKQEAgLTE2MjYzLDYg
KzE2Mjg2LDEwIEBACiAJCQkJQTFERjVBOTcxRjdFQzhCRjAwNThBNDc3IC8qIEpTQXBwbGVQYXlD
b250YWN0RmllbGQuaCAqLywKIAkJCQkxQURGREZFMTFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBs
ZVBheUVycm9yLmNwcCAqLywKIAkJCQkxQURGREZFMjFFNzFEQ0EwMDA4RjVEMzQgLyogSlNBcHBs
ZVBheUVycm9yLmggKi8sCisJCQkJQTFCQjg1QUQyMTU5QjFBMDAwNjdFMDdEIC8qIEpTQXBwbGVQ
YXlFcnJvckNvZGUuY3BwICovLAorCQkJCUExQkI4NUFFMjE1OUIxQTAwMDY3RTA3RCAvKiBKU0Fw
cGxlUGF5RXJyb3JDb2RlLmggKi8sCisJCQkJQTFCQjg1QUMyMTU5QjE5RjAwNjdFMDdEIC8qIEpT
QXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5jcHAgKi8sCisJCQkJQTFCQjg1QUYyMTU5QjFBMDAw
NjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oICovLAogCQkJCTdDNjU3OUU5
MUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uY3BwICovLAogCQkJCTdDNjU3
OUVBMUUwMDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uaCAqLywKIAkJCQlBMURG
NUE4OTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNoYW50Q2FwYWJpbGl0eS5jcHAg
Ki8sCkBAIC0xNzAzNCw2ICsxNzA2MSw4IEBACiAJCQkJQTFBRkVERTUxRjhCRkY2RDAwODcwMTNG
IC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwICovLAogCQkJCUExQUZFREU0MUY4QkZGNkQw
MDg3MDEzRiAvKiBNb2NrUGF5bWVudENvb3JkaW5hdG9yLmggKi8sCiAJCQkJQTE0NkQzMTYxRjk5
QjUzRDAwRDI5MTk2IC8qIE1vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsICovLAorCQkJCUExQkI4
NUE2MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9yLmggKi8sCisJCQkJQTFCQjg1
QTgyMTU5QjAyQzAwNjdFMDdEIC8qIE1vY2tQYXltZW50RXJyb3IuaWRsICovLAogCQkJCUExQ0JF
RjYzMUY5RjExMjkwMDI4REU3QyAvKiBNb2NrUGF5bWVudE1ldGhvZC5oICovLAogCQkJCUExNDA2
MTg5MUUyRUNBMEEwMDMyQjM0RSAvKiBNb2NrUHJldmlld0xvYWRlckNsaWVudC5jcHAgKi8sCiAJ
CQkJQTE0MDYxOEExRTJFQ0EwQTAwMzJCMzRFIC8qIE1vY2tQcmV2aWV3TG9hZGVyQ2xpZW50Lmgg
Ki8sCkBAIC0xNzA3NCw2ICsxNzEwMyw4IEBACiAJCQkJQTE0NkQzMUYxRjk5Q0EzRDAwRDI5MTk2
IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmggKi8sCiAJCQkJQTE0NkQzMTkxRjk5QkNCQjAwRDI5
MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgKi8sCiAJCQkJQTE0NkQzMTgxRjk5
QkNCQTAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGluYXRvci5oICovLAorCQkJCUExQkI4
NUI0MjE1OUIzODkwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuY3BwICovLAorCQkJCUEx
QkI4NUI1MjE1OUIzOEEwMDY3RTA3RCAvKiBKU01vY2tQYXltZW50RXJyb3IuaCAqLywKIAkJCQk0
MjdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCAq
LywKIAkJCQk0MjdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmggKi8sCiAJCQkJRUJGNTEyMUExNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNp
b25zLmNwcCAqLywKQEAgLTI3MTA2LDYgKzI3MTM3LDcgQEAKIAkJCQk1MzhFQzkzNDFGOTlCOUY3
MDA0RDIyQTggLyogSlNNb2NrUGFnZU92ZXJsYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExNDZE
MzIzMUY5OUQwRUYwMEQyOTE5NiAvKiBKU01vY2tQYXltZW50QWRkcmVzcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTE0NkQzMUIxRjk5QkNGQjAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRDb29yZGlu
YXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1QjkyMTU5QjNBRTAwNjdFMDdEIC8qIEpT
TW9ja1BheW1lbnRFcnJvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDI3REE3MUUxMzczNURGQTAw
N0M1N0ZCIC8qIEpTU2VydmljZVdvcmtlckludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RUJGNTEyMUQxNjk2NDk2QzAwNTZCRDI1IC8qIEpTVHlwZUNvbnZlcnNpb25zLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDREMyNkI0MTE2MEE4Q0NFMDAyNjc1N0IgLyogTGVnYWN5TW9ja0NETS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNzIwMCw2ICsyNzIzMiw4IEBACiAJCQkJOTMzMDlERDcwOTlFNjQ5
MjAwNTZFNTgxIC8qIEFwcGVuZE5vZGVDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURG
NUE5NDFGN0VDNDMyMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExMkM1OUVFMjAzNUZDOUIwMDEyMjM2QiAvKiBBcHBsZVBheUVycm9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQlBMUJCODU5QzIxNTlBRUExMDA2N0UwN0QgLyogQXBwbGVQYXlFcnJv
ckNvZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUExQkI4NUEzMjE1OUFGNTcwMDY3RTA3RCAvKiBB
cHBsZVBheUVycm9yQ29udGFjdEZpZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQk3QzY1NzlFMzFF
MDA4MjcwMDBFM0EyN0EgLyogQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QTFERjVBODYxRjdFQkRGMjAwNThBNDc3IC8qIEFwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMUY2Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlN
b2RpZmllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yODU0Niw2ICsyODU4MCw4IEBACiAJCQkJNzEw
MjVFREUxRjk5RjFFQzAwNEEyNTBDIC8qIEpTQW5pbWF0aW9uVGltZWxpbmUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUExREY1QTk5MUY3RUM4QzAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5Q29udGFjdEZp
ZWxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTJDNTlGOTIwMzYwQUNCMDAxMjIzNkIgLyogSlNB
cHBsZVBheUVycm9yLmggaW4gSGVhZGVycyAqLywKKwkJCQlBMUJCODVCMjIxNTlCMUExMDA2N0Uw
N0QgLyogSlNBcHBsZVBheUVycm9yQ29kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTFCQjg1QjMy
MTU5QjFBMTAwNjdFMDdEIC8qIEpTQXBwbGVQYXlFcnJvckNvbnRhY3RGaWVsZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJN0M2NTc5RjAxRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRl
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOEUxRjdFQzAwMjAwNThBNDc3IC8qIEpTQXBw
bGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjZEMDEyMUZF
MDk5QjQwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLApAQCAt
Mjk2MTEsNiArMjk2NDcsNyBAQAogCQkJCTQxM0NDRDRBMjBERTAzNEYwMDY1QTIxQSAvKiBNb2Nr
TWVkaWFEZXZpY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNERjJCMDEzMTgyMDU0MDYwMEYyQjQy
NCAvKiBNb2NrTWVkaWFQbGF5ZXJNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RG
MkIwMTUxODIwNTQwNjAwRjJCNDI0IC8qIE1vY2tNZWRpYVNvdXJjZVByaXZhdGUuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUExQkI4NUE5MjE1OUIwMkMwMDY3RTA3RCAvKiBNb2NrUGF5bWVudEVycm9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0Q2QTRGNDFCRUQ1Rjg4MDAxNzQxNDYgLyogTW9ja1Jl
YWx0aW1lQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTRBMEZGQTlFMUFBRjVFN0Uw
MDYyODAzQiAvKiBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMDdFRTc2RUMxQkU5NkRCMDAwRjg5MTMzIC8qIE1vY2tSZWFsdGltZVZpZGVvU291cmNl
LmggaW4gSGVhZGVycyAqLywKQEAgLTMxNTI4LDYgKzMxNTY1LDcgQEAKIAkJCQkyRDQxNTBERTFD
MUY4NjhDMDAwQTNCQTIgLyogSlNNb2NrUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQTE0NkQzMjIxRjk5RDBFQzAwRDI5MTk2IC8qIEpTTW9ja1BheW1lbnRBZGRyZXNzLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUExNDZEMzFBMUY5OUJDRjgwMEQyOTE5NiAvKiBKU01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTFCQjg1QjgyMTU5QjNBNDAw
NjdFMDdEIC8qIEpTTW9ja1BheW1lbnRFcnJvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0MjdE
QTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNTZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUVCRjUxMjFDMTY5NjQ5NkMwMDU2QkQyNSAvKiBKU1R5cGVDb252ZXJz
aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREMyNkI0MDE2MEE4Q0M2MDAyNjc1N0IgLyog
TGVnYWN5TW9ja0NETS5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuY3BwCmluZGV4IDhmODY5MmIxZGU0MjcyOGFh
MGRhM2NlYmEwMTI2ZjkzZjA3MWEzNDMuLjliNmU5NWUyMTU0ODMwYzAwMDNkNmUyMTgwMDNhY2Vh
YTIyZmVkNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENv
b3JkaW5hdG9yLmNwcApAQCAtMTUxLDEwICsxNTEsMTMgQEAgdm9pZCBNb2NrUGF5bWVudENvb3Jk
aW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8U2hp
cHAKIAogdm9pZCBNb2NrUGF5bWVudENvb3JkaW5hdG9yOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFj
dFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsPFNoaXBwaW5nQ29udGFjdFVwZGF0ZT4mJiBzaGlwcGlu
Z0NvbnRhY3RVcGRhdGUpCiB7Ci0gICAgaWYgKHNoaXBwaW5nQ29udGFjdFVwZGF0ZSkKLSAgICAg
ICAgdXBkYXRlVG90YWxBbmRMaW5lSXRlbXMoc2hpcHBpbmdDb250YWN0VXBkYXRlLT5uZXdUb3Rh
bEFuZExpbmVJdGVtcyk7CisgICAgaWYgKCFzaGlwcGluZ0NvbnRhY3RVcGRhdGUpCisgICAgICAg
IHJldHVybjsKKworICAgIHVwZGF0ZVRvdGFsQW5kTGluZUl0ZW1zKHNoaXBwaW5nQ29udGFjdFVw
ZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRlbXMpOworICAgIG1fZXJyb3JzID0gV1RGTW92ZShzaGlw
cGluZ0NvbnRhY3RVcGRhdGUtPmVycm9ycyk7CiB9Ci0gICAgCisKIHZvaWQgTW9ja1BheW1lbnRD
b29yZGluYXRvcjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKHN0ZDo6b3B0aW9uYWw8
UGF5bWVudE1ldGhvZFVwZGF0ZT4mJiBwYXltZW50TWV0aG9kVXBkYXRlKQogewogICAgIGlmIChw
YXltZW50TWV0aG9kVXBkYXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuaAppbmRleCAxZjdkMDY4ZDFjYzA5ZWY0ZDVjM2U1YmYxNjA5YjQwMDIx
NjMxN2NmLi41YzM2MzVlNzMwMTU3YmEyZGI5YWUwM2M3ZjIwZDY3ZGNiNDVmNTQzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaApAQCAtMjks
NiArMjksNyBAQAogCiAjaW5jbHVkZSAiQXBwbGVQYXlMaW5lSXRlbS5oIgogI2luY2x1ZGUgIk1v
Y2tQYXltZW50QWRkcmVzcy5oIgorI2luY2x1ZGUgIk1vY2tQYXltZW50RXJyb3IuaCIKICNpbmNs
dWRlICJQYXltZW50Q29vcmRpbmF0b3JDbGllbnQuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KQEAgLTUwLDYgKzUxLDcgQEAgcHVi
bGljOgogCiAgICAgY29uc3QgQXBwbGVQYXlMaW5lSXRlbSYgdG90YWwoKSBjb25zdCB7IHJldHVy
biBtX3RvdGFsOyB9CiAgICAgY29uc3QgVmVjdG9yPEFwcGxlUGF5TGluZUl0ZW0+JiBsaW5lSXRl
bXMoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJdGVtczsgfQorICAgIGNvbnN0IFZlY3RvcjxNb2Nr
UGF5bWVudEVycm9yPiYgZXJyb3JzKCkgY29uc3QgeyByZXR1cm4gbV9lcnJvcnM7IH0KIAogICAg
IHZvaWQgcmVmKCkgY29uc3QgeyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IHsgfQpAQCAtNzYs
NiArNzgsNyBAQCBwcml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgbV9zaGlwcGlu
Z0FkZHJlc3M7CiAgICAgQXBwbGVQYXlMaW5lSXRlbSBtX3RvdGFsOwogICAgIFZlY3RvcjxBcHBs
ZVBheUxpbmVJdGVtPiBtX2xpbmVJdGVtczsKKyAgICBWZWN0b3I8TW9ja1BheW1lbnRFcnJvcj4g
bV9lcnJvcnM7CiAgICAgSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4g
bV9hdmFpbGFibGVQYXltZW50TmV0d29ya3M7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29vcmRpbmF0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudENvb3JkaW5hdG9yLmlkbAppbmRleCAyMzE0ZWVkYjJhZWJjYjYy
YzUxYWQyYjJlYzJjNTdiOWFjNDMwYWE2Li5kN2U1ZDU4OTU0OWYxZWQ4Yzg2ZWQ1ZjYyYzU1Yzc3
YmM5ZmRjN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50
Q29vcmRpbmF0b3IuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b29yZGluYXRvci5pZGwKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0y
MDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMzUsNCArMzUsNSBAQAogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFw
cGxlUGF5TGluZUl0ZW0gdG90YWw7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPEFw
cGxlUGF5TGluZUl0ZW0+IGxpbmVJdGVtczsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVu
Y2U8TW9ja1BheW1lbnRFcnJvcj4gZXJyb3JzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRFcnJvci5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudEVycm9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2RlMzhlZjUwMWM2MGNiMTQwZDlhN2U3YzEx
MjYwOWQ1MzdiYzUzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja1BheW1lbnRFcnJvci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShBUFBMRV9QQVkpCisKKyNpbmNsdWRlICJBcHBsZVBheVNlc3Np
b25QYXltZW50UmVxdWVzdC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIE1vY2tQ
YXltZW50RXJyb3IgPSBQYXltZW50RXJyb3I7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShBUFBMRV9QQVkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL01vY2tQYXltZW50RXJyb3IuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
UGF5bWVudEVycm9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MWRkMzc5ZWE1M2ZiNTUwZmYwNGQ0YzA4MGQ3
MzlkMmViZWJkMzI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9N
b2NrUGF5bWVudEVycm9yLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAg
IENvbmRpdGlvbmFsPUFQUExFX1BBWSwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10gZGlj
dGlvbmFyeSBNb2NrUGF5bWVudEVycm9yIHsKKyAgICByZXF1aXJlZCBBcHBsZVBheUVycm9yQ29k
ZSBjb2RlOworICAgIHJlcXVpcmVkIERPTVN0cmluZyBtZXNzYWdlOworICAgIEFwcGxlUGF5RXJy
b3JDb250YWN0RmllbGQgY29udGFjdEZpZWxkOworfTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOTc4YjI1ZWViM2E5NDA1
ZTY2OGRiNDJkNDY0YTZlOTYyOTkxZjM0Li41OWIxOWRkYjcxNWRhMTliYTdlYTRmMjMzYWM3MGE4
NTkyYTIyMWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMDktMjYgIEFuZHkgRXN0ZXMg
IDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtBcHBsZSBQYXldIFN1cHBvcnQgZ3JhbnVs
YXIgZXJyb3JzIGluIFBheW1lbnREZXRhaWxzVXBkYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5MzgKKworICAgICAgICBSZXZpZXdlZCBieSBZ
b3Vlbm4gRmFibGV0LgorCisgICAgICAgICogaHR0cC90ZXN0cy9yZXNvdXJjZXMvcGF5bWVudC1y
ZXF1ZXN0LmpzOgorICAgICAgICAodmFsaWRQYXltZW50RGV0YWlscyk6CisgICAgICAgICh1cGRh
dGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UpOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnMuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdB
ZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hh
bmdlRXZlbnRFcnJvcnNWMy5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMTgtMDktMjUgIFJ5YW4gSGFkZGFkICA8cnlh
bmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgY29ycmVjdCBhIHR5cG8g
aW4gYSBidWcgVVJMLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJj
ZXMvcGF5bWVudC1yZXF1ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9yZXNvdXJjZXMv
cGF5bWVudC1yZXF1ZXN0LmpzCmluZGV4IDNiNDZmYWZhMzEyYWNkNjI0N2IzYzg1NzU5ZGM2YzI3
YThiNmQwNGQuLjRlYmFjMWY2YWNkYWJiODQ2ZTBlZTgzZGRkOGE5ZWMyN2IyOTEzNmEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5q
cworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Jlc291cmNlcy9wYXltZW50LXJlcXVlc3Qu
anMKQEAgLTE4LDMgKzE4LDYwIEBAIGZ1bmN0aW9uIHVzZXJfYWN0aXZhdGlvbl90ZXN0KGZ1bmMs
IG5hbWUpCiAgICAgICAgIGF3YWl0IGFjdGl2YXRlVGhlbigoKSA9PiBmdW5jKHQpKTsKICAgICB9
LCBuYW1lKTsKIH0KKworZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkKK3sKKyAgICByZXR1
cm4geworICAgICAgICBzdXBwb3J0ZWRNZXRob2RzOiAnaHR0cHM6Ly9hcHBsZS5jb20vYXBwbGUt
cGF5JywKKyAgICAgICAgZGF0YTogeworICAgICAgICAgICAgdmVyc2lvbjogMiwKKyAgICAgICAg
ICAgIG1lcmNoYW50SWRlbnRpZmllcjogJycsCisgICAgICAgICAgICBjb3VudHJ5Q29kZTogJ1VT
JywKKyAgICAgICAgICAgIHN1cHBvcnRlZE5ldHdvcmtzOiBbJ3Zpc2EnLCAnbWFzdGVyQ2FyZCdd
LAorICAgICAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAg
ICAgICAgfSwKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHZhbGlkUGF5bWVudERldGFpbHMoKQorewor
ICAgIHJldHVybiB7CisgICAgICAgIHRvdGFsOiB7CisgICAgICAgICAgICBsYWJlbDogJ1RvdGFs
JywKKyAgICAgICAgICAgIGFtb3VudDogeworICAgICAgICAgICAgICAgIGN1cnJlbmN5OiAnVVNE
JywKKyAgICAgICAgICAgICAgICB2YWx1ZTogJzEwLjAwJywKKyAgICAgICAgICAgIH0sCisgICAg
ICAgIH0sCisgICAgICAgIGRpc3BsYXlJdGVtczogW3sKKyAgICAgICAgICAgIGxhYmVsOiAnSXRl
bScsCisgICAgICAgICAgICBhbW91bnQ6IHsKKyAgICAgICAgICAgICAgICBjdXJyZW5jeTogJ1VT
RCcsCisgICAgICAgICAgICAgICAgdmFsdWU6ICcxMC4wMCcsCisgICAgICAgICAgICB9LAorICAg
ICAgICB9XSwKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRk
cmVzc0NoYW5nZShwYXltZW50RGV0YWlsc0luaXQsIHBheW1lbnRPcHRpb25zLCBkZXRhaWxzVXBk
YXRlKQoreworICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7Cisg
ICAgICAgIGFjdGl2YXRlVGhlbigoKSA9PiB7CisgICAgICAgICAgICB2YXIgcmVxdWVzdCA9IG5l
dyBQYXltZW50UmVxdWVzdChbdmFsaWRQYXltZW50TWV0aG9kKCldLCBwYXltZW50RGV0YWlsc0lu
aXQsIHBheW1lbnRPcHRpb25zKTsKKyAgICAgICAgICAgIHJlcXVlc3Qub25tZXJjaGFudHZhbGlk
YXRpb24gPSAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0p
OworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3Nj
aGFuZ2UgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgICAgICAgICB2YXIgZGV0YWlsc1VwZGF0ZVBy
b21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAg
ICAgICAgIHJlc29sdmUoZGV0YWlsc1VwZGF0ZSk7CisgICAgICAgICAgICAgICAgfSk7CisgICAg
ICAgICAgICAgICAgZXZlbnQudXBkYXRlV2l0aChkZXRhaWxzVXBkYXRlUHJvbWlzZSk7CisgICAg
ICAgICAgICAgICAgZGV0YWlsc1VwZGF0ZVByb21pc2UudGhlbigoKSA9PiB7CisgICAgICAgICAg
ICAgICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgICAgICAgICAgICAgcmVxdWVzdC5hYm9ydCgp
OworICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfTsKKyAgICAgICAgICAgIHJlcXVl
c3Quc2hvdygpLmNhdGNoKGVycm9yID0+IGVycm9yKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50RXJyb3JzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNz
Q2hhbmdlRXZlbnRFcnJvcnMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlN2Y0Zjc0
NGY2MjdhZDlhZTFjYWE4NmZiY2IwYWY1MjM2ZjU1NGQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0No
YW5nZUV2ZW50RXJyb3JzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDc1IEBACitUZXN0
IHNwZWNpZnlpbmcgZXJyb3JzIGluIHJlc3BvbnNlIHRvIHRoZSBzaGlwcGluZ2FkZHJlc3NjaGFu
Z2UgZXZlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0aW5nIFBheW1l
bnREZXRhaWxzVXBkYXRlIHdpdGggbm8gZXJyb3JzLgorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDAKKworVGVzdGluZyBQYXltZW50RGV0YWls
c1VwZGF0ZSB3aXRoIGFuIGVycm9yIGFuZCBzaGlwcGluZyBvcHRpb25zLgorUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDAKKworVGVzdGluZyBQ
YXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVtcHR5IGVycm9yLgorUEFTUyBpbnRlcm5hbHMu
bW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIGlzIDEKK1BBU1MgaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFj
dEludmFsaWQnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sw
XS5tZXNzYWdlIGlzICcnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVy
cm9yc1swXS5jb250YWN0RmllbGQgaXMgdW5kZWZpbmVkCisKK1Rlc3RpbmcgUGF5bWVudERldGFp
bHNVcGRhdGUgd2l0aCBhbiBlcnJvci4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRp
bmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAxCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1swXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSBpcyAnc2lu
Z2xlIGVycm9yJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNb
MF0uY29udGFjdEZpZWxkIGlzIHVuZGVmaW5lZAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBk
YXRlIHdpdGggYW4gZXJyb3IgYW5kIHVuZGVmaW5lZCBzaGlwcGluZyBhZGRyZXNzIGVycm9ycy4K
K1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAx
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIGlz
ICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSBpcyAnc2luZ2xlIGVycm9yJworUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIGlzIHVuZGVm
aW5lZAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggc2hpcHBpbmcgYWRkcmVz
cyBlcnJvcnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5s
ZW5ndGggaXMgOAorUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNb
MF0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIGlzICdh
ZGRyZXNzTGluZXMnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1sxXS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9j
a1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5jb250YWN0RmllbGQgaXMg
J2xvY2FsaXR5JworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNb
Ml0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0uY29udGFjdEZpZWxkIGlzICdj
b3VudHJ5JworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbM10u
Y29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzNdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbM10uY29udGFjdEZpZWxkIGlzICdzdWJM
b2NhbGl0eScKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzRd
LmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFscy5tb2NrUGF5
bWVudENvb3JkaW5hdG9yLmVycm9yc1s0XS5tZXNzYWdlIGlzICdlcnJvcicKK1BBU1MgaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzRdLmNvbnRhY3RGaWVsZCBpcyAncGhv
bmVOdW1iZXInCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1
XS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5lcnJvcnNbNV0ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1XS5jb250YWN0RmllbGQgaXMgJ3Bv
c3RhbENvZGUnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s2
XS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5lcnJvcnNbNl0ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s2XS5jb250YWN0RmllbGQgaXMgJ25h
bWUnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s3XS5jb2Rl
IGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRD
b29yZGluYXRvci5lcnJvcnNbN10ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s3XS5jb250YWN0RmllbGQgaXMgJ2FkbWluaXN0
cmF0aXZlQXJlYScKKworVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3aXRoIHVucmVxdWVz
dGVkIHBheWVyIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzLmxlbmd0aCBpcyAwCisKK1Rlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBw
YXllciBlcnJvcnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
cy5sZW5ndGggaXMgMworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnNbMF0uY29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIGlz
ICduYW1lJworUEFTUyBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0u
Y29kZSBpcyAnc2hpcHBpbmdDb250YWN0SW52YWxpZCcKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLm1lc3NhZ2UgaXMgJ2Vycm9yJworUEFTUyBpbnRlcm5h
bHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29udGFjdEZpZWxkIGlzICdlbWFp
bEFkZHJlc3MnCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sy
XS5jb2RlIGlzICdzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJworUEFTUyBpbnRlcm5hbHMubW9ja1Bh
eW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0ubWVzc2FnZSBpcyAnZXJyb3InCitQQVNTIGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1syXS5jb250YWN0RmllbGQgaXMgJ3Bo
b25lTnVtYmVyJworCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3ND
aGFuZ2VFdmVudEVycm9ycy5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0ZGRjYmNmNWEyNWFmZmMz
NzdiZTYzZjU2MjgyMWUzYTExNmYzZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5nZUV2ZW50
RXJyb3JzLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNDkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KKzxzY3JpcHQgc3JjPSIvanMtdGVz
dC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Bh
eW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IHNwZWNpZnlpbmcgZXJyb3JzIGluIHJlc3BvbnNlIHRvIHRoZSBz
aGlwcGluZ2FkZHJlc3NjaGFuZ2UgZXZlbnQuIik7CisKK3dpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKworYXN5bmMgZnVuY3Rpb24gcnVuVGVzdHMoKQoreworICAgIGRlYnVnKCJUZXN0aW5n
IFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggbm8gZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxz
ID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBw
aW5nQWRkcmVzc0NoYW5nZShkZXRhaWxzLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCBkZXRh
aWxzKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzLmxlbmd0aCIsICIwIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3Rpbmcg
UGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBhbiBlcnJvciBhbmQgc2hpcHBpbmcgb3B0aW9ucy4i
KTsKKyAgICB2YXIgZGV0YWlsc1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBk
ZXRhaWxzVXBkYXRlLmVycm9yID0gInNpbmdsZSBlcnJvciI7CisgICAgZGV0YWlsc1VwZGF0ZS5z
aGlwcGluZ09wdGlvbnMgPSBbeworICAgICAgICBpZDogIm9wdGlvbjEiLAorICAgICAgICBsYWJl
bDogIm9wdGlvbiAxIiwKKyAgICAgICAgYW1vdW50OiB7CisgICAgICAgICAgICBjdXJyZW5jeTog
IlVTRCIsCisgICAgICAgICAgICB2YWx1ZTogIjEuMDAiLAorICAgICAgICB9LAorICAgIH1dOwor
ICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1l
bnREZXRhaWxzKCksIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0sIGRldGFpbHNVcGRhdGUpOwor
ICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVu
Z3RoIiwgIjAiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50
RGV0YWlsc1VwZGF0ZSB3aXRoIGFuIGVtcHR5IGVycm9yLiIpOworICAgIHZhciBkZXRhaWxzVXBk
YXRlID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUuZXJyb3IgPSAi
IjsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQ
YXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlwcGluZzogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRl
KTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
Lmxlbmd0aCIsICIxIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1swXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVz
c2FnZSIsICInJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIiwgInVuZGVmaW5lZCIpOworICAgIGRlYnVnKCIi
KTsKKworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggYW4gZXJy
b3IuIik7CisgICAgdmFyIGRldGFpbHNVcGRhdGUgPSB2YWxpZFBheW1lbnREZXRhaWxzKCk7Cisg
ICAgZGV0YWlsc1VwZGF0ZS5lcnJvciA9ICJzaW5nbGUgZXJyb3IiOworICAgIGF3YWl0IHVwZGF0
ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsg
cmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0sIGRldGFpbHNVcGRhdGUpOworICAgIHNob3VsZEJlKCJp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjEiKTsKKyAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNv
ZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIiwgIidzaW5nbGUgZXJy
b3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVy
cm9yc1swXS5jb250YWN0RmllbGQiLCAidW5kZWZpbmVkIik7CisgICAgZGVidWcoIiIpOworCisg
ICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFpbHNVcGRhdGUgd2l0aCBhbiBlcnJvciBhbmQg
dW5kZWZpbmVkIHNoaXBwaW5nIGFkZHJlc3MgZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxzVXBk
YXRlID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUuZXJyb3IgPSAi
c2luZ2xlIGVycm9yIjsKKyAgICBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nQWRkcmVzc0Vycm9ycyA9
IHsKKyAgICB9OworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5n
ZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0sIGRldGFp
bHNVcGRhdGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5lcnJvcnMubGVuZ3RoIiwgIjEiKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQn
Iik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1swXS5tZXNzYWdlIiwgIidzaW5nbGUgZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0RmllbGQiLCAidW5kZWZp
bmVkIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFp
bHNVcGRhdGUgd2l0aCBzaGlwcGluZyBhZGRyZXNzIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWls
c1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLnNoaXBw
aW5nQWRkcmVzc0Vycm9ycyA9IHsKKyAgICAgICAgYWRkcmVzc0xpbmU6ICJlcnJvciIsCisgICAg
ICAgIGNpdHk6ICJlcnJvciIsCisgICAgICAgIGNvdW50cnk6ICJlcnJvciIsCisgICAgICAgIGRl
cGVuZGVudExvY2FsaXR5OiAiZXJyb3IiLAorICAgICAgICBwaG9uZTogImVycm9yIiwKKyAgICAg
ICAgcG9zdGFsQ29kZTogImVycm9yIiwKKyAgICAgICAgcmVjaXBpZW50OiAiZXJyb3IiLAorICAg
ICAgICByZWdpb246ICJlcnJvciIsCisgICAgfTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25T
aGlwcGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IHJlcXVlc3RTaGlw
cGluZzogdHJ1ZSB9LCBkZXRhaWxzVXBkYXRlKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIsICI4Iik7CisgICAgc2hvdWxkQmUo
ImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIiwgIidzaGlw
cGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxk
QmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1swXS5jb250YWN0Rmll
bGQiLCAiJ2FkZHJlc3NMaW5lcyciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQn
Iik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1sxXS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLmNvbnRhY3RGaWVsZCIsICInbG9jYWxpdHknIik7
CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sy
XS5jb2RlIiwgIidzaGlwcGluZ0NvbnRhY3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRl
cm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0ubWVzc2FnZSIsICInZXJyb3In
Iik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
c1syXS5jb250YWN0RmllbGQiLCAiJ2NvdW50cnknIik7CisgICAgc2hvdWxkQmUoImludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1szXS5jb2RlIiwgIidzaGlwcGluZ0NvbnRh
Y3RJbnZhbGlkJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbM10ubWVzc2FnZSIsICInZXJyb3InIik7CisgICAgc2hvdWxkQmUoImludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1szXS5jb250YWN0RmllbGQiLCAiJ3N1
YkxvY2FsaXR5JyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbNF0uY29kZSIsICInc2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzRdLm1lc3Nh
Z2UiLCAiJ2Vycm9yJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29y
ZGluYXRvci5lcnJvcnNbNF0uY29udGFjdEZpZWxkIiwgIidwaG9uZU51bWJlciciKTsKKyAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzVdLmNvZGUi
LCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5t
b2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s1XS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAg
ICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzVdLmNv
bnRhY3RGaWVsZCIsICIncG9zdGFsQ29kZSciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzZdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdElu
dmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmVycm9yc1s2XS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxz
Lm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzZdLmNvbnRhY3RGaWVsZCIsICInbmFtZSci
KTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3Jz
WzddLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImlu
dGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1s3XS5tZXNzYWdlIiwgIidlcnJv
ciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJy
b3JzWzddLmNvbnRhY3RGaWVsZCIsICInYWRtaW5pc3RyYXRpdmVBcmVhJyIpOworICAgIGRlYnVn
KCIiKTsKKworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggdW5y
ZXF1ZXN0ZWQgcGF5ZXIgZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRlID0gdmFsaWRQ
YXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUucGF5ZXJFcnJvcnMgPSB7CisgICAg
ICAgIG5hbWU6ICJlcnJvciIsCisgICAgICAgIGVtYWlsOiAiZXJyb3IiLAorICAgICAgICBwaG9u
ZTogImVycm9yIiwKKyAgICB9OworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNoaXBwaW5nQWRk
cmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgfSwgZGV0YWlsc1VwZGF0ZSk7Cisg
ICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5n
dGgiLCAiMCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJUZXN0aW5nIFBheW1lbnRE
ZXRhaWxzVXBkYXRlIHdpdGggcGF5ZXIgZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRl
ID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUucGF5ZXJFcnJvcnMg
PSB7CisgICAgICAgIG5hbWU6ICJlcnJvciIsCisgICAgICAgIGVtYWlsOiAiZXJyb3IiLAorICAg
ICAgICBwaG9uZTogImVycm9yIiwKKyAgICB9OworICAgIGF3YWl0IHVwZGF0ZURldGFpbHNPblNo
aXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgcmVxdWVzdFBheWVy
TmFtZTogdHJ1ZSwgcmVxdWVzdFBheWVyUGhvbmU6IHRydWUsIHJlcXVlc3RQYXllckVtYWlsOiB0
cnVlIH0sIGRldGFpbHNVcGRhdGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1l
bnRDb29yZGluYXRvci5lcnJvcnMubGVuZ3RoIiwgIjMiKTsKKyAgICBzaG91bGRCZSgiaW50ZXJu
YWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUiLCAiJ3NoaXBwaW5nQ29u
dGFjdEludmFsaWQnIik7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9yc1swXS5tZXNzYWdlIiwgIidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RGaWVsZCIsICIn
bmFtZSciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzWzFdLmNvZGUiLCAiJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnIik7CisgICAgc2hvdWxk
QmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5tZXNzYWdlIiwg
IidlcnJvciciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0
b3IuZXJyb3JzWzFdLmNvbnRhY3RGaWVsZCIsICInZW1haWxBZGRyZXNzJyIpOworICAgIHNob3Vs
ZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0uY29kZSIsICIn
c2hpcHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQ
YXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzJdLm1lc3NhZ2UiLCAiJ2Vycm9yJyIpOworICAgIHNo
b3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMl0uY29udGFj
dEZpZWxkIiwgIidwaG9uZU51bWJlciciKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBmaW5pc2hK
U1Rlc3QoKTsKK30KKworcnVuVGVzdHMoKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBp
bmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5n
ZUV2ZW50RXJyb3JzVjMuaHR0cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYxYTU5NGE4YmUx
M2YxNzZmMzk4NWE3NTg5MDcxMDY5ZGVkYTYyOWIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQWRkcmVzc0NoYW5n
ZUV2ZW50RXJyb3JzVjMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQgQEAKK1Rlc3Qg
c3BlY2lmeWluZyBBcHBsZSBQYXkgZXJyb3JzIGluIHJlc3BvbnNlIHRvIHRoZSBzaGlwcGluZ2Fk
ZHJlc3NjaGFuZ2UgZXZlbnQuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0
aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggbnVsbCBwYXltZW50IG1ldGhvZCBlcnJvcnMu
CitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9ycy5sZW5ndGggaXMg
MAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggaW52YWxpZCBwYXltZW50IG1l
dGhvZCBlcnJvcnMuCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9y
cy5sZW5ndGggaXMgMAorCitUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggQXBwbGUg
UGF5IHBheW1lbnQgbWV0aG9kIGVycm9ycy4KK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzLmxlbmd0aCBpcyAyCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENv
b3JkaW5hdG9yLmVycm9yc1swXS5jb2RlIGlzICdhZGRyZXNzVW5zZXJ2aWNlYWJsZScKK1BBU1Mg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLm1lc3NhZ2UgaXMgJycK
K1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzBdLmNvbnRhY3RG
aWVsZCBpcyB1bmRlZmluZWQKK1BBU1MgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iu
ZXJyb3JzWzFdLmNvZGUgaXMgJ3NoaXBwaW5nQ29udGFjdEludmFsaWQnCitQQVNTIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5tZXNzYWdlIGlzICdBcHBsZSBQYXkg
ZXJyb3InCitQQVNTIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmVycm9yc1sxXS5j
b250YWN0RmllbGQgaXMgJ3Bob25ldGljTmFtZScKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJv
cnNWMy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVudEVycm9yc1YzLmh0dHBzLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOGJmMTY4MTU2OGQ0MTcyOTA4MjllYWNlZTI3NDE4M2ZlZTg5MDVkNQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdBZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy5odG1sCkBAIC0wLDAgKzEsNTkg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9InV0Zi04
Ij4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8L2hl
YWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IHNwZWNpZnlpbmcgQXBw
bGUgUGF5IGVycm9ycyBpbiByZXNwb25zZSB0byB0aGUgc2hpcHBpbmdhZGRyZXNzY2hhbmdlIGV2
ZW50LiIpOworCit3aW5kb3cuanNUZXN0SXNBc3luYyA9IHRydWU7CisKK2FzeW5jIGZ1bmN0aW9u
IHJ1blRlc3RzKCkKK3sKKyAgICBkZWJ1ZygiVGVzdGluZyBQYXltZW50RGV0YWlsc1VwZGF0ZSB3
aXRoIG51bGwgcGF5bWVudCBtZXRob2QgZXJyb3JzLiIpOworICAgIHZhciBkZXRhaWxzVXBkYXRl
ID0gdmFsaWRQYXltZW50RGV0YWlscygpOworICAgIGRldGFpbHNVcGRhdGUucGF5bWVudE1ldGhv
ZEVycm9ycyA9IG51bGw7CisgICAgYXdhaXQgdXBkYXRlRGV0YWlsc09uU2hpcHBpbmdBZGRyZXNz
Q2hhbmdlKHZhbGlkUGF5bWVudERldGFpbHMoKSwgeyB9LCBkZXRhaWxzVXBkYXRlKTsKKyAgICBz
aG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzLmxlbmd0aCIs
ICIwIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoIlRlc3RpbmcgUGF5bWVudERldGFp
bHNVcGRhdGUgd2l0aCBpbnZhbGlkIHBheW1lbnQgbWV0aG9kIGVycm9ycy4iKTsKKyAgICB2YXIg
ZGV0YWlsc1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFpbHMoKTsKKyAgICBkZXRhaWxzVXBkYXRl
LnBheW1lbnRNZXRob2RFcnJvcnMgPSBbCisgICAgICAgIHsgfSwKKyAgICAgICAgbnVsbCwKKyAg
ICAgICAgbmV3IFByb21pc2UoKCkgPT4geyB9KSwKKyAgICBdOworICAgIGF3YWl0IHVwZGF0ZURl
dGFpbHNPblNoaXBwaW5nQWRkcmVzc0NoYW5nZSh2YWxpZFBheW1lbnREZXRhaWxzKCksIHsgfSwg
ZGV0YWlsc1VwZGF0ZSk7CisgICAgc2hvdWxkQmUoImludGVybmFscy5tb2NrUGF5bWVudENvb3Jk
aW5hdG9yLmVycm9ycy5sZW5ndGgiLCAiMCIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVn
KCJUZXN0aW5nIFBheW1lbnREZXRhaWxzVXBkYXRlIHdpdGggQXBwbGUgUGF5IHBheW1lbnQgbWV0
aG9kIGVycm9ycy4iKTsKKyAgICB2YXIgZGV0YWlsc1VwZGF0ZSA9IHZhbGlkUGF5bWVudERldGFp
bHMoKTsKKyAgICBkZXRhaWxzVXBkYXRlLnBheW1lbnRNZXRob2RFcnJvcnMgPSBbCisgICAgICAg
IG5ldyBBcHBsZVBheUVycm9yKCJhZGRyZXNzVW5zZXJ2aWNlYWJsZSIpLAorICAgICAgICBuZXcg
QXBwbGVQYXlFcnJvcigic2hpcHBpbmdDb250YWN0SW52YWxpZCIsICJwaG9uZXRpY05hbWUiLCAi
QXBwbGUgUGF5IGVycm9yIiksCisgICAgXTsKKyAgICBhd2FpdCB1cGRhdGVEZXRhaWxzT25TaGlw
cGluZ0FkZHJlc3NDaGFuZ2UodmFsaWRQYXltZW50RGV0YWlscygpLCB7IH0sIGRldGFpbHNVcGRh
dGUpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJv
cnMubGVuZ3RoIiwgIjIiKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29v
cmRpbmF0b3IuZXJyb3JzWzBdLmNvZGUiLCAiJ2FkZHJlc3NVbnNlcnZpY2VhYmxlJyIpOworICAg
IHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMF0ubWVz
c2FnZSIsICInJyIpOworICAgIHNob3VsZEJlKCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGlu
YXRvci5lcnJvcnNbMF0uY29udGFjdEZpZWxkIiwgInVuZGVmaW5lZCIpOworICAgIHNob3VsZEJl
KCJpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5lcnJvcnNbMV0uY29kZSIsICInc2hp
cHBpbmdDb250YWN0SW52YWxpZCciKTsKKyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXlt
ZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFdLm1lc3NhZ2UiLCAiJ0FwcGxlIFBheSBlcnJvciciKTsK
KyAgICBzaG91bGRCZSgiaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuZXJyb3JzWzFd
LmNvbnRhY3RGaWVsZCIsICIncGhvbmV0aWNOYW1lJyIpOworICAgIGRlYnVnKCIiKTsKKworICAg
IGZpbmlzaEpTVGVzdCgpOworfQorCitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDliMTczODM3MThhYTQ4N2RjM2Q4MzljYWQwMDBlNTU5ZGQyY2E3MzMuLmE0ZmE2NmQxMGQ1OTA1
MmYzMjk3MDk2OGNhZmRkYjcwYWNiZjJjZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI2LDYgKzI2LDcgQEAgZmFzdC9tZWRpYS9tcS1w
cmVmZXJzLXJlZHVjZWQtbW90aW9uLWxpdmUtdXBkYXRlLmh0bWwgWyBQYXNzIF0KIFsgU2llcnJh
IF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjMuaHRtbCBbIFNraXAg
XQogWyBTaWVycmEgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WNC5o
dG1sIFsgU2tpcCBdCiBbIFNpZXJyYSBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5
UmVxdWVzdFNoaXBwaW5nQ29udGFjdFYzLmh0dHBzLmh0bWwgWyBTa2lwIF0KK1sgU2llcnJhIF0g
aHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0FkZHJlc3NDaGFuZ2VFdmVu
dEVycm9yc1YzLmh0dHBzLmh0bWwgWyBTa2lwIF0KIFsgSGlnaFNpZXJyYSBdIGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5QnV0dG9uVjQuaHRtbCBbIFNraXAgXQogWyBIaWdoU2llcnJh
IF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uVjQuaHRtbCBbIFNraXAg
XQogCkBAIC03NTcsNiArNzU4LDcgQEAgd2Via2l0Lm9yZy9iLzE4NTk5NCBbIERlYnVnIF0gZmFz
dC90ZXh0L3VzZXItaW5zdGFsbGVkLWZvbnRzL3NoYWRvdy1wb3N0c2NyaXB0LWYKIFsgSGlnaFNp
ZXJyYSsgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Npb25WMy5odG1sIFsg
UGFzcyBdCiBbIE1vamF2ZSsgXSBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheVNlc3Np
b25WNC5odG1sIFsgUGFzcyBdCiBbIEhpZ2hTaWVycmErIF0gaHR0cC90ZXN0cy9zc2wvYXBwbGVw
YXkvQXBwbGVQYXlSZXF1ZXN0U2hpcHBpbmdDb250YWN0VjMuaHR0cHMuaHRtbCBbIFBhc3MgXQor
WyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdB
ZGRyZXNzQ2hhbmdlRXZlbnRFcnJvcnNWMy5odHRwcy5odG1sIFsgUGFzcyBdCiAjIDxyZGFyOi8v
cHJvYmxlbS8zMTYzNDQ1MT4KIFsgSGlnaFNpZXJyYSsgXSBodHRwL3Rlc3RzL3Jlc291cmNlTG9h
ZFN0YXRpc3RpY3MvY29va2llcy13aXRoLWFuZC13aXRob3V0LXVzZXItaW50ZXJhY3Rpb24uaHRt
bCBbIFBhc3MgXQogWyBIaWdoU2llcnJhKyBdIGh0dHAvdGVzdHMvcmVzb3VyY2VMb2FkU3RhdGlz
dGljcy9jb29raWUtZGVsZXRpb24uaHRtbCBbIFBhc3MgXQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>