<?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>181437</bug_id>
          
          <creation_ts>2018-01-09 08:54:30 -0800</creation_ts>
          <short_desc>[Payment Request] Rename ApplePayMerchantValidationEvent to MerchantValidationEvent</short_desc>
          <delta_ts>2018-01-10 23:27:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1387283</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-09 08:54:30 -0800</bug_when>
    <thetext>[Payment Request] Rename ApplePayMerchantValidationEvent to MerchantValidationEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387285</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-09 08:55:15 -0800</bug_when>
    <thetext>&lt;rdar://problem/36376481&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387288</commentid>
    <comment_count>2</comment_count>
      <attachid>330828</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-09 08:58:56 -0800</bug_when>
    <thetext>Created attachment 330828
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387289</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-01-09 09:02:34 -0800</bug_when>
    <thetext>Attachment 330828 did not pass style-queue:


ERROR: Source/WebCore/Modules/paymentrequest/MerchantValidationEvent.cpp:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Total errors found: 1 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387493</commentid>
    <comment_count>4</comment_count>
      <attachid>330828</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2018-01-09 18:00:08 -0800</bug_when>
    <thetext>Comment on attachment 330828
Patch

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

&gt; LayoutTests/http/tests/paymentrequest/payment-request-merchant-validation.https.html:2
&gt; +&lt;!--  Copyright (C) 2018 Apple Inc. All rights reserved.  --&gt;

?????? I don’t think so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387732</commentid>
    <comment_count>5</comment_count>
      <attachid>330928</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2018-01-10 10:23:04 -0800</bug_when>
    <thetext>Created attachment 330928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387824</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-10 13:10:19 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 330928:

