<?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>32803</bug_id>
          
          <creation_ts>2009-12-20 13:48:04 -0800</creation_ts>
          <short_desc>Web Inspector: extract syntax highlighters into separate files.</short_desc>
          <delta_ts>2009-12-21 03:00:47 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>173815</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-20 13:48:04 -0800</bug_when>
    <thetext>Otherwise SourceFrame is too big.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173817</commentid>
    <comment_count>1</comment_count>
      <attachid>45295</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-20 13:52:33 -0800</bug_when>
    <thetext>Created attachment 45295
[PATCH] Pure split, no other changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173818</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2009-12-20 13:53:46 -0800</bug_when>
    <thetext>style-queue ran check-webkit-style on attachment 45295 without any errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173824</commentid>
    <comment_count>3</comment_count>
      <attachid>45295</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-12-20 15:07:35 -0800</bug_when>
    <thetext>Comment on attachment 45295
[PATCH] Pure split, no other changes.

The big dictionaries all returnign &quot;true&quot; seem silly.  They shoudl just be written as arrays but converted to dictionaries at runtime.

If this is just moving code than rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>173932</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-12-21 03:00:47 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/WebCore.gypi
	M	WebCore/WebCore.vcproj/WebCore.vcproj
	A	WebCore/inspector/front-end/CSSSourceSyntaxHighlighter.js
	A	WebCore/inspector/front-end/JavaScriptSourceSyntaxHighlighter.js
	M	WebCore/inspector/front-end/SourceFrame.js
	A	WebCore/inspector/front-end/SourceSyntaxHighlighter.js
	M	WebCore/inspector/front-end/WebKit.qrc
	M	WebCore/inspector/front-end/inspector.html
Committed r52439</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45295</attachid>
            <date>2009-12-20 13:52:33 -0800</date>
            <delta_ts>2009-12-20 15:07:34 -0800</delta_ts>
            <desc>[PATCH] Pure split, no other changes.</desc>
            <filename>highlighters</filename>
            <type>text/plain</type>
            <size>109676</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGQ3MWZhZi4uMjhhYzYxMyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMyBAQAogMjAwOS0xMi0yMCAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHRyYWN0IHN5bnRheCBoaWdobGln