accessibility/mac/aria-multiple-liveregions-notification.html bug 181494 (authors: cdumez@apple.com, simon.fraser@apple.com, and zalan@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387825</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-10 13:10:21 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 330928:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388139</commentid>
    <comment_count>8</comment_count>
      <attachid>330928</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-10 23:27:00 -0800</bug_when>
    <thetext>Comment on attachment 330928
Patch

Clearing flags on attachment: 330928

Committed r226766: &lt;https://trac.webkit.org/changeset/226766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1388140</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-10 23:27:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330828</attachid>
            <date>2018-01-09 08:58:56 -0800</date>
            <delta_ts>2018-01-10 10:23:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181437-20180109085856.patch</filename>
            <type>text/plain</type>
            <size>58638</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NDYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA2Zjk0ZTFjYTkxNTll
NDVjNzk5NjU5YjA4ZjIxMDAxMjU0ZDQ0ZC4uZTNkNzEzYTEwZmIxMzUwMmYxMjM0Y2NlYTViOTVk
Yzc0NGJkY2NmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAxLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBS
ZW5hbWUgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCB0byBNZXJjaGFudFZhbGlkYXRp
b25FdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgxNDM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjM3NjQ4MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFJlbmFtZWQgQXBwbGVQ
YXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBhbmQg
Y2hhbmdlZCBjb21wbGV0ZSgpIHRvIGFjY2VwdCBhIFByb21pc2UuCisKKyAgICAgICAgVGVzdDog
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRh
dGlvbi5odHRwcy5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAg
ICAqIE1vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjptZXJjaGFu
dFZhbGlkYXRpb25Db21wbGV0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50
SGFuZGxlcjo6dmFsaWRhdGVNZXJjaGFudCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmg6CisgICAgICAgICogTW9kdWxl
cy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHA6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwLgorICAgICAgICAoV2ViQ29yZTo6TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZXJjaGFudFZhbGlk
YXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNlIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ojpjb21wbGV0ZSk6CisgICAgICAgICog
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmguCisgICAgICAgICogTW9kdWxlcy9wYXltZW50
cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaWRsLgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5
bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRSZXF1ZXN0Ojpjb21wbGV0ZU1l
cmNoYW50VmFsaWRhdGlvbik6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVxdWVzdC5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuaWRsOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoK
KyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmlu
OgorCiAyMDE4LTAxLTA1ICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5j
b20+CiAKICAgICAgICAgU1ZHQW5pbWF0ZWRMaXN0UHJvcGVydHlUZWFyT2ZmOjpzeW5jaHJvbml6
ZVdyYXBwZXJzSWZOZWVkZWQoKSBzaG91bGQgZG8gbm90aGluZyBpZiB0aGUgcHJvcGVydHkgaXMg
bm90IGFuaW1hdGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOTRhNmRiOWNi
NjBkNGViOGEyMWEwNTY3NGNmZGJiMGVmN2Q1MzcxNi4uYWM5NTk1N2NkYWY5MzQzMmFkZDBhMmNk
ZTU1NjM4NzY3MmI1MmVmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMTEs
NyArMTExLDYgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2VsZWN0ZWRFdmVudC5pZGwgXAogCSQoV2Vi
Q29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFu
dEV2ZW50LmlkbCBcCi0gICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1
ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVJl
cXVlc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYmVhY29uL05hdmlnYXRvckJlYWNv
bi5pZGwgXApAQCAtMjU2LDYgKzI1NSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlz
c2lvbkNhbGxiYWNrLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0
L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRBZGRyZXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3BheW1lbnRyZXF1ZXN0L1BheW1lbnRDb21wbGV0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50Q3VycmVuY3lBbW91bnQuaWRsIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWIxYzU5ODdiNzdjNTM1MmYwMjhhMzk4
N2U3MTlmY2JjYWUxZjE5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3OSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgot
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkFwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCIKLQotI2lmIEVOQUJMRShBUFBMRV9QQVkpICYm
IEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCi0KLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1
ZGUgIk1haW5GcmFtZS5oIgotI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvci5oIgotI2luY2x1
ZGUgIlBheW1lbnRNZXJjaGFudFNlc3Npb24uaCIKLSNpbmNsdWRlIDxydW50aW1lL0pTQ0pTVmFs
dWVJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8cnVudGltZS9KU09iamVjdC5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLVJlZjxBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBjb25zdCBVUkwmIHZhbGlkYXRpb25VUkwpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCh0eXBlLCB2YWxpZGF0aW9uVVJMKSk7Ci19
Ci0KLUFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OkFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBVUkwmIHZhbGlkYXRp
b25VUkwpCi0gICAgOiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCB7IHR5cGUsIHZhbGlk
YXRpb25VUkwgfQotewotfQotCi1FeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheU1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Ojpjb21wbGV0ZShEb2N1bWVudCYgZG9jdW1lbnQsIEpTQzo6SlNWYWx1ZSBt
ZXJjaGFudFNlc3Npb25WYWx1ZSkKLXsKLSAgICBpZiAobV9pc0NvbXBsZXRlZCkKLSAgICAgICAg
cmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07Ci0gICAgbV9pc0NvbXBsZXRl
ZCA9IHRydWU7Ci0KLSAgICBhdXRvJiBwYXltZW50Q29vcmRpbmF0b3IgPSBkb2N1bWVudC5mcmFt
ZSgpLT5tYWluRnJhbWUoKS5wYXltZW50Q29vcmRpbmF0b3IoKTsKLSAgICBpZiAoIXBheW1lbnRD
b29yZGluYXRvci5oYXNBY3RpdmVTZXNzaW9uKCkpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24g
eyBJbnZhbGlkU3RhdGVFcnJvciB9OwotCi0gICAgaWYgKCFtZXJjaGFudFNlc3Npb25WYWx1ZS5p
c09iamVjdCgpKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07Ci0KLSAg
ICBTdHJpbmcgZXJyb3JNZXNzYWdlOwotICAgIGF1dG8gbWVyY2hhbnRTZXNzaW9uID0gUGF5bWVu
dE1lcmNoYW50U2Vzc2lvbjo6ZnJvbUpTKCpkb2N1bWVudC5leGVjU3RhdGUoKSwgYXNPYmplY3Qo
bWVyY2hhbnRTZXNzaW9uVmFsdWUpLCBlcnJvck1lc3NhZ2UpOwotICAgIGlmICghbWVyY2hhbnRT
ZXNzaW9uKQotICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBXVEZNb3ZlKGVy
cm9yTWVzc2FnZSkgfTsKLQotICAgIHBheW1lbnRDb29yZGluYXRvci5jb21wbGV0ZU1lcmNoYW50
VmFsaWRhdGlvbigqbWVyY2hhbnRTZXNzaW9uKTsKLSAgICByZXR1cm4geyB9OwotfQotCi1FdmVu
dEludGVyZmFjZSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpldmVudEludGVyZmFj
ZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnRJ
bnRlcmZhY2VUeXBlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBF
TkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDU3NDAxYTYzZDg4MjhmYjQ0NThlMjIyZWI1YWQ1N2I2
YjAwYTJkZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQuaAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShBUFBMRV9QQVkpICYmIEVOQUJM
RShQQVlNRU5UX1JFUVVFU1QpCi0KLSNpbmNsdWRlICJBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRF
dmVudC5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLWNsYXNzIEpTVmFsdWU7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgRG9jdW1lbnQ7Ci0KLWNsYXNzIEFwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQgZmluYWwgOiBwdWJsaWMgQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZl
bnQgewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFVSTCYpOwotICAgIEV4Y2Vw
dGlvbk9yPHZvaWQ+IGNvbXBsZXRlKERvY3VtZW50JiwgSlNDOjpKU1ZhbHVlKTsKLQotcHJpdmF0
ZToKLSAgICBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmlu
ZyYsIGNvbnN0IFVSTCYpOwotCi0gICAgLy8gRXZlbnQKLSAgICBFdmVudEludGVyZmFjZSBldmVu
dEludGVyZmFjZSgpIGNvbnN0IGZpbmFsOwotCi0gICAgYm9vbCBtX2lzQ29tcGxldGVkIHsgZmFs
c2UgfTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEVOQUJMRShB
UFBMRV9QQVkpICYmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXlt
ZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYWZiZDc0YTZhZmVlNDQ4ZGRiNDczNmNiMjY5YTI5YzBlYjgx
MmQ4Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1BUFBMRV9QQVkmUEFZTUVOVF9SRVFVRVNULAot
ICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotXSBpbnRlcmZhY2UgQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudCA6IEFwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50IHsKLSAgICBbTWF5VGhy
b3dFeGNlcHRpb24sIENhbGxXaXRoPURvY3VtZW50XSB2b2lkIGNvbXBsZXRlKGFueSBtZXJjaGFu
dFNlc3Npb24pOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRs
ZXIuY3BwCmluZGV4IDE3MDc2YmZjMzgwMzRkZTAxMmM1OTg4NzI2MTc4ZDdjMTQ5ZjI4NTQuLjA0
MTRlNDQxZTc4OTBmOGY1OWUwNWRjZTdiNjRjMmYzYjA0ODk3ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50
SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50
cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMzAsNyArMzAsNiBAQAogCiAj
aW5jbHVkZSAiQXBwbGVQYXlDb250YWN0RmllbGQuaCIKICNpbmNsdWRlICJBcHBsZVBheU1lcmNo
YW50Q2FwYWJpbGl0eS5oIgotI2luY2x1ZGUgIkFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZl
bnQuaCIKICNpbmNsdWRlICJBcHBsZVBheU1vZGlmaWVyLmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlQ
YXltZW50LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QuaCIKQEAg
LTQwLDExICszOSwxMyBAQAogI2luY2x1ZGUgIkpTQXBwbGVQYXlSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiTGlua0ljb25Db2xsZWN0b3IuaCIKICNpbmNsdWRlICJNYWluRnJhbWUuaCIKKyNpbmNsdWRl
ICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRl
ICJQYXltZW50LmgiCiAjaW5jbHVkZSAiUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMuaCIKICNp
bmNsdWRlICJQYXltZW50Q29udGFjdC5oIgogI2luY2x1ZGUgIlBheW1lbnRDb29yZGluYXRvci5o
IgorI2luY2x1ZGUgIlBheW1lbnRNZXJjaGFudFNlc3Npb24uaCIKICNpbmNsdWRlICJQYXltZW50
TWV0aG9kLmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3RWYWxpZGF0b3IuaCIKICNpbmNsdWRl
ICJQYXltZW50UmVzcG9uc2UuaCIKQEAgLTMxOCw2ICszMTksMjMgQEAgRXhjZXB0aW9uT3I8dm9p
ZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGV0YWlsc1VwZGF0ZWQoY29uc3QgQXRvbWljU3Ry
aW5nJiBldmUKICAgICByZXR1cm4geyB9OwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBh
eVBheW1lbnRIYW5kbGVyOjptZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1ZhbHVl
JiYgbWVyY2hhbnRTZXNzaW9uVmFsdWUpCit7CisgICAgaWYgKCFwYXltZW50Q29vcmRpbmF0b3Io
KS5oYXNBY3RpdmVTZXNzaW9uKCkpCisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlk
U3RhdGVFcnJvciB9OworCisgICAgaWYgKCFtZXJjaGFudFNlc3Npb25WYWx1ZS5pc09iamVjdCgp
KQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07CisKKyAgICBTdHJpbmcg
ZXJyb3JNZXNzYWdlOworICAgIGF1dG8gbWVyY2hhbnRTZXNzaW9uID0gUGF5bWVudE1lcmNoYW50
U2Vzc2lvbjo6ZnJvbUpTKCpkb2N1bWVudCgpLmV4ZWNTdGF0ZSgpLCBhc09iamVjdChtZXJjaGFu
dFNlc3Npb25WYWx1ZSksIGVycm9yTWVzc2FnZSk7CisgICAgaWYgKCFtZXJjaGFudFNlc3Npb24p
CisgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIFdURk1vdmUoZXJyb3JNZXNz
YWdlKSB9OworCisgICAgcGF5bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVNZXJjaGFudFZhbGlk
YXRpb24oKm1lcmNoYW50U2Vzc2lvbik7CisgICAgcmV0dXJuIHsgfTsKK30KKwogRXhjZXB0aW9u
T3I8dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6c2hpcHBpbmdBZGRyZXNzVXBkYXRlZChj
b25zdCBTdHJpbmcmIGVycm9yKQogewogICAgIFNoaXBwaW5nQ29udGFjdFVwZGF0ZSB1cGRhdGU7
CkBAIC0zOTksNyArNDE3LDcgQEAgdW5zaWduZWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmVy
c2lvbigpIGNvbnN0CiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnZhbGlkYXRlTWVyY2hh
bnQoY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQogewogICAgIGlmICh2YWxpZGF0aW9uVVJMLmlz
VmFsaWQoKSkKLSAgICAgICAgbV9wYXltZW50UmVxdWVzdC0+ZGlzcGF0Y2hFdmVudChBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmFwcGxlcGF5dmFs
aWRhdGVtZXJjaGFudEV2ZW50LCB2YWxpZGF0aW9uVVJMKS5nZXQoKSk7CisgICAgICAgIG1fcGF5
bWVudFJlcXVlc3QtPmRpc3BhdGNoRXZlbnQoTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNyZWF0
ZShldmVudE5hbWVzKCkubWVyY2hhbnR2YWxpZGF0aW9uRXZlbnQsIHZhbGlkYXRpb25VUkwsIG1f
cGF5bWVudFJlcXVlc3QuZ2V0KCkpLmdldCgpKTsKIH0KIAogc3RhdGljIFJlZjxQYXltZW50QWRk
cmVzcz4gY29udmVydChjb25zdCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBjb250YWN0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAppbmRleCA5ZGIyM2IyNTg0
MTdkY2FhMGMwNGI2N2ExZTgyYzUxOGFiYWVjMGViLi5mZDZmOGQwNzZhNjA3MzAwMmNjMjNjZTU0
YzQ3MGQ3M2YxYjc3ZDcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhh
bmRsZXIuaApAQCAtNjQsNiArNjQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaGlkZSgpIGZpbmFs
OwogICAgIHZvaWQgY2FuTWFrZVBheW1lbnQoV1RGOjpGdW5jdGlvbjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKSBmaW5hbDsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBkZXRhaWxzVXBk
YXRlZChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgY29uc3QgU3RyaW5nJiBlcnJvcikg
ZmluYWw7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gbWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxldGVk
KEpTQzo6SlNWYWx1ZSYmKSBmaW5hbDsKICAgICB2b2lkIGNvbXBsZXRlKHN0ZDo6b3B0aW9uYWw8
UGF5bWVudENvbXBsZXRlPiYmKSBmaW5hbDsKIAogICAgIC8vIFBheW1lbnRTZXNzaW9uCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwOGFjZDJlMzEyZWQxNjYz
ZTQ1OTZiYWZiOTVlNGU3YjY1NGRmZjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApAQCAt
MCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgiCisKKyNpZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNU
KQorCisjaW5jbHVkZSAiUGF5bWVudFJlcXVlc3QuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitSZWY8TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ+IE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Ojpj
cmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBVUkwmIHZhbGlkYXRpb25VUkws
IFBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCh0eXBlLCB2YWxpZGF0aW9uVVJMLCBwYXltZW50
UmVxdWVzdCkpOworfQorCitNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBVUkwmIHZhbGlkYXRpb25V
UkwsIFBheW1lbnRSZXF1ZXN0JiBwYXltZW50UmVxdWVzdCkKKyAgICA6IEV2ZW50IHsgdHlwZSwg
ZmFsc2UsIGZhbHNlIH0KKyAgICAsIG1fdmFsaWRhdGlvblVSTCB7IHZhbGlkYXRpb25VUkwgfQor
ICAgICwgbV9wYXltZW50UmVxdWVzdCB7IHBheW1lbnRSZXF1ZXN0IH0KK3sKK30KKworRXZlbnRJ
bnRlcmZhY2UgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnRJbnRlcmZhY2VUeXBlOworfQor
CitFeGNlcHRpb25Pcjx2b2lkPiBNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y29tcGxldGUoUmVm
PERPTVByb21pc2U+JiYgbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSkKK3sKKyAgICBpZiAoIWlzVHJ1
c3RlZCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsK
KworICAgIGlmIChtX2lzQ29tcGxldGVkKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgSW52
YWxpZFN0YXRlRXJyb3IgfTsKKworICAgIGF1dG8gZXhjZXB0aW9uID0gbV9wYXltZW50UmVxdWVz
dC0+Y29tcGxldGVNZXJjaGFudFZhbGlkYXRpb24oKnRoaXMsIFdURk1vdmUobWVyY2hhbnRTZXNz
aW9uUHJvbWlzZSkpOworICAgIGlmIChleGNlcHRpb24uaGFzRXhjZXB0aW9uKCkpCisgICAgICAg
IHJldHVybiBleGNlcHRpb24ucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgbV9pc0NvbXBsZXRl
ZCA9IHRydWU7CisgICAgcmV0dXJuIHsgfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lOWY5MjRhZjczNjg1ZjE3MDdiZDM4Yzc5MjI2NmIyMGVkZTRl
Mjg1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCisKKyNpbmNs
dWRlICJFdmVudC5oIgorI2luY2x1ZGUgIlVSTC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIERPTVByb21pc2U7CitjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFBheW1lbnRSZXF1ZXN0
OworCitjbGFzcyBNZXJjaGFudFZhbGlkYXRpb25FdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZXJjaGFudFZhbGlkYXRpb25FdmVudD4gY3JlYXRl
KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFVSTCYsIFBheW1lbnRSZXF1ZXN0Jik7CisKKyAg
ICBjb25zdCBTdHJpbmcmIHZhbGlkYXRpb25VUkwoKSBjb25zdCB7IHJldHVybiBtX3ZhbGlkYXRp
b25VUkwuc3RyaW5nKCk7IH0KKyAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZShSZWY8RE9N
UHJvbWlzZT4mJik7CisKK3ByaXZhdGU6CisgICAgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiwgY29uc3QgVVJMJiwgUGF5bWVudFJlcXVlc3QmKTsKKworICAgIC8v
IEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsK
KworICAgIGJvb2wgbV9pc0NvbXBsZXRlZCB7IGZhbHNlIH07CisgICAgVVJMIG1fdmFsaWRhdGlv
blVSTDsKKyAgICBSZWY8UGF5bWVudFJlcXVlc3Q+IG1fcGF5bWVudFJlcXVlc3Q7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoUEFZTUVOVF9SRVFVRVNU
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJj
aGFudFZhbGlkYXRpb25FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRy
ZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjgwYmY1OThl
ZDUzZmUzZTgxOTFmNThkY2JlNTYwYWU2MDJjMDU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1QQVlN
RU5UX1JFUVVFU1QsCisgICAgTm9JbnRlcmZhY2VPYmplY3QsCitdIGludGVyZmFjZSBNZXJjaGFu
dFZhbGlkYXRpb25FdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHZhbGlkYXRpb25VUkw7CisgICAgW01heVRocm93RXhjZXB0aW9uXSB2b2lkIGNvbXBsZXRl
KFByb21pc2U8YW55PiBtZXJjaGFudFNlc3Npb25Qcm9taXNlKTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmgKaW5k
ZXggODZjOTAzMmMxY2JkODA1YTMwMTdmMTFmOGM0ZjI4NzRhNTY1OTA4YS4uMmNlZTA3ZDQ5Njc0
NTE5NjQ3YmJiNTk4ODZkNTFhYzYwZDg4NDlmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhhbmRsZXIuaApAQCAtNTAsNiArNTAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhpZGUoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNhbk1ha2VQYXltZW50KFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikgPSAwOwogICAgIHZpcnR1YWwgRXhjZXB0aW9uT3I8dm9pZD4gZGV0YWlsc1VwZGF0
ZWQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0cmluZyYgZXJyb3IpID0g
MDsKKyAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+IG1lcmNoYW50VmFsaWRhdGlvbkNvbXBs
ZXRlZChKU0M6OkpTVmFsdWUmJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb21wbGV0ZShzdGQ6
Om9wdGlvbmFsPFBheW1lbnRDb21wbGV0ZT4mJikgPSAwOwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcApp
bmRleCA5YjEzM2E0NGFjNGM5MmQwZTNkMWE5YWZmOTQ0MGFhZGJlZWJmZWIwLi4xOGZjY2ViOTUx
MmZlMDkxYTU5OTI3NmYxOTdiYTkxMjMyZTk3N2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmNwcApAQCAtNTYy
LDYgKzU2MiwzNCBAQCBFeGNlcHRpb25Pcjx2b2lkPiBQYXltZW50UmVxdWVzdDo6dXBkYXRlV2l0
aChFdmVudCYgZXZlbnQsIFJlZjxET01Qcm9taXNlPiYmIHBybwogICAgIHJldHVybiB7IH07CiB9
CiAKK0V4Y2VwdGlvbk9yPHZvaWQ+IFBheW1lbnRSZXF1ZXN0Ojpjb21wbGV0ZU1lcmNoYW50VmFs
aWRhdGlvbihFdmVudCYgZXZlbnQsIFJlZjxET01Qcm9taXNlPiYmIG1lcmNoYW50U2Vzc2lvblBy
b21pc2UpCit7CisgICAgaWYgKG1fc3RhdGUgIT0gU3RhdGU6OkludGVyYWN0aXZlKQorICAgICAg
ICByZXR1cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKworICAgIGV2ZW50LnN0
b3BQcm9wYWdhdGlvbigpOworICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpOwor
CisgICAgbV9tZXJjaGFudFNlc3Npb25Qcm9taXNlID0gV1RGTW92ZShtZXJjaGFudFNlc3Npb25Q
cm9taXNlKTsKKyAgICBtX21lcmNoYW50U2Vzc2lvblByb21pc2UtPndoZW5TZXR0bGVkKFt0aGlz
LCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZlB0cih0aGlzKV0oKSB7CisgICAgICAgIGlmIChtX3N0
YXRlICE9IFN0YXRlOjpJbnRlcmFjdGl2ZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBpZiAobV9tZXJjaGFudFNlc3Npb25Qcm9taXNlLT5zdGF0dXMoKSA9PSBET01Qcm9taXNlOjpT
dGF0dXM6OlJlamVjdGVkKSB7CisgICAgICAgICAgICBzdG9wKCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKworICAgICAgICBhdXRvIGV4Y2VwdGlvbiA9IG1fYWN0aXZlUGF5bWVu
dEhhbmRsZXItPm1lcmNoYW50VmFsaWRhdGlvbkNvbXBsZXRlZChtX21lcmNoYW50U2Vzc2lvblBy
b21pc2UtPnJlc3VsdCgpKTsKKyAgICAgICAgaWYgKGV4Y2VwdGlvbi5oYXNFeGNlcHRpb24oKSkg
eworICAgICAgICAgICAgYWJvcnRXaXRoRXhjZXB0aW9uKGV4Y2VwdGlvbi5yZWxlYXNlRXhjZXB0
aW9uKCkpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBy
ZXR1cm4geyB9OworfQorCiB2b2lkIFBheW1lbnRSZXF1ZXN0OjpzZXR0bGVEZXRhaWxzUHJvbWlz
ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUpCiB7CiAgICAgYXV0byBzY29wZUV4aXQgPSBtYWtl
U2NvcGVFeGl0KFsmXSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1l
bnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKaW5kZXggNWNkNzhiZjhkZTc0ZmNhODlkZWM5ZTU4
Nzg1NjI5NjU4NWNkZjUyYS4uZmE5ZmRmNGJiYTYzMzkyMTU5ZjU0ODUzMjczNjQzZjM2N2Q5NTdk
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXlt
ZW50UmVxdWVzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3Qv
UGF5bWVudFJlcXVlc3QuaApAQCAtODAsNiArODAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzaGlw
cGluZ0FkZHJlc3NDaGFuZ2VkKFJlZjxQYXltZW50QWRkcmVzcz4mJik7CiAgICAgdm9pZCBzaGlw
cGluZ09wdGlvbkNoYW5nZWQoY29uc3QgU3RyaW5nJiBzaGlwcGluZ09wdGlvbik7CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gdXBkYXRlV2l0aChFdmVudCYsIFJlZjxET01Qcm9taXNlPiYmKTsKKyAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihFdmVudCYsIFJl
ZjxET01Qcm9taXNlPiYmKTsKICAgICB2b2lkIGFjY2VwdChjb25zdCBTdHJpbmcmIG1ldGhvZE5h
bWUsIEpTQzo6U3Ryb25nPEpTQzo6SlNPYmplY3Q+JiYgZGV0YWlscywgUmVmPFBheW1lbnRBZGRy
ZXNzPiYmIHNoaXBwaW5nQWRkcmVzcywgY29uc3QgU3RyaW5nJiBwYXllck5hbWUsIGNvbnN0IFN0
cmluZyYgcGF5ZXJFbWFpbCwgY29uc3QgU3RyaW5nJiBwYXllclBob25lKTsKICAgICB2b2lkIGNv
bXBsZXRlKHN0ZDo6b3B0aW9uYWw8UGF5bWVudENvbXBsZXRlPiYmKTsKICAgICB2b2lkIGNhbmNl
bCgpOwpAQCAtMTIwLDYgKzEyMSw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjpvcHRpb25hbDxTaG93
UHJvbWlzZT4gbV9zaG93UHJvbWlzZTsKICAgICBSZWZQdHI8UGF5bWVudEhhbmRsZXI+IG1fYWN0
aXZlUGF5bWVudEhhbmRsZXI7CiAgICAgUmVmUHRyPERPTVByb21pc2U+IG1fZGV0YWlsc1Byb21p
c2U7CisgICAgUmVmUHRyPERPTVByb21pc2U+IG1fbWVyY2hhbnRTZXNzaW9uUHJvbWlzZTsKICAg
ICBib29sIG1faXNVcGRhdGluZyB7IGZhbHNlIH07CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsCmluZGV4
IDdmYTM5OWE4N2FmMzc2ZGZkNTY4NDc2NmQ1YzcyZTkxYjJlMzMxZTYuLmMwZWE1MGNlOTk4ZWRm
YWJmZTYyNWJlYmMwZGY3NjMyYmEyNWNjOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaWRsCkBAIC00Myw2ICs0
Myw1IEBACiAKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdhZGRyZXNzY2hh
bmdlOwogICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25zaGlwcGluZ29wdGlvbmNoYW5nZTsK
LQotICAgIFtDb25kaXRpb25hbD1BUFBMRV9QQVldIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25h
cHBsZXBheXZhbGlkYXRlbWVyY2hhbnQ7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1l
cmNoYW50dmFsaWRhdGlvbjsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGUxOTBhMTJmMWUwMzA5ZWMyNWJiYWViYTM1NjEy
MGM5YTNmN2I3YS4uOTMyZDQ0Mjk5NWFiODMzOWY1ZTViYjQzYTJkYzM1NzBkNDk1YzdjYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpA
QCAtMjcwOCw2ICsyNzA4LDEwIEBACiAJCUExMERCRjQ3MThGOTIzMTcwMDBENzBDNiAvKiBQcmV2
aWV3TG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBMTBEQkY0NjE4RjkyMzE3MDAwRDcwQzYgLyogUHJldmlld0xvYWRlckNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExMERD
NzZCMTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTBEQzc2OTE0NzQ3QkFCMDA1RTI0NzEgLyog
U3R5bGVHcmlkRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCUExMTBEQjlCMTRGNURGNzcwMEEwM0I5MyAvKiBTdHlsZUdyaWRJdGVtRGF0YS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExMERCOUEx
NEY1REY3NzAwQTAzQjkzIC8qIFN0eWxlR3JpZEl0ZW1EYXRhLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQTExQUUwQ0MxRkZENjA1MzAwNDczNDhC
IC8qIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFBRTBDOTFGRkQ2MDUzMDA0NzM0OEIgLyogTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaCAqLzsgfTsKKwkJQTExQUUwQ0QxRkZENjA1MzAwNDczNDhCIC8qIE1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMUFFMENBMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5jcHAgKi87IH07CisJCUExMUFFMEQyMUZGRDYxREYwMDQ3MzQ4QiAvKiBKU01l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMUFFMEQwMUZGRDYxREUwMDQ3MzQ4QiAvKiBKU01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmNwcCAqLzsgfTsKKwkJQTExQUUwRDMxRkZENjFERjAwNDczNDhCIC8qIEpT
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMUFFMEQxMUZGRDYxREYwMDQ3MzQ4QiAvKiBKU01lcmNoYW50VmFs
aWRhdGlvbkV2ZW50LmggKi87IH07CiAJCUExMUU4QzA1MUIxRTI4RjQwMDAzQTdDNyAvKiBjb3B5
Q3Vyc29yLnBuZyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTExRThDMDAxQjFFMjhCRTAwMDNBN0M3IC8qIGNvcHlDdXJzb3IucG5nICovOyB9OwogCQlB
MTFFOEMwNjFCMUUyOEZBMDAwM0E3QzcgLyogbW92ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMUU4QzAxMUIxRTI4QkUwMDAzQTdD
NyAvKiBtb3ZlQ3Vyc29yLnBuZyAqLzsgfTsKIAkJQTExRThDMDcxQjFFMjhGRTAwMDNBN0M3IC8q
IG5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExMUU4QzAyMUIxRTI4QkUwMDAzQTdDNyAvKiBu
b3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IucG5nICovOyB9OwpAQCAtMjgyNywxMCArMjgz
MSw2IEBACiAJCUExRjc2QjRGMUY0NEQyNDIwMDE0QzMxOCAvKiBQYXltZW50RGV0YWlsc01vZGlm
aWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3
NkI0QzFGNDREMjQyMDAxNEMzMTggLyogUGF5bWVudERldGFpbHNNb2RpZmllci5oICovOyB9Owog
CQlBMUY3NkI1NTFGNDREMkM3MDAxNEMzMTggLyogUGF5bWVudFNoaXBwaW5nT3B0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3NkI1MjFGNDRE
MkM3MDAxNEMzMTggLyogUGF5bWVudFNoaXBwaW5nT3B0aW9uLmggKi87IH07CiAJCUExRjc2QjVC
MUY0NEQzQjIwMDE0QzMxOCAvKiBQYXltZW50Q29tcGxldGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjc2QjU4MUY0NEQzQjIwMDE0QzMxOCAvKiBQ
YXltZW50Q29tcGxldGUuaCAqLzsgfTsKLQkJQTFGOTI5NjkxRjhEOUNEQjAwNTIzQUYzIC8qIEFw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTY2MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi87IH07Ci0JCUExRjkyOTZBMUY4RDlDREIwMDUy
M0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTY3MUY4RDlDREIwMDUyM0FG
MyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLzsgfTsKLQkJQTFGOTI5
NkYxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5Mjk2
RDFGOEQ5RjVBMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNw
cCAqLzsgfTsKLQkJQTFGOTI5NzAxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5oICovOyB9OwogCQlBMkI5MjE3MzE2QzVDQzQyMDA0MURDRDkgLyogSW50
UmVjdEV4dGVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQTJCOTIxNzIxNkM1Q0M0MjAwNDFEQ0Q5IC8qIEludFJlY3RFeHRlbnQuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlBMzFDNEU0RDE2RTAyQUE2
MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMzFDNEU0QzE2RTAyQUE2MDAyRjc5NTcgLyogT0VT
VGV4dHVyZUhhbGZGbG9hdC5jcHAgKi87IH07CiAJCUEzMUM0RTRGMTZFMDJBQjQwMDJGNzk1NyAv
KiBPRVNUZXh0dXJlSGFsZkZsb2F0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMzFDNEU0RTE2RTAyQUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZG
bG9hdC5oICovOyB9OwpAQCAtMTA1MzMsNiArMTA1MzMsMTEgQEAKIAkJQTEwREM3NjkxNDc0N0JB
QjAwNUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3R5bGVHcmlkRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTEw
REI5QTE0RjVERjc3MDBBMDNCOTMgLyogU3R5bGVHcmlkSXRlbURhdGEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVHcmlkSXRlbURhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQTExMERCOUMxNEY1REY4NzAwQTAzQjkzIC8qIFN0eWxlR3JpZEl0ZW1E
YXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlR3JpZEl0
ZW1EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTExQUUwQzkxRkZENjA1
MzAwNDczNDhCIC8qIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEx
MUFFMENBMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUExMUFFMENCMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTFBRTBEMDFGRkQ2MURFMDA0NzM0OEIgLyogSlNN
ZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQTExQUUwRDExRkZENjFERjAwNDczNDhCIC8qIEpTTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTFFOEMwMDFC
MUUyOEJFMDAwM0E3QzcgLyogY29weUN1cnNvci5wbmcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBpbWFnZS5wbmc7IHBhdGggPSBjb3B5Q3Vyc29yLnBu
Zzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTExRThDMDExQjFFMjhCRTAwMDNBN0M3
IC8qIG1vdmVDdXJzb3IucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gbW92ZUN1cnNvci5wbmc7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUExMUU4QzAyMUIxRTI4QkUwMDAzQTdDNyAvKiBub3J0aEVhc3RT
b3V0aFdlc3RSZXNpemVDdXJzb3IucG5nICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0gbm9ydGhFYXN0U291dGhXZXN0UmVz
aXplQ3Vyc29yLnBuZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNzM4LDExICsx
MDc0Myw2IEBACiAJCUExRjc2QjU4MUY0NEQzQjIwMDE0QzMxOCAvKiBQYXltZW50Q29tcGxldGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUGF5bWVudENvbXBsZXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExRjc2QjVBMUY0NEQzQjIwMDE0QzMxOCAvKiBQYXltZW50Q29tcGxldGUuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFBheW1lbnRDb21wbGV0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUExRjc4RDBCMUMyNTQyMkMwMDI0NTQ0NiAvKiBSZXNvdXJjZVJlc3BvbnNlQ29jb2EubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBSZXNvdXJjZVJlc3BvbnNlQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExRjkyOTY2MUY4RDlDREIwMDUy
M0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJQTFGOTI5NjcxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExRjkyOTY4MUY4
RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQTFGOTI5NkQxRjhEOUY1QTAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwotCQlBMUY5Mjk2RTFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBsZVBheU1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlBMjA4RTIyMkE1NkEwQzc1NzVGMkE3MkUgLyogUmVuZGVyTWF0aE1MTWVuY2xvc2Uu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyTWF0aE1MTWVuY2xvc2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTJCOTIxNzIxNkM1Q0M0MjAwNDFEQ0Q5
IC8qIEludFJlY3RFeHRlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50
UmVjdEV4dGVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMzFDNEU0QzE2RTAy
QUE2MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBPRVNUZXh0dXJlSGFsZkZsb2F0LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjMyLDggKzE1NjMyLDYgQEAKIAkJCQk3QzY1NzlFQTFFMDA4
NTY2MDBFM0EyN0EgLyogSlNBcHBsZVBheUxpbmVJdGVtLmggKi8sCiAJCQkJQTFERjVBODkxRjdF
QzAwMDAwNThBNDc3IC8qIEpTQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuY3BwICovLAogCQkJ
CUExREY1QThBMUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5
LmggKi8sCi0JCQkJQTFGOTI5NkQxRjhEOUY1QTAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAgKi8sCi0JCQkJQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8q
IEpTQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovLAogCQkJCUExRjZEMDBBMUZF
MDk5MjEwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuY3BwICovLAogCQkJCUExRjZEMDBD
MUZFMDk5MjIwMDE4MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCAqLywKIAkJCQk3QzY1MjMx
RDFFMDE4QjVBMDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuY3BwICovLApAQCAtMjA1NDcs
NiArMjA1NDUsOCBAQAogCQlBMUNDNTY0QTFGNDYxM0JCMDBBNDU1NUIgLyogUGF5bWVudFJlcXVl
c3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUExMUFF
MEQwMUZGRDYxREUwMDQ3MzQ4QiAvKiBKU01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywK
KwkJCQlBMTFBRTBEMTFGRkQ2MURGMDA0NzM0OEIgLyogSlNNZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5oICovLAogCQkJCUExQ0M1NjVGMUY0NjE0NjEwMEE0NTU1QiAvKiBKU1BheW1lbnRBZGRyZXNz
LmNwcCAqLywKIAkJCQlBMUNDNTY2NTFGNDYxNDY4MDBBNDU1NUIgLyogSlNQYXltZW50QWRkcmVz
cy5oICovLAogCQkJCUExQ0M1NjYwMUY0NjE0NjIwMEE0NTU1QiAvKiBKU1BheW1lbnRDb21wbGV0
ZS5jcHAgKi8sCkBAIC0yMDU4Niw5ICsyMDU4Niw2IEBACiAJCUExREY1QTlGMUY3RUUwRjEwMDU4
QTQ3NyAvKiBwYXltZW50cmVxdWVzdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCi0JCQkJQTFGOTI5NjcxRjhEOUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAotCQkJCUExRjkyOTY2MUY4RDlDREIwMDUyM0FGMyAv
KiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi8sCi0JCQkJQTFGOTI5NjgxRjhE
OUNEQjAwNTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsICovLAog
CQkJCUExRjZDRkZDMUZFMDk2MjEwMDE4MDc4QyAvKiBBcHBsZVBheU1vZGlmaWVyLmggKi8sCiAJ
CQkJQTFGNkNGRkUxRkUwOTYyMTAwMTgwNzhDIC8qIEFwcGxlUGF5TW9kaWZpZXIuaWRsICovLAog
CQkJCUExREY1QUExMUY3RUUxMTMwMDU4QTQ3NyAvKiBBcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cCAqLywKQEAgLTIwNjAyLDYgKzIwNTk5LDkgQEAKIAkJQTFGNzZCMEUxRjQ0QzBDRjAwMTRDMzE4
IC8qIHBheW1lbnRyZXF1ZXN0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKKwkJCQlBMTFBRTBDQTFGRkQ2MDUzMDA0NzM0OEIgLyogTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQuY3BwICovLAorCQkJCUExMUFFMEM5MUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5oICovLAorCQkJCUExMUFFMENCMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5pZGwgKi8sCiAJCQkJQTFDRkUwMzExRjlFNzEyOTAwNjVDMzQ1
IC8qIFBheW1lbnRBZGRyZXNzLmNwcCAqLywKIAkJCQlBMUY3NkI0MDFGNDRDRjdGMDAxNEMzMTgg
LyogUGF5bWVudEFkZHJlc3MuaCAqLywKIAkJCQlBMUY3NkI0MjFGNDRDRjdGMDAxNEMzMTggLyog
UGF5bWVudEFkZHJlc3MuaWRsICovLApAQCAtMjYyNTQsNyArMjYyNTQsNiBAQAogCQkJCUExREY1
QTk0MUY3RUM0MzIwMDU4QTQ3NyAvKiBBcHBsZVBheUNvbnRhY3RGaWVsZC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0M2NTc5RTMxRTAwODI3MDAwRTNBMjdBIC8qIEFwcGxlUGF5TGluZUl0ZW0uaCBp
biBIZWFkZXJzICovLAogCQkJCUExREY1QTg2MUY3RUJERjIwMDU4QTQ3NyAvKiBBcHBsZVBheU1l
cmNoYW50Q2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQTFGOTI5NjkxRjhEOUNEQjAw
NTIzQUYzIC8qIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUExRjZDRkZGMUZFMDk2MjEwMDE4MDc4QyAvKiBBcHBsZVBheU1vZGlmaWVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3QzY1MjMwMTFFMDBEMDM0MDA2NzdGMjIgLyogQXBwbGVQYXlQYXlt
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThBNjQ1MjFEMTlGQ0ZCMDBEMEUwMEYgLyogQXBw
bGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI3NTM1LDcg
KzI3NTM0LDYgQEAKIAkJCQlBMURGNUE5OTFGN0VDOEMwMDA1OEE0NzcgLyogSlNBcHBsZVBheUNv
bnRhY3RGaWVsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTc5RjAxRTAwODU2NjAwRTNBMjdB
IC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTFERjVBOEUxRjdF
QzAwMjAwNThBNDc3IC8qIEpTQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCBpbiBIZWFkZXJz
ICovLAotCQkJCUExRjkyOTcwMUY4RDlGNUIwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUExRjZEMDEyMUZFMDk5QjQwMDE4
MDc4QyAvKiBKU0FwcGxlUGF5TW9kaWZpZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjUyMzE0
MUUwMERCQjQwMDY3N0YyMiAvKiBKU0FwcGxlUGF5UGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFFOTZBOEIxRDFBMERERDAwQjg2NzY4IC8qIEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXpl
ZEV2ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI3OTI4LDYgKzI3OTI2LDcgQEAKIAkJCQkwNzI3
N0U1NTE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbVRyYWNrRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzMkNDMEQ1MURGRkQ2NjcwMDRDMEY5RiAvKiBKU01lZGlhVHJhY2tDb25z
dHJhaW50cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc4N0M0NkExQkZCREY2RjAwNkRDRDdGIC8q
IEpTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzLmggaW4gSGVhZGVycyAqLywKKwkJCQlB
MTFBRTBEMzFGRkQ2MURGMDA0NzM0OEIgLyogSlNNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTEwNzQwMEUwRTc3QkRDMDAwMzNBRjI0IC8qIEpTTWVzc2FnZUNo
YW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRUM5MEQwQ0U3MkQwMDdGQzBBQyAvKiBK
U01lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBREVEREEwRTc2QkQ5MzAwNEEx
QTVFIC8qIEpTTWVzc2FnZVBvcnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjg1NDIsNiArMjg1NDEs
NyBAQAogCQkJCTUxNzcxREZGMUJEQjQ4NTAwMENBRThFNCAvKiBNZW1vcnlPYmplY3RTdG9yZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3MTM5MDYxQkY2NERFQzAwMEQ1RjAxIC8qIE1lbW9yeU9i
amVjdFN0b3JlQ3Vyc29yLmggaW4gSGVhZGVycyAqLywKIAkJCQk0MTNFMDA3OTFEQjBFNEYyMDAy
MzQxRDIgLyogTWVtb3J5UmVsZWFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTExQUUwQ0MxRkZE
NjA1MzAwNDczNDhCIC8qIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzMwOURGQTA5OUU2NDkyMDA1NkU1ODEgLyogTWVyZ2VJZGVudGljYWxFbGVtZW50c0Nv
bW1hbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURFQ0NFMEU3NkFEOEIwMDRBMUE1RSAvKiBN
ZXNzYWdlQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU3OTNFODQwRDBDRTBCMzAwN0ZD
MEFDIC8qIE1lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMDQ4NCw3ICszMDQ4NCw2
IEBACiAJCQkJQTk3ODdDQjQxRjVGNUM2NjAwQzU1MUM2IC8qIEFjY2Vzc2liaWxpdHlNZWRpYU9i
amVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzMUE3OTVDODE4ODhCQ0I1MDAzODJGOTAgLyog
QU5HTEVJbnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDkwNzA3RTYxMjE5
QzA0MzAwRDkwRTUxIC8qIEFOR0xFV2ViS2l0QnJpZGdlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CUExRjkyOTZBMUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNEMEVFRTBFMTQ3NDNGMzkwMDNFQUZBMiAvKiBB
dWRpb0Rlc3RpbmF0aW9uSU9TLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNENTU5NjkxMTQ3NUI2
NzgwMDFEMEJEMCAvKiBBdWRpb0ZpbGVSZWFkZXJJT1MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
Q0RBNzk4MjcxNzBBMjc5MTAwRDQ1QzU1IC8qIEF1ZGlvU2Vzc2lvbklPUy5tbSBpbiBTb3VyY2Vz
ICovLApAQCAtMzA1NDgsOSArMzA1NDcsOSBAQAogCQkJCUJFMTZDNTk0MTdDRkUxNzIwMDg1MkMw
NCAvKiBJbmJhbmRXZWJWVFRUZXh0VHJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0QwNjNG
ODIxRTIzRkE4OTAwODEyQkUzIC8qIEluaXREYXRhUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNkE3Mjc5OEMxRjE2QzI5QzAwM0YzOUI4IC8qIEluc3BlY3RvclNoYWRlclByb2dyYW0u
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQTFGOTI5NkYxRjhEOUY1QjAwNTIzQUYzIC8qIEpTQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUY2
RDAxMTFGRTA5OUIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUExRjZEMDEwMUZFMDk5OTYwMDE4MDc4QyAvKiBKU0FwcGxlUGF5UGF5bWVudE1l
dGhvZFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQTExQUUwRDIxRkZENjFERjAwNDczNDhC
IC8qIEpTTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTM4
RUM5M0UxRjk5QkY1QTAwNEQyMkE4IC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1QzQ3NzAwOUFDNEQ3MzAwQTZBQUI0IC8qIEtleUV2ZW50
TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQ0RBOThFMEIxNjAzQ0Q2MDAwRkVBM0IxIC8qIExl
Z2FjeUNETS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwNTgyLDYgKzMwNTgxLDcgQEAKIAkJCQlD
OTBGNjU1NTFCMjI1M0IxMDAyMTYzQTEgLyogTWVkaWFTZXNzaW9uTWFuYWdlci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwNzYzOEE5QTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNzaW9uTWFu
YWdlcklPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQzhCNUE2MTgwNDc0RjcwMDE2RTY4NSAv
KiBNZWRpYVNvdXJjZVByaXZhdGVBVkZPYmpDLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJQTExQUUw
Q0QxRkZENjA1MzAwNDczNDhCIC8qIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUNERjJCMDEwMTgyMDU0MDYwMEYyQjQyNCAvKiBNb2NrQm94LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTUxMDU4QURGMUQ2N0MyMjkwMDlBNTM4QyAvKiBNb2NrR2FtZXBhZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTA1OEFFMTFENjdDMjI5MDA5QTUzOEMgLyogTW9ja0dh
bWVwYWRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmlu
ZGV4IDI0ZGJmMTBlNDZhMmMzYWQ4NGY5ODFmMTcyZmIwYjYxYWJlYTQ1NGMuLjJlMTA3MTJlZjYx
NGE1NmEwZmIwNmY0MDkxYWJhNWY0MDUxMTEyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApA
QCAtNTMsNyArNTMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oYW5pbWF0aW9u
ZW5kKSBcCiAgICAgbWFjcm8oYW5pbWF0aW9uaXRlcmF0aW9uKSBcCiAgICAgbWFjcm8oYW5pbWF0
aW9uc3RhcnQpIFwKLSAgICBtYWNybyhhcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQpIFwKICAgICBt
YWNybyhhdWRpb2VuZCkgXAogICAgIG1hY3JvKGF1ZGlvcHJvY2VzcykgXAogICAgIG1hY3JvKGF1
ZGlvc3RhcnQpIFwKQEAgLTE1Myw2ICsxNTIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
bWFjcm8obG9hZGluZ2Vycm9yKSBcCiAgICAgbWFjcm8obG9hZHN0YXJ0KSBcCiAgICAgbWFjcm8o
bWFyaykgXAorICAgIG1hY3JvKG1lcmNoYW50dmFsaWRhdGlvbikgXAogICAgIG1hY3JvKG1lc3Nh
Z2UpIFwKICAgICBtYWNybyhtZXNzYWdlZXJyb3IpIFwKICAgICBtYWNybyhtb3VzZWRvd24pIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggMjBiNWExMzQ5NjRkYWQ2ODczMDY5MThjYmUz
ZDczZDY5YmZmNWQyOS4uOTFmNzUyZDEyMjQ0YTU3ZDE3NjM3MzZiZmRmNjRlNjdmMGVkYjBjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTM5LDcgKzM5LDYgQEAgV2ViS2l0QW5pbWF0
aW9uRXZlbnQKIFdlYktpdFRyYW5zaXRpb25FdmVudAogV2hlZWxFdmVudAogWE1MSHR0cFJlcXVl
c3RQcm9ncmVzc0V2ZW50Ci1BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGNvbmRpdGlv
bmFsPUFQUExFX1BBWQogQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50IGNvbmRpdGlvbmFs
PUFQUExFX1BBWQogQXBwbGVQYXlQYXltZW50TWV0aG9kU2VsZWN0ZWRFdmVudCBjb25kaXRpb25h
bD1BUFBMRV9QQVkKIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudCBjb25kaXRp
b25hbD1BUFBMRV9QQVkKQEAgLTQ5LDYgKzQ4LDcgQEAgQXVkaW9Qcm9jZXNzaW5nRXZlbnQgY29u
ZGl0aW9uYWw9V0VCX0FVRElPCiBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQgY29uZGl0aW9u
YWw9V0VCX0FVRElPCiBNZWRpYVN0cmVhbUV2ZW50IGNvbmRpdGlvbmFsPVdFQl9SVEMKIE1lZGlh
U3RyZWFtVHJhY2tFdmVudCBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KK01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50IGNvbmRpdGlvbmFsPVBBWU1FTlRfUkVRVUVTVAogUGF5bWVudFJlcXVlc3RVcGRh
dGVFdmVudCBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFJUQ1BlZXJDb25uZWN0aW9uSWNl
RXZlbnQgY29uZGl0aW9uYWw9V0VCX1JUQwogUlRDRGF0YUNoYW5uZWxFdmVudCBjb25kaXRpb25h
bD1XRUJfUlRDCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggOTAwYzI4MGUzYWM1N2FlNDM2MGZlYmUyMTU4NDdkNmY2ODFiNjgx
Yi4uOTcyZGUyZDE2ZDA5NWVjMzIyNjA5MDVmOTY4YmUzZjkyZDhkMzhkYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDE4LTAxLTA5ICBBbmR5IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBSZW5hbWUgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRp
b25FdmVudCB0byBNZXJjaGFudFZhbGlkYXRpb25FdmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgxNDM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8zNjM3NjQ4MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1z
aGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy5odG1s
OgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LW1l
cmNoYW50LXZhbGlkYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1tZXJjaGFudC12YWxpZGF0
aW9uLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcmVzb3VyY2VzL2hlbHBlcnMuanM6CisgICAgICAgIChhc3luYy5nZXRQYXltZW50UmVxdWVz
dFJlc3BvbnNlKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdp
dGgtbWV0aG9kLXBtaS1oYW5kbGluZy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMv
c3NsL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMtZXhwZWN0
ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbDogUmVtb3ZlZC4KKwogMjAxOC0w
MS0wNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2tpcCBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1zaGFyZWQtd29ya2VyLWZldGNoLmh0dHBzLmh0bWwKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1y
ZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmct
YWRkcmVzcy5odHRwcy5odG1sCmluZGV4IDI3MTIwNmQwZjUwNzVjMjk3YjNmMmMyZjA4Y2FjOWU4
YTYwYjc1N2YuLjRlMGRiOTJhZjEzZDllN2FmYjQxNjNjMzU0Y2QxODc5ZWY0ZGY0OTEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWNoYW5nZS1zaGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5n
LWFkZHJlc3MuaHR0cHMuaHRtbApAQCAtNjUsNyArNjUsNyBAQCBmdW5jdGlvbiB0ZXN0U2hpcHBp
bmdBZGRyZXNzQ2hhbmdlKCkgewogICAgICAgbnVsbCwKICAgICAgICJyZXF1ZXN0LnNoaXBwaW5n
QWRkcmVzcyBtdXN0IGluaXRpYWxseSBiZSBudWxsIgogICAgICk7Ci0gICAgcmVxdWVzdC5vbmFw
cGxlcGF5dmFsaWRhdGVtZXJjaGFudCA9IGV2ZW50ID0+IHsKKyAgICByZXF1ZXN0Lm9ubWVyY2hh
bnR2YWxpZGF0aW9uID0gZXZlbnQgPT4gewogICAgICAgICBldmVudC5jb21wbGV0ZSh7IH0pOwog
ICAgIH07CiAgICAgY29uc3QgbGlzdGVuZXJQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hp
cHBpbmctb3B0aW9uLmh0dHBzLmh0bWwKaW5kZXggYjY2YjRiNDMyZGRlMTJjN2JiYWJkYWU4YmIy
ZTdhYTgyYmU0MmFhOC4uOThhYmYxYzNjMzcxNWM1MGQ1NWNhNGIzMmMxY2YzNjYwMjc3M2ZlOCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50
LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlw
cGluZy1vcHRpb24uaHR0cHMuaHRtbApAQCAtNTksNyArNTksNyBAQCBmdW5jdGlvbiB0ZXN0U2hp
cHBpbmdPcHRpb25DaGFuZ2VkKCkgewogICAgICAgZGV0YWlsc1dpdGhTaGlwcGluZ09wdGlvbnMs
CiAgICAgICByZXF1ZXN0U2hpcHBpbmcKICAgICApOwotICAgIHJlcXVlc3Qub25hcHBsZXBheXZh
bGlkYXRlbWVyY2hhbnQgPSBldmVudCA9PiB7CisgICAgcmVxdWVzdC5vbm1lcmNoYW50dmFsaWRh
dGlvbiA9IGV2ZW50ID0+IHsKICAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKICAgICAgICAg
aW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY2hhbmdlU2hpcHBpbmdPcHRpb24oInZh
bGlkLTEiKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1tZXJjaGFudC12YWxpZGF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zZWIyMDczNzZiNTAwMDU2YjU2NzlmZGY5NDViYTA1YzkzMThmODU0Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVl
c3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBA
QAorCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB0d2ljZSB0aHJvd3MgYW4gSW52YWxpZFN0YXRl
RXJyb3IuIAorUEFTUyBDYWxsaW5nIGNvbXBsZXRlKCkgYWZ0ZXIgYWJvcnQoKSB0aHJvd3MgYW4g
SW52YWxpZFN0YXRlRXJyb3IuIAorUEFTUyBDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIHByb21p
c2UgdGhhdCBpcyByZWplY3RlZCBhYm9ydHMgdGhlIHJlcXVlc3QuIAorUEFTUyBDYWxsaW5nIGNv
bXBsZXRlKCkgd2l0aCBhIG51bWJlciBhYm9ydHMgdGhlIHJlcXVlc3Qgd2l0aCBhIFR5cGVFcnJv
ci4gCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB3aXRoIHVuZGVmaW5lZCBhYm9ydHMgdGhlIHJl
cXVlc3Qgd2l0aCBhIFR5cGVFcnJvci4gCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB3aXRoIG51
bGwgYWJvcnRzIHRoZSByZXF1ZXN0IHdpdGggYSBUeXBlRXJyb3IuIAorUEFTUyBDYWxsaW5nIGNv
bXBsZXRlKCkgd2l0aCBhIHN0cmluZyBhYm9ydHMgdGhlIHJlcXVlc3Qgd2l0aCBhIFR5cGVFcnJv
ci4gCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB3aXRoIGEgcHJvbWlzZSByZXNvbHZpbmcgdG8g
YSB2YWxpZCBtZXJjaGFudCBzZXNzaW9uIGRvZXMgbm90IGFib3J0IHRoZSByZXF1ZXN0LiAKK1BB
U1MgQ2FsbGluZyBjb21wbGV0ZSgpIHdpdGggYSB2YWxpZCBtZXJjaGFudCBzZXNzaW9uIGRvZXMg
bm90IGFib3J0IHRoZSByZXF1ZXN0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50
LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4MmZl
OGJhNWUzM2JmOWJiMTUwNDc0NDBjNTI2NTBlYzNiMWMxOWYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1tZXJj
aGFudC12YWxpZGF0aW9uLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNTcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPCEtLSAgQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4gIC0tPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3QgZm9yIHRoZSBt
ZXJjaGFudHZhbGlkYXRpb24gZXZlbnQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1y
ZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90
ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFy
bmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitzZXR1cCh7IGV4cGxp
Y2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Citjb25zdCBhcHBsZVBh
eSA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRwczovL2FwcGxl
LmNvbS9hcHBsZS1wYXkiLAorICAgIGRhdGE6IHsKKyAgICAgICAgdmVyc2lvbjogMiwKKyAgICAg
ICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKKyAgICAgICAgbWVyY2hhbnRDYXBhYmlsaXRpZXM6
IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdt
YXN0ZXJDYXJkJ10sCisgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgIH0sCit9KTsKK2Nv
bnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW2FwcGxlUGF5XSk7Citjb25zdCB2YWxp
ZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeyBjdXJyZW5jeTogIlVTRCIsIHZhbHVlOiAiNS4wMCIg
fSk7Citjb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgbGFiZWw6ICJsYWJl
bCIsCisgICAgYW1vdW50OiB2YWxpZEFtb3VudCwKK30pOworY29uc3QgdmFsaWREZXRhaWxzID0g
T2JqZWN0LmZyZWV6ZSh7CisgICAgdG90YWw6IHZhbGlkVG90YWwsCit9KTsKKwordXNlcl9hY3Rp
dmF0aW9uX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50
UmVxdWVzdCgKKyAgICAgICAgdmFsaWRNZXRob2RzLAorICAgICAgICB2YWxpZERldGFpbHMKKyAg
ICApOworICAgIHJlcXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24gPSBldmVudCA9PiB7CisgICAg
ICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudmFsaWRhdGlvblVSTCwgImh0dHBzOi8vd2Via2l0Lm9y
Zy8iKTsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICAgICAgYXNzZXJ0X3Rocm93
cygiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBldmVudC5jb21wbGV0ZSh7IH0pKTsKKyAgICAg
ICAgcmVxdWVzdC5hYm9ydCgpOworICAgIH07CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQs
ICJBYm9ydEVycm9yIiwgcmVxdWVzdC5zaG93KCkpOworfSwgIkNhbGxpbmcgY29tcGxldGUoKSB0
d2ljZSB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90
ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3Qo
CisgICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAg
ICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3Nl
cnRfZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7Cisg
ICAgICAgIHJlcXVlc3QuYWJvcnQoKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygiSW52YWxpZFN0
YXRlRXJyb3IiLCAoKSA9PiBldmVudC5jb21wbGV0ZSh7IH0pKTsKKyAgICB9OworICAgIGF3YWl0
IHByb21pc2VfcmVqZWN0cyh0LCAiQWJvcnRFcnJvciIsIHJlcXVlc3Quc2hvdygpKTsKK30sICJD
YWxsaW5nIGNvbXBsZXRlKCkgYWZ0ZXIgYWJvcnQoKSB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJy
b3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAg
ICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9u
ID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkws
ICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKG5ldyBQcm9t
aXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJlamVjdCgpKSk7CisgICAgfTsKKyAgICBhd2FpdCBw
cm9taXNlX3JlamVjdHModCwgIkFib3J0RXJyb3IiLCByZXF1ZXN0LnNob3coKSk7Cit9LCAiQ2Fs
bGluZyBjb21wbGV0ZSgpIHdpdGggYSBwcm9taXNlIHRoYXQgaXMgcmVqZWN0ZWQgYWJvcnRzIHRo
ZSByZXF1ZXN0LiIpOworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyB0ID0+IHsKKyAgICBj
b25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAorICAgICAgICB2YWxpZE1ldGhvZHMs
CisgICAgICAgIHZhbGlkRGV0YWlscworICAgICk7CisgICAgcmVxdWVzdC5vbm1lcmNoYW50dmFs
aWRhdGlvbiA9IGV2ZW50ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC52YWxpZGF0
aW9uVVJMLCAiaHR0cHM6Ly93ZWJraXQub3JnLyIpOworICAgICAgICBldmVudC5jb21wbGV0ZShu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoNykpKTsKKyAgICB9OworICAgIGF3YWl0IHBy
b21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJlcXVlc3Quc2hvdygpKTsKK30sICJD
YWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIG51bWJlciBhYm9ydHMgdGhlIHJlcXVlc3Qgd2l0aCBh
IFR5cGVFcnJvci4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAg
Y29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKKyAgICAgICAgdmFsaWRNZXRob2Rz
LAorICAgICAgICB2YWxpZERldGFpbHMKKyAgICApOworICAgIHJlcXVlc3Qub25tZXJjaGFudHZh
bGlkYXRpb24gPSBldmVudCA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudmFsaWRh
dGlvblVSTCwgImh0dHBzOi8vd2Via2l0Lm9yZy8iKTsKKyAgICAgICAgZXZlbnQuY29tcGxldGUo
bmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKHVuZGVmaW5lZCkpKTsKKyAgICB9OworICAg
IGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJlcXVlc3Quc2hvdygp
KTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCB1bmRlZmluZWQgYWJvcnRzIHRoZSByZXF1
ZXN0IHdpdGggYSBUeXBlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQg
PT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZh
bGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9u
bWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50
LmNvbXBsZXRlKG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZShudWxsKSkpOworICAgIH07
CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwgcmVxdWVzdC5z
aG93KCkpOworfSwgIkNhbGxpbmcgY29tcGxldGUoKSB3aXRoIG51bGwgYWJvcnRzIHRoZSByZXF1
ZXN0IHdpdGggYSBUeXBlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQg
PT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZh
bGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9u
bWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50
LmNvbXBsZXRlKG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZSgiIikpKTsKKyAgICB9Owor
ICAgIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJlcXVlc3Quc2hv
dygpKTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIHN0cmluZyBhYm9ydHMgdGhlIHJl
cXVlc3Qgd2l0aCBhIFR5cGVFcnJvci4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMg
dCA9PiB7CisgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKKyAgICAgICAg
dmFsaWRNZXRob2RzLAorICAgICAgICB2YWxpZERldGFpbHMKKyAgICApOworICAgIHJlcXVlc3Qu
b25tZXJjaGFudHZhbGlkYXRpb24gPSBldmVudCA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMo
ZXZlbnQudmFsaWRhdGlvblVSTCwgImh0dHBzOi8vd2Via2l0Lm9yZy8iKTsKKyAgICAgICAgZXZl
bnQuY29tcGxldGUobmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKHsgfSkpKTsKKyAgICB9
OworICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSBldmVudCA9PiB7CisgICAg
ICAgIGV2ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKKyAgICAgICAgaW50ZXJuYWxzLm1v
Y2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH07CisKKyAgICBjb25z
dCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworICAgIHJlc3BvbnNlLmNvbXBsZXRl
KCJzdWNjZXNzIik7Cit9LCAiQ2FsbGluZyBjb21wbGV0ZSgpIHdpdGggYSBwcm9taXNlIHJlc29s
dmluZyB0byBhIHZhbGlkIG1lcmNoYW50IHNlc3Npb24gZG9lcyBub3QgYWJvcnQgdGhlIHJlcXVl
c3QuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJl
cXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAg
ICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9u
ID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkws
ICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50LmNvbXBsZXRlKHsgfSk7Cisg
ICAgfTsKKyAgICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gZXZlbnQgPT4gewor
ICAgICAgICBldmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7CisgICAgICAgIGludGVybmFs
cy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICB9OworCisgICAg
Y29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKyAgICByZXNwb25zZS5jb21w
bGV0ZSgic3VjY2VzcyIpOworfSwgIkNhbGxpbmcgY29tcGxldGUoKSB3aXRoIGEgdmFsaWQgbWVy
Y2hhbnQgc2Vzc2lvbiBkb2VzIG5vdCBhYm9ydCB0aGUgcmVxdWVzdC4iKTsKKworZG9uZSgpOwor
PC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcmVzb3VyY2VzL2hlbHBlcnMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1l
bnRyZXF1ZXN0L3Jlc291cmNlcy9oZWxwZXJzLmpzCmluZGV4IDU3MWE3N2YyMzMwNWQxMTA2ODlm
OGVhYzFjZGFkY2Q3ZjM1NzE4ZDUuLjNmNzFiMDI2Yzg1MTlmNTk5ZGVhNWRiNTkzYTY3OWMxODk0
OGZjZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3Qv
cmVzb3VyY2VzL2hlbHBlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9yZXNvdXJjZXMvaGVscGVycy5qcwpAQCAtOTIsMTIgKzkyLDEyIEBAIGFzeW5jIGZ1
bmN0aW9uIGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucywgaWQpIHsKICAgICBdLAog
ICB9OwogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhvZHMsIGRldGFp
bHMsIG9wdGlvbnMpOwotICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gZXYgPT4g
ZXYudXBkYXRlV2l0aChkZXRhaWxzKTsKLSAgcmVxdWVzdC5vbnNoaXBwaW5nb3B0aW9uY2hhbmdl
ID0gZXYgPT4gZXYudXBkYXRlV2l0aChkZXRhaWxzKTsKLSAgcmVxdWVzdC5vbmFwcGxlcGF5dmFs
aWRhdGVtZXJjaGFudCA9IGV2ID0+IHsKLSAgICAgIGV2LmNvbXBsZXRlKHt9KTsKKyAgcmVxdWVz
dC5vbnNoaXBwaW5nYWRkcmVzc2NoYW5nZSA9IGV2ID0+IHsKKyAgICAgIGV2LnVwZGF0ZVdpdGgo
ZGV0YWlscyk7CiAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5hY2NlcHRQ
YXltZW50KCk7CiAgIH07CisgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5nZSA9IGV2ID0+
IGV2LnVwZGF0ZVdpdGgoZGV0YWlscyk7CisgIHJlcXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24g
PSBldiA9PiBldi5jb21wbGV0ZSh7fSk7CiAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYWN0aXZh
dGVUaGVuKCgpID0+IHJlcXVlc3Quc2hvdygpKTsKICAgcmV0dXJuIHsgcmVxdWVzdCwgcmVzcG9u
c2UgfTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvdXBkYXRlV2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGlu
Zy5odHRwcy5odG1sCmluZGV4IDIzZjNmNDlhNjZhZjQxNGUzMDYxMDEwZDBkNGQ0ZTgzMzNiYThm
YzcuLjEyYzYwOTY4YWI1OTdmNWM5MTBmODA3ZjEyOTIyYzk0YzUxODQ2NzQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1tZXRob2Qt
cG1pLWhhbmRsaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXlt
ZW50cmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmcuaHR0cHMuaHRtbApAQCAt
NzAsNyArNzAsNyBAQCBmdW5jdGlvbiBydW5UZXN0KGJ1dHRvbiwgeyBpbnZhbGlkTWV0aG9kIH0p
IHsKICAgICAgIHZhbGlkRGV0YWlscywKICAgICAgIHsgcmVxdWVzdFNoaXBwaW5nOiB0cnVlIH0K
ICAgICApOwotICAgIHJlcXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgPSBldmVudCA9
PiB7CisgICAgcmVxdWVzdC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2ZW50ID0+IHsKICAgICAg
ICAgZXZlbnQuY29tcGxldGUoeyB9KTsKICAgICB9OwogICAgIGNvbnN0IGxpc3RlbmVyID0gZXYg
PT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBw
bGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY2
NWRkMWMxNmU3ZTZmNTBlMDQ5YTM5OTE0OTBlNjZmNjk0MmFhMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9h
cHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRlc3QgdGhlIGFwcGxlcGF5dmFsaWRh
dGVtZXJjaGFudCBldmVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVRlc3Rp
bmcgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudAotCi1QQVNTICgpID0+IGV2ZW50LmNv
bXBsZXRlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4K
LVBBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJv
cjogVHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUoW10pIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IGV2ZW50LmNvbXBsZXRlKCcn
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAoKSA9PiBldmVu
dC5jb21wbGV0ZSg3KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFT
UyAoKSA9PiB7IGV2ZW50LmNvbXBsZXRlKHt9KTsgZXZlbnQuY29tcGxldGUoe30pOyB9IHRocmV3
IGV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBhbiBpbnZhbGlk
IHN0YXRlLi4KLVBBU1MgKCkgPT4geyBwYXltZW50UmVxdWVzdC5hYm9ydCgpOyBldmVudC5jb21w
bGV0ZSh7fSk7IH0gdGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBUaGUgb2JqZWN0
IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgotUEFTUyAoKSA9PiBldmVudC5jb21wbGV0ZSh7fSkg
ZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIGV2ZW50LnZhbGlkYXRpb25VUkwgaXMgJ2h0
dHBzOi8vd2Via2l0Lm9yZy8nCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi0KLVRF
U1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1sIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODczMDQxMzU0
YmY2ZjhmYjMyMGZmYjllMTJhYTNmMTQ5MmUxM2NjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDc2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0aW9uKCJUZXN0
IHRoZSBhcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgZXZlbnQuIik7Ci0KLXdpbmRvdy5qc1Rlc3RJ
c0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkgewotICAgIHJl
dHVybiB7Ci0gICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxlLmNvbS9hcHBs
ZS1wYXknLAotICAgICAgICBkYXRhOiB7Ci0gICAgICAgICAgICB2ZXJzaW9uOiAyLAotICAgICAg
ICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKLSAgICAgICAgICAgIGNvdW50cnlDb2RlOiAn
VVMnLAotICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdtYXN0ZXJDYXJk
J10sCi0gICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0czNEUyddLAot
ICAgICAgICB9LAotICAgIH0KLX0KLQotZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0YWlscygpIHsK
LSAgICByZXR1cm4gewotICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgbGFiZWwnLCBhbW91
bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzEwLjAwJyB9IH0sCi0gICAgfQotfQotCi1m
dW5jdGlvbiBydW5UZXN0KHRlc3QpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUs
IHJlamVjdCkgPT4gewotICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcgUGF5bWVudFJl
cXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWlscygpKTsKLSAg
ICAgICAgcGF5bWVudFJlcXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgPSAoZXZlbnQp
ID0+IHsKLSAgICAgICAgICAgIHRlc3QoZXZlbnQsIHBheW1lbnRSZXF1ZXN0KTsKLSAgICAgICAg
ICAgIHBheW1lbnRSZXF1ZXN0LmFib3J0KCkuY2F0Y2goKCkgPT4ge30pOwotICAgICAgICAgICAg
cmVzb2x2ZSgpOwotICAgICAgICB9OwotICAgICAgICBhY3RpdmF0ZVRoZW4oKCkgPT4gcGF5bWVu
dFJlcXVlc3Quc2hvdygpLmNhdGNoKCgpID0+IHt9KSk7Ci0gICAgfSk7Ci19Ci0KLWFzeW5jIGZ1
bmN0aW9uIGdvKCkgewotICAgIGRlYnVnKCJUZXN0aW5nIEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQiKQotICAgIGRlYnVnKCIiKQotCi0gICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBz
aG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSh1bmRlZmluZWQpKSk7Ci0gICAgYXdhaXQg
cnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZShudWxsKSkp
OwotICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4gZXZlbnQuY29t
cGxldGUoW10pKSk7Ci0gICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9
PiBldmVudC5jb21wbGV0ZSgnJykpKTsKLSAgICBhd2FpdCBydW5UZXN0KGV2ZW50ID0+IHNob3Vs
ZFRocm93KCgpID0+IGV2ZW50LmNvbXBsZXRlKDcpKSk7Ci0gICAgYXdhaXQgcnVuVGVzdChldmVu
dCA9PiBzaG91bGRUaHJvdygoKSA9PiB7IGV2ZW50LmNvbXBsZXRlKHt9KTsgZXZlbnQuY29tcGxl
dGUoe30pOyB9KSk7Ci0gICAgYXdhaXQgcnVuVGVzdCgoZXZlbnQsIHBheW1lbnRSZXF1ZXN0KSA9
PiBzaG91bGRUaHJvdygoKSA9PiB7IHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7IGV2ZW50LmNvbXBs
ZXRlKHt9KTsgfSkpOwotICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkTm90VGhyb3co
KCkgPT4gZXZlbnQuY29tcGxldGUoe30pKSk7Ci0gICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBz
aG91bGRCZSgiZXZlbnQudmFsaWRhdGlvblVSTCIsICInaHR0cHM6Ly93ZWJraXQub3JnLyciKSk7
Ci0KLSAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKS5yZW1vdmUoKTsKLSAgICBm
aW5pc2hKU1Rlc3QoKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewotICAgIHZh
ciBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTsKLSAgICBsZXQgeCA9
IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGJ1dHRvbi5vZmZzZXRUb3AgKyAy
OwotICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoeCwgeSk7Ci19Ci0KLTwvc2NyaXB0PgotPGJ1dHRv
biBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330928</attachid>
            <date>2018-01-10 10:23:04 -0800</date>
            <delta_ts>2018-01-10 23:27:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181437-20180110102303.patch</filename>
            <type>text/plain</type>
            <size>58419</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWRlOWMwNDVkMGFlNTRi
OTAyMzZkNWU2M2E4ZTk5MmI1NDJmZWNiNC4uYjBhYjcxNTYzNjUwM2U0ZjI0MjFiNTI1NmIyYmNj
MzE2ZGFlZDRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE4LTAxLTA5ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbUGF5bWVudCBSZXF1ZXN0XSBS
ZW5hbWUgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudCB0byBNZXJjaGFudFZhbGlkYXRp
b25FdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgxNDM3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNjM3NjQ4MT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW0gSG9ydG9uLgorICAgICAgICAKKyAgICAgICAgUmVuYW1lZCBBcHBsZVBheU1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50IHRvIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGFuZCBjaGFu
Z2VkIGNvbXBsZXRlKCkgdG8gYWNjZXB0IGEgUHJvbWlzZS4KKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1tZXJjaGFudC12YWxpZGF0aW9u
Lmh0dHBzLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6Om1lcmNoYW50VmFs
aWRhdGlvbkNvbXBsZXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5k
bGVyOjp2YWxpZGF0ZU1lcmNoYW50KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJj
aGFudFZhbGlkYXRpb25FdmVudC5jcHAuCisgICAgICAgIChXZWJDb3JlOjpNZXJjaGFudFZhbGlk
YXRpb25FdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50OjpNZXJjaGFudFZhbGlkYXRpb25FdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZXJj
aGFudFZhbGlkYXRpb25FdmVudDo6ZXZlbnRJbnRlcmZhY2UgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6OmNvbXBsZXRlKToKKyAgICAgICAgKiBNb2R1
bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaC4KKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1
ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5pZGwuCisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
SGFuZGxlci5oOgorICAgICAgICAqIE1vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJlcXVl
c3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudFJlcXVlc3Q6OmNvbXBsZXRlTWVyY2hh
bnRWYWxpZGF0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRS
ZXF1ZXN0Lmg6CisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5pZGw6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisK
IDIwMTgtMDEtMTAgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAg
IFRyeSB0byBmaXggd2luZG93cyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmlu
ZGV4IGEwYjljODBmMjIxYmQyZWQ5M2NmYTlkOTFlMmQyMDM5Y2E5N2IxMDYuLjBhMWY1ODgyYzA2
ZWY5NGI4NGNlYTRjMTJjOWU0MWViNzVkYTRlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQpAQCAtMTExLDcgKzExMSw2IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQu
aWRsIFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhv
ZFVwZGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZh
bGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAotICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9k
aWZpZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlSZXF1ZXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2JlYWNvbi9O
YXZpZ2F0b3JCZWFjb24uaWRsIFwKQEAgLTI1Niw2ICsyNTUsNyBAQCBKU19CSU5ESU5HX0lETFMg
PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
YXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50QWRkcmVzcy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50Q29tcGxldGUuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEN1cnJlbmN5QW1vdW50Lmlk
bCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjliMWM1OTg3Yjc3
YzUzNTJmMDI4YTM5ODdlNzE5ZmNiY2FlMWYxOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1l
bnRyZXF1ZXN0L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgiCi0KLSNpZiBFTkFCTEUo
QVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQotCi0jaW5jbHVkZSAiRG9jdW1l
bnQuaCIKLSNpbmNsdWRlICJNYWluRnJhbWUuaCIKLSNpbmNsdWRlICJQYXltZW50Q29vcmRpbmF0
b3IuaCIKLSNpbmNsdWRlICJQYXltZW50TWVyY2hhbnRTZXNzaW9uLmgiCi0jaW5jbHVkZSA8cnVu
dGltZS9KU0NKU1ZhbHVlSW5saW5lcy5oPgotI2luY2x1ZGUgPHJ1bnRpbWUvSlNPYmplY3QuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudD4gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgVVJMJiB2YWxpZGF0aW9uVVJMKQotewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IEFwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgdmFsaWRh
dGlvblVSTCkpOwotfQotCi1BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
VVJMJiB2YWxpZGF0aW9uVVJMKQotICAgIDogQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQg
eyB0eXBlLCB2YWxpZGF0aW9uVVJMIH0KLXsKLX0KLQotRXhjZXB0aW9uT3I8dm9pZD4gQXBwbGVQ
YXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y29tcGxldGUoRG9jdW1lbnQmIGRvY3VtZW50LCBK
U0M6OkpTVmFsdWUgbWVyY2hhbnRTZXNzaW9uVmFsdWUpCi17Ci0gICAgaWYgKG1faXNDb21wbGV0
ZWQpCi0gICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkU3RhdGVFcnJvciB9OwotICAg
IG1faXNDb21wbGV0ZWQgPSB0cnVlOwotCi0gICAgYXV0byYgcGF5bWVudENvb3JkaW5hdG9yID0g
ZG9jdW1lbnQuZnJhbWUoKS0+bWFpbkZyYW1lKCkucGF5bWVudENvb3JkaW5hdG9yKCk7Ci0gICAg
aWYgKCFwYXltZW50Q29vcmRpbmF0b3IuaGFzQWN0aXZlU2Vzc2lvbigpKQotICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKLQotICAgIGlmICghbWVyY2hhbnRT
ZXNzaW9uVmFsdWUuaXNPYmplY3QoKSkKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVF
cnJvciB9OwotCi0gICAgU3RyaW5nIGVycm9yTWVzc2FnZTsKLSAgICBhdXRvIG1lcmNoYW50U2Vz
c2lvbiA9IFBheW1lbnRNZXJjaGFudFNlc3Npb246OmZyb21KUygqZG9jdW1lbnQuZXhlY1N0YXRl
KCksIGFzT2JqZWN0KG1lcmNoYW50U2Vzc2lvblZhbHVlKSwgZXJyb3JNZXNzYWdlKTsKLSAgICBp
ZiAoIW1lcmNoYW50U2Vzc2lvbikKLSAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJv
ciwgV1RGTW92ZShlcnJvck1lc3NhZ2UpIH07Ci0KLSAgICBwYXltZW50Q29vcmRpbmF0b3IuY29t
cGxldGVNZXJjaGFudFZhbGlkYXRpb24oKm1lcmNoYW50U2Vzc2lvbik7Ci0gICAgcmV0dXJuIHsg
fTsKLX0KLQotRXZlbnRJbnRlcmZhY2UgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6
ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAotewotICAgIHJldHVybiBBcHBsZVBheU1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50SW50ZXJmYWNlVHlwZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYgLy8gRU5BQkxFKEFQUExFX1BBWSkgJiYgRU5BQkxFKFBBWU1FTlRfUkVRVUVTVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVl
c3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1NzQwMWE2M2Q4ODI4ZmI0NDU4
ZTIyMmViNWFkNTdiNmIwMGEyZGUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
LSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoQVBQTEVf
UEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQotCi0jaW5jbHVkZSAiQXBwbGVQYXlWYWxp
ZGF0ZU1lcmNoYW50RXZlbnQuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBKU1ZhbHVlOwot
fQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIERvY3VtZW50OwotCi1jbGFzcyBBcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50IGZpbmFsIDogcHVibGljIEFwcGxlUGF5VmFsaWRh
dGVNZXJjaGFudEV2ZW50IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwm
KTsKLSAgICBFeGNlcHRpb25Pcjx2b2lkPiBjb21wbGV0ZShEb2N1bWVudCYsIEpTQzo6SlNWYWx1
ZSk7Ci0KLXByaXZhdGU6Ci0gICAgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudChjb25z
dCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmKTsKLQotICAgIC8vIEV2ZW50Ci0gICAgRXZlbnRJ
bnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKLQotICAgIGJvb2wgbV9pc0Nv
bXBsZXRlZCB7IGZhbHNlIH07Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZiAvLyBFTkFCTEUoQVBQTEVfUEFZKSAmJiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmYmQ3NGE2YWZlZTQ0OGRkYjQ3MzZj
YjI2OWEyOWMwZWI4MTJkODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMx
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9QVBQTEVfUEFZJlBBWU1F
TlRfUkVRVUVTVCwKLSAgICBOb0ludGVyZmFjZU9iamVjdCwKLV0gaW50ZXJmYWNlIEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgOiBBcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudCB7
Ci0gICAgW01heVRocm93RXhjZXB0aW9uLCBDYWxsV2l0aD1Eb2N1bWVudF0gdm9pZCBjb21wbGV0
ZShhbnkgbWVyY2hhbnRTZXNzaW9uKTsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBh
eVBheW1lbnRIYW5kbGVyLmNwcAppbmRleCAxNzA3NmJmYzM4MDM0ZGUwMTJjNTk4ODcyNjE3OGQ3
YzE0OWYyODU0Li4wNDE0ZTQ0MWU3ODkwZjhmNTllMDVkY2U3YjY0YzJmM2IwNDg5N2VlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKQEAgLTMwLDcg
KzMwLDYgQEAKIAogI2luY2x1ZGUgIkFwcGxlUGF5Q29udGFjdEZpZWxkLmgiCiAjaW5jbHVkZSAi
QXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCIKLSNpbmNsdWRlICJBcHBsZVBheU1lcmNoYW50
VmFsaWRhdGlvbkV2ZW50LmgiCiAjaW5jbHVkZSAiQXBwbGVQYXlNb2RpZmllci5oIgogI2luY2x1
ZGUgIkFwcGxlUGF5UGF5bWVudC5oIgogI2luY2x1ZGUgIkFwcGxlUGF5U2Vzc2lvblBheW1lbnRS
ZXF1ZXN0LmgiCkBAIC00MCwxMSArMzksMTMgQEAKICNpbmNsdWRlICJKU0FwcGxlUGF5UmVxdWVz
dC5oIgogI2luY2x1ZGUgIkxpbmtJY29uQ29sbGVjdG9yLmgiCiAjaW5jbHVkZSAiTWFpbkZyYW1l
LmgiCisjaW5jbHVkZSAiTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUGF5bWVudC5oIgogI2luY2x1ZGUgIlBheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzLmgiCiAjaW5jbHVkZSAiUGF5bWVudENvbnRhY3QuaCIKICNpbmNsdWRlICJQYXltZW50
Q29vcmRpbmF0b3IuaCIKKyNpbmNsdWRlICJQYXltZW50TWVyY2hhbnRTZXNzaW9uLmgiCiAjaW5j
bHVkZSAiUGF5bWVudE1ldGhvZC5oIgogI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0VmFsaWRhdG9y
LmgiCiAjaW5jbHVkZSAiUGF5bWVudFJlc3BvbnNlLmgiCkBAIC0zMTgsNiArMzE5LDIzIEBAIEV4
Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRldGFpbHNVcGRhdGVkKGNv
bnN0IEF0b21pY1N0cmluZyYgZXZlCiAgICAgcmV0dXJuIHsgfTsKIH0KIAorRXhjZXB0aW9uT3I8
dm9pZD4gQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6bWVyY2hhbnRWYWxpZGF0aW9uQ29tcGxldGVk
KEpTQzo6SlNWYWx1ZSYmIG1lcmNoYW50U2Vzc2lvblZhbHVlKQoreworICAgIGlmICghcGF5bWVu
dENvb3JkaW5hdG9yKCkuaGFzQWN0aXZlU2Vzc2lvbigpKQorICAgICAgICByZXR1cm4gRXhjZXB0
aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IgfTsKKworICAgIGlmICghbWVyY2hhbnRTZXNzaW9uVmFs
dWUuaXNPYmplY3QoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciB9Owor
CisgICAgU3RyaW5nIGVycm9yTWVzc2FnZTsKKyAgICBhdXRvIG1lcmNoYW50U2Vzc2lvbiA9IFBh
eW1lbnRNZXJjaGFudFNlc3Npb246OmZyb21KUygqZG9jdW1lbnQoKS5leGVjU3RhdGUoKSwgYXNP
YmplY3QobWVyY2hhbnRTZXNzaW9uVmFsdWUpLCBlcnJvck1lc3NhZ2UpOworICAgIGlmICghbWVy
Y2hhbnRTZXNzaW9uKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yLCBXVEZN
b3ZlKGVycm9yTWVzc2FnZSkgfTsKKworICAgIHBheW1lbnRDb29yZGluYXRvcigpLmNvbXBsZXRl
TWVyY2hhbnRWYWxpZGF0aW9uKCptZXJjaGFudFNlc3Npb24pOworICAgIHJldHVybiB7IH07Cit9
CisKIEV4Y2VwdGlvbk9yPHZvaWQ+IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnNoaXBwaW5nQWRk
cmVzc1VwZGF0ZWQoY29uc3QgU3RyaW5nJiBlcnJvcikKIHsKICAgICBTaGlwcGluZ0NvbnRhY3RV
cGRhdGUgdXBkYXRlOwpAQCAtMzk5LDcgKzQxNyw3IEBAIHVuc2lnbmVkIEFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OnZlcnNpb24oKSBjb25zdAogdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjp2
YWxpZGF0ZU1lcmNoYW50KGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKIHsKICAgICBpZiAodmFs
aWRhdGlvblVSTC5pc1ZhbGlkKCkpCi0gICAgICAgIG1fcGF5bWVudFJlcXVlc3QtPmRpc3BhdGNo
RXZlbnQoQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnRFdmVudCwgdmFsaWRhdGlvblVSTCkuZ2V0KCkpOwor
ICAgICAgICBtX3BheW1lbnRSZXF1ZXN0LT5kaXNwYXRjaEV2ZW50KE1lcmNoYW50VmFsaWRhdGlv
bkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLm1lcmNoYW50dmFsaWRhdGlvbkV2ZW50LCB2YWxp
ZGF0aW9uVVJMLCBtX3BheW1lbnRSZXF1ZXN0LmdldCgpKS5nZXQoKSk7CiB9CiAKIHN0YXRpYyBS
ZWY8UGF5bWVudEFkZHJlc3M+IGNvbnZlcnQoY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYg
Y29udGFjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5k
ZXggOWRiMjNiMjU4NDE3ZGNhYTBjMDRiNjdhMWU4MmM1MThhYmFlYzBlYi4uZmQ2ZjhkMDc2YTYw
NzMwMDJjYzIzY2U1NGM0NzBkNzNmMWI3N2Q3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBs
ZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTY0LDYgKzY0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGhpZGUoKSBmaW5hbDsKICAgICB2b2lkIGNhbk1ha2VQYXltZW50KFdURjo6RnVuY3Rpb248dm9p
ZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgZmluYWw7CiAgICAgRXhjZXB0aW9uT3I8dm9p
ZD4gZGV0YWlsc1VwZGF0ZWQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIGNvbnN0IFN0
cmluZyYgZXJyb3IpIGZpbmFsOworICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IG1lcmNoYW50VmFsaWRh
dGlvbkNvbXBsZXRlZChKU0M6OkpTVmFsdWUmJikgZmluYWw7CiAgICAgdm9pZCBjb21wbGV0ZShz
dGQ6Om9wdGlvbmFsPFBheW1lbnRDb21wbGV0ZT4mJikgZmluYWw7CiAKICAgICAvLyBQYXltZW50
U2Vzc2lvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVz
dC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MDhh
Y2QyZTMxMmVkMTY2M2U0NTk2YmFmYjk1ZTRlN2I2NTRkZmY2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25F
dmVudC5jcHAKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIgorCisjaWYgRU5BQkxFKFBB
WU1FTlRfUkVRVUVTVCkKKworI2luY2x1ZGUgIlBheW1lbnRSZXF1ZXN0LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmPE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50PiBNZXJjaGFudFZhbGlk
YXRpb25FdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVVJMJiB2
YWxpZGF0aW9uVVJMLCBQYXltZW50UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQodHlwZSwgdmFsaWRhdGlv
blVSTCwgcGF5bWVudFJlcXVlc3QpKTsKK30KKworTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6Ok1l
cmNoYW50VmFsaWRhdGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgVVJM
JiB2YWxpZGF0aW9uVVJMLCBQYXltZW50UmVxdWVzdCYgcGF5bWVudFJlcXVlc3QpCisgICAgOiBF
dmVudCB7IHR5cGUsIGZhbHNlLCBmYWxzZSB9CisgICAgLCBtX3ZhbGlkYXRpb25VUkwgeyB2YWxp
ZGF0aW9uVVJMIH0KKyAgICAsIG1fcGF5bWVudFJlcXVlc3QgeyBwYXltZW50UmVxdWVzdCB9Cit7
Cit9CisKK0V2ZW50SW50ZXJmYWNlIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50OjpldmVudEludGVy
ZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50SW50ZXJm
YWNlVHlwZTsKK30KKworRXhjZXB0aW9uT3I8dm9pZD4gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQ6
OmNvbXBsZXRlKFJlZjxET01Qcm9taXNlPiYmIG1lcmNoYW50U2Vzc2lvblByb21pc2UpCit7Cisg
ICAgaWYgKCFpc1RydXN0ZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRT
dGF0ZUVycm9yIH07CisKKyAgICBpZiAobV9pc0NvbXBsZXRlZCkKKyAgICAgICAgcmV0dXJuIEV4
Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CisKKyAgICBhdXRvIGV4Y2VwdGlvbiA9IG1f
cGF5bWVudFJlcXVlc3QtPmNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uKCp0aGlzLCBXVEZNb3Zl
KG1lcmNoYW50U2Vzc2lvblByb21pc2UpKTsKKyAgICBpZiAoZXhjZXB0aW9uLmhhc0V4Y2VwdGlv
bigpKQorICAgICAgICByZXR1cm4gZXhjZXB0aW9uLnJlbGVhc2VFeGNlcHRpb24oKTsKKworICAg
IG1faXNDb21wbGV0ZWQgPSB0cnVlOworICAgIHJldHVybiB7IH07Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShQQVlNRU5UX1JFUVVFU1QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNoYW50VmFsaWRh
dGlvbkV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L01lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTlmOTI0YWY3MzY4NWYxNzA3YmQzOGM3
OTIyNjZiMjBlZGU0ZTI4NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaApAQCAtMCwwICsxLDU5
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoUEFZTUVOVF9SRVFV
RVNUKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJVUkwuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBET01Qcm9taXNlOworY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBQ
YXltZW50UmVxdWVzdDsKKworY2xhc3MgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgZmluYWwgOiBw
dWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBVUkwmLCBQYXltZW50UmVx
dWVzdCYpOworCisgICAgY29uc3QgU3RyaW5nJiB2YWxpZGF0aW9uVVJMKCkgY29uc3QgeyByZXR1
cm4gbV92YWxpZGF0aW9uVVJMLnN0cmluZygpOyB9CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29t
cGxldGUoUmVmPERPTVByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIE1lcmNoYW50VmFsaWRh
dGlvbkV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IFVSTCYsIFBheW1lbnRSZXF1ZXN0
Jik7CisKKyAgICAvLyBFdmVudAorICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkg
Y29uc3QgZmluYWw7CisKKyAgICBib29sIG1faXNDb21wbGV0ZWQgeyBmYWxzZSB9OworICAgIFVS
TCBtX3ZhbGlkYXRpb25VUkw7CisgICAgUmVmPFBheW1lbnRSZXF1ZXN0PiBtX3BheW1lbnRSZXF1
ZXN0OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFBB
WU1FTlRfUkVRVUVTVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wYXltZW50cmVxdWVzdC9NZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2I4MGJmNTk4ZWQ1M2ZlM2U4MTkxZjU4ZGNiZTU2MGFlNjAyYzA1OAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvTWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29u
ZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNULAorICAgIE5vSW50ZXJmYWNlT2JqZWN0LAorXSBpbnRl
cmZhY2UgTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIERPTVN0cmluZyB2YWxpZGF0aW9uVVJMOworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0g
dm9pZCBjb21wbGV0ZShQcm9taXNlPGFueT4gbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
SGFuZGxlci5oCmluZGV4IDg2YzkwMzJjMWNiZDgwNWEzMDE3ZjExZjhjNGYyODc0YTU2NTkwOGEu
LjJjZWUwN2Q0OTY3NDUxOTY0N2JiYjU5ODg2ZDUxYWM2MGQ4ODQ5ZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudEhhbmRsZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRIYW5kbGVyLmgK
QEAgLTUwLDYgKzUwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWRlKCkgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjYW5NYWtlUGF5bWVudChXVEY6OkZ1bmN0aW9uPHZvaWQoYm9vbCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpID0gMDsKICAgICB2aXJ0dWFsIEV4Y2VwdGlvbk9yPHZvaWQ+
IGRldGFpbHNVcGRhdGVkKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBjb25zdCBTdHJp
bmcmIGVycm9yKSA9IDA7CisgICAgdmlydHVhbCBFeGNlcHRpb25Pcjx2b2lkPiBtZXJjaGFudFZh
bGlkYXRpb25Db21wbGV0ZWQoSlNDOjpKU1ZhbHVlJiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
Y29tcGxldGUoc3RkOjpvcHRpb25hbDxQYXltZW50Q29tcGxldGU+JiYpID0gMDsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVxdWVzdC5jcHAKaW5kZXggOWIxMzNhNDRhYzRjOTJkMGUzZDFhOWFmZjk0NDBhYWRiZWViZmVi
MC4uMThmY2NlYjk1MTJmZTA5MWE1OTkyNzZmMTk3YmE5MTIzMmU5NzdiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5jcHAKQEAgLTU2Miw2ICs1NjIsMzQgQEAgRXhjZXB0aW9uT3I8dm9pZD4gUGF5bWVudFJlcXVl
c3Q6OnVwZGF0ZVdpdGgoRXZlbnQmIGV2ZW50LCBSZWY8RE9NUHJvbWlzZT4mJiBwcm8KICAgICBy
ZXR1cm4geyB9OwogfQogCitFeGNlcHRpb25Pcjx2b2lkPiBQYXltZW50UmVxdWVzdDo6Y29tcGxl
dGVNZXJjaGFudFZhbGlkYXRpb24oRXZlbnQmIGV2ZW50LCBSZWY8RE9NUHJvbWlzZT4mJiBtZXJj
aGFudFNlc3Npb25Qcm9taXNlKQoreworICAgIGlmIChtX3N0YXRlICE9IFN0YXRlOjpJbnRlcmFj
dGl2ZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9yIH07CisK
KyAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTsKKyAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJv
cGFnYXRpb24oKTsKKworICAgIG1fbWVyY2hhbnRTZXNzaW9uUHJvbWlzZSA9IFdURk1vdmUobWVy
Y2hhbnRTZXNzaW9uUHJvbWlzZSk7CisgICAgbV9tZXJjaGFudFNlc3Npb25Qcm9taXNlLT53aGVu
U2V0dGxlZChbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWZQdHIodGhpcyldKCkgeworICAg
ICAgICBpZiAobV9zdGF0ZSAhPSBTdGF0ZTo6SW50ZXJhY3RpdmUpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgaWYgKG1fbWVyY2hhbnRTZXNzaW9uUHJvbWlzZS0+c3RhdHVzKCkgPT0g
RE9NUHJvbWlzZTo6U3RhdHVzOjpSZWplY3RlZCkgeworICAgICAgICAgICAgc3RvcCgpOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgYXV0byBleGNlcHRpb24gPSBt
X2FjdGl2ZVBheW1lbnRIYW5kbGVyLT5tZXJjaGFudFZhbGlkYXRpb25Db21wbGV0ZWQobV9tZXJj
aGFudFNlc3Npb25Qcm9taXNlLT5yZXN1bHQoKSk7CisgICAgICAgIGlmIChleGNlcHRpb24uaGFz
RXhjZXB0aW9uKCkpIHsKKyAgICAgICAgICAgIGFib3J0V2l0aEV4Y2VwdGlvbihleGNlcHRpb24u
cmVsZWFzZUV4Y2VwdGlvbigpKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
IH0pOworCisgICAgcmV0dXJuIHsgfTsKK30KKwogdm9pZCBQYXltZW50UmVxdWVzdDo6c2V0dGxl
RGV0YWlsc1Byb21pc2UoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlKQogewogICAgIGF1dG8gc2Nv
cGVFeGl0ID0gbWFrZVNjb3BlRXhpdChbJl0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5oCmluZGV4IDVjZDc4YmY4ZGU3
NGZjYTg5ZGVjOWU1ODc4NTYyOTY1ODVjZGY1MmEuLmZhOWZkZjRiYmE2MzM5MjE1OWY1NDg1MzI3
MzY0M2YzNjdkOTU3ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3Bh
eW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmgKQEAgLTgwLDYgKzgwLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgc2hpcHBpbmdBZGRyZXNzQ2hhbmdlZChSZWY8UGF5bWVudEFkZHJlc3M+JiYpOwog
ICAgIHZvaWQgc2hpcHBpbmdPcHRpb25DaGFuZ2VkKGNvbnN0IFN0cmluZyYgc2hpcHBpbmdPcHRp
b24pOwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHVwZGF0ZVdpdGgoRXZlbnQmLCBSZWY8RE9NUHJv
bWlzZT4mJik7CisgICAgRXhjZXB0aW9uT3I8dm9pZD4gY29tcGxldGVNZXJjaGFudFZhbGlkYXRp
b24oRXZlbnQmLCBSZWY8RE9NUHJvbWlzZT4mJik7CiAgICAgdm9pZCBhY2NlcHQoY29uc3QgU3Ry
aW5nJiBtZXRob2ROYW1lLCBKU0M6OlN0cm9uZzxKU0M6OkpTT2JqZWN0PiYmIGRldGFpbHMsIFJl
ZjxQYXltZW50QWRkcmVzcz4mJiBzaGlwcGluZ0FkZHJlc3MsIGNvbnN0IFN0cmluZyYgcGF5ZXJO
YW1lLCBjb25zdCBTdHJpbmcmIHBheWVyRW1haWwsIGNvbnN0IFN0cmluZyYgcGF5ZXJQaG9uZSk7
CiAgICAgdm9pZCBjb21wbGV0ZShzdGQ6Om9wdGlvbmFsPFBheW1lbnRDb21wbGV0ZT4mJik7CiAg
ICAgdm9pZCBjYW5jZWwoKTsKQEAgLTEyMCw2ICsxMjEsNyBAQCBwcml2YXRlOgogICAgIHN0ZDo6
b3B0aW9uYWw8U2hvd1Byb21pc2U+IG1fc2hvd1Byb21pc2U7CiAgICAgUmVmUHRyPFBheW1lbnRI
YW5kbGVyPiBtX2FjdGl2ZVBheW1lbnRIYW5kbGVyOwogICAgIFJlZlB0cjxET01Qcm9taXNlPiBt
X2RldGFpbHNQcm9taXNlOworICAgIFJlZlB0cjxET01Qcm9taXNlPiBtX21lcmNoYW50U2Vzc2lv
blByb21pc2U7CiAgICAgYm9vbCBtX2lzVXBkYXRpbmcgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1
ZXN0LmlkbAppbmRleCA3ZmEzOTlhODdhZjM3NmRmZDU2ODQ3NjZkNWM3MmU5MWIyZTMzMWU2Li5j
MGVhNTBjZTk5OGVkZmFiZmU2MjViZWJjMGRmNzYzMmJhMjVjYzhlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0LmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3BheW1lbnRyZXF1ZXN0L1BheW1lbnRSZXF1ZXN0Lmlk
bApAQCAtNDMsNiArNDMsNSBAQAogCiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbnNoaXBw
aW5nYWRkcmVzc2NoYW5nZTsKICAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uc2hpcHBpbmdv
cHRpb25jaGFuZ2U7Ci0KLSAgICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZXSBhdHRyaWJ1dGUgRXZl
bnRIYW5kbGVyIG9uYXBwbGVwYXl2YWxpZGF0ZW1lcmNoYW50OworICAgIGF0dHJpYnV0ZSBFdmVu
dEhhbmRsZXIgb25tZXJjaGFudHZhbGlkYXRpb247CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGUxNDg5ZWFiMmIxNGMzZjJj
NjZkMDJhOWFlZGNlY2YzNWRlMmNlYzUuLjIxODc4ZTJjZGMzODVlZDgxODJjZGQzNGFjM2E3ODll
ZjYwZGQxNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTI3MTIsNiArMjcxMiwxMCBAQAogCQlBMTBEQkY0NzE4RjkyMzE3MDAw
RDcwQzYgLyogUHJldmlld0xvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwREJGNDYxOEY5MjMxNzAwMEQ3MEM2IC8qIFByZXZpZXdM
b2FkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlBMTBEQzc2QjE0NzQ3QkFCMDA1RTI0NzEgLyogU3R5bGVHcmlkRGF0YS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTEwREM3NjkxNDc0N0JB
QjAwNUUyNDcxIC8qIFN0eWxlR3JpZERhdGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlBMTEwREI5QjE0RjVERjc3MDBBMDNCOTMgLyogU3R5bGVH
cmlkSXRlbURhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEExMTBEQjlBMTRGNURGNzcwMEEwM0I5MyAvKiBTdHlsZUdyaWRJdGVtRGF0YS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUExMUFFMENDMUZG
RDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTExQUUwQzkxRkZENjA1MzAwNDczNDhC
IC8qIE1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi87IH07CisJCUExMUFFMENEMUZGRDYwNTMw
MDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFBRTBDQTFGRkQ2MDUzMDA0NzM0OEIgLyog
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovOyB9OworCQlBMTFBRTBEMjFGRkQ2MURGMDA0
NzM0OEIgLyogSlNNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFBRTBEMDFGRkQ2MURFMDA0NzM0OEIgLyog
SlNNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgKi87IH07CisJCUExMUFFMEQzMUZGRDYxREYw
MDQ3MzQ4QiAvKiBKU01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFBRTBEMTFGRkQ2MURGMDA0NzM0OEIgLyog
SlNNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovOyB9OwogCQlBMTFFOEMwNTFCMUUyOEY0MDAw
M0E3QzcgLyogY29weUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEExMUU4QzAwMUIxRTI4QkUwMDAzQTdDNyAvKiBjb3B5Q3Vyc29yLnBu
ZyAqLzsgfTsKIAkJQTExRThDMDYxQjFFMjhGQTAwMDNBN0M3IC8qIG1vdmVDdXJzb3IucG5nIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFFOEMwMTFC
MUUyOEJFMDAwM0E3QzcgLyogbW92ZUN1cnNvci5wbmcgKi87IH07CiAJCUExMUU4QzA3MUIxRTI4
RkUwMDAzQTdDNyAvKiBub3J0aEVhc3RTb3V0aFdlc3RSZXNpemVDdXJzb3IucG5nIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTFFOEMwMjFCMUUyOEJF
MDAwM0E3QzcgLyogbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yLnBuZyAqLzsgfTsKQEAg
LTI4MzEsMTAgKzI4MzUsNiBAQAogCQlBMUY3NkI0RjFGNDREMjQyMDAxNEMzMTggLyogUGF5bWVu
dERldGFpbHNNb2RpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQTFGNzZCNEMxRjQ0RDI0MjAwMTRDMzE4IC8qIFBheW1lbnREZXRhaWxzTW9kaWZp
ZXIuaCAqLzsgfTsKIAkJQTFGNzZCNTUxRjQ0RDJDNzAwMTRDMzE4IC8qIFBheW1lbnRTaGlwcGlu
Z09wdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTFGNzZCNTIxRjQ0RDJDNzAwMTRDMzE4IC8qIFBheW1lbnRTaGlwcGluZ09wdGlvbi5oICovOyB9
OwogCQlBMUY3NkI1QjFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY3NkI1ODFGNDREM0Iy
MDAxNEMzMTggLyogUGF5bWVudENvbXBsZXRlLmggKi87IH07Ci0JCUExRjkyOTY5MUY4RDlDREIw
MDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5Mjk2NjFGOEQ5Q0RCMDA1MjNB
RjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovOyB9OwotCQlBMUY5Mjk2
QTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMUY5Mjk2NzFG
OEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHAgKi87
IH07Ci0JCUExRjkyOTZGMUY4RDlGNUIwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxp
ZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQTFGOTI5NkQxRjhEOUY1QTAwNTIzQUYzIC8qIEpTQXBwbGVQYXlNZXJjaGFudFZhbGlk
YXRpb25FdmVudC5jcHAgKi87IH07Ci0JCUExRjkyOTcwMUY4RDlGNUIwMDUyM0FGMyAvKiBKU0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExRjkyOTZFMUY4RDlGNUIwMDUyM0FGMyAvKiBKU0FwcGxl
UGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJQTJCOTIxNzMxNkM1Q0M0MjAw
NDFEQ0Q5IC8qIEludFJlY3RFeHRlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEEyQjkyMTcyMTZDNUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQTMx
QzRFNEQxNkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNEMxNkUwMkFBNjAw
MkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovOyB9OwogCQlBMzFDNEU0RjE2RTAy
QUI0MDAyRjc5NTcgLyogT0VTVGV4dHVyZUhhbGZGbG9hdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTMxQzRFNEUxNkUwMkFCNDAwMkY3OTU3IC8qIE9F
U1RleHR1cmVIYWxmRmxvYXQuaCAqLzsgfTsKQEAgLTEwNTU0LDYgKzEwNTU0LDExIEBACiAJCUEx
MERDNzY5MTQ3NDdCQUIwMDVFMjQ3MSAvKiBTdHlsZUdyaWREYXRhLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlR3JpZERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQTExMERCOUExNEY1REY3NzAwQTAzQjkzIC8qIFN0eWxlR3JpZEl0ZW1EYXRhLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlR3JpZEl0ZW1EYXRhLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMTBEQjlDMTRGNURGODcwMEEwM0I5MyAvKiBT
dHlsZUdyaWRJdGVtRGF0YS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZUdyaWRJdGVtRGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUEx
MUFFMEM5MUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBMTFBRTBDQTFGRkQ2MDUzMDA0NzM0OEIgLyogTWVyY2hhbnRWYWxpZGF0aW9u
RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBMTFBRTBDQjFGRkQ2MDUzMDA0NzM0OEIg
LyogTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTExQUUwRDAxRkZENjFERTAw
NDczNDhCIC8qIEpTTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZXJjaGFudFZhbGlkYXRpb25FdmVudC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUExMUFFMEQxMUZGRDYxREYwMDQ3MzQ4QiAvKiBKU01l
cmNoYW50VmFsaWRhdGlvbkV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTExRThDMDAxQjFFMjhCRTAwMDNBN0M3IC8qIGNvcHlDdXJzb3IucG5nICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gaW1hZ2UucG5nOyBwYXRoID0g
Y29weUN1cnNvci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExMUU4QzAxMUIx
RTI4QkUwMDAzQTdDNyAvKiBtb3ZlQ3Vyc29yLnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9IG1vdmVDdXJzb3IucG5n
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTFFOEMwMjFCMUUyOEJFMDAwM0E3Qzcg
Lyogbm9ydGhFYXN0U291dGhXZXN0UmVzaXplQ3Vyc29yLnBuZyAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGltYWdlLnBuZzsgcGF0aCA9IG5vcnRoRWFz
dFNvdXRoV2VzdFJlc2l6ZUN1cnNvci5wbmc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xMDc1OSwxMSArMTA3NjQsNiBAQAogCQlBMUY3NkI1ODFGNDREM0IyMDAxNEMzMTggLyogUGF5
bWVudENvbXBsZXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBheW1lbnRDb21wbGV0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMUY3NkI1QTFGNDREM0IyMDAxNEMzMTggLyogUGF5bWVu
dENvbXBsZXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBQYXltZW50Q29tcGxldGUuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUY3OEQwQjFDMjU0MjJDMDAyNDU0NDYgLyogUmVzb3VyY2VSZXNwb25z
ZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVzb3Vy
Y2VSZXNwb25zZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlBMUY5Mjk2
NjFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBh
eU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxlUGF5
TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlBMUY5Mjk2ODFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTFGOTI5NkUxRjhEOUY1QjAwNTIzQUYzIC8qIEpT
QXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTIwOEUyMjJBNTZBMEM3NTc1RjJBNzJFIC8qIFJlbmRlck1h
dGhNTE1lbmNsb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlck1h
dGhNTE1lbmNsb3NlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUEyQjkyMTcyMTZD
NUNDNDIwMDQxRENEOSAvKiBJbnRSZWN0RXh0ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEludFJlY3RFeHRlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTMxQzRFNEMxNkUwMkFBNjAwMkY3OTU3IC8qIE9FU1RleHR1cmVIYWxmRmxvYXQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gT0VTVGV4dHVyZUhhbGZGbG9hdC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTY1NCw4ICsxNTY1NCw2IEBACiAJCQkJ
N0M2NTc5RUExRTAwODU2NjAwRTNBMjdBIC8qIEpTQXBwbGVQYXlMaW5lSXRlbS5oICovLAogCQkJ
CUExREY1QTg5MUY3RUMwMDAwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5
LmNwcCAqLywKIAkJCQlBMURGNUE4QTFGN0VDMDAwMDA1OEE0NzcgLyogSlNBcHBsZVBheU1lcmNo
YW50Q2FwYWJpbGl0eS5oICovLAotCQkJCUExRjkyOTZEMUY4RDlGNUEwMDUyM0FGMyAvKiBKU0Fw
cGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwICovLAotCQkJCUExRjkyOTZFMUY4RDlG
NUIwMDUyM0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywKIAkJ
CQlBMUY2RDAwQTFGRTA5OTIxMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmNwcCAqLywK
IAkJCQlBMUY2RDAwQzFGRTA5OTIyMDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggKi8s
CiAJCQkJN0M2NTIzMUQxRTAxOEI1QTAwNjc3RjIyIC8qIEpTQXBwbGVQYXlQYXltZW50LmNwcCAq
LywKQEAgLTIwNTc0LDYgKzIwNTcyLDggQEAKIAkJQTFDQzU2NEExRjQ2MTNCQjAwQTQ1NTVCIC8q
IFBheW1lbnRSZXF1ZXN0ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9
ICgKKwkJCQlBMTFBRTBEMDFGRkQ2MURFMDA0NzM0OEIgLyogSlNNZXJjaGFudFZhbGlkYXRpb25F
dmVudC5jcHAgKi8sCisJCQkJQTExQUUwRDExRkZENjFERjAwNDczNDhCIC8qIEpTTWVyY2hhbnRW
YWxpZGF0aW9uRXZlbnQuaCAqLywKIAkJCQlBMUNDNTY1RjFGNDYxNDYxMDBBNDU1NUIgLyogSlNQ
YXltZW50QWRkcmVzcy5jcHAgKi8sCiAJCQkJQTFDQzU2NjUxRjQ2MTQ2ODAwQTQ1NTVCIC8qIEpT
UGF5bWVudEFkZHJlc3MuaCAqLywKIAkJCQlBMUNDNTY2MDFGNDYxNDYyMDBBNDU1NUIgLyogSlNQ
YXltZW50Q29tcGxldGUuY3BwICovLApAQCAtMjA2MTMsOSArMjA2MTMsNiBAQAogCQlBMURGNUE5
RjFGN0VFMEYxMDA1OEE0NzcgLyogcGF5bWVudHJlcXVlc3QgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKAotCQkJCUExRjkyOTY3MUY4RDlDREIwMDUyM0FGMyAvKiBB
cHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywKLQkJCQlBMUY5Mjk2NjFGOEQ5
Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oICovLAotCQkJ
CUExRjkyOTY4MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2
ZW50LmlkbCAqLywKIAkJCQlBMUY2Q0ZGQzFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlNb2Rp
Zmllci5oICovLAogCQkJCUExRjZDRkZFMUZFMDk2MjEwMDE4MDc4QyAvKiBBcHBsZVBheU1vZGlm
aWVyLmlkbCAqLywKIAkJCQlBMURGNUFBMTFGN0VFMTEzMDA1OEE0NzcgLyogQXBwbGVQYXlQYXlt
ZW50SGFuZGxlci5jcHAgKi8sCkBAIC0yMDYyOSw2ICsyMDYyNiw5IEBACiAJCUExRjc2QjBFMUY0
NEMwQ0YwMDE0QzMxOCAvKiBwYXltZW50cmVxdWVzdCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJQTExQUUwQ0ExRkZENjA1MzAwNDczNDhCIC8qIE1lcmNo
YW50VmFsaWRhdGlvbkV2ZW50LmNwcCAqLywKKwkJCQlBMTFBRTBDOTFGRkQ2MDUzMDA0NzM0OEIg
LyogTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaCAqLywKKwkJCQlBMTFBRTBDQjFGRkQ2MDUzMDA0
NzM0OEIgLyogTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaWRsICovLAogCQkJCUExQ0ZFMDMxMUY5
RTcxMjkwMDY1QzM0NSAvKiBQYXltZW50QWRkcmVzcy5jcHAgKi8sCiAJCQkJQTFGNzZCNDAxRjQ0
Q0Y3RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNzLmggKi8sCiAJCQkJQTFGNzZCNDIxRjQ0Q0Y3
RjAwMTRDMzE4IC8qIFBheW1lbnRBZGRyZXNzLmlkbCAqLywKQEAgLTI2MjkxLDcgKzI2MjkxLDYg
QEAKIAkJCQlBMURGNUE5NDFGN0VDNDMyMDA1OEE0NzcgLyogQXBwbGVQYXlDb250YWN0RmllbGQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUUzMUUwMDgyNzAwMEUzQTI3QSAvKiBBcHBsZVBh
eUxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMURGNUE4NjFGN0VCREYyMDA1OEE0Nzcg
LyogQXBwbGVQYXlNZXJjaGFudENhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICovLAotCQkJCUExRjky
OTY5MUY4RDlDREIwMDUyM0FGMyAvKiBBcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBMUY2Q0ZGRjFGRTA5NjIxMDAxODA3OEMgLyogQXBwbGVQYXlN
b2RpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M2NTIzMDExRTAwRDAzNDAwNjc3RjIyIC8q
IEFwcGxlUGF5UGF5bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE4QTY0NTIxRDE5RkNGQjAw
RDBFMDBGIC8qIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzU3Miw3ICsyNzU3MSw2IEBACiAJCQkJQTFERjVBOTkxRjdFQzhDMDAwNThBNDc3IC8q
IEpTQXBwbGVQYXlDb250YWN0RmllbGQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDNjU3OUYwMUUw
MDg1NjYwMEUzQTI3QSAvKiBKU0FwcGxlUGF5TGluZUl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUExREY1QThFMUY3RUMwMDIwMDU4QTQ3NyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRDYXBhYmlsaXR5
LmggaW4gSGVhZGVycyAqLywKLQkJCQlBMUY5Mjk3MDFGOEQ5RjVCMDA1MjNBRjMgLyogSlNBcHBs
ZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBMUY2RDAx
MjFGRTA5OUI0MDAxODA3OEMgLyogSlNBcHBsZVBheU1vZGlmaWVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk3QzY1MjMxNDFFMDBEQkI0MDA2NzdGMjIgLyogSlNBcHBsZVBheVBheW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRTk2QThCMUQxQTBEREQwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzk2NSw2ICsyNzk2Myw3
IEBACiAJCQkJMDcyNzdFNTUxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1UcmFja0V2
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzJDQzBENTFERkZENjY3MDA0QzBGOUYgLyogSlNN
ZWRpYVRyYWNrQ29uc3RyYWludHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3ODdDNDZBMUJGQkRG
NkYwMDZEQ0Q3RiAvKiBKU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50cy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQTExQUUwRDMxRkZENjFERjAwNDczNDhCIC8qIEpTTWVyY2hhbnRWYWxpZGF0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMDc0MDBFMEU3N0JEQzAwMDMzQUYyNCAv
KiBKU01lc3NhZ2VDaGFubmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTc5M0VDOTBEMENFNzJE
MDA3RkMwQUMgLyogSlNNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQURFRERB
MEU3NkJEOTMwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0LmggaW4gSGVhZGVycyAqLywKQEAgLTI4
NTc5LDYgKzI4NTc4LDcgQEAKIAkJCQk1MTc3MURGRjFCREI0ODUwMDBDQUU4RTQgLyogTWVtb3J5
T2JqZWN0U3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzEzOTA2MUJGNjRERUMwMDBENUYw
MSAvKiBNZW1vcnlPYmplY3RTdG9yZUN1cnNvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDEzRTAw
NzkxREIwRTRGMjAwMjM0MUQyIC8qIE1lbW9yeVJlbGVhc2UuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUExMUFFMENDMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlERkEwOTlFNjQ5MjAwNTZFNTgxIC8qIE1lcmdlSWRlbnRp
Y2FsRWxlbWVudHNDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUNDRTBFNzZBRDhC
MDA0QTFBNUUgLyogTWVzc2FnZUNoYW5uZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NzkzRTg0
MEQwQ0UwQjMwMDdGQzBBQyAvKiBNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMzA1
MjQsNyArMzA1MjQsNiBAQAogCQkJCUE5Nzg3Q0I0MUY1RjVDNjYwMEM1NTFDNiAvKiBBY2Nlc3Np
YmlsaXR5TWVkaWFPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNzk1QzgxODg4QkNC
NTAwMzgyRjkwIC8qIEFOR0xFSW5zdGFuY2VkQXJyYXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTQ5MDcwN0U2MTIxOUMwNDMwMEQ5MEU1MSAvKiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgaW4gU291
cmNlcyAqLywKLQkJCQlBMUY5Mjk2QTFGOEQ5Q0RCMDA1MjNBRjMgLyogQXBwbGVQYXlNZXJjaGFu
dFZhbGlkYXRpb25FdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDRDBFRUUwRTE0NzQzRjM5
MDAzRUFGQTIgLyogQXVkaW9EZXN0aW5hdGlvbklPUy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlD
RDU1OTY5MTE0NzVCNjc4MDAxRDBCRDAgLyogQXVkaW9GaWxlUmVhZGVySU9TLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUNEQTc5ODI3MTcwQTI3OTEwMEQ0NUM1NSAvKiBBdWRpb1Nlc3Npb25JT1Mu
bW0gaW4gU291cmNlcyAqLywKQEAgLTMwNTg4LDkgKzMwNTg3LDkgQEAKIAkJCQlCRTE2QzU5NDE3
Q0ZFMTcyMDA4NTJDMDQgLyogSW5iYW5kV2ViVlRUVGV4dFRyYWNrLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUNEMDYzRjgyMUUyM0ZBODkwMDgxMkJFMyAvKiBJbml0RGF0YVJlZ2lzdHJ5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZBNzI3OThDMUYxNkMyOUMwMDNGMzlCOCAvKiBJbnNwZWN0b3JT
aGFkZXJQcm9ncmFtLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCUExRjkyOTZGMUY4RDlGNUIwMDUy
M0FGMyAvKiBKU0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTFGNkQwMTExRkUwOTlCMjAwMTgwNzhDIC8qIEpTQXBwbGVQYXlNb2RpZmllci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUY2RDAxMDFGRTA5OTk2MDAxODA3OEMgLyogSlNBcHBs
ZVBheVBheW1lbnRNZXRob2RUeXBlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUExMUFFMEQyMUZG
RDYxREYwMDQ3MzQ4QiAvKiBKU01lcmNoYW50VmFsaWRhdGlvbkV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUzOEVDOTNFMUY5OUJGNUEwMDREMjJBOCAvKiBKU1F1aWNrVGltZVBsdWdpblJl
cGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUM0NzcwMDlBQzRENzMwMEE2QUFC
NCAvKiBLZXlFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUNEQTk4RTBCMTYwM0NENjAw
MEZFQTNCMSAvKiBMZWdhY3lDRE0uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDYyMiw2ICszMDYy
MSw3IEBACiAJCQkJQzkwRjY1NTUxQjIyNTNCMTAwMjE2M0ExIC8qIE1lZGlhU2Vzc2lvbk1hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc2MzhBOUExODg0NDg3MjAwRTE1QTFCIC8qIE1l
ZGlhU2Vzc2lvbk1hbmFnZXJJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQlDREM4QjVBNjE4MDQ3
NEY3MDAxNkU2ODUgLyogTWVkaWFTb3VyY2VQcml2YXRlQVZGT2JqQy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUExMUFFMENEMUZGRDYwNTMwMDQ3MzQ4QiAvKiBNZXJjaGFudFZhbGlkYXRpb25FdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDREYyQjAxMDE4MjA1NDA2MDBGMkI0MjQgLyogTW9j
a0JveC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTA1OEFERjFENjdDMjI5MDA5QTUzOEMgLyog
TW9ja0dhbWVwYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwNThBRTExRDY3QzIyOTAwOUE1
MzhDIC8qIE1vY2tHYW1lcGFkUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaAppbmRleCAyNGRiZjEwZTQ2YTJjM2FkODRmOTgxZjE3MmZiMGI2MWFiZWE0NTRj
Li4yZTEwNzEyZWY2MTRhNTZhMGZiMDZmNDA5MWFiYTVmNDA1MTExMmIwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmgKQEAgLTUzLDcgKzUzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1h
Y3JvKGFuaW1hdGlvbmVuZCkgXAogICAgIG1hY3JvKGFuaW1hdGlvbml0ZXJhdGlvbikgXAogICAg
IG1hY3JvKGFuaW1hdGlvbnN0YXJ0KSBcCi0gICAgbWFjcm8oYXBwbGVwYXl2YWxpZGF0ZW1lcmNo
YW50KSBcCiAgICAgbWFjcm8oYXVkaW9lbmQpIFwKICAgICBtYWNybyhhdWRpb3Byb2Nlc3MpIFwK
ICAgICBtYWNybyhhdWRpb3N0YXJ0KSBcCkBAIC0xNTMsNiArMTUyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKGxvYWRpbmdlcnJvcikgXAogICAgIG1hY3JvKGxvYWRzdGFydCkg
XAogICAgIG1hY3JvKG1hcmspIFwKKyAgICBtYWNybyhtZXJjaGFudHZhbGlkYXRpb24pIFwKICAg
ICBtYWNybyhtZXNzYWdlKSBcCiAgICAgbWFjcm8obWVzc2FnZWVycm9yKSBcCiAgICAgbWFjcm8o
bW91c2Vkb3duKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDIwYjVhMTM0OTY0ZGFk
Njg3MzA2OTE4Y2JlM2Q3M2Q2OWJmZjVkMjkuLjkxZjc1MmQxMjI0NGE1N2QxNzYzNzM2YmZkZjY0
ZTY3ZjBlZGIwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0zOSw3ICszOSw2IEBA
IFdlYktpdEFuaW1hdGlvbkV2ZW50CiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQKIFdoZWVsRXZlbnQK
IFhNTEh0dHBSZXF1ZXN0UHJvZ3Jlc3NFdmVudAotQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25F
dmVudCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dCBjb25kaXRpb25hbD1BUFBMRV9QQVkKIEFwcGxlUGF5UGF5bWVudE1ldGhvZFNlbGVjdGVkRXZl
bnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCiBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVk
RXZlbnQgY29uZGl0aW9uYWw9QVBQTEVfUEFZCkBAIC00OSw2ICs0OCw3IEBAIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2
ZW50IGNvbmRpdGlvbmFsPVdFQl9BVURJTwogTWVkaWFTdHJlYW1FdmVudCBjb25kaXRpb25hbD1X
RUJfUlRDCiBNZWRpYVN0cmVhbVRyYWNrRXZlbnQgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCitN
ZXJjaGFudFZhbGlkYXRpb25FdmVudCBjb25kaXRpb25hbD1QQVlNRU5UX1JFUVVFU1QKIFBheW1l
bnRSZXF1ZXN0VXBkYXRlRXZlbnQgY29uZGl0aW9uYWw9UEFZTUVOVF9SRVFVRVNUCiBSVENQZWVy
Q29ubmVjdGlvbkljZUV2ZW50IGNvbmRpdGlvbmFsPVdFQl9SVEMKIFJUQ0RhdGFDaGFubmVsRXZl
bnQgY29uZGl0aW9uYWw9V0VCX1JUQwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDA2MWU1YmQyMWY2ZTFkZjk0MWI5ZWZiMTky
Y2Y0Y2U5MzY5MGM4ODMuLmYwMjkwZDdlMDA3NjAxNjcxOWZkMjIyZTJiNGMzOTgzZmY2ZDE5OTkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxOC0wMS0wOSAgQW5keSBFc3RlcyAgPGFlc3Rlc0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW1BheW1lbnQgUmVxdWVzdF0gUmVuYW1lIEFwcGxlUGF5TWVy
Y2hhbnRWYWxpZGF0aW9uRXZlbnQgdG8gTWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTQzNworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMzYzNzY0ODE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRv
bi4KKworICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0
LWNoYW5nZS1zaGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5o
dHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1y
ZXF1ZXN0LW1lcmNoYW50LXZhbGlkYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1tZXJjaGFu
dC12YWxpZGF0aW9uLmh0dHBzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcmVzb3VyY2VzL2hlbHBlcnMuanM6CisgICAgICAgIChhc3luYy5nZXRQYXlt
ZW50UmVxdWVzdFJlc3BvbnNlKToKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L3VwZGF0ZVdpdGgtbWV0aG9kLXBtaS1oYW5kbGluZy5odHRwcy5odG1sOgorICAgICAgICAqIGh0
dHAvdGVzdHMvc3NsL2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0
cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc3NsL2FwcGxl
cGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbDogUmVtb3ZlZC4K
KwogMjAxOC0wMS0xMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHNraXAgaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvb3RoZXJfcmVzb3Vy
Y2VzIGZvbGRlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWwg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1j
aGFuZ2Utc2hpcHBpbmctYWRkcmVzcy5odHRwcy5odG1sCmluZGV4IDI3MTIwNmQwZjUwNzVjMjk3
YjNmMmMyZjA4Y2FjOWU4YTYwYjc1N2YuLjRlMGRiOTJhZjEzZDllN2FmYjQxNjNjMzU0Y2QxODc5
ZWY0ZGY0OTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1hZGRyZXNzLmh0dHBzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3Qt
Y2hhbmdlLXNoaXBwaW5nLWFkZHJlc3MuaHR0cHMuaHRtbApAQCAtNjUsNyArNjUsNyBAQCBmdW5j
dGlvbiB0ZXN0U2hpcHBpbmdBZGRyZXNzQ2hhbmdlKCkgewogICAgICAgbnVsbCwKICAgICAgICJy
ZXF1ZXN0LnNoaXBwaW5nQWRkcmVzcyBtdXN0IGluaXRpYWxseSBiZSBudWxsIgogICAgICk7Ci0g
ICAgcmVxdWVzdC5vbmFwcGxlcGF5dmFsaWRhdGVtZXJjaGFudCA9IGV2ZW50ID0+IHsKKyAgICBy
ZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4gewogICAgICAgICBldmVudC5j
b21wbGV0ZSh7IH0pOwogICAgIH07CiAgICAgY29uc3QgbGlzdGVuZXJQcm9taXNlID0gbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3Bh
eW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVx
dWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLmh0bWwKaW5kZXggYjY2YjRiNDMyZGRl
MTJjN2JiYWJkYWU4YmIyZTdhYTgyYmU0MmFhOC4uOThhYmYxYzNjMzcxNWM1MGQ1NWNhNGIzMmMx
Y2YzNjYwMjc3M2ZlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy5odG1s
CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1
ZXN0LWNoYW5nZS1zaGlwcGluZy1vcHRpb24uaHR0cHMuaHRtbApAQCAtNTksNyArNTksNyBAQCBm
dW5jdGlvbiB0ZXN0U2hpcHBpbmdPcHRpb25DaGFuZ2VkKCkgewogICAgICAgZGV0YWlsc1dpdGhT
aGlwcGluZ09wdGlvbnMsCiAgICAgICByZXF1ZXN0U2hpcHBpbmcKICAgICApOwotICAgIHJlcXVl
c3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgPSBldmVudCA9PiB7CisgICAgcmVxdWVzdC5v
bm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2ZW50ID0+IHsKICAgICAgICAgZXZlbnQuY29tcGxldGUo
eyB9KTsKICAgICAgICAgaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuY2hhbmdlU2hp
cHBpbmdPcHRpb24oInZhbGlkLTEiKTsKICAgICB9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRh
dGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1tZXJjaGFudC12YWxpZGF0aW9uLmh0dHBzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zZWIyMDczNzZiNTAwMDU2YjU2NzlmZGY5NDViYTA1YzkzMThmODU0
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwxMSBAQAorCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB0d2ljZSB0aHJvd3Mg
YW4gSW52YWxpZFN0YXRlRXJyb3IuIAorUEFTUyBDYWxsaW5nIGNvbXBsZXRlKCkgYWZ0ZXIgYWJv
cnQoKSB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IuIAorUEFTUyBDYWxsaW5nIGNvbXBsZXRl
KCkgd2l0aCBhIHByb21pc2UgdGhhdCBpcyByZWplY3RlZCBhYm9ydHMgdGhlIHJlcXVlc3QuIAor
UEFTUyBDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIG51bWJlciBhYm9ydHMgdGhlIHJlcXVlc3Qg
d2l0aCBhIFR5cGVFcnJvci4gCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB3aXRoIHVuZGVmaW5l
ZCBhYm9ydHMgdGhlIHJlcXVlc3Qgd2l0aCBhIFR5cGVFcnJvci4gCitQQVNTIENhbGxpbmcgY29t
cGxldGUoKSB3aXRoIG51bGwgYWJvcnRzIHRoZSByZXF1ZXN0IHdpdGggYSBUeXBlRXJyb3IuIAor
UEFTUyBDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIHN0cmluZyBhYm9ydHMgdGhlIHJlcXVlc3Qg
d2l0aCBhIFR5cGVFcnJvci4gCitQQVNTIENhbGxpbmcgY29tcGxldGUoKSB3aXRoIGEgcHJvbWlz
ZSByZXNvbHZpbmcgdG8gYSB2YWxpZCBtZXJjaGFudCBzZXNzaW9uIGRvZXMgbm90IGFib3J0IHRo
ZSByZXF1ZXN0LiAKK1BBU1MgQ2FsbGluZyBjb21wbGV0ZSgpIHdpdGggYSB2YWxpZCBtZXJjaGFu
dCBzZXNzaW9uIGRvZXMgbm90IGFib3J0IHRoZSByZXF1ZXN0LiAKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hh
bnQtdmFsaWRhdGlvbi5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtbWVyY2hhbnQtdmFsaWRhdGlvbi5odHRwcy5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIwMGFlZDNmY2EzMTI3MTY3MTQwNGNjNjA0MWM4NDk4ZDE3YWY5NjEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnQtcmVxdWVzdC1tZXJjaGFudC12YWxpZGF0aW9uLmh0dHBzLmh0bWwKQEAgLTAsMCArMSwxNTYg
QEAKKzwhRE9DVFlQRSBodG1sPgorPG1ldGEgY2hhcnNldD0idXRmLTgiPgorPHRpdGxlPlRlc3Qg
Zm9yIHRoZSBtZXJjaGFudHZhbGlkYXRpb24gZXZlbnQuPC90aXRsZT4KKzxzY3JpcHQgc3JjPSIv
anMtdGVzdC1yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIv
cmVzb3VyY2VzL3BheW1lbnQtcmVxdWVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jl
c291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitzZXR1
cCh7IGV4cGxpY2l0X2RvbmU6IHRydWUsIGV4cGxpY2l0X3RpbWVvdXQ6IHRydWUgfSk7Citjb25z
dCBhcHBsZVBheSA9IE9iamVjdC5mcmVlemUoeworICAgIHN1cHBvcnRlZE1ldGhvZHM6ICJodHRw
czovL2FwcGxlLmNvbS9hcHBsZS1wYXkiLAorICAgIGRhdGE6IHsKKyAgICAgICAgdmVyc2lvbjog
MiwKKyAgICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKKyAgICAgICAgbWVyY2hhbnRDYXBh
YmlsaXRpZXM6IFsnc3VwcG9ydHMzRFMnXSwKKyAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsn
dmlzYScsICdtYXN0ZXJDYXJkJ10sCisgICAgICAgIGNvdW50cnlDb2RlOiAnVVMnLAorICAgIH0s
Cit9KTsKK2NvbnN0IHZhbGlkTWV0aG9kcyA9IE9iamVjdC5mcmVlemUoW2FwcGxlUGF5XSk7Citj
b25zdCB2YWxpZEFtb3VudCA9IE9iamVjdC5mcmVlemUoeyBjdXJyZW5jeTogIlVTRCIsIHZhbHVl
OiAiNS4wMCIgfSk7Citjb25zdCB2YWxpZFRvdGFsID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgbGFi
ZWw6ICJsYWJlbCIsCisgICAgYW1vdW50OiB2YWxpZEFtb3VudCwKK30pOworY29uc3QgdmFsaWRE
ZXRhaWxzID0gT2JqZWN0LmZyZWV6ZSh7CisgICAgdG90YWw6IHZhbGlkVG90YWwsCit9KTsKKwor
dXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcmVxdWVzdCA9IG5l
dyBQYXltZW50UmVxdWVzdCgKKyAgICAgICAgdmFsaWRNZXRob2RzLAorICAgICAgICB2YWxpZERl
dGFpbHMKKyAgICApOworICAgIHJlcXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24gPSBldmVudCA9
PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQudmFsaWRhdGlvblVSTCwgImh0dHBzOi8v
d2Via2l0Lm9yZy8iKTsKKyAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKKyAgICAgICAgYXNz
ZXJ0X3Rocm93cygiSW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBldmVudC5jb21wbGV0ZSh7IH0p
KTsKKyAgICAgICAgcmVxdWVzdC5hYm9ydCgpOworICAgIH07CisgICAgYXdhaXQgcHJvbWlzZV9y
ZWplY3RzKHQsICJBYm9ydEVycm9yIiwgcmVxdWVzdC5zaG93KCkpOworfSwgIkNhbGxpbmcgY29t
cGxldGUoKSB0d2ljZSB0aHJvd3MgYW4gSW52YWxpZFN0YXRlRXJyb3IuIik7CisKK3VzZXJfYWN0
aXZhdGlvbl90ZXN0KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVu
dFJlcXVlc3QoCisgICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisg
ICAgKTsKKyAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAg
ICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5v
cmcvIik7CisgICAgICAgIHJlcXVlc3QuYWJvcnQoKTsKKyAgICAgICAgYXNzZXJ0X3Rocm93cygi
SW52YWxpZFN0YXRlRXJyb3IiLCAoKSA9PiBldmVudC5jb21wbGV0ZSh7IH0pKTsKKyAgICB9Owor
ICAgIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCAiQWJvcnRFcnJvciIsIHJlcXVlc3Quc2hvdygp
KTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgYWZ0ZXIgYWJvcnQoKSB0aHJvd3MgYW4gSW52YWxp
ZFN0YXRlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQgPT4geworICAg
IGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZhbGlkTWV0aG9k
cywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2
YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnZhbGlk
YXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50LmNvbXBsZXRl
KG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJlamVjdCgpKSk7CisgICAgfTsKKyAg
ICBhd2FpdCBwcm9taXNlX3JlamVjdHModCwgIkFib3J0RXJyb3IiLCByZXF1ZXN0LnNob3coKSk7
Cit9LCAiQ2FsbGluZyBjb21wbGV0ZSgpIHdpdGggYSBwcm9taXNlIHRoYXQgaXMgcmVqZWN0ZWQg
YWJvcnRzIHRoZSByZXF1ZXN0LiIpOworCit1c2VyX2FjdGl2YXRpb25fdGVzdChhc3luYyB0ID0+
IHsKKyAgICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KAorICAgICAgICB2YWxp
ZE1ldGhvZHMsCisgICAgICAgIHZhbGlkRGV0YWlscworICAgICk7CisgICAgcmVxdWVzdC5vbm1l
cmNoYW50dmFsaWRhdGlvbiA9IGV2ZW50ID0+IHsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC52YWxpZGF0aW9uVVJMLCAiaHR0cHM6Ly93ZWJraXQub3JnLyIpOworICAgICAgICBldmVudC5j
b21wbGV0ZShuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoNykpKTsKKyAgICB9OworICAg
IGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJlcXVlc3Quc2hvdygp
KTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIG51bWJlciBhYm9ydHMgdGhlIHJlcXVl
c3Qgd2l0aCBhIFR5cGVFcnJvci4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rlc3QoYXN5bmMgdCA9
PiB7CisgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgKKyAgICAgICAgdmFs
aWRNZXRob2RzLAorICAgICAgICB2YWxpZERldGFpbHMKKyAgICApOworICAgIHJlcXVlc3Qub25t
ZXJjaGFudHZhbGlkYXRpb24gPSBldmVudCA9PiB7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZXZl
bnQudmFsaWRhdGlvblVSTCwgImh0dHBzOi8vd2Via2l0Lm9yZy8iKTsKKyAgICAgICAgZXZlbnQu
Y29tcGxldGUobmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKHVuZGVmaW5lZCkpKTsKKyAg
ICB9OworICAgIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJlcXVl
c3Quc2hvdygpKTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCB1bmRlZmluZWQgYWJvcnRz
IHRoZSByZXF1ZXN0IHdpdGggYSBUeXBlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0
KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisg
ICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICBy
ZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAg
ICAgIGV2ZW50LmNvbXBsZXRlKG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZShudWxsKSkp
OworICAgIH07CisgICAgYXdhaXQgcHJvbWlzZV9yZWplY3RzKHQsIG5ldyBUeXBlRXJyb3IoKSwg
cmVxdWVzdC5zaG93KCkpOworfSwgIkNhbGxpbmcgY29tcGxldGUoKSB3aXRoIG51bGwgYWJvcnRz
IHRoZSByZXF1ZXN0IHdpdGggYSBUeXBlRXJyb3IuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0
KGFzeW5jIHQgPT4geworICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisg
ICAgICAgIHZhbGlkTWV0aG9kcywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICBy
ZXF1ZXN0Lm9ubWVyY2hhbnR2YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2ZW50LnZhbGlkYXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAg
ICAgIGV2ZW50LmNvbXBsZXRlKG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZSgiIikpKTsK
KyAgICB9OworICAgIGF3YWl0IHByb21pc2VfcmVqZWN0cyh0LCBuZXcgVHlwZUVycm9yKCksIHJl
cXVlc3Quc2hvdygpKTsKK30sICJDYWxsaW5nIGNvbXBsZXRlKCkgd2l0aCBhIHN0cmluZyBhYm9y
dHMgdGhlIHJlcXVlc3Qgd2l0aCBhIFR5cGVFcnJvci4iKTsKKwordXNlcl9hY3RpdmF0aW9uX3Rl
c3QoYXN5bmMgdCA9PiB7CisgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBQYXltZW50UmVxdWVzdCgK
KyAgICAgICAgdmFsaWRNZXRob2RzLAorICAgICAgICB2YWxpZERldGFpbHMKKyAgICApOworICAg
IHJlcXVlc3Qub25tZXJjaGFudHZhbGlkYXRpb24gPSBldmVudCA9PiB7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZXZlbnQudmFsaWRhdGlvblVSTCwgImh0dHBzOi8vd2Via2l0Lm9yZy8iKTsKKyAg
ICAgICAgZXZlbnQuY29tcGxldGUobmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKHsgfSkp
KTsKKyAgICB9OworICAgIHJlcXVlc3Qub25zaGlwcGluZ2FkZHJlc3NjaGFuZ2UgPSBldmVudCA9
PiB7CisgICAgICAgIGV2ZW50LnVwZGF0ZVdpdGgodmFsaWREZXRhaWxzKTsKKyAgICAgICAgaW50
ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3IuYWNjZXB0UGF5bWVudCgpOworICAgIH07CisK
KyAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3Quc2hvdygpOworICAgIHJlc3BvbnNl
LmNvbXBsZXRlKCJzdWNjZXNzIik7Cit9LCAiQ2FsbGluZyBjb21wbGV0ZSgpIHdpdGggYSBwcm9t
aXNlIHJlc29sdmluZyB0byBhIHZhbGlkIG1lcmNoYW50IHNlc3Npb24gZG9lcyBub3QgYWJvcnQg
dGhlIHJlcXVlc3QuIik7CisKK3VzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jIHQgPT4geworICAg
IGNvbnN0IHJlcXVlc3QgPSBuZXcgUGF5bWVudFJlcXVlc3QoCisgICAgICAgIHZhbGlkTWV0aG9k
cywKKyAgICAgICAgdmFsaWREZXRhaWxzCisgICAgKTsKKyAgICByZXF1ZXN0Lm9ubWVyY2hhbnR2
YWxpZGF0aW9uID0gZXZlbnQgPT4geworICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LnZhbGlk
YXRpb25VUkwsICJodHRwczovL3dlYmtpdC5vcmcvIik7CisgICAgICAgIGV2ZW50LmNvbXBsZXRl
KHsgfSk7CisgICAgfTsKKyAgICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdlID0gZXZl
bnQgPT4geworICAgICAgICBldmVudC51cGRhdGVXaXRoKHZhbGlkRGV0YWlscyk7CisgICAgICAg
IGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLmFjY2VwdFBheW1lbnQoKTsKKyAgICB9
OworCisgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0LnNob3coKTsKKyAgICByZXNw
b25zZS5jb21wbGV0ZSgic3VjY2VzcyIpOworfSwgIkNhbGxpbmcgY29tcGxldGUoKSB3aXRoIGEg
dmFsaWQgbWVyY2hhbnQgc2Vzc2lvbiBkb2VzIG5vdCBhYm9ydCB0aGUgcmVxdWVzdC4iKTsKKwor
ZG9uZSgpOworPC9zY3JpcHQ+CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
cGF5bWVudHJlcXVlc3QvcmVzb3VyY2VzL2hlbHBlcnMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3Jlc291cmNlcy9oZWxwZXJzLmpzCmluZGV4IDU3MWE3N2YyMzMw
NWQxMTA2ODlmOGVhYzFjZGFkY2Q3ZjM1NzE4ZDUuLjNmNzFiMDI2Yzg1MTlmNTk5ZGVhNWRiNTkz
YTY3OWMxODk0OGZjZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVu
dHJlcXVlc3QvcmVzb3VyY2VzL2hlbHBlcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9yZXNvdXJjZXMvaGVscGVycy5qcwpAQCAtOTIsMTIgKzkyLDEyIEBA
IGFzeW5jIGZ1bmN0aW9uIGdldFBheW1lbnRSZXF1ZXN0UmVzcG9uc2Uob3B0aW9ucywgaWQpIHsK
ICAgICBdLAogICB9OwogICBjb25zdCByZXF1ZXN0ID0gbmV3IFBheW1lbnRSZXF1ZXN0KG1ldGhv
ZHMsIGRldGFpbHMsIG9wdGlvbnMpOwotICByZXF1ZXN0Lm9uc2hpcHBpbmdhZGRyZXNzY2hhbmdl
ID0gZXYgPT4gZXYudXBkYXRlV2l0aChkZXRhaWxzKTsKLSAgcmVxdWVzdC5vbnNoaXBwaW5nb3B0
aW9uY2hhbmdlID0gZXYgPT4gZXYudXBkYXRlV2l0aChkZXRhaWxzKTsKLSAgcmVxdWVzdC5vbmFw
cGxlcGF5dmFsaWRhdGVtZXJjaGFudCA9IGV2ID0+IHsKLSAgICAgIGV2LmNvbXBsZXRlKHt9KTsK
KyAgcmVxdWVzdC5vbnNoaXBwaW5nYWRkcmVzc2NoYW5nZSA9IGV2ID0+IHsKKyAgICAgIGV2LnVw
ZGF0ZVdpdGgoZGV0YWlscyk7CiAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRv
ci5hY2NlcHRQYXltZW50KCk7CiAgIH07CisgIHJlcXVlc3Qub25zaGlwcGluZ29wdGlvbmNoYW5n
ZSA9IGV2ID0+IGV2LnVwZGF0ZVdpdGgoZGV0YWlscyk7CisgIHJlcXVlc3Qub25tZXJjaGFudHZh
bGlkYXRpb24gPSBldiA9PiBldi5jb21wbGV0ZSh7fSk7CiAgIGNvbnN0IHJlc3BvbnNlID0gYXdh
aXQgYWN0aXZhdGVUaGVuKCgpID0+IHJlcXVlc3Quc2hvdygpKTsKICAgcmV0dXJuIHsgcmVxdWVz
dCwgcmVzcG9uc2UgfTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1tZXRob2QtcG1pLWhhbmRsaW5nLmh0dHBzLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtbWV0aG9kLXBt
aS1oYW5kbGluZy5odHRwcy5odG1sCmluZGV4IDIzZjNmNDlhNjZhZjQxNGUzMDYxMDEwZDBkNGQ0
ZTgzMzNiYThmYzcuLjEyYzYwOTY4YWI1OTdmNWM5MTBmODA3ZjEyOTIyYzk0YzUxODQ2NzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0
aC1tZXRob2QtcG1pLWhhbmRsaW5nLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLW1ldGhvZC1wbWktaGFuZGxpbmcuaHR0cHMu
aHRtbApAQCAtNzAsNyArNzAsNyBAQCBmdW5jdGlvbiBydW5UZXN0KGJ1dHRvbiwgeyBpbnZhbGlk
TWV0aG9kIH0pIHsKICAgICAgIHZhbGlkRGV0YWlscywKICAgICAgIHsgcmVxdWVzdFNoaXBwaW5n
OiB0cnVlIH0KICAgICApOwotICAgIHJlcXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQg
PSBldmVudCA9PiB7CisgICAgcmVxdWVzdC5vbm1lcmNoYW50dmFsaWRhdGlvbiA9IGV2ZW50ID0+
IHsKICAgICAgICAgZXZlbnQuY29tcGxldGUoeyB9KTsKICAgICB9OwogICAgIGNvbnN0IGxpc3Rl
bmVyID0gZXYgPT4gewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBw
bGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFs
aWRhdGlvbkV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMzY2NWRkMWMxNmU3ZTZmNTBlMDQ5YTM5OTE0OTBlNjZmNjk0MmFhMS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3NzbC9hcHBsZXBheS9BcHBsZVBheU1lcmNoYW50VmFsaWRhdGlvbkV2ZW50Lmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIwICswLDAgQEAKLVRlc3QgdGhlIGFwcGxl
cGF5dmFsaWRhdGVtZXJjaGFudCBldmVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgot
Ci0KLVRlc3RpbmcgQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudAotCi1QQVNTICgpID0+
IGV2ZW50LmNvbXBsZXRlKHVuZGVmaW5lZCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlw
ZSBlcnJvci4KLVBBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUobnVsbCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogVHlwZSBlcnJvci4KLVBBU1MgKCkgPT4gZXZlbnQuY29tcGxldGUoW10pIHRo
cmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCi1QQVNTICgpID0+IGV2ZW50LmNv
bXBsZXRlKCcnKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVycm9yLgotUEFTUyAo
KSA9PiBldmVudC5jb21wbGV0ZSg3KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBUeXBlIGVy
cm9yLgotUEFTUyAoKSA9PiB7IGV2ZW50LmNvbXBsZXRlKHt9KTsgZXZlbnQuY29tcGxldGUoe30p
OyB9IHRocmV3IGV4Y2VwdGlvbiBJbnZhbGlkU3RhdGVFcnJvcjogVGhlIG9iamVjdCBpcyBpbiBh
biBpbnZhbGlkIHN0YXRlLi4KLVBBU1MgKCkgPT4geyBwYXltZW50UmVxdWVzdC5hYm9ydCgpOyBl
dmVudC5jb21wbGV0ZSh7fSk7IH0gdGhyZXcgZXhjZXB0aW9uIEludmFsaWRTdGF0ZUVycm9yOiBU
aGUgb2JqZWN0IGlzIGluIGFuIGludmFsaWQgc3RhdGUuLgotUEFTUyAoKSA9PiBldmVudC5jb21w
bGV0ZSh7fSkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCi1QQVNTIGV2ZW50LnZhbGlkYXRpb25V
UkwgaXMgJ2h0dHBzOi8vd2Via2l0Lm9yZy8nCi1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCi0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZhbGlkYXRpb25FdmVudC5odHRwcy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkvQXBwbGVQYXlNZXJjaGFudFZh
bGlkYXRpb25FdmVudC5odHRwcy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4
ODczMDQxMzU0YmY2ZjhmYjMyMGZmYjllMTJhYTNmMTQ5MmUxM2NjLi4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc3Ns
L2FwcGxlcGF5L0FwcGxlUGF5TWVyY2hhbnRWYWxpZGF0aW9uRXZlbnQuaHR0cHMuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDc2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLTxtZXRhIGNoYXJzZXQ9InV0Zi04Ij4KLTxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3BheW1lbnQtcmVx
dWVzdC5qcyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxzY3JpcHQ+Ci0KLWRlc2NyaXB0
aW9uKCJUZXN0IHRoZSBhcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQgZXZlbnQuIik7Ci0KLXdpbmRv
dy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKLQotZnVuY3Rpb24gdmFsaWRQYXltZW50TWV0aG9kKCkg
ewotICAgIHJldHVybiB7Ci0gICAgICAgIHN1cHBvcnRlZE1ldGhvZHM6ICdodHRwczovL2FwcGxl
LmNvbS9hcHBsZS1wYXknLAotICAgICAgICBkYXRhOiB7Ci0gICAgICAgICAgICB2ZXJzaW9uOiAy
LAotICAgICAgICAgICAgbWVyY2hhbnRJZGVudGlmaWVyOiAnJywKLSAgICAgICAgICAgIGNvdW50
cnlDb2RlOiAnVVMnLAotICAgICAgICAgICAgc3VwcG9ydGVkTmV0d29ya3M6IFsndmlzYScsICdt
YXN0ZXJDYXJkJ10sCi0gICAgICAgICAgICBtZXJjaGFudENhcGFiaWxpdGllczogWydzdXBwb3J0
czNEUyddLAotICAgICAgICB9LAotICAgIH0KLX0KLQotZnVuY3Rpb24gdmFsaWRQYXltZW50RGV0
YWlscygpIHsKLSAgICByZXR1cm4gewotICAgICAgICB0b3RhbDogeyBsYWJlbDogJ1lvdXIgbGFi
ZWwnLCBhbW91bnQ6IHsgY3VycmVuY3k6ICdVU0QnLCB2YWx1ZTogJzEwLjAwJyB9IH0sCi0gICAg
fQotfQotCi1mdW5jdGlvbiBydW5UZXN0KHRlc3QpIHsKLSAgICByZXR1cm4gbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4gewotICAgICAgICB2YXIgcGF5bWVudFJlcXVlc3QgPSBuZXcg
UGF5bWVudFJlcXVlc3QoW3ZhbGlkUGF5bWVudE1ldGhvZCgpXSwgdmFsaWRQYXltZW50RGV0YWls
cygpKTsKLSAgICAgICAgcGF5bWVudFJlcXVlc3Qub25hcHBsZXBheXZhbGlkYXRlbWVyY2hhbnQg
PSAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgIHRlc3QoZXZlbnQsIHBheW1lbnRSZXF1ZXN0KTsK
LSAgICAgICAgICAgIHBheW1lbnRSZXF1ZXN0LmFib3J0KCkuY2F0Y2goKCkgPT4ge30pOwotICAg
ICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICB9OwotICAgICAgICBhY3RpdmF0ZVRoZW4oKCkg
PT4gcGF5bWVudFJlcXVlc3Quc2hvdygpLmNhdGNoKCgpID0+IHt9KSk7Ci0gICAgfSk7Ci19Ci0K
LWFzeW5jIGZ1bmN0aW9uIGdvKCkgewotICAgIGRlYnVnKCJUZXN0aW5nIEFwcGxlUGF5TWVyY2hh
bnRWYWxpZGF0aW9uRXZlbnQiKQotICAgIGRlYnVnKCIiKQotCi0gICAgYXdhaXQgcnVuVGVzdChl
dmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSh1bmRlZmluZWQpKSk7Ci0g
ICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiBldmVudC5jb21wbGV0
ZShudWxsKSkpOwotICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxkVGhyb3coKCkgPT4g
ZXZlbnQuY29tcGxldGUoW10pKSk7Ci0gICAgYXdhaXQgcnVuVGVzdChldmVudCA9PiBzaG91bGRU
aHJvdygoKSA9PiBldmVudC5jb21wbGV0ZSgnJykpKTsKLSAgICBhd2FpdCBydW5UZXN0KGV2ZW50
ID0+IHNob3VsZFRocm93KCgpID0+IGV2ZW50LmNvbXBsZXRlKDcpKSk7Ci0gICAgYXdhaXQgcnVu
VGVzdChldmVudCA9PiBzaG91bGRUaHJvdygoKSA9PiB7IGV2ZW50LmNvbXBsZXRlKHt9KTsgZXZl
bnQuY29tcGxldGUoe30pOyB9KSk7Ci0gICAgYXdhaXQgcnVuVGVzdCgoZXZlbnQsIHBheW1lbnRS
ZXF1ZXN0KSA9PiBzaG91bGRUaHJvdygoKSA9PiB7IHBheW1lbnRSZXF1ZXN0LmFib3J0KCk7IGV2
ZW50LmNvbXBsZXRlKHt9KTsgfSkpOwotICAgIGF3YWl0IHJ1blRlc3QoZXZlbnQgPT4gc2hvdWxk
Tm90VGhyb3coKCkgPT4gZXZlbnQuY29tcGxldGUoe30pKSk7Ci0gICAgYXdhaXQgcnVuVGVzdChl
dmVudCA9PiBzaG91bGRCZSgiZXZlbnQudmFsaWRhdGlvblVSTCIsICInaHR0cHM6Ly93ZWJraXQu
b3JnLyciKSk7Ci0KLSAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKS5yZW1vdmUo
KTsKLSAgICBmaW5pc2hKU1Rlc3QoKTsKLX0KLQotd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkg
ewotICAgIHZhciBidXR0b24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJidXR0b24iKTsKLSAg
ICBsZXQgeCA9IGJ1dHRvbi5vZmZzZXRMZWZ0ICsgMjsKLSAgICBsZXQgeSA9IGJ1dHRvbi5vZmZz
ZXRUb3AgKyAyOwotICAgIFVJSGVscGVyLmFjdGl2YXRlQXQoeCwgeSk7Ci19Ci0KLTwvc2NyaXB0
PgotPGJ1dHRvbiBvbmNsaWNrPSdnbygpJz5HbzwvYnV0dG9uPgotPHNjcmlwdCBzcmM9Ii9yZXNv
dXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>