aHRlcnMgaW50byBzZXBhcmF0ZSBmaWxlcy4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzI4MDMKKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0NTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLmpzOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5DU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlcik6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanM6
IEFkZGVkLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRTb3VyY2VTeW50YXhIaWdo
bGlnaHRlcik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhp
Z2hsaWdodGVyLik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5q
czoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRheEhpZ2hsaWdodGVy
LmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VTeW50YXhIaWdobGlnaHRl
cik6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90
eXBlLmNyZWF0ZVNwYW4pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVN5bnRheEhpZ2hs
aWdodGVyLnByb3RvdHlwZS5wcm9jZXNzLnByb2Nlc3NDaHVuayk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90eXBlLnByb2Nlc3MubW92ZVRvTmV4
dExpbmUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnBy
b3RvdHlwZS5wcm9jZXNzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VTeW50YXhIaWdo
bGlnaHRlci5wcm90b3R5cGUubGV4KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VTeW50
YXhIaWdobGlnaHRlci5wcm90b3R5cGUuYXBwZW5kTm9uVG9rZW4pOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZS5zeW50YXhIaWdobGlnaHRO
b2RlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAg
ICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKworMjAwOS0xMi0yMCAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KKwogICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBDb25zdHJhaW4gdGhlIG51
bWJlciBvZiBtZXNzYWdlcyB0aGUgaW5zcGVjdG9yIHNob3dzLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkgYi9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBmOGU2ODIzLi44MzZl
MzNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQpAQCAtMzY1Nyw2ICszNjU3LDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0NvbnNvbGVWaWV3LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5k
L0NvbnRleHRNZW51LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL0Nvb2tp
ZUl0ZW1zVmlldy5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTb3Vy
Y2VTeW50YXhIaWdobGlnaHRlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9EYXRhYmFzZS5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFz
ZVF1ZXJ5Vmlldy5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFz
ZVRhYmxlVmlldy5qcycsCkBAIC0zNjc1LDYgKzM2NzYsNyBAQAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHQuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5qZWN0ZWRTY3JpcHRBY2Nlc3MuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzJywKKyAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL0phdmFTY3JpcHRTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9LZXlib2FyZFNob3J0Y3V0LmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL01ldHJpY3NTaWRlYmFyUGFuZS5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3QuanMnLApAQCAtMzcwMSw2ICszNzAzLDcgQEAK
ICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NpZGViYXJQYW5lLmpzJywKICAgICAg
ICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL1NpZGViYXJUcmVlRWxlbWVudC5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcycsCisgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzJywKICAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL1N0YXR1c0JhckJ1dHRvbi5qcycsCiAgICAgICAgICAgICAn
aW5zcGVjdG9yL2Zyb250LWVuZC9TdG9yYWdlUGFuZWwuanMnLApkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggZjdhM2Q3ZC4uYjYxYjllNyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCkBAIC00MjQ1Niw2ICs0MjQ1NiwxMCBAQAogCQkJCQk+DQogCQkJ
CTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxDU1NTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcyINCisJCQkJCT4NCisJCQkJPC9G
aWxlPg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQt
ZW5kXERhdGFiYXNlLmpzIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpAQCAtNDI1MzYsNiArNDI1
NDAsMTAgQEAKIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2
ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hs
aWdodGVyLmpzIg0KKwkJCQkJPg0KKwkJCQk8L0ZpbGU+DQorCQkJCTxGaWxlDQogCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTWV0cmljc1NpZGViYXJQYW5lLmpzIg0K
IAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpAQCAtNDI2MzYsNiArNDI2NDQsMTAgQEAKIAkJCQkJPg0K
IAkJCQk8L0ZpbGU+DQogCQkJCTxGaWxlDQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rv
clxmcm9udC1lbmRcU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMiDQorCQkJCQk+DQorCQkJCTwv
RmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250
LWVuZFxTb3VyY2VWaWV3LmpzIg0KIAkJCQkJPg0KIAkJCQk8L0ZpbGU+DQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVy
LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwZWE0ZjgKLS0tIC9kZXYv
bnVsbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU291cmNlU3ludGF4SGln
aGxpZ2h0ZXIuanMKQEAgLTAsMCArMSw5NzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
QXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEpv
c2VwaCBQZWNvcmFybworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitXZWJJbnNwZWN0b3IuQ1NTU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIgPSBmdW5jdGlvbih0YWJs
ZSwgc291cmNlRnJhbWUpIHsKKyAgICBXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIuY2FsbCh0aGlzLCB0YWJsZSwgc291cmNlRnJhbWUpOworCisgICAgdGhpcy5MZXhTdGF0ZSA9
IHsKKyAgICAgICAgSW5pdGlhbDogMSwKKyAgICAgICAgRGVjbGFyYXRpb25Qcm9wZXJ0eTogMiwK
KyAgICAgICAgRGVjbGFyYXRpb25WYWx1ZTogMywKKyAgICAgICAgQXRNZWRpYTogNCwKKyAgICAg
ICAgQXRSdWxlOiA1LAorICAgICAgICBBdEtleWZyYW1lczogNgorICAgIH07CisgICAgdGhpcy5D
b250aW51ZVN0YXRlID0geworICAgICAgICBOb25lOiAwLAorICAgICAgICBDb21tZW50OiAxCisg
ICAgfTsKKyAgICAKKyAgICB0aGlzLm5vblRva2VuID0gIiI7CisgICAgdGhpcy5jdXJzb3IgPSAw
OworICAgIHRoaXMubGluZUluZGV4ID0gLTE7CisgICAgdGhpcy5saW5lQ29kZSA9ICIiOworICAg
IHRoaXMubmV3TGluZSA9IG51bGw7CisgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUu
SW5pdGlhbDsKKyAgICB0aGlzLmNvbnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9u
ZTsKKyAgICAKKyAgICBjb25zdCB1cmxQYXR0ZXJuID0gL151cmxcKFxzKig/Oig/OiIoPzpbXlxc
XCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17
MSw2fVxzP3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikp
KilccypcKS9pOworICAgIGNvbnN0IHN0cmluZ1BhdHRlcm4gPSAvXig/OiIoPzpbXlxcXCJdfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKicpL2k7CisgICAgY29uc3QgaWRlbnRQYXR0ZXJuID0gL14tPyg/Olx3fCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKi9pOwor
ICAgIGNvbnN0IHN0YXJ0QmxvY2tQYXR0ZXJuID0gL157L2k7CisgICAgY29uc3QgZW5kQmxvY2tQ
YXR0ZXJuID0gL159L2k7CisgICAgdGhpcy5ydWxlcyA9IFt7CisgICAgICAgIHBhdHRlcm46IC9e
XC9cKlteXCpdKlwqKyhbXlwvKl1bXipdKlwqKykqXC8vaSwKKyAgICAgICAgYWN0aW9uOiBjb21t
ZW50QWN0aW9uCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXCooPzpbXlwqXXxc
KlteXC9dKSopL2ksCisgICAgICAgIGFjdGlvbjogY29tbWVudFN0YXJ0QWN0aW9uCisgICAgfSwg
eworICAgICAgICBwYXR0ZXJuOiAvXig/Oig/OlteXCpdfFwqW15cL10pKlwqK1wvKS9pLAorICAg
ICAgICBhY3Rpb246IGNvbW1lbnRFbmRBY3Rpb24sCisgICAgICAgIGNvbnRpbnVlU3RhdGVDb25k
aXRpb246IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50CisgICAgfSwgeworICAgICAgICBwYXR0
ZXJuOiAvXi4qL2ksCisgICAgICAgIGFjdGlvbjogY29tbWVudE1pZGRsZUFjdGlvbiwKKyAgICAg
ICAgY29udGludWVTdGF0ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQKKyAg
ICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86KD86LT8oPzpcd3woPzpcXFtcZGEtZl17MSw2
fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8XCopKD86Iy0/KD86
XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkqfFwuLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxb
XGRhLWZdezEsNn1ccz98XC4pKSp8XFtccyotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKig/Oig/Oj18fj18XHw9KVxz
Kig/Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1m
XXsxLDZ9XHM/fFwuKSkqfCg/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkq
InwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpKVxzKik/XF18Oig/Oi0/
KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqfC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/Olxc
W1xkYS1mXXsxLDZ9XHM/fFwuKSkqXChccyooPzotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKik/XCkpKSp8KD86Iy0/
KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqfFwuLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86
XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8XFtccyotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKig/Oig/Oj18fj18XHw9
KVxzKig/Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqfCg/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpKVxzKik/XF18Oig/
Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqfC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqXChccyooPzotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKik/XCkpKSspL2ks
CisgICAgICAgIGFjdGlvbjogc2VsZWN0b3JBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0
aW9uOiB0aGlzLkxleFN0YXRlLkluaXRpYWwKKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IHN0
YXJ0QmxvY2tQYXR0ZXJuLAorICAgICAgICBhY3Rpb246IHN0YXJ0UnVsZXNldEJsb2NrQWN0aW9u
LAorICAgICAgICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5Jbml0aWFsLAorICAg
ICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUKKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46
IGlkZW50UGF0dGVybiwKKyAgICAgICAgYWN0aW9uOiBwcm9wZXJ0eUFjdGlvbiwKKyAgICAgICAg
bGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25Qcm9wZXJ0eSwKKyAg
ICAgICAgZG9udEFwcGVuZE5vblRva2VuOiB0cnVlCisgICAgfSwgeworICAgICAgICBwYXR0ZXJu
OiAvXjovaSwKKyAgICAgICAgYWN0aW9uOiBkZWNsYXJhdGlvbkNvbG9uQWN0aW9uLAorICAgICAg
ICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblByb3BlcnR5LAor
ICAgICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUKKyAgICB9LCB7CisgICAgICAgIHBhdHRl
cm46IC9eKD86Iyg/OltcZGEtZl17Nn18W1xkYS1mXXszfSl8cmdiYVwoXHMqKD86XGQrfFxkKlwu
XGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5cZCspJT9c
cyosXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqXCl8aHNsYVwoXHMqKD86XGQrfFxkKlwuXGQrKSU/
XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5cZCspJT9ccyosXHMq
KD86XGQrfFxkKlwuXGQrKSU/XHMqXCl8cmdiXChccyooPzpcZCt8XGQqXC5cZCspJT9ccyosXHMq
KD86XGQrfFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKlwpfGhzbFwoXHMq
KD86XGQrfFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8
XGQqXC5cZCspJT9ccypcKSkvaSwKKyAgICAgICAgYWN0aW9uOiBjb2xvckFjdGlvbiwKKyAgICAg
ICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQorICAg
IH0sIHsKKyAgICAgICAgcGF0dGVybjogL14oPzotPyg/OlxkK3xcZCpcLlxkKykoPzplbXxyZW18
X19xZW18ZXh8cHh8Y218bW18aW58cHR8cGN8ZGVnfHJhZHxncmFkfHR1cm58bXN8c3xIenxrSHp8
JSk/KS9pLAorICAgICAgICBhY3Rpb246IG51bXZhbHVlQWN0aW9uLAorICAgICAgICBsZXhTdGF0
ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblZhbHVlCisgICAgfSwgeworICAg
ICAgICBwYXR0ZXJuOiB1cmxQYXR0ZXJuLAorICAgICAgICBhY3Rpb246IHVybEFjdGlvbiwKKyAg
ICAgICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQor
ICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVybiwKKyAgICAgICAgYWN0aW9u
OiBzdHJpbmdBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRl
LkRlY2xhcmF0aW9uVmFsdWUKKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eIVxzKmltcG9y
dGFudC9pLAorICAgICAgICBhY3Rpb246IGltcG9ydGFudEFjdGlvbiwKKyAgICAgICAgbGV4U3Rh
dGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQorICAgIH0sIHsKKyAg
ICAgICAgcGF0dGVybjogaWRlbnRQYXR0ZXJuLAorICAgICAgICBhY3Rpb246IHZhbHVlSWRlbnRB
Y3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0
aW9uVmFsdWUsCisgICAgICAgIGRvbnRBcHBlbmROb25Ub2tlbjogdHJ1ZQorICAgIH0sIHsKKyAg
ICAgICAgcGF0dGVybjogL147L2ksCisgICAgICAgIGFjdGlvbjogZGVjbGFyYXRpb25TZW1pY29s
b25BY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRlY2xh
cmF0aW9uVmFsdWUsCisgICAgICAgIGRvbnRBcHBlbmROb25Ub2tlbjogdHJ1ZQorICAgIH0sIHsK
KyAgICAgICAgcGF0dGVybjogZW5kQmxvY2tQYXR0ZXJuLAorICAgICAgICBhY3Rpb246IGVuZFJ1
bGVzZXRCbG9ja0FjdGlvbiwKKyAgICAgICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3Rh
dGUuRGVjbGFyYXRpb25Qcm9wZXJ0eSwKKyAgICAgICAgZG9udEFwcGVuZE5vblRva2VuOiB0cnVl
CisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiBlbmRCbG9ja1BhdHRlcm4sCisgICAgICAgIGFj
dGlvbjogZW5kUnVsZXNldEJsb2NrQWN0aW9uLAorICAgICAgICBsZXhTdGF0ZUNvbmRpdGlvbjog
dGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblZhbHVlLAorICAgICAgICBkb250QXBwZW5kTm9uVG9r
ZW46IHRydWUKKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eQG1lZGlhL2ksCisgICAgICAg
IGFjdGlvbjogYXRNZWRpYUFjdGlvbiwKKyAgICAgICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMu
TGV4U3RhdGUuSW5pdGlhbAorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogc3RhcnRCbG9ja1Bh
dHRlcm4sCisgICAgICAgIGFjdGlvbjogc3RhcnRBdE1lZGlhQmxvY2tBY3Rpb24sCisgICAgICAg
IGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0TWVkaWEsCisgICAgICAgIGRvbnRB
cHBlbmROb25Ub2tlbjogdHJ1ZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogL15ALXdlYmtp
dC1rZXlmcmFtZXMvaSwKKyAgICAgICAgYWN0aW9uOiBhdEtleWZyYW1lc0FjdGlvbiwKKyAgICAg
ICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuSW5pdGlhbAorICAgIH0sIHsKKyAg
ICAgICAgcGF0dGVybjogc3RhcnRCbG9ja1BhdHRlcm4sCisgICAgICAgIGFjdGlvbjogc3RhcnRB
dE1lZGlhQmxvY2tBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0
YXRlLkF0S2V5ZnJhbWVzLAorICAgICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUKKyAgICB9
LCB7CisgICAgICAgIHBhdHRlcm46IC9eQC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4p
KSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqL2ksCisgICAgICAgIGFjdGlvbjog
YXRSdWxlQWN0aW9uLAorICAgICAgICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5J
bml0aWFsCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAvXjsvaSwKKyAgICAgICAgYWN0aW9u
OiBlbmRBdFJ1bGVBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0
YXRlLkF0UnVsZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogdXJsUGF0dGVybiwKKyAgICAg
ICAgYWN0aW9uOiB1cmxBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxl
eFN0YXRlLkF0UnVsZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVybiwK
KyAgICAgICAgYWN0aW9uOiBzdHJpbmdBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9u
OiB0aGlzLkxleFN0YXRlLkF0UnVsZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogc3RyaW5n
UGF0dGVybiwKKyAgICAgICAgYWN0aW9uOiBzdHJpbmdBY3Rpb24sCisgICAgICAgIGxleFN0YXRl
Q29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0S2V5ZnJhbWVzCisgICAgfSwgeworICAgICAgICBw
YXR0ZXJuOiBpZGVudFBhdHRlcm4sCisgICAgICAgIGFjdGlvbjogYXRSdWxlSWRlbnRBY3Rpb24s
CisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0UnVsZSwKKyAgICAg
ICAgZG9udEFwcGVuZE5vblRva2VuOiB0cnVlCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiBp
ZGVudFBhdHRlcm4sCisgICAgICAgIGFjdGlvbjogYXRSdWxlSWRlbnRBY3Rpb24sCisgICAgICAg
IGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0TWVkaWEsCisgICAgICAgIGRvbnRB
cHBlbmROb25Ub2tlbjogdHJ1ZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogc3RhcnRCbG9j
a1BhdHRlcm4sCisgICAgICAgIGFjdGlvbjogc3RhcnRBdFJ1bGVCbG9ja0FjdGlvbiwKKyAgICAg
ICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuQXRSdWxlLAorICAgICAgICBkb250
QXBwZW5kTm9uVG9rZW46IHRydWUKKyAgICB9XTsKKyAgICAKKyAgICBmdW5jdGlvbiBjb21tZW50
QWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3Ro
OworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2Vu
LCAid2Via2l0LWNzcy1jb21tZW50IikpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBjb21t
ZW50U3RhcnRBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tl
bi5sZW5ndGg7CisgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNw
YW4odG9rZW4sICJ3ZWJraXQtY3NzLWNvbW1lbnQiKSk7CisgICAgICAgIHRoaXMuY29udGludWVT
dGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50OworICAgIH0KKyAgICAKKyAgICBmdW5j
dGlvbiBjb21tZW50RW5kQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3Ig
Kz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5j
cmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNzcy1jb21tZW50IikpOworICAgICAgICB0aGlzLmNv
bnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZTsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiBjb21tZW50TWlkZGxlQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJz
b3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhp
cy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNzcy1jb21tZW50IikpOworICAgIH0KKyAgICAK
KyAgICBmdW5jdGlvbiBzZWxlY3RvckFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMu
Y3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxk
KHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mtc2VsZWN0b3IiKSk7CisgICAgfQor
ICAgIAorICAgIGZ1bmN0aW9uIHN0YXJ0UnVsZXNldEJsb2NrQWN0aW9uKHRva2VuKQorICAgIHsK
KyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5vblRv
a2VuICs9IHRva2VuOworICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EZWNs
YXJhdGlvblByb3BlcnR5OworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBlbmRSdWxlc2V0Qmxv
Y2tBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7CisgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47CisgICAgICAgIHRoaXMubGV4U3Rh
dGUgPSB0aGlzLkxleFN0YXRlLkluaXRpYWw7CisgICAgfQorICAgIAorICAgIGNvbnN0IHByb3Bl
cnR5S2V5d29yZHMgPSB7CisgICAgICAgICJiYWNrZ3JvdW5kIjogdHJ1ZSwKKyAgICAgICAgImJh
Y2tncm91bmQtYXR0YWNobWVudCI6IHRydWUsCisgICAgICAgICJiYWNrZ3JvdW5kLWNsaXAiOiB0
cnVlLAorICAgICAgICAiYmFja2dyb3VuZC1jb2xvciI6IHRydWUsCisgICAgICAgICJiYWNrZ3Jv
dW5kLWltYWdlIjogdHJ1ZSwKKyAgICAgICAgImJhY2tncm91bmQtb3JpZ2luIjogdHJ1ZSwKKyAg
ICAgICAgImJhY2tncm91bmQtcG9zaXRpb24iOiB0cnVlLAorICAgICAgICAiYmFja2dyb3VuZC1w
b3NpdGlvbi14IjogdHJ1ZSwKKyAgICAgICAgImJhY2tncm91bmQtcG9zaXRpb24teSI6IHRydWUs
CisgICAgICAgICJiYWNrZ3JvdW5kLXJlcGVhdCI6IHRydWUsCisgICAgICAgICJiYWNrZ3JvdW5k
LXJlcGVhdC14IjogdHJ1ZSwKKyAgICAgICAgImJhY2tncm91bmQtcmVwZWF0LXkiOiB0cnVlLAor
ICAgICAgICAiYmFja2dyb3VuZC1zaXplIjogdHJ1ZSwKKyAgICAgICAgImJvcmRlciI6IHRydWUs
CisgICAgICAgICJib3JkZXItYm90dG9tIjogdHJ1ZSwKKyAgICAgICAgImJvcmRlci1ib3R0b20t
Y29sb3IiOiB0cnVlLAorICAgICAgICAiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyI6IHRydWUs
CisgICAgICAgICJib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyI6IHRydWUsCisgICAgICAgICJi
b3JkZXItYm90dG9tLXN0eWxlIjogdHJ1ZSwKKyAgICAgICAgImJvcmRlci1ib3R0b20td2lkdGgi
OiB0cnVlLAorICAgICAgICAiYm9yZGVyLWNvbGxhcHNlIjogdHJ1ZSwKKyAgICAgICAgImJvcmRl
ci1jb2xvciI6IHRydWUsCisgICAgICAgICJib3JkZXItbGVmdCI6IHRydWUsCisgICAgICAgICJi
b3JkZXItbGVmdC1jb2xvciI6IHRydWUsCisgICAgICAgICJib3JkZXItbGVmdC1zdHlsZSI6IHRy
dWUsCisgICAgICAgICJib3JkZXItbGVmdC13aWR0aCI6IHRydWUsCisgICAgICAgICJib3JkZXIt
cmFkaXVzIjogdHJ1ZSwKKyAgICAgICAgImJvcmRlci1yaWdodCI6IHRydWUsCisgICAgICAgICJi
b3JkZXItcmlnaHQtY29sb3IiOiB0cnVlLAorICAgICAgICAiYm9yZGVyLXJpZ2h0LXN0eWxlIjog
dHJ1ZSwKKyAgICAgICAgImJvcmRlci1yaWdodC13aWR0aCI6IHRydWUsCisgICAgICAgICJib3Jk
ZXItc3BhY2luZyI6IHRydWUsCisgICAgICAgICJib3JkZXItc3R5bGUiOiB0cnVlLAorICAgICAg
ICAiYm9yZGVyLXRvcCI6IHRydWUsCisgICAgICAgICJib3JkZXItdG9wLWNvbG9yIjogdHJ1ZSwK
KyAgICAgICAgImJvcmRlci10b3AtbGVmdC1yYWRpdXMiOiB0cnVlLAorICAgICAgICAiYm9yZGVy
LXRvcC1yaWdodC1yYWRpdXMiOiB0cnVlLAorICAgICAgICAiYm9yZGVyLXRvcC1zdHlsZSI6IHRy
dWUsCisgICAgICAgICJib3JkZXItdG9wLXdpZHRoIjogdHJ1ZSwKKyAgICAgICAgImJvcmRlci13
aWR0aCI6IHRydWUsCisgICAgICAgICJib3R0b20iOiB0cnVlLAorICAgICAgICAiY2FwdGlvbi1z
aWRlIjogdHJ1ZSwKKyAgICAgICAgImNsZWFyIjogdHJ1ZSwKKyAgICAgICAgImNsaXAiOiB0cnVl
LAorICAgICAgICAiY29sb3IiOiB0cnVlLAorICAgICAgICAiY29udGVudCI6IHRydWUsCisgICAg
ICAgICJjb3VudGVyLWluY3JlbWVudCI6IHRydWUsCisgICAgICAgICJjb3VudGVyLXJlc2V0Ijog
dHJ1ZSwKKyAgICAgICAgImN1cnNvciI6IHRydWUsCisgICAgICAgICJkaXJlY3Rpb24iOiB0cnVl
LAorICAgICAgICAiZGlzcGxheSI6IHRydWUsCisgICAgICAgICJlbXB0eS1jZWxscyI6IHRydWUs
CisgICAgICAgICJmbG9hdCI6IHRydWUsCisgICAgICAgICJmb250IjogdHJ1ZSwKKyAgICAgICAg
ImZvbnQtZmFtaWx5IjogdHJ1ZSwKKyAgICAgICAgImZvbnQtc2l6ZSI6IHRydWUsCisgICAgICAg
ICJmb250LXN0cmV0Y2giOiB0cnVlLAorICAgICAgICAiZm9udC1zdHlsZSI6IHRydWUsCisgICAg
ICAgICJmb250LXZhcmlhbnQiOiB0cnVlLAorICAgICAgICAiZm9udC13ZWlnaHQiOiB0cnVlLAor
ICAgICAgICAiaGVpZ2h0IjogdHJ1ZSwKKyAgICAgICAgImxlZnQiOiB0cnVlLAorICAgICAgICAi
bGV0dGVyLXNwYWNpbmciOiB0cnVlLAorICAgICAgICAibGluZS1oZWlnaHQiOiB0cnVlLAorICAg
ICAgICAibGlzdC1zdHlsZSI6IHRydWUsCisgICAgICAgICJsaXN0LXN0eWxlLWltYWdlIjogdHJ1
ZSwKKyAgICAgICAgImxpc3Qtc3R5bGUtcG9zaXRpb24iOiB0cnVlLAorICAgICAgICAibGlzdC1z
dHlsZS10eXBlIjogdHJ1ZSwKKyAgICAgICAgIm1hcmdpbiI6IHRydWUsCisgICAgICAgICJtYXJn
aW4tYm90dG9tIjogdHJ1ZSwKKyAgICAgICAgIm1hcmdpbi1sZWZ0IjogdHJ1ZSwKKyAgICAgICAg
Im1hcmdpbi1yaWdodCI6IHRydWUsCisgICAgICAgICJtYXJnaW4tdG9wIjogdHJ1ZSwKKyAgICAg
ICAgIm1heC1oZWlnaHQiOiB0cnVlLAorICAgICAgICAibWF4LXdpZHRoIjogdHJ1ZSwKKyAgICAg
ICAgIm1pbi1oZWlnaHQiOiB0cnVlLAorICAgICAgICAibWluLXdpZHRoIjogdHJ1ZSwKKyAgICAg
ICAgIm9wYWNpdHkiOiB0cnVlLAorICAgICAgICAib3JwaGFucyI6IHRydWUsCisgICAgICAgICJv
dXRsaW5lIjogdHJ1ZSwKKyAgICAgICAgIm91dGxpbmUtY29sb3IiOiB0cnVlLAorICAgICAgICAi
b3V0bGluZS1vZmZzZXQiOiB0cnVlLAorICAgICAgICAib3V0bGluZS1zdHlsZSI6IHRydWUsCisg
ICAgICAgICJvdXRsaW5lLXdpZHRoIjogdHJ1ZSwKKyAgICAgICAgIm92ZXJmbG93IjogdHJ1ZSwK
KyAgICAgICAgIm92ZXJmbG93LXgiOiB0cnVlLAorICAgICAgICAib3ZlcmZsb3cteSI6IHRydWUs
CisgICAgICAgICJwYWRkaW5nIjogdHJ1ZSwKKyAgICAgICAgInBhZGRpbmctYm90dG9tIjogdHJ1
ZSwKKyAgICAgICAgInBhZGRpbmctbGVmdCI6IHRydWUsCisgICAgICAgICJwYWRkaW5nLXJpZ2h0
IjogdHJ1ZSwKKyAgICAgICAgInBhZGRpbmctdG9wIjogdHJ1ZSwKKyAgICAgICAgInBhZ2UiOiB0
cnVlLAorICAgICAgICAicGFnZS1icmVhay1hZnRlciI6IHRydWUsCisgICAgICAgICJwYWdlLWJy
ZWFrLWJlZm9yZSI6IHRydWUsCisgICAgICAgICJwYWdlLWJyZWFrLWluc2lkZSI6IHRydWUsCisg
ICAgICAgICJwb2ludGVyLWV2ZW50cyI6IHRydWUsCisgICAgICAgICJwb3NpdGlvbiI6IHRydWUs
CisgICAgICAgICJxdW90ZXMiOiB0cnVlLAorICAgICAgICAicmVzaXplIjogdHJ1ZSwKKyAgICAg
ICAgInJpZ2h0IjogdHJ1ZSwKKyAgICAgICAgInNpemUiOiB0cnVlLAorICAgICAgICAic3JjIjog
dHJ1ZSwKKyAgICAgICAgInRhYmxlLWxheW91dCI6IHRydWUsCisgICAgICAgICJ0ZXh0LWFsaWdu
IjogdHJ1ZSwKKyAgICAgICAgInRleHQtZGVjb3JhdGlvbiI6IHRydWUsCisgICAgICAgICJ0ZXh0
LWluZGVudCI6IHRydWUsCisgICAgICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCI6IHRydWUsCisgICAg
ICAgICJ0ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciI6IHRydWUsCisgICAgICAgICJ0ZXh0LWxpbmUt
dGhyb3VnaC1tb2RlIjogdHJ1ZSwKKyAgICAgICAgInRleHQtbGluZS10aHJvdWdoLXN0eWxlIjog
dHJ1ZSwKKyAgICAgICAgInRleHQtbGluZS10aHJvdWdoLXdpZHRoIjogdHJ1ZSwKKyAgICAgICAg
InRleHQtb3ZlcmZsb3ciOiB0cnVlLAorICAgICAgICAidGV4dC1vdmVybGluZSI6IHRydWUsCisg
ICAgICAgICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIjogdHJ1ZSwKKyAgICAgICAgInRleHQtb3Zlcmxp
bmUtbW9kZSI6IHRydWUsCisgICAgICAgICJ0ZXh0LW92ZXJsaW5lLXN0eWxlIjogdHJ1ZSwKKyAg
ICAgICAgInRleHQtb3ZlcmxpbmUtd2lkdGgiOiB0cnVlLAorICAgICAgICAidGV4dC1yZW5kZXJp
bmciOiB0cnVlLAorICAgICAgICAidGV4dC1zaGFkb3ciOiB0cnVlLAorICAgICAgICAidGV4dC10
cmFuc2Zvcm0iOiB0cnVlLAorICAgICAgICAidGV4dC11bmRlcmxpbmUiOiB0cnVlLAorICAgICAg
ICAidGV4dC11bmRlcmxpbmUtY29sb3IiOiB0cnVlLAorICAgICAgICAidGV4dC11bmRlcmxpbmUt
bW9kZSI6IHRydWUsCisgICAgICAgICJ0ZXh0LXVuZGVybGluZS1zdHlsZSI6IHRydWUsCisgICAg
ICAgICJ0ZXh0LXVuZGVybGluZS13aWR0aCI6IHRydWUsCisgICAgICAgICJ0b3AiOiB0cnVlLAor
ICAgICAgICAidW5pY29kZS1iaWRpIjogdHJ1ZSwKKyAgICAgICAgInVuaWNvZGUtcmFuZ2UiOiB0
cnVlLAorICAgICAgICAidmVydGljYWwtYWxpZ24iOiB0cnVlLAorICAgICAgICAidmlzaWJpbGl0
eSI6IHRydWUsCisgICAgICAgICJ3aGl0ZS1zcGFjZSI6IHRydWUsCisgICAgICAgICJ3aWRvd3Mi
OiB0cnVlLAorICAgICAgICAid2lkdGgiOiB0cnVlLAorICAgICAgICAid29yZC1icmVhayI6IHRy
dWUsCisgICAgICAgICJ3b3JkLXNwYWNpbmciOiB0cnVlLAorICAgICAgICAid29yZC13cmFwIjog
dHJ1ZSwKKyAgICAgICAgInotaW5kZXgiOiB0cnVlLAorICAgICAgICAiem9vbSI6IHRydWUsCisg
ICAgICAgICItd2Via2l0LWFuaW1hdGlvbiI6IHRydWUsCisgICAgICAgICItd2Via2l0LWFuaW1h
dGlvbi1kZWxheSI6IHRydWUsCisgICAgICAgICItd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb24i
OiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb24iOiB0cnVlLAorICAg
ICAgICAiLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50IjogdHJ1ZSwKKyAgICAgICAg
Ii13ZWJraXQtYW5pbWF0aW9uLW5hbWUiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1hbmltYXRp
b24tcGxheS1zdGF0ZSI6IHRydWUsCisgICAgICAgICItd2Via2l0LWFuaW1hdGlvbi10aW1pbmct
ZnVuY3Rpb24iOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSI6IHRydWUsCisgICAgICAgICItd2Vi
a2l0LWJhY2tncm91bmQtY2xpcCI6IHRydWUsCisgICAgICAgICItd2Via2l0LWJhY2tncm91bmQt
Y29tcG9zaXRlIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4iOiB0
cnVlLAorICAgICAgICAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiOiB0cnVlLAorICAgICAgICAi
LXdlYmtpdC1iaW5kaW5nIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYm9yZGVyLWZpdCI6IHRy
dWUsCisgICAgICAgICItd2Via2l0LWJvcmRlci1ob3Jpem9udGFsLXNwYWNpbmciOiB0cnVlLAor
ICAgICAgICAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1i
b3JkZXItcmFkaXVzIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYm9yZGVyLXZlcnRpY2FsLXNw
YWNpbmciOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ib3gtYWxpZ24iOiB0cnVlLAorICAgICAg
ICAiLXdlYmtpdC1ib3gtZGlyZWN0aW9uIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYm94LWZs
ZXgiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ib3gtZmxleC1ncm91cCI6IHRydWUsCisgICAg
ICAgICItd2Via2l0LWJveC1saW5lcyI6IHRydWUsCisgICAgICAgICItd2Via2l0LWJveC1vcmRp
bmFsLWdyb3VwIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYm94LW9yaWVudCI6IHRydWUsCisg
ICAgICAgICItd2Via2l0LWJveC1wYWNrIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtYm94LXJl
ZmxlY3QiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ib3gtc2hhZG93IjogdHJ1ZSwKKyAgICAg
ICAgIi13ZWJraXQtYm94LXNpemluZyI6IHRydWUsCisgICAgICAgICItd2Via2l0LWNvbHVtbi1i
cmVhay1hZnRlciI6IHRydWUsCisgICAgICAgICItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmUi
OiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtY29sdW1uLWNvdW50IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtY29s
dW1uLWdhcCI6IHRydWUsCisgICAgICAgICItd2Via2l0LWNvbHVtbi1ydWxlIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3IiOiB0cnVlLAorICAgICAgICAiLXdlYmtp
dC1jb2x1bW4tcnVsZS1zdHlsZSI6IHRydWUsCisgICAgICAgICItd2Via2l0LWNvbHVtbi1ydWxl
LXdpZHRoIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtY29sdW1uLXdpZHRoIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtY29sdW1ucyI6IHRydWUsCisgICAgICAgICItd2Via2l0LWZvbnQtc2l6
ZS1kZWx0YSI6IHRydWUsCisgICAgICAgICItd2Via2l0LWZvbnQtc21vb3RoaW5nIjogdHJ1ZSwK
KyAgICAgICAgIi13ZWJraXQtaGlnaGxpZ2h0IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbGlu
ZS1icmVhayI6IHRydWUsCisgICAgICAgICItd2Via2l0LWxpbmUtY2xhbXAiOiB0cnVlLAorICAg
ICAgICAiLXdlYmtpdC1tYXJnaW4tYm90dG9tLWNvbGxhcHNlIjogdHJ1ZSwKKyAgICAgICAgIi13
ZWJraXQtbWFyZ2luLWNvbGxhcHNlIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbWFyZ2luLXN0
YXJ0IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbWFyZ2luLXRvcC1jb2xsYXBzZSI6IHRydWUs
CisgICAgICAgICItd2Via2l0LW1hcnF1ZWUiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXJx
dWVlLWRpcmVjdGlvbiI6IHRydWUsCisgICAgICAgICItd2Via2l0LW1hcnF1ZWUtaW5jcmVtZW50
IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbWFycXVlZS1yZXBldGl0aW9uIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtbWFycXVlZS1zcGVlZCI6IHRydWUsCisgICAgICAgICItd2Via2l0LW1h
cnF1ZWUtc3R5bGUiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrIjogdHJ1ZSwKKyAgICAg
ICAgIi13ZWJraXQtbWFzay1hdHRhY2htZW50IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbWFz
ay1ib3gtaW1hZ2UiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrLWNsaXAiOiB0cnVlLAor
ICAgICAgICAiLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZSI6IHRydWUsCisgICAgICAgICItd2Via2l0
LW1hc2staW1hZ2UiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrLW9yaWdpbiI6IHRydWUs
CisgICAgICAgICItd2Via2l0LW1hc2stcG9zaXRpb24iOiB0cnVlLAorICAgICAgICAiLXdlYmtp
dC1tYXNrLXBvc2l0aW9uLXgiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrLXBvc2l0aW9u
LXkiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrLXJlcGVhdCI6IHRydWUsCisgICAgICAg
ICItd2Via2l0LW1hc2stcmVwZWF0LXgiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1tYXNrLXJl
cGVhdC15IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtbWFzay1zaXplIjogdHJ1ZSwKKyAgICAg
ICAgIi13ZWJraXQtbWF0Y2gtbmVhcmVzdC1tYWlsLWJsb2NrcXVvdGUtY29sb3IiOiB0cnVlLAor
ICAgICAgICAiLXdlYmtpdC1uYnNwLW1vZGUiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1wYWRk
aW5nLXN0YXJ0IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtcGVyc3BlY3RpdmUiOiB0cnVlLAor
ICAgICAgICAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4iOiB0cnVlLAorICAgICAgICAiLXdl
YmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4teCI6IHRydWUsCisgICAgICAgICItd2Via2l0LXBlcnNw
ZWN0aXZlLW9yaWdpbi15IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIjog
dHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QiOiB0cnVl
LAorICAgICAgICAiLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IiOiB0cnVlLAorICAgICAgICAiLXdl
YmtpdC10ZXh0LXNlY3VyaXR5IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtdGV4dC1zaXplLWFk
anVzdCI6IHRydWUsCisgICAgICAgICItd2Via2l0LXRleHQtc3Ryb2tlIjogdHJ1ZSwKKyAgICAg
ICAgIi13ZWJraXQtdGV4dC1zdHJva2UtY29sb3IiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC10
ZXh0LXN0cm9rZS13aWR0aCI6IHRydWUsCisgICAgICAgICItd2Via2l0LXRyYW5zZm9ybSI6IHRy
dWUsCisgICAgICAgICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iOiB0cnVlLAorICAgICAgICAi
LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXgiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC10cmFu
c2Zvcm0tb3JpZ2luLXkiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2lu
LXoiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGUiOiB0cnVlLAorICAg
ICAgICAiLXdlYmtpdC10cmFuc2l0aW9uIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtdHJhbnNp
dGlvbi1kZWxheSI6IHRydWUsCisgICAgICAgICItd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb24i
OiB0cnVlLAorICAgICAgICAiLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iOiB0cnVlLAorICAgICAg
ICAiLXdlYmtpdC11c2VyLWRyYWciOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC11c2VyLW1vZGlm
eSI6IHRydWUsCisgICAgICAgICItd2Via2l0LXVzZXItc2VsZWN0IjogdHJ1ZSwKKyAgICAgICAg
Ii13ZWJraXQtdmFyaWFibGUtZGVjbGFyYXRpb24tYmxvY2siOiB0cnVlCisgICAgfTsKKyAgICBm
dW5jdGlvbiBwcm9wZXJ0eUFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29y
ICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgaWYgKHRva2VuIGluIHByb3BlcnR5S2V5d29yZHMp
IHsKKyAgICAgICAgICAgIHRoaXMuYXBwZW5kTm9uVG9rZW4uY2FsbCh0aGlzKTsKKyAgICAgICAg
ICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJr
aXQtY3NzLXByb3BlcnR5IikpOworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIHRoaXMubm9u
VG9rZW4gKz0gdG9rZW47CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRlY2xhcmF0aW9uQ29s
b25BY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7CisgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47CisgICAgICAgIHRoaXMubGV4U3Rh
dGUgPSB0aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9uVmFsdWU7CisgICAgfQorCisgICAgY29uc3Qg
dmFsdWVLZXl3b3JkcyA9IHsKKyAgICAgICAgImluaGVyaXQiOiB0cnVlLAorICAgICAgICAiaW5p
dGlhbCI6IHRydWUsCisgICAgICAgICJub25lIjogdHJ1ZSwKKyAgICAgICAgImhpZGRlbiI6IHRy
dWUsCisgICAgICAgICJpbnNldCI6IHRydWUsCisgICAgICAgICJncm9vdmUiOiB0cnVlLAorICAg
ICAgICAicmlkZ2UiOiB0cnVlLAorICAgICAgICAib3V0c2V0IjogdHJ1ZSwKKyAgICAgICAgImRv
dHRlZCI6IHRydWUsCisgICAgICAgICJkYXNoZWQiOiB0cnVlLAorICAgICAgICAic29saWQiOiB0
cnVlLAorICAgICAgICAiZG91YmxlIjogdHJ1ZSwKKyAgICAgICAgImNhcHRpb24iOiB0cnVlLAor
ICAgICAgICAiaWNvbiI6IHRydWUsCisgICAgICAgICJtZW51IjogdHJ1ZSwKKyAgICAgICAgIm1l
c3NhZ2UtYm94IjogdHJ1ZSwKKyAgICAgICAgInNtYWxsLWNhcHRpb24iOiB0cnVlLAorICAgICAg
ICAiLXdlYmtpdC1taW5pLWNvbnRyb2wiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1zbWFsbC1j
b250cm9sIjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtY29udHJvbCI6IHRydWUsCisgICAgICAg
ICJzdGF0dXMtYmFyIjogdHJ1ZSwKKyAgICAgICAgIml0YWxpYyI6IHRydWUsCisgICAgICAgICJv
YmxpcXVlIjogdHJ1ZSwKKyAgICAgICAgImFsbCI6IHRydWUsCisgICAgICAgICJzbWFsbC1jYXBz
IjogdHJ1ZSwKKyAgICAgICAgIm5vcm1hbCI6IHRydWUsCisgICAgICAgICJib2xkIjogdHJ1ZSwK
KyAgICAgICAgImJvbGRlciI6IHRydWUsCisgICAgICAgICJsaWdodGVyIjogdHJ1ZSwKKyAgICAg
ICAgInh4LXNtYWxsIjogdHJ1ZSwKKyAgICAgICAgIngtc21hbGwiOiB0cnVlLAorICAgICAgICAi
c21hbGwiOiB0cnVlLAorICAgICAgICAibWVkaXVtIjogdHJ1ZSwKKyAgICAgICAgImxhcmdlIjog
dHJ1ZSwKKyAgICAgICAgIngtbGFyZ2UiOiB0cnVlLAorICAgICAgICAieHgtbGFyZ2UiOiB0cnVl
LAorICAgICAgICAiLXdlYmtpdC14eHgtbGFyZ2UiOiB0cnVlLAorICAgICAgICAic21hbGxlciI6
IHRydWUsCisgICAgICAgICJsYXJnZXIiOiB0cnVlLAorICAgICAgICAid2lkZXIiOiB0cnVlLAor
ICAgICAgICAibmFycm93ZXIiOiB0cnVlLAorICAgICAgICAidWx0cmEtY29uZGVuc2VkIjogdHJ1
ZSwKKyAgICAgICAgImV4dHJhLWNvbmRlbnNlZCI6IHRydWUsCisgICAgICAgICJjb25kZW5zZWQi
OiB0cnVlLAorICAgICAgICAic2VtaS1jb25kZW5zZWQiOiB0cnVlLAorICAgICAgICAic2VtaS1l
eHBhbmRlZCI6IHRydWUsCisgICAgICAgICJleHBhbmRlZCI6IHRydWUsCisgICAgICAgICJleHRy
YS1leHBhbmRlZCI6IHRydWUsCisgICAgICAgICJ1bHRyYS1leHBhbmRlZCI6IHRydWUsCisgICAg
ICAgICJzZXJpZiI6IHRydWUsCisgICAgICAgICJzYW5zLXNlcmlmIjogdHJ1ZSwKKyAgICAgICAg
ImN1cnNpdmUiOiB0cnVlLAorICAgICAgICAiZmFudGFzeSI6IHRydWUsCisgICAgICAgICJtb25v
c3BhY2UiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ib2R5IjogdHJ1ZSwKKyAgICAgICAgImFx
dWEiOiB0cnVlLAorICAgICAgICAiYmxhY2siOiB0cnVlLAorICAgICAgICAiYmx1ZSI6IHRydWUs
CisgICAgICAgICJmdWNoc2lhIjogdHJ1ZSwKKyAgICAgICAgImdyYXkiOiB0cnVlLAorICAgICAg
ICAiZ3JlZW4iOiB0cnVlLAorICAgICAgICAibGltZSI6IHRydWUsCisgICAgICAgICJtYXJvb24i
OiB0cnVlLAorICAgICAgICAibmF2eSI6IHRydWUsCisgICAgICAgICJvbGl2ZSI6IHRydWUsCisg
ICAgICAgICJvcmFuZ2UiOiB0cnVlLAorICAgICAgICAicHVycGxlIjogdHJ1ZSwKKyAgICAgICAg
InJlZCI6IHRydWUsCisgICAgICAgICJzaWx2ZXIiOiB0cnVlLAorICAgICAgICAidGVhbCI6IHRy
dWUsCisgICAgICAgICJ3aGl0ZSI6IHRydWUsCisgICAgICAgICJ5ZWxsb3ciOiB0cnVlLAorICAg
ICAgICAidHJhbnNwYXJlbnQiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1saW5rIjogdHJ1ZSwK
KyAgICAgICAgIi13ZWJraXQtYWN0aXZlbGluayI6IHRydWUsCisgICAgICAgICJhY3RpdmVib3Jk
ZXIiOiB0cnVlLAorICAgICAgICAiYWN0aXZlY2FwdGlvbiI6IHRydWUsCisgICAgICAgICJhcHB3
b3Jrc3BhY2UiOiB0cnVlLAorICAgICAgICAiYmFja2dyb3VuZCI6IHRydWUsCisgICAgICAgICJi
dXR0b25mYWNlIjogdHJ1ZSwKKyAgICAgICAgImJ1dHRvbmhpZ2hsaWdodCI6IHRydWUsCisgICAg
ICAgICJidXR0b25zaGFkb3ciOiB0cnVlLAorICAgICAgICAiYnV0dG9udGV4dCI6IHRydWUsCisg
ICAgICAgICJjYXB0aW9udGV4dCI6IHRydWUsCisgICAgICAgICJncmF5dGV4dCI6IHRydWUsCisg
ICAgICAgICJoaWdobGlnaHQiOiB0cnVlLAorICAgICAgICAiaGlnaGxpZ2h0dGV4dCI6IHRydWUs
CisgICAgICAgICJpbmFjdGl2ZWJvcmRlciI6IHRydWUsCisgICAgICAgICJpbmFjdGl2ZWNhcHRp
b24iOiB0cnVlLAorICAgICAgICAiaW5hY3RpdmVjYXB0aW9udGV4dCI6IHRydWUsCisgICAgICAg
ICJpbmZvYmFja2dyb3VuZCI6IHRydWUsCisgICAgICAgICJpbmZvdGV4dCI6IHRydWUsCisgICAg
ICAgICJtYXRjaCI6IHRydWUsCisgICAgICAgICJtZW51dGV4dCI6IHRydWUsCisgICAgICAgICJz
Y3JvbGxiYXIiOiB0cnVlLAorICAgICAgICAidGhyZWVkZGFya3NoYWRvdyI6IHRydWUsCisgICAg
ICAgICJ0aHJlZWRmYWNlIjogdHJ1ZSwKKyAgICAgICAgInRocmVlZGhpZ2hsaWdodCI6IHRydWUs
CisgICAgICAgICJ0aHJlZWRsaWdodHNoYWRvdyI6IHRydWUsCisgICAgICAgICJ0aHJlZWRzaGFk
b3ciOiB0cnVlLAorICAgICAgICAid2luZG93IjogdHJ1ZSwKKyAgICAgICAgIndpbmRvd2ZyYW1l
IjogdHJ1ZSwKKyAgICAgICAgIndpbmRvd3RleHQiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1m
b2N1cy1yaW5nLWNvbG9yIjogdHJ1ZSwKKyAgICAgICAgImN1cnJlbnRjb2xvciI6IHRydWUsCisg
ICAgICAgICJncmV5IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtdGV4dCI6IHRydWUsCisgICAg
ICAgICJyZXBlYXQiOiB0cnVlLAorICAgICAgICAicmVwZWF0LXgiOiB0cnVlLAorICAgICAgICAi
cmVwZWF0LXkiOiB0cnVlLAorICAgICAgICAibm8tcmVwZWF0IjogdHJ1ZSwKKyAgICAgICAgImNs
ZWFyIjogdHJ1ZSwKKyAgICAgICAgImNvcHkiOiB0cnVlLAorICAgICAgICAic291cmNlLW92ZXIi
OiB0cnVlLAorICAgICAgICAic291cmNlLWluIjogdHJ1ZSwKKyAgICAgICAgInNvdXJjZS1vdXQi
OiB0cnVlLAorICAgICAgICAic291cmNlLWF0b3AiOiB0cnVlLAorICAgICAgICAiZGVzdGluYXRp
b24tb3ZlciI6IHRydWUsCisgICAgICAgICJkZXN0aW5hdGlvbi1pbiI6IHRydWUsCisgICAgICAg
ICJkZXN0aW5hdGlvbi1vdXQiOiB0cnVlLAorICAgICAgICAiZGVzdGluYXRpb24tYXRvcCI6IHRy
dWUsCisgICAgICAgICJ4b3IiOiB0cnVlLAorICAgICAgICAicGx1cy1kYXJrZXIiOiB0cnVlLAor
ICAgICAgICAicGx1cy1saWdodGVyIjogdHJ1ZSwKKyAgICAgICAgImJhc2VsaW5lIjogdHJ1ZSwK
KyAgICAgICAgIm1pZGRsZSI6IHRydWUsCisgICAgICAgICJzdWIiOiB0cnVlLAorICAgICAgICAi
c3VwZXIiOiB0cnVlLAorICAgICAgICAidGV4dC10b3AiOiB0cnVlLAorICAgICAgICAidGV4dC1i
b3R0b20iOiB0cnVlLAorICAgICAgICAidG9wIjogdHJ1ZSwKKyAgICAgICAgImJvdHRvbSI6IHRy
dWUsCisgICAgICAgICItd2Via2l0LWJhc2VsaW5lLW1pZGRsZSI6IHRydWUsCisgICAgICAgICIt
d2Via2l0LWF1dG8iOiB0cnVlLAorICAgICAgICAibGVmdCI6IHRydWUsCisgICAgICAgICJyaWdo
dCI6IHRydWUsCisgICAgICAgICJjZW50ZXIiOiB0cnVlLAorICAgICAgICAianVzdGlmeSI6IHRy
dWUsCisgICAgICAgICItd2Via2l0LWxlZnQiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1yaWdo
dCI6IHRydWUsCisgICAgICAgICItd2Via2l0LWNlbnRlciI6IHRydWUsCisgICAgICAgICJvdXRz
aWRlIjogdHJ1ZSwKKyAgICAgICAgImluc2lkZSI6IHRydWUsCisgICAgICAgICJkaXNjIjogdHJ1
ZSwKKyAgICAgICAgImNpcmNsZSI6IHRydWUsCisgICAgICAgICJzcXVhcmUiOiB0cnVlLAorICAg
ICAgICAiZGVjaW1hbCI6IHRydWUsCisgICAgICAgICJkZWNpbWFsLWxlYWRpbmctemVybyI6IHRy
dWUsCisgICAgICAgICJsb3dlci1yb21hbiI6IHRydWUsCisgICAgICAgICJ1cHBlci1yb21hbiI6
IHRydWUsCisgICAgICAgICJsb3dlci1ncmVlayI6IHRydWUsCisgICAgICAgICJsb3dlci1hbHBo
YSI6IHRydWUsCisgICAgICAgICJsb3dlci1sYXRpbiI6IHRydWUsCisgICAgICAgICJ1cHBlci1h
bHBoYSI6IHRydWUsCisgICAgICAgICJ1cHBlci1sYXRpbiI6IHRydWUsCisgICAgICAgICJoZWJy
ZXciOiB0cnVlLAorICAgICAgICAiYXJtZW5pYW4iOiB0cnVlLAorICAgICAgICAiZ2VvcmdpYW4i
OiB0cnVlLAorICAgICAgICAiY2prLWlkZW9ncmFwaGljIjogdHJ1ZSwKKyAgICAgICAgImhpcmFn
YW5hIjogdHJ1ZSwKKyAgICAgICAgImthdGFrYW5hIjogdHJ1ZSwKKyAgICAgICAgImhpcmFnYW5h
LWlyb2hhIjogdHJ1ZSwKKyAgICAgICAgImthdGFrYW5hLWlyb2hhIjogdHJ1ZSwKKyAgICAgICAg
ImlubGluZSI6IHRydWUsCisgICAgICAgICJibG9jayI6IHRydWUsCisgICAgICAgICJsaXN0LWl0
ZW0iOiB0cnVlLAorICAgICAgICAicnVuLWluIjogdHJ1ZSwKKyAgICAgICAgImNvbXBhY3QiOiB0
cnVlLAorICAgICAgICAiaW5saW5lLWJsb2NrIjogdHJ1ZSwKKyAgICAgICAgInRhYmxlIjogdHJ1
ZSwKKyAgICAgICAgImlubGluZS10YWJsZSI6IHRydWUsCisgICAgICAgICJ0YWJsZS1yb3ctZ3Jv
dXAiOiB0cnVlLAorICAgICAgICAidGFibGUtaGVhZGVyLWdyb3VwIjogdHJ1ZSwKKyAgICAgICAg
InRhYmxlLWZvb3Rlci1ncm91cCI6IHRydWUsCisgICAgICAgICJ0YWJsZS1yb3ciOiB0cnVlLAor
ICAgICAgICAidGFibGUtY29sdW1uLWdyb3VwIjogdHJ1ZSwKKyAgICAgICAgInRhYmxlLWNvbHVt
biI6IHRydWUsCisgICAgICAgICJ0YWJsZS1jZWxsIjogdHJ1ZSwKKyAgICAgICAgInRhYmxlLWNh
cHRpb24iOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ib3giOiB0cnVlLAorICAgICAgICAiLXdl
YmtpdC1pbmxpbmUtYm94IjogdHJ1ZSwKKyAgICAgICAgIi13YXAtbWFycXVlZSI6IHRydWUsCisg
ICAgICAgICJhdXRvIjogdHJ1ZSwKKyAgICAgICAgImNyb3NzaGFpciI6IHRydWUsCisgICAgICAg
ICJkZWZhdWx0IjogdHJ1ZSwKKyAgICAgICAgInBvaW50ZXIiOiB0cnVlLAorICAgICAgICAibW92
ZSI6IHRydWUsCisgICAgICAgICJ2ZXJ0aWNhbC10ZXh0IjogdHJ1ZSwKKyAgICAgICAgImNlbGwi
OiB0cnVlLAorICAgICAgICAiY29udGV4dC1tZW51IjogdHJ1ZSwKKyAgICAgICAgImFsaWFzIjog
dHJ1ZSwKKyAgICAgICAgInByb2dyZXNzIjogdHJ1ZSwKKyAgICAgICAgIm5vLWRyb3AiOiB0cnVl
LAorICAgICAgICAibm90LWFsbG93ZWQiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC16b29tLWlu
IjogdHJ1ZSwKKyAgICAgICAgIi13ZWJraXQtem9vbS1vdXQiOiB0cnVlLAorICAgICAgICAiZS1y
ZXNpemUiOiB0cnVlLAorICAgICAgICAibmUtcmVzaXplIjogdHJ1ZSwKKyAgICAgICAgIm53LXJl
c2l6ZSI6IHRydWUsCisgICAgICAgICJuLXJlc2l6ZSI6IHRydWUsCisgICAgICAgICJzZS1yZXNp
emUiOiB0cnVlLAorICAgICAgICAic3ctcmVzaXplIjogdHJ1ZSwKKyAgICAgICAgInMtcmVzaXpl
IjogdHJ1ZSwKKyAgICAgICAgInctcmVzaXplIjogdHJ1ZSwKKyAgICAgICAgImV3LXJlc2l6ZSI6
IHRydWUsCisgICAgICAgICJucy1yZXNpemUiOiB0cnVlLAorICAgICAgICAibmVzdy1yZXNpemUi
OiB0cnVlLAorICAgICAgICAibndzZS1yZXNpemUiOiB0cnVlLAorICAgICAgICAiY29sLXJlc2l6
ZSI6IHRydWUsCisgICAgICAgICJyb3ctcmVzaXplIjogdHJ1ZSwKKyAgICAgICAgInRleHQiOiB0
cnVlLAorICAgICAgICAid2FpdCI6IHRydWUsCisgICAgICAgICJoZWxwIjogdHJ1ZSwKKyAgICAg
ICAgImFsbC1zY3JvbGwiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ncmFiIjogdHJ1ZSwKKyAg
ICAgICAgIi13ZWJraXQtZ3JhYmJpbmciOiB0cnVlLAorICAgICAgICAibHRyIjogdHJ1ZSwKKyAg
ICAgICAgInJ0bCI6IHRydWUsCisgICAgICAgICJjYXBpdGFsaXplIjogdHJ1ZSwKKyAgICAgICAg
InVwcGVyY2FzZSI6IHRydWUsCisgICAgICAgICJsb3dlcmNhc2UiOiB0cnVlLAorICAgICAgICAi
dmlzaWJsZSI6IHRydWUsCisgICAgICAgICJjb2xsYXBzZSI6IHRydWUsCisgICAgICAgICJhYm92
ZSI6IHRydWUsCisgICAgICAgICJhYnNvbHV0ZSI6IHRydWUsCisgICAgICAgICJhbHdheXMiOiB0
cnVlLAorICAgICAgICAiYXZvaWQiOiB0cnVlLAorICAgICAgICAiYmVsb3ciOiB0cnVlLAorICAg
ICAgICAiYmlkaS1vdmVycmlkZSI6IHRydWUsCisgICAgICAgICJibGluayI6IHRydWUsCisgICAg
ICAgICJib3RoIjogdHJ1ZSwKKyAgICAgICAgImNsb3NlLXF1b3RlIjogdHJ1ZSwKKyAgICAgICAg
ImNyb3AiOiB0cnVlLAorICAgICAgICAiY3Jvc3MiOiB0cnVlLAorICAgICAgICAiZW1iZWQiOiB0
cnVlLAorICAgICAgICAiZml4ZWQiOiB0cnVlLAorICAgICAgICAiaGFuZCI6IHRydWUsCisgICAg
ICAgICJoaWRlIjogdHJ1ZSwKKyAgICAgICAgImhpZ2hlciI6IHRydWUsCisgICAgICAgICJpbnZl
cnQiOiB0cnVlLAorICAgICAgICAibGFuZHNjYXBlIjogdHJ1ZSwKKyAgICAgICAgImxldmVsIjog
dHJ1ZSwKKyAgICAgICAgImxpbmUtdGhyb3VnaCI6IHRydWUsCisgICAgICAgICJsb2NhbCI6IHRy
dWUsCisgICAgICAgICJsb3VkIjogdHJ1ZSwKKyAgICAgICAgImxvd2VyIjogdHJ1ZSwKKyAgICAg
ICAgIi13ZWJraXQtbWFycXVlZSI6IHRydWUsCisgICAgICAgICJtaXgiOiB0cnVlLAorICAgICAg
ICAibm8tY2xvc2UtcXVvdGUiOiB0cnVlLAorICAgICAgICAibm8tb3Blbi1xdW90ZSI6IHRydWUs
CisgICAgICAgICJub3dyYXAiOiB0cnVlLAorICAgICAgICAib3Blbi1xdW90ZSI6IHRydWUsCisg
ICAgICAgICJvdmVybGF5IjogdHJ1ZSwKKyAgICAgICAgIm92ZXJsaW5lIjogdHJ1ZSwKKyAgICAg
ICAgInBvcnRyYWl0IjogdHJ1ZSwKKyAgICAgICAgInByZSI6IHRydWUsCisgICAgICAgICJwcmUt
bGluZSI6IHRydWUsCisgICAgICAgICJwcmUtd3JhcCI6IHRydWUsCisgICAgICAgICJyZWxhdGl2
ZSI6IHRydWUsCisgICAgICAgICJzY3JvbGwiOiB0cnVlLAorICAgICAgICAic2VwYXJhdGUiOiB0
cnVlLAorICAgICAgICAic2hvdyI6IHRydWUsCisgICAgICAgICJzdGF0aWMiOiB0cnVlLAorICAg
ICAgICAidGhpY2siOiB0cnVlLAorICAgICAgICAidGhpbiI6IHRydWUsCisgICAgICAgICJ1bmRl
cmxpbmUiOiB0cnVlLAorICAgICAgICAiLXdlYmtpdC1ub3dyYXAiOiB0cnVlLAorICAgICAgICAi
c3RyZXRjaCI6IHRydWUsCisgICAgICAgICJzdGFydCI6IHRydWUsCisgICAgICAgICJlbmQiOiB0
cnVlLAorICAgICAgICAicmV2ZXJzZSI6IHRydWUsCisgICAgICAgICJob3Jpem9udGFsIjogdHJ1
ZSwKKyAgICAgICAgInZlcnRpY2FsIjogdHJ1ZSwKKyAgICAgICAgImlubGluZS1heGlzIjogdHJ1
ZSwKKyAgICAgICAgImJsb2NrLWF4aXMiOiB0cnVlLAorICAgICAgICAic2luZ2xlIjogdHJ1ZSwK
KyAgICAgICAgIm11bHRpcGxlIjogdHJ1ZSwKKyAgICAgICAgImZvcndhcmRzIjogdHJ1ZSwKKyAg
ICAgICAgImJhY2t3YXJkcyI6IHRydWUsCisgICAgICAgICJhaGVhZCI6IHRydWUsCisgICAgICAg
ICJ1cCI6IHRydWUsCisgICAgICAgICJkb3duIjogdHJ1ZSwKKyAgICAgICAgInNsb3ciOiB0cnVl
LAorICAgICAgICAiZmFzdCI6IHRydWUsCisgICAgICAgICJpbmZpbml0ZSI6IHRydWUsCisgICAg
ICAgICJzbGlkZSI6IHRydWUsCisgICAgICAgICJhbHRlcm5hdGUiOiB0cnVlLAorICAgICAgICAi
cmVhZC1vbmx5IjogdHJ1ZSwKKyAgICAgICAgInJlYWQtd3JpdGUiOiB0cnVlLAorICAgICAgICAi
cmVhZC13cml0ZS1wbGFpbnRleHQtb25seSI6IHRydWUsCisgICAgICAgICJlbGVtZW50IjogdHJ1
ZSwKKyAgICAgICAgImlnbm9yZSI6IHRydWUsCisgICAgICAgICJpbnRyaW5zaWMiOiB0cnVlLAor
ICAgICAgICAibWluLWludHJpbnNpYyI6IHRydWUsCisgICAgICAgICJjbGlwIjogdHJ1ZSwKKyAg
ICAgICAgImVsbGlwc2lzIjogdHJ1ZSwKKyAgICAgICAgImRpc2NhcmQiOiB0cnVlLAorICAgICAg
ICAiZG90LWRhc2giOiB0cnVlLAorICAgICAgICAiZG90LWRvdC1kYXNoIjogdHJ1ZSwKKyAgICAg
ICAgIndhdmUiOiB0cnVlLAorICAgICAgICAiY29udGludW91cyI6IHRydWUsCisgICAgICAgICJz
a2lwLXdoaXRlLXNwYWNlIjogdHJ1ZSwKKyAgICAgICAgImJyZWFrLWFsbCI6IHRydWUsCisgICAg
ICAgICJicmVhay13b3JkIjogdHJ1ZSwKKyAgICAgICAgInNwYWNlIjogdHJ1ZSwKKyAgICAgICAg
ImFmdGVyLXdoaXRlLXNwYWNlIjogdHJ1ZSwKKyAgICAgICAgImNoZWNrYm94IjogdHJ1ZSwKKyAg
ICAgICAgInJhZGlvIjogdHJ1ZSwKKyAgICAgICAgInB1c2gtYnV0dG9uIjogdHJ1ZSwKKyAgICAg
ICAgInNxdWFyZS1idXR0b24iOiB0cnVlLAorICAgICAgICAiYnV0dG9uIjogdHJ1ZSwKKyAgICAg
ICAgImJ1dHRvbi1iZXZlbCI6IHRydWUsCisgICAgICAgICJkZWZhdWx0LWJ1dHRvbiI6IHRydWUs
CisgICAgICAgICJsaXN0LWJ1dHRvbiI6IHRydWUsCisgICAgICAgICJsaXN0Ym94IjogdHJ1ZSwK
KyAgICAgICAgImxpc3RpdGVtIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0
dG9uIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLW11dGUtYnV0dG9uIjogdHJ1ZSwKKyAgICAgICAg
Im1lZGlhLXBsYXktYnV0dG9uIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLXNlZWstYmFjay1idXR0
b24iOiB0cnVlLAorICAgICAgICAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiI6IHRydWUsCisg
ICAgICAgICJtZWRpYS1yZXdpbmQtYnV0dG9uIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLXJldHVy
bi10by1yZWFsdGltZS1idXR0b24iOiB0cnVlLAorICAgICAgICAibWVkaWEtc2xpZGVyIjogdHJ1
ZSwKKyAgICAgICAgIm1lZGlhLXNsaWRlcnRodW1iIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLXZv
bHVtZS1zbGlkZXItY29udGFpbmVyIjogdHJ1ZSwKKyAgICAgICAgIm1lZGlhLXZvbHVtZS1zbGlk
ZXIiOiB0cnVlLAorICAgICAgICAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIjogdHJ1ZSwKKyAg
ICAgICAgIm1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiOiB0cnVlLAorICAgICAgICAibWVkaWEt
Y3VycmVudC10aW1lLWRpc3BsYXkiOiB0cnVlLAorICAgICAgICAibWVkaWEtdGltZS1yZW1haW5p
bmctZGlzcGxheSI6IHRydWUsCisgICAgICAgICJtZW51bGlzdCI6IHRydWUsCisgICAgICAgICJt
ZW51bGlzdC1idXR0b24iOiB0cnVlLAorICAgICAgICAibWVudWxpc3QtdGV4dCI6IHRydWUsCisg
ICAgICAgICJtZW51bGlzdC10ZXh0ZmllbGQiOiB0cnVlLAorICAgICAgICAic2xpZGVyLWhvcml6
b250YWwiOiB0cnVlLAorICAgICAgICAic2xpZGVyLXZlcnRpY2FsIjogdHJ1ZSwKKyAgICAgICAg
InNsaWRlcnRodW1iLWhvcml6b250YWwiOiB0cnVlLAorICAgICAgICAic2xpZGVydGh1bWItdmVy
dGljYWwiOiB0cnVlLAorICAgICAgICAiY2FyZXQiOiB0cnVlLAorICAgICAgICAic2VhcmNoZmll
bGQiOiB0cnVlLAorICAgICAgICAic2VhcmNoZmllbGQtZGVjb3JhdGlvbiI6IHRydWUsCisgICAg
ICAgICJzZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iOiB0cnVlLAorICAgICAgICAic2Vh
cmNoZmllbGQtcmVzdWx0cy1idXR0b24iOiB0cnVlLAorICAgICAgICAic2VhcmNoZmllbGQtY2Fu
Y2VsLWJ1dHRvbiI6IHRydWUsCisgICAgICAgICJ0ZXh0ZmllbGQiOiB0cnVlLAorICAgICAgICAi
dGV4dGFyZWEiOiB0cnVlLAorICAgICAgICAiY2Fwcy1sb2NrLWluZGljYXRvciI6IHRydWUsCisg
ICAgICAgICJyb3VuZCI6IHRydWUsCisgICAgICAgICJib3JkZXIiOiB0cnVlLAorICAgICAgICAi
Ym9yZGVyLWJveCI6IHRydWUsCisgICAgICAgICJjb250ZW50IjogdHJ1ZSwKKyAgICAgICAgImNv
bnRlbnQtYm94IjogdHJ1ZSwKKyAgICAgICAgInBhZGRpbmciOiB0cnVlLAorICAgICAgICAicGFk
ZGluZy1ib3giOiB0cnVlLAorICAgICAgICAiY29udGFpbiI6IHRydWUsCisgICAgICAgICJjb3Zl
ciI6IHRydWUsCisgICAgICAgICJsb2dpY2FsIjogdHJ1ZSwKKyAgICAgICAgInZpc3VhbCI6IHRy
dWUsCisgICAgICAgICJsaW5lcyI6IHRydWUsCisgICAgICAgICJydW5uaW5nIjogdHJ1ZSwKKyAg
ICAgICAgInBhdXNlZCI6IHRydWUsCisgICAgICAgICJmbGF0IjogdHJ1ZSwKKyAgICAgICAgInBy
ZXNlcnZlLTNkIjogdHJ1ZSwKKyAgICAgICAgImVhc2UiOiB0cnVlLAorICAgICAgICAibGluZWFy
IjogdHJ1ZSwKKyAgICAgICAgImVhc2UtaW4iOiB0cnVlLAorICAgICAgICAiZWFzZS1vdXQiOiB0
cnVlLAorICAgICAgICAiZWFzZS1pbi1vdXQiOiB0cnVlLAorICAgICAgICAiZG9jdW1lbnQiOiB0
cnVlLAorICAgICAgICAicmVzZXQiOiB0cnVlLAorICAgICAgICAidmlzaWJsZVBhaW50ZWQiOiB0
cnVlLAorICAgICAgICAidmlzaWJsZUZpbGwiOiB0cnVlLAorICAgICAgICAidmlzaWJsZVN0cm9r
ZSI6IHRydWUsCisgICAgICAgICJwYWludGVkIjogdHJ1ZSwKKyAgICAgICAgImZpbGwiOiB0cnVl
LAorICAgICAgICAic3Ryb2tlIjogdHJ1ZSwKKyAgICAgICAgImFudGlhbGlhc2VkIjogdHJ1ZSwK
KyAgICAgICAgInN1YnBpeGVsLWFudGlhbGlhc2VkIjogdHJ1ZSwKKyAgICAgICAgIm9wdGltaXpl
U3BlZWQiOiB0cnVlLAorICAgICAgICAib3B0aW1pemVMZWdpYmlsaXR5IjogdHJ1ZSwKKyAgICAg
ICAgImdlb21ldHJpY1ByZWNpc2lvbiI6IHRydWUKKyAgICB9OworICAgIGZ1bmN0aW9uIHZhbHVl
SWRlbnRBY3Rpb24odG9rZW4pIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3Ro
OworICAgICAgICBpZiAodG9rZW4gaW4gdmFsdWVLZXl3b3JkcykgeworICAgICAgICAgICAgdGhp
cy5hcHBlbmROb25Ub2tlbi5jYWxsKHRoaXMpOworICAgICAgICAgICAgdGhpcy5uZXdMaW5lLmFw
cGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mta2V5d29yZCIpKTsK
KyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOworICAg
IH0KKworICAgIGZ1bmN0aW9uIG51bXZhbHVlQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAg
dGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5k
Q2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNzcy1udW1iZXIiKSk7CisgICAg
fQorICAgIAorICAgIGZ1bmN0aW9uIGRlY2xhcmF0aW9uU2VtaWNvbG9uQWN0aW9uKHRva2VuKQor
ICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlz
Lm5vblRva2VuICs9IHRva2VuOworICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0
ZS5EZWNsYXJhdGlvblByb3BlcnR5OworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiB1cmxBY3Rp
b24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Cisg
ICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3
ZWJraXQtY3NzLXVybCIpKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gc3RyaW5nQWN0aW9u
KHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAg
ICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Vi
a2l0LWNzcy1zdHJpbmciKSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGNvbG9yQWN0aW9u
KHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAg
ICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Vi
a2l0LWNzcy1jb2xvciIpKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rpb24gaW1wb3J0YW50QWN0
aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwor
ICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAi
d2Via2l0LWNzcy1pbXBvcnRhbnQiKSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGF0TWVk
aWFBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7CisgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9r
ZW4sICJ3ZWJraXQtY3NzLWF0LXJ1bGUiKSk7CisgICAgICAgIHRoaXMubGV4U3RhdGUgPSB0aGlz
LkxleFN0YXRlLkF0TWVkaWE7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIHN0YXJ0QXRNZWRp
YUJsb2NrQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4u
bGVuZ3RoOworICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOworICAgICAgICB0aGlzLmxl
eFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlv
biBhdEtleWZyYW1lc0FjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29yICs9
IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3Jl
YXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3MtYXQtcnVsZSIpKTsKKyAgICAgICAgdGhpcy5sZXhT
dGF0ZSA9IHRoaXMuTGV4U3RhdGUuQXRLZXlmcmFtZXM7CisgICAgfQorICAgIAorICAgIGZ1bmN0
aW9uIHN0YXJ0QXRLZXlmcmFtZXNCbG9ja0FjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRo
aXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5ub25Ub2tlbiArPSB0b2tl
bjsKKyAgICAgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuSW5pdGlhbDsKKyAgICB9
CisgICAgCisgICAgZnVuY3Rpb24gYXRSdWxlQWN0aW9uKHRva2VuKSB7CisgICAgICAgIHRoaXMu
Y3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxk
KHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3MtYXQtcnVsZSIpKTsKKyAgICAgICAg
dGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuQXRSdWxlOworICAgIH0KKyAgICAKKyAgICBm
dW5jdGlvbiBlbmRBdFJ1bGVBY3Rpb24odG9rZW4pIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0g
dG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOworICAgICAgICB0
aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOworICAgIH0KKyAgICAKKyAgICBm
dW5jdGlvbiBzdGFydEF0UnVsZUJsb2NrQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhp
cy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2Vu
OworICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblByb3Bl
cnR5OworICAgIH0KKyAgICAKKyAgICBjb25zdCBtZWRpYVR5cGVzID0gWyJhbGwiLCAiYXVyYWwi
LCAiYnJhaWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJwcmludCIsICJwcm9qZWN0aW9u
IiwgInNjcmVlbiIsICJ0dHkiLCAidHYiXTsKKyAgICBmdW5jdGlvbiBhdFJ1bGVJZGVudEFjdGlv
bih0b2tlbikgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7CisgICAgICAg
IGlmIChtZWRpYVR5cGVzLmluZGV4T2YodG9rZW4pID09PSAtMSkKKyAgICAgICAgICAgIHRoaXMu
bm9uVG9rZW4gKz0gdG9rZW47CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgdGhpcy5hcHBl
bmROb25Ub2tlbi5jYWxsKHRoaXMpOworICAgICAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENo
aWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mta2V5d29yZCIpKTsKKyAgICAg
ICAgfQorICAgIH0KK30KKworV2ViSW5zcGVjdG9yLkNTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVy
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ph
dmFTY3JpcHRTb3VyY2VTeW50YXhIaWdobGlnaHRlci5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9KYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWM5OWRiOAotLS0gL2Rldi9udWxsCisrKyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9KYXZhU2NyaXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIu
anMKQEAgLTAsMCArMSwzNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEpvc2VwaCBQZWNv
cmFybworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNw
ZWN0b3IuSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVyID0gZnVuY3Rpb24odGFibGUs
IHNvdXJjZUZyYW1lKSB7CisgICAgV2ViSW5zcGVjdG9yLlNvdXJjZVN5bnRheEhpZ2hsaWdodGVy
LmNhbGwodGhpcywgdGFibGUsIHNvdXJjZUZyYW1lKTsKKworICAgIHRoaXMuTGV4U3RhdGUgPSB7
CisgICAgICAgIEluaXRpYWw6IDEsCisgICAgICAgIERpdmlzaW9uQWxsb3dlZDogMiwKKyAgICB9
OworICAgIHRoaXMuQ29udGludWVTdGF0ZSA9IHsKKyAgICAgICAgTm9uZTogMCwKKyAgICAgICAg
Q29tbWVudDogMSwKKyAgICAgICAgU2luZ2xlUXVvdGVTdHJpbmc6IDIsCisgICAgICAgIERvdWJs
ZVF1b3RlU3RyaW5nOiAzLAorICAgICAgICBSZWdFeHA6IDQKKyAgICB9OworICAgIAorICAgIHRo
aXMubm9uVG9rZW4gPSAiIjsKKyAgICB0aGlzLmN1cnNvciA9IDA7CisgICAgdGhpcy5saW5lSW5k
ZXggPSAtMTsKKyAgICB0aGlzLmxpbmVDb2RlID0gIiI7CisgICAgdGhpcy5uZXdMaW5lID0gbnVs
bDsKKyAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOworICAgIHRoaXMu
Y29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lOworICAgIAorICAgIHRoaXMu
cnVsZXMgPSBbeworICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXC8uKikvLAorICAgICAgICBhY3Rp
b246IHNpbmdsZUxpbmVDb21tZW50QWN0aW9uCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAv
Xig/OlwvXCooPzpbXlwqXXxcKlteXC9dKSpcKitcLykvLAorICAgICAgICBhY3Rpb246IG11bHRp
TGluZVNpbmdsZUxpbmVDb21tZW50QWN0aW9uCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAv
Xig/OlwvXCooPzpbXlwqXXxcKlteXC9dKSopLywKKyAgICAgICAgYWN0aW9uOiBtdWx0aUxpbmVD
b21tZW50U3RhcnRBY3Rpb24KKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86KD86W15c
Kl18XCpbXlwvXSkqXCorXC8pLywKKyAgICAgICAgYWN0aW9uOiBtdWx0aUxpbmVDb21tZW50RW5k
QWN0aW9uLAorICAgICAgICBjb250aW51ZVN0YXRlQ29uZGl0aW9uOiB0aGlzLkNvbnRpbnVlU3Rh
dGUuQ29tbWVudAorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogL14uKi8sCisgICAgICAgIGFj
dGlvbjogbXVsdGlMaW5lQ29tbWVudE1pZGRsZUFjdGlvbiwKKyAgICAgICAgY29udGludWVTdGF0
ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQKKyAgICB9LCB7CisgICAgICAg
IHBhdHRlcm46IC9eKD86KD86MHxbMS05XVxkKilcLlxkKz8oPzpbZUVdKD86XGQrfFwrXGQrfC1c
ZCspKT98XC5cZCsoPzpbZUVdKD86XGQrfFwrXGQrfC1cZCspKT98KD86MHxbMS05XVxkKikoPzpb
ZUVdKD86XGQrfFwrXGQrfC1cZCspKT98MHhbMC05YS1mQS1GXSt8MFhbMC05YS1mQS1GXSspLywK
KyAgICAgICAgYWN0aW9uOiBudW1lcmljTGl0ZXJhbEFjdGlvbgorICAgIH0sIHsKKyAgICAgICAg
cGF0dGVybjogL14oPzoiKD86W14iXFxdfFxcKD86WyciXGJmbnJ0dl18W14nIlxiZm5ydHYwLTl4
dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVsw
LTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqInwnKD86W14nXFxdfFxcKD86WyciXGJmbnJ0dl18W14n
IlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1b
MC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqJykvLAorICAgICAgICBhY3Rpb246
IHN0cmluZ0xpdGVyYWxBY3Rpb24KKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86Jyg/
OlteJ1xcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05eHVdfDB8eFswLTlhLWZBLUZd
WzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZB
LUZdKSkpKilcXCQvLAorICAgICAgICBhY3Rpb246IHNpbmdsZVF1b3RlU3RyaW5nU3RhcnRBY3Rp
b24KKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86KD86W14nXFxdfFxcKD86WyciXGJm
bnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAt
OWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqJykvLAorICAgICAg
ICBhY3Rpb246IHNpbmdsZVF1b3RlU3RyaW5nRW5kQWN0aW9uLAorICAgICAgICBjb250aW51ZVN0
YXRlQ29uZGl0aW9uOiB0aGlzLkNvbnRpbnVlU3RhdGUuU2luZ2xlUXVvdGVTdHJpbmcKKyAgICB9
LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86KD86W14nXFxdfFxcKD86WyciXGJmbnJ0dl18W14n
IlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1b
MC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqKVxcJC8sCisgICAgICAgIGFjdGlv
bjogc2luZ2xlUXVvdGVTdHJpbmdNaWRkbGVBY3Rpb24sCisgICAgICAgIGNvbnRpbnVlU3RhdGVD
b25kaXRpb246IHRoaXMuQ29udGludWVTdGF0ZS5TaW5nbGVRdW90ZVN0cmluZworICAgIH0sIHsK
KyAgICAgICAgcGF0dGVybjogL14oPzoiKD86W14iXFxdfFxcKD86WyciXGJmbnJ0dl18W14nIlxi
Zm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1bMC05
YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqKVxcJC8sCisgICAgICAgIGFjdGlvbjog
ZG91YmxlUXVvdGVTdHJpbmdTdGFydEFjdGlvbgorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjog
L14oPzooPzpbXiJcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJmbnJ0djAtOXh1XXwwfHhbMC05
YS1mQS1GXVswLTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl1b
MC05YS1mQS1GXSkpKSoiKS8sCisgICAgICAgIGFjdGlvbjogZG91YmxlUXVvdGVTdHJpbmdFbmRB
Y3Rpb24sCisgICAgICAgIGNvbnRpbnVlU3RhdGVDb25kaXRpb246IHRoaXMuQ29udGludWVTdGF0
ZS5Eb3VibGVRdW90ZVN0cmluZworICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogL14oPzooPzpb
XiJcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJmbnJ0djAtOXh1XXwwfHhbMC05YS1mQS1GXVsw
LTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1G
XSkpKSopXFwkLywKKyAgICAgICAgYWN0aW9uOiBkb3VibGVRdW90ZVN0cmluZ01pZGRsZUFjdGlv
biwKKyAgICAgICAgY29udGludWVTdGF0ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLkRv
dWJsZVF1b3RlU3RyaW5nCisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAvXig/Oig/OlthLXpB
LVpdfFskX118XFwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEt
Rl0pKSg/Oig/OlthLXpBLVpdfFskX118XFwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlh
LWZBLUZdWzAtOWEtZkEtRl0pKXxbMC05XSkqKS8sCisgICAgICAgIGFjdGlvbjogaWRlbnRPcktl
eXdvcmRBY3Rpb24KKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eXCkvLAorICAgICAgICBh
Y3Rpb246IHJpZ2h0UGFyZW5BY3Rpb24sCisgICAgICAgIGRvbnRBcHBlbmROb25Ub2tlbjogdHJ1
ZQorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjogL14oPzo8PXw+PXw9PT18PT18IT18IT09fFwr
XCt8XC1cLXw8PHw+Pnw+Pj58JiZ8XHxcfHxcKz18XC09fFwqPXwlPXw8PD18Pj49fD4+Pj18Jj18
XHw9fF49fFt7fVwoXFtcXVwuOyw8PlwrXC1cKiUmXHxcXiF+XD86PV0pLywKKyAgICAgICAgYWN0
aW9uOiBwdW5jdHVhdG9yQWN0aW9uLAorICAgICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUK
KyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9eKD86XC89PykvLAorICAgICAgICBhY3Rpb246
IGRpdlB1bmN0dWF0b3JBY3Rpb24sCisgICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxl
eFN0YXRlLkRpdmlzaW9uQWxsb3dlZCwKKyAgICAgICAgZG9udEFwcGVuZE5vblRva2VuOiB0cnVl
CisgICAgfSwgeworICAgICAgICBwYXR0ZXJuOiAvXig/OlwvKD86KD86XFwuKXxbXlxcKlwvXSko
PzooPzpcXC4pfFteXFwvXSkqXC8oPzooPzpbYS16QS1aXXxbJF9dfFxcKD86dVswLTlhLWZBLUZd
WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdKSl8WzAtOV0pKikvLAorICAgICAgICBh
Y3Rpb246IHJlZ0V4cExpdGVyYWxBY3Rpb24KKyAgICB9LCB7CisgICAgICAgIHBhdHRlcm46IC9e
KD86XC8oPzooPzpcXC4pfFteXFwqXC9dKSg/Oig/OlxcLil8W15cXC9dKSopXFwkLywKKyAgICAg
ICAgYWN0aW9uOiByZWdFeHBTdGFydEFjdGlvbgorICAgIH0sIHsKKyAgICAgICAgcGF0dGVybjog
L14oPzooPzooPzpcXC4pfFteXFwvXSkqXC8oPzooPzpbYS16QS1aXXxbJF9dfFxcKD86dVswLTlh
LWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdKSl8WzAtOV0pKikvLAorICAg
ICAgICBhY3Rpb246IHJlZ0V4cEVuZEFjdGlvbiwKKyAgICAgICAgY29udGludWVTdGF0ZUNvbmRp
dGlvbjogdGhpcy5Db250aW51ZVN0YXRlLlJlZ0V4cAorICAgIH0sIHsKKyAgICAgICAgcGF0dGVy
bjogL14oPzooPzooPzpcXC4pfFteXFwvXSkqKVxcJC8sCisgICAgICAgIGFjdGlvbjogcmVnRXhw
TWlkZGxlQWN0aW9uLAorICAgICAgICBjb250aW51ZVN0YXRlQ29uZGl0aW9uOiB0aGlzLkNvbnRp
bnVlU3RhdGUuUmVnRXhwCisgICAgfV07CisgICAgCisgICAgZnVuY3Rpb24gc2luZ2xlTGluZUNv
bW1lbnRBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5s
ZW5ndGg7CisgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4o
dG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50IikpOworICAgIH0KKyAgICAKKyAgICBm
dW5jdGlvbiBtdWx0aUxpbmVTaW5nbGVMaW5lQ29tbWVudEFjdGlvbih0b2tlbikKKyAgICB7Cisg
ICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5l
LmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LWNv
bW1lbnQiKSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIG11bHRpTGluZUNvbW1lbnRTdGFy
dEFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0
aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tl
biwgIndlYmtpdC1qYXZhc2NyaXB0LWNvbW1lbnQiKSk7CisgICAgICAgIHRoaXMuY29udGludWVT
dGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50OworICAgIH0KKyAgICAKKyAgICBmdW5j
dGlvbiBtdWx0aUxpbmVDb21tZW50RW5kQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhp
cy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hp
bGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3JpcHQtY29tbWVudCIpKTsK
KyAgICAgICAgdGhpcy5jb250aW51ZVN0YXRlID0gdGhpcy5Db250aW51ZVN0YXRlLk5vbmU7Cisg
ICAgfQorICAgIAorICAgIGZ1bmN0aW9uIG11bHRpTGluZUNvbW1lbnRNaWRkbGVBY3Rpb24odG9r
ZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7CisgICAgICAg
IHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQt
amF2YXNjcmlwdC1jb21tZW50IikpOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBudW1lcmlj
TGl0ZXJhbEFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2Vu
Lmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bh
bih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LW51bWJlciIpKTsKKyAgICAgICAgdGhpcy5sZXhT
dGF0ZSA9IHRoaXMuTGV4U3RhdGUuRGl2aXNpb25BbGxvd2VkOworICAgIH0KKyAgICAKKyAgICBm
dW5jdGlvbiBzdHJpbmdMaXRlcmFsQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5j
dXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQo
dGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3JpcHQtc3RyaW5nIikpOworICAg
ICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOworICAgIH0KKyAgICAK
KyAgICBmdW5jdGlvbiBzaW5nbGVRdW90ZVN0cmluZ1N0YXJ0QWN0aW9uKHRva2VuKQorICAgIHsK
KyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xp
bmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3JpcHQt
c3RyaW5nIikpOworICAgICAgICB0aGlzLmNvbnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3Rh
dGUuU2luZ2xlUXVvdGVTdHJpbmc7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIHNpbmdsZVF1
b3RlU3RyaW5nRW5kQWN0aW9uKHRva2VuKQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0g
dG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVh
dGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3JpcHQtc3RyaW5nIikpOworICAgICAgICB0aGlz
LmNvbnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZTsKKyAgICB9CisgICAgCisg
ICAgZnVuY3Rpb24gc2luZ2xlUXVvdGVTdHJpbmdNaWRkbGVBY3Rpb24odG9rZW4pCisgICAgewor
ICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7CisgICAgICAgIHRoaXMubmV3TGlu
ZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1z
dHJpbmciKSk7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIGRvdWJsZVF1b3RlU3RyaW5nU3Rh
cnRBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7CisgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9r
ZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1zdHJpbmciKSk7CisgICAgICAgIHRoaXMuY29udGludWVT
dGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Eb3VibGVRdW90ZVN0cmluZzsKKyAgICB9CisgICAg
CisgICAgZnVuY3Rpb24gZG91YmxlUXVvdGVTdHJpbmdFbmRBY3Rpb24odG9rZW4pCisgICAgewor
ICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7CisgICAgICAgIHRoaXMubmV3TGlu
ZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1z
dHJpbmciKSk7CisgICAgICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0
ZS5Ob25lOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBkb3VibGVRdW90ZVN0cmluZ01pZGRs
ZUFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0
aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tl
biwgIndlYmtpdC1qYXZhc2NyaXB0LXN0cmluZyIpKTsKKyAgICB9CisgICAgCisgICAgZnVuY3Rp
b24gcmVnRXhwTGl0ZXJhbEFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29y
ICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMu
Y3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCIpKTsKKyAgICAgICAg
dGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuSW5pdGlhbDsKKyAgICB9CisKKyAgICBmdW5j
dGlvbiByZWdFeHBTdGFydEFjdGlvbih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29y
ICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMu
Y3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4cCIpKTsKKyAgICAgICAg
dGhpcy5jb250aW51ZVN0YXRlID0gdGhpcy5Db250aW51ZVN0YXRlLlJlZ0V4cDsKKyAgICB9CisK
KyAgICBmdW5jdGlvbiByZWdFeHBFbmRBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlz
LmN1cnNvciArPSB0b2tlbi5sZW5ndGg7CisgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGls
ZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1yZWdleHAiKSk7Cisg
ICAgICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lOworICAg
IH0KKworICAgIGZ1bmN0aW9uIHJlZ0V4cE1pZGRsZUFjdGlvbih0b2tlbikKKyAgICB7CisgICAg
ICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAgICAgICAgdGhpcy5uZXdMaW5lLmFw
cGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXJlZ2V4
cCIpKTsKKyAgICB9CisgICAgCisgICAgY29uc3Qga2V5d29yZHMgPSB7CisgICAgICAgICJudWxs
IjogdHJ1ZSwKKyAgICAgICAgInRydWUiOiB0cnVlLAorICAgICAgICAiZmFsc2UiOiB0cnVlLAor
ICAgICAgICAiYnJlYWsiOiB0cnVlLAorICAgICAgICAiY2FzZSI6IHRydWUsCisgICAgICAgICJj
YXRjaCI6IHRydWUsCisgICAgICAgICJjb25zdCI6IHRydWUsCisgICAgICAgICJkZWZhdWx0Ijog
dHJ1ZSwKKyAgICAgICAgImZpbmFsbHkiOiB0cnVlLAorICAgICAgICAiZm9yIjogdHJ1ZSwKKyAg
ICAgICAgImluc3RhbmNlb2YiOiB0cnVlLAorICAgICAgICAibmV3IjogdHJ1ZSwKKyAgICAgICAg
InZhciI6IHRydWUsCisgICAgICAgICJjb250aW51ZSI6IHRydWUsCisgICAgICAgICJmdW5jdGlv
biI6IHRydWUsCisgICAgICAgICJyZXR1cm4iOiB0cnVlLAorICAgICAgICAidm9pZCI6IHRydWUs
CisgICAgICAgICJkZWxldGUiOiB0cnVlLAorICAgICAgICAiaWYiOiB0cnVlLAorICAgICAgICAi
dGhpcyI6IHRydWUsCisgICAgICAgICJkbyI6IHRydWUsCisgICAgICAgICJ3aGlsZSI6IHRydWUs
CisgICAgICAgICJlbHNlIjogdHJ1ZSwKKyAgICAgICAgImluIjogdHJ1ZSwKKyAgICAgICAgInN3
aXRjaCI6IHRydWUsCisgICAgICAgICJ0aHJvdyI6IHRydWUsCisgICAgICAgICJ0cnkiOiB0cnVl
LAorICAgICAgICAidHlwZW9mIjogdHJ1ZSwKKyAgICAgICAgImRlYnVnZ2VyIjogdHJ1ZSwKKyAg
ICAgICAgImNsYXNzIjogdHJ1ZSwKKyAgICAgICAgImVudW0iOiB0cnVlLAorICAgICAgICAiZXhw
b3J0IjogdHJ1ZSwKKyAgICAgICAgImV4dGVuZHMiOiB0cnVlLAorICAgICAgICAiaW1wb3J0Ijog
dHJ1ZSwKKyAgICAgICAgInN1cGVyIjogdHJ1ZSwKKyAgICAgICAgImdldCI6IHRydWUsCisgICAg
ICAgICJzZXQiOiB0cnVlCisgICAgfTsKKyAgICBmdW5jdGlvbiBpZGVudE9yS2V5d29yZEFjdGlv
bih0b2tlbikKKyAgICB7CisgICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKKyAg
ICAgICAgCisgICAgICAgIGlmICh0b2tlbiBpbiBrZXl3b3JkcykgeworICAgICAgICAgICAgdGhp
cy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZh
c2NyaXB0LWtleXdvcmQiKSk7CisgICAgICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhT
dGF0ZS5Jbml0aWFsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdmFyIGlkZW50RWxl
bWVudCA9IHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LWlkZW50Iik7
CisgICAgICAgICAgICBpZGVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdmVyIiwg
c2hvd0RhdGF0aXAsIGZhbHNlKTsKKyAgICAgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGls
ZChpZGVudEVsZW1lbnQpOworICAgICAgICAgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3Rh
dGUuRGl2aXNpb25BbGxvd2VkOworICAgICAgICB9CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9u
IHNob3dEYXRhdGlwKGV2ZW50KSB7CisgICAgICAgIGlmICghV2ViSW5zcGVjdG9yLnBhbmVscy5z
Y3JpcHRzIHx8ICFXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMucGF1c2VkKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHZhciBub2RlID0gZXZlbnQudGFyZ2V0OworICAgICAgICB2
YXIgcGFydHMgPSBbbm9kZS50ZXh0Q29udGVudF07CisgICAgICAgIHdoaWxlIChub2RlLnByZXZp
b3VzU2libGluZyAmJiBub2RlLnByZXZpb3VzU2libGluZy50ZXh0Q29udGVudCA9PT0gIi4iKSB7
CisgICAgICAgICAgICBub2RlID0gbm9kZS5wcmV2aW91c1NpYmxpbmcucHJldmlvdXNTaWJsaW5n
OworICAgICAgICAgICAgaWYgKCFub2RlIHx8ICFub2RlLmhhc1N0eWxlQ2xhc3MoIndlYmtpdC1q
YXZhc2NyaXB0LWlkZW50IikpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBw
YXJ0cy51bnNoaWZ0KG5vZGUudGV4dENvbnRlbnQpOworICAgICAgICB9CisKKyAgICAgICAgdmFy
IGV4cHJlc3Npb24gPSBwYXJ0cy5qb2luKCIuIik7CisKKyAgICAgICAgV2ViSW5zcGVjdG9yLnBh
bmVscy5zY3JpcHRzLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFtZShleHByZXNzaW9uLCBmYWxz
ZSwgImNvbnNvbGUiLCBjYWxsYmFjayk7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHJlc3Vs
dCwgZXhjZXB0aW9uKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoZXhjZXB0aW9uKQorICAg
ICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGV2ZW50LnRhcmdldC5zZXRBdHRyaWJ1
dGUoInRpdGxlIiwgcmVzdWx0LmRlc2NyaXB0aW9uKTsKKyAgICAgICAgICAgIGV2ZW50LnRhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIG9ubW91c2VvdXQsIGZhbHNlKTsKKyAgICAg
ICAgICAgIAorICAgICAgICAgICAgZnVuY3Rpb24gb25tb3VzZW91dChldmVudCkKKyAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICBldmVudC50YXJnZXQucmVtb3ZlQXR0cmlidXRlKCJ0aXRs
ZSIpOworICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKCJt
b3VzZW91dCIsIG9ubW91c2VvdXQsIGZhbHNlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
ICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiBkaXZQdW5jdHVhdG9yQWN0aW9uKHRva2VuKQorICAg
IHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0aGlzLm5v
blRva2VuICs9IHRva2VuOworICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5J
bml0aWFsOworICAgIH0KKyAgICAKKyAgICBmdW5jdGlvbiByaWdodFBhcmVuQWN0aW9uKHRva2Vu
KQorICAgIHsKKyAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOworICAgICAgICB0
aGlzLm5vblRva2VuICs9IHRva2VuOworICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhT
dGF0ZS5EaXZpc2lvbkFsbG93ZWQ7CisgICAgfQorICAgIAorICAgIGZ1bmN0aW9uIHB1bmN0dWF0
b3JBY3Rpb24odG9rZW4pCisgICAgeworICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7CisgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47CisgICAgICAgIHRoaXMubGV4U3Rh
dGUgPSB0aGlzLkxleFN0YXRlLkluaXRpYWw7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJ
bnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90eXBlOwpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IDEwOTUxNWEuLmZkY2M3ZTggMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcworKysg
Yi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTczNiwxNDIx
ICs3MzYsMyBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlID0gewogfQogCiBX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rv
ci5PYmplY3QucHJvdG90eXBlOwotCi1XZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0
ZXIgPSBmdW5jdGlvbih0YWJsZSwgc291cmNlRnJhbWUpCi17Ci0gICAgdGhpcy50YWJsZSA9IHRh
YmxlOwotICAgIHRoaXMuc291cmNlRnJhbWUgPSBzb3VyY2VGcmFtZTsKLX0KLQotV2ViSW5zcGVj
dG9yLlNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKLSAgICBjcmVhdGVTcGFu
OiBmdW5jdGlvbihjb250ZW50LCBjbGFzc05hbWUpCi0gICAgewotICAgICAgICB2YXIgc3BhbiA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICAgICAgc3Bhbi5jbGFzc05hbWUg
PSBjbGFzc05hbWU7Ci0gICAgICAgIHNwYW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoY29udGVudCkpOwotICAgICAgICByZXR1cm4gc3BhbjsKLSAgICB9LAotCi0gICAgcHJv
Y2VzczogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgLy8gU3BsaXQgdXAgdGhlIHdvcmsgaW50
byBjaHVua3Mgc28gd2UgZG9uJ3QgYmxvY2sgdGhlCi0gICAgICAgIC8vIFVJIHRocmVhZCB3aGls
ZSBwcm9jZXNzaW5nLgotCi0gICAgICAgIHZhciByb3dzID0gdGhpcy50YWJsZS5yb3dzOwotICAg
ICAgICB2YXIgcm93c0xlbmd0aCA9IHJvd3MubGVuZ3RoOwotICAgICAgICBjb25zdCB0b2tlbnNQ
ZXJDaHVuayA9IDEwMDsKLSAgICAgICAgY29uc3QgbGluZUxlbmd0aExpbWl0ID0gMjAwMDA7Ci0g
ICAgICAgIAotICAgICAgICB2YXIgYm91bmRQcm9jZXNzQ2h1bmsgPSBwcm9jZXNzQ2h1bmsuYmlu
ZCh0aGlzKTsKLSAgICAgICAgdmFyIHByb2Nlc3NDaHVua0ludGVydmFsID0gc2V0SW50ZXJ2YWwo
Ym91bmRQcm9jZXNzQ2h1bmssIDI1KTsKLSAgICAgICAgYm91bmRQcm9jZXNzQ2h1bmsoKTsKLSAg
ICAgICAgCi0gICAgICAgIGZ1bmN0aW9uIHByb2Nlc3NDaHVuaygpCi0gICAgICAgIHsKLSAgICAg
ICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdG9rZW5zUGVyQ2h1bms7IGkrKykgewotICAgICAg
ICAgICAgICAgIGlmICh0aGlzLmN1cnNvciA+PSB0aGlzLmxpbmVDb2RlLmxlbmd0aCkKLSAgICAg
ICAgICAgICAgICAgICAgbW92ZVRvTmV4dExpbmUuY2FsbCh0aGlzKTsKLSAgICAgICAgICAgICAg
ICBpZiAodGhpcy5saW5lSW5kZXggPj0gcm93c0xlbmd0aCkgewotICAgICAgICAgICAgICAgICAg
ICB0aGlzLnNvdXJjZUZyYW1lLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygic3ludGF4IGhpZ2hs
aWdodGluZyBjb21wbGV0ZSIpOwotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvciA+IGxpbmVMZW5ndGhM
aW1pdCkgewotICAgICAgICAgICAgICAgICAgICB2YXIgY29kZUZyYWdtZW50ID0gdGhpcy5saW5l
Q29kZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOwotICAgICAgICAgICAgICAgICAgICB0aGlzLm5v
blRva2VuICs9IGNvZGVGcmFnbWVudDsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJzb3Ig
Kz0gY29kZUZyYWdtZW50Lmxlbmd0aDsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
ICAgICB0aGlzLmxleCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIAotICAg
ICAgICBmdW5jdGlvbiBtb3ZlVG9OZXh0TGluZSgpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHRo
aXMuYXBwZW5kTm9uVG9rZW4oKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgdmFyIHJvdyA9
IHJvd3NbdGhpcy5saW5lSW5kZXhdOwotICAgICAgICAgICAgdmFyIGxpbmUgPSByb3cgPyByb3cu
Y2VsbHNbMV0gOiBudWxsOwotICAgICAgICAgICAgaWYgKGxpbmUgJiYgdGhpcy5uZXdMaW5lKSB7
Ci0gICAgICAgICAgICAgICAgbGluZS5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgICAgIGlmICh0aGlzLm1lc3NhZ2VCdWJibGUpCi0gICAgICAgICAgICAg
ICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLm1lc3NhZ2VCdWJibGUpOwotICAg
ICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGxpbmUucGFyZW50Tm9kZS5pbnNlcnRCZWZv
cmUodGhpcy5uZXdMaW5lLCBsaW5lKTsKLSAgICAgICAgICAgICAgICBsaW5lLnBhcmVudE5vZGUu
cmVtb3ZlQ2hpbGQobGluZSk7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgdGhp
cy5uZXdMaW5lID0gbnVsbDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIHRoaXMubGluZUlu
ZGV4Kys7Ci0gICAgICAgICAgICBpZiAodGhpcy5saW5lSW5kZXggPj0gcm93c0xlbmd0aCAmJiBw
cm9jZXNzQ2h1bmtJbnRlcnZhbCkgewotICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwocHJv
Y2Vzc0NodW5rSW50ZXJ2YWwpOwotICAgICAgICAgICAgICAgIHRoaXMuc291cmNlRnJhbWUuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKCJzeW50YXggaGlnaGxpZ2h0aW5nIGNvbXBsZXRlIik7Ci0g
ICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgcm93ID0g
cm93c1t0aGlzLmxpbmVJbmRleF07Ci0gICAgICAgICAgICBsaW5lID0gcm93ID8gcm93LmNlbGxz
WzFdIDogbnVsbDsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgdGhpcy5tZXNzYWdlQnViYmxl
ID0gbnVsbDsKLSAgICAgICAgICAgIGlmIChsaW5lLmxhc3RDaGlsZCAmJiBsaW5lLmxhc3RDaGls
ZC5ub2RlVHlwZSA9PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgbGluZS5sYXN0Q2hpbGQuaGFzU3R5
bGVDbGFzcygid2Via2l0LWh0bWwtbWVzc2FnZS1idWJibGUiKSkgewotICAgICAgICAgICAgICAg
IHRoaXMubWVzc2FnZUJ1YmJsZSA9IGxpbmUubGFzdENoaWxkOwotICAgICAgICAgICAgICAgIGxp
bmUucmVtb3ZlQ2hpbGQodGhpcy5tZXNzYWdlQnViYmxlKTsKLSAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgdGhpcy5saW5lQ29kZSA9IGxpbmUudGV4dENvbnRlbnQ7Ci0gICAgICAgICAgICB0
aGlzLm5ld0xpbmUgPSBsaW5lLmNsb25lTm9kZShmYWxzZSk7Ci0gICAgICAgICAgICB0aGlzLmN1
cnNvciA9IDA7Ci0gICAgICAgICAgICBpZiAoIWxpbmUpCi0gICAgICAgICAgICAgICAgbW92ZVRv
TmV4dExpbmUoKTsKLSAgICAgICAgfQotICAgIH0sCi0gICAgCi0gICAgbGV4OiBmdW5jdGlvbigp
Ci0gICAgewotICAgICAgICB2YXIgdG9rZW4gPSBudWxsOwotICAgICAgICB2YXIgY29kZUZyYWdt
ZW50ID0gdGhpcy5saW5lQ29kZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOwotICAgICAgICAKLSAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLnJ1bGVzLmxlbmd0aDsgaSsrKSB7Ci0gICAg
ICAgICAgICB2YXIgcnVsZSA9IHRoaXMucnVsZXNbaV07Ci0gICAgICAgICAgICB2YXIgcnVsZUNv
bnRpbnVlU3RhdGVDb25kaXRpb24gPSB0eXBlb2YgcnVsZS5jb250aW51ZVN0YXRlQ29uZGl0aW9u
ID09PSAidW5kZWZpbmVkIiA/IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lIDogcnVsZS5jb250aW51
ZVN0YXRlQ29uZGl0aW9uOwotICAgICAgICAgICAgaWYgKHRoaXMuY29udGludWVTdGF0ZSA9PT0g
cnVsZUNvbnRpbnVlU3RhdGVDb25kaXRpb24pIHsKLSAgICAgICAgICAgICAgICBpZiAodHlwZW9m
IHJ1bGUubGV4U3RhdGVDb25kaXRpb24gIT09ICJ1bmRlZmluZWQiICYmIHRoaXMubGV4U3RhdGUg
IT09IHJ1bGUubGV4U3RhdGVDb25kaXRpb24pCi0gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotICAgICAgICAgICAgICAgIHZhciBtYXRjaCA9IHJ1bGUucGF0dGVybi5leGVjKGNvZGVGcmFn
bWVudCk7Ci0gICAgICAgICAgICAgICAgaWYgKG1hdGNoKSB7Ci0gICAgICAgICAgICAgICAgICAg
IHRva2VuID0gbWF0Y2hbMF07Ci0gICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbikgewotICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCFydWxlLmRvbnRBcHBlbmROb25Ub2tlbikKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZE5vblRva2VuKCk7Ci0gICAgICAgICAg
ICAgICAgICAgICAgICByZXR1cm4gcnVsZS5hY3Rpb24uY2FsbCh0aGlzLCB0b2tlbik7Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgIH0KLSAgICAgICAgdGhpcy5ub25Ub2tlbiArPSBjb2RlRnJhZ21lbnRbMF07Ci0gICAgICAg
IHRoaXMuY3Vyc29yKys7Ci0gICAgfSwKLSAgICAKLSAgICBhcHBlbmROb25Ub2tlbjogZnVuY3Rp
b24gKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLm5vblRva2VuLmxlbmd0aCA+IDApIHsKLSAg
ICAgICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSh0aGlzLm5vblRva2VuKSk7Ci0gICAgICAgICAgICB0aGlzLm5vblRva2VuID0gIiI7Ci0gICAg
ICAgIH0KLSAgICB9LAotICAgIAotICAgIHN5bnRheEhpZ2hsaWdodE5vZGU6IGZ1bmN0aW9uKG5v
ZGUpCi0gICAgewotICAgICAgICB0aGlzLmxpbmVDb2RlID0gbm9kZS50ZXh0Q29udGVudDsKLSAg
ICAgICAgbm9kZS5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICB0aGlzLm5ld0xpbmUgPSBub2Rl
OwotICAgICAgICB0aGlzLmN1cnNvciA9IDA7Ci0gICAgICAgIHdoaWxlICh0cnVlKSB7Ci0gICAg
ICAgICAgICBpZiAodGhpcy5jdXJzb3IgPj0gdGhpcy5saW5lQ29kZS5sZW5ndGgpIHsKLSAgICAg
ICAgICAgICAgICB2YXIgY29kZUZyYWdtZW50ID0gdGhpcy5saW5lQ29kZS5zdWJzdHJpbmcodGhp
cy5jdXJzb3IpOwotICAgICAgICAgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gY29kZUZyYWdtZW50
OwotICAgICAgICAgICAgICAgIHRoaXMuY3Vyc29yICs9IGNvZGVGcmFnbWVudC5sZW5ndGg7Ci0g
ICAgICAgICAgICAgICAgdGhpcy5hcHBlbmROb25Ub2tlbigpOwotICAgICAgICAgICAgICAgIHRo
aXMubmV3TGluZSA9IG51bGw7Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICB0aGlzLmxleCgpOwotICAgICAgICB9Ci0gICAgfQotfQotCi1XZWJJ
bnNwZWN0b3IuQ1NTU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIgPSBmdW5jdGlvbih0YWJsZSwgc291
cmNlRnJhbWUpIHsKLSAgICBXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuY2Fs
bCh0aGlzLCB0YWJsZSwgc291cmNlRnJhbWUpOwotCi0gICAgdGhpcy5MZXhTdGF0ZSA9IHsKLSAg
ICAgICAgSW5pdGlhbDogMSwKLSAgICAgICAgRGVjbGFyYXRpb25Qcm9wZXJ0eTogMiwKLSAgICAg
ICAgRGVjbGFyYXRpb25WYWx1ZTogMywKLSAgICAgICAgQXRNZWRpYTogNCwKLSAgICAgICAgQXRS
dWxlOiA1LAotICAgICAgICBBdEtleWZyYW1lczogNgotICAgIH07Ci0gICAgdGhpcy5Db250aW51
ZVN0YXRlID0gewotICAgICAgICBOb25lOiAwLAotICAgICAgICBDb21tZW50OiAxCi0gICAgfTsK
LSAgICAKLSAgICB0aGlzLm5vblRva2VuID0gIiI7Ci0gICAgdGhpcy5jdXJzb3IgPSAwOwotICAg
IHRoaXMubGluZUluZGV4ID0gLTE7Ci0gICAgdGhpcy5saW5lQ29kZSA9ICIiOwotICAgIHRoaXMu
bmV3TGluZSA9IG51bGw7Ci0gICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuSW5pdGlh
bDsKLSAgICB0aGlzLmNvbnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZTsKLSAg
ICAKLSAgICBjb25zdCB1cmxQYXR0ZXJuID0gL151cmxcKFxzKig/Oig/OiIoPzpbXlxcXCJdfCg/
OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxz
P3xcLikpKicpfCg/OlshIyQlJiotflx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKilccypc
KS9pOwotICAgIGNvbnN0IHN0cmluZ1BhdHRlcm4gPSAvXig/OiIoPzpbXlxcXCJdfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikp
KicpL2k7Ci0gICAgY29uc3QgaWRlbnRQYXR0ZXJuID0gL14tPyg/Olx3fCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKi9pOwotICAgIGNv
bnN0IHN0YXJ0QmxvY2tQYXR0ZXJuID0gL157L2k7Ci0gICAgY29uc3QgZW5kQmxvY2tQYXR0ZXJu
ID0gL159L2k7Ci0gICAgdGhpcy5ydWxlcyA9IFt7Ci0gICAgICAgIHBhdHRlcm46IC9eXC9cKlte
XCpdKlwqKyhbXlwvKl1bXipdKlwqKykqXC8vaSwKLSAgICAgICAgYWN0aW9uOiBjb21tZW50QWN0
aW9uCi0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXCooPzpbXlwqXXxcKlteXC9d
KSopL2ksCi0gICAgICAgIGFjdGlvbjogY29tbWVudFN0YXJ0QWN0aW9uCi0gICAgfSwgewotICAg
ICAgICBwYXR0ZXJuOiAvXig/Oig/OlteXCpdfFwqW15cL10pKlwqK1wvKS9pLAotICAgICAgICBh
Y3Rpb246IGNvbW1lbnRFbmRBY3Rpb24sCi0gICAgICAgIGNvbnRpbnVlU3RhdGVDb25kaXRpb246
IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50Ci0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiAv
Xi4qL2ksCi0gICAgICAgIGFjdGlvbjogY29tbWVudE1pZGRsZUFjdGlvbiwKLSAgICAgICAgY29u
dGludWVTdGF0ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQKLSAgICB9LCB7
Ci0gICAgICAgIHBhdHRlcm46IC9eKD86KD86LT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xc
LikpKD86Wy1cd118KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSp8XCopKD86Iy0/KD86XHd8KD86
XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkq
fFwuLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRhLWZd
ezEsNn1ccz98XC4pKSp8XFtccyotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkoPzpb
LVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKig/Oig/Oj18fj18XHw9KVxzKig/Oi0/
KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9
XHM/fFwuKSkqfCg/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwnKD86
W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpKVxzKik/XF18Oig/Oi0/KD86XHd8
KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkqfC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1m
XXsxLDZ9XHM/fFwuKSkqXChccyooPzotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSko
PzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKik/XCkpKSp8KD86Iy0/KD86XHd8
KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkqfFwuLT8oPzpcd3woPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKD86Wy1cd118KD86XFxbXGRh
LWZdezEsNn1ccz98XC4pKSp8XFtccyotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSko
PzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKig/Oig/Oj18fj18XHw9KVxzKig/
Oi0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsx
LDZ9XHM/fFwuKSkqfCg/OiIoPzpbXlxcXCJdfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqInwn
KD86W15cXFwnXXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKicpKVxzKik/XF18Oig/Oi0/KD86
XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/
fFwuKSkqfC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/OlstXHddfCg/OlxcW1xk
YS1mXXsxLDZ9XHM/fFwuKSkqXChccyooPzotPyg/Olx3fCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwu
KSkoPzpbLVx3XXwoPzpcXFtcZGEtZl17MSw2fVxzP3xcLikpKlxzKik/XCkpKSspL2ksCi0gICAg
ICAgIGFjdGlvbjogc2VsZWN0b3JBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0
aGlzLkxleFN0YXRlLkluaXRpYWwKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IHN0YXJ0Qmxv
Y2tQYXR0ZXJuLAotICAgICAgICBhY3Rpb246IHN0YXJ0UnVsZXNldEJsb2NrQWN0aW9uLAotICAg
ICAgICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5Jbml0aWFsLAotICAgICAgICBk
b250QXBwZW5kTm9uVG9rZW46IHRydWUKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IGlkZW50
UGF0dGVybiwKLSAgICAgICAgYWN0aW9uOiBwcm9wZXJ0eUFjdGlvbiwKLSAgICAgICAgbGV4U3Rh
dGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25Qcm9wZXJ0eSwKLSAgICAgICAg
ZG9udEFwcGVuZE5vblRva2VuOiB0cnVlCi0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiAvXjov
aSwKLSAgICAgICAgYWN0aW9uOiBkZWNsYXJhdGlvbkNvbG9uQWN0aW9uLAotICAgICAgICBsZXhT
dGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblByb3BlcnR5LAotICAgICAg
ICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9e
KD86Iyg/OltcZGEtZl17Nn18W1xkYS1mXXszfSl8cmdiYVwoXHMqKD86XGQrfFxkKlwuXGQrKSU/
XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5cZCspJT9ccyosXHMq
KD86XGQrfFxkKlwuXGQrKSU/XHMqXCl8aHNsYVwoXHMqKD86XGQrfFxkKlwuXGQrKSU/XHMqLFxz
Kig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5cZCspJT9ccyosXHMqKD86XGQr
fFxkKlwuXGQrKSU/XHMqXCl8cmdiXChccyooPzpcZCt8XGQqXC5cZCspJT9ccyosXHMqKD86XGQr
fFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKlwpfGhzbFwoXHMqKD86XGQr
fFxkKlwuXGQrKSU/XHMqLFxzKig/OlxkK3xcZCpcLlxkKyklP1xzKixccyooPzpcZCt8XGQqXC5c
ZCspJT9ccypcKSkvaSwKLSAgICAgICAgYWN0aW9uOiBjb2xvckFjdGlvbiwKLSAgICAgICAgbGV4
U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQotICAgIH0sIHsK
LSAgICAgICAgcGF0dGVybjogL14oPzotPyg/OlxkK3xcZCpcLlxkKykoPzplbXxyZW18X19xZW18
ZXh8cHh8Y218bW18aW58cHR8cGN8ZGVnfHJhZHxncmFkfHR1cm58bXN8c3xIenxrSHp8JSk/KS9p
LAotICAgICAgICBhY3Rpb246IG51bXZhbHVlQWN0aW9uLAotICAgICAgICBsZXhTdGF0ZUNvbmRp
dGlvbjogdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblZhbHVlCi0gICAgfSwgewotICAgICAgICBw
YXR0ZXJuOiB1cmxQYXR0ZXJuLAotICAgICAgICBhY3Rpb246IHVybEFjdGlvbiwKLSAgICAgICAg
bGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQotICAgIH0s
IHsKLSAgICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVybiwKLSAgICAgICAgYWN0aW9uOiBzdHJp
bmdBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRlY2xh
cmF0aW9uVmFsdWUKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eIVxzKmltcG9ydGFudC9p
LAotICAgICAgICBhY3Rpb246IGltcG9ydGFudEFjdGlvbiwKLSAgICAgICAgbGV4U3RhdGVDb25k
aXRpb246IHRoaXMuTGV4U3RhdGUuRGVjbGFyYXRpb25WYWx1ZQotICAgIH0sIHsKLSAgICAgICAg
cGF0dGVybjogaWRlbnRQYXR0ZXJuLAotICAgICAgICBhY3Rpb246IHZhbHVlSWRlbnRBY3Rpb24s
Ci0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9uVmFs
dWUsCi0gICAgICAgIGRvbnRBcHBlbmROb25Ub2tlbjogdHJ1ZQotICAgIH0sIHsKLSAgICAgICAg
cGF0dGVybjogL147L2ksCi0gICAgICAgIGFjdGlvbjogZGVjbGFyYXRpb25TZW1pY29sb25BY3Rp
b24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9u
VmFsdWUsCi0gICAgICAgIGRvbnRBcHBlbmROb25Ub2tlbjogdHJ1ZQotICAgIH0sIHsKLSAgICAg
ICAgcGF0dGVybjogZW5kQmxvY2tQYXR0ZXJuLAotICAgICAgICBhY3Rpb246IGVuZFJ1bGVzZXRC
bG9ja0FjdGlvbiwKLSAgICAgICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuRGVj
bGFyYXRpb25Qcm9wZXJ0eSwKLSAgICAgICAgZG9udEFwcGVuZE5vblRva2VuOiB0cnVlCi0gICAg
fSwgewotICAgICAgICBwYXR0ZXJuOiBlbmRCbG9ja1BhdHRlcm4sCi0gICAgICAgIGFjdGlvbjog
ZW5kUnVsZXNldEJsb2NrQWN0aW9uLAotICAgICAgICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5M
ZXhTdGF0ZS5EZWNsYXJhdGlvblZhbHVlLAotICAgICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRy
dWUKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eQG1lZGlhL2ksCi0gICAgICAgIGFjdGlv
bjogYXRNZWRpYUFjdGlvbiwKLSAgICAgICAgbGV4U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3Rh
dGUuSW5pdGlhbAotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogc3RhcnRCbG9ja1BhdHRlcm4s
Ci0gICAgICAgIGFjdGlvbjogc3RhcnRBdE1lZGlhQmxvY2tBY3Rpb24sCi0gICAgICAgIGxleFN0
YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0TWVkaWEsCi0gICAgICAgIGRvbnRBcHBlbmRO
b25Ub2tlbjogdHJ1ZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogL15ALXdlYmtpdC1rZXlm
cmFtZXMvaSwKLSAgICAgICAgYWN0aW9uOiBhdEtleWZyYW1lc0FjdGlvbiwKLSAgICAgICAgbGV4
U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuSW5pdGlhbAotICAgIH0sIHsKLSAgICAgICAg
cGF0dGVybjogc3RhcnRCbG9ja1BhdHRlcm4sCi0gICAgICAgIGFjdGlvbjogc3RhcnRBdE1lZGlh
QmxvY2tBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0
S2V5ZnJhbWVzLAotICAgICAgICBkb250QXBwZW5kTm9uVG9rZW46IHRydWUKLSAgICB9LCB7Ci0g
ICAgICAgIHBhdHRlcm46IC9eQC0/KD86XHd8KD86XFxbXGRhLWZdezEsNn1ccz98XC4pKSg/Olst
XHddfCg/OlxcW1xkYS1mXXsxLDZ9XHM/fFwuKSkqL2ksCi0gICAgICAgIGFjdGlvbjogYXRSdWxl
QWN0aW9uLAotICAgICAgICBsZXhTdGF0ZUNvbmRpdGlvbjogdGhpcy5MZXhTdGF0ZS5Jbml0aWFs
Ci0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiAvXjsvaSwKLSAgICAgICAgYWN0aW9uOiBlbmRB
dFJ1bGVBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0
UnVsZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogdXJsUGF0dGVybiwKLSAgICAgICAgYWN0
aW9uOiB1cmxBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRl
LkF0UnVsZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVybiwKLSAgICAg
ICAgYWN0aW9uOiBzdHJpbmdBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlz
LkxleFN0YXRlLkF0UnVsZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogc3RyaW5nUGF0dGVy
biwKLSAgICAgICAgYWN0aW9uOiBzdHJpbmdBY3Rpb24sCi0gICAgICAgIGxleFN0YXRlQ29uZGl0
aW9uOiB0aGlzLkxleFN0YXRlLkF0S2V5ZnJhbWVzCi0gICAgfSwgewotICAgICAgICBwYXR0ZXJu
OiBpZGVudFBhdHRlcm4sCi0gICAgICAgIGFjdGlvbjogYXRSdWxlSWRlbnRBY3Rpb24sCi0gICAg
ICAgIGxleFN0YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0UnVsZSwKLSAgICAgICAgZG9u
dEFwcGVuZE5vblRva2VuOiB0cnVlCi0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiBpZGVudFBh
dHRlcm4sCi0gICAgICAgIGFjdGlvbjogYXRSdWxlSWRlbnRBY3Rpb24sCi0gICAgICAgIGxleFN0
YXRlQ29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkF0TWVkaWEsCi0gICAgICAgIGRvbnRBcHBlbmRO
b25Ub2tlbjogdHJ1ZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogc3RhcnRCbG9ja1BhdHRl
cm4sCi0gICAgICAgIGFjdGlvbjogc3RhcnRBdFJ1bGVCbG9ja0FjdGlvbiwKLSAgICAgICAgbGV4
U3RhdGVDb25kaXRpb246IHRoaXMuTGV4U3RhdGUuQXRSdWxlLAotICAgICAgICBkb250QXBwZW5k
Tm9uVG9rZW46IHRydWUKLSAgICB9XTsKLSAgICAKLSAgICBmdW5jdGlvbiBjb21tZW50QWN0aW9u
KHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAg
ICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Vi
a2l0LWNzcy1jb21tZW50IikpOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBjb21tZW50U3Rh
cnRBY3Rpb24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5n
dGg7Ci0gICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9r
ZW4sICJ3ZWJraXQtY3NzLWNvbW1lbnQiKSk7Ci0gICAgICAgIHRoaXMuY29udGludWVTdGF0ZSA9
IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBj
b21tZW50RW5kQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9r
ZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVT
cGFuKHRva2VuLCAid2Via2l0LWNzcy1jb21tZW50IikpOwotICAgICAgICB0aGlzLmNvbnRpbnVl
U3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9uZTsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiBj
b21tZW50TWlkZGxlQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0g
dG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVh
dGVTcGFuKHRva2VuLCAid2Via2l0LWNzcy1jb21tZW50IikpOwotICAgIH0KLSAgICAKLSAgICBm
dW5jdGlvbiBzZWxlY3RvckFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29y
ICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMu
Y3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mtc2VsZWN0b3IiKSk7Ci0gICAgfQotICAgIAot
ICAgIGZ1bmN0aW9uIHN0YXJ0UnVsZXNldEJsb2NrQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAg
ICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5vblRva2VuICs9
IHRva2VuOwotICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlv
blByb3BlcnR5OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBlbmRSdWxlc2V0QmxvY2tBY3Rp
b24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0g
ICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47Ci0gICAgICAgIHRoaXMubGV4U3RhdGUgPSB0
aGlzLkxleFN0YXRlLkluaXRpYWw7Ci0gICAgfQotICAgIAotICAgIGNvbnN0IHByb3BlcnR5S2V5
d29yZHMgPSB7Ci0gICAgICAgICJiYWNrZ3JvdW5kIjogdHJ1ZSwKLSAgICAgICAgImJhY2tncm91
bmQtYXR0YWNobWVudCI6IHRydWUsCi0gICAgICAgICJiYWNrZ3JvdW5kLWNsaXAiOiB0cnVlLAot
ICAgICAgICAiYmFja2dyb3VuZC1jb2xvciI6IHRydWUsCi0gICAgICAgICJiYWNrZ3JvdW5kLWlt
YWdlIjogdHJ1ZSwKLSAgICAgICAgImJhY2tncm91bmQtb3JpZ2luIjogdHJ1ZSwKLSAgICAgICAg
ImJhY2tncm91bmQtcG9zaXRpb24iOiB0cnVlLAotICAgICAgICAiYmFja2dyb3VuZC1wb3NpdGlv
bi14IjogdHJ1ZSwKLSAgICAgICAgImJhY2tncm91bmQtcG9zaXRpb24teSI6IHRydWUsCi0gICAg
ICAgICJiYWNrZ3JvdW5kLXJlcGVhdCI6IHRydWUsCi0gICAgICAgICJiYWNrZ3JvdW5kLXJlcGVh
dC14IjogdHJ1ZSwKLSAgICAgICAgImJhY2tncm91bmQtcmVwZWF0LXkiOiB0cnVlLAotICAgICAg
ICAiYmFja2dyb3VuZC1zaXplIjogdHJ1ZSwKLSAgICAgICAgImJvcmRlciI6IHRydWUsCi0gICAg
ICAgICJib3JkZXItYm90dG9tIjogdHJ1ZSwKLSAgICAgICAgImJvcmRlci1ib3R0b20tY29sb3Ii
OiB0cnVlLAotICAgICAgICAiYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyI6IHRydWUsCi0gICAg
ICAgICJib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyI6IHRydWUsCi0gICAgICAgICJib3JkZXIt
Ym90dG9tLXN0eWxlIjogdHJ1ZSwKLSAgICAgICAgImJvcmRlci1ib3R0b20td2lkdGgiOiB0cnVl
LAotICAgICAgICAiYm9yZGVyLWNvbGxhcHNlIjogdHJ1ZSwKLSAgICAgICAgImJvcmRlci1jb2xv
ciI6IHRydWUsCi0gICAgICAgICJib3JkZXItbGVmdCI6IHRydWUsCi0gICAgICAgICJib3JkZXIt
bGVmdC1jb2xvciI6IHRydWUsCi0gICAgICAgICJib3JkZXItbGVmdC1zdHlsZSI6IHRydWUsCi0g
ICAgICAgICJib3JkZXItbGVmdC13aWR0aCI6IHRydWUsCi0gICAgICAgICJib3JkZXItcmFkaXVz
IjogdHJ1ZSwKLSAgICAgICAgImJvcmRlci1yaWdodCI6IHRydWUsCi0gICAgICAgICJib3JkZXIt
cmlnaHQtY29sb3IiOiB0cnVlLAotICAgICAgICAiYm9yZGVyLXJpZ2h0LXN0eWxlIjogdHJ1ZSwK
LSAgICAgICAgImJvcmRlci1yaWdodC13aWR0aCI6IHRydWUsCi0gICAgICAgICJib3JkZXItc3Bh
Y2luZyI6IHRydWUsCi0gICAgICAgICJib3JkZXItc3R5bGUiOiB0cnVlLAotICAgICAgICAiYm9y
ZGVyLXRvcCI6IHRydWUsCi0gICAgICAgICJib3JkZXItdG9wLWNvbG9yIjogdHJ1ZSwKLSAgICAg
ICAgImJvcmRlci10b3AtbGVmdC1yYWRpdXMiOiB0cnVlLAotICAgICAgICAiYm9yZGVyLXRvcC1y
aWdodC1yYWRpdXMiOiB0cnVlLAotICAgICAgICAiYm9yZGVyLXRvcC1zdHlsZSI6IHRydWUsCi0g
ICAgICAgICJib3JkZXItdG9wLXdpZHRoIjogdHJ1ZSwKLSAgICAgICAgImJvcmRlci13aWR0aCI6
IHRydWUsCi0gICAgICAgICJib3R0b20iOiB0cnVlLAotICAgICAgICAiY2FwdGlvbi1zaWRlIjog
dHJ1ZSwKLSAgICAgICAgImNsZWFyIjogdHJ1ZSwKLSAgICAgICAgImNsaXAiOiB0cnVlLAotICAg
ICAgICAiY29sb3IiOiB0cnVlLAotICAgICAgICAiY29udGVudCI6IHRydWUsCi0gICAgICAgICJj
b3VudGVyLWluY3JlbWVudCI6IHRydWUsCi0gICAgICAgICJjb3VudGVyLXJlc2V0IjogdHJ1ZSwK
LSAgICAgICAgImN1cnNvciI6IHRydWUsCi0gICAgICAgICJkaXJlY3Rpb24iOiB0cnVlLAotICAg
ICAgICAiZGlzcGxheSI6IHRydWUsCi0gICAgICAgICJlbXB0eS1jZWxscyI6IHRydWUsCi0gICAg
ICAgICJmbG9hdCI6IHRydWUsCi0gICAgICAgICJmb250IjogdHJ1ZSwKLSAgICAgICAgImZvbnQt
ZmFtaWx5IjogdHJ1ZSwKLSAgICAgICAgImZvbnQtc2l6ZSI6IHRydWUsCi0gICAgICAgICJmb250
LXN0cmV0Y2giOiB0cnVlLAotICAgICAgICAiZm9udC1zdHlsZSI6IHRydWUsCi0gICAgICAgICJm
b250LXZhcmlhbnQiOiB0cnVlLAotICAgICAgICAiZm9udC13ZWlnaHQiOiB0cnVlLAotICAgICAg
ICAiaGVpZ2h0IjogdHJ1ZSwKLSAgICAgICAgImxlZnQiOiB0cnVlLAotICAgICAgICAibGV0dGVy
LXNwYWNpbmciOiB0cnVlLAotICAgICAgICAibGluZS1oZWlnaHQiOiB0cnVlLAotICAgICAgICAi
bGlzdC1zdHlsZSI6IHRydWUsCi0gICAgICAgICJsaXN0LXN0eWxlLWltYWdlIjogdHJ1ZSwKLSAg
ICAgICAgImxpc3Qtc3R5bGUtcG9zaXRpb24iOiB0cnVlLAotICAgICAgICAibGlzdC1zdHlsZS10
eXBlIjogdHJ1ZSwKLSAgICAgICAgIm1hcmdpbiI6IHRydWUsCi0gICAgICAgICJtYXJnaW4tYm90
dG9tIjogdHJ1ZSwKLSAgICAgICAgIm1hcmdpbi1sZWZ0IjogdHJ1ZSwKLSAgICAgICAgIm1hcmdp
bi1yaWdodCI6IHRydWUsCi0gICAgICAgICJtYXJnaW4tdG9wIjogdHJ1ZSwKLSAgICAgICAgIm1h
eC1oZWlnaHQiOiB0cnVlLAotICAgICAgICAibWF4LXdpZHRoIjogdHJ1ZSwKLSAgICAgICAgIm1p
bi1oZWlnaHQiOiB0cnVlLAotICAgICAgICAibWluLXdpZHRoIjogdHJ1ZSwKLSAgICAgICAgIm9w
YWNpdHkiOiB0cnVlLAotICAgICAgICAib3JwaGFucyI6IHRydWUsCi0gICAgICAgICJvdXRsaW5l
IjogdHJ1ZSwKLSAgICAgICAgIm91dGxpbmUtY29sb3IiOiB0cnVlLAotICAgICAgICAib3V0bGlu
ZS1vZmZzZXQiOiB0cnVlLAotICAgICAgICAib3V0bGluZS1zdHlsZSI6IHRydWUsCi0gICAgICAg
ICJvdXRsaW5lLXdpZHRoIjogdHJ1ZSwKLSAgICAgICAgIm92ZXJmbG93IjogdHJ1ZSwKLSAgICAg
ICAgIm92ZXJmbG93LXgiOiB0cnVlLAotICAgICAgICAib3ZlcmZsb3cteSI6IHRydWUsCi0gICAg
ICAgICJwYWRkaW5nIjogdHJ1ZSwKLSAgICAgICAgInBhZGRpbmctYm90dG9tIjogdHJ1ZSwKLSAg
ICAgICAgInBhZGRpbmctbGVmdCI6IHRydWUsCi0gICAgICAgICJwYWRkaW5nLXJpZ2h0IjogdHJ1
ZSwKLSAgICAgICAgInBhZGRpbmctdG9wIjogdHJ1ZSwKLSAgICAgICAgInBhZ2UiOiB0cnVlLAot
ICAgICAgICAicGFnZS1icmVhay1hZnRlciI6IHRydWUsCi0gICAgICAgICJwYWdlLWJyZWFrLWJl
Zm9yZSI6IHRydWUsCi0gICAgICAgICJwYWdlLWJyZWFrLWluc2lkZSI6IHRydWUsCi0gICAgICAg
ICJwb2ludGVyLWV2ZW50cyI6IHRydWUsCi0gICAgICAgICJwb3NpdGlvbiI6IHRydWUsCi0gICAg
ICAgICJxdW90ZXMiOiB0cnVlLAotICAgICAgICAicmVzaXplIjogdHJ1ZSwKLSAgICAgICAgInJp
Z2h0IjogdHJ1ZSwKLSAgICAgICAgInNpemUiOiB0cnVlLAotICAgICAgICAic3JjIjogdHJ1ZSwK
LSAgICAgICAgInRhYmxlLWxheW91dCI6IHRydWUsCi0gICAgICAgICJ0ZXh0LWFsaWduIjogdHJ1
ZSwKLSAgICAgICAgInRleHQtZGVjb3JhdGlvbiI6IHRydWUsCi0gICAgICAgICJ0ZXh0LWluZGVu
dCI6IHRydWUsCi0gICAgICAgICJ0ZXh0LWxpbmUtdGhyb3VnaCI6IHRydWUsCi0gICAgICAgICJ0
ZXh0LWxpbmUtdGhyb3VnaC1jb2xvciI6IHRydWUsCi0gICAgICAgICJ0ZXh0LWxpbmUtdGhyb3Vn
aC1tb2RlIjogdHJ1ZSwKLSAgICAgICAgInRleHQtbGluZS10aHJvdWdoLXN0eWxlIjogdHJ1ZSwK
LSAgICAgICAgInRleHQtbGluZS10aHJvdWdoLXdpZHRoIjogdHJ1ZSwKLSAgICAgICAgInRleHQt
b3ZlcmZsb3ciOiB0cnVlLAotICAgICAgICAidGV4dC1vdmVybGluZSI6IHRydWUsCi0gICAgICAg
ICJ0ZXh0LW92ZXJsaW5lLWNvbG9yIjogdHJ1ZSwKLSAgICAgICAgInRleHQtb3ZlcmxpbmUtbW9k
ZSI6IHRydWUsCi0gICAgICAgICJ0ZXh0LW92ZXJsaW5lLXN0eWxlIjogdHJ1ZSwKLSAgICAgICAg
InRleHQtb3ZlcmxpbmUtd2lkdGgiOiB0cnVlLAotICAgICAgICAidGV4dC1yZW5kZXJpbmciOiB0
cnVlLAotICAgICAgICAidGV4dC1zaGFkb3ciOiB0cnVlLAotICAgICAgICAidGV4dC10cmFuc2Zv
cm0iOiB0cnVlLAotICAgICAgICAidGV4dC11bmRlcmxpbmUiOiB0cnVlLAotICAgICAgICAidGV4
dC11bmRlcmxpbmUtY29sb3IiOiB0cnVlLAotICAgICAgICAidGV4dC11bmRlcmxpbmUtbW9kZSI6
IHRydWUsCi0gICAgICAgICJ0ZXh0LXVuZGVybGluZS1zdHlsZSI6IHRydWUsCi0gICAgICAgICJ0
ZXh0LXVuZGVybGluZS13aWR0aCI6IHRydWUsCi0gICAgICAgICJ0b3AiOiB0cnVlLAotICAgICAg
ICAidW5pY29kZS1iaWRpIjogdHJ1ZSwKLSAgICAgICAgInVuaWNvZGUtcmFuZ2UiOiB0cnVlLAot
ICAgICAgICAidmVydGljYWwtYWxpZ24iOiB0cnVlLAotICAgICAgICAidmlzaWJpbGl0eSI6IHRy
dWUsCi0gICAgICAgICJ3aGl0ZS1zcGFjZSI6IHRydWUsCi0gICAgICAgICJ3aWRvd3MiOiB0cnVl
LAotICAgICAgICAid2lkdGgiOiB0cnVlLAotICAgICAgICAid29yZC1icmVhayI6IHRydWUsCi0g
ICAgICAgICJ3b3JkLXNwYWNpbmciOiB0cnVlLAotICAgICAgICAid29yZC13cmFwIjogdHJ1ZSwK
LSAgICAgICAgInotaW5kZXgiOiB0cnVlLAotICAgICAgICAiem9vbSI6IHRydWUsCi0gICAgICAg
ICItd2Via2l0LWFuaW1hdGlvbiI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbi1k
ZWxheSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb24iOiB0cnVl
LAotICAgICAgICAiLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb24iOiB0cnVlLAotICAgICAgICAi
LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJr
aXQtYW5pbWF0aW9uLW5hbWUiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1hbmltYXRpb24tcGxh
eS1zdGF0ZSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rp
b24iOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1hcHBlYXJhbmNlIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWJh
Y2tncm91bmQtY2xpcCI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWJhY2tncm91bmQtY29tcG9z
aXRlIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYmFja2dyb3VuZC1vcmlnaW4iOiB0cnVlLAot
ICAgICAgICAiLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemUiOiB0cnVlLAotICAgICAgICAiLXdlYmtp
dC1iaW5kaW5nIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYm9yZGVyLWZpdCI6IHRydWUsCi0g
ICAgICAgICItd2Via2l0LWJvcmRlci1ob3Jpem9udGFsLXNwYWNpbmciOiB0cnVlLAotICAgICAg
ICAiLXdlYmtpdC1ib3JkZXItaW1hZ2UiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ib3JkZXIt
cmFkaXVzIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYm9yZGVyLXZlcnRpY2FsLXNwYWNpbmci
OiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ib3gtYWxpZ24iOiB0cnVlLAotICAgICAgICAiLXdl
YmtpdC1ib3gtZGlyZWN0aW9uIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYm94LWZsZXgiOiB0
cnVlLAotICAgICAgICAiLXdlYmtpdC1ib3gtZmxleC1ncm91cCI6IHRydWUsCi0gICAgICAgICIt
d2Via2l0LWJveC1saW5lcyI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWJveC1vcmRpbmFsLWdy
b3VwIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYm94LW9yaWVudCI6IHRydWUsCi0gICAgICAg
ICItd2Via2l0LWJveC1wYWNrIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtYm94LXJlZmxlY3Qi
OiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ib3gtc2hhZG93IjogdHJ1ZSwKLSAgICAgICAgIi13
ZWJraXQtYm94LXNpemluZyI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1icmVhay1h
ZnRlciI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1icmVhay1iZWZvcmUiOiB0cnVl
LAotICAgICAgICAiLXdlYmtpdC1jb2x1bW4tYnJlYWstaW5zaWRlIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtY29sdW1uLWNvdW50IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLWdh
cCI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1ydWxlIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtY29sdW1uLXJ1bGUtY29sb3IiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1jb2x1
bW4tcnVsZS1zdHlsZSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWNvbHVtbi1ydWxlLXdpZHRo
IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtY29sdW1uLXdpZHRoIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtY29sdW1ucyI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWZvbnQtc2l6ZS1kZWx0
YSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWZvbnQtc21vb3RoaW5nIjogdHJ1ZSwKLSAgICAg
ICAgIi13ZWJraXQtaGlnaGxpZ2h0IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtbGluZS1icmVh
ayI6IHRydWUsCi0gICAgICAgICItd2Via2l0LWxpbmUtY2xhbXAiOiB0cnVlLAotICAgICAgICAi
LXdlYmtpdC1tYXJnaW4tYm90dG9tLWNvbGxhcHNlIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQt
bWFyZ2luLWNvbGxhcHNlIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtbWFyZ2luLXN0YXJ0Ijog
dHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtbWFyZ2luLXRvcC1jb2xsYXBzZSI6IHRydWUsCi0gICAg
ICAgICItd2Via2l0LW1hcnF1ZWUiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXJxdWVlLWRp
cmVjdGlvbiI6IHRydWUsCi0gICAgICAgICItd2Via2l0LW1hcnF1ZWUtaW5jcmVtZW50IjogdHJ1
ZSwKLSAgICAgICAgIi13ZWJraXQtbWFycXVlZS1yZXBldGl0aW9uIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtbWFycXVlZS1zcGVlZCI6IHRydWUsCi0gICAgICAgICItd2Via2l0LW1hcnF1ZWUt
c3R5bGUiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrIjogdHJ1ZSwKLSAgICAgICAgIi13
ZWJraXQtbWFzay1hdHRhY2htZW50IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtbWFzay1ib3gt
aW1hZ2UiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrLWNsaXAiOiB0cnVlLAotICAgICAg
ICAiLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LW1hc2st
aW1hZ2UiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrLW9yaWdpbiI6IHRydWUsCi0gICAg
ICAgICItd2Via2l0LW1hc2stcG9zaXRpb24iOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNr
LXBvc2l0aW9uLXgiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrLXBvc2l0aW9uLXkiOiB0
cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrLXJlcGVhdCI6IHRydWUsCi0gICAgICAgICItd2Vi
a2l0LW1hc2stcmVwZWF0LXgiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1tYXNrLXJlcGVhdC15
IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtbWFzay1zaXplIjogdHJ1ZSwKLSAgICAgICAgIi13
ZWJraXQtbWF0Y2gtbmVhcmVzdC1tYWlsLWJsb2NrcXVvdGUtY29sb3IiOiB0cnVlLAotICAgICAg
ICAiLXdlYmtpdC1uYnNwLW1vZGUiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1wYWRkaW5nLXN0
YXJ0IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtcGVyc3BlY3RpdmUiOiB0cnVlLAotICAgICAg
ICAiLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW4iOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1w
ZXJzcGVjdGl2ZS1vcmlnaW4teCI6IHRydWUsCi0gICAgICAgICItd2Via2l0LXBlcnNwZWN0aXZl
LW9yaWdpbi15IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtcnRsLW9yZGVyaW5nIjogdHJ1ZSwK
LSAgICAgICAgIi13ZWJraXQtdGV4dC1kZWNvcmF0aW9ucy1pbi1lZmZlY3QiOiB0cnVlLAotICAg
ICAgICAiLXdlYmtpdC10ZXh0LWZpbGwtY29sb3IiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC10
ZXh0LXNlY3VyaXR5IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtdGV4dC1zaXplLWFkanVzdCI6
IHRydWUsCi0gICAgICAgICItd2Via2l0LXRleHQtc3Ryb2tlIjogdHJ1ZSwKLSAgICAgICAgIi13
ZWJraXQtdGV4dC1zdHJva2UtY29sb3IiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC10ZXh0LXN0
cm9rZS13aWR0aCI6IHRydWUsCi0gICAgICAgICItd2Via2l0LXRyYW5zZm9ybSI6IHRydWUsCi0g
ICAgICAgICItd2Via2l0LXRyYW5zZm9ybS1vcmlnaW4iOiB0cnVlLAotICAgICAgICAiLXdlYmtp
dC10cmFuc2Zvcm0tb3JpZ2luLXgiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0t
b3JpZ2luLXkiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luLXoiOiB0
cnVlLAotICAgICAgICAiLXdlYmtpdC10cmFuc2Zvcm0tc3R5bGUiOiB0cnVlLAotICAgICAgICAi
LXdlYmtpdC10cmFuc2l0aW9uIjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtdHJhbnNpdGlvbi1k
ZWxheSI6IHRydWUsCi0gICAgICAgICItd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb24iOiB0cnVl
LAotICAgICAgICAiLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5IjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iOiB0cnVlLAotICAgICAgICAiLXdl
YmtpdC11c2VyLWRyYWciOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC11c2VyLW1vZGlmeSI6IHRy
dWUsCi0gICAgICAgICItd2Via2l0LXVzZXItc2VsZWN0IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJr
aXQtdmFyaWFibGUtZGVjbGFyYXRpb24tYmxvY2siOiB0cnVlCi0gICAgfTsKLSAgICBmdW5jdGlv
biBwcm9wZXJ0eUFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29yICs9IHRv
a2VuLmxlbmd0aDsKLSAgICAgICAgaWYgKHRva2VuIGluIHByb3BlcnR5S2V5d29yZHMpIHsKLSAg
ICAgICAgICAgIHRoaXMuYXBwZW5kTm9uVG9rZW4uY2FsbCh0aGlzKTsKLSAgICAgICAgICAgIHRo
aXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtY3Nz
LXByb3BlcnR5IikpOwotICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgIHRoaXMubm9uVG9rZW4g
Kz0gdG9rZW47Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGRlY2xhcmF0aW9uQ29sb25BY3Rp
b24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0g
ICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47Ci0gICAgICAgIHRoaXMubGV4U3RhdGUgPSB0
aGlzLkxleFN0YXRlLkRlY2xhcmF0aW9uVmFsdWU7Ci0gICAgfQotCi0gICAgY29uc3QgdmFsdWVL
ZXl3b3JkcyA9IHsKLSAgICAgICAgImluaGVyaXQiOiB0cnVlLAotICAgICAgICAiaW5pdGlhbCI6
IHRydWUsCi0gICAgICAgICJub25lIjogdHJ1ZSwKLSAgICAgICAgImhpZGRlbiI6IHRydWUsCi0g
ICAgICAgICJpbnNldCI6IHRydWUsCi0gICAgICAgICJncm9vdmUiOiB0cnVlLAotICAgICAgICAi
cmlkZ2UiOiB0cnVlLAotICAgICAgICAib3V0c2V0IjogdHJ1ZSwKLSAgICAgICAgImRvdHRlZCI6
IHRydWUsCi0gICAgICAgICJkYXNoZWQiOiB0cnVlLAotICAgICAgICAic29saWQiOiB0cnVlLAot
ICAgICAgICAiZG91YmxlIjogdHJ1ZSwKLSAgICAgICAgImNhcHRpb24iOiB0cnVlLAotICAgICAg
ICAiaWNvbiI6IHRydWUsCi0gICAgICAgICJtZW51IjogdHJ1ZSwKLSAgICAgICAgIm1lc3NhZ2Ut
Ym94IjogdHJ1ZSwKLSAgICAgICAgInNtYWxsLWNhcHRpb24iOiB0cnVlLAotICAgICAgICAiLXdl
YmtpdC1taW5pLWNvbnRyb2wiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1zbWFsbC1jb250cm9s
IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtY29udHJvbCI6IHRydWUsCi0gICAgICAgICJzdGF0
dXMtYmFyIjogdHJ1ZSwKLSAgICAgICAgIml0YWxpYyI6IHRydWUsCi0gICAgICAgICJvYmxpcXVl
IjogdHJ1ZSwKLSAgICAgICAgImFsbCI6IHRydWUsCi0gICAgICAgICJzbWFsbC1jYXBzIjogdHJ1
ZSwKLSAgICAgICAgIm5vcm1hbCI6IHRydWUsCi0gICAgICAgICJib2xkIjogdHJ1ZSwKLSAgICAg
ICAgImJvbGRlciI6IHRydWUsCi0gICAgICAgICJsaWdodGVyIjogdHJ1ZSwKLSAgICAgICAgInh4
LXNtYWxsIjogdHJ1ZSwKLSAgICAgICAgIngtc21hbGwiOiB0cnVlLAotICAgICAgICAic21hbGwi
OiB0cnVlLAotICAgICAgICAibWVkaXVtIjogdHJ1ZSwKLSAgICAgICAgImxhcmdlIjogdHJ1ZSwK
LSAgICAgICAgIngtbGFyZ2UiOiB0cnVlLAotICAgICAgICAieHgtbGFyZ2UiOiB0cnVlLAotICAg
ICAgICAiLXdlYmtpdC14eHgtbGFyZ2UiOiB0cnVlLAotICAgICAgICAic21hbGxlciI6IHRydWUs
Ci0gICAgICAgICJsYXJnZXIiOiB0cnVlLAotICAgICAgICAid2lkZXIiOiB0cnVlLAotICAgICAg
ICAibmFycm93ZXIiOiB0cnVlLAotICAgICAgICAidWx0cmEtY29uZGVuc2VkIjogdHJ1ZSwKLSAg
ICAgICAgImV4dHJhLWNvbmRlbnNlZCI6IHRydWUsCi0gICAgICAgICJjb25kZW5zZWQiOiB0cnVl
LAotICAgICAgICAic2VtaS1jb25kZW5zZWQiOiB0cnVlLAotICAgICAgICAic2VtaS1leHBhbmRl
ZCI6IHRydWUsCi0gICAgICAgICJleHBhbmRlZCI6IHRydWUsCi0gICAgICAgICJleHRyYS1leHBh
bmRlZCI6IHRydWUsCi0gICAgICAgICJ1bHRyYS1leHBhbmRlZCI6IHRydWUsCi0gICAgICAgICJz
ZXJpZiI6IHRydWUsCi0gICAgICAgICJzYW5zLXNlcmlmIjogdHJ1ZSwKLSAgICAgICAgImN1cnNp
dmUiOiB0cnVlLAotICAgICAgICAiZmFudGFzeSI6IHRydWUsCi0gICAgICAgICJtb25vc3BhY2Ui
OiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ib2R5IjogdHJ1ZSwKLSAgICAgICAgImFxdWEiOiB0
cnVlLAotICAgICAgICAiYmxhY2siOiB0cnVlLAotICAgICAgICAiYmx1ZSI6IHRydWUsCi0gICAg
ICAgICJmdWNoc2lhIjogdHJ1ZSwKLSAgICAgICAgImdyYXkiOiB0cnVlLAotICAgICAgICAiZ3Jl
ZW4iOiB0cnVlLAotICAgICAgICAibGltZSI6IHRydWUsCi0gICAgICAgICJtYXJvb24iOiB0cnVl
LAotICAgICAgICAibmF2eSI6IHRydWUsCi0gICAgICAgICJvbGl2ZSI6IHRydWUsCi0gICAgICAg
ICJvcmFuZ2UiOiB0cnVlLAotICAgICAgICAicHVycGxlIjogdHJ1ZSwKLSAgICAgICAgInJlZCI6
IHRydWUsCi0gICAgICAgICJzaWx2ZXIiOiB0cnVlLAotICAgICAgICAidGVhbCI6IHRydWUsCi0g
ICAgICAgICJ3aGl0ZSI6IHRydWUsCi0gICAgICAgICJ5ZWxsb3ciOiB0cnVlLAotICAgICAgICAi
dHJhbnNwYXJlbnQiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1saW5rIjogdHJ1ZSwKLSAgICAg
ICAgIi13ZWJraXQtYWN0aXZlbGluayI6IHRydWUsCi0gICAgICAgICJhY3RpdmVib3JkZXIiOiB0
cnVlLAotICAgICAgICAiYWN0aXZlY2FwdGlvbiI6IHRydWUsCi0gICAgICAgICJhcHB3b3Jrc3Bh
Y2UiOiB0cnVlLAotICAgICAgICAiYmFja2dyb3VuZCI6IHRydWUsCi0gICAgICAgICJidXR0b25m
YWNlIjogdHJ1ZSwKLSAgICAgICAgImJ1dHRvbmhpZ2hsaWdodCI6IHRydWUsCi0gICAgICAgICJi
dXR0b25zaGFkb3ciOiB0cnVlLAotICAgICAgICAiYnV0dG9udGV4dCI6IHRydWUsCi0gICAgICAg
ICJjYXB0aW9udGV4dCI6IHRydWUsCi0gICAgICAgICJncmF5dGV4dCI6IHRydWUsCi0gICAgICAg
ICJoaWdobGlnaHQiOiB0cnVlLAotICAgICAgICAiaGlnaGxpZ2h0dGV4dCI6IHRydWUsCi0gICAg
ICAgICJpbmFjdGl2ZWJvcmRlciI6IHRydWUsCi0gICAgICAgICJpbmFjdGl2ZWNhcHRpb24iOiB0
cnVlLAotICAgICAgICAiaW5hY3RpdmVjYXB0aW9udGV4dCI6IHRydWUsCi0gICAgICAgICJpbmZv
YmFja2dyb3VuZCI6IHRydWUsCi0gICAgICAgICJpbmZvdGV4dCI6IHRydWUsCi0gICAgICAgICJt
YXRjaCI6IHRydWUsCi0gICAgICAgICJtZW51dGV4dCI6IHRydWUsCi0gICAgICAgICJzY3JvbGxi
YXIiOiB0cnVlLAotICAgICAgICAidGhyZWVkZGFya3NoYWRvdyI6IHRydWUsCi0gICAgICAgICJ0
aHJlZWRmYWNlIjogdHJ1ZSwKLSAgICAgICAgInRocmVlZGhpZ2hsaWdodCI6IHRydWUsCi0gICAg
ICAgICJ0aHJlZWRsaWdodHNoYWRvdyI6IHRydWUsCi0gICAgICAgICJ0aHJlZWRzaGFkb3ciOiB0
cnVlLAotICAgICAgICAid2luZG93IjogdHJ1ZSwKLSAgICAgICAgIndpbmRvd2ZyYW1lIjogdHJ1
ZSwKLSAgICAgICAgIndpbmRvd3RleHQiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1mb2N1cy1y
aW5nLWNvbG9yIjogdHJ1ZSwKLSAgICAgICAgImN1cnJlbnRjb2xvciI6IHRydWUsCi0gICAgICAg
ICJncmV5IjogdHJ1ZSwKLSAgICAgICAgIi13ZWJraXQtdGV4dCI6IHRydWUsCi0gICAgICAgICJy
ZXBlYXQiOiB0cnVlLAotICAgICAgICAicmVwZWF0LXgiOiB0cnVlLAotICAgICAgICAicmVwZWF0
LXkiOiB0cnVlLAotICAgICAgICAibm8tcmVwZWF0IjogdHJ1ZSwKLSAgICAgICAgImNsZWFyIjog
dHJ1ZSwKLSAgICAgICAgImNvcHkiOiB0cnVlLAotICAgICAgICAic291cmNlLW92ZXIiOiB0cnVl
LAotICAgICAgICAic291cmNlLWluIjogdHJ1ZSwKLSAgICAgICAgInNvdXJjZS1vdXQiOiB0cnVl
LAotICAgICAgICAic291cmNlLWF0b3AiOiB0cnVlLAotICAgICAgICAiZGVzdGluYXRpb24tb3Zl
ciI6IHRydWUsCi0gICAgICAgICJkZXN0aW5hdGlvbi1pbiI6IHRydWUsCi0gICAgICAgICJkZXN0
aW5hdGlvbi1vdXQiOiB0cnVlLAotICAgICAgICAiZGVzdGluYXRpb24tYXRvcCI6IHRydWUsCi0g
ICAgICAgICJ4b3IiOiB0cnVlLAotICAgICAgICAicGx1cy1kYXJrZXIiOiB0cnVlLAotICAgICAg
ICAicGx1cy1saWdodGVyIjogdHJ1ZSwKLSAgICAgICAgImJhc2VsaW5lIjogdHJ1ZSwKLSAgICAg
ICAgIm1pZGRsZSI6IHRydWUsCi0gICAgICAgICJzdWIiOiB0cnVlLAotICAgICAgICAic3VwZXIi
OiB0cnVlLAotICAgICAgICAidGV4dC10b3AiOiB0cnVlLAotICAgICAgICAidGV4dC1ib3R0b20i
OiB0cnVlLAotICAgICAgICAidG9wIjogdHJ1ZSwKLSAgICAgICAgImJvdHRvbSI6IHRydWUsCi0g
ICAgICAgICItd2Via2l0LWJhc2VsaW5lLW1pZGRsZSI6IHRydWUsCi0gICAgICAgICItd2Via2l0
LWF1dG8iOiB0cnVlLAotICAgICAgICAibGVmdCI6IHRydWUsCi0gICAgICAgICJyaWdodCI6IHRy
dWUsCi0gICAgICAgICJjZW50ZXIiOiB0cnVlLAotICAgICAgICAianVzdGlmeSI6IHRydWUsCi0g
ICAgICAgICItd2Via2l0LWxlZnQiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1yaWdodCI6IHRy
dWUsCi0gICAgICAgICItd2Via2l0LWNlbnRlciI6IHRydWUsCi0gICAgICAgICJvdXRzaWRlIjog
dHJ1ZSwKLSAgICAgICAgImluc2lkZSI6IHRydWUsCi0gICAgICAgICJkaXNjIjogdHJ1ZSwKLSAg
ICAgICAgImNpcmNsZSI6IHRydWUsCi0gICAgICAgICJzcXVhcmUiOiB0cnVlLAotICAgICAgICAi
ZGVjaW1hbCI6IHRydWUsCi0gICAgICAgICJkZWNpbWFsLWxlYWRpbmctemVybyI6IHRydWUsCi0g
ICAgICAgICJsb3dlci1yb21hbiI6IHRydWUsCi0gICAgICAgICJ1cHBlci1yb21hbiI6IHRydWUs
Ci0gICAgICAgICJsb3dlci1ncmVlayI6IHRydWUsCi0gICAgICAgICJsb3dlci1hbHBoYSI6IHRy
dWUsCi0gICAgICAgICJsb3dlci1sYXRpbiI6IHRydWUsCi0gICAgICAgICJ1cHBlci1hbHBoYSI6
IHRydWUsCi0gICAgICAgICJ1cHBlci1sYXRpbiI6IHRydWUsCi0gICAgICAgICJoZWJyZXciOiB0
cnVlLAotICAgICAgICAiYXJtZW5pYW4iOiB0cnVlLAotICAgICAgICAiZ2VvcmdpYW4iOiB0cnVl
LAotICAgICAgICAiY2prLWlkZW9ncmFwaGljIjogdHJ1ZSwKLSAgICAgICAgImhpcmFnYW5hIjog
dHJ1ZSwKLSAgICAgICAgImthdGFrYW5hIjogdHJ1ZSwKLSAgICAgICAgImhpcmFnYW5hLWlyb2hh
IjogdHJ1ZSwKLSAgICAgICAgImthdGFrYW5hLWlyb2hhIjogdHJ1ZSwKLSAgICAgICAgImlubGlu
ZSI6IHRydWUsCi0gICAgICAgICJibG9jayI6IHRydWUsCi0gICAgICAgICJsaXN0LWl0ZW0iOiB0
cnVlLAotICAgICAgICAicnVuLWluIjogdHJ1ZSwKLSAgICAgICAgImNvbXBhY3QiOiB0cnVlLAot
ICAgICAgICAiaW5saW5lLWJsb2NrIjogdHJ1ZSwKLSAgICAgICAgInRhYmxlIjogdHJ1ZSwKLSAg
ICAgICAgImlubGluZS10YWJsZSI6IHRydWUsCi0gICAgICAgICJ0YWJsZS1yb3ctZ3JvdXAiOiB0
cnVlLAotICAgICAgICAidGFibGUtaGVhZGVyLWdyb3VwIjogdHJ1ZSwKLSAgICAgICAgInRhYmxl
LWZvb3Rlci1ncm91cCI6IHRydWUsCi0gICAgICAgICJ0YWJsZS1yb3ciOiB0cnVlLAotICAgICAg
ICAidGFibGUtY29sdW1uLWdyb3VwIjogdHJ1ZSwKLSAgICAgICAgInRhYmxlLWNvbHVtbiI6IHRy
dWUsCi0gICAgICAgICJ0YWJsZS1jZWxsIjogdHJ1ZSwKLSAgICAgICAgInRhYmxlLWNhcHRpb24i
OiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ib3giOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1p
bmxpbmUtYm94IjogdHJ1ZSwKLSAgICAgICAgIi13YXAtbWFycXVlZSI6IHRydWUsCi0gICAgICAg
ICJhdXRvIjogdHJ1ZSwKLSAgICAgICAgImNyb3NzaGFpciI6IHRydWUsCi0gICAgICAgICJkZWZh
dWx0IjogdHJ1ZSwKLSAgICAgICAgInBvaW50ZXIiOiB0cnVlLAotICAgICAgICAibW92ZSI6IHRy
dWUsCi0gICAgICAgICJ2ZXJ0aWNhbC10ZXh0IjogdHJ1ZSwKLSAgICAgICAgImNlbGwiOiB0cnVl
LAotICAgICAgICAiY29udGV4dC1tZW51IjogdHJ1ZSwKLSAgICAgICAgImFsaWFzIjogdHJ1ZSwK
LSAgICAgICAgInByb2dyZXNzIjogdHJ1ZSwKLSAgICAgICAgIm5vLWRyb3AiOiB0cnVlLAotICAg
ICAgICAibm90LWFsbG93ZWQiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC16b29tLWluIjogdHJ1
ZSwKLSAgICAgICAgIi13ZWJraXQtem9vbS1vdXQiOiB0cnVlLAotICAgICAgICAiZS1yZXNpemUi
OiB0cnVlLAotICAgICAgICAibmUtcmVzaXplIjogdHJ1ZSwKLSAgICAgICAgIm53LXJlc2l6ZSI6
IHRydWUsCi0gICAgICAgICJuLXJlc2l6ZSI6IHRydWUsCi0gICAgICAgICJzZS1yZXNpemUiOiB0
cnVlLAotICAgICAgICAic3ctcmVzaXplIjogdHJ1ZSwKLSAgICAgICAgInMtcmVzaXplIjogdHJ1
ZSwKLSAgICAgICAgInctcmVzaXplIjogdHJ1ZSwKLSAgICAgICAgImV3LXJlc2l6ZSI6IHRydWUs
Ci0gICAgICAgICJucy1yZXNpemUiOiB0cnVlLAotICAgICAgICAibmVzdy1yZXNpemUiOiB0cnVl
LAotICAgICAgICAibndzZS1yZXNpemUiOiB0cnVlLAotICAgICAgICAiY29sLXJlc2l6ZSI6IHRy
dWUsCi0gICAgICAgICJyb3ctcmVzaXplIjogdHJ1ZSwKLSAgICAgICAgInRleHQiOiB0cnVlLAot
ICAgICAgICAid2FpdCI6IHRydWUsCi0gICAgICAgICJoZWxwIjogdHJ1ZSwKLSAgICAgICAgImFs
bC1zY3JvbGwiOiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ncmFiIjogdHJ1ZSwKLSAgICAgICAg
Ii13ZWJraXQtZ3JhYmJpbmciOiB0cnVlLAotICAgICAgICAibHRyIjogdHJ1ZSwKLSAgICAgICAg
InJ0bCI6IHRydWUsCi0gICAgICAgICJjYXBpdGFsaXplIjogdHJ1ZSwKLSAgICAgICAgInVwcGVy
Y2FzZSI6IHRydWUsCi0gICAgICAgICJsb3dlcmNhc2UiOiB0cnVlLAotICAgICAgICAidmlzaWJs
ZSI6IHRydWUsCi0gICAgICAgICJjb2xsYXBzZSI6IHRydWUsCi0gICAgICAgICJhYm92ZSI6IHRy
dWUsCi0gICAgICAgICJhYnNvbHV0ZSI6IHRydWUsCi0gICAgICAgICJhbHdheXMiOiB0cnVlLAot
ICAgICAgICAiYXZvaWQiOiB0cnVlLAotICAgICAgICAiYmVsb3ciOiB0cnVlLAotICAgICAgICAi
YmlkaS1vdmVycmlkZSI6IHRydWUsCi0gICAgICAgICJibGluayI6IHRydWUsCi0gICAgICAgICJi
b3RoIjogdHJ1ZSwKLSAgICAgICAgImNsb3NlLXF1b3RlIjogdHJ1ZSwKLSAgICAgICAgImNyb3Ai
OiB0cnVlLAotICAgICAgICAiY3Jvc3MiOiB0cnVlLAotICAgICAgICAiZW1iZWQiOiB0cnVlLAot
ICAgICAgICAiZml4ZWQiOiB0cnVlLAotICAgICAgICAiaGFuZCI6IHRydWUsCi0gICAgICAgICJo
aWRlIjogdHJ1ZSwKLSAgICAgICAgImhpZ2hlciI6IHRydWUsCi0gICAgICAgICJpbnZlcnQiOiB0
cnVlLAotICAgICAgICAibGFuZHNjYXBlIjogdHJ1ZSwKLSAgICAgICAgImxldmVsIjogdHJ1ZSwK
LSAgICAgICAgImxpbmUtdGhyb3VnaCI6IHRydWUsCi0gICAgICAgICJsb2NhbCI6IHRydWUsCi0g
ICAgICAgICJsb3VkIjogdHJ1ZSwKLSAgICAgICAgImxvd2VyIjogdHJ1ZSwKLSAgICAgICAgIi13
ZWJraXQtbWFycXVlZSI6IHRydWUsCi0gICAgICAgICJtaXgiOiB0cnVlLAotICAgICAgICAibm8t
Y2xvc2UtcXVvdGUiOiB0cnVlLAotICAgICAgICAibm8tb3Blbi1xdW90ZSI6IHRydWUsCi0gICAg
ICAgICJub3dyYXAiOiB0cnVlLAotICAgICAgICAib3Blbi1xdW90ZSI6IHRydWUsCi0gICAgICAg
ICJvdmVybGF5IjogdHJ1ZSwKLSAgICAgICAgIm92ZXJsaW5lIjogdHJ1ZSwKLSAgICAgICAgInBv
cnRyYWl0IjogdHJ1ZSwKLSAgICAgICAgInByZSI6IHRydWUsCi0gICAgICAgICJwcmUtbGluZSI6
IHRydWUsCi0gICAgICAgICJwcmUtd3JhcCI6IHRydWUsCi0gICAgICAgICJyZWxhdGl2ZSI6IHRy
dWUsCi0gICAgICAgICJzY3JvbGwiOiB0cnVlLAotICAgICAgICAic2VwYXJhdGUiOiB0cnVlLAot
ICAgICAgICAic2hvdyI6IHRydWUsCi0gICAgICAgICJzdGF0aWMiOiB0cnVlLAotICAgICAgICAi
dGhpY2siOiB0cnVlLAotICAgICAgICAidGhpbiI6IHRydWUsCi0gICAgICAgICJ1bmRlcmxpbmUi
OiB0cnVlLAotICAgICAgICAiLXdlYmtpdC1ub3dyYXAiOiB0cnVlLAotICAgICAgICAic3RyZXRj
aCI6IHRydWUsCi0gICAgICAgICJzdGFydCI6IHRydWUsCi0gICAgICAgICJlbmQiOiB0cnVlLAot
ICAgICAgICAicmV2ZXJzZSI6IHRydWUsCi0gICAgICAgICJob3Jpem9udGFsIjogdHJ1ZSwKLSAg
ICAgICAgInZlcnRpY2FsIjogdHJ1ZSwKLSAgICAgICAgImlubGluZS1heGlzIjogdHJ1ZSwKLSAg
ICAgICAgImJsb2NrLWF4aXMiOiB0cnVlLAotICAgICAgICAic2luZ2xlIjogdHJ1ZSwKLSAgICAg
ICAgIm11bHRpcGxlIjogdHJ1ZSwKLSAgICAgICAgImZvcndhcmRzIjogdHJ1ZSwKLSAgICAgICAg
ImJhY2t3YXJkcyI6IHRydWUsCi0gICAgICAgICJhaGVhZCI6IHRydWUsCi0gICAgICAgICJ1cCI6
IHRydWUsCi0gICAgICAgICJkb3duIjogdHJ1ZSwKLSAgICAgICAgInNsb3ciOiB0cnVlLAotICAg
ICAgICAiZmFzdCI6IHRydWUsCi0gICAgICAgICJpbmZpbml0ZSI6IHRydWUsCi0gICAgICAgICJz
bGlkZSI6IHRydWUsCi0gICAgICAgICJhbHRlcm5hdGUiOiB0cnVlLAotICAgICAgICAicmVhZC1v
bmx5IjogdHJ1ZSwKLSAgICAgICAgInJlYWQtd3JpdGUiOiB0cnVlLAotICAgICAgICAicmVhZC13
cml0ZS1wbGFpbnRleHQtb25seSI6IHRydWUsCi0gICAgICAgICJlbGVtZW50IjogdHJ1ZSwKLSAg
ICAgICAgImlnbm9yZSI6IHRydWUsCi0gICAgICAgICJpbnRyaW5zaWMiOiB0cnVlLAotICAgICAg
ICAibWluLWludHJpbnNpYyI6IHRydWUsCi0gICAgICAgICJjbGlwIjogdHJ1ZSwKLSAgICAgICAg
ImVsbGlwc2lzIjogdHJ1ZSwKLSAgICAgICAgImRpc2NhcmQiOiB0cnVlLAotICAgICAgICAiZG90
LWRhc2giOiB0cnVlLAotICAgICAgICAiZG90LWRvdC1kYXNoIjogdHJ1ZSwKLSAgICAgICAgIndh
dmUiOiB0cnVlLAotICAgICAgICAiY29udGludW91cyI6IHRydWUsCi0gICAgICAgICJza2lwLXdo
aXRlLXNwYWNlIjogdHJ1ZSwKLSAgICAgICAgImJyZWFrLWFsbCI6IHRydWUsCi0gICAgICAgICJi
cmVhay13b3JkIjogdHJ1ZSwKLSAgICAgICAgInNwYWNlIjogdHJ1ZSwKLSAgICAgICAgImFmdGVy
LXdoaXRlLXNwYWNlIjogdHJ1ZSwKLSAgICAgICAgImNoZWNrYm94IjogdHJ1ZSwKLSAgICAgICAg
InJhZGlvIjogdHJ1ZSwKLSAgICAgICAgInB1c2gtYnV0dG9uIjogdHJ1ZSwKLSAgICAgICAgInNx
dWFyZS1idXR0b24iOiB0cnVlLAotICAgICAgICAiYnV0dG9uIjogdHJ1ZSwKLSAgICAgICAgImJ1
dHRvbi1iZXZlbCI6IHRydWUsCi0gICAgICAgICJkZWZhdWx0LWJ1dHRvbiI6IHRydWUsCi0gICAg
ICAgICJsaXN0LWJ1dHRvbiI6IHRydWUsCi0gICAgICAgICJsaXN0Ym94IjogdHJ1ZSwKLSAgICAg
ICAgImxpc3RpdGVtIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlhLWZ1bGxzY3JlZW4tYnV0dG9uIjog
dHJ1ZSwKLSAgICAgICAgIm1lZGlhLW11dGUtYnV0dG9uIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlh
LXBsYXktYnV0dG9uIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlhLXNlZWstYmFjay1idXR0b24iOiB0
cnVlLAotICAgICAgICAibWVkaWEtc2Vlay1mb3J3YXJkLWJ1dHRvbiI6IHRydWUsCi0gICAgICAg
ICJtZWRpYS1yZXdpbmQtYnV0dG9uIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlhLXJldHVybi10by1y
ZWFsdGltZS1idXR0b24iOiB0cnVlLAotICAgICAgICAibWVkaWEtc2xpZGVyIjogdHJ1ZSwKLSAg
ICAgICAgIm1lZGlhLXNsaWRlcnRodW1iIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlhLXZvbHVtZS1z
bGlkZXItY29udGFpbmVyIjogdHJ1ZSwKLSAgICAgICAgIm1lZGlhLXZvbHVtZS1zbGlkZXIiOiB0
cnVlLAotICAgICAgICAibWVkaWEtdm9sdW1lLXNsaWRlcnRodW1iIjogdHJ1ZSwKLSAgICAgICAg
Im1lZGlhLWNvbnRyb2xzLWJhY2tncm91bmQiOiB0cnVlLAotICAgICAgICAibWVkaWEtY3VycmVu
dC10aW1lLWRpc3BsYXkiOiB0cnVlLAotICAgICAgICAibWVkaWEtdGltZS1yZW1haW5pbmctZGlz
cGxheSI6IHRydWUsCi0gICAgICAgICJtZW51bGlzdCI6IHRydWUsCi0gICAgICAgICJtZW51bGlz
dC1idXR0b24iOiB0cnVlLAotICAgICAgICAibWVudWxpc3QtdGV4dCI6IHRydWUsCi0gICAgICAg
ICJtZW51bGlzdC10ZXh0ZmllbGQiOiB0cnVlLAotICAgICAgICAic2xpZGVyLWhvcml6b250YWwi
OiB0cnVlLAotICAgICAgICAic2xpZGVyLXZlcnRpY2FsIjogdHJ1ZSwKLSAgICAgICAgInNsaWRl
cnRodW1iLWhvcml6b250YWwiOiB0cnVlLAotICAgICAgICAic2xpZGVydGh1bWItdmVydGljYWwi
OiB0cnVlLAotICAgICAgICAiY2FyZXQiOiB0cnVlLAotICAgICAgICAic2VhcmNoZmllbGQiOiB0
cnVlLAotICAgICAgICAic2VhcmNoZmllbGQtZGVjb3JhdGlvbiI6IHRydWUsCi0gICAgICAgICJz
ZWFyY2hmaWVsZC1yZXN1bHRzLWRlY29yYXRpb24iOiB0cnVlLAotICAgICAgICAic2VhcmNoZmll
bGQtcmVzdWx0cy1idXR0b24iOiB0cnVlLAotICAgICAgICAic2VhcmNoZmllbGQtY2FuY2VsLWJ1
dHRvbiI6IHRydWUsCi0gICAgICAgICJ0ZXh0ZmllbGQiOiB0cnVlLAotICAgICAgICAidGV4dGFy
ZWEiOiB0cnVlLAotICAgICAgICAiY2Fwcy1sb2NrLWluZGljYXRvciI6IHRydWUsCi0gICAgICAg
ICJyb3VuZCI6IHRydWUsCi0gICAgICAgICJib3JkZXIiOiB0cnVlLAotICAgICAgICAiYm9yZGVy
LWJveCI6IHRydWUsCi0gICAgICAgICJjb250ZW50IjogdHJ1ZSwKLSAgICAgICAgImNvbnRlbnQt
Ym94IjogdHJ1ZSwKLSAgICAgICAgInBhZGRpbmciOiB0cnVlLAotICAgICAgICAicGFkZGluZy1i
b3giOiB0cnVlLAotICAgICAgICAiY29udGFpbiI6IHRydWUsCi0gICAgICAgICJjb3ZlciI6IHRy
dWUsCi0gICAgICAgICJsb2dpY2FsIjogdHJ1ZSwKLSAgICAgICAgInZpc3VhbCI6IHRydWUsCi0g
ICAgICAgICJsaW5lcyI6IHRydWUsCi0gICAgICAgICJydW5uaW5nIjogdHJ1ZSwKLSAgICAgICAg
InBhdXNlZCI6IHRydWUsCi0gICAgICAgICJmbGF0IjogdHJ1ZSwKLSAgICAgICAgInByZXNlcnZl
LTNkIjogdHJ1ZSwKLSAgICAgICAgImVhc2UiOiB0cnVlLAotICAgICAgICAibGluZWFyIjogdHJ1
ZSwKLSAgICAgICAgImVhc2UtaW4iOiB0cnVlLAotICAgICAgICAiZWFzZS1vdXQiOiB0cnVlLAot
ICAgICAgICAiZWFzZS1pbi1vdXQiOiB0cnVlLAotICAgICAgICAiZG9jdW1lbnQiOiB0cnVlLAot
ICAgICAgICAicmVzZXQiOiB0cnVlLAotICAgICAgICAidmlzaWJsZVBhaW50ZWQiOiB0cnVlLAot
ICAgICAgICAidmlzaWJsZUZpbGwiOiB0cnVlLAotICAgICAgICAidmlzaWJsZVN0cm9rZSI6IHRy
dWUsCi0gICAgICAgICJwYWludGVkIjogdHJ1ZSwKLSAgICAgICAgImZpbGwiOiB0cnVlLAotICAg
ICAgICAic3Ryb2tlIjogdHJ1ZSwKLSAgICAgICAgImFudGlhbGlhc2VkIjogdHJ1ZSwKLSAgICAg
ICAgInN1YnBpeGVsLWFudGlhbGlhc2VkIjogdHJ1ZSwKLSAgICAgICAgIm9wdGltaXplU3BlZWQi
OiB0cnVlLAotICAgICAgICAib3B0aW1pemVMZWdpYmlsaXR5IjogdHJ1ZSwKLSAgICAgICAgImdl
b21ldHJpY1ByZWNpc2lvbiI6IHRydWUKLSAgICB9OwotICAgIGZ1bmN0aW9uIHZhbHVlSWRlbnRB
Y3Rpb24odG9rZW4pIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAg
ICAgICBpZiAodG9rZW4gaW4gdmFsdWVLZXl3b3JkcykgewotICAgICAgICAgICAgdGhpcy5hcHBl
bmROb25Ub2tlbi5jYWxsKHRoaXMpOwotICAgICAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENo
aWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mta2V5d29yZCIpKTsKLSAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAgIH0KLQot
ICAgIGZ1bmN0aW9uIG51bXZhbHVlQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5j
dXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQo
dGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNzcy1udW1iZXIiKSk7Ci0gICAgfQotICAg
IAotICAgIGZ1bmN0aW9uIGRlY2xhcmF0aW9uU2VtaWNvbG9uQWN0aW9uKHRva2VuKQotICAgIHsK
LSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5vblRv
a2VuICs9IHRva2VuOwotICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EZWNs
YXJhdGlvblByb3BlcnR5OwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiB1cmxBY3Rpb24odG9r
ZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAg
IHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQt
Y3NzLXVybCIpKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gc3RyaW5nQWN0aW9uKHRva2Vu
KQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0
aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNz
cy1zdHJpbmciKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGNvbG9yQWN0aW9uKHRva2Vu
KQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0
aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWNz
cy1jb2xvciIpKTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gaW1wb3J0YW50QWN0aW9uKHRv
a2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAg
ICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0
LWNzcy1pbXBvcnRhbnQiKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGF0TWVkaWFBY3Rp
b24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0g
ICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3
ZWJraXQtY3NzLWF0LXJ1bGUiKSk7Ci0gICAgICAgIHRoaXMubGV4U3RhdGUgPSB0aGlzLkxleFN0
YXRlLkF0TWVkaWE7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHN0YXJ0QXRNZWRpYUJsb2Nr
QWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3Ro
OwotICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAgICAgICB0aGlzLmxleFN0YXRl
ID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBhdEtl
eWZyYW1lc0FjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2Vu
Lmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bh
bih0b2tlbiwgIndlYmtpdC1jc3MtYXQtcnVsZSIpKTsKLSAgICAgICAgdGhpcy5sZXhTdGF0ZSA9
IHRoaXMuTGV4U3RhdGUuQXRLZXlmcmFtZXM7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIHN0
YXJ0QXRLZXlmcmFtZXNCbG9ja0FjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vy
c29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5ub25Ub2tlbiArPSB0b2tlbjsKLSAg
ICAgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuSW5pdGlhbDsKLSAgICB9Ci0gICAg
Ci0gICAgZnVuY3Rpb24gYXRSdWxlQWN0aW9uKHRva2VuKSB7Ci0gICAgICAgIHRoaXMuY3Vyc29y
ICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMu
Y3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3MtYXQtcnVsZSIpKTsKLSAgICAgICAgdGhpcy5s
ZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuQXRSdWxlOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlv
biBlbmRBdFJ1bGVBY3Rpb24odG9rZW4pIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4u
bGVuZ3RoOwotICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAgICAgICB0aGlzLmxl
eFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlv
biBzdGFydEF0UnVsZUJsb2NrQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJz
b3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAg
ICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EZWNsYXJhdGlvblByb3BlcnR5Owot
ICAgIH0KLSAgICAKLSAgICBjb25zdCBtZWRpYVR5cGVzID0gWyJhbGwiLCAiYXVyYWwiLCAiYnJh
aWxsZSIsICJlbWJvc3NlZCIsICJoYW5kaGVsZCIsICJwcmludCIsICJwcm9qZWN0aW9uIiwgInNj
cmVlbiIsICJ0dHkiLCAidHYiXTsKLSAgICBmdW5jdGlvbiBhdFJ1bGVJZGVudEFjdGlvbih0b2tl
bikgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAgIGlmICht
ZWRpYVR5cGVzLmluZGV4T2YodG9rZW4pID09PSAtMSkKLSAgICAgICAgICAgIHRoaXMubm9uVG9r
ZW4gKz0gdG9rZW47Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgdGhpcy5hcHBlbmROb25U
b2tlbi5jYWxsKHRoaXMpOwotICAgICAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRo
aXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1jc3Mta2V5d29yZCIpKTsKLSAgICAgICAgfQot
ICAgIH0KLX0KLQotV2ViSW5zcGVjdG9yLkNTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3Rv
dHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJv
dG90eXBlOwotCi1XZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVy
ID0gZnVuY3Rpb24odGFibGUsIHNvdXJjZUZyYW1lKSB7Ci0gICAgV2ViSW5zcGVjdG9yLlNvdXJj
ZVN5bnRheEhpZ2hsaWdodGVyLmNhbGwodGhpcywgdGFibGUsIHNvdXJjZUZyYW1lKTsKLQotICAg
IHRoaXMuTGV4U3RhdGUgPSB7Ci0gICAgICAgIEluaXRpYWw6IDEsCi0gICAgICAgIERpdmlzaW9u
QWxsb3dlZDogMiwKLSAgICB9OwotICAgIHRoaXMuQ29udGludWVTdGF0ZSA9IHsKLSAgICAgICAg
Tm9uZTogMCwKLSAgICAgICAgQ29tbWVudDogMSwKLSAgICAgICAgU2luZ2xlUXVvdGVTdHJpbmc6
IDIsCi0gICAgICAgIERvdWJsZVF1b3RlU3RyaW5nOiAzLAotICAgICAgICBSZWdFeHA6IDQKLSAg
ICB9OwotICAgIAotICAgIHRoaXMubm9uVG9rZW4gPSAiIjsKLSAgICB0aGlzLmN1cnNvciA9IDA7
Ci0gICAgdGhpcy5saW5lSW5kZXggPSAtMTsKLSAgICB0aGlzLmxpbmVDb2RlID0gIiI7Ci0gICAg
dGhpcy5uZXdMaW5lID0gbnVsbDsKLSAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5J
bml0aWFsOwotICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Ob25l
OwotICAgIAotICAgIHRoaXMucnVsZXMgPSBbewotICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXC8u
KikvLAotICAgICAgICBhY3Rpb246IHNpbmdsZUxpbmVDb21tZW50QWN0aW9uCi0gICAgfSwgewot
ICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXCooPzpbXlwqXXxcKlteXC9dKSpcKitcLykvLAotICAg
ICAgICBhY3Rpb246IG11bHRpTGluZVNpbmdsZUxpbmVDb21tZW50QWN0aW9uCi0gICAgfSwgewot
ICAgICAgICBwYXR0ZXJuOiAvXig/OlwvXCooPzpbXlwqXXxcKlteXC9dKSopLywKLSAgICAgICAg
YWN0aW9uOiBtdWx0aUxpbmVDb21tZW50U3RhcnRBY3Rpb24KLSAgICB9LCB7Ci0gICAgICAgIHBh
dHRlcm46IC9eKD86KD86W15cKl18XCpbXlwvXSkqXCorXC8pLywKLSAgICAgICAgYWN0aW9uOiBt
dWx0aUxpbmVDb21tZW50RW5kQWN0aW9uLAotICAgICAgICBjb250aW51ZVN0YXRlQ29uZGl0aW9u
OiB0aGlzLkNvbnRpbnVlU3RhdGUuQ29tbWVudAotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjog
L14uKi8sCi0gICAgICAgIGFjdGlvbjogbXVsdGlMaW5lQ29tbWVudE1pZGRsZUFjdGlvbiwKLSAg
ICAgICAgY29udGludWVTdGF0ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLkNvbW1lbnQK
LSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eKD86KD86MHxbMS05XVxkKilcLlxkKz8oPzpb
ZUVdKD86XGQrfFwrXGQrfC1cZCspKT98XC5cZCsoPzpbZUVdKD86XGQrfFwrXGQrfC1cZCspKT98
KD86MHxbMS05XVxkKikoPzpbZUVdKD86XGQrfFwrXGQrfC1cZCspKT98MHhbMC05YS1mQS1GXSt8
MFhbMC05YS1mQS1GXSspLywKLSAgICAgICAgYWN0aW9uOiBudW1lcmljTGl0ZXJhbEFjdGlvbgot
ICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogL14oPzoiKD86W14iXFxdfFxcKD86WyciXGJmbnJ0
dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwoPzp1WzAtOWEt
ZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqInwnKD86W14nXFxdfFxc
KD86WyciXGJmbnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1G
XXwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqJykv
LAotICAgICAgICBhY3Rpb246IHN0cmluZ0xpdGVyYWxBY3Rpb24KLSAgICB9LCB7Ci0gICAgICAg
IHBhdHRlcm46IC9eKD86Jyg/OlteJ1xcXXxcXCg/OlsnIlxiZm5ydHZdfFteJyJcYmZucnR2MC05
eHVdfDB8eFswLTlhLWZBLUZdWzAtOWEtZkEtRl18KD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1b
MC05YS1mQS1GXVswLTlhLWZBLUZdKSkpKilcXCQvLAotICAgICAgICBhY3Rpb246IHNpbmdsZVF1
b3RlU3RyaW5nU3RhcnRBY3Rpb24KLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eKD86KD86
W14nXFxdfFxcKD86WyciXGJmbnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1b
MC05YS1mQS1GXXwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEt
Rl0pKSkqJykvLAotICAgICAgICBhY3Rpb246IHNpbmdsZVF1b3RlU3RyaW5nRW5kQWN0aW9uLAot
ICAgICAgICBjb250aW51ZVN0YXRlQ29uZGl0aW9uOiB0aGlzLkNvbnRpbnVlU3RhdGUuU2luZ2xl
UXVvdGVTdHJpbmcKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eKD86KD86W14nXFxdfFxc
KD86WyciXGJmbnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1G
XXwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqKVxc
JC8sCi0gICAgICAgIGFjdGlvbjogc2luZ2xlUXVvdGVTdHJpbmdNaWRkbGVBY3Rpb24sCi0gICAg
ICAgIGNvbnRpbnVlU3RhdGVDb25kaXRpb246IHRoaXMuQ29udGludWVTdGF0ZS5TaW5nbGVRdW90
ZVN0cmluZwotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogL14oPzoiKD86W14iXFxdfFxcKD86
WyciXGJmbnJ0dl18W14nIlxiZm5ydHYwLTl4dV18MHx4WzAtOWEtZkEtRl1bMC05YS1mQS1GXXwo
Pzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKSkqKVxcJC8s
Ci0gICAgICAgIGFjdGlvbjogZG91YmxlUXVvdGVTdHJpbmdTdGFydEFjdGlvbgotICAgIH0sIHsK
LSAgICAgICAgcGF0dGVybjogL14oPzooPzpbXiJcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJm
bnJ0djAtOXh1XXwwfHhbMC05YS1mQS1GXVswLTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlh
LWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXSkpKSoiKS8sCi0gICAgICAgIGFjdGlvbjogZG91
YmxlUXVvdGVTdHJpbmdFbmRBY3Rpb24sCi0gICAgICAgIGNvbnRpbnVlU3RhdGVDb25kaXRpb246
IHRoaXMuQ29udGludWVTdGF0ZS5Eb3VibGVRdW90ZVN0cmluZwotICAgIH0sIHsKLSAgICAgICAg
cGF0dGVybjogL14oPzooPzpbXiJcXF18XFwoPzpbJyJcYmZucnR2XXxbXiciXGJmbnJ0djAtOXh1
XXwwfHhbMC05YS1mQS1GXVswLTlhLWZBLUZdfCg/OnVbMC05YS1mQS1GXVswLTlhLWZBLUZdWzAt
OWEtZkEtRl1bMC05YS1mQS1GXSkpKSopXFwkLywKLSAgICAgICAgYWN0aW9uOiBkb3VibGVRdW90
ZVN0cmluZ01pZGRsZUFjdGlvbiwKLSAgICAgICAgY29udGludWVTdGF0ZUNvbmRpdGlvbjogdGhp
cy5Db250aW51ZVN0YXRlLkRvdWJsZVF1b3RlU3RyaW5nCi0gICAgfSwgewotICAgICAgICBwYXR0
ZXJuOiAvXig/Oig/OlthLXpBLVpdfFskX118XFwoPzp1WzAtOWEtZkEtRl1bMC05YS1mQS1GXVsw
LTlhLWZBLUZdWzAtOWEtZkEtRl0pKSg/Oig/OlthLXpBLVpdfFskX118XFwoPzp1WzAtOWEtZkEt
Rl1bMC05YS1mQS1GXVswLTlhLWZBLUZdWzAtOWEtZkEtRl0pKXxbMC05XSkqKS8sCi0gICAgICAg
IGFjdGlvbjogaWRlbnRPcktleXdvcmRBY3Rpb24KLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46
IC9eXCkvLAotICAgICAgICBhY3Rpb246IHJpZ2h0UGFyZW5BY3Rpb24sCi0gICAgICAgIGRvbnRB
cHBlbmROb25Ub2tlbjogdHJ1ZQotICAgIH0sIHsKLSAgICAgICAgcGF0dGVybjogL14oPzo8PXw+
PXw9PT18PT18IT18IT09fFwrXCt8XC1cLXw8PHw+Pnw+Pj58JiZ8XHxcfHxcKz18XC09fFwqPXwl
PXw8PD18Pj49fD4+Pj18Jj18XHw9fF49fFt7fVwoXFtcXVwuOyw8PlwrXC1cKiUmXHxcXiF+XD86
PV0pLywKLSAgICAgICAgYWN0aW9uOiBwdW5jdHVhdG9yQWN0aW9uLAotICAgICAgICBkb250QXBw
ZW5kTm9uVG9rZW46IHRydWUKLSAgICB9LCB7Ci0gICAgICAgIHBhdHRlcm46IC9eKD86XC89Pykv
LAotICAgICAgICBhY3Rpb246IGRpdlB1bmN0dWF0b3JBY3Rpb24sCi0gICAgICAgIGxleFN0YXRl
Q29uZGl0aW9uOiB0aGlzLkxleFN0YXRlLkRpdmlzaW9uQWxsb3dlZCwKLSAgICAgICAgZG9udEFw
cGVuZE5vblRva2VuOiB0cnVlCi0gICAgfSwgewotICAgICAgICBwYXR0ZXJuOiAvXig/OlwvKD86
KD86XFwuKXxbXlxcKlwvXSkoPzooPzpcXC4pfFteXFwvXSkqXC8oPzooPzpbYS16QS1aXXxbJF9d
fFxcKD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZdKSl8WzAt
OV0pKikvLAotICAgICAgICBhY3Rpb246IHJlZ0V4cExpdGVyYWxBY3Rpb24KLSAgICB9LCB7Ci0g
ICAgICAgIHBhdHRlcm46IC9eKD86XC8oPzooPzpcXC4pfFteXFwqXC9dKSg/Oig/OlxcLil8W15c
XC9dKSopXFwkLywKLSAgICAgICAgYWN0aW9uOiByZWdFeHBTdGFydEFjdGlvbgotICAgIH0sIHsK
LSAgICAgICAgcGF0dGVybjogL14oPzooPzooPzpcXC4pfFteXFwvXSkqXC8oPzooPzpbYS16QS1a
XXxbJF9dfFxcKD86dVswLTlhLWZBLUZdWzAtOWEtZkEtRl1bMC05YS1mQS1GXVswLTlhLWZBLUZd
KSl8WzAtOV0pKikvLAotICAgICAgICBhY3Rpb246IHJlZ0V4cEVuZEFjdGlvbiwKLSAgICAgICAg
Y29udGludWVTdGF0ZUNvbmRpdGlvbjogdGhpcy5Db250aW51ZVN0YXRlLlJlZ0V4cAotICAgIH0s
IHsKLSAgICAgICAgcGF0dGVybjogL14oPzooPzooPzpcXC4pfFteXFwvXSkqKVxcJC8sCi0gICAg
ICAgIGFjdGlvbjogcmVnRXhwTWlkZGxlQWN0aW9uLAotICAgICAgICBjb250aW51ZVN0YXRlQ29u
ZGl0aW9uOiB0aGlzLkNvbnRpbnVlU3RhdGUuUmVnRXhwCi0gICAgfV07Ci0gICAgCi0gICAgZnVu
Y3Rpb24gc2luZ2xlTGluZUNvbW1lbnRBY3Rpb24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlz
LmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGls
ZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50IikpOwot
ICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBtdWx0aUxpbmVTaW5nbGVMaW5lQ29tbWVudEFjdGlv
bih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKLSAg
ICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndl
YmtpdC1qYXZhc2NyaXB0LWNvbW1lbnQiKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIG11
bHRpTGluZUNvbW1lbnRTdGFydEFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vy
c29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRo
aXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LWNvbW1lbnQiKSk7Ci0gICAg
ICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Db21tZW50OwotICAg
IH0KLSAgICAKLSAgICBmdW5jdGlvbiBtdWx0aUxpbmVDb21tZW50RW5kQWN0aW9uKHRva2VuKQot
ICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlz
Lm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFz
Y3JpcHQtY29tbWVudCIpKTsKLSAgICAgICAgdGhpcy5jb250aW51ZVN0YXRlID0gdGhpcy5Db250
aW51ZVN0YXRlLk5vbmU7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIG11bHRpTGluZUNvbW1l
bnRNaWRkbGVBY3Rpb24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tl
bi5sZW5ndGg7Ci0gICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNw
YW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1jb21tZW50IikpOwotICAgIH0KLSAgICAKLSAg
ICBmdW5jdGlvbiBudW1lcmljTGl0ZXJhbEFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRo
aXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENo
aWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LW51bWJlciIpKTsK
LSAgICAgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuRGl2aXNpb25BbGxvd2VkOwot
ICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBzdHJpbmdMaXRlcmFsQWN0aW9uKHRva2VuKQotICAg
IHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5l
d0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3Jp
cHQtc3RyaW5nIikpOwotICAgICAgICB0aGlzLmxleFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0
aWFsOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBzaW5nbGVRdW90ZVN0cmluZ1N0YXJ0QWN0
aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwot
ICAgICAgICB0aGlzLm5ld0xpbmUuYXBwZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAi
d2Via2l0LWphdmFzY3JpcHQtc3RyaW5nIikpOwotICAgICAgICB0aGlzLmNvbnRpbnVlU3RhdGUg
PSB0aGlzLkNvbnRpbnVlU3RhdGUuU2luZ2xlUXVvdGVTdHJpbmc7Ci0gICAgfQotICAgIAotICAg
IGZ1bmN0aW9uIHNpbmdsZVF1b3RlU3RyaW5nRW5kQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAg
ICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3RoOwotICAgICAgICB0aGlzLm5ld0xpbmUuYXBw
ZW5kQ2hpbGQodGhpcy5jcmVhdGVTcGFuKHRva2VuLCAid2Via2l0LWphdmFzY3JpcHQtc3RyaW5n
IikpOwotICAgICAgICB0aGlzLmNvbnRpbnVlU3RhdGUgPSB0aGlzLkNvbnRpbnVlU3RhdGUuTm9u
ZTsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gc2luZ2xlUXVvdGVTdHJpbmdNaWRkbGVBY3Rp
b24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0g
ICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3
ZWJraXQtamF2YXNjcmlwdC1zdHJpbmciKSk7Ci0gICAgfQotICAgIAotICAgIGZ1bmN0aW9uIGRv
dWJsZVF1b3RlU3RyaW5nU3RhcnRBY3Rpb24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1
cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0
aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNjcmlwdC1zdHJpbmciKSk7Ci0gICAg
ICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGludWVTdGF0ZS5Eb3VibGVRdW90ZVN0
cmluZzsKLSAgICB9Ci0gICAgCi0gICAgZnVuY3Rpb24gZG91YmxlUXVvdGVTdHJpbmdFbmRBY3Rp
b24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0g
ICAgICAgIHRoaXMubmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3
ZWJraXQtamF2YXNjcmlwdC1zdHJpbmciKSk7Ci0gICAgICAgIHRoaXMuY29udGludWVTdGF0ZSA9
IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBkb3Vi
bGVRdW90ZVN0cmluZ01pZGRsZUFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vy
c29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRo
aXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXN0cmluZyIpKTsKLSAgICB9
Ci0gICAgCi0gICAgZnVuY3Rpb24gcmVnRXhwTGl0ZXJhbEFjdGlvbih0b2tlbikKLSAgICB7Ci0g
ICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5l
LmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXJl
Z2V4cCIpKTsKLSAgICAgICAgdGhpcy5sZXhTdGF0ZSA9IHRoaXMuTGV4U3RhdGUuSW5pdGlhbDsK
LSAgICB9Ci0KLSAgICBmdW5jdGlvbiByZWdFeHBTdGFydEFjdGlvbih0b2tlbikKLSAgICB7Ci0g
ICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAgICAgdGhpcy5uZXdMaW5l
LmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LXJl
Z2V4cCIpKTsKLSAgICAgICAgdGhpcy5jb250aW51ZVN0YXRlID0gdGhpcy5Db250aW51ZVN0YXRl
LlJlZ0V4cDsKLSAgICB9Ci0KLSAgICBmdW5jdGlvbiByZWdFeHBFbmRBY3Rpb24odG9rZW4pCi0g
ICAgewotICAgICAgICB0aGlzLmN1cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAgIHRoaXMu
bmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLmNyZWF0ZVNwYW4odG9rZW4sICJ3ZWJraXQtamF2YXNj
cmlwdC1yZWdleHAiKSk7Ci0gICAgICAgIHRoaXMuY29udGludWVTdGF0ZSA9IHRoaXMuQ29udGlu
dWVTdGF0ZS5Ob25lOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIHJlZ0V4cE1pZGRsZUFjdGlvbih0
b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29yICs9IHRva2VuLmxlbmd0aDsKLSAgICAg
ICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtp
dC1qYXZhc2NyaXB0LXJlZ2V4cCIpKTsKLSAgICB9Ci0gICAgCi0gICAgY29uc3Qga2V5d29yZHMg
PSB7Ci0gICAgICAgICJudWxsIjogdHJ1ZSwKLSAgICAgICAgInRydWUiOiB0cnVlLAotICAgICAg
ICAiZmFsc2UiOiB0cnVlLAotICAgICAgICAiYnJlYWsiOiB0cnVlLAotICAgICAgICAiY2FzZSI6
IHRydWUsCi0gICAgICAgICJjYXRjaCI6IHRydWUsCi0gICAgICAgICJjb25zdCI6IHRydWUsCi0g
ICAgICAgICJkZWZhdWx0IjogdHJ1ZSwKLSAgICAgICAgImZpbmFsbHkiOiB0cnVlLAotICAgICAg
ICAiZm9yIjogdHJ1ZSwKLSAgICAgICAgImluc3RhbmNlb2YiOiB0cnVlLAotICAgICAgICAibmV3
IjogdHJ1ZSwKLSAgICAgICAgInZhciI6IHRydWUsCi0gICAgICAgICJjb250aW51ZSI6IHRydWUs
Ci0gICAgICAgICJmdW5jdGlvbiI6IHRydWUsCi0gICAgICAgICJyZXR1cm4iOiB0cnVlLAotICAg
ICAgICAidm9pZCI6IHRydWUsCi0gICAgICAgICJkZWxldGUiOiB0cnVlLAotICAgICAgICAiaWYi
OiB0cnVlLAotICAgICAgICAidGhpcyI6IHRydWUsCi0gICAgICAgICJkbyI6IHRydWUsCi0gICAg
ICAgICJ3aGlsZSI6IHRydWUsCi0gICAgICAgICJlbHNlIjogdHJ1ZSwKLSAgICAgICAgImluIjog
dHJ1ZSwKLSAgICAgICAgInN3aXRjaCI6IHRydWUsCi0gICAgICAgICJ0aHJvdyI6IHRydWUsCi0g
ICAgICAgICJ0cnkiOiB0cnVlLAotICAgICAgICAidHlwZW9mIjogdHJ1ZSwKLSAgICAgICAgImRl
YnVnZ2VyIjogdHJ1ZSwKLSAgICAgICAgImNsYXNzIjogdHJ1ZSwKLSAgICAgICAgImVudW0iOiB0
cnVlLAotICAgICAgICAiZXhwb3J0IjogdHJ1ZSwKLSAgICAgICAgImV4dGVuZHMiOiB0cnVlLAot
ICAgICAgICAiaW1wb3J0IjogdHJ1ZSwKLSAgICAgICAgInN1cGVyIjogdHJ1ZSwKLSAgICAgICAg
ImdldCI6IHRydWUsCi0gICAgICAgICJzZXQiOiB0cnVlCi0gICAgfTsKLSAgICBmdW5jdGlvbiBp
ZGVudE9yS2V5d29yZEFjdGlvbih0b2tlbikKLSAgICB7Ci0gICAgICAgIHRoaXMuY3Vyc29yICs9
IHRva2VuLmxlbmd0aDsKLSAgICAgICAgCi0gICAgICAgIGlmICh0b2tlbiBpbiBrZXl3b3Jkcykg
ewotICAgICAgICAgICAgdGhpcy5uZXdMaW5lLmFwcGVuZENoaWxkKHRoaXMuY3JlYXRlU3Bhbih0
b2tlbiwgIndlYmtpdC1qYXZhc2NyaXB0LWtleXdvcmQiKSk7Ci0gICAgICAgICAgICB0aGlzLmxl
eFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOwotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgdmFyIGlkZW50RWxlbWVudCA9IHRoaXMuY3JlYXRlU3Bhbih0b2tlbiwgIndlYmtpdC1q
YXZhc2NyaXB0LWlkZW50Iik7Ci0gICAgICAgICAgICBpZGVudEVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigibW91c2VvdmVyIiwgc2hvd0RhdGF0aXAsIGZhbHNlKTsKLSAgICAgICAgICAgIHRoaXMu
bmV3TGluZS5hcHBlbmRDaGlsZChpZGVudEVsZW1lbnQpOwotICAgICAgICAgICAgdGhpcy5sZXhT
dGF0ZSA9IHRoaXMuTGV4U3RhdGUuRGl2aXNpb25BbGxvd2VkOwotICAgICAgICB9Ci0gICAgfQot
ICAgIAotICAgIGZ1bmN0aW9uIHNob3dEYXRhdGlwKGV2ZW50KSB7Ci0gICAgICAgIGlmICghV2Vi
SW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzIHx8ICFXZWJJbnNwZWN0b3IucGFuZWxzLnNjcmlwdHMu
cGF1c2VkKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHZhciBub2RlID0gZXZlbnQu
dGFyZ2V0OwotICAgICAgICB2YXIgcGFydHMgPSBbbm9kZS50ZXh0Q29udGVudF07Ci0gICAgICAg
IHdoaWxlIChub2RlLnByZXZpb3VzU2libGluZyAmJiBub2RlLnByZXZpb3VzU2libGluZy50ZXh0
Q29udGVudCA9PT0gIi4iKSB7Ci0gICAgICAgICAgICBub2RlID0gbm9kZS5wcmV2aW91c1NpYmxp
bmcucHJldmlvdXNTaWJsaW5nOwotICAgICAgICAgICAgaWYgKCFub2RlIHx8ICFub2RlLmhhc1N0
eWxlQ2xhc3MoIndlYmtpdC1qYXZhc2NyaXB0LWlkZW50IikpCi0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICBwYXJ0cy51bnNoaWZ0KG5vZGUudGV4dENvbnRlbnQpOwotICAgICAg
ICB9Ci0KLSAgICAgICAgdmFyIGV4cHJlc3Npb24gPSBwYXJ0cy5qb2luKCIuIik7Ci0KLSAgICAg
ICAgV2ViSW5zcGVjdG9yLnBhbmVscy5zY3JpcHRzLmV2YWx1YXRlSW5TZWxlY3RlZENhbGxGcmFt
ZShleHByZXNzaW9uLCBmYWxzZSwgImNvbnNvbGUiLCBjYWxsYmFjayk7Ci0gICAgICAgIGZ1bmN0
aW9uIGNhbGxiYWNrKHJlc3VsdCwgZXhjZXB0aW9uKQotICAgICAgICB7Ci0gICAgICAgICAgICBp
ZiAoZXhjZXB0aW9uKQotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIGV2ZW50
LnRhcmdldC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgcmVzdWx0LmRlc2NyaXB0aW9uKTsKLSAgICAg
ICAgICAgIGV2ZW50LnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIG9ubW91c2Vv
dXQsIGZhbHNlKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgZnVuY3Rpb24gb25tb3VzZW91
dChldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBldmVudC50YXJnZXQucmVt
b3ZlQXR0cmlidXRlKCJ0aXRsZSIpOwotICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5yZW1v
dmVFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIG9ubW91c2VvdXQsIGZhbHNlKTsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfQotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiBkaXZQdW5jdHVhdG9y
QWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4ubGVuZ3Ro
OwotICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAgICAgICB0aGlzLmxleFN0YXRl
ID0gdGhpcy5MZXhTdGF0ZS5Jbml0aWFsOwotICAgIH0KLSAgICAKLSAgICBmdW5jdGlvbiByaWdo
dFBhcmVuQWN0aW9uKHRva2VuKQotICAgIHsKLSAgICAgICAgdGhpcy5jdXJzb3IgKz0gdG9rZW4u
bGVuZ3RoOwotICAgICAgICB0aGlzLm5vblRva2VuICs9IHRva2VuOwotICAgICAgICB0aGlzLmxl
eFN0YXRlID0gdGhpcy5MZXhTdGF0ZS5EaXZpc2lvbkFsbG93ZWQ7Ci0gICAgfQotICAgIAotICAg
IGZ1bmN0aW9uIHB1bmN0dWF0b3JBY3Rpb24odG9rZW4pCi0gICAgewotICAgICAgICB0aGlzLmN1
cnNvciArPSB0b2tlbi5sZW5ndGg7Ci0gICAgICAgIHRoaXMubm9uVG9rZW4gKz0gdG9rZW47Ci0g
ICAgICAgIHRoaXMubGV4U3RhdGUgPSB0aGlzLkxleFN0YXRlLkluaXRpYWw7Ci0gICAgfQotfQot
Ci1XZWJJbnNwZWN0b3IuSmF2YVNjcmlwdFNvdXJjZVN5bnRheEhpZ2hsaWdodGVyLnByb3RvdHlw
ZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIucHJvdG90
eXBlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRh
eEhpZ2hsaWdodGVyLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVN5bnRh
eEhpZ2hsaWdodGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmN2Jj
YWIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNl
U3ludGF4SGlnaGxpZ2h0ZXIuanMKQEAgLTAsMCArMSwxNjggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEpvc2VwaCBQZWNvcmFybworICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitXZWJJbnNwZWN0b3IuU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIgPSBmdW5jdGlv
bih0YWJsZSwgc291cmNlRnJhbWUpCit7CisgICAgdGhpcy50YWJsZSA9IHRhYmxlOworICAgIHRo
aXMuc291cmNlRnJhbWUgPSBzb3VyY2VGcmFtZTsKK30KKworV2ViSW5zcGVjdG9yLlNvdXJjZVN5
bnRheEhpZ2hsaWdodGVyLnByb3RvdHlwZSA9IHsKKyAgICBjcmVhdGVTcGFuOiBmdW5jdGlvbihj
b250ZW50LCBjbGFzc05hbWUpCisgICAgeworICAgICAgICB2YXIgc3BhbiA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsKKyAgICAgICAgc3Bhbi5jbGFzc05hbWUgPSBjbGFzc05hbWU7
CisgICAgICAgIHNwYW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoY29udGVu
dCkpOworICAgICAgICByZXR1cm4gc3BhbjsKKyAgICB9LAorCisgICAgcHJvY2VzczogZnVuY3Rp
b24oKQorICAgIHsKKyAgICAgICAgLy8gU3BsaXQgdXAgdGhlIHdvcmsgaW50byBjaHVua3Mgc28g
d2UgZG9uJ3QgYmxvY2sgdGhlCisgICAgICAgIC8vIFVJIHRocmVhZCB3aGlsZSBwcm9jZXNzaW5n
LgorCisgICAgICAgIHZhciByb3dzID0gdGhpcy50YWJsZS5yb3dzOworICAgICAgICB2YXIgcm93
c0xlbmd0aCA9IHJvd3MubGVuZ3RoOworICAgICAgICBjb25zdCB0b2tlbnNQZXJDaHVuayA9IDEw
MDsKKyAgICAgICAgY29uc3QgbGluZUxlbmd0aExpbWl0ID0gMjAwMDA7CisgICAgICAgIAorICAg
ICAgICB2YXIgYm91bmRQcm9jZXNzQ2h1bmsgPSBwcm9jZXNzQ2h1bmsuYmluZCh0aGlzKTsKKyAg
ICAgICAgdmFyIHByb2Nlc3NDaHVua0ludGVydmFsID0gc2V0SW50ZXJ2YWwoYm91bmRQcm9jZXNz
Q2h1bmssIDI1KTsKKyAgICAgICAgYm91bmRQcm9jZXNzQ2h1bmsoKTsKKyAgICAgICAgCisgICAg
ICAgIGZ1bmN0aW9uIHByb2Nlc3NDaHVuaygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgdG9rZW5zUGVyQ2h1bms7IGkrKykgeworICAgICAgICAgICAgICAgIGlm
ICh0aGlzLmN1cnNvciA+PSB0aGlzLmxpbmVDb2RlLmxlbmd0aCkKKyAgICAgICAgICAgICAgICAg
ICAgbW92ZVRvTmV4dExpbmUuY2FsbCh0aGlzKTsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5s
aW5lSW5kZXggPj0gcm93c0xlbmd0aCkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLnNvdXJj
ZUZyYW1lLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycygic3ludGF4IGhpZ2hsaWdodGluZyBjb21w
bGV0ZSIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIGlmICh0aGlzLmN1cnNvciA+IGxpbmVMZW5ndGhMaW1pdCkgeworICAg
ICAgICAgICAgICAgICAgICB2YXIgY29kZUZyYWdtZW50ID0gdGhpcy5saW5lQ29kZS5zdWJzdHJp
bmcodGhpcy5jdXJzb3IpOworICAgICAgICAgICAgICAgICAgICB0aGlzLm5vblRva2VuICs9IGNv
ZGVGcmFnbWVudDsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jdXJzb3IgKz0gY29kZUZyYWdt
ZW50Lmxlbmd0aDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB0aGlzLmxl
eCgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlv
biBtb3ZlVG9OZXh0TGluZSgpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRoaXMuYXBwZW5kTm9u
VG9rZW4oKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIHJvdyA9IHJvd3NbdGhpcy5s
aW5lSW5kZXhdOworICAgICAgICAgICAgdmFyIGxpbmUgPSByb3cgPyByb3cuY2VsbHNbMV0gOiBu
dWxsOworICAgICAgICAgICAgaWYgKGxpbmUgJiYgdGhpcy5uZXdMaW5lKSB7CisgICAgICAgICAg
ICAgICAgbGluZS5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIGlmICh0aGlzLm1lc3NhZ2VCdWJibGUpCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
bmV3TGluZS5hcHBlbmRDaGlsZCh0aGlzLm1lc3NhZ2VCdWJibGUpOworICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIGxpbmUucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5uZXdM
aW5lLCBsaW5lKTsKKyAgICAgICAgICAgICAgICBsaW5lLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQo
bGluZSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgdGhpcy5uZXdMaW5lID0g
bnVsbDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHRoaXMubGluZUluZGV4Kys7CisgICAg
ICAgICAgICBpZiAodGhpcy5saW5lSW5kZXggPj0gcm93c0xlbmd0aCAmJiBwcm9jZXNzQ2h1bmtJ
bnRlcnZhbCkgeworICAgICAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwocHJvY2Vzc0NodW5rSW50
ZXJ2YWwpOworICAgICAgICAgICAgICAgIHRoaXMuc291cmNlRnJhbWUuZGlzcGF0Y2hFdmVudFRv
TGlzdGVuZXJzKCJzeW50YXggaGlnaGxpZ2h0aW5nIGNvbXBsZXRlIik7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcm93ID0gcm93c1t0aGlzLmxp
bmVJbmRleF07CisgICAgICAgICAgICBsaW5lID0gcm93ID8gcm93LmNlbGxzWzFdIDogbnVsbDsK
KyAgICAgICAgICAgIAorICAgICAgICAgICAgdGhpcy5tZXNzYWdlQnViYmxlID0gbnVsbDsKKyAg
ICAgICAgICAgIGlmIChsaW5lLmxhc3RDaGlsZCAmJiBsaW5lLmxhc3RDaGlsZC5ub2RlVHlwZSA9
PT0gTm9kZS5FTEVNRU5UX05PREUgJiYgbGluZS5sYXN0Q2hpbGQuaGFzU3R5bGVDbGFzcygid2Vi
a2l0LWh0bWwtbWVzc2FnZS1idWJibGUiKSkgeworICAgICAgICAgICAgICAgIHRoaXMubWVzc2Fn
ZUJ1YmJsZSA9IGxpbmUubGFzdENoaWxkOworICAgICAgICAgICAgICAgIGxpbmUucmVtb3ZlQ2hp
bGQodGhpcy5tZXNzYWdlQnViYmxlKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGhp
cy5saW5lQ29kZSA9IGxpbmUudGV4dENvbnRlbnQ7CisgICAgICAgICAgICB0aGlzLm5ld0xpbmUg
PSBsaW5lLmNsb25lTm9kZShmYWxzZSk7CisgICAgICAgICAgICB0aGlzLmN1cnNvciA9IDA7Cisg
ICAgICAgICAgICBpZiAoIWxpbmUpCisgICAgICAgICAgICAgICAgbW92ZVRvTmV4dExpbmUoKTsK
KyAgICAgICAgfQorICAgIH0sCisgICAgCisgICAgbGV4OiBmdW5jdGlvbigpCisgICAgeworICAg
ICAgICB2YXIgdG9rZW4gPSBudWxsOworICAgICAgICB2YXIgY29kZUZyYWdtZW50ID0gdGhpcy5s
aW5lQ29kZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOworICAgICAgICAKKyAgICAgICAgZm9yICh2
YXIgaSA9IDA7IGkgPCB0aGlzLnJ1bGVzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICB2YXIg
cnVsZSA9IHRoaXMucnVsZXNbaV07CisgICAgICAgICAgICB2YXIgcnVsZUNvbnRpbnVlU3RhdGVD
b25kaXRpb24gPSB0eXBlb2YgcnVsZS5jb250aW51ZVN0YXRlQ29uZGl0aW9uID09PSAidW5kZWZp
bmVkIiA/IHRoaXMuQ29udGludWVTdGF0ZS5Ob25lIDogcnVsZS5jb250aW51ZVN0YXRlQ29uZGl0
aW9uOworICAgICAgICAgICAgaWYgKHRoaXMuY29udGludWVTdGF0ZSA9PT0gcnVsZUNvbnRpbnVl
U3RhdGVDb25kaXRpb24pIHsKKyAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJ1bGUubGV4U3Rh
dGVDb25kaXRpb24gIT09ICJ1bmRlZmluZWQiICYmIHRoaXMubGV4U3RhdGUgIT09IHJ1bGUubGV4
U3RhdGVDb25kaXRpb24pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgICAgIHZhciBtYXRjaCA9IHJ1bGUucGF0dGVybi5leGVjKGNvZGVGcmFnbWVudCk7CisgICAg
ICAgICAgICAgICAgaWYgKG1hdGNoKSB7CisgICAgICAgICAgICAgICAgICAgIHRva2VuID0gbWF0
Y2hbMF07CisgICAgICAgICAgICAgICAgICAgIGlmICh0b2tlbikgeworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFydWxlLmRvbnRBcHBlbmROb25Ub2tlbikKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGlzLmFwcGVuZE5vblRva2VuKCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gcnVsZS5hY3Rpb24uY2FsbCh0aGlzLCB0b2tlbik7CisgICAgICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgdGhpcy5ub25Ub2tlbiArPSBjb2RlRnJhZ21lbnRbMF07CisgICAgICAgIHRoaXMuY3Vyc29y
Kys7CisgICAgfSwKKyAgICAKKyAgICBhcHBlbmROb25Ub2tlbjogZnVuY3Rpb24gKCkKKyAgICB7
CisgICAgICAgIGlmICh0aGlzLm5vblRva2VuLmxlbmd0aCA+IDApIHsKKyAgICAgICAgICAgIHRo
aXMubmV3TGluZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLm5vblRv
a2VuKSk7CisgICAgICAgICAgICB0aGlzLm5vblRva2VuID0gIiI7CisgICAgICAgIH0KKyAgICB9
LAorICAgIAorICAgIHN5bnRheEhpZ2hsaWdodE5vZGU6IGZ1bmN0aW9uKG5vZGUpCisgICAgewor
ICAgICAgICB0aGlzLmxpbmVDb2RlID0gbm9kZS50ZXh0Q29udGVudDsKKyAgICAgICAgbm9kZS5y
ZW1vdmVDaGlsZHJlbigpOworICAgICAgICB0aGlzLm5ld0xpbmUgPSBub2RlOworICAgICAgICB0
aGlzLmN1cnNvciA9IDA7CisgICAgICAgIHdoaWxlICh0cnVlKSB7CisgICAgICAgICAgICBpZiAo
dGhpcy5jdXJzb3IgPj0gdGhpcy5saW5lQ29kZS5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICB2
YXIgY29kZUZyYWdtZW50ID0gdGhpcy5saW5lQ29kZS5zdWJzdHJpbmcodGhpcy5jdXJzb3IpOwor
ICAgICAgICAgICAgICAgIHRoaXMubm9uVG9rZW4gKz0gY29kZUZyYWdtZW50OworICAgICAgICAg
ICAgICAgIHRoaXMuY3Vyc29yICs9IGNvZGVGcmFnbWVudC5sZW5ndGg7CisgICAgICAgICAgICAg
ICAgdGhpcy5hcHBlbmROb25Ub2tlbigpOworICAgICAgICAgICAgICAgIHRoaXMubmV3TGluZSA9
IG51bGw7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICB0aGlzLmxleCgpOworICAgICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvV2ViS2l0LnFyYwppbmRleCA1MDU4NjFiLi4yODAwYTdlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYworKysgYi9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtMTMsNiArMTMsNyBAQAogICAgIDxmaWxlPkNvbnNv
bGVWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkNvbnRleHRNZW51LmpzPC9maWxlPgogICAgIDxm
aWxlPkNvb2tpZUl0ZW1zVmlldy5qczwvZmlsZT4KKyAgICA8ZmlsZT5DU1NTb3VyY2VTeW50YXhI
aWdobGlnaHRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5EYXRhYmFzZS5qczwvZmlsZT4KICAgICA8
ZmlsZT5EYXRhYmFzZVF1ZXJ5Vmlldy5qczwvZmlsZT4KICAgICA8ZmlsZT5EYXRhYmFzZVRhYmxl
Vmlldy5qczwvZmlsZT4KQEAgLTMxLDYgKzMyLDcgQEAKICAgICA8ZmlsZT5pbnNwZWN0b3IuanM8
L2ZpbGU+CiAgICAgPGZpbGU+SW5zcGVjdG9yQmFja2VuZFN0dWIuanM8L2ZpbGU+CiAgICAgPGZp
bGU+SW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczwvZmlsZT4KKyAgICA8ZmlsZT5KYXZhU2Ny
aXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+S2V5Ym9hcmRT
aG9ydGN1dC5qczwvZmlsZT4KICAgICA8ZmlsZT5NZXRyaWNzU2lkZWJhclBhbmUuanM8L2ZpbGU+
CiAgICAgPGZpbGU+T2JqZWN0LmpzPC9maWxlPgpAQCAtNTcsNiArNTksNyBAQAogICAgIDxmaWxl
PlNpZGViYXJQYW5lLmpzPC9maWxlPgogICAgIDxmaWxlPlNpZGViYXJUcmVlRWxlbWVudC5qczwv
ZmlsZT4KICAgICA8ZmlsZT5Tb3VyY2VGcmFtZS5qczwvZmlsZT4KKyAgICA8ZmlsZT5Tb3VyY2VT
eW50YXhIaWdobGlnaHRlci5qczwvZmlsZT4KICAgICA8ZmlsZT5Tb3VyY2VWaWV3LmpzPC9maWxl
PgogICAgIDxmaWxlPlN0YXR1c0JhckJ1dHRvbi5qczwvZmlsZT4KICAgICA8ZmlsZT5TdG9yYWdl
UGFuZWwuanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmh0bWwgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWwKaW5kZXggY2U2MmNkMi4uZGQ4NWNhYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9pbnNwZWN0b3IuaHRtbApAQCAtODYsNiArODYsOSBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvbnNvbGVQYW5lbC5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iUmVzb3VyY2VWaWV3LmpzIj48
L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTb3VyY2VG
cmFtZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNy
Yz0iU291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNTU1NvdXJjZVN5bnRheEhpZ2hsaWdodGVyLmpzIj48
L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJKYXZhU2Ny
aXB0U291cmNlU3ludGF4SGlnaGxpZ2h0ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNvdXJjZVZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkZvbnRWaWV3LmpzIj48L3NjcmlwdD4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJJbWFnZVZpZXcuanMiPjwv
c2NyaXB0Pgo=
</data>
<flag name="review"
          id="27299"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>