<?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>219170</bug_id>
          
          <creation_ts>2020-11-19 11:22:29 -0800</creation_ts>
          <short_desc>Remove extra copy of html5lib left over from an earlier Web Platform Tests import</short_desc>
          <delta_ts>2020-11-19 13:06:19 -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>Tools / Tests</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1709196</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-11-19 11:22:29 -0800</bug_when>
    <thetext>Remove extra copy of html5lib left over from an earlier Web Platform Tests import</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709198</commentid>
    <comment_count>1</comment_count>
      <attachid>414604</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-11-19 11:24:45 -0800</bug_when>
    <thetext>Created attachment 414604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709248</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-11-19 13:05:25 -0800</bug_when>
    <thetext>Committed r270047: &lt;https://trac.webkit.org/changeset/270047&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1709250</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-11-19 13:06:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/71598622&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414604</attachid>
            <date>2020-11-19 11:24:45 -0800</date>
            <delta_ts>2020-11-19 11:26:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-219170-20201119112444.patch</filename>
            <type>text/plain</type>
            <size>203193</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTg1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA2N2FjNDVmYWJkZjlhYTg3ZjIzNWE3MzM4YzlmY2RkZDA5YmFhZmU3Li5kMDAxNTYxMGQ0
NTZhN2QzNGZhZWZiNjJiMzFkYzI4MzU3ZWUzZjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0xMS0xOSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmVtb3ZlIGV4dHJhIGNvcHkgb2YgaHRtbDVsaWIgbGVmdCBv
dmVyIGZyb20gYW4gZWFybGllciBXZWIgUGxhdGZvcm0gVGVzdHMgaW1wb3J0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTkxNzAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgbmV3IGxvY2F0aW9uIGlz
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHRtbDVs
aWIgYW5kCisgICAgICAgIHdlIGFscmVhZHkgaGF2ZSBhIHRoZSBlbnRpcmUgbGlicmFyeSB0aGVy
ZS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYjogUmVtb3Zl
ZC4KKwogMjAyMC0xMS0xOCAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJlbGFuZGluZyByMjY5OTQwCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL0FVVEhP
UlMucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9BVVRIT1JTLnJzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDE0
OGE2ZWQyNjJkNGQ0YTM4ZjcwMzcwYjUyYjhmOGRkNWVlNmUzMy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL0FVVEhPUlMucnN0CisrKyAvZGV2L251bGwK
QEAgLTEsMzQgKzAsMCBAQAotQ3JlZGl0cwotPT09PT09PQotCi1gYGh0bWw1bGliYGAgaXMgd3Jp
dHRlbiBhbmQgbWFpbnRhaW5lZCBieToKLQotLSBKYW1lcyBHcmFoYW0KLS0gR2VvZmZyZXkgU25l
ZGRvbgotLSDFgXVrYXN6IExhbmdhCi0KLQotUGF0Y2hlcyBhbmQgc3VnZ2VzdGlvbnMKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0oSW4gY2hyb25vbG9naWNhbCBvcmRlciwgYnkgZmlyc3QgY29t
bWl0OikKLQotLSBBbm5lIHZhbiBLZXN0ZXJlbgotLSBMYWNobGFuIEh1bnQKLS0gbGFudGlzNjMK
LS0gU2FtIFJ1YnkKLS0gVGltIEZsZXRjaGVyCi0tIFRob21hcyBCcm95ZXIKLS0gTWFyayBQaWxn
cmltCi0tIFBoaWxpcCBUYXlsb3IKLS0gUnlhbiBLaW5nCi0tIEVkd2FyZCBaLiBZYW5nCi0tIGZh
bnRhc2FpCi0tIFBoaWxpcCBKw6RnZW5zdGVkdAotLSBNczJnZXIKLS0gQW5keSBXaW5nbwotLSBB
bmRyZWFzIE1hZHNhY2sKLS0gS2FyaW0gVmFsaWV2Ci0tIE1vaGFtbWFkIFRhaGEgSmFoYW5naXIK
LS0gSnVhbiBDYXJsb3MgR2FyY2lhIFNlZ292aWEKLS0gTWlrZSBXZXN0Ci0tIE1hcmMgRE0KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvQ0hBTkdFUy5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL0NIQU5HRVMucnN0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxNDMxYjNjOWI4ZmFjYTgxMDRjYjc0MTQxZmIzNmFmYzFiMTlmOWMxLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvQ0hBTkdFUy5y
c3QKKysrIC9kZXYvbnVsbApAQCAtMSwxNzEgKzAsMCBAQAotQ2hhbmdlIExvZwotLS0tLS0tLS0t
LQotCi0wLjk5OTkKLX5+fn5+fgotCi1SZWxlYXNlZCBvbiBYWFgsIDIwMTQKLQotKiBYWFgKLQot
Ci0wLjk5OQotfn5+fn4KLQotUmVsZWFzZWQgb24gRGVjZW1iZXIgMjMsIDIwMTMKLQotKiBGaXgg
IzEyNzogYWRkIHdvcmstYXJvdW5kIGZvciBDUHl0aG9uIGlzc3VlICMyMDAwNzogLnJlYWQoMCkg
b24KLSAgaHR0cC5jbGllbnQuSFRUUFJlc3BvbnNlIGRyb3BzIHRoZSByZXN0IG9mIHRoZSBjb250
ZW50LgotCi0qIEZpeCAjMTE1OiBseG1sIHRyZWV3YWxrZXIgY2FuIG5vdyBkZWFsIHdpdGggZnJh
Z21lbnRzIGNvbnRhaW5pbmcsIGF0Ci0gIHRoZWlyIHJvb3QgbGV2ZWwsIHRleHQgbm9kZXMgd2l0
aCBub24tQVNDSUkgY2hhcmFjdGVycyBvbiBQeXRob24gMi4KLQotCi0wLjk5Ci1+fn5+Ci0KLVJl
bGVhc2VkIG9uIFNlcHRlbWJlciAxMCwgMjAxMwotCi0qIE5vIGxpYnJhcnkgY2hhbmdlcyBmcm9t
IDEuMGIzOyByZWxlYXNlZCBhcyAwLjk5IGFzIHBpcCBoYXMgY2hhbmdlZAotICBiZWhhdmlvdXIg
ZnJvbSAxLjQgdG8gYXZvaWQgaW5zdGFsbGluZyBwcmUtcmVsZWFzZSB2ZXJzaW9ucyBwZXIKLSAg
UEVQIDQ0MC4KLQotCi0xLjBiMwotfn5+fn4KLQotUmVsZWFzZWQgb24gSnVseSAyNCwgMjAxMwot
Ci0qIFJlbW92ZWQgYGBSZWN1cnNpdmVUcmVlV2Fsa2VyYGAgZnJvbSBgYHRyZWV3YWxrZXJzLl9i
YXNlYGAuIEFueQotICBpbXBsZW1lbnRhdGlvbiB1c2luZyBpdCBzaG91bGQgYmUgbW92ZWQgdG8K
LSAgYGBOb25SZWN1cnNpdmVUcmVlV2Fsa2VyYGAsIGFzIGV2ZXJ5dGhpbmcgYnVuZGxlZCB3aXRo
IGh0bWw1bGliIGhhcwotICBmb3IgeWVhcnMuCi0KLSogRml4ICM2NyBzbyB0aGF0IGBgQnVmZmVy
ZWRTdHJlYW1gYCB0byBjb3JyZWN0bHkgcmV0dXJucyBhIGJ5dGVzCi0gIG9iamVjdCwgdGhlcmVi
eSBmaXhpbmcgYW55IGNhc2Ugd2hlcmUgaHRtbDVsaWIgaXMgcGFzc2VkIGEKLSAgbm9uLXNlZWth
YmxlIFJhd0lPQmFzZS1saWtlIG9iamVjdC4KLQotCi0xLjBiMgotfn5+fn4KLQotUmVsZWFzZWQg
b24gSnVuZSAyNywgMjAxMwotCi0qIFJlbW92ZWQgcmVvcmRlcmluZyBvZiBhdHRyaWJ1dGVzIHdp
dGhpbiB0aGUgc2VyaWFsaXplci4gVGhlcmUgaXMgbm93Ci0gIGFuIGBgYWxwaGFiZXRpY2FsX2F0
dHJpYnV0ZXNgYCBvcHRpb24gd2hpY2ggcHJlc2VydmVzIHRoZSBwcmV2aW91cwotICBiZWhhdmlv
dXIgdGhyb3VnaCBhIG5ldyBmaWx0ZXIuIFRoaXMgYWxsb3dzIGF0dHJpYnV0ZSBvcmRlciB0byBi
ZQotICBwcmVzZXJ2ZWQgdGhyb3VnaCBodG1sNWxpYiBpZiB0aGUgdHJlZSBidWlsZGVyIHByZXNl
cnZlcyBvcmRlci4KLQotKiBSZW1vdmVkIGBgZG9tMnNheGBgIGZyb20gRE9NIHRyZWVidWlsZGVy
cy4gSXQgaGFzIGJlZW4gcmVwbGFjZWQgYnkKLSAgYGB0cmVlYWRhcHRlcnMuc2F4LnRvX3NheGBg
IHdoaWNoIGlzIGdlbmVyaWMgYW5kIHN1cHBvcnRzIGFueQotICB0cmVld2Fsa2VyOyBpdCBhbHNv
IHJlc29sdmVzIGFsbCBrbm93biBidWdzIHdpdGggYGBkb20yc2F4YGAuCi0KLSogRml4IHRyZWV3
YWxrZXIgYXNzZXJ0aW9ucyBvbiBoaXR0aW5nIGJ5dGVzIHN0cmluZ3Mgb24KLSAgUHl0aG9uIDIu
IFByZXZpb3VzIHRvIDEuMGIxLCB0cmVld2Fsa2VycyBjb3BlZCB3aXRoIG1peGVkCi0gIGJ5dGVz
L3VuaWNvZGUgZGF0YSBvbiBQeXRob24gMjsgdGhpcyByZWludHJvZHVjZXMgdGhpcyBwcmlvcgot
ICBiZWhhdmlvdXIgb24gUHl0aG9uIDIuIEJlaGF2aW91ciBpcyB1bmNoYW5nZWQgb24gUHl0aG9u
IDMuCi0KLQotMS4wYjEKLX5+fn5+Ci0KLVJlbGVhc2VkIG9uIE1heSAxNywgMjAxMwotCi0qIElt
cGxlbWVudGF0aW9uIHVwZGF0ZWQgdG8gaW1wbGVtZW50IHRoZSBgSFRNTCBzcGVjaWZpY2F0aW9u
Ci0gIDxodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrLz5g
XyBhcyBvZiA1dGggTWF5Ci0gIDIwMTMgKGBTVk4gPGh0dHA6Ly9zdm4ud2hhdHdnLm9yZy93ZWJh
cHBzLz5gXyByZXZpc2lvbiByNzg2NykuCi0KLSogUHl0aG9uIDMuMisgc3VwcG9ydGVkIGluIGEg
c2luZ2xlIGNvZGViYXNlIHVzaW5nIHRoZSBgYHNpeGBgIGxpYnJhcnkuCi0KLSogUmVtb3ZlZCBz
dXBwb3J0IGZvciBQeXRob24gMi41IGFuZCBvbGRlci4KLQotKiBSZW1vdmVkIHRoZSBkZXByZWNh
dGVkIEJlYXV0aWZ1bCBTb3VwIDMgdHJlZWJ1aWxkZXIuCi0gIGBgYmVhdXRpZnVsc291cDRgYCBj
YW4gdXNlIGBgaHRtbDVsaWJgYCBhcyBhIHBhcnNlciBpbnN0ZWFkLiBOb3RlIHRoYXQKLSAgc2lu
Y2UgaXQgZG9lc24ndCBzdXBwb3J0IG5hbWVzcGFjZXMsIGZvcmVpZ24gY29udGVudCBsaWtlIFNW
RyBhbmQKLSAgTWF0aE1MIGlzIHBhcnNlZCBpbmNvcnJlY3RseS4KLQotKiBSZW1vdmVkIGBgc2lt
cGxldHJlZWBgIGZyb20gdGhlIHBhY2thZ2UuIFRoZSBkZWZhdWx0IHRyZWUgYnVpbGRlciBpcwot
ICBub3cgYGBldHJlZWBgICh1c2luZyB0aGUgYGB4bWwuZXRyZWUuY0VsZW1lbnRUcmVlYGAgaW1w
bGVtZW50YXRpb24gaWYKLSAgYXZhaWxhYmxlLCBhbmQgYGB4bWwuZXRyZWUuRWxlbWVudFRyZWVg
YCBvdGhlcndpc2UpLgotCi0qIFJlbW92ZWQgdGhlIGBgWEhUTUxTZXJpYWxpemVyYGAgYXMgaXQg
bmV2ZXIgYWN0dWFsbHkgZ3VhcmFudGVlZCBpdHMKLSAgb3V0cHV0IHdhcyB3ZWxsLWZvcm1lZCBY
TUwsIGFuZCBoZW5jZSBwcm92aWRlZCBsaXR0bGUgb2YgdXNlLgotCi0qIFJlbW92ZWQgZGVmYXVs
dCBET00gdHJlZWJ1aWxkZXIsIHNvIGBgaHRtbDVsaWIudHJlZWJ1aWxkZXJzLmRvbWBgIGlzIG5v
Ci0gIGxvbmdlciBzdXBwb3J0ZWQuIGBgaHRtbDVsaWIudHJlZWJ1aWxkZXJzLmdldFRyZWVCdWls
ZGVyKCJkb20iKWBgIHdpbGwKLSAgcmV0dXJuIHRoZSBkZWZhdWx0IERPTSB0cmVlYnVpbGRlciwg
d2hpY2ggdXNlcyBgYHhtbC5kb20ubWluaWRvbWBgLgotCi0qIE9wdGlvbmFsIGhldXJpc3RpYyBj
aGFyYWN0ZXIgZW5jb2RpbmcgZGV0ZWN0aW9uIG5vdyBiYXNlZCBvbgotICBgYGNoYXJhZGVgYCBm
b3IgUHl0aG9uIDIuNiAtIDMuMyBjb21wYXRpYmlsaXR5LgotCi0qIE9wdGlvbmFsIGBgR2Vuc2hp
YGAgdHJlZXdhbGtlciBzdXBwb3J0IGZpeGVkLgotCi0qIE1hbnkgYnVnZml4ZXMsIGluY2x1ZGlu
ZzoKLQotICAqICMzMzogbnVsbCBpbiBhdHRyaWJ1dGUgdmFsdWUgYnJlYWtzIFhNTCBBdHRWYWx1
ZTsKLQotICAqICM0OiBuZXN0ZWQsIGluZGlyZWN0IGRlc2NlbmRhbnQsIDxidXR0b24+IGNhdXNl
cyBpbmZpbml0ZSBsb29wOwotCi0gICogYEdvb2dsZSBDb2RlIDIxNQotICAgIDxodHRwOi8vY29k
ZS5nb29nbGUuY29tL3AvaHRtbDVsaWIvaXNzdWVzL2RldGFpbD9pZD0yMTU+YF86IFByb3Blcmx5
Ci0gICAgZGV0ZWN0IHNlZWthYmxlIHN0cmVhbXM7Ci0KLSAgKiBgR29vZ2xlIENvZGUgMjA2Ci0g
ICAgPGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9odG1sNWxpYi9pc3N1ZXMvZGV0YWlsP2lkPTIw
Nj5gXzogYWRkCi0gICAgc3VwcG9ydCBmb3IgPHZpZGVvIHByZWxvYWQ9Li4uPiwgPGF1ZGlvIHBy
ZWxvYWQ9Li4uPjsKLQotICAqIGBHb29nbGUgQ29kZSAyMDUKLSAgICA8aHR0cDovL2NvZGUuZ29v
Z2xlLmNvbS9wL2h0bWw1bGliL2lzc3Vlcy9kZXRhaWw/aWQ9MjA1PmBfOiBhZGQKLSAgICBzdXBw
b3J0IGZvciA8dmlkZW8gcG9zdGVyPS4uLj47Ci0KLSAgKiBgR29vZ2xlIENvZGUgMjAyCi0gICAg
PGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9odG1sNWxpYi9pc3N1ZXMvZGV0YWlsP2lkPTIwMj5g
XzogVW5pY29kZQotICAgIGZpbGUgYnJlYWtzIElucHV0U3RyZWFtLgotCi0qIFNvdXJjZSBjb2Rl
IGlzIG5vdyBtb3N0bHkgUEVQIDggY29tcGxpYW50LgotCi0qIFRlc3QgaGFybmVzcyBoYXMgYmVl
biBpbXByb3ZlZCBhbmQgbm93IGRlcGVuZHMgb24gYGBub3NlYGAuCi0KLSogRG9jdW1lbnRhdGlv
biB1cGRhdGVkIGFuZCBtb3ZlZCB0byBodHRwOi8vaHRtbDVsaWIucmVhZHRoZWRvY3Mub3JnLy4K
LQotCi0wLjk1Ci1+fn5+Ci0KLVJlbGVhc2VkIG9uIEZlYnJ1YXJ5IDExLCAyMDEyCi0KLQotMC45
MAotfn5+fgotCi1SZWxlYXNlZCBvbiBKYW51YXJ5IDE3LCAyMDEwCi0KLQotMC4xMS4xCi1+fn5+
fn4KLQotUmVsZWFzZWQgb24gSnVuZSAxMiwgMjAwOAotCi0KLTAuMTEKLX5+fn4KLQotUmVsZWFz
ZWQgb24gSnVuZSAxMCwgMjAwOAotCi0KLTAuMTAKLX5+fn4KLQotUmVsZWFzZWQgb24gT2N0b2Jl
ciA3LCAyMDA3Ci0KLQotMC45Ci1+fn4KLQotUmVsZWFzZWQgb24gTWFyY2ggMTEsIDIwMDcKLQot
Ci0wLjIKLX5+fgotCi1SZWxlYXNlZCBvbiBKYW51YXJ5IDgsIDIwMDcKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
Q09OVFJJQlVUSU5HLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvQ09OVFJJQlVUSU5HLnJzdApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggOGM1ZTE5ODUzNWQyNDA2MjAwODEyNDg1ZWIyMDdhOWEzZTI4ZTMwNS4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL0NPTlRSSUJVVElO
Ry5yc3QKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1Db250cmlidXRpbmcKLT09PT09
PT09PT09PQotCi1QdWxsIHJlcXVlc3RzIGFyZSBtb3JlIHRoYW4gd2VsY29tZSDigJQgYm90aCB0
byB0aGUgbGlicmFyeSBhbmQgdG8gdGhlCi1kb2N1bWVudGF0aW9uLiBTb21lIHVzZWZ1bCBpbmZv
cm1hdGlvbjoKLQotLSBXZSBhaW0gdG8gZm9sbG93IFBFUCA4IGluIHRoZSBsaWJyYXJ5LCBidXQg
aWdub3JpbmcgdGhlCi0gIDc5LWNoYXJhY3Rlci1wZXItbGluZSBsaW1pdCwgaW5zdGVhZCBmb2xs
b3dpbmcgYSBzb2Z0IGxpbWl0IG9mIDk5LAotICBidXQgYWxsb3dpbmcgbGluZXMgb3ZlciB0aGlz
IHdoZXJlIGl0IGlzIHRoZSByZWFkYWJsZSB0aGluZyB0byBkby4KLQotLSBXZSBhaW0gdG8gZm9s
bG93IFBFUCAyNTcgZm9yIGFsbCBkb2NzdHJpbmdzLCBhbmQgbWFrZSB0aGVtIHByb3Blcmx5Ci0g
IHBhcnNlYWJsZSBieSBTcGhpbnggd2hpbGUgZ2VuZXJhdGluZyBBUEkgZG9jdW1lbnRhdGlvbi4K
LQotLSBXZSBrZWVwIGBgcHlmbGFrZXNgYCByZXBvcnRpbmcgbm8gZXJyb3JzIG9yIHdhcm5pbmdz
IGF0IGFsbCB0aW1lcy4KLQotLSBXZSBrZWVwIHRoZSBtYXN0ZXIgYnJhbmNoIHBhc3NpbmcgYWxs
IHRlc3RzIGF0IGFsbCB0aW1lcyBvbiBhbGwKLSAgc3VwcG9ydGVkIHZlcnNpb25zLgotCi1gVHJh
dmlzIENJIDxodHRwczovL3RyYXZpcy1jaS5vcmcvaHRtbDVsaWIvaHRtbDVsaWItcHl0aG9uLz5g
XyBpcyBydW4KLWFnYWluc3QgYWxsIHB1bGwgcmVxdWVzdHMgYW5kIHNob3VsZCBlbmZvcmNlIGFs
bCBvZiB0aGUgYWJvdmUuCi0KLVdlIHVzZSBgT3BlcmEgQ3JpdGljIDxodHRwczovL2NyaXRpYy5o
b3BwaXBvbGxhLmNvLnVrLz5gXyBhcyBhbiBleHRlcm5hbAotY29kZS1yZXZpZXcgdG9vbCwgd2hp
Y2ggdXNlcyB5b3VyIEdpdEh1YiBsb2dpbiB0byBhdXRoZW50aWNhdGUuICBZb3UnbGwKLWdldCBl
bWFpbCBub3RpZmljYXRpb25zIGZvciBpc3N1ZXMgcmFpc2VkIGluIHRoZSByZXZpZXcuCi0KLQot
UGF0Y2ggc3VibWlzc2lvbiBndWlkZWxpbmVzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotLSAqKkNyZWF0ZSBhIG5ldyBHaXQgYnJhbmNoIHNwZWNpZmljIHRvIHlvdXIgY2hhbmdlLioq
IERvIG5vdCBwdXQKLSAgbXVsdGlwbGUgZml4ZXMvZmVhdHVyZXMgaW4gdGhlIHNhbWUgcHVsbCBy
ZXF1ZXN0LiBJZiB5b3UgZmluZCBhbgotICB1bnJlbGF0ZWQgYnVnLCBjcmVhdGUgYSBkaXN0aW5j
dCBicmFuY2ggYW5kIHN1Ym1pdCBhIHNlcGFyYXRlIHB1bGwKLSAgcmVxdWVzdCBmb3IgdGhlIGJ1
Z2ZpeC4gVGhpcyBtYWtlcyBsaWZlIG11Y2ggZWFzaWVyIGZvciBtYWludGFpbmVycwotICBhbmQg
d2lsbCBzcGVlZCB1cCBtZXJnaW5nIHlvdXIgcGF0Y2hlcy4KLQotLSAqKldyaXRlIGEgdGVzdCoq
IHdoZW5ldmVyIHBvc3NpYmxlLiBGb2xsb3dpbmcgZXhpc3RpbmcgdGVzdHMgaXMgb2Z0ZW4KLSAg
ZWFzaWVzdCwgYW5kIGEgZ29vZCB3YXkgdG8gdGVsbCB3aGV0aGVyIHRoZSBmZWF0dXJlIHlvdSdy
ZSBtb2RpZnlpbmcKLSAgaXMgZWFzaWx5IHRlc3RhYmxlLgotCi0tICoqTWFrZSBzdXJlIGRvY3Vt
ZW50YXRpb24gaXMgdXBkYXRlZC4qKiBLZWVwIGRvY3N0cmluZ3MgY3VycmVudCwgYW5kCi0gIGlm
IG5lY2Vzc2FyeSwgdXBkYXRlIHRoZSBTcGhpbnggZG9jdW1lbnRhdGlvbiBpbiBgYGRvYy9gYC4K
LQotLSAqKkFkZCBhIGNoYW5nZWxvZyBlbnRyeSoqIGF0IHRoZSB0b3Agb2YgYGBDSEFOR0VTLnJz
dGBgIGZvbGxvd2luZwotICBleGlzdGluZyBlbnRyaWVzJyBzdHlsZXMuCi0KLS0gKipSdW4gdGVz
dHMgd2l0aCB0b3gqKiBpZiBwb3NzaWJsZSwgdG8gbWFrZSBzdXJlIHlvdXIgY2hhbmdlcyBhcmUK
LSAgY29tcGF0aWJsZSB3aXRoIGFsbCBzdXBwb3J0ZWQgUHl0aG9uIHZlcnNpb25zLgotCi0tICoq
U3F1YXNoIGNvbW1pdHMqKiBiZWZvcmUgc3VibWl0dGluZyB0aGUgcHVsbCByZXF1ZXN0IHNvIHRo
YXQgYSBzaW5nbGUKLSAgY29tbWl0IGNvbnRhaW5zIHRoZSBlbnRpcmUgY2hhbmdlLCBhbmQgb25s
eSB0aGF0IGNoYW5nZSAoc2VlIHRoZSBmaXJzdAotICBidWxsZXQpLgotCi0tICoqRG9uJ3QgcmVi
YXNlIGFmdGVyIGNyZWF0aW5nIHRoZSBwdWxsIHJlcXVlc3QuKiogTWVyZ2Ugd2l0aCB1cHN0cmVh
bSwKLSAgaWYgbmVjZXNzYXJ5LCBhbmQgdXNlIGBgZ2l0IGNvbW1pdCAtLWZpeHVwYGAgZm9yIGZp
eGluZyBpc3N1ZXMgcmFpc2VkCi0gIGluIGEgQ3JpdGljIHJldmlldyBvciBieSBhIGZhaWxpbmcg
VHJhdmlzIGJ1aWxkLiBUaGUgcmV2aWV3ZXIgd2lsbAotICBzcXVhc2ggYW5kIHJlYmFzZSB5b3Vy
IHB1bGwgcmVxdWVzdCB3aGlsZSBhY2NlcHRpbmcgaXQuIEV2ZW4gdGhvdWdoCi0gIEdpdEh1YiB3
b24ndCByZWNvZ25pemUgdGhlIHB1bGwgcmVxdWVzdCBhcyBhY2NlcHRlZCwgdGhlIHNxdWFzaGVk
Ci0gIGNvbW1pdHMgd2lsbCBwcm9wZXJseSBzcGVjaWZ5IHlvdSBhcyB0aGUgYXV0aG9yLgotCi0t
ICoqQXR0cmlidXRlIHlvdXJzZWxmKiogaW4gYGBBVVRIT1JTLnJzdGBgLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9MSUNFTlNFIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9MSUNFTlNFCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODdm
YTdhMDAwNjlmOTA1ZGYwMzMxZDJlY2NjMTcxMzI4MmExZTQ2Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvTElDRU5TRQorKysgL2Rldi9udWxsCkBAIC0x
LDIwICswLDAgQEAKLUNvcHlyaWdodCAoYykgMjAwNi0yMDEzIEphbWVzIEdyYWhhbSBhbmQgb3Ro
ZXIgY29udHJpYnV0b3JzCi0KLVBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2Yg
Y2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZwotYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUg
YW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlCi0iU29mdHdhcmUiKSwgdG8g
ZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nCi13aXRo
b3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1
Ymxpc2gsCi1kaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhl
IFNvZnR3YXJlLCBhbmQgdG8KLXBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlz
IGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0bwotdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
OgotCi1UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGlj
ZSBzaGFsbCBiZQotaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u
cyBvZiB0aGUgU29mdHdhcmUuCi0KLVRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBX
SVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAotRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJ
TkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCi1NRVJDSEFOVEFCSUxJVFks
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAotTk9OSU5GUklOR0VNRU5ULiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRQotTElB
QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElO
IEFOIEFDVElPTgotT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00s
IE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OCi1XSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S
IE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvTUFOSUZFU1Qu
aW4gYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL01BTklGRVNULmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxZWRkMGI3
ZGVlYTViODIwMDRiODI0YWMzZmUyZTEwMmEzODg1NmEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvTUFOSUZFU1QuaW4KKysrIC9kZXYvbnVsbApAQCAt
MSw2ICswLDAgQEAKLWluY2x1ZGUgTElDRU5TRQotaW5jbHVkZSBDSEFOR0VTLnJzdAotaW5jbHVk
ZSBSRUFETUUucnN0Ci1pbmNsdWRlIHJlcXVpcmVtZW50cyoudHh0Ci1ncmFmdCBodG1sNWxpYi90
ZXN0cy90ZXN0ZGF0YQotcmVjdXJzaXZlLWluY2x1ZGUgaHRtbDVsaWIvdGVzdHMgKi5weQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9SRUFETUUucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9SRUFETUUucnN0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCA5ZTBhMGY3NDA0ODViMTkwMWIxNjJmMGJhNTk2MTM4MTBhNTZjZWU3Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvUkVBRE1FLnJzdAor
KysgL2Rldi9udWxsCkBAIC0xLDE1NyArMCwwIEBACi1odG1sNWxpYgotPT09PT09PT0KLQotLi4g
aW1hZ2U6OiBodHRwczovL3RyYXZpcy1jaS5vcmcvaHRtbDVsaWIvaHRtbDVsaWItcHl0aG9uLnBu
Zz9icmFuY2g9bWFzdGVyCi0gIDp0YXJnZXQ6IGh0dHBzOi8vdHJhdmlzLWNpLm9yZy9odG1sNWxp
Yi9odG1sNWxpYi1weXRob24KLQotaHRtbDVsaWIgaXMgYSBwdXJlLXB5dGhvbiBsaWJyYXJ5IGZv
ciBwYXJzaW5nIEhUTUwuIEl0IGlzIGRlc2lnbmVkIHRvCi1jb25mb3JtIHRvIHRoZSBXSEFUV0cg
SFRNTCBzcGVjaWZpY2F0aW9uLCBhcyBpcyBpbXBsZW1lbnRlZCBieSBhbGwgbWFqb3IKLXdlYiBi
cm93c2Vycy4KLQotCi1Vc2FnZQotLS0tLS0KLQotU2ltcGxlIHVzYWdlIGZvbGxvd3MgdGhpcyBw
YXR0ZXJuOgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0KLSAgaW1wb3J0IGh0bWw1bGliCi0g
IHdpdGggb3BlbigibXlkb2N1bWVudC5odG1sIiwgInJiIikgYXMgZjoKLSAgICAgIGRvY3VtZW50
ID0gaHRtbDVsaWIucGFyc2UoZikKLQotb3I6Ci0KLS4uIGNvZGUtYmxvY2s6OiBweXRob24KLQot
ICBpbXBvcnQgaHRtbDVsaWIKLSAgZG9jdW1lbnQgPSBodG1sNWxpYi5wYXJzZSgiPHA+SGVsbG8g
V29ybGQhIikKLQotQnkgZGVmYXVsdCwgdGhlIGBgZG9jdW1lbnRgYCB3aWxsIGJlIGFuIGBgeG1s
LmV0cmVlYGAgZWxlbWVudCBpbnN0YW5jZS4KLVdoZW5ldmVyIHBvc3NpYmxlLCBodG1sNWxpYiBj
aG9vc2VzIHRoZSBhY2NlbGVyYXRlZCBgYEVsZW1lbnRUcmVlYGAKLWltcGxlbWVudGF0aW9uIChp
LmUuIGBgeG1sLmV0cmVlLmNFbGVtZW50VHJlZWBgIG9uIFB5dGhvbiAyLngpLgotCi1Ud28gb3Ro
ZXIgdHJlZSB0eXBlcyBhcmUgc3VwcG9ydGVkOiBgYHhtbC5kb20ubWluaWRvbWBgIGFuZAotYGBs
eG1sLmV0cmVlYGAuIFRvIHVzZSBhbiBhbHRlcm5hdGl2ZSBmb3JtYXQsIHNwZWNpZnkgdGhlIG5h
bWUgb2YKLWEgdHJlZWJ1aWxkZXI6Ci0KLS4uIGNvZGUtYmxvY2s6OiBweXRob24KLQotICBpbXBv
cnQgaHRtbDVsaWIKLSAgd2l0aCBvcGVuKCJteWRvY3VtZW50Lmh0bWwiLCAicmIiKSBhcyBmOgot
ICAgICAgbHhtbF9ldHJlZV9kb2N1bWVudCA9IGh0bWw1bGliLnBhcnNlKGYsIHRyZWVidWlsZGVy
PSJseG1sIikKLQotV2hlbiB1c2luZyB3aXRoIGBgdXJsbGliMmBgIChQeXRob24gMiksIHRoZSBj
aGFyc2V0IGZyb20gSFRUUCBzaG91bGQgYmUKLXBhc3MgaW50byBodG1sNWxpYiBhcyBmb2xsb3dz
OgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0KLSAgZnJvbSBjb250ZXh0bGliIGltcG9ydCBj
bG9zaW5nCi0gIGZyb20gdXJsbGliMiBpbXBvcnQgdXJsb3BlbgotICBpbXBvcnQgaHRtbDVsaWIK
LQotICB3aXRoIGNsb3NpbmcodXJsb3BlbigiaHR0cDovL2V4YW1wbGUuY29tLyIpKSBhcyBmOgot
ICAgICAgZG9jdW1lbnQgPSBodG1sNWxpYi5wYXJzZShmLCBlbmNvZGluZz1mLmluZm8oKS5nZXRw
YXJhbSgiY2hhcnNldCIpKQotCi1XaGVuIHVzaW5nIHdpdGggYGB1cmxsaWIucmVxdWVzdGBgIChQ
eXRob24gMyksIHRoZSBjaGFyc2V0IGZyb20gSFRUUAotc2hvdWxkIGJlIHBhc3MgaW50byBodG1s
NWxpYiBhcyBmb2xsb3dzOgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0KLSAgZnJvbSB1cmxs
aWIucmVxdWVzdCBpbXBvcnQgdXJsb3BlbgotICBpbXBvcnQgaHRtbDVsaWIKLQotICB3aXRoIHVy
bG9wZW4oImh0dHA6Ly9leGFtcGxlLmNvbS8iKSBhcyBmOgotICAgICAgZG9jdW1lbnQgPSBodG1s
NWxpYi5wYXJzZShmLCBlbmNvZGluZz1mLmluZm8oKS5nZXRfY29udGVudF9jaGFyc2V0KCkpCi0K
LVRvIGhhdmUgbW9yZSBjb250cm9sIG92ZXIgdGhlIHBhcnNlciwgY3JlYXRlIGEgcGFyc2VyIG9i
amVjdCBleHBsaWNpdGx5LgotRm9yIGluc3RhbmNlLCB0byBtYWtlIHRoZSBwYXJzZXIgcmFpc2Ug
ZXhjZXB0aW9ucyBvbiBwYXJzZSBlcnJvcnMsIHVzZToKLQotLi4gY29kZS1ibG9jazo6IHB5dGhv
bgotCi0gIGltcG9ydCBodG1sNWxpYgotICB3aXRoIG9wZW4oIm15ZG9jdW1lbnQuaHRtbCIsICJy
YiIpIGFzIGY6Ci0gICAgICBwYXJzZXIgPSBodG1sNWxpYi5IVE1MUGFyc2VyKHN0cmljdD1UcnVl
KQotICAgICAgZG9jdW1lbnQgPSBwYXJzZXIucGFyc2UoZikKLQotV2hlbiB5b3UncmUgaW5zdGFu
dGlhdGluZyBwYXJzZXIgb2JqZWN0cyBleHBsaWNpdGx5LCBwYXNzIGEgdHJlZWJ1aWxkZXIKLWNs
YXNzIGFzIHRoZSBgYHRyZWVgYCBrZXl3b3JkIGFyZ3VtZW50IHRvIHVzZSBhbiBhbHRlcm5hdGl2
ZSBkb2N1bWVudAotZm9ybWF0OgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0KLSAgaW1wb3J0
IGh0bWw1bGliCi0gIHBhcnNlciA9IGh0bWw1bGliLkhUTUxQYXJzZXIodHJlZT1odG1sNWxpYi5n
ZXRUcmVlQnVpbGRlcigiZG9tIikpCi0gIG1pbmlkb21fZG9jdW1lbnQgPSBwYXJzZXIucGFyc2Uo
IjxwPkhlbGxvIFdvcmxkISIpCi0KLU1vcmUgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgYXQg
aHR0cDovL2h0bWw1bGliLnJlYWR0aGVkb2NzLm9yZy8uCi0KLQotSW5zdGFsbGF0aW9uCi0tLS0t
LS0tLS0tLS0KLQotaHRtbDVsaWIgd29ya3Mgb24gQ1B5dGhvbiAyLjYrLCBDUHl0aG9uIDMuMisg
YW5kIFB5UHkuICBUbyBpbnN0YWxsIGl0LAotdXNlOgotCi0uLiBjb2RlLWJsb2NrOjogYmFzaAot
Ci0gICAgJCBwaXAgaW5zdGFsbCBodG1sNWxpYgotCi0KLU9wdGlvbmFsIERlcGVuZGVuY2llcwot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoZSBmb2xsb3dpbmcgdGhpcmQtcGFydHkgbGlicmFy
aWVzIG1heSBiZSB1c2VkIGZvciBhZGRpdGlvbmFsCi1mdW5jdGlvbmFsaXR5OgotCi0tIGBgZGF0
cmllYGAgY2FuIGJlIHVzZWQgdG8gaW1wcm92ZSBwYXJzaW5nIHBlcmZvcm1hbmNlICh0aG91Z2gg
aW4KLSAgYWxtb3N0IGFsbCBjYXNlcyB0aGUgaW1wcm92ZW1lbnQgaXMgbWFyZ2luYWwpOwotCi0t
IGBgbHhtbGBgIGlzIHN1cHBvcnRlZCBhcyBhIHRyZWUgZm9ybWF0IChmb3IgYm90aCBidWlsZGlu
ZyBhbmQKLSAgd2Fsa2luZykgdW5kZXIgQ1B5dGhvbiAoYnV0ICpub3QqIFB5UHkgd2hlcmUgaXQg
aXMga25vd24gdG8gY2F1c2UKLSAgc2VnZmF1bHRzKTsKLQotLSBgYGdlbnNoaWBgIGhhcyBhIHRy
ZWV3YWxrZXIgKGJ1dCBub3QgYnVpbGRlcik7IGFuZAotCi0tIGBgY2hhcmFkZWBgIGNhbiBiZSB1
c2VkIGFzIGEgZmFsbGJhY2sgd2hlbiBjaGFyYWN0ZXIgZW5jb2RpbmcgY2Fubm90Ci0gIGJlIGRl
dGVybWluZWQ7IGBgY2hhcmRldGBgLCBmcm9tIHdoaWNoIGl0IHdhcyBmb3JrZWQsIGNhbiBhbHNv
IGJlIHVzZWQKLSAgb24gUHl0aG9uIDIuCi0KLS0gYGBvcmRlcmVkZGljdGBgIGNhbiBiZSB1c2Vk
IHVuZGVyIFB5dGhvbiAyLjYKLSAgKGBgY29sbGVjdGlvbnMuT3JkZXJlZERpY3RgYCBpcyB1c2Vk
IGluc3RlYWQgb24gbGF0ZXIgdmVyc2lvbnMpIHRvCi0gIHNlcmlhbGl6ZSBhdHRyaWJ1dGVzIGlu
IGFscGhhYmV0aWNhbCBvcmRlci4KLQotCi1CdWdzCi0tLS0tCi0KLVBsZWFzZSByZXBvcnQgYW55
IGJ1Z3Mgb24gdGhlIGBpc3N1ZSB0cmFja2VyCi08aHR0cHM6Ly9naXRodWIuY29tL2h0bWw1bGli
L2h0bWw1bGliLXB5dGhvbi9pc3N1ZXM+YF8uCi0KLQotVGVzdHMKLS0tLS0tCi0KLVVuaXQgdGVz
dHMgcmVxdWlyZSB0aGUgYGBub3NlYGAgbGlicmFyeSBhbmQgY2FuIGJlIHJ1biB1c2luZyB0aGUK
LWBgbm9zZXRlc3RzYGAgY29tbWFuZCBpbiB0aGUgcm9vdCBkaXJlY3Rvcnk7IGBgb3JkZXJlZGRp
Y3RgYCBpcwotcmVxdWlyZWQgdW5kZXIgUHl0aG9uIDIuNi4gQWxsIHNob3VsZCBwYXNzLgotCi1U
ZXN0IGRhdGEgYXJlIGNvbnRhaW5lZCBpbiBhIHNlcGFyYXRlIGBodG1sNWxpYi10ZXN0cwotPGh0
dHBzOi8vZ2l0aHViLmNvbS9odG1sNWxpYi9odG1sNWxpYi10ZXN0cz5gXyByZXBvc2l0b3J5IGFu
ZCBpbmNsdWRlZAotYXMgYSBzdWJtb2R1bGUsIHRodXMgZm9yIGdpdCBjaGVja291dHMgdGhleSBt
dXN0IGJlIGluaXRpYWxpemVkOjoKLQotICAkIGdpdCBzdWJtb2R1bGUgaW5pdAotICAkIGdpdCBz
dWJtb2R1bGUgdXBkYXRlCi0KLUlmIHlvdSBoYXZlIGFsbCBjb21wYXRpYmxlIFB5dGhvbiBpbXBs
ZW1lbnRhdGlvbnMgYXZhaWxhYmxlIG9uIHlvdXIKLXN5c3RlbSwgeW91IGNhbiBydW4gdGVzdHMg
b24gYWxsIG9mIHRoZW0gdXNpbmcgdGhlIGBgdG94YGAgdXRpbGl0eSwKLXdoaWNoIGNhbiBiZSBm
b3VuZCBvbiBQeVBJLgotCi0KLVF1ZXN0aW9ucz8KLS0tLS0tLS0tLS0KLQotVGhlcmUncyBhIG1h
aWxpbmcgbGlzdCBhdmFpbGFibGUgZm9yIHN1cHBvcnQgb24gR29vZ2xlIEdyb3VwcywKLWBodG1s
NWxpYi1kaXNjdXNzIDxodHRwOi8vZ3JvdXBzLmdvb2dsZS5jb20vZ3JvdXAvaHRtbDVsaWItZGlz
Y3Vzcz5gXywKLXRob3VnaCB5b3UgbWF5IGdldCBhIHF1aWNrZXIgcmVzcG9uc2UgYXNraW5nIG9u
IElSQyBpbiBgI3doYXR3ZyBvbgotaXJjLmZyZWVub2RlLm5ldCA8aHR0cDovL3dpa2kud2hhdHdn
Lm9yZy93aWtpL0lSQz5gXy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZGVidWctaW5mby5weSBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZGVidWct
aW5mby5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjVkMmJiNmEzMDU3NGFhYzIz
NDkxNDg1NDA0YjYyMjIyNTY4MzVjOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2RlYnVnLWluZm8ucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCww
IEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uLCB1bmljb2RlX2xpdGVy
YWxzCi0KLWltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHN5cwotCi0KLWluZm8gPSB7Ci0gICAgImlt
cGwiOiBwbGF0Zm9ybS5weXRob25faW1wbGVtZW50YXRpb24oKSwKLSAgICAidmVyc2lvbiI6IHBs
YXRmb3JtLnB5dGhvbl92ZXJzaW9uKCksCi0gICAgInJldmlzaW9uIjogcGxhdGZvcm0ucHl0aG9u
X3JldmlzaW9uKCksCi0gICAgIm1heHVuaWNvZGUiOiBzeXMubWF4dW5pY29kZSwKLSAgICAibWF4
c2l6ZSI6IHN5cy5tYXhzaXplCi19Ci0KLXNlYXJjaF9tb2R1bGVzID0gWyJjaGFyYWRlIiwgImNo
YXJkZXQiLCAiZGF0cmllIiwgImdlbnNoaSIsICJodG1sNWxpYiIsICJseG1sIiwgInNpeCJdCi1m
b3VuZF9tb2R1bGVzID0gW10KLQotZm9yIG0gaW4gc2VhcmNoX21vZHVsZXM6Ci0gICAgdHJ5Ogot
ICAgICAgICBfX2ltcG9ydF9fKG0pCi0gICAgZXhjZXB0IEltcG9ydEVycm9yOgotICAgICAgICBw
YXNzCi0gICAgZWxzZToKLSAgICAgICAgZm91bmRfbW9kdWxlcy5hcHBlbmQobSkKLQotaW5mb1si
bW9kdWxlcyJdID0gIiwgIi5qb2luKGZvdW5kX21vZHVsZXMpCi0KLQotcHJpbnQoIiIiaHRtbDVs
aWIgZGVidWcgaW5mbzoKLQotUHl0aG9uICUodmVyc2lvbilzIChyZXZpc2lvbjogJShyZXZpc2lv
bilzKQotSW1wbGVtZW50YXRpb246ICUoaW1wbClzCi0KLXN5cy5tYXh1bmljb2RlOiAlKG1heHVu
aWNvZGUpWAotc3lzLm1heHNpemU6ICUobWF4c2l6ZSlYCi0KLUluc3RhbGxlZCBtb2R1bGVzOiAl
KG1vZHVsZXMpcyIiIiAlIGluZm8pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9NYWtlZmlsZSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9j
L01ha2VmaWxlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMGU1ODY2N2U3ZDllNzAz
MDgzYzRkMjkxNWU3YmI4YzI2YzU3YmY2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvZG9jL01ha2VmaWxlCisrKyAvZGV2L251bGwKQEAgLTEsMTc3ICsw
LDAgQEAKLSMgTWFrZWZpbGUgZm9yIFNwaGlueCBkb2N1bWVudGF0aW9uCi0jCi0KLSMgWW91IGNh
biBzZXQgdGhlc2UgdmFyaWFibGVzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KLVNQSElOWE9QVFMg
ICAgPQotU1BISU5YQlVJTEQgICA9IHNwaGlueC1idWlsZAotUEFQRVIgICAgICAgICA9Ci1CVUlM
RERJUiAgICAgID0gX2J1aWxkCi0KLSMgVXNlci1mcmllbmRseSBjaGVjayBmb3Igc3BoaW54LWJ1
aWxkCi1pZmVxICgkKHNoZWxsIHdoaWNoICQoU1BISU5YQlVJTEQpID4vZGV2L251bGwgMj4mMTsg
ZWNobyAkJD8pLCAxKQotJChlcnJvciBUaGUgJyQoU1BISU5YQlVJTEQpJyBjb21tYW5kIHdhcyBu
b3QgZm91bmQuIE1ha2Ugc3VyZSB5b3UgaGF2ZSBTcGhpbnggaW5zdGFsbGVkLCB0aGVuIHNldCB0
aGUgU1BISU5YQlVJTEQgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gcG9pbnQgdG8gdGhlIGZ1bGwg
cGF0aCBvZiB0aGUgJyQoU1BISU5YQlVJTEQpJyBleGVjdXRhYmxlLiBBbHRlcm5hdGl2ZWx5IHlv
dSBjYW4gYWRkIHRoZSBkaXJlY3Rvcnkgd2l0aCB0aGUgZXhlY3V0YWJsZSB0byB5b3VyIFBBVEgu
IElmIHlvdSBkb24ndCBoYXZlIFNwaGlueCBpbnN0YWxsZWQsIGdyYWIgaXQgZnJvbSBodHRwOi8v
c3BoaW54LWRvYy5vcmcvKQotZW5kaWYKLQotIyBJbnRlcm5hbCB2YXJpYWJsZXMuCi1QQVBFUk9Q
VF9hNCAgICAgPSAtRCBsYXRleF9wYXBlcl9zaXplPWE0Ci1QQVBFUk9QVF9sZXR0ZXIgPSAtRCBs
YXRleF9wYXBlcl9zaXplPWxldHRlcgotQUxMU1BISU5YT1BUUyAgID0gLWQgJChCVUlMRERJUikv
ZG9jdHJlZXMgJChQQVBFUk9QVF8kKFBBUEVSKSkgJChTUEhJTlhPUFRTKSAuCi0jIHRoZSBpMThu
IGJ1aWxkZXIgY2Fubm90IHNoYXJlIHRoZSBlbnZpcm9ubWVudCBhbmQgZG9jdHJlZXMgd2l0aCB0
aGUgb3RoZXJzCi1JMThOU1BISU5YT1BUUyAgPSAkKFBBUEVST1BUXyQoUEFQRVIpKSAkKFNQSElO
WE9QVFMpIC4KLQotLlBIT05ZOiBoZWxwIGNsZWFuIGh0bWwgZGlyaHRtbCBzaW5nbGVodG1sIHBp
Y2tsZSBqc29uIGh0bWxoZWxwIHF0aGVscCBkZXZoZWxwIGVwdWIgbGF0ZXggbGF0ZXhwZGYgdGV4
dCBtYW4gY2hhbmdlcyBsaW5rY2hlY2sgZG9jdGVzdCBnZXR0ZXh0Ci0KLWhlbHA6Ci0JQGVjaG8g
IlBsZWFzZSB1c2UgXGBtYWtlIDx0YXJnZXQ+JyB3aGVyZSA8dGFyZ2V0PiBpcyBvbmUgb2YiCi0J
QGVjaG8gIiAgaHRtbCAgICAgICB0byBtYWtlIHN0YW5kYWxvbmUgSFRNTCBmaWxlcyIKLQlAZWNo
byAiICBkaXJodG1sICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBuYW1lZCBpbmRleC5odG1sIGluIGRp
cmVjdG9yaWVzIgotCUBlY2hvICIgIHNpbmdsZWh0bWwgdG8gbWFrZSBhIHNpbmdsZSBsYXJnZSBI
VE1MIGZpbGUiCi0JQGVjaG8gIiAgcGlja2xlICAgICB0byBtYWtlIHBpY2tsZSBmaWxlcyIKLQlA
ZWNobyAiICBqc29uICAgICAgIHRvIG1ha2UgSlNPTiBmaWxlcyIKLQlAZWNobyAiICBodG1saGVs
cCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAgcHJvamVjdCIKLQlAZWNobyAi
ICBxdGhlbHAgICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBxdGhlbHAgcHJvamVjdCIKLQlA
ZWNobyAiICBkZXZoZWxwICAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBEZXZoZWxwIHByb2pl
Y3QiCi0JQGVjaG8gIiAgZXB1YiAgICAgICB0byBtYWtlIGFuIGVwdWIiCi0JQGVjaG8gIiAgbGF0
ZXggICAgICB0byBtYWtlIExhVGVYIGZpbGVzLCB5b3UgY2FuIHNldCBQQVBFUj1hNCBvciBQQVBF
Uj1sZXR0ZXIiCi0JQGVjaG8gIiAgbGF0ZXhwZGYgICB0byBtYWtlIExhVGVYIGZpbGVzIGFuZCBy
dW4gdGhlbSB0aHJvdWdoIHBkZmxhdGV4IgotCUBlY2hvICIgIGxhdGV4cGRmamEgdG8gbWFrZSBM
YVRlWCBmaWxlcyBhbmQgcnVuIHRoZW0gdGhyb3VnaCBwbGF0ZXgvZHZpcGRmbXgiCi0JQGVjaG8g
IiAgdGV4dCAgICAgICB0byBtYWtlIHRleHQgZmlsZXMiCi0JQGVjaG8gIiAgbWFuICAgICAgICB0
byBtYWtlIG1hbnVhbCBwYWdlcyIKLQlAZWNobyAiICB0ZXhpbmZvICAgIHRvIG1ha2UgVGV4aW5m
byBmaWxlcyIKLQlAZWNobyAiICBpbmZvICAgICAgIHRvIG1ha2UgVGV4aW5mbyBmaWxlcyBhbmQg
cnVuIHRoZW0gdGhyb3VnaCBtYWtlaW5mbyIKLQlAZWNobyAiICBnZXR0ZXh0ICAgIHRvIG1ha2Ug
UE8gbWVzc2FnZSBjYXRhbG9ncyIKLQlAZWNobyAiICBjaGFuZ2VzICAgIHRvIG1ha2UgYW4gb3Zl
cnZpZXcgb2YgYWxsIGNoYW5nZWQvYWRkZWQvZGVwcmVjYXRlZCBpdGVtcyIKLQlAZWNobyAiICB4
bWwgICAgICAgIHRvIG1ha2UgRG9jdXRpbHMtbmF0aXZlIFhNTCBmaWxlcyIKLQlAZWNobyAiICBw
c2V1ZG94bWwgIHRvIG1ha2UgcHNldWRveG1sLVhNTCBmaWxlcyBmb3IgZGlzcGxheSBwdXJwb3Nl
cyIKLQlAZWNobyAiICBsaW5rY2hlY2sgIHRvIGNoZWNrIGFsbCBleHRlcm5hbCBsaW5rcyBmb3Ig
aW50ZWdyaXR5IgotCUBlY2hvICIgIGRvY3Rlc3QgICAgdG8gcnVuIGFsbCBkb2N0ZXN0cyBlbWJl
ZGRlZCBpbiB0aGUgZG9jdW1lbnRhdGlvbiAoaWYgZW5hYmxlZCkiCi0KLWNsZWFuOgotCXJtIC1y
ZiAkKEJVSUxERElSKS8qCi0KLWh0bWw6Ci0JJChTUEhJTlhCVUlMRCkgLWIgaHRtbCAkKEFMTFNQ
SElOWE9QVFMpICQoQlVJTERESVIpL2h0bWwKLQlAZWNobwotCUBlY2hvICJCdWlsZCBmaW5pc2hl
ZC4gVGhlIEhUTUwgcGFnZXMgYXJlIGluICQoQlVJTERESVIpL2h0bWwuIgotCi1kaXJodG1sOgot
CSQoU1BISU5YQlVJTEQpIC1iIGRpcmh0bWwgJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9k
aXJodG1sCi0JQGVjaG8KLQlAZWNobyAiQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBhZ2VzIGFy
ZSBpbiAkKEJVSUxERElSKS9kaXJodG1sLiIKLQotc2luZ2xlaHRtbDoKLQkkKFNQSElOWEJVSUxE
KSAtYiBzaW5nbGVodG1sICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvc2luZ2xlaHRtbAot
CUBlY2hvCi0JQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlIGlzIGluICQoQlVJ
TERESVIpL3NpbmdsZWh0bWwuIgotCi1waWNrbGU6Ci0JJChTUEhJTlhCVUlMRCkgLWIgcGlja2xl
ICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvcGlja2xlCi0JQGVjaG8KLQlAZWNobyAiQnVp
bGQgZmluaXNoZWQ7IG5vdyB5b3UgY2FuIHByb2Nlc3MgdGhlIHBpY2tsZSBmaWxlcy4iCi0KLWpz
b246Ci0JJChTUEhJTlhCVUlMRCkgLWIganNvbiAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIp
L2pzb24KLQlAZWNobwotCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcHJvY2Vz
cyB0aGUgSlNPTiBmaWxlcy4iCi0KLWh0bWxoZWxwOgotCSQoU1BISU5YQlVJTEQpIC1iIGh0bWxo
ZWxwICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvaHRtbGhlbHAKLQlAZWNobwotCUBlY2hv
ICJCdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwgSGVscCBXb3Jrc2hvcCB3aXRo
IHRoZSIgXAotCSAgICAgICIuaGhwIHByb2plY3QgZmlsZSBpbiAkKEJVSUxERElSKS9odG1saGVs
cC4iCi0KLXF0aGVscDoKLQkkKFNQSElOWEJVSUxEKSAtYiBxdGhlbHAgJChBTExTUEhJTlhPUFRT
KSAkKEJVSUxERElSKS9xdGhlbHAKLQlAZWNobwotCUBlY2hvICJCdWlsZCBmaW5pc2hlZDsgbm93
IHlvdSBjYW4gcnVuICJxY29sbGVjdGlvbmdlbmVyYXRvciIgd2l0aCB0aGUiIFwKLQkgICAgICAi
LnFoY3AgcHJvamVjdCBmaWxlIGluICQoQlVJTERESVIpL3F0aGVscCwgbGlrZSB0aGlzOiIKLQlA
ZWNobyAiIyBxY29sbGVjdGlvbmdlbmVyYXRvciAkKEJVSUxERElSKS9xdGhlbHAvaHRtbDVsaWIu
cWhjcCIKLQlAZWNobyAiVG8gdmlldyB0aGUgaGVscCBmaWxlOiIKLQlAZWNobyAiIyBhc3Npc3Rh
bnQgLWNvbGxlY3Rpb25GaWxlICQoQlVJTERESVIpL3F0aGVscC9odG1sNWxpYi5xaGMiCi0KLWRl
dmhlbHA6Ci0JJChTUEhJTlhCVUlMRCkgLWIgZGV2aGVscCAkKEFMTFNQSElOWE9QVFMpICQoQlVJ
TERESVIpL2RldmhlbHAKLQlAZWNobwotCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4iCi0JQGVjaG8g
IlRvIHZpZXcgdGhlIGhlbHAgZmlsZToiCi0JQGVjaG8gIiMgbWtkaXIgLXAgJCRIT01FLy5sb2Nh
bC9zaGFyZS9kZXZoZWxwL2h0bWw1bGliIgotCUBlY2hvICIjIGxuIC1zICQoQlVJTERESVIpL2Rl
dmhlbHAgJCRIT01FLy5sb2NhbC9zaGFyZS9kZXZoZWxwL2h0bWw1bGliIgotCUBlY2hvICIjIGRl
dmhlbHAiCi0KLWVwdWI6Ci0JJChTUEhJTlhCVUlMRCkgLWIgZXB1YiAkKEFMTFNQSElOWE9QVFMp
ICQoQlVJTERESVIpL2VwdWIKLQlAZWNobwotCUBlY2hvICJCdWlsZCBmaW5pc2hlZC4gVGhlIGVw
dWIgZmlsZSBpcyBpbiAkKEJVSUxERElSKS9lcHViLiIKLQotbGF0ZXg6Ci0JJChTUEhJTlhCVUlM
RCkgLWIgbGF0ZXggJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sYXRleAotCUBlY2hvCi0J
QGVjaG8gIkJ1aWxkIGZpbmlzaGVkOyB0aGUgTGFUZVggZmlsZXMgYXJlIGluICQoQlVJTERESVIp
L2xhdGV4LiIKLQlAZWNobyAiUnVuIFxgbWFrZScgaW4gdGhhdCBkaXJlY3RvcnkgdG8gcnVuIHRo
ZXNlIHRocm91Z2ggKHBkZilsYXRleCIgXAotCSAgICAgICIodXNlIFxgbWFrZSBsYXRleHBkZicg
aGVyZSB0byBkbyB0aGF0IGF1dG9tYXRpY2FsbHkpLiIKLQotbGF0ZXhwZGY6Ci0JJChTUEhJTlhC
VUlMRCkgLWIgbGF0ZXggJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sYXRleAotCUBlY2hv
ICJSdW5uaW5nIExhVGVYIGZpbGVzIHRocm91Z2ggcGRmbGF0ZXguLi4iCi0JJChNQUtFKSAtQyAk
KEJVSUxERElSKS9sYXRleCBhbGwtcGRmCi0JQGVjaG8gInBkZmxhdGV4IGZpbmlzaGVkOyB0aGUg
UERGIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS9sYXRleC4iCi0KLWxhdGV4cGRmamE6Ci0JJChT
UEhJTlhCVUlMRCkgLWIgbGF0ZXggJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9sYXRleAot
CUBlY2hvICJSdW5uaW5nIExhVGVYIGZpbGVzIHRocm91Z2ggcGxhdGV4IGFuZCBkdmlwZGZteC4u
LiIKLQkkKE1BS0UpIC1DICQoQlVJTERESVIpL2xhdGV4IGFsbC1wZGYtamEKLQlAZWNobyAicGRm
bGF0ZXggZmluaXNoZWQ7IHRoZSBQREYgZmlsZXMgYXJlIGluICQoQlVJTERESVIpL2xhdGV4LiIK
LQotdGV4dDoKLQkkKFNQSElOWEJVSUxEKSAtYiB0ZXh0ICQoQUxMU1BISU5YT1BUUykgJChCVUlM
RERJUikvdGV4dAotCUBlY2hvCi0JQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgdGV4dCBmaWxl
cyBhcmUgaW4gJChCVUlMRERJUikvdGV4dC4iCi0KLW1hbjoKLQkkKFNQSElOWEJVSUxEKSAtYiBt
YW4gJChBTExTUEhJTlhPUFRTKSAkKEJVSUxERElSKS9tYW4KLQlAZWNobwotCUBlY2hvICJCdWls
ZCBmaW5pc2hlZC4gVGhlIG1hbnVhbCBwYWdlcyBhcmUgaW4gJChCVUlMRERJUikvbWFuLiIKLQot
dGV4aW5mbzoKLQkkKFNQSElOWEJVSUxEKSAtYiB0ZXhpbmZvICQoQUxMU1BISU5YT1BUUykgJChC
VUlMRERJUikvdGV4aW5mbwotCUBlY2hvCi0JQGVjaG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgVGV4
aW5mbyBmaWxlcyBhcmUgaW4gJChCVUlMRERJUikvdGV4aW5mby4iCi0JQGVjaG8gIlJ1biBcYG1h
a2UnIGluIHRoYXQgZGlyZWN0b3J5IHRvIHJ1biB0aGVzZSB0aHJvdWdoIG1ha2VpbmZvIiBcCi0J
ICAgICAgIih1c2UgXGBtYWtlIGluZm8nIGhlcmUgdG8gZG8gdGhhdCBhdXRvbWF0aWNhbGx5KS4i
Ci0KLWluZm86Ci0JJChTUEhJTlhCVUlMRCkgLWIgdGV4aW5mbyAkKEFMTFNQSElOWE9QVFMpICQo
QlVJTERESVIpL3RleGluZm8KLQlAZWNobyAiUnVubmluZyBUZXhpbmZvIGZpbGVzIHRocm91Z2gg
bWFrZWluZm8uLi4iCi0JbWFrZSAtQyAkKEJVSUxERElSKS90ZXhpbmZvIGluZm8KLQlAZWNobyAi
bWFrZWluZm8gZmluaXNoZWQ7IHRoZSBJbmZvIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS90ZXhp
bmZvLiIKLQotZ2V0dGV4dDoKLQkkKFNQSElOWEJVSUxEKSAtYiBnZXR0ZXh0ICQoSTE4TlNQSElO
WE9QVFMpICQoQlVJTERESVIpL2xvY2FsZQotCUBlY2hvCi0JQGVjaG8gIkJ1aWxkIGZpbmlzaGVk
LiBUaGUgbWVzc2FnZSBjYXRhbG9ncyBhcmUgaW4gJChCVUlMRERJUikvbG9jYWxlLiIKLQotY2hh
bmdlczoKLQkkKFNQSElOWEJVSUxEKSAtYiBjaGFuZ2VzICQoQUxMU1BISU5YT1BUUykgJChCVUlM
RERJUikvY2hhbmdlcwotCUBlY2hvCi0JQGVjaG8gIlRoZSBvdmVydmlldyBmaWxlIGlzIGluICQo
QlVJTERESVIpL2NoYW5nZXMuIgotCi1saW5rY2hlY2s6Ci0JJChTUEhJTlhCVUlMRCkgLWIgbGlu
a2NoZWNrICQoQUxMU1BISU5YT1BUUykgJChCVUlMRERJUikvbGlua2NoZWNrCi0JQGVjaG8KLQlA
ZWNobyAiTGluayBjaGVjayBjb21wbGV0ZTsgbG9vayBmb3IgYW55IGVycm9ycyBpbiB0aGUgYWJv
dmUgb3V0cHV0ICIgXAotCSAgICAgICJvciBpbiAkKEJVSUxERElSKS9saW5rY2hlY2svb3V0cHV0
LnR4dC4iCi0KLWRvY3Rlc3Q6Ci0JJChTUEhJTlhCVUlMRCkgLWIgZG9jdGVzdCAkKEFMTFNQSElO
WE9QVFMpICQoQlVJTERESVIpL2RvY3Rlc3QKLQlAZWNobyAiVGVzdGluZyBvZiBkb2N0ZXN0cyBp
biB0aGUgc291cmNlcyBmaW5pc2hlZCwgbG9vayBhdCB0aGUgIiBcCi0JICAgICAgInJlc3VsdHMg
aW4gJChCVUlMRERJUikvZG9jdGVzdC9vdXRwdXQudHh0LiIKLQoteG1sOgotCSQoU1BISU5YQlVJ
TEQpIC1iIHhtbCAkKEFMTFNQSElOWE9QVFMpICQoQlVJTERESVIpL3htbAotCUBlY2hvCi0JQGVj
aG8gIkJ1aWxkIGZpbmlzaGVkLiBUaGUgWE1MIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS94bWwu
IgotCi1wc2V1ZG94bWw6Ci0JJChTUEhJTlhCVUlMRCkgLWIgcHNldWRveG1sICQoQUxMU1BISU5Y
T1BUUykgJChCVUlMRERJUikvcHNldWRveG1sCi0JQGVjaG8KLQlAZWNobyAiQnVpbGQgZmluaXNo
ZWQuIFRoZSBwc2V1ZG8tWE1MIGZpbGVzIGFyZSBpbiAkKEJVSUxERElSKS9wc2V1ZG94bWwuIgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9kb2MvY2hhbmdlcy5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9jaGFuZ2VzLnJzdApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGVkM2I3MDVkMGZlNDMxNGQ3MWE2YjUzMmIyZGRiMGE0
NzY1ZDg3Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2RvYy9jaGFuZ2VzLnJzdAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotLi4gOmNoYW5n
ZWxvZzoKLQotLi4gaW5jbHVkZTo6IC4uL0NIQU5HRVMucnN0CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9j
b25mLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9kb2MvY29uZi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDM0
ZjIxYzQyZWJjNTI5NjNiMWVkZWVhMmIwZTcyODFmMDFiMTZkMC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9jb25mLnB5CisrKyAvZGV2L251bGwK
QEAgLTEsMjgwICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbjMKLSMgLSotIGNvZGluZzog
dXRmLTggLSotCi0jCi0jIGh0bWw1bGliIGRvY3VtZW50YXRpb24gYnVpbGQgY29uZmlndXJhdGlv
biBmaWxlLCBjcmVhdGVkIGJ5Ci0jIHNwaGlueC1xdWlja3N0YXJ0IG9uIFdlZCBNYXkgIDggMDA6
MDQ6NDkgMjAxMy4KLSMKLSMgVGhpcyBmaWxlIGlzIGV4ZWNmaWxlKClkIHdpdGggdGhlIGN1cnJl
bnQgZGlyZWN0b3J5IHNldCB0byBpdHMgY29udGFpbmluZyBkaXIuCi0jCi0jIE5vdGUgdGhhdCBu
b3QgYWxsIHBvc3NpYmxlIGNvbmZpZ3VyYXRpb24gdmFsdWVzIGFyZSBwcmVzZW50IGluIHRoaXMK
LSMgYXV0b2dlbmVyYXRlZCBmaWxlLgotIwotIyBBbGwgY29uZmlndXJhdGlvbiB2YWx1ZXMgaGF2
ZSBhIGRlZmF1bHQ7IHZhbHVlcyB0aGF0IGFyZSBjb21tZW50ZWQgb3V0Ci0jIHNlcnZlIHRvIHNo
b3cgdGhlIGRlZmF1bHQuCi0KLWltcG9ydCBzeXMsIG9zCi0KLSMgSWYgZXh0ZW5zaW9ucyAob3Ig
bW9kdWxlcyB0byBkb2N1bWVudCB3aXRoIGF1dG9kb2MpIGFyZSBpbiBhbm90aGVyIGRpcmVjdG9y
eSwKLSMgYWRkIHRoZXNlIGRpcmVjdG9yaWVzIHRvIHN5cy5wYXRoIGhlcmUuIElmIHRoZSBkaXJl
Y3RvcnkgaXMgcmVsYXRpdmUgdG8gdGhlCi0jIGRvY3VtZW50YXRpb24gcm9vdCwgdXNlIG9zLnBh
dGguYWJzcGF0aCB0byBtYWtlIGl0IGFic29sdXRlLCBsaWtlIHNob3duIGhlcmUuCi0jc3lzLnBh
dGguaW5zZXJ0KDAsIG9zLnBhdGguYWJzcGF0aCgnLicpKQotCi0jIC0tIEdlbmVyYWwgY29uZmln
dXJhdGlvbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotCi0jIElmIHlvdXIgZG9jdW1lbnRhdGlvbiBuZWVkcyBhIG1pbmltYWwgU3BoaW54IHZl
cnNpb24sIHN0YXRlIGl0IGhlcmUuCi0jbmVlZHNfc3BoaW54ID0gJzEuMCcKLQotIyBBZGQgYW55
IFNwaGlueCBleHRlbnNpb24gbW9kdWxlIG5hbWVzIGhlcmUsIGFzIHN0cmluZ3MuIFRoZXkgY2Fu
IGJlIGV4dGVuc2lvbnMKLSMgY29taW5nIHdpdGggU3BoaW54IChuYW1lZCAnc3BoaW54LmV4dC4q
Jykgb3IgeW91ciBjdXN0b20gb25lcy4KLWV4dGVuc2lvbnMgPSBbJ3NwaGlueC5leHQuYXV0b2Rv
YycsICdzcGhpbnguZXh0LmRvY3Rlc3QnLCAnc3BoaW54LmV4dC52aWV3Y29kZSddCi0KLSMgQWRk
IGFueSBwYXRocyB0aGF0IGNvbnRhaW4gdGVtcGxhdGVzIGhlcmUsIHJlbGF0aXZlIHRvIHRoaXMg
ZGlyZWN0b3J5LgotdGVtcGxhdGVzX3BhdGggPSBbJ190ZW1wbGF0ZXMnXQotCi0jIFRoZSBzdWZm
aXggb2Ygc291cmNlIGZpbGVuYW1lcy4KLXNvdXJjZV9zdWZmaXggPSAnLnJzdCcKLQotIyBUaGUg
ZW5jb2Rpbmcgb2Ygc291cmNlIGZpbGVzLgotI3NvdXJjZV9lbmNvZGluZyA9ICd1dGYtOC1zaWcn
Ci0KLSMgVGhlIG1hc3RlciB0b2N0cmVlIGRvY3VtZW50LgotbWFzdGVyX2RvYyA9ICdpbmRleCcK
LQotIyBHZW5lcmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBwcm9qZWN0LgotcHJvamVjdCA9ICdo
dG1sNWxpYicKLWNvcHlyaWdodCA9ICcyMDA2IC0gMjAxMywgSmFtZXMgR3JhaGFtLCBHZW9mZnJl
eSBTbmVkZG9uLCBhbmQgY29udHJpYnV0b3JzJwotCi0jIFRoZSB2ZXJzaW9uIGluZm8gZm9yIHRo
ZSBwcm9qZWN0IHlvdSdyZSBkb2N1bWVudGluZywgYWN0cyBhcyByZXBsYWNlbWVudCBmb3IKLSMg
fHZlcnNpb258IGFuZCB8cmVsZWFzZXwsIGFsc28gdXNlZCBpbiB2YXJpb3VzIG90aGVyIHBsYWNl
cyB0aHJvdWdob3V0IHRoZQotIyBidWlsdCBkb2N1bWVudHMuCi0jCi0jIFRoZSBzaG9ydCBYLlkg
dmVyc2lvbi4KLXZlcnNpb24gPSAnMS4wJwotIyBUaGUgZnVsbCB2ZXJzaW9uLCBpbmNsdWRpbmcg
YWxwaGEvYmV0YS9yYyB0YWdzLgotc3lzLnBhdGguYXBwZW5kKG9zLnBhdGguYWJzcGF0aCgnLi4n
KSkKLWZyb20gaHRtbDVsaWIgaW1wb3J0IF9fdmVyc2lvbl9fCi1yZWxlYXNlID0gX192ZXJzaW9u
X18KLQotIyBUaGUgbGFuZ3VhZ2UgZm9yIGNvbnRlbnQgYXV0b2dlbmVyYXRlZCBieSBTcGhpbngu
IFJlZmVyIHRvIGRvY3VtZW50YXRpb24KLSMgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgbGFuZ3Vh
Z2VzLgotI2xhbmd1YWdlID0gJ2VuJwotCi0jIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgcmVw
bGFjaW5nIHx0b2RheXw6IGVpdGhlciwgeW91IHNldCB0b2RheSB0byBzb21lCi0jIG5vbi1mYWxz
ZSB2YWx1ZSwgdGhlbiBpdCBpcyB1c2VkOgotI3RvZGF5ID0gJycKLSMgRWxzZSwgdG9kYXlfZm10
IGlzIHVzZWQgYXMgdGhlIGZvcm1hdCBmb3IgYSBzdHJmdGltZSBjYWxsLgotI3RvZGF5X2ZtdCA9
ICclQiAlZCwgJVknCi0KLSMgTGlzdCBvZiBwYXR0ZXJucywgcmVsYXRpdmUgdG8gc291cmNlIGRp
cmVjdG9yeSwgdGhhdCBtYXRjaCBmaWxlcyBhbmQKLSMgZGlyZWN0b3JpZXMgdG8gaWdub3JlIHdo
ZW4gbG9va2luZyBmb3Igc291cmNlIGZpbGVzLgotZXhjbHVkZV9wYXR0ZXJucyA9IFsnX2J1aWxk
JywgJ3RoZW1lJ10KLQotIyBUaGUgcmVTVCBkZWZhdWx0IHJvbGUgKHVzZWQgZm9yIHRoaXMgbWFy
a3VwOiBgdGV4dGApIHRvIHVzZSBmb3IgYWxsIGRvY3VtZW50cy4KLSNkZWZhdWx0X3JvbGUgPSBO
b25lCi0KLSMgSWYgdHJ1ZSwgJygpJyB3aWxsIGJlIGFwcGVuZGVkIHRvIDpmdW5jOiBldGMuIGNy
b3NzLXJlZmVyZW5jZSB0ZXh0LgotI2FkZF9mdW5jdGlvbl9wYXJlbnRoZXNlcyA9IFRydWUKLQot
IyBJZiB0cnVlLCB0aGUgY3VycmVudCBtb2R1bGUgbmFtZSB3aWxsIGJlIHByZXBlbmRlZCB0byBh
bGwgZGVzY3JpcHRpb24KLSMgdW5pdCB0aXRsZXMgKHN1Y2ggYXMgLi4gZnVuY3Rpb246OikuCi0j
YWRkX21vZHVsZV9uYW1lcyA9IFRydWUKLQotIyBJZiB0cnVlLCBzZWN0aW9uYXV0aG9yIGFuZCBt
b2R1bGVhdXRob3IgZGlyZWN0aXZlcyB3aWxsIGJlIHNob3duIGluIHRoZQotIyBvdXRwdXQuIFRo
ZXkgYXJlIGlnbm9yZWQgYnkgZGVmYXVsdC4KLSNzaG93X2F1dGhvcnMgPSBGYWxzZQotCi0jIFRo
ZSBuYW1lIG9mIHRoZSBQeWdtZW50cyAoc3ludGF4IGhpZ2hsaWdodGluZykgc3R5bGUgdG8gdXNl
LgotcHlnbWVudHNfc3R5bGUgPSAnc3BoaW54JwotCi0jIEEgbGlzdCBvZiBpZ25vcmVkIHByZWZp
eGVzIGZvciBtb2R1bGUgaW5kZXggc29ydGluZy4KLSNtb2RpbmRleF9jb21tb25fcHJlZml4ID0g
W10KLQotIyBJZiB0cnVlLCBrZWVwIHdhcm5pbmdzIGFzICJzeXN0ZW0gbWVzc2FnZSIgcGFyYWdy
YXBocyBpbiB0aGUgYnVpbHQgZG9jdW1lbnRzLgotI2tlZXBfd2FybmluZ3MgPSBGYWxzZQotCi0K
LSMgLS0gT3B0aW9ucyBmb3IgSFRNTCBvdXRwdXQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSMgVGhlIHRoZW1lIHRvIHVzZSBmb3IgSFRNTCBh
bmQgSFRNTCBIZWxwIHBhZ2VzLiAgU2VlIHRoZSBkb2N1bWVudGF0aW9uIGZvcgotIyBhIGxpc3Qg
b2YgYnVpbHRpbiB0aGVtZXMuCi1odG1sX3RoZW1lID0gJ2RlZmF1bHQnCi0KLSMgVGhlbWUgb3B0
aW9ucyBhcmUgdGhlbWUtc3BlY2lmaWMgYW5kIGN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbCBv
ZiBhIHRoZW1lCi0jIGZ1cnRoZXIuICBGb3IgYSBsaXN0IG9mIG9wdGlvbnMgYXZhaWxhYmxlIGZv
ciBlYWNoIHRoZW1lLCBzZWUgdGhlCi0jIGRvY3VtZW50YXRpb24uCi0jaHRtbF90aGVtZV9vcHRp
b25zID0ge30KLQotIyBBZGQgYW55IHBhdGhzIHRoYXQgY29udGFpbiBjdXN0b20gdGhlbWVzIGhl
cmUsIHJlbGF0aXZlIHRvIHRoaXMgZGlyZWN0b3J5LgotI2h0bWxfdGhlbWVfcGF0aCA9IFtdCi0K
LSMgVGhlIG5hbWUgZm9yIHRoaXMgc2V0IG9mIFNwaGlueCBkb2N1bWVudHMuICBJZiBOb25lLCBp
dCBkZWZhdWx0cyB0bwotIyAiPHByb2plY3Q+IHY8cmVsZWFzZT4gZG9jdW1lbnRhdGlvbiIuCi0j
aHRtbF90aXRsZSA9IE5vbmUKLQotIyBBIHNob3J0ZXIgdGl0bGUgZm9yIHRoZSBuYXZpZ2F0aW9u
IGJhci4gIERlZmF1bHQgaXMgdGhlIHNhbWUgYXMgaHRtbF90aXRsZS4KLSNodG1sX3Nob3J0X3Rp
dGxlID0gTm9uZQotCi0jIFRoZSBuYW1lIG9mIGFuIGltYWdlIGZpbGUgKHJlbGF0aXZlIHRvIHRo
aXMgZGlyZWN0b3J5KSB0byBwbGFjZSBhdCB0aGUgdG9wCi0jIG9mIHRoZSBzaWRlYmFyLgotI2h0
bWxfbG9nbyA9IE5vbmUKLQotIyBUaGUgbmFtZSBvZiBhbiBpbWFnZSBmaWxlICh3aXRoaW4gdGhl
IHN0YXRpYyBwYXRoKSB0byB1c2UgYXMgZmF2aWNvbiBvZiB0aGUKLSMgZG9jcy4gIFRoaXMgZmls
ZSBzaG91bGQgYmUgYSBXaW5kb3dzIGljb24gZmlsZSAoLmljbykgYmVpbmcgMTZ4MTYgb3IgMzJ4
MzIKLSMgcGl4ZWxzIGxhcmdlLgotI2h0bWxfZmF2aWNvbiA9IE5vbmUKLQotIyBBZGQgYW55IHBh
dGhzIHRoYXQgY29udGFpbiBjdXN0b20gc3RhdGljIGZpbGVzIChzdWNoIGFzIHN0eWxlIHNoZWV0
cykgaGVyZSwKLSMgcmVsYXRpdmUgdG8gdGhpcyBkaXJlY3RvcnkuIFRoZXkgYXJlIGNvcGllZCBh
ZnRlciB0aGUgYnVpbHRpbiBzdGF0aWMgZmlsZXMsCi0jIHNvIGEgZmlsZSBuYW1lZCAiZGVmYXVs
dC5jc3MiIHdpbGwgb3ZlcndyaXRlIHRoZSBidWlsdGluICJkZWZhdWx0LmNzcyIuCi1odG1sX3N0
YXRpY19wYXRoID0gWydfc3RhdGljJ10KLQotIyBJZiBub3QgJycsIGEgJ0xhc3QgdXBkYXRlZCBv
bjonIHRpbWVzdGFtcCBpcyBpbnNlcnRlZCBhdCBldmVyeSBwYWdlIGJvdHRvbSwKLSMgdXNpbmcg
dGhlIGdpdmVuIHN0cmZ0aW1lIGZvcm1hdC4KLSNodG1sX2xhc3RfdXBkYXRlZF9mbXQgPSAnJWIg
JWQsICVZJwotCi0jIElmIHRydWUsIFNtYXJ0eVBhbnRzIHdpbGwgYmUgdXNlZCB0byBjb252ZXJ0
IHF1b3RlcyBhbmQgZGFzaGVzIHRvCi0jIHR5cG9ncmFwaGljYWxseSBjb3JyZWN0IGVudGl0aWVz
LgotI2h0bWxfdXNlX3NtYXJ0eXBhbnRzID0gVHJ1ZQotCi0jIEN1c3RvbSBzaWRlYmFyIHRlbXBs
YXRlcywgbWFwcyBkb2N1bWVudCBuYW1lcyB0byB0ZW1wbGF0ZSBuYW1lcy4KLSNodG1sX3NpZGVi
YXJzID0ge30KLQotIyBBZGRpdGlvbmFsIHRlbXBsYXRlcyB0aGF0IHNob3VsZCBiZSByZW5kZXJl
ZCB0byBwYWdlcywgbWFwcyBwYWdlIG5hbWVzIHRvCi0jIHRlbXBsYXRlIG5hbWVzLgotI2h0bWxf
YWRkaXRpb25hbF9wYWdlcyA9IHt9Ci0KLSMgSWYgZmFsc2UsIG5vIG1vZHVsZSBpbmRleCBpcyBn
ZW5lcmF0ZWQuCi0jaHRtbF9kb21haW5faW5kaWNlcyA9IFRydWUKLQotIyBJZiBmYWxzZSwgbm8g
aW5kZXggaXMgZ2VuZXJhdGVkLgotI2h0bWxfdXNlX2luZGV4ID0gVHJ1ZQotCi0jIElmIHRydWUs
IHRoZSBpbmRleCBpcyBzcGxpdCBpbnRvIGluZGl2aWR1YWwgcGFnZXMgZm9yIGVhY2ggbGV0dGVy
LgotI2h0bWxfc3BsaXRfaW5kZXggPSBGYWxzZQotCi0jIElmIHRydWUsIGxpbmtzIHRvIHRoZSBy
ZVNUIHNvdXJjZXMgYXJlIGFkZGVkIHRvIHRoZSBwYWdlcy4KLSNodG1sX3Nob3dfc291cmNlbGlu
ayA9IFRydWUKLQotIyBJZiB0cnVlLCAiQ3JlYXRlZCB1c2luZyBTcGhpbngiIGlzIHNob3duIGlu
IHRoZSBIVE1MIGZvb3Rlci4gRGVmYXVsdCBpcyBUcnVlLgotI2h0bWxfc2hvd19zcGhpbnggPSBU
cnVlCi0KLSMgSWYgdHJ1ZSwgIihDKSBDb3B5cmlnaHQgLi4uIiBpcyBzaG93biBpbiB0aGUgSFRN
TCBmb290ZXIuIERlZmF1bHQgaXMgVHJ1ZS4KLSNodG1sX3Nob3dfY29weXJpZ2h0ID0gVHJ1ZQot
Ci0jIElmIHRydWUsIGFuIE9wZW5TZWFyY2ggZGVzY3JpcHRpb24gZmlsZSB3aWxsIGJlIG91dHB1
dCwgYW5kIGFsbCBwYWdlcyB3aWxsCi0jIGNvbnRhaW4gYSA8bGluaz4gdGFnIHJlZmVycmluZyB0
byBpdC4gIFRoZSB2YWx1ZSBvZiB0aGlzIG9wdGlvbiBtdXN0IGJlIHRoZQotIyBiYXNlIFVSTCBm
cm9tIHdoaWNoIHRoZSBmaW5pc2hlZCBIVE1MIGlzIHNlcnZlZC4KLSNodG1sX3VzZV9vcGVuc2Vh
cmNoID0gJycKLQotIyBUaGlzIGlzIHRoZSBmaWxlIG5hbWUgc3VmZml4IGZvciBIVE1MIGZpbGVz
IChlLmcuICIueGh0bWwiKS4KLSNodG1sX2ZpbGVfc3VmZml4ID0gTm9uZQotCi0jIE91dHB1dCBm
aWxlIGJhc2UgbmFtZSBmb3IgSFRNTCBoZWxwIGJ1aWxkZXIuCi1odG1saGVscF9iYXNlbmFtZSA9
ICdodG1sNWxpYmRvYycKLQotCi0jIC0tIE9wdGlvbnMgZm9yIExhVGVYIG91dHB1dCAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1sYXRleF9lbGVt
ZW50cyA9IHsKLSMgVGhlIHBhcGVyIHNpemUgKCdsZXR0ZXJwYXBlcicgb3IgJ2E0cGFwZXInKS4K
LSMncGFwZXJzaXplJzogJ2xldHRlcnBhcGVyJywKLQotIyBUaGUgZm9udCBzaXplICgnMTBwdCcs
ICcxMXB0JyBvciAnMTJwdCcpLgotIydwb2ludHNpemUnOiAnMTBwdCcsCi0KLSMgQWRkaXRpb25h
bCBzdHVmZiBmb3IgdGhlIExhVGVYIHByZWFtYmxlLgotIydwcmVhbWJsZSc6ICcnLAotfQotCi0j
IEdyb3VwaW5nIHRoZSBkb2N1bWVudCB0cmVlIGludG8gTGFUZVggZmlsZXMuIExpc3Qgb2YgdHVw
bGVzCi0jIChzb3VyY2Ugc3RhcnQgZmlsZSwgdGFyZ2V0IG5hbWUsIHRpdGxlLCBhdXRob3IsIGRv
Y3VtZW50Y2xhc3MgW2hvd3RvL21hbnVhbF0pLgotbGF0ZXhfZG9jdW1lbnRzID0gWwotICAoJ2lu
ZGV4JywgJ2h0bWw1bGliLnRleCcsICdodG1sNWxpYiBEb2N1bWVudGF0aW9uJywKLSAgICdKYW1l
cyBHcmFoYW0sIEdlb2ZmcmV5IFNuZWRkb24sIGFuZCBjb250cmlidXRvcnMnLCAnbWFudWFsJyks
Ci1dCi0KLSMgVGhlIG5hbWUgb2YgYW4gaW1hZ2UgZmlsZSAocmVsYXRpdmUgdG8gdGhpcyBkaXJl
Y3RvcnkpIHRvIHBsYWNlIGF0IHRoZSB0b3Agb2YKLSMgdGhlIHRpdGxlIHBhZ2UuCi0jbGF0ZXhf
bG9nbyA9IE5vbmUKLQotIyBGb3IgIm1hbnVhbCIgZG9jdW1lbnRzLCBpZiB0aGlzIGlzIHRydWUs
IHRoZW4gdG9wbGV2ZWwgaGVhZGluZ3MgYXJlIHBhcnRzLAotIyBub3QgY2hhcHRlcnMuCi0jbGF0
ZXhfdXNlX3BhcnRzID0gRmFsc2UKLQotIyBJZiB0cnVlLCBzaG93IHBhZ2UgcmVmZXJlbmNlcyBh
ZnRlciBpbnRlcm5hbCBsaW5rcy4KLSNsYXRleF9zaG93X3BhZ2VyZWZzID0gRmFsc2UKLQotIyBJ
ZiB0cnVlLCBzaG93IFVSTCBhZGRyZXNzZXMgYWZ0ZXIgZXh0ZXJuYWwgbGlua3MuCi0jbGF0ZXhf
c2hvd191cmxzID0gRmFsc2UKLQotIyBEb2N1bWVudHMgdG8gYXBwZW5kIGFzIGFuIGFwcGVuZGl4
IHRvIGFsbCBtYW51YWxzLgotI2xhdGV4X2FwcGVuZGljZXMgPSBbXQotCi0jIElmIGZhbHNlLCBu
byBtb2R1bGUgaW5kZXggaXMgZ2VuZXJhdGVkLgotI2xhdGV4X2RvbWFpbl9pbmRpY2VzID0gVHJ1
ZQotCi0KLSMgLS0gT3B0aW9ucyBmb3IgbWFudWFsIHBhZ2Ugb3V0cHV0IC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSMgT25lIGVudHJ5IHBlciBtYW51YWwg
cGFnZS4gTGlzdCBvZiB0dXBsZXMKLSMgKHNvdXJjZSBzdGFydCBmaWxlLCBuYW1lLCBkZXNjcmlw
dGlvbiwgYXV0aG9ycywgbWFudWFsIHNlY3Rpb24pLgotbWFuX3BhZ2VzID0gWwotICAgICgnaW5k
ZXgnLCAnaHRtbDVsaWInLCAnaHRtbDVsaWIgRG9jdW1lbnRhdGlvbicsCi0gICAgIFsnSmFtZXMg
R3JhaGFtLCBHZW9mZnJleSBTbmVkZG9uLCBhbmQgY29udHJpYnV0b3JzJ10sIDEpCi1dCi0KLSMg
SWYgdHJ1ZSwgc2hvdyBVUkwgYWRkcmVzc2VzIGFmdGVyIGV4dGVybmFsIGxpbmtzLgotI21hbl9z
aG93X3VybHMgPSBGYWxzZQotCi0KLSMgLS0gT3B0aW9ucyBmb3IgVGV4aW5mbyBvdXRwdXQgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLSMgR3JvdXBp
bmcgdGhlIGRvY3VtZW50IHRyZWUgaW50byBUZXhpbmZvIGZpbGVzLiBMaXN0IG9mIHR1cGxlcwot
IyAoc291cmNlIHN0YXJ0IGZpbGUsIHRhcmdldCBuYW1lLCB0aXRsZSwgYXV0aG9yLAotIyAgZGly
IG1lbnUgZW50cnksIGRlc2NyaXB0aW9uLCBjYXRlZ29yeSkKLXRleGluZm9fZG9jdW1lbnRzID0g
WwotICAoJ2luZGV4JywgJ2h0bWw1bGliJywgJ2h0bWw1bGliIERvY3VtZW50YXRpb24nLAotICAg
J0phbWVzIEdyYWhhbSwgR2VvZmZyZXkgU25lZGRvbiwgYW5kIGNvbnRyaWJ1dG9ycycsICdodG1s
NWxpYicsICdPbmUgbGluZSBkZXNjcmlwdGlvbiBvZiBwcm9qZWN0LicsCi0gICAnTWlzY2VsbGFu
ZW91cycpLAotXQotCi0jIERvY3VtZW50cyB0byBhcHBlbmQgYXMgYW4gYXBwZW5kaXggdG8gYWxs
IG1hbnVhbHMuCi0jdGV4aW5mb19hcHBlbmRpY2VzID0gW10KLQotIyBJZiBmYWxzZSwgbm8gbW9k
dWxlIGluZGV4IGlzIGdlbmVyYXRlZC4KLSN0ZXhpbmZvX2RvbWFpbl9pbmRpY2VzID0gVHJ1ZQot
Ci0jIEhvdyB0byBkaXNwbGF5IFVSTCBhZGRyZXNzZXM6ICdmb290bm90ZScsICdubycsIG9yICdp
bmxpbmUnLgotI3RleGluZm9fc2hvd191cmxzID0gJ2Zvb3Rub3RlJwotCi0jIElmIHRydWUsIGRv
IG5vdCBnZW5lcmF0ZSBhIEBkZXRhaWxtZW51IGluIHRoZSAiVG9wIiBub2RlJ3MgbWVudS4KLSN0
ZXhpbmZvX25vX2RldGFpbG1lbnUgPSBGYWxzZQotCi1jbGFzcyBDRXh0TW9jayhvYmplY3QpOgot
ICAgICIiIlJlcXVpcmVkIGZvciBhdXRvZG9jIG9uIHJlYWR0aGVkb2NzLm9yZyB3aGVyZSB5b3Ug
Y2Fubm90IGJ1aWxkIEMgZXh0ZW5zaW9ucy4iIiIKLSAgICBkZWYgX19pbml0X18oc2VsZiwgKmFy
Z3MsICoqa3dhcmdzKToKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIF9fY2FsbF9fKHNlbGYsICph
cmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHJldHVybiBDRXh0TW9jaygpCi0KLSAgICBAY2xhc3Nt
ZXRob2QKLSAgICBkZWYgX19nZXRhdHRyX18oY2xzLCBuYW1lKToKLSAgICAgICAgaWYgbmFtZSBp
biAoJ19fZmlsZV9fJywgJ19fcGF0aF9fJyk6Ci0gICAgICAgICAgICByZXR1cm4gJy9kZXYvbnVs
bCcKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVybiBDRXh0TW9jaygpCi0KLXRyeToK
LSAgICBpbXBvcnQgbHhtbCAgICMgZmxha2U4OiBub3FhCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0g
ICAgc3lzLm1vZHVsZXNbJ2x4bWwnXSA9IENFeHRNb2NrKCkKLSAgICBzeXMubW9kdWxlc1snbHht
bC5ldHJlZSddID0gQ0V4dE1vY2soKQotICAgIHByaW50KCJ3YXJuaW5nOiBseG1sIG1vZHVsZXMg
bW9ja2VkLiIpCi0KLXRyeToKLSAgICBpbXBvcnQgZ2Vuc2hpICAgIyBmbGFrZTg6IG5vcWEKLWV4
Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBzeXMubW9kdWxlc1snZ2Vuc2hpJ10gPSBDRXh0TW9jaygp
Ci0gICAgc3lzLm1vZHVsZXNbJ2dlbnNoaS5jb3JlJ10gPSBDRXh0TW9jaygpCi0gICAgcHJpbnQo
Indhcm5pbmc6IGdlbnNoaSBtb2R1bGVzIG1vY2tlZC4iKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRt
bDVsaWIuZmlsdGVycy5yc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9odG1sNWxpYi5maWx0ZXJzLnJzdApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMWZkYTM4YTczNWExMzZhYTgzM2RlNTBmOTljYWNiNmZhMThj
ZWZhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2Rv
Yy9odG1sNWxpYi5maWx0ZXJzLnJzdAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLWZp
bHRlcnMgUGFja2FnZQotPT09PT09PT09PT09PT09Ci0KLTptb2Q6YF9iYXNlYCBNb2R1bGUKLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLmZpbHRlcnMuX2Jh
c2UKLSAgICA6bWVtYmVyczoKLSAgICA6dW5kb2MtbWVtYmVyczoKLSAgICA6c2hvdy1pbmhlcml0
YW5jZToKLQotOm1vZDpgYWxwaGFiZXRpY2FsYXR0cmlidXRlc2AgTW9kdWxlCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLmZp
bHRlcnMuYWxwaGFiZXRpY2FsYXR0cmlidXRlcwotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1t
ZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06bW9kOmBpbmplY3RfbWV0YV9jaGFy
c2V0YCBNb2R1bGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBhdXRv
bW9kdWxlOjogaHRtbDVsaWIuZmlsdGVycy5pbmplY3RfbWV0YV9jaGFyc2V0Ci0gICAgOm1lbWJl
cnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KLTptb2Q6
YGxpbnRgIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1s
NWxpYi5maWx0ZXJzLmxpbnQKLSAgICA6bWVtYmVyczoKLSAgICA6dW5kb2MtbWVtYmVyczoKLSAg
ICA6c2hvdy1pbmhlcml0YW5jZToKLQotOm1vZDpgb3B0aW9uYWx0YWdzYCBNb2R1bGUKLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5maWx0ZXJz
Lm9wdGlvbmFsdGFncwotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpz
aG93LWluaGVyaXRhbmNlOgotCi06bW9kOmBzYW5pdGl6ZXJgIE1vZHVsZQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLmZpbHRlcnMuc2FuaXRpemVy
Ci0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFu
Y2U6Ci0KLTptb2Q6YHdoaXRlc3BhY2VgIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5maWx0ZXJzLndoaXRlc3BhY2UKLSAgICA6bWVt
YmVyczoKLSAgICA6dW5kb2MtbWVtYmVyczoKLSAgICA6c2hvdy1pbmhlcml0YW5jZToKLQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9kb2MvaHRtbDVsaWIucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRtbDVsaWIucnN0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNGVkMTJiNDY0NjlkMGE1NThhNDVjOTRmODY1NDdhYWFi
Y2VhYmRjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
ZG9jL2h0bWw1bGliLnJzdAorKysgL2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLWh0bWw1bGli
IFBhY2thZ2UKLT09PT09PT09PT09PT09PT0KLQotOm1vZDpgaHRtbDVsaWJgIFBhY2thZ2UKLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5fX2luaXRf
XwotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRh
bmNlOgotCi06bW9kOmBjb25zdGFudHNgIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
LQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLmNvbnN0YW50cwotICAgIDptZW1iZXJzOgotICAg
IDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06bW9kOmBodG1sNXBh
cnNlcmAgTW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6
OiBodG1sNWxpYi5odG1sNXBhcnNlcgotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJz
OgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06bW9kOmBpaGF0ZXhtbGAgTW9kdWxlCi0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5paGF0ZXhtbAot
ICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNl
OgotCi06bW9kOmBpbnB1dHN0cmVhbWAgTW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5pbnB1dHN0cmVhbQotICAgIDptZW1iZXJzOgot
ICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06bW9kOmBzYW5p
dGl6ZXJgIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6
IGh0bWw1bGliLnNhbml0aXplcgotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgot
ICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06bW9kOmB0b2tlbml6ZXJgIE1vZHVsZQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLnRva2VuaXplcgot
ICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNl
OgotCi06bW9kOmB1dGlsc2AgTW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9t
b2R1bGU6OiBodG1sNWxpYi51dGlscwotICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJz
OgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi1TdWJwYWNrYWdlcwotLS0tLS0tLS0tLS0KLQot
Li4gdG9jdHJlZTo6Ci0KLSAgICBodG1sNWxpYi5maWx0ZXJzCi0gICAgaHRtbDVsaWIuc2VyaWFs
aXplcgotICAgIGh0bWw1bGliLnRyZWVidWlsZGVycwotICAgIGh0bWw1bGliLnRyZWV3YWxrZXJz
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvZG9jL2h0bWw1bGliLnNlcmlhbGl6ZXIucnN0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRt
bDVsaWIuc2VyaWFsaXplci5yc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZhOTU0
NzQyMWIxM2M0MmFmZTI3YjMwNGQ4ZTY1MzA0ODEwMWEwMGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRtbDVsaWIuc2VyaWFsaXplci5yc3QK
KysrIC9kZXYvbnVsbApAQCAtMSwxOSArMCwwIEBACi1zZXJpYWxpemVyIFBhY2thZ2UKLT09PT09
PT09PT09PT09PT09PQotCi06bW9kOmBzZXJpYWxpemVyYCBQYWNrYWdlCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi5zZXJpYWxpemVyCi0gICAg
Om1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0K
LTptb2Q6YGh0bWxzZXJpYWxpemVyYCBNb2R1bGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLnNlcmlhbGl6ZXIuaHRtbHNlcmlhbGl6ZXIK
LSAgICA6bWVtYmVyczoKLSAgICA6dW5kb2MtbWVtYmVyczoKLSAgICA6c2hvdy1pbmhlcml0YW5j
ZToKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRtbDVsaWIudHJlZWJ1aWxkZXJzLnJzdCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9j
L2h0bWw1bGliLnRyZWVidWlsZGVycy5yc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDk5MTE5ODM5NDhkZTMyMjg2NzE1NWI5ZjI0M2MzZTUxMGNkMzZjYTQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRtbDVsaWIudHJlZWJ1aWxk
ZXJzLnJzdAorKysgL2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLXRyZWVidWlsZGVycyBQYWNr
YWdlCi09PT09PT09PT09PT09PT09PT09PQotCi06bW9kOmB0cmVlYnVpbGRlcnNgIFBhY2thZ2UK
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBhdXRvbW9kdWxlOjogaHRtbDVsaWIu
dHJlZWJ1aWxkZXJzCi0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNo
b3ctaW5oZXJpdGFuY2U6Ci0KLTptb2Q6YF9iYXNlYCBNb2R1bGUKLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLnRyZWVidWlsZGVycy5fYmFzZQotICAgIDpt
ZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNlOgotCi06
bW9kOmBkb21gIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0
bWw1bGliLnRyZWVidWlsZGVycy5kb20KLSAgICA6bWVtYmVyczoKLSAgICA6dW5kb2MtbWVtYmVy
czoKLSAgICA6c2hvdy1pbmhlcml0YW5jZToKLQotOm1vZDpgZXRyZWVgIE1vZHVsZQotLS0tLS0t
LS0tLS0tLS0tLS0tLQotCi0uLiBhdXRvbW9kdWxlOjogaHRtbDVsaWIudHJlZWJ1aWxkZXJzLmV0
cmVlCi0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJp
dGFuY2U6Ci0KLTptb2Q6YGV0cmVlX2x4bWxgIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1sNWxpYi50cmVlYnVpbGRlcnMuZXRyZWVfbHhtbAot
ICAgIDptZW1iZXJzOgotICAgIDp1bmRvYy1tZW1iZXJzOgotICAgIDpzaG93LWluaGVyaXRhbmNl
OgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9odG1sNWxpYi50cmVld2Fsa2Vycy5yc3QgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9o
dG1sNWxpYi50cmVld2Fsa2Vycy5yc3QKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgw
NTk1ZTJkN2QwZTU0ZTBlYjg4NWY1MGMyMzdjOWMzMWNhZTJmYTcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvaHRtbDVsaWIudHJlZXdhbGtlcnMu
cnN0CisrKyAvZGV2L251bGwKQEAgLTEsNTkgKzAsMCBAQAotdHJlZXdhbGtlcnMgUGFja2FnZQot
PT09PT09PT09PT09PT09PT09PQotCi06bW9kOmB0cmVld2Fsa2Vyc2AgUGFja2FnZQotLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLnRyZWV3YWxr
ZXJzCi0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJp
dGFuY2U6Ci0KLTptb2Q6YF9iYXNlYCBNb2R1bGUKLS0tLS0tLS0tLS0tLS0tLS0tLS0KLQotLi4g
YXV0b21vZHVsZTo6IGh0bWw1bGliLnRyZWV3YWxrZXJzLl9iYXNlCi0gICAgOm1lbWJlcnM6Ci0g
ICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KLTptb2Q6YGRvbWAg
TW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBhdXRvbW9kdWxlOjogaHRtbDVsaWIudHJl
ZXdhbGtlcnMuZG9tCi0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNo
b3ctaW5oZXJpdGFuY2U6Ci0KLTptb2Q6YGV0cmVlYCBNb2R1bGUKLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLQotLi4gYXV0b21vZHVsZTo6IGh0bWw1bGliLnRyZWV3YWxrZXJzLmV0cmVlCi0gICAgOm1l
bWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KLTpt
b2Q6YGdlbnNoaXN0cmVhbWAgTW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0u
LiBhdXRvbW9kdWxlOjogaHRtbDVsaWIudHJlZXdhbGtlcnMuZ2Vuc2hpc3RyZWFtCi0gICAgOm1l
bWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KLTpt
b2Q6YGx4bWxldHJlZWAgTW9kdWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotCi0uLiBhdXRv
bW9kdWxlOjogaHRtbDVsaWIudHJlZXdhbGtlcnMubHhtbGV0cmVlCi0gICAgOm1lbWJlcnM6Ci0g
ICAgOnVuZG9jLW1lbWJlcnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KLTptb2Q6YHB1bGxk
b21gIE1vZHVsZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLS4uIGF1dG9tb2R1bGU6OiBodG1s
NWxpYi50cmVld2Fsa2Vycy5wdWxsZG9tCi0gICAgOm1lbWJlcnM6Ci0gICAgOnVuZG9jLW1lbWJl
cnM6Ci0gICAgOnNob3ctaW5oZXJpdGFuY2U6Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL2luZGV4LnJz
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvZG9jL2luZGV4LnJzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2EyZTFi
OTY5Y2RjOWFiOWUzNWQwOWY1Yjk1Y2ExOGYxYTRkNjY2MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9pbmRleC5yc3QKKysrIC9kZXYvbnVsbApA
QCAtMSwyMSArMCwwIEBACi1PdmVydmlldwotPT09PT09PT0KLQotLi4gaW5jbHVkZTo6IC4uL1JF
QURNRS5yc3QKLSAgIDpzdGFydC1saW5lOiA2Ci0KLS4uIHRvY3RyZWU6OgotICAgOm1heGRlcHRo
OiAyCi0KLSAgIG1vdmluZ3BhcnRzCi0gICBjaGFuZ2VzCi0gICBMaWNlbnNlIDxsaWNlbnNlPgot
Ci0KLUluZGljZXMgYW5kIHRhYmxlcwotPT09PT09PT09PT09PT09PT09Ci0KLSogOnJlZjpgZ2Vu
aW5kZXhgCi0qIDpyZWY6YG1vZGluZGV4YAotKiA6cmVmOmBzZWFyY2hgCi0KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvZG9jL2xpY2Vuc2UucnN0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvbGljZW5zZS5yc3QKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDdlNjI5MWYzYjliZWEzNDU0MmJkMGJmNGFmMmZlMjM4ZDk4MTk1MmEuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvbGljZW5z
ZS5yc3QKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLUxpY2Vuc2UKLT09PT09PT0KLQot
Li4gaW5jbHVkZTo6IC4uL0xJQ0VOU0UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL21ha2UuYmF0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9k
b2MvbWFrZS5iYXQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU4OGM3NjljZTMzZDNh
MmQxNDA5YjY4MzMzYjA2OTk2YmU5Y2UyMGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9kb2MvbWFrZS5iYXQKKysrIC9kZXYvbnVsbApAQCAtMSwyNDIg
KzAsMCBAQAotQEVDSE8gT0ZGDQotDQotUkVNIENvbW1hbmQgZmlsZSBmb3IgU3BoaW54IGRvY3Vt
ZW50YXRpb24NCi0NCi1pZiAiJVNQSElOWEJVSUxEJSIgPT0gIiIgKA0KLQlzZXQgU1BISU5YQlVJ
TEQ9c3BoaW54LWJ1aWxkDQotKQ0KLXNldCBCVUlMRERJUj1fYnVpbGQNCi1zZXQgQUxMU1BISU5Y
T1BUUz0tZCAlQlVJTERESVIlL2RvY3RyZWVzICVTUEhJTlhPUFRTJSAuDQotc2V0IEkxOE5TUEhJ
TlhPUFRTPSVTUEhJTlhPUFRTJSAuDQotaWYgTk9UICIlUEFQRVIlIiA9PSAiIiAoDQotCXNldCBB
TExTUEhJTlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlQUxMU1BISU5YT1BUUyUN
Ci0Jc2V0IEkxOE5TUEhJTlhPUFRTPS1EIGxhdGV4X3BhcGVyX3NpemU9JVBBUEVSJSAlSTE4TlNQ
SElOWE9QVFMlDQotKQ0KLQ0KLWlmICIlMSIgPT0gIiIgZ290byBoZWxwDQotDQotaWYgIiUxIiA9
PSAiaGVscCIgKA0KLQk6aGVscA0KLQllY2hvLlBsZWFzZSB1c2UgYG1ha2UgXjx0YXJnZXRePmAg
d2hlcmUgXjx0YXJnZXRePiBpcyBvbmUgb2YNCi0JZWNoby4gIGh0bWwgICAgICAgdG8gbWFrZSBz
dGFuZGFsb25lIEhUTUwgZmlsZXMNCi0JZWNoby4gIGRpcmh0bWwgICAgdG8gbWFrZSBIVE1MIGZp
bGVzIG5hbWVkIGluZGV4Lmh0bWwgaW4gZGlyZWN0b3JpZXMNCi0JZWNoby4gIHNpbmdsZWh0bWwg
dG8gbWFrZSBhIHNpbmdsZSBsYXJnZSBIVE1MIGZpbGUNCi0JZWNoby4gIHBpY2tsZSAgICAgdG8g
bWFrZSBwaWNrbGUgZmlsZXMNCi0JZWNoby4gIGpzb24gICAgICAgdG8gbWFrZSBKU09OIGZpbGVz
DQotCWVjaG8uICBodG1saGVscCAgIHRvIG1ha2UgSFRNTCBmaWxlcyBhbmQgYSBIVE1MIGhlbHAg
cHJvamVjdA0KLQllY2hvLiAgcXRoZWxwICAgICB0byBtYWtlIEhUTUwgZmlsZXMgYW5kIGEgcXRo
ZWxwIHByb2plY3QNCi0JZWNoby4gIGRldmhlbHAgICAgdG8gbWFrZSBIVE1MIGZpbGVzIGFuZCBh
IERldmhlbHAgcHJvamVjdA0KLQllY2hvLiAgZXB1YiAgICAgICB0byBtYWtlIGFuIGVwdWINCi0J
ZWNoby4gIGxhdGV4ICAgICAgdG8gbWFrZSBMYVRlWCBmaWxlcywgeW91IGNhbiBzZXQgUEFQRVI9
YTQgb3IgUEFQRVI9bGV0dGVyDQotCWVjaG8uICB0ZXh0ICAgICAgIHRvIG1ha2UgdGV4dCBmaWxl
cw0KLQllY2hvLiAgbWFuICAgICAgICB0byBtYWtlIG1hbnVhbCBwYWdlcw0KLQllY2hvLiAgdGV4
aW5mbyAgICB0byBtYWtlIFRleGluZm8gZmlsZXMNCi0JZWNoby4gIGdldHRleHQgICAgdG8gbWFr
ZSBQTyBtZXNzYWdlIGNhdGFsb2dzDQotCWVjaG8uICBjaGFuZ2VzICAgIHRvIG1ha2UgYW4gb3Zl
cnZpZXcgb3ZlciBhbGwgY2hhbmdlZC9hZGRlZC9kZXByZWNhdGVkIGl0ZW1zDQotCWVjaG8uICB4
bWwgICAgICAgIHRvIG1ha2UgRG9jdXRpbHMtbmF0aXZlIFhNTCBmaWxlcw0KLQllY2hvLiAgcHNl
dWRveG1sICB0byBtYWtlIHBzZXVkb3htbC1YTUwgZmlsZXMgZm9yIGRpc3BsYXkgcHVycG9zZXMN
Ci0JZWNoby4gIGxpbmtjaGVjayAgdG8gY2hlY2sgYWxsIGV4dGVybmFsIGxpbmtzIGZvciBpbnRl
Z3JpdHkNCi0JZWNoby4gIGRvY3Rlc3QgICAgdG8gcnVuIGFsbCBkb2N0ZXN0cyBlbWJlZGRlZCBp
biB0aGUgZG9jdW1lbnRhdGlvbiBpZiBlbmFibGVkDQotCWdvdG8gZW5kDQotKQ0KLQ0KLWlmICIl
MSIgPT0gImNsZWFuIiAoDQotCWZvciAvZCAlJWkgaW4gKCVCVUlMRERJUiVcKikgZG8gcm1kaXIg
L3EgL3MgJSVpDQotCWRlbCAvcSAvcyAlQlVJTERESVIlXCoNCi0JZ290byBlbmQNCi0pDQotDQot
DQotJVNQSElOWEJVSUxEJSAyPiBudWwNCi1pZiBlcnJvcmxldmVsIDkwMDkgKA0KLQllY2hvLg0K
LQllY2hvLlRoZSAnc3BoaW54LWJ1aWxkJyBjb21tYW5kIHdhcyBub3QgZm91bmQuIE1ha2Ugc3Vy
ZSB5b3UgaGF2ZSBTcGhpbngNCi0JZWNoby5pbnN0YWxsZWQsIHRoZW4gc2V0IHRoZSBTUEhJTlhC
VUlMRCBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBwb2ludA0KLQllY2hvLnRvIHRoZSBmdWxsIHBh
dGggb2YgdGhlICdzcGhpbngtYnVpbGQnIGV4ZWN1dGFibGUuIEFsdGVybmF0aXZlbHkgeW91DQot
CWVjaG8ubWF5IGFkZCB0aGUgU3BoaW54IGRpcmVjdG9yeSB0byBQQVRILg0KLQllY2hvLg0KLQll
Y2hvLklmIHlvdSBkb24ndCBoYXZlIFNwaGlueCBpbnN0YWxsZWQsIGdyYWIgaXQgZnJvbQ0KLQll
Y2hvLmh0dHA6Ly9zcGhpbngtZG9jLm9yZy8NCi0JZXhpdCAvYiAxDQotKQ0KLQ0KLWlmICIlMSIg
PT0gImh0bWwiICgNCi0JJVNQSElOWEJVSUxEJSAtYiBodG1sICVBTExTUEhJTlhPUFRTJSAlQlVJ
TERESVIlL2h0bWwNCi0JaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KLQllY2hvLg0KLQllY2hv
LkJ1aWxkIGZpbmlzaGVkLiBUaGUgSFRNTCBwYWdlcyBhcmUgaW4gJUJVSUxERElSJS9odG1sLg0K
LQlnb3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJkaXJodG1sIiAoDQotCSVTUEhJTlhCVUlM
RCUgLWIgZGlyaHRtbCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS9kaXJodG1sDQotCWlmIGVy
cm9ybGV2ZWwgMSBleGl0IC9iIDENCi0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhl
IEhUTUwgcGFnZXMgYXJlIGluICVCVUlMRERJUiUvZGlyaHRtbC4NCi0JZ290byBlbmQNCi0pDQot
DQotaWYgIiUxIiA9PSAic2luZ2xlaHRtbCIgKA0KLQklU1BISU5YQlVJTEQlIC1iIHNpbmdsZWh0
bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvc2luZ2xlaHRtbA0KLQlpZiBlcnJvcmxldmVs
IDEgZXhpdCAvYiAxDQotCWVjaG8uDQotCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBIVE1MIHBh
Z2VzIGFyZSBpbiAlQlVJTERESVIlL3NpbmdsZWh0bWwuDQotCWdvdG8gZW5kDQotKQ0KLQ0KLWlm
ICIlMSIgPT0gInBpY2tsZSIgKA0KLQklU1BISU5YQlVJTEQlIC1iIHBpY2tsZSAlQUxMU1BISU5Y
T1BUUyUgJUJVSUxERElSJS9waWNrbGUNCi0JaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KLQll
Y2hvLg0KLQllY2hvLkJ1aWxkIGZpbmlzaGVkOyBub3cgeW91IGNhbiBwcm9jZXNzIHRoZSBwaWNr
bGUgZmlsZXMuDQotCWdvdG8gZW5kDQotKQ0KLQ0KLWlmICIlMSIgPT0gImpzb24iICgNCi0JJVNQ
SElOWEJVSUxEJSAtYiBqc29uICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2pzb24NCi0JaWYg
ZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KLQllY2hvLg0KLQllY2hvLkJ1aWxkIGZpbmlzaGVkOyBu
b3cgeW91IGNhbiBwcm9jZXNzIHRoZSBKU09OIGZpbGVzLg0KLQlnb3RvIGVuZA0KLSkNCi0NCi1p
ZiAiJTEiID09ICJodG1saGVscCIgKA0KLQklU1BISU5YQlVJTEQlIC1iIGh0bWxoZWxwICVBTExT
UEhJTlhPUFRTJSAlQlVJTERESVIlL2h0bWxoZWxwDQotCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9i
IDENCi0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hlZDsgbm93IHlvdSBjYW4gcnVuIEhUTUwg
SGVscCBXb3Jrc2hvcCB3aXRoIHRoZSBeDQotLmhocCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElS
JS9odG1saGVscC4NCi0JZ290byBlbmQNCi0pDQotDQotaWYgIiUxIiA9PSAicXRoZWxwIiAoDQot
CSVTUEhJTlhCVUlMRCUgLWIgcXRoZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL3F0aGVs
cA0KLQlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQotCWVjaG8uDQotCWVjaG8uQnVpbGQgZmlu
aXNoZWQ7IG5vdyB5b3UgY2FuIHJ1biAicWNvbGxlY3Rpb25nZW5lcmF0b3IiIHdpdGggdGhlIF4N
Ci0ucWhjcCBwcm9qZWN0IGZpbGUgaW4gJUJVSUxERElSJS9xdGhlbHAsIGxpa2UgdGhpczoNCi0J
ZWNoby5ePiBxY29sbGVjdGlvbmdlbmVyYXRvciAlQlVJTERESVIlXHF0aGVscFxodG1sNWxpYi5x
aGNwDQotCWVjaG8uVG8gdmlldyB0aGUgaGVscCBmaWxlOg0KLQllY2hvLl4+IGFzc2lzdGFudCAt
Y29sbGVjdGlvbkZpbGUgJUJVSUxERElSJVxxdGhlbHBcaHRtbDVsaWIuZ2hjDQotCWdvdG8gZW5k
DQotKQ0KLQ0KLWlmICIlMSIgPT0gImRldmhlbHAiICgNCi0JJVNQSElOWEJVSUxEJSAtYiBkZXZo
ZWxwICVBTExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2RldmhlbHANCi0JaWYgZXJyb3JsZXZlbCAx
IGV4aXQgL2IgMQ0KLQllY2hvLg0KLQllY2hvLkJ1aWxkIGZpbmlzaGVkLg0KLQlnb3RvIGVuZA0K
LSkNCi0NCi1pZiAiJTEiID09ICJlcHViIiAoDQotCSVTUEhJTlhCVUlMRCUgLWIgZXB1YiAlQUxM
U1BISU5YT1BUUyUgJUJVSUxERElSJS9lcHViDQotCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDEN
Ci0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhlIGVwdWIgZmlsZSBpcyBpbiAlQlVJ
TERESVIlL2VwdWIuDQotCWdvdG8gZW5kDQotKQ0KLQ0KLWlmICIlMSIgPT0gImxhdGV4IiAoDQot
CSVTUEhJTlhCVUlMRCUgLWIgbGF0ZXggJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvbGF0ZXgN
Ci0JaWYgZXJyb3JsZXZlbCAxIGV4aXQgL2IgMQ0KLQllY2hvLg0KLQllY2hvLkJ1aWxkIGZpbmlz
aGVkOyB0aGUgTGFUZVggZmlsZXMgYXJlIGluICVCVUlMRERJUiUvbGF0ZXguDQotCWdvdG8gZW5k
DQotKQ0KLQ0KLWlmICIlMSIgPT0gImxhdGV4cGRmIiAoDQotCSVTUEhJTlhCVUlMRCUgLWIgbGF0
ZXggJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvbGF0ZXgNCi0JY2QgJUJVSUxERElSJS9sYXRl
eA0KLQltYWtlIGFsbC1wZGYNCi0JY2QgJUJVSUxERElSJS8uLg0KLQllY2hvLg0KLQllY2hvLkJ1
aWxkIGZpbmlzaGVkOyB0aGUgUERGIGZpbGVzIGFyZSBpbiAlQlVJTERESVIlL2xhdGV4Lg0KLQln
b3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJsYXRleHBkZmphIiAoDQotCSVTUEhJTlhCVUlM
RCUgLWIgbGF0ZXggJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvbGF0ZXgNCi0JY2QgJUJVSUxE
RElSJS9sYXRleA0KLQltYWtlIGFsbC1wZGYtamENCi0JY2QgJUJVSUxERElSJS8uLg0KLQllY2hv
Lg0KLQllY2hvLkJ1aWxkIGZpbmlzaGVkOyB0aGUgUERGIGZpbGVzIGFyZSBpbiAlQlVJTERESVIl
L2xhdGV4Lg0KLQlnb3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJ0ZXh0IiAoDQotCSVTUEhJ
TlhCVUlMRCUgLWIgdGV4dCAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS90ZXh0DQotCWlmIGVy
cm9ybGV2ZWwgMSBleGl0IC9iIDENCi0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhl
IHRleHQgZmlsZXMgYXJlIGluICVCVUlMRERJUiUvdGV4dC4NCi0JZ290byBlbmQNCi0pDQotDQot
aWYgIiUxIiA9PSAibWFuIiAoDQotCSVTUEhJTlhCVUlMRCUgLWIgbWFuICVBTExTUEhJTlhPUFRT
JSAlQlVJTERESVIlL21hbg0KLQlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAxDQotCWVjaG8uDQot
CWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBtYW51YWwgcGFnZXMgYXJlIGluICVCVUlMRERJUiUv
bWFuLg0KLQlnb3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJ0ZXhpbmZvIiAoDQotCSVTUEhJ
TlhCVUlMRCUgLWIgdGV4aW5mbyAlQUxMU1BISU5YT1BUUyUgJUJVSUxERElSJS90ZXhpbmZvDQot
CWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCi0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hl
ZC4gVGhlIFRleGluZm8gZmlsZXMgYXJlIGluICVCVUlMRERJUiUvdGV4aW5mby4NCi0JZ290byBl
bmQNCi0pDQotDQotaWYgIiUxIiA9PSAiZ2V0dGV4dCIgKA0KLQklU1BISU5YQlVJTEQlIC1iIGdl
dHRleHQgJUkxOE5TUEhJTlhPUFRTJSAlQlVJTERESVIlL2xvY2FsZQ0KLQlpZiBlcnJvcmxldmVs
IDEgZXhpdCAvYiAxDQotCWVjaG8uDQotCWVjaG8uQnVpbGQgZmluaXNoZWQuIFRoZSBtZXNzYWdl
IGNhdGFsb2dzIGFyZSBpbiAlQlVJTERESVIlL2xvY2FsZS4NCi0JZ290byBlbmQNCi0pDQotDQot
aWYgIiUxIiA9PSAiY2hhbmdlcyIgKA0KLQklU1BISU5YQlVJTEQlIC1iIGNoYW5nZXMgJUFMTFNQ
SElOWE9QVFMlICVCVUlMRERJUiUvY2hhbmdlcw0KLQlpZiBlcnJvcmxldmVsIDEgZXhpdCAvYiAx
DQotCWVjaG8uDQotCWVjaG8uVGhlIG92ZXJ2aWV3IGZpbGUgaXMgaW4gJUJVSUxERElSJS9jaGFu
Z2VzLg0KLQlnb3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJsaW5rY2hlY2siICgNCi0JJVNQ
SElOWEJVSUxEJSAtYiBsaW5rY2hlY2sgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUvbGlua2No
ZWNrDQotCWlmIGVycm9ybGV2ZWwgMSBleGl0IC9iIDENCi0JZWNoby4NCi0JZWNoby5MaW5rIGNo
ZWNrIGNvbXBsZXRlOyBsb29rIGZvciBhbnkgZXJyb3JzIGluIHRoZSBhYm92ZSBvdXRwdXQgXg0K
LW9yIGluICVCVUlMRERJUiUvbGlua2NoZWNrL291dHB1dC50eHQuDQotCWdvdG8gZW5kDQotKQ0K
LQ0KLWlmICIlMSIgPT0gImRvY3Rlc3QiICgNCi0JJVNQSElOWEJVSUxEJSAtYiBkb2N0ZXN0ICVB
TExTUEhJTlhPUFRTJSAlQlVJTERESVIlL2RvY3Rlc3QNCi0JaWYgZXJyb3JsZXZlbCAxIGV4aXQg
L2IgMQ0KLQllY2hvLg0KLQllY2hvLlRlc3Rpbmcgb2YgZG9jdGVzdHMgaW4gdGhlIHNvdXJjZXMg
ZmluaXNoZWQsIGxvb2sgYXQgdGhlIF4NCi1yZXN1bHRzIGluICVCVUlMRERJUiUvZG9jdGVzdC9v
dXRwdXQudHh0Lg0KLQlnb3RvIGVuZA0KLSkNCi0NCi1pZiAiJTEiID09ICJ4bWwiICgNCi0JJVNQ
SElOWEJVSUxEJSAtYiB4bWwgJUFMTFNQSElOWE9QVFMlICVCVUlMRERJUiUveG1sDQotCWlmIGVy
cm9ybGV2ZWwgMSBleGl0IC9iIDENCi0JZWNoby4NCi0JZWNoby5CdWlsZCBmaW5pc2hlZC4gVGhl
IFhNTCBmaWxlcyBhcmUgaW4gJUJVSUxERElSJS94bWwuDQotCWdvdG8gZW5kDQotKQ0KLQ0KLWlm
ICIlMSIgPT0gInBzZXVkb3htbCIgKA0KLQklU1BISU5YQlVJTEQlIC1iIHBzZXVkb3htbCAlQUxM
U1BISU5YT1BUUyUgJUJVSUxERElSJS9wc2V1ZG94bWwNCi0JaWYgZXJyb3JsZXZlbCAxIGV4aXQg
L2IgMQ0KLQllY2hvLg0KLQllY2hvLkJ1aWxkIGZpbmlzaGVkLiBUaGUgcHNldWRvLVhNTCBmaWxl
cyBhcmUgaW4gJUJVSUxERElSJS9wc2V1ZG94bWwuDQotCWdvdG8gZW5kDQotKQ0KLQ0KLTplbmQN
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2RvYy9tb2R1bGVzLnJzdCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL21vZHVsZXMucnN0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1OWZiY2M4NmJjMTM3Y2JjYjhhZjNjMTc0ZjNkOGMz
NDgyMmZiYjdmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvZG9jL21vZHVsZXMucnN0CisrKyAvZGV2L251bGwKQEAgLTEsNyArMCwwIEBACi1odG1sNWxp
YgotPT09PT09PT0KLQotLi4gdG9jdHJlZTo6Ci0gICA6bWF4ZGVwdGg6IDQKLQotICAgaHRtbDVs
aWIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvZG9jL21vdmluZ3BhcnRzLnJzdCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL21vdmluZ3BhcnRz
LnJzdApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzY1Mzk3ODVhN2VjOTE1OTI5MGFh
MWZmZDczZWU1Y2JiZjljY2ZhZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2RvYy9tb3ZpbmdwYXJ0cy5yc3QKKysrIC9kZXYvbnVsbApAQCAtMSwyMDkg
KzAsMCBAQAotVGhlIG1vdmluZyBwYXJ0cwotPT09PT09PT09PT09PT09PQotCi1odG1sNWxpYiBj
b25zaXN0cyBvZiBhIG51bWJlciBvZiBjb21wb25lbnRzLCB3aGljaCBhcmUgcmVzcG9uc2libGUg
Zm9yCi1oYW5kbGluZyBpdHMgZmVhdHVyZXMuCi0KLQotVHJlZSBidWlsZGVycwotLS0tLS0tLS0t
LS0tLQotCi1UaGUgcGFyc2VyIHJlYWRzIEhUTUwgYnkgdG9rZW5pemluZyB0aGUgY29udGVudCBh
bmQgYnVpbGRpbmcgYSB0cmVlIHRoYXQKLXRoZSB1c2VyIGNhbiBsYXRlciBhY2Nlc3MuIFRoZXJl
IGFyZSB0aHJlZSBtYWluIHR5cGVzIG9mIHRyZWVzIHRoYXQKLWh0bWw1bGliIGNhbiBidWlsZDoK
LQotKiBgYGV0cmVlYGAgLSB0aGlzIGlzIHRoZSBkZWZhdWx0OyBidWlsZHMgYSB0cmVlIGJhc2Vk
IG9uIGBgeG1sLmV0cmVlYGAsCi0gIHdoaWNoIGNhbiBiZSBmb3VuZCBpbiB0aGUgc3RhbmRhcmQg
bGlicmFyeS4gV2hlbmV2ZXIgcG9zc2libGUsIHRoZQotICBhY2NlbGVyYXRlZCBgYEVsZW1lbnRU
cmVlYGAgaW1wbGVtZW50YXRpb24gKGkuZS4KLSAgYGB4bWwuZXRyZWUuY0VsZW1lbnRUcmVlYGAg
b24gUHl0aG9uIDIueCkgaXMgdXNlZC4KLQotKiBgYGRvbWBgIC0gYnVpbGRzIGEgdHJlZSBiYXNl
ZCBvbiBgYHhtbC5kb20ubWluaWRvbWBgLgotCi0qIGBgbHhtbC5ldHJlZWBgIC0gdXNlcyBseG1s
J3MgaW1wbGVtZW50YXRpb24gb2YgdGhlIGBgRWxlbWVudFRyZWVgYAotICBBUEkuICBUaGUgcGVy
Zm9ybWFuY2UgZ2FpbnMgYXJlIHJlbGF0aXZlbHkgc21hbGwgY29tcGFyZWQgdG8gdXNpbmcgdGhl
Ci0gIGFjY2VsZXJhdGVkIGBgRWxlbWVudFRyZWVgYCBtb2R1bGUuCi0KLVlvdSBjYW4gc3BlY2lm
eSB0aGUgYnVpbGRlciBieSBuYW1lIHdoZW4gdXNpbmcgdGhlIHNob3J0aGFuZCBBUEk6Ci0KLS4u
IGNvZGUtYmxvY2s6OiBweXRob24KLQotICBpbXBvcnQgaHRtbDVsaWIKLSAgd2l0aCBvcGVuKCJt
eWRvY3VtZW50Lmh0bWwiLCAicmIiKSBhcyBmOgotICAgICAgbHhtbF9ldHJlZV9kb2N1bWVudCA9
IGh0bWw1bGliLnBhcnNlKGYsIHRyZWVidWlsZGVyPSJseG1sIikKLQotV2hlbiBpbnN0YW50aWF0
aW5nIGEgcGFyc2VyIG9iamVjdCwgeW91IGhhdmUgdG8gcGFzcyBhIHRyZWUgYnVpbGRlcgotY2xh
c3MgaW4gdGhlIGBgdHJlZWBgIGtleXdvcmQgYXR0cmlidXRlOgotCi0uLiBjb2RlLWJsb2NrOjog
cHl0aG9uCi0KLSAgaW1wb3J0IGh0bWw1bGliCi0gIHBhcnNlciA9IGh0bWw1bGliLkhUTUxQYXJz
ZXIodHJlZT1Tb21lVHJlZUJ1aWxkZXIpCi0gIGRvY3VtZW50ID0gcGFyc2VyLnBhcnNlKCI8cD5I
ZWxsbyBXb3JsZCEiKQotCi1UbyBnZXQgYSBidWlsZGVyIGNsYXNzIGJ5IG5hbWUsIHVzZSB0aGUg
YGBnZXRUcmVlQnVpbGRlcmBgIGZ1bmN0aW9uOgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0K
LSAgaW1wb3J0IGh0bWw1bGliCi0gIHBhcnNlciA9IGh0bWw1bGliLkhUTUxQYXJzZXIodHJlZT1o
dG1sNWxpYi5nZXRUcmVlQnVpbGRlcigiZG9tIikpCi0gIG1pbmlkb21fZG9jdW1lbnQgPSBwYXJz
ZXIucGFyc2UoIjxwPkhlbGxvIFdvcmxkISIpCi0KLVRoZSBpbXBsZW1lbnRhdGlvbiBvZiBidWls
ZGVycyBjYW4gYmUgZm91bmQgaW4gYGh0bWw1bGliL3RyZWVidWlsZGVycy8KLTxodHRwczovL2dp
dGh1Yi5jb20vaHRtbDVsaWIvaHRtbDVsaWItcHl0aG9uL3RyZWUvbWFzdGVyL2h0bWw1bGliL3Ry
ZWVidWlsZGVycz5gXy4KLQotCi1UcmVlIHdhbGtlcnMKLS0tLS0tLS0tLS0tLQotCi1PbmNlIGEg
dHJlZSBpcyByZWFkeSwgeW91IGNhbiB3b3JrIG9uIGl0IGVpdGhlciBtYW51YWxseSwgb3IgdXNp
bmcKLWEgdHJlZSB3YWxrZXIsIHdoaWNoIHByb3ZpZGVzIGEgc3RyZWFtaW5nIHZpZXcgb2YgdGhl
IHRyZWUuIGh0bWw1bGliCi1wcm92aWRlcyB3YWxrZXJzIGZvciBhbGwgdGhyZWUgc3VwcG9ydGVk
IHR5cGVzIG9mIHRyZWVzIChgYGV0cmVlYGAsCi1gYGRvbWBgIGFuZCBgYGx4bWxgYCkuCi0KLVRo
ZSBpbXBsZW1lbnRhdGlvbiBvZiB3YWxrZXJzIGNhbiBiZSBmb3VuZCBpbiBgaHRtbDVsaWIvdHJl
ZXdhbGtlcnMvCi08aHR0cHM6Ly9naXRodWIuY29tL2h0bWw1bGliL2h0bWw1bGliLXB5dGhvbi90
cmVlL21hc3Rlci9odG1sNWxpYi90cmVld2Fsa2Vycz5gXy4KLQotV2Fsa2VycyBtYWtlIGNvbnN1
bWluZyBIVE1MIGVhc2llci4gaHRtbDVsaWIgdXNlcyB0aGVtIHRvIHByb3ZpZGUgeW91Ci13aXRo
IGhhcyBhIGNvdXBsZSBvZiBoYW5keSB0b29scy4KLQotCi1IVE1MU2VyaWFsaXplcgotfn5+fn5+
fn5+fn5+fn4KLQotVGhlIHNlcmlhbGl6ZXIgbGV0cyB5b3Ugd3JpdGUgSFRNTCBiYWNrIGFzIGEg
c3RyZWFtIG9mIGJ5dGVzLgotCi0uLiBjb2RlLWJsb2NrOjogcHljb24KLQotICA+Pj4gaW1wb3J0
IGh0bWw1bGliCi0gID4+PiBlbGVtZW50ID0gaHRtbDVsaWIucGFyc2UoJzxwIHhtbDpsYW5nPSJw
bCI+V2l0YW0gd3N6eXN0a2ljaCcpCi0gID4+PiB3YWxrZXIgPSBodG1sNWxpYi5nZXRUcmVlV2Fs
a2VyKCJldHJlZSIpCi0gID4+PiBzdHJlYW0gPSB3YWxrZXIoZWxlbWVudCkKLSAgPj4+IHMgPSBo
dG1sNWxpYi5zZXJpYWxpemVyLkhUTUxTZXJpYWxpemVyKCkKLSAgPj4+IG91dHB1dCA9IHMuc2Vy
aWFsaXplKHN0cmVhbSkKLSAgPj4+IGZvciBpdGVtIGluIG91dHB1dDoKLSAgLi4uICAgcHJpbnQo
IiVyIiAlIGl0ZW0pCi0gICc8cCcKLSAgJyAnCi0gICd4bWw6bGFuZycKLSAgJz0nCi0gICdwbCcK
LSAgJz4nCi0gICdXaXRhbSB3c3p5c3RraWNoJwotCi1Zb3UgY2FuIGN1c3RvbWl6ZSB0aGUgc2Vy
aWFsaXplciBiZWhhdmlvdXIgaW4gYSB2YXJpZXR5IG9mIHdheXMsIGNvbnN1bHQKLXRoZSA6Y2xh
c3M6YH5odG1sNWxpYi5zZXJpYWxpemVyLmh0bWxzZXJpYWxpemVyLkhUTUxTZXJpYWxpemVyYAot
ZG9jdW1lbnRhdGlvbi4KLQotCi1GaWx0ZXJzCi1+fn5+fn5+Ci0KLVlvdSBjYW4gYWx0ZXIgdGhl
IHN0cmVhbSBjb250ZW50IHdpdGggZmlsdGVycyBwcm92aWRlZCBieSBodG1sNWxpYjoKLQotKiA6
Y2xhc3M6YGFscGhhYmV0aWNhbGF0dHJpYnV0ZXMuRmlsdGVyCi0gIDxodG1sNWxpYi5maWx0ZXJz
LmFscGhhYmV0aWNhbGF0dHJpYnV0ZXMuRmlsdGVyPmAgc29ydHMgYXR0cmlidXRlcyBvbgotICB0
YWdzIHRvIGJlIGluIGFscGhhYmV0aWNhbCBvcmRlcgotCi0qIDpjbGFzczpgaW5qZWN0X21ldGFf
Y2hhcnNldC5GaWx0ZXIKLSAgPGh0bWw1bGliLmZpbHRlcnMuaW5qZWN0X21ldGFfY2hhcnNldC5G
aWx0ZXI+YCBzZXRzIGEgdXNlci1zcGVjaWZpZWQKLSAgZW5jb2RpbmcgaW4gdGhlIGNvcnJlY3Qg
YGA8bWV0YT5gYCB0YWcgaW4gdGhlIGBgPGhlYWQ+YGAgc2VjdGlvbiBvZgotICB0aGUgZG9jdW1l
bnQKLQotKiA6Y2xhc3M6YGxpbnQuRmlsdGVyIDxodG1sNWxpYi5maWx0ZXJzLmxpbnQuRmlsdGVy
PmAgcmFpc2VzCi0gIGBgTGludEVycm9yYGAgZXhjZXB0aW9ucyBvbiBpbnZhbGlkIHRhZyBhbmQg
YXR0cmlidXRlIG5hbWVzLCBpbnZhbGlkCi0gIFBDREFUQSwgZXRjLgotCi0qIDpjbGFzczpgb3B0
aW9uYWx0YWdzLkZpbHRlciA8aHRtbDVsaWIuZmlsdGVycy5vcHRpb25hbHRhZ3MuRmlsdGVyPmAK
LSAgcmVtb3ZlcyB0YWdzIGZyb20gdGhlIHN0cmVhbSB3aGljaCBhcmUgbm90IG5lY2Vzc2FyeSB0
byBwcm9kdWNlIHZhbGlkCi0gIEhUTUwKLQotKiA6Y2xhc3M6YHNhbml0aXplci5GaWx0ZXIgPGh0
bWw1bGliLmZpbHRlcnMuc2FuaXRpemVyLkZpbHRlcj5gIHJlbW92ZXMKLSAgdW5zYWZlIG1hcmt1
cCBhbmQgQ1NTLiBFbGVtZW50cyB0aGF0IGFyZSBrbm93biB0byBiZSBzYWZlIGFyZSBwYXNzZWQK
LSAgdGhyb3VnaCBhbmQgdGhlIHJlc3QgaXMgY29udmVydGVkIHRvIHZpc2libGUgdGV4dC4gVGhl
IGRlZmF1bHQKLSAgY29uZmlndXJhdGlvbiBvZiB0aGUgc2FuaXRpemVyIGZvbGxvd3MgdGhlIGBX
SEFUV0cgU2FuaXRpemF0aW9uIFJ1bGVzCi0gIDxodHRwOi8vd2lraS53aGF0d2cub3JnL3dpa2kv
U2FuaXRpemF0aW9uX3J1bGVzPmBfLgotCi0qIDpjbGFzczpgd2hpdGVzcGFjZS5GaWx0ZXIgPGh0
bWw1bGliLmZpbHRlcnMud2hpdGVzcGFjZS5GaWx0ZXI+YAotICBjb2xsYXBzZXMgYWxsIHdoaXRl
c3BhY2UgY2hhcmFjdGVycyB0byBzaW5nbGUgc3BhY2VzIHVubGVzcyB0aGV5J3JlIGluCi0gIGBg
PHByZS8+YGAgb3IgYGB0ZXh0YXJlYWBgIHRhZ3MuCi0KLVRvIHVzZSBhIGZpbHRlciwgc2ltcGx5
IHdyYXAgaXQgYXJvdW5kIGEgc3RyZWFtOgotCi0uLiBjb2RlLWJsb2NrOjogcHl0aG9uCi0KLSAg
Pj4+IGltcG9ydCBodG1sNWxpYgotICA+Pj4gZnJvbSBodG1sNWxpYi5maWx0ZXJzIGltcG9ydCBz
YW5pdGl6ZXIKLSAgPj4+IGRvbSA9IGh0bWw1bGliLnBhcnNlKCI8cD48c2NyaXB0PmFsZXJ0KCdC
b28hJykiLCB0cmVlYnVpbGRlcj0iZG9tIikKLSAgPj4+IHdhbGtlciA9IGh0bWw1bGliLmdldFRy
ZWVXYWxrZXIoImRvbSIpCi0gID4+PiBzdHJlYW0gPSB3YWxrZXIoZG9tKQotICA+Pj4gc2FuZV9z
dHJlYW0gPSBzYW5pdGl6ZXIuRmlsdGVyKHN0cmVhbSkgY2xlYW5fc3RyZWFtID0gc2FuaXRpemVy
LkZpbHRlcihzdHJlYW0pCi0KLQotVHJlZSBhZGFwdGVycwotLS0tLS0tLS0tLS0tLQotCi1Vc2Vk
IHRvIHRyYW5zbGF0ZSBvbmUgdHlwZSBvZiB0cmVlIHRvIGFub3RoZXIuIE1vcmUgZG9jdW1lbnRh
dGlvbgotcGVuZGluZywgc29ycnkuCi0KLQotRW5jb2RpbmcgZGlzY292ZXJ5Ci0tLS0tLS0tLS0t
LS0tLS0tLS0KLQotUGFyc2VkIHRyZWVzIGFyZSBhbHdheXMgVW5pY29kZS4gSG93ZXZlciBhIGxh
cmdlIHZhcmlldHkgb2YgaW5wdXQKLWVuY29kaW5ncyBhcmUgc3VwcG9ydGVkLiBUaGUgZW5jb2Rp
bmcgb2YgdGhlIGRvY3VtZW50IGlzIGRldGVybWluZWQgaW4KLXRoZSBmb2xsb3dpbmcgd2F5Ogot
Ci0qIFRoZSBlbmNvZGluZyBtYXkgYmUgZXhwbGljaXRseSBzcGVjaWZpZWQgYnkgcGFzc2luZyB0
aGUgbmFtZSBvZiB0aGUKLSAgZW5jb2RpbmcgYXMgdGhlIGVuY29kaW5nIHBhcmFtZXRlciB0byB0
aGUKLSAgOm1ldGg6YH5odG1sNWxpYi5odG1sNXBhcnNlci5IVE1MUGFyc2VyLnBhcnNlYCBtZXRo
b2Qgb24KLSAgYGBIVE1MUGFyc2VyYGAgb2JqZWN0cy4KLQotKiBJZiBubyBlbmNvZGluZyBpcyBz
cGVjaWZpZWQsIHRoZSBwYXJzZXIgd2lsbCBhdHRlbXB0IHRvIGRldGVjdCB0aGUKLSAgZW5jb2Rp
bmcgZnJvbSBhIGBgPG1ldGE+YGAgIGVsZW1lbnQgaW4gdGhlIGZpcnN0IDUxMiBieXRlcyBvZiB0
aGUKLSAgZG9jdW1lbnQgKHRoaXMgaXMgb25seSBhIHBhcnRpYWwgaW1wbGVtZW50YXRpb24gb2Yg
dGhlIGN1cnJlbnQgSFRNTAotICA1IHNwZWNpZmljYXRpb24pLgotCi0qIElmIG5vIGVuY29kaW5n
IGNhbiBiZSBmb3VuZCBhbmQgdGhlIGNoYXJkZXQgbGlicmFyeSBpcyBhdmFpbGFibGUsIGFuCi0g
IGF0dGVtcHQgd2lsbCBiZSBtYWRlIHRvIHNuaWZmIHRoZSBlbmNvZGluZyBmcm9tIHRoZSBieXRl
IHBhdHRlcm4uCi0KLSogSWYgYWxsIGVsc2UgZmFpbHMsIHRoZSBkZWZhdWx0IGVuY29kaW5nIHdp
bGwgYmUgdXNlZC4gVGhpcyBpcyB1c3VhbGx5Ci0gIGBXaW5kb3dzLTEyNTIgPGh0dHA6Ly9lbi53
aWtpcGVkaWEub3JnL3dpa2kvV2luZG93cy0xMjUyPmBfLCB3aGljaCBpcwotICBhIGNvbW1vbiBm
YWxsYmFjayB1c2VkIGJ5IFdlYiBicm93c2Vycy4KLQotCi1Ub2tlbml6ZXJzCi0tLS0tLS0tLS0t
Ci0KLVRoZSBwYXJ0IG9mIHRoZSBwYXJzZXIgcmVzcG9uc2libGUgZm9yIHRyYW5zbGF0aW5nIGEg
cmF3IGlucHV0IHN0cmVhbQotaW50byBtZWFuaW5nZnVsIHRva2VucyBpcyB0aGUgdG9rZW5pemVy
LiBDdXJyZW50bHkgaHRtbDVsaWIgcHJvdmlkZXMKLXR3by4KLQotVG8gc2V0IHVwIGEgdG9rZW5p
emVyLCBzaW1wbHkgcGFzcyBpdCB3aGVuIGluc3RhbnRpYXRpbmcKLWEgOmNsYXNzOmB+aHRtbDVs
aWIuaHRtbDVwYXJzZXIuSFRNTFBhcnNlcmA6Ci0KLS4uIGNvZGUtYmxvY2s6OiBweXRob24KLQot
ICBpbXBvcnQgaHRtbDVsaWIKLSAgZnJvbSBodG1sNWxpYiBpbXBvcnQgc2FuaXRpemVyCi0KLSAg
cCA9IGh0bWw1bGliLkhUTUxQYXJzZXIodG9rZW5pemVyPXNhbml0aXplci5IVE1MU2FuaXRpemVy
KQotICBwLnBhcnNlKCI8cD5TdXJwcmlzZSE8c2NyaXB0PmFsZXJ0KCdCb28hJyk7PC9zY3JpcHQ+
IikKLQotSFRNTFRva2VuaXplcgotfn5+fn5+fn5+fn5+fgotCi1UaGlzIGlzIHRoZSBkZWZhdWx0
IHRva2VuaXplciwgdGhlIGhlYXJ0IG9mIGh0bWw1bGliLiBUaGUgaW1wbGVtZW50YXRpb24KLWNh
biBiZSBmb3VuZCBpbiBgaHRtbDVsaWIvdG9rZW5pemVyLnB5Ci08aHR0cHM6Ly9naXRodWIuY29t
L2h0bWw1bGliL2h0bWw1bGliLXB5dGhvbi9ibG9iL21hc3Rlci9odG1sNWxpYi90b2tlbml6ZXIu
cHk+YF8uCi0KLUhUTUxTYW5pdGl6ZXIKLX5+fn5+fn5+fn5+fn4KLQotVGhpcyBpcyBhIHRva2Vu
aXplciB0aGF0IHJlbW92ZXMgdW5zYWZlIG1hcmt1cCBhbmQgQ1NTIHN0eWxlcyBmcm9tIHRoZQot
aW5wdXQuIEVsZW1lbnRzIHRoYXQgYXJlIGtub3duIHRvIGJlIHNhZmUgYXJlIHBhc3NlZCB0aHJv
dWdoIGFuZCB0aGUKLXJlc3QgaXMgY29udmVydGVkIHRvIHZpc2libGUgdGV4dC4gVGhlIGRlZmF1
bHQgY29uZmlndXJhdGlvbiBvZiB0aGUKLXNhbml0aXplciBmb2xsb3dzIHRoZSBgV0hBVFdHIFNh
bml0aXphdGlvbiBSdWxlcwotPGh0dHA6Ly93aWtpLndoYXR3Zy5vcmcvd2lraS9TYW5pdGl6YXRp
b25fcnVsZXM+YF8uCi0KLVRoZSBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgZm91bmQgaW4gYGh0bWw1
bGliL3Nhbml0aXplci5weQotPGh0dHBzOi8vZ2l0aHViLmNvbS9odG1sNWxpYi9odG1sNWxpYi1w
eXRob24vYmxvYi9tYXN0ZXIvaHRtbDVsaWIvc2FuaXRpemVyLnB5PmBfLgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9kb2MvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYWE5YjM5ZmZkOTM4ZDNhZGFhY2YyNDA2MmJiZGUxNjQ1NWJiMDJj
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy93
M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLVRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgot
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
ZG9jL01ha2VmaWxlCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9kb2MvY2hhbmdlcy5yc3QKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9jb25mLnB5Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2Mv
aHRtbDVsaWIuZmlsdGVycy5yc3QKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9odG1sNWxpYi5yc3QKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9odG1sNWxp
Yi5zZXJpYWxpemVyLnJzdAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvZG9jL2h0bWw1bGliLnRyZWVidWlsZGVycy5yc3QKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2Rv
Yy9odG1sNWxpYi50cmVld2Fsa2Vycy5yc3QKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9pbmRleC5yc3QKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9saWNl
bnNlLnJzdAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvZG9jL21ha2UuYmF0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kb2MvbW9kdWxlcy5yc3QKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2RvYy9tb3Zp
bmdwYXJ0cy5yc3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZmxha2U4LXJ1bi5zaCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvZmxha2U4LXJ1bi5z
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDFhNTg3ZDM1MDY3NjllYTExZmYzYTAw
YTRjZmNjOWI4ZWNmZjJmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2ZsYWtlOC1ydW4uc2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNCArMCwwIEBACi0j
IS9iaW4vYmFzaCAtZQotCi1pZiBbWyAhIC14ICQod2hpY2ggZmxha2U4KSBdXTsgdGhlbgotICBl
Y2hvICJmYXRhbDogZmxha2U4IG5vdCBmb3VuZCBvbiAkUEFUSC4gRXhpdGluZy4iCi0gIGV4aXQg
MQotZmkKLQotaWYgW1sgJFRSQVZJUyAhPSAidHJ1ZSIgfHwgJEZMQUtFID09ICJ0cnVlIiBdXTsg
dGhlbgotICBmaW5kIGh0bWw1bGliLyAtbmFtZSAnKi5weScgLWFuZCAtbm90IC1uYW1lICdjb25z
dGFudHMucHknIC1wcmludDAgfCB4YXJncyAtMCBmbGFrZTggLS1pZ25vcmU9RTUwMQotICBmbGFr
ZTE9JD8KLSAgZmxha2U4IC0tbWF4LWxpbmUtbGVuZ3RoPTk5IC0taWdub3JlPUUxMjYgaHRtbDVs
aWIvY29uc3RhbnRzLnB5Ci0gIGZsYWtlMj0kPwotICBleGl0ICRbJGZsYWtlMSB8fCAkZmxha2Uy
XQotZmkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9fX2luaXRfXy5weSBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvZmlsdGVycy9fX2luaXRfXy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YTY4MzRiODI4NWE1NmJlZjBlMTU0M2ZkOTAxYzdlNmYyZjhiYzIwMi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvX19pbml0
X18ucHkKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvX2Jh
c2UucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvX2Jhc2UucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGM3ZGJhZWQwZmFiNWFmYjRmODk0N2IyNGRkMTc1ZDIyMzlkMzVkNmIuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0
ZXJzL19iYXNlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotZnJvbSBfX2Z1dHVy
ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0K
LQotY2xhc3MgRmlsdGVyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHNvdXJjZSk6
Ci0gICAgICAgIHNlbGYuc291cmNlID0gc291cmNlCi0KLSAgICBkZWYgX19pdGVyX18oc2VsZik6
Ci0gICAgICAgIHJldHVybiBpdGVyKHNlbGYuc291cmNlKQotCi0gICAgZGVmIF9fZ2V0YXR0cl9f
KHNlbGYsIG5hbWUpOgotICAgICAgICByZXR1cm4gZ2V0YXR0cihzZWxmLnNvdXJjZSwgbmFtZSkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9hbHBoYWJldGljYWxhdHRyaWJ1dGVzLnB5
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9odG1sNWxpYi9maWx0ZXJzL2FscGhhYmV0aWNhbGF0dHJpYnV0ZXMucHkKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZlZDY5OTZjMWQ5YjBkY2M1NDYyZjNlMWNjOGU0ZTE1M2Ni
NDE0Y2UuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi9maWx0ZXJzL2FscGhhYmV0aWNhbGF0dHJpYnV0ZXMucHkKKysrIC9kZXYvbnVsbApA
QCAtMSwyMCArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwg
ZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotZnJvbSAuIGltcG9ydCBfYmFzZQotCi10cnk6
Ci0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgT3JkZXJlZERpY3QKLWV4Y2VwdCBJbXBvcnRF
cnJvcjoKLSAgICBmcm9tIG9yZGVyZWRkaWN0IGltcG9ydCBPcmRlcmVkRGljdAotCi0KLWNsYXNz
IEZpbHRlcihfYmFzZS5GaWx0ZXIpOgotICAgIGRlZiBfX2l0ZXJfXyhzZWxmKToKLSAgICAgICAg
Zm9yIHRva2VuIGluIF9iYXNlLkZpbHRlci5fX2l0ZXJfXyhzZWxmKToKLSAgICAgICAgICAgIGlm
IHRva2VuWyJ0eXBlIl0gaW4gKCJTdGFydFRhZyIsICJFbXB0eVRhZyIpOgotICAgICAgICAgICAg
ICAgIGF0dHJzID0gT3JkZXJlZERpY3QoKQotICAgICAgICAgICAgICAgIGZvciBuYW1lLCB2YWx1
ZSBpbiBzb3J0ZWQodG9rZW5bImRhdGEiXS5pdGVtcygpLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAga2V5PWxhbWJkYSB4OiB4WzBdKToKLSAgICAgICAgICAgICAg
ICAgICAgYXR0cnNbbmFtZV0gPSB2YWx1ZQotICAgICAgICAgICAgICAgIHRva2VuWyJkYXRhIl0g
PSBhdHRycwotICAgICAgICAgICAgeWllbGQgdG9rZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
ZmlsdGVycy9pbmplY3RfbWV0YV9jaGFyc2V0LnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL2luamVj
dF9tZXRhX2NoYXJzZXQucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNhMzNiNzBi
NTMwN2U2OWRkY2FmMWQwZDYzZjQzZWE2NGZhNjUyOGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL2luamVjdF9tZXRhX2No
YXJzZXQucHkKKysrIC9kZXYvbnVsbApAQCAtMSw2NSArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18g
aW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotZnJv
bSAuIGltcG9ydCBfYmFzZQotCi0KLWNsYXNzIEZpbHRlcihfYmFzZS5GaWx0ZXIpOgotICAgIGRl
ZiBfX2luaXRfXyhzZWxmLCBzb3VyY2UsIGVuY29kaW5nKToKLSAgICAgICAgX2Jhc2UuRmlsdGVy
Ll9faW5pdF9fKHNlbGYsIHNvdXJjZSkKLSAgICAgICAgc2VsZi5lbmNvZGluZyA9IGVuY29kaW5n
Ci0KLSAgICBkZWYgX19pdGVyX18oc2VsZik6Ci0gICAgICAgIHN0YXRlID0gInByZV9oZWFkIgot
ICAgICAgICBtZXRhX2ZvdW5kID0gKHNlbGYuZW5jb2RpbmcgaXMgTm9uZSkKLSAgICAgICAgcGVu
ZGluZyA9IFtdCi0KLSAgICAgICAgZm9yIHRva2VuIGluIF9iYXNlLkZpbHRlci5fX2l0ZXJfXyhz
ZWxmKToKLSAgICAgICAgICAgIHR5cGUgPSB0b2tlblsidHlwZSJdCi0gICAgICAgICAgICBpZiB0
eXBlID09ICJTdGFydFRhZyI6Ci0gICAgICAgICAgICAgICAgaWYgdG9rZW5bIm5hbWUiXS5sb3dl
cigpID09ICJoZWFkIjoKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAiaW5faGVhZCIKLQot
ICAgICAgICAgICAgZWxpZiB0eXBlID09ICJFbXB0eVRhZyI6Ci0gICAgICAgICAgICAgICAgaWYg
dG9rZW5bIm5hbWUiXS5sb3dlcigpID09ICJtZXRhIjoKLSAgICAgICAgICAgICAgICAgICAgIyBy
ZXBsYWNlIGNoYXJzZXQgd2l0aCBhY3R1YWwgZW5jb2RpbmcKLSAgICAgICAgICAgICAgICAgICAg
aGFzX2h0dHBfZXF1aXZfY29udGVudF90eXBlID0gRmFsc2UKLSAgICAgICAgICAgICAgICAgICAg
Zm9yIChuYW1lc3BhY2UsIG5hbWUpLCB2YWx1ZSBpbiB0b2tlblsiZGF0YSJdLml0ZW1zKCk6Ci0g
ICAgICAgICAgICAgICAgICAgICAgICBpZiBuYW1lc3BhY2UgaXMgbm90IE5vbmU6Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgICAgICAgICAgICAgICAgIGVs
aWYgbmFtZS5sb3dlcigpID09ICdjaGFyc2V0JzoKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0b2tlblsiZGF0YSJdWyhuYW1lc3BhY2UsIG5hbWUpXSA9IHNlbGYuZW5jb2RpbmcKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBtZXRhX2ZvdW5kID0gVHJ1ZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICAgICAgICAgICAgICBlbGlmIG5hbWUgPT0g
J2h0dHAtZXF1aXYnIGFuZCB2YWx1ZS5sb3dlcigpID09ICdjb250ZW50LXR5cGUnOgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGhhc19odHRwX2VxdWl2X2NvbnRlbnRfdHlwZSA9IFRydWUK
LSAgICAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGhh
c19odHRwX2VxdWl2X2NvbnRlbnRfdHlwZSBhbmQgKE5vbmUsICJjb250ZW50IikgaW4gdG9rZW5b
ImRhdGEiXToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsiZGF0YSJdWyhOb25l
LCAiY29udGVudCIpXSA9ICd0ZXh0L2h0bWw7IGNoYXJzZXQ9JXMnICUgc2VsZi5lbmNvZGluZwot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFfZm91bmQgPSBUcnVlCi0KLSAgICAgICAg
ICAgICAgICBlbGlmIHRva2VuWyJuYW1lIl0ubG93ZXIoKSA9PSAiaGVhZCIgYW5kIG5vdCBtZXRh
X2ZvdW5kOgotICAgICAgICAgICAgICAgICAgICAjIGluc2VydCBtZXRhIGludG8gZW1wdHkgaGVh
ZAotICAgICAgICAgICAgICAgICAgICB5aWVsZCB7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6
ICJoZWFkIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjogdG9rZW5bImRhdGEi
XX0KLSAgICAgICAgICAgICAgICAgICAgeWllbGQgeyJ0eXBlIjogIkVtcHR5VGFnIiwgIm5hbWUi
OiAibWV0YSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAiZGF0YSI6IHsoTm9uZSwgImNo
YXJzZXQiKTogc2VsZi5lbmNvZGluZ319Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHsidHlw
ZSI6ICJFbmRUYWciLCAibmFtZSI6ICJoZWFkIn0KLSAgICAgICAgICAgICAgICAgICAgbWV0YV9m
b3VuZCA9IFRydWUKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAg
ZWxpZiB0eXBlID09ICJFbmRUYWciOgotICAgICAgICAgICAgICAgIGlmIHRva2VuWyJuYW1lIl0u
bG93ZXIoKSA9PSAiaGVhZCIgYW5kIHBlbmRpbmc6Ci0gICAgICAgICAgICAgICAgICAgICMgaW5z
ZXJ0IG1ldGEgaW50byBoZWFkIChpZiBuZWNlc3NhcnkpIGFuZCBmbHVzaCBwZW5kaW5nIHF1ZXVl
Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHBlbmRpbmcucG9wKDApCi0gICAgICAgICAgICAg
ICAgICAgIGlmIG5vdCBtZXRhX2ZvdW5kOgotICAgICAgICAgICAgICAgICAgICAgICAgeWllbGQg
eyJ0eXBlIjogIkVtcHR5VGFnIiwgIm5hbWUiOiAibWV0YSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgImRhdGEiOiB7KE5vbmUsICJjaGFyc2V0Iik6IHNlbGYuZW5jb2Rpbmd9fQot
ICAgICAgICAgICAgICAgICAgICB3aGlsZSBwZW5kaW5nOgotICAgICAgICAgICAgICAgICAgICAg
ICAgeWllbGQgcGVuZGluZy5wb3AoMCkKLSAgICAgICAgICAgICAgICAgICAgbWV0YV9mb3VuZCA9
IFRydWUKLSAgICAgICAgICAgICAgICAgICAgc3RhdGUgPSAicG9zdF9oZWFkIgotCi0gICAgICAg
ICAgICBpZiBzdGF0ZSA9PSAiaW5faGVhZCI6Ci0gICAgICAgICAgICAgICAgcGVuZGluZy5hcHBl
bmQodG9rZW4pCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHlpZWxkIHRva2Vu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvbGludC5weSBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmls
dGVycy9saW50LnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3Y2M5OWE0YmE3YzAx
MGZjNDJkZjMwYWNjZTcxNTk4NzExZGJjYzVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9saW50LnB5CisrKyAvZGV2L251
bGwKQEAgLTEsOTMgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBv
cnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0KLWZyb20gZ2V0dGV4dCBpbXBvcnQgZ2V0
dGV4dAotXyA9IGdldHRleHQKLQotZnJvbSAuIGltcG9ydCBfYmFzZQotZnJvbSAuLmNvbnN0YW50
cyBpbXBvcnQgY2RhdGFFbGVtZW50cywgcmNkYXRhRWxlbWVudHMsIHZvaWRFbGVtZW50cwotCi1m
cm9tIC4uY29uc3RhbnRzIGltcG9ydCBzcGFjZUNoYXJhY3RlcnMKLXNwYWNlQ2hhcmFjdGVycyA9
ICIiLmpvaW4oc3BhY2VDaGFyYWN0ZXJzKQotCi0KLWNsYXNzIExpbnRFcnJvcihFeGNlcHRpb24p
OgotICAgIHBhc3MKLQotCi1jbGFzcyBGaWx0ZXIoX2Jhc2UuRmlsdGVyKToKLSAgICBkZWYgX19p
dGVyX18oc2VsZik6Ci0gICAgICAgIG9wZW5fZWxlbWVudHMgPSBbXQotICAgICAgICBjb250ZW50
TW9kZWxGbGFnID0gIlBDREFUQSIKLSAgICAgICAgZm9yIHRva2VuIGluIF9iYXNlLkZpbHRlci5f
X2l0ZXJfXyhzZWxmKToKLSAgICAgICAgICAgIHR5cGUgPSB0b2tlblsidHlwZSJdCi0gICAgICAg
ICAgICBpZiB0eXBlIGluICgiU3RhcnRUYWciLCAiRW1wdHlUYWciKToKLSAgICAgICAgICAgICAg
ICBuYW1lID0gdG9rZW5bIm5hbWUiXQotICAgICAgICAgICAgICAgIGlmIGNvbnRlbnRNb2RlbEZs
YWcgIT0gIlBDREFUQSI6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIExpbnRFcnJvcihfKCJT
dGFydFRhZyBub3QgaW4gUENEQVRBIGNvbnRlbnQgbW9kZWwgZmxhZzogJSh0YWcpcyIpICUgeyJ0
YWciOiBuYW1lfSkKLSAgICAgICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShuYW1lLCBzdHIp
OgotICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW50RXJyb3IoXygiVGFnIG5hbWUgaXMgbm90
IGEgc3RyaW5nOiAlKHRhZylyIikgJSB7InRhZyI6IG5hbWV9KQotICAgICAgICAgICAgICAgIGlm
IG5vdCBuYW1lOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW50RXJyb3IoXygiRW1wdHkg
dGFnIG5hbWUiKSkKLSAgICAgICAgICAgICAgICBpZiB0eXBlID09ICJTdGFydFRhZyIgYW5kIG5h
bWUgaW4gdm9pZEVsZW1lbnRzOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW50RXJyb3Io
XygiVm9pZCBlbGVtZW50IHJlcG9ydGVkIGFzIFN0YXJ0VGFnIHRva2VuOiAlKHRhZylzIikgJSB7
InRhZyI6IG5hbWV9KQotICAgICAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiRW1wdHlUYWciIGFu
ZCBuYW1lIG5vdCBpbiB2b2lkRWxlbWVudHM6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIExp
bnRFcnJvcihfKCJOb24tdm9pZCBlbGVtZW50IHJlcG9ydGVkIGFzIEVtcHR5VGFnIHRva2VuOiAl
KHRhZylzIikgJSB7InRhZyI6IHRva2VuWyJuYW1lIl19KQotICAgICAgICAgICAgICAgIGlmIHR5
cGUgPT0gIlN0YXJ0VGFnIjoKLSAgICAgICAgICAgICAgICAgICAgb3Blbl9lbGVtZW50cy5hcHBl
bmQobmFtZSkKLSAgICAgICAgICAgICAgICBmb3IgbmFtZSwgdmFsdWUgaW4gdG9rZW5bImRhdGEi
XToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobmFtZSwgc3RyKToKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIExpbnRFcnJvcihfKCJBdHRyaWJ1dGUgbmFtZSBp
cyBub3QgYSBzdHJpbmc6ICUobmFtZSlyIikgJSB7Im5hbWUiOiBuYW1lfSkKLSAgICAgICAgICAg
ICAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW50
RXJyb3IoXygiRW1wdHkgYXR0cmlidXRlIG5hbWUiKSkKLSAgICAgICAgICAgICAgICAgICAgaWYg
bm90IGlzaW5zdGFuY2UodmFsdWUsIHN0cik6Ci0gICAgICAgICAgICAgICAgICAgICAgICByYWlz
ZSBMaW50RXJyb3IoXygiQXR0cmlidXRlIHZhbHVlIGlzIG5vdCBhIHN0cmluZzogJSh2YWx1ZSly
IikgJSB7InZhbHVlIjogdmFsdWV9KQotICAgICAgICAgICAgICAgIGlmIG5hbWUgaW4gY2RhdGFF
bGVtZW50czoKLSAgICAgICAgICAgICAgICAgICAgY29udGVudE1vZGVsRmxhZyA9ICJDREFUQSIK
LSAgICAgICAgICAgICAgICBlbGlmIG5hbWUgaW4gcmNkYXRhRWxlbWVudHM6Ci0gICAgICAgICAg
ICAgICAgICAgIGNvbnRlbnRNb2RlbEZsYWcgPSAiUkNEQVRBIgotICAgICAgICAgICAgICAgIGVs
aWYgbmFtZSA9PSAicGxhaW50ZXh0IjoKLSAgICAgICAgICAgICAgICAgICAgY29udGVudE1vZGVs
RmxhZyA9ICJQTEFJTlRFWFQiCi0KLSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiRW5kVGFnIjoK
LSAgICAgICAgICAgICAgICBuYW1lID0gdG9rZW5bIm5hbWUiXQotICAgICAgICAgICAgICAgIGlm
IG5vdCBpc2luc3RhbmNlKG5hbWUsIHN0cik6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIExp
bnRFcnJvcihfKCJUYWcgbmFtZSBpcyBub3QgYSBzdHJpbmc6ICUodGFnKXIiKSAlIHsidGFnIjog
bmFtZX0pCi0gICAgICAgICAgICAgICAgaWYgbm90IG5hbWU6Ci0gICAgICAgICAgICAgICAgICAg
IHJhaXNlIExpbnRFcnJvcihfKCJFbXB0eSB0YWcgbmFtZSIpKQotICAgICAgICAgICAgICAgIGlm
IG5hbWUgaW4gdm9pZEVsZW1lbnRzOgotICAgICAgICAgICAgICAgICAgICByYWlzZSBMaW50RXJy
b3IoXygiVm9pZCBlbGVtZW50IHJlcG9ydGVkIGFzIEVuZFRhZyB0b2tlbjogJSh0YWcpcyIpICUg
eyJ0YWciOiBuYW1lfSkKLSAgICAgICAgICAgICAgICBzdGFydF9uYW1lID0gb3Blbl9lbGVtZW50
cy5wb3AoKQotICAgICAgICAgICAgICAgIGlmIHN0YXJ0X25hbWUgIT0gbmFtZToKLSAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgTGludEVycm9yKF8oIkVuZFRhZyAoJShlbmQpcykgZG9lcyBub3Qg
bWF0Y2ggU3RhcnRUYWcgKCUoc3RhcnQpcykiKSAlIHsiZW5kIjogbmFtZSwgInN0YXJ0Ijogc3Rh
cnRfbmFtZX0pCi0gICAgICAgICAgICAgICAgY29udGVudE1vZGVsRmxhZyA9ICJQQ0RBVEEiCi0K
LSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiQ29tbWVudCI6Ci0gICAgICAgICAgICAgICAgaWYg
Y29udGVudE1vZGVsRmxhZyAhPSAiUENEQVRBIjoKLSAgICAgICAgICAgICAgICAgICAgcmFpc2Ug
TGludEVycm9yKF8oIkNvbW1lbnQgbm90IGluIFBDREFUQSBjb250ZW50IG1vZGVsIGZsYWciKSkK
LQotICAgICAgICAgICAgZWxpZiB0eXBlIGluICgiQ2hhcmFjdGVycyIsICJTcGFjZUNoYXJhY3Rl
cnMiKToKLSAgICAgICAgICAgICAgICBkYXRhID0gdG9rZW5bImRhdGEiXQotICAgICAgICAgICAg
ICAgIGlmIG5vdCBpc2luc3RhbmNlKGRhdGEsIHN0cik6Ci0gICAgICAgICAgICAgICAgICAgIHJh
aXNlIExpbnRFcnJvcihfKCJBdHRyaWJ1dGUgbmFtZSBpcyBub3QgYSBzdHJpbmc6ICUobmFtZSly
IikgJSB7Im5hbWUiOiBkYXRhfSkKLSAgICAgICAgICAgICAgICBpZiBub3QgZGF0YToKLSAgICAg
ICAgICAgICAgICAgICAgcmFpc2UgTGludEVycm9yKF8oIiUodHlwZSlzIHRva2VuIHdpdGggZW1w
dHkgZGF0YSIpICUgeyJ0eXBlIjogdHlwZX0pCi0gICAgICAgICAgICAgICAgaWYgdHlwZSA9PSAi
U3BhY2VDaGFyYWN0ZXJzIjoKLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGRhdGEuc3RyaXAo
c3BhY2VDaGFyYWN0ZXJzKQotICAgICAgICAgICAgICAgICAgICBpZiBkYXRhOgotICAgICAgICAg
ICAgICAgICAgICAgICAgcmFpc2UgTGludEVycm9yKF8oIk5vbi1zcGFjZSBjaGFyYWN0ZXIocykg
Zm91bmQgaW4gU3BhY2VDaGFyYWN0ZXJzIHRva2VuOiAlKHRva2VuKXIiKSAlIHsidG9rZW4iOiBk
YXRhfSkKLQotICAgICAgICAgICAgZWxpZiB0eXBlID09ICJEb2N0eXBlIjoKLSAgICAgICAgICAg
ICAgICBuYW1lID0gdG9rZW5bIm5hbWUiXQotICAgICAgICAgICAgICAgIGlmIGNvbnRlbnRNb2Rl
bEZsYWcgIT0gIlBDREFUQSI6Ci0gICAgICAgICAgICAgICAgICAgIHJhaXNlIExpbnRFcnJvcihf
KCJEb2N0eXBlIG5vdCBpbiBQQ0RBVEEgY29udGVudCBtb2RlbCBmbGFnOiAlKG5hbWUpcyIpICUg
eyJuYW1lIjogbmFtZX0pCi0gICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UobmFtZSwg
c3RyKToKLSAgICAgICAgICAgICAgICAgICAgcmFpc2UgTGludEVycm9yKF8oIlRhZyBuYW1lIGlz
IG5vdCBhIHN0cmluZzogJSh0YWcpciIpICUgeyJ0YWciOiBuYW1lfSkKLSAgICAgICAgICAgICAg
ICAjIFhYWDogd2hhdCB0byBkbyB3aXRoIHRva2VuWyJkYXRhIl0gPwotCi0gICAgICAgICAgICBl
bGlmIHR5cGUgaW4gKCJQYXJzZUVycm9yIiwgIlNlcmlhbGl6ZUVycm9yIik6Ci0gICAgICAgICAg
ICAgICAgcGFzcwotCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJhaXNlIExp
bnRFcnJvcihfKCJVbmtub3duIHRva2VuIHR5cGU6ICUodHlwZSlzIikgJSB7InR5cGUiOiB0eXBl
fSkKLQotICAgICAgICAgICAgeWllbGQgdG9rZW4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmls
dGVycy9vcHRpb25hbHRhZ3MucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMvb3B0aW9uYWx0YWdzLnB5
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZWZlMGIzMDk3YmQ5NjQ2YjQzYzRjM2Yz
YmQ4YmE4ZDBiYmIwMWEwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9vcHRpb25hbHRhZ3MucHkKKysrIC9kZXYvbnVsbApA
QCAtMSwyMDUgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQs
IGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0KLWZyb20gLiBpbXBvcnQgX2Jhc2UKLQotCi1j
bGFzcyBGaWx0ZXIoX2Jhc2UuRmlsdGVyKToKLSAgICBkZWYgc2xpZGVyKHNlbGYpOgotICAgICAg
ICBwcmV2aW91czEgPSBwcmV2aW91czIgPSBOb25lCi0gICAgICAgIGZvciB0b2tlbiBpbiBzZWxm
LnNvdXJjZToKLSAgICAgICAgICAgIGlmIHByZXZpb3VzMSBpcyBub3QgTm9uZToKLSAgICAgICAg
ICAgICAgICB5aWVsZCBwcmV2aW91czIsIHByZXZpb3VzMSwgdG9rZW4KLSAgICAgICAgICAgIHBy
ZXZpb3VzMiA9IHByZXZpb3VzMQotICAgICAgICAgICAgcHJldmlvdXMxID0gdG9rZW4KLSAgICAg
ICAgeWllbGQgcHJldmlvdXMyLCBwcmV2aW91czEsIE5vbmUKLQotICAgIGRlZiBfX2l0ZXJfXyhz
ZWxmKToKLSAgICAgICAgZm9yIHByZXZpb3VzLCB0b2tlbiwgbmV4dCBpbiBzZWxmLnNsaWRlcigp
OgotICAgICAgICAgICAgdHlwZSA9IHRva2VuWyJ0eXBlIl0KLSAgICAgICAgICAgIGlmIHR5cGUg
PT0gIlN0YXJ0VGFnIjoKLSAgICAgICAgICAgICAgICBpZiAodG9rZW5bImRhdGEiXSBvcgotICAg
ICAgICAgICAgICAgICAgICAgICAgbm90IHNlbGYuaXNfb3B0aW9uYWxfc3RhcnQodG9rZW5bIm5h
bWUiXSwgcHJldmlvdXMsIG5leHQpKToKLSAgICAgICAgICAgICAgICAgICAgeWllbGQgdG9rZW4K
LSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiRW5kVGFnIjoKLSAgICAgICAgICAgICAgICBpZiBu
b3Qgc2VsZi5pc19vcHRpb25hbF9lbmQodG9rZW5bIm5hbWUiXSwgbmV4dCk6Ci0gICAgICAgICAg
ICAgICAgICAgIHlpZWxkIHRva2VuCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IHlpZWxkIHRva2VuCi0KLSAgICBkZWYgaXNfb3B0aW9uYWxfc3RhcnQoc2VsZiwgdGFnbmFtZSwg
cHJldmlvdXMsIG5leHQpOgotICAgICAgICB0eXBlID0gbmV4dCBhbmQgbmV4dFsidHlwZSJdIG9y
IE5vbmUKLSAgICAgICAgaWYgdGFnbmFtZSBpbiAnaHRtbCc6Ci0gICAgICAgICAgICAjIEFuIGh0
bWwgZWxlbWVudCdzIHN0YXJ0IHRhZyBtYXkgYmUgb21pdHRlZCBpZiB0aGUgZmlyc3QgdGhpbmcK
LSAgICAgICAgICAgICMgaW5zaWRlIHRoZSBodG1sIGVsZW1lbnQgaXMgbm90IGEgc3BhY2UgY2hh
cmFjdGVyIG9yIGEgY29tbWVudC4KLSAgICAgICAgICAgIHJldHVybiB0eXBlIG5vdCBpbiAoIkNv
bW1lbnQiLCAiU3BhY2VDaGFyYWN0ZXJzIikKLSAgICAgICAgZWxpZiB0YWduYW1lID09ICdoZWFk
JzoKLSAgICAgICAgICAgICMgQSBoZWFkIGVsZW1lbnQncyBzdGFydCB0YWcgbWF5IGJlIG9taXR0
ZWQgaWYgdGhlIGZpcnN0IHRoaW5nCi0gICAgICAgICAgICAjIGluc2lkZSB0aGUgaGVhZCBlbGVt
ZW50IGlzIGFuIGVsZW1lbnQuCi0gICAgICAgICAgICAjIFhYWDogd2UgYWxzbyBvbWl0IHRoZSBz
dGFydCB0YWcgaWYgdGhlIGhlYWQgZWxlbWVudCBpcyBlbXB0eQotICAgICAgICAgICAgaWYgdHlw
ZSBpbiAoIlN0YXJ0VGFnIiwgIkVtcHR5VGFnIik6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRy
dWUKLSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiRW5kVGFnIjoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gbmV4dFsibmFtZSJdID09ICJoZWFkIgotICAgICAgICBlbGlmIHRhZ25hbWUgPT0gJ2Jv
ZHknOgotICAgICAgICAgICAgIyBBIGJvZHkgZWxlbWVudCdzIHN0YXJ0IHRhZyBtYXkgYmUgb21p
dHRlZCBpZiB0aGUgZmlyc3QgdGhpbmcKLSAgICAgICAgICAgICMgaW5zaWRlIHRoZSBib2R5IGVs
ZW1lbnQgaXMgbm90IGEgc3BhY2UgY2hhcmFjdGVyIG9yIGEgY29tbWVudCwKLSAgICAgICAgICAg
ICMgZXhjZXB0IGlmIHRoZSBmaXJzdCB0aGluZyBpbnNpZGUgdGhlIGJvZHkgZWxlbWVudCBpcyBh
IHNjcmlwdAotICAgICAgICAgICAgIyBvciBzdHlsZSBlbGVtZW50IGFuZCB0aGUgbm9kZSBpbW1l
ZGlhdGVseSBwcmVjZWRpbmcgdGhlIGJvZHkKLSAgICAgICAgICAgICMgZWxlbWVudCBpcyBhIGhl
YWQgZWxlbWVudCB3aG9zZSBlbmQgdGFnIGhhcyBiZWVuIG9taXR0ZWQuCi0gICAgICAgICAgICBp
ZiB0eXBlIGluICgiQ29tbWVudCIsICJTcGFjZUNoYXJhY3RlcnMiKToKLSAgICAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKLSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiU3RhcnRUYWciOgotICAg
ICAgICAgICAgICAgICMgWFhYOiB3ZSBkbyBub3QgbG9vayBhdCB0aGUgcHJlY2VkaW5nIGV2ZW50
LCBzbyB3ZSBuZXZlciBvbWl0Ci0gICAgICAgICAgICAgICAgIyB0aGUgYm9keSBlbGVtZW50J3Mg
c3RhcnQgdGFnIGlmIGl0J3MgZm9sbG93ZWQgYnkgYSBzY3JpcHQgb3IKLSAgICAgICAgICAgICAg
ICAjIGEgc3R5bGUgZWxlbWVudC4KLSAgICAgICAgICAgICAgICByZXR1cm4gbmV4dFsibmFtZSJd
IG5vdCBpbiAoJ3NjcmlwdCcsICdzdHlsZScpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAg
ICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIGVsaWYgdGFnbmFtZSA9PSAnY29sZ3JvdXAnOgot
ICAgICAgICAgICAgIyBBIGNvbGdyb3VwIGVsZW1lbnQncyBzdGFydCB0YWcgbWF5IGJlIG9taXR0
ZWQgaWYgdGhlIGZpcnN0IHRoaW5nCi0gICAgICAgICAgICAjIGluc2lkZSB0aGUgY29sZ3JvdXAg
ZWxlbWVudCBpcyBhIGNvbCBlbGVtZW50LCBhbmQgaWYgdGhlIGVsZW1lbnQKLSAgICAgICAgICAg
ICMgaXMgbm90IGltbWVkaWF0ZWx5IHByZWNlZWRlZCBieSBhbm90aGVyIGNvbGdyb3VwIGVsZW1l
bnQgd2hvc2UKLSAgICAgICAgICAgICMgZW5kIHRhZyBoYXMgYmVlbiBvbWl0dGVkLgotICAgICAg
ICAgICAgaWYgdHlwZSBpbiAoIlN0YXJ0VGFnIiwgIkVtcHR5VGFnIik6Ci0gICAgICAgICAgICAg
ICAgIyBYWFg6IHdlIGRvIG5vdCBsb29rIGF0IHRoZSBwcmVjZWRpbmcgZXZlbnQsIHNvIGluc3Rl
YWQgd2UgbmV2ZXIKLSAgICAgICAgICAgICAgICAjIG9taXQgdGhlIGNvbGdyb3VwIGVsZW1lbnQn
cyBlbmQgdGFnIHdoZW4gaXQgaXMgaW1tZWRpYXRlbHkKLSAgICAgICAgICAgICAgICAjIGZvbGxv
d2VkIGJ5IGFub3RoZXIgY29sZ3JvdXAgZWxlbWVudC4gU2VlIGlzX29wdGlvbmFsX2VuZC4KLSAg
ICAgICAgICAgICAgICByZXR1cm4gbmV4dFsibmFtZSJdID09ICJjb2wiCi0gICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBlbGlmIHRhZ25hbWUg
PT0gJ3Rib2R5JzoKLSAgICAgICAgICAgICMgQSB0Ym9keSBlbGVtZW50J3Mgc3RhcnQgdGFnIG1h
eSBiZSBvbWl0dGVkIGlmIHRoZSBmaXJzdCB0aGluZwotICAgICAgICAgICAgIyBpbnNpZGUgdGhl
IHRib2R5IGVsZW1lbnQgaXMgYSB0ciBlbGVtZW50LCBhbmQgaWYgdGhlIGVsZW1lbnQgaXMKLSAg
ICAgICAgICAgICMgbm90IGltbWVkaWF0ZWx5IHByZWNlZWRlZCBieSBhIHRib2R5LCB0aGVhZCwg
b3IgdGZvb3QgZWxlbWVudAotICAgICAgICAgICAgIyB3aG9zZSBlbmQgdGFnIGhhcyBiZWVuIG9t
aXR0ZWQuCi0gICAgICAgICAgICBpZiB0eXBlID09ICJTdGFydFRhZyI6Ci0gICAgICAgICAgICAg
ICAgIyBvbWl0IHRoZSB0aGVhZCBhbmQgdGZvb3QgZWxlbWVudHMnIGVuZCB0YWcgd2hlbiB0aGV5
IGFyZQotICAgICAgICAgICAgICAgICMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSB0Ym9keSBl
bGVtZW50LiBTZWUgaXNfb3B0aW9uYWxfZW5kLgotICAgICAgICAgICAgICAgIGlmIHByZXZpb3Vz
IGFuZCBwcmV2aW91c1sndHlwZSddID09ICdFbmRUYWcnIGFuZCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICBwcmV2aW91c1snbmFtZSddIGluICgndGJvZHknLCAndGhlYWQnLCAndGZvb3QnKToK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICAgICAgICAgcmV0dXJu
IG5leHRbIm5hbWUiXSA9PSAndHInCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IHJldHVybiBGYWxzZQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGRlZiBpc19vcHRpb25h
bF9lbmQoc2VsZiwgdGFnbmFtZSwgbmV4dCk6Ci0gICAgICAgIHR5cGUgPSBuZXh0IGFuZCBuZXh0
WyJ0eXBlIl0gb3IgTm9uZQotICAgICAgICBpZiB0YWduYW1lIGluICgnaHRtbCcsICdoZWFkJywg
J2JvZHknKToKLSAgICAgICAgICAgICMgQW4gaHRtbCBlbGVtZW50J3MgZW5kIHRhZyBtYXkgYmUg
b21pdHRlZCBpZiB0aGUgaHRtbCBlbGVtZW50Ci0gICAgICAgICAgICAjIGlzIG5vdCBpbW1lZGlh
dGVseSBmb2xsb3dlZCBieSBhIHNwYWNlIGNoYXJhY3RlciBvciBhIGNvbW1lbnQuCi0gICAgICAg
ICAgICByZXR1cm4gdHlwZSBub3QgaW4gKCJDb21tZW50IiwgIlNwYWNlQ2hhcmFjdGVycyIpCi0g
ICAgICAgIGVsaWYgdGFnbmFtZSBpbiAoJ2xpJywgJ29wdGdyb3VwJywgJ3RyJyk6Ci0gICAgICAg
ICAgICAjIEEgbGkgZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIGxpIGVs
ZW1lbnQgaXMKLSAgICAgICAgICAgICMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYW5vdGhlciBs
aSBlbGVtZW50IG9yIGlmIHRoZXJlIGlzCi0gICAgICAgICAgICAjIG5vIG1vcmUgY29udGVudCBp
biB0aGUgcGFyZW50IGVsZW1lbnQuCi0gICAgICAgICAgICAjIEFuIG9wdGdyb3VwIGVsZW1lbnQn
cyBlbmQgdGFnIG1heSBiZSBvbWl0dGVkIGlmIHRoZSBvcHRncm91cAotICAgICAgICAgICAgIyBl
bGVtZW50IGlzIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IGFub3RoZXIgb3B0Z3JvdXAgZWxlbWVu
dCwKLSAgICAgICAgICAgICMgb3IgaWYgdGhlcmUgaXMgbm8gbW9yZSBjb250ZW50IGluIHRoZSBw
YXJlbnQgZWxlbWVudC4KLSAgICAgICAgICAgICMgQSB0ciBlbGVtZW50J3MgZW5kIHRhZyBtYXkg
YmUgb21pdHRlZCBpZiB0aGUgdHIgZWxlbWVudCBpcwotICAgICAgICAgICAgIyBpbW1lZGlhdGVs
eSBmb2xsb3dlZCBieSBhbm90aGVyIHRyIGVsZW1lbnQsIG9yIGlmIHRoZXJlIGlzCi0gICAgICAg
ICAgICAjIG5vIG1vcmUgY29udGVudCBpbiB0aGUgcGFyZW50IGVsZW1lbnQuCi0gICAgICAgICAg
ICBpZiB0eXBlID09ICJTdGFydFRhZyI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5leHRbIm5h
bWUiXSA9PSB0YWduYW1lCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVy
biB0eXBlID09ICJFbmRUYWciIG9yIHR5cGUgaXMgTm9uZQotICAgICAgICBlbGlmIHRhZ25hbWUg
aW4gKCdkdCcsICdkZCcpOgotICAgICAgICAgICAgIyBBIGR0IGVsZW1lbnQncyBlbmQgdGFnIG1h
eSBiZSBvbWl0dGVkIGlmIHRoZSBkdCBlbGVtZW50IGlzCi0gICAgICAgICAgICAjIGltbWVkaWF0
ZWx5IGZvbGxvd2VkIGJ5IGFub3RoZXIgZHQgZWxlbWVudCBvciBhIGRkIGVsZW1lbnQuCi0gICAg
ICAgICAgICAjIEEgZGQgZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIGRk
IGVsZW1lbnQgaXMKLSAgICAgICAgICAgICMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYW5vdGhl
ciBkZCBlbGVtZW50IG9yIGEgZHQgZWxlbWVudCwKLSAgICAgICAgICAgICMgb3IgaWYgdGhlcmUg
aXMgbm8gbW9yZSBjb250ZW50IGluIHRoZSBwYXJlbnQgZWxlbWVudC4KLSAgICAgICAgICAgIGlm
IHR5cGUgPT0gIlN0YXJ0VGFnIjoKLSAgICAgICAgICAgICAgICByZXR1cm4gbmV4dFsibmFtZSJd
IGluICgnZHQnLCAnZGQnKQotICAgICAgICAgICAgZWxpZiB0YWduYW1lID09ICdkZCc6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHR5cGUgPT0gIkVuZFRhZyIgb3IgdHlwZSBpcyBOb25lCi0gICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAgICAgICBlbGlm
IHRhZ25hbWUgPT0gJ3AnOgotICAgICAgICAgICAgIyBBIHAgZWxlbWVudCdzIGVuZCB0YWcgbWF5
IGJlIG9taXR0ZWQgaWYgdGhlIHAgZWxlbWVudCBpcwotICAgICAgICAgICAgIyBpbW1lZGlhdGVs
eSBmb2xsb3dlZCBieSBhbiBhZGRyZXNzLCBhcnRpY2xlLCBhc2lkZSwKLSAgICAgICAgICAgICMg
YmxvY2txdW90ZSwgZGF0YWdyaWQsIGRpYWxvZywgZGlyLCBkaXYsIGRsLCBmaWVsZHNldCwKLSAg
ICAgICAgICAgICMgZm9vdGVyLCBmb3JtLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBoZWFkZXIs
IGhyLCBtZW51LAotICAgICAgICAgICAgIyBuYXYsIG9sLCBwLCBwcmUsIHNlY3Rpb24sIHRhYmxl
LCBvciB1bCwgZWxlbWVudCwgb3IgaWYKLSAgICAgICAgICAgICMgdGhlcmUgaXMgbm8gbW9yZSBj
b250ZW50IGluIHRoZSBwYXJlbnQgZWxlbWVudC4KLSAgICAgICAgICAgIGlmIHR5cGUgaW4gKCJT
dGFydFRhZyIsICJFbXB0eVRhZyIpOgotICAgICAgICAgICAgICAgIHJldHVybiBuZXh0WyJuYW1l
Il0gaW4gKCdhZGRyZXNzJywgJ2FydGljbGUnLCAnYXNpZGUnLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdibG9ja3F1b3RlJywgJ2RhdGFncmlkJywgJ2RpYWxvZycs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2RpcicsICdkaXYnLCAn
ZGwnLCAnZmllbGRzZXQnLCAnZm9vdGVyJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnZm9ybScsICdoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNicsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2hlYWRlcicsICdocicsICdt
ZW51JywgJ25hdicsICdvbCcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJ3AnLCAncHJlJywgJ3NlY3Rpb24nLCAndGFibGUnLCAndWwnKQotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PSAiRW5kVGFnIiBvciB0eXBlIGlzIE5v
bmUKLSAgICAgICAgZWxpZiB0YWduYW1lID09ICdvcHRpb24nOgotICAgICAgICAgICAgIyBBbiBv
cHRpb24gZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIG9wdGlvbgotICAg
ICAgICAgICAgIyBlbGVtZW50IGlzIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IGFub3RoZXIgb3B0
aW9uIGVsZW1lbnQsCi0gICAgICAgICAgICAjIG9yIGlmIGl0IGlzIGltbWVkaWF0ZWx5IGZvbGxv
d2VkIGJ5IGFuIDxjb2RlPm9wdGdyb3VwPC9jb2RlPgotICAgICAgICAgICAgIyBlbGVtZW50LCBv
ciBpZiB0aGVyZSBpcyBubyBtb3JlIGNvbnRlbnQgaW4gdGhlIHBhcmVudAotICAgICAgICAgICAg
IyBlbGVtZW50LgotICAgICAgICAgICAgaWYgdHlwZSA9PSAiU3RhcnRUYWciOgotICAgICAgICAg
ICAgICAgIHJldHVybiBuZXh0WyJuYW1lIl0gaW4gKCdvcHRpb24nLCAnb3B0Z3JvdXAnKQotICAg
ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PSAiRW5kVGFnIiBv
ciB0eXBlIGlzIE5vbmUKLSAgICAgICAgZWxpZiB0YWduYW1lIGluICgncnQnLCAncnAnKToKLSAg
ICAgICAgICAgICMgQW4gcnQgZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhl
IHJ0IGVsZW1lbnQgaXMKLSAgICAgICAgICAgICMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYW4g
cnQgb3IgcnAgZWxlbWVudCwgb3IgaWYgdGhlcmUgaXMKLSAgICAgICAgICAgICMgbm8gbW9yZSBj
b250ZW50IGluIHRoZSBwYXJlbnQgZWxlbWVudC4KLSAgICAgICAgICAgICMgQW4gcnAgZWxlbWVu
dCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIHJwIGVsZW1lbnQgaXMKLSAgICAgICAg
ICAgICMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYW4gcnQgb3IgcnAgZWxlbWVudCwgb3IgaWYg
dGhlcmUgaXMKLSAgICAgICAgICAgICMgbm8gbW9yZSBjb250ZW50IGluIHRoZSBwYXJlbnQgZWxl
bWVudC4KLSAgICAgICAgICAgIGlmIHR5cGUgPT0gIlN0YXJ0VGFnIjoKLSAgICAgICAgICAgICAg
ICByZXR1cm4gbmV4dFsibmFtZSJdIGluICgncnQnLCAncnAnKQotICAgICAgICAgICAgZWxzZToK
LSAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PSAiRW5kVGFnIiBvciB0eXBlIGlzIE5vbmUK
LSAgICAgICAgZWxpZiB0YWduYW1lID09ICdjb2xncm91cCc6Ci0gICAgICAgICAgICAjIEEgY29s
Z3JvdXAgZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIGNvbGdyb3VwCi0g
ICAgICAgICAgICAjIGVsZW1lbnQgaXMgbm90IGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IGEgc3Bh
Y2UgY2hhcmFjdGVyIG9yCi0gICAgICAgICAgICAjIGEgY29tbWVudC4KLSAgICAgICAgICAgIGlm
IHR5cGUgaW4gKCJDb21tZW50IiwgIlNwYWNlQ2hhcmFjdGVycyIpOgotICAgICAgICAgICAgICAg
IHJldHVybiBGYWxzZQotICAgICAgICAgICAgZWxpZiB0eXBlID09ICJTdGFydFRhZyI6Ci0gICAg
ICAgICAgICAgICAgIyBYWFg6IHdlIGFsc28gbG9vayBmb3IgYW4gaW1tZWRpYXRlbHkgZm9sbG93
aW5nIGNvbGdyb3VwCi0gICAgICAgICAgICAgICAgIyBlbGVtZW50LiBTZWUgaXNfb3B0aW9uYWxf
c3RhcnQuCi0gICAgICAgICAgICAgICAgcmV0dXJuIG5leHRbIm5hbWUiXSAhPSAnY29sZ3JvdXAn
Ci0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAg
IGVsaWYgdGFnbmFtZSBpbiAoJ3RoZWFkJywgJ3Rib2R5Jyk6Ci0gICAgICAgICAgICAjIEEgdGhl
YWQgZWxlbWVudCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIHRoZWFkIGVsZW1lbnQK
LSAgICAgICAgICAgICMgaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSB0Ym9keSBvciB0Zm9v
dCBlbGVtZW50LgotICAgICAgICAgICAgIyBBIHRib2R5IGVsZW1lbnQncyBlbmQgdGFnIG1heSBi
ZSBvbWl0dGVkIGlmIHRoZSB0Ym9keSBlbGVtZW50Ci0gICAgICAgICAgICAjIGlzIGltbWVkaWF0
ZWx5IGZvbGxvd2VkIGJ5IGEgdGJvZHkgb3IgdGZvb3QgZWxlbWVudCwgb3IgaWYKLSAgICAgICAg
ICAgICMgdGhlcmUgaXMgbm8gbW9yZSBjb250ZW50IGluIHRoZSBwYXJlbnQgZWxlbWVudC4KLSAg
ICAgICAgICAgICMgQSB0Zm9vdCBlbGVtZW50J3MgZW5kIHRhZyBtYXkgYmUgb21pdHRlZCBpZiB0
aGUgdGZvb3QgZWxlbWVudAotICAgICAgICAgICAgIyBpcyBpbW1lZGlhdGVseSBmb2xsb3dlZCBi
eSBhIHRib2R5IGVsZW1lbnQsIG9yIGlmIHRoZXJlIGlzIG5vCi0gICAgICAgICAgICAjIG1vcmUg
Y29udGVudCBpbiB0aGUgcGFyZW50IGVsZW1lbnQuCi0gICAgICAgICAgICAjIFhYWDogd2UgbmV2
ZXIgb21pdCB0aGUgZW5kIHRhZyB3aGVuIHRoZSBmb2xsb3dpbmcgZWxlbWVudCBpcwotICAgICAg
ICAgICAgIyBhIHRib2R5LiBTZWUgaXNfb3B0aW9uYWxfc3RhcnQuCi0gICAgICAgICAgICBpZiB0
eXBlID09ICJTdGFydFRhZyI6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG5leHRbIm5hbWUiXSBp
biBbJ3Rib2R5JywgJ3Rmb290J10KLSAgICAgICAgICAgIGVsaWYgdGFnbmFtZSA9PSAndGJvZHkn
OgotICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09ICJFbmRUYWciIG9yIHR5cGUgaXMgTm9u
ZQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAgICAg
ICAgZWxpZiB0YWduYW1lID09ICd0Zm9vdCc6Ci0gICAgICAgICAgICAjIEEgdGZvb3QgZWxlbWVu
dCdzIGVuZCB0YWcgbWF5IGJlIG9taXR0ZWQgaWYgdGhlIHRmb290IGVsZW1lbnQKLSAgICAgICAg
ICAgICMgaXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgYSB0Ym9keSBlbGVtZW50LCBvciBpZiB0
aGVyZSBpcyBubwotICAgICAgICAgICAgIyBtb3JlIGNvbnRlbnQgaW4gdGhlIHBhcmVudCBlbGVt
ZW50LgotICAgICAgICAgICAgIyBYWFg6IHdlIG5ldmVyIG9taXQgdGhlIGVuZCB0YWcgd2hlbiB0
aGUgZm9sbG93aW5nIGVsZW1lbnQgaXMKLSAgICAgICAgICAgICMgYSB0Ym9keS4gU2VlIGlzX29w
dGlvbmFsX3N0YXJ0LgotICAgICAgICAgICAgaWYgdHlwZSA9PSAiU3RhcnRUYWciOgotICAgICAg
ICAgICAgICAgIHJldHVybiBuZXh0WyJuYW1lIl0gPT0gJ3Rib2R5JwotICAgICAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PSAiRW5kVGFnIiBvciB0eXBlIGlzIE5v
bmUKLSAgICAgICAgZWxpZiB0YWduYW1lIGluICgndGQnLCAndGgnKToKLSAgICAgICAgICAgICMg
QSB0ZCBlbGVtZW50J3MgZW5kIHRhZyBtYXkgYmUgb21pdHRlZCBpZiB0aGUgdGQgZWxlbWVudCBp
cwotICAgICAgICAgICAgIyBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIHRkIG9yIHRoIGVsZW1l
bnQsIG9yIGlmIHRoZXJlIGlzCi0gICAgICAgICAgICAjIG5vIG1vcmUgY29udGVudCBpbiB0aGUg
cGFyZW50IGVsZW1lbnQuCi0gICAgICAgICAgICAjIEEgdGggZWxlbWVudCdzIGVuZCB0YWcgbWF5
IGJlIG9taXR0ZWQgaWYgdGhlIHRoIGVsZW1lbnQgaXMKLSAgICAgICAgICAgICMgaW1tZWRpYXRl
bHkgZm9sbG93ZWQgYnkgYSB0ZCBvciB0aCBlbGVtZW50LCBvciBpZiB0aGVyZSBpcwotICAgICAg
ICAgICAgIyBubyBtb3JlIGNvbnRlbnQgaW4gdGhlIHBhcmVudCBlbGVtZW50LgotICAgICAgICAg
ICAgaWYgdHlwZSA9PSAiU3RhcnRUYWciOgotICAgICAgICAgICAgICAgIHJldHVybiBuZXh0WyJu
YW1lIl0gaW4gKCd0ZCcsICd0aCcpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IHJldHVybiB0eXBlID09ICJFbmRUYWciIG9yIHR5cGUgaXMgTm9uZQotICAgICAgICByZXR1cm4g
RmFsc2UKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9zYW5pdGl6ZXIucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL2ZpbHRlcnMvc2FuaXRpemVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiMjA2YjU0ZTdhNzRmYmNmYzBlYmQ1ODBkYzNkMjU1ZmQ0ZTc1NDU2Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9zYW5p
dGl6ZXIucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18g
aW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotZnJv
bSAuIGltcG9ydCBfYmFzZQotZnJvbSAuLnNhbml0aXplciBpbXBvcnQgSFRNTFNhbml0aXplck1p
eGluCi0KLQotY2xhc3MgRmlsdGVyKF9iYXNlLkZpbHRlciwgSFRNTFNhbml0aXplck1peGluKToK
LSAgICBkZWYgX19pdGVyX18oc2VsZik6Ci0gICAgICAgIGZvciB0b2tlbiBpbiBfYmFzZS5GaWx0
ZXIuX19pdGVyX18oc2VsZik6Ci0gICAgICAgICAgICB0b2tlbiA9IHNlbGYuc2FuaXRpemVfdG9r
ZW4odG9rZW4pCi0gICAgICAgICAgICBpZiB0b2tlbjoKLSAgICAgICAgICAgICAgICB5aWVsZCB0
b2tlbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3czYy1pbXBvcnQubG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi9maWx0ZXJzL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1MjMwMjRhNGFiZWQ1YmRkMjdlM2NkMmVhZGFhNTRhNDUyMzgzYzk0Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy93
M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDI0ICswLDAgQEAKLVRoZSB0ZXN0cyBp
biB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20gdGhlIFczQyByZXBvc2l0b3J5Lgot
RG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBj
cmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRodWI6Ci0JaHR0cHM6Ly9naXRodWIu
Y29tL3czYy93ZWItcGxhdGZvcm0tdGVzdHMKLQotVGhlbiBydW4gdGhlIFRvb2xzL1NjcmlwdHMv
aW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBvcnQKLQotRG8gTk9UIG1vZGlmeSBv
ciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVByb3BlcnRpZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5IHZhbHVlcyByZXF1aXJpbmcgdmVu
ZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1MaXN0IG9mIGZpbGVzOgotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvZmlsdGVycy9fX2luaXRfXy5weQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9fYmFzZS5w
eQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvZmlsdGVycy9hbHBoYWJldGljYWxhdHRyaWJ1dGVzLnB5Ci0vTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi9maWx0ZXJzL2luamVjdF9tZXRhX2NoYXJzZXQucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL2ZpbHRlcnMv
bGludC5weQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy9vcHRpb25hbHRhZ3MucHkKLS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L2ZpbHRlcnMvc2FuaXRpemVyLnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3doaXRlc3BhY2UucHkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvZmlsdGVycy93aGl0ZXNwYWNlLnB5IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi9maWx0ZXJzL3doaXRlc3BhY2UucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRm
YzYwZWViZDM1YmQ2NDUwZDgyY2Y2NWFiY2JlZGNhOGY4ZmI5ZGEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9maWx0ZXJzL3doaXRlc3Bh
Y2UucHkKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1w
b3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotaW1wb3J0
IHJlCi0KLWZyb20gLiBpbXBvcnQgX2Jhc2UKLWZyb20gLi5jb25zdGFudHMgaW1wb3J0IHJjZGF0
YUVsZW1lbnRzLCBzcGFjZUNoYXJhY3RlcnMKLXNwYWNlQ2hhcmFjdGVycyA9ICIiLmpvaW4oc3Bh
Y2VDaGFyYWN0ZXJzKQotCi1TUEFDRVNfUkVHRVggPSByZS5jb21waWxlKCJbJXNdKyIgJSBzcGFj
ZUNoYXJhY3RlcnMpCi0KLQotY2xhc3MgRmlsdGVyKF9iYXNlLkZpbHRlcik6Ci0KLSAgICBzcGFj
ZVByZXNlcnZlRWxlbWVudHMgPSBmcm96ZW5zZXQoWyJwcmUiLCAidGV4dGFyZWEiXSArIGxpc3Qo
cmNkYXRhRWxlbWVudHMpKQotCi0gICAgZGVmIF9faXRlcl9fKHNlbGYpOgotICAgICAgICBwcmVz
ZXJ2ZSA9IDAKLSAgICAgICAgZm9yIHRva2VuIGluIF9iYXNlLkZpbHRlci5fX2l0ZXJfXyhzZWxm
KToKLSAgICAgICAgICAgIHR5cGUgPSB0b2tlblsidHlwZSJdCi0gICAgICAgICAgICBpZiB0eXBl
ID09ICJTdGFydFRhZyIgXAotICAgICAgICAgICAgICAgICAgICBhbmQgKHByZXNlcnZlIG9yIHRv
a2VuWyJuYW1lIl0gaW4gc2VsZi5zcGFjZVByZXNlcnZlRWxlbWVudHMpOgotICAgICAgICAgICAg
ICAgIHByZXNlcnZlICs9IDEKLQotICAgICAgICAgICAgZWxpZiB0eXBlID09ICJFbmRUYWciIGFu
ZCBwcmVzZXJ2ZToKLSAgICAgICAgICAgICAgICBwcmVzZXJ2ZSAtPSAxCi0KLSAgICAgICAgICAg
IGVsaWYgbm90IHByZXNlcnZlIGFuZCB0eXBlID09ICJTcGFjZUNoYXJhY3RlcnMiIGFuZCB0b2tl
blsiZGF0YSJdOgotICAgICAgICAgICAgICAgICMgVGVzdCBvbiB0b2tlblsiZGF0YSJdIGFib3Zl
IHRvIG5vdCBpbnRyb2R1Y2Ugc3BhY2VzIHdoZXJlIHRoZXJlIHdlcmUgbm90Ci0gICAgICAgICAg
ICAgICAgdG9rZW5bImRhdGEiXSA9ICIgIgotCi0gICAgICAgICAgICBlbGlmIG5vdCBwcmVzZXJ2
ZSBhbmQgdHlwZSA9PSAiQ2hhcmFjdGVycyI6Ci0gICAgICAgICAgICAgICAgdG9rZW5bImRhdGEi
XSA9IGNvbGxhcHNlX3NwYWNlcyh0b2tlblsiZGF0YSJdKQotCi0gICAgICAgICAgICB5aWVsZCB0
b2tlbgotCi0KLWRlZiBjb2xsYXBzZV9zcGFjZXModGV4dCk6Ci0gICAgcmV0dXJuIFNQQUNFU19S
RUdFWC5zdWIoJyAnLCB0ZXh0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJpYWxpemVyL3cz
Yy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9zZXJpYWxpemVyL3czYy1pbXBvcnQubG9nCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZDFiOWJhNjcyZDVjNjU4ZGUwOTEwMjAxNmU0OTZm
YTA2Yzk2MWJlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvc2VyaWFsaXplci93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0x
LDE4ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZy
b20gdGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3Rs
eSBpbiBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBn
aXRodWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhl
biBydW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVp
bXBvcnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3Bl
cnR5IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvc2VyaWFsaXplci9fX2luaXRfXy5weWMK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3NlcmlhbGl6ZXIvaHRtbHNlcmlhbGl6ZXIucHljCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3Rlc3RzL1JFQURNRSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvUkVBRE1FCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNTY0YjY4MzZlNDZjOTdiYmM0NDc3ZDM1MTBjZTkxN2I2
YjMwMzRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvdGVzdHMvUkVBRE1FCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotRWFjaCB0
ZXN0Y2FzZSBmaWxlIGNhbiBiZSBydW4gdGhyb3VnaCBub3NlICh1c2luZyBgYG5vc2V0ZXN0c2Bg
KS4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rl
c3RzL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9fX2luaXRfXy5weQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYjhjZTJkZTMyZTVmYTQyYjNiNmEyN2JkODNmYmYwNTBiMTdl
Y2FkMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL19faW5pdF9fLnB5CisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotZnJv
bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xp
dGVyYWxzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL21vY2tQYXJzZXIucHkgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL21vY2tQYXJzZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGVmMzE1MjdlODJkZjk1MmI4N2QwM2U0NTJmNzEzNjAzODQ4OGI3YjIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9tb2NrUGFy
c2VyLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGlt
cG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0KLWltcG9y
dCBzeXMKLWltcG9ydCBvcwotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAgICMgQWxs
b3cgdXMgdG8gaW1wb3J0IGZyb20gdGhlIHNyYyBkaXJlY3RvcnkKLSAgICBvcy5jaGRpcihvcy5w
YXRoLnNwbGl0KG9zLnBhdGguYWJzcGF0aChfX2ZpbGVfXykpWzBdKQotICAgIHN5cy5wYXRoLmlu
c2VydCgwLCBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhcmRpciwgInNyYyIpKSkK
LQotZnJvbSBodG1sNWxpYi50b2tlbml6ZXIgaW1wb3J0IEhUTUxUb2tlbml6ZXIKLQotCi1jbGFz
cyBIVE1MUGFyc2VyKG9iamVjdCk6Ci0gICAgIiIiIEZha2UgcGFyc2VyIHRvIHRlc3QgdG9rZW5p
emVyIG91dHB1dCAiIiIKLSAgICBkZWYgcGFyc2Uoc2VsZiwgc3RyZWFtLCBvdXRwdXQ9VHJ1ZSk6
Ci0gICAgICAgIHRva2VuaXplciA9IEhUTUxUb2tlbml6ZXIoc3RyZWFtKQotICAgICAgICBmb3Ig
dG9rZW4gaW4gdG9rZW5pemVyOgotICAgICAgICAgICAgaWYgb3V0cHV0OgotICAgICAgICAgICAg
ICAgIHByaW50KHRva2VuKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHggPSBI
VE1MUGFyc2VyKCkKLSAgICBpZiBsZW4oc3lzLmFyZ3YpID4gMToKLSAgICAgICAgaWYgbGVuKHN5
cy5hcmd2KSA+IDI6Ci0gICAgICAgICAgICBpbXBvcnQgaG90c2hvdAotICAgICAgICAgICAgaW1w
b3J0IGhvdHNob3Quc3RhdHMKLSAgICAgICAgICAgIHByb2YgPSBob3RzaG90LlByb2ZpbGUoJ3N0
YXRzLnByb2YnKQotICAgICAgICAgICAgcHJvZi5ydW5jYWxsKHgucGFyc2UsIHN5cy5hcmd2WzFd
LCBGYWxzZSkKLSAgICAgICAgICAgIHByb2YuY2xvc2UoKQotICAgICAgICAgICAgc3RhdHMgPSBo
b3RzaG90LnN0YXRzLmxvYWQoJ3N0YXRzLnByb2YnKQotICAgICAgICAgICAgc3RhdHMuc3RyaXBf
ZGlycygpCi0gICAgICAgICAgICBzdGF0cy5zb3J0X3N0YXRzKCd0aW1lJykKLSAgICAgICAgICAg
IHN0YXRzLnByaW50X3N0YXRzKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHgucGFyc2Uo
c3lzLmFyZ3ZbMV0pCi0gICAgZWxzZToKLSAgICAgICAgcHJpbnQoIiIiVXNhZ2U6IHB5dGhvbiBt
b2NrUGFyc2VyLnB5IGZpbGVuYW1lIFtzdGF0c10KLSAgICAgICAgSWYgc3RhdHMgaXMgc3BlY2lm
aWVkIHRoZSBob3RzaG90cyBwcm9maWxlciB3aWxsIHJ1biBhbmQgb3V0cHV0IHRoZQotICAgICAg
ICBzdGF0cyBpbnN0ZWFkLgotICAgICAgICAiIiIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rl
c3RzL3BlcmZvcm1hbmNlL2NvbmNhdGVuYXRpb24ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZv
cm1hbmNlL2NvbmNhdGVuYXRpb24ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEx
NDY1MDM2ZTUyYjE1ZTE1YWY0MGI0MzhiOTg5OWE5ZmRmNDUzNzAuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5j
ZS9jb25jYXRlbmF0aW9uLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotZnJvbSBf
X2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVy
YWxzCi0KLQotZGVmIGYxKCk6Ci0gICAgeCA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWkFC
Q0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgotICAgIHkgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RV
VldYWVpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIKLSAgICB6ID0gIkFCQ0RFRkdISUpLTE1O
T1BRUlNUVVZXWFlaQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCi0gICAgeCArPSB5ICsgegot
Ci0KLWRlZiBmMigpOgotICAgIHggPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpBQkNERUZH
SElKS0xNTk9QUVJTVFVWV1hZWiIKLSAgICB5ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla
QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCi0gICAgeiA9ICJBQkNERUZHSElKS0xNTk9QUVJT
VFVWV1hZWkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgotICAgIHggPSB4ICsgeSArIHoKLQot
Ci1kZWYgZjMoKToKLSAgICB4ID0gIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaQUJDREVGR0hJ
SktMTU5PUFFSU1RVVldYWVoiCi0gICAgeSA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWkFC
Q0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgotICAgIHogPSAiQUJDREVGR0hJSktMTU5PUFFSU1RV
VldYWVpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIKLSAgICB4ID0gIiIuam9pbigoeCwgeSwg
eikpCi0KLQotZGVmIGY0KCk6Ci0gICAgeCA9ICJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWkFC
Q0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIgotICAgIHkgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RV
VldYWVpBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIKLSAgICB6ID0gIkFCQ0RFRkdISUpLTE1O
T1BRUlNUVVZXWFlaQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiCi0gICAgeCA9ICIlcyVzJXMi
ICUgKHgsIHksIHopCi0KLWltcG9ydCB0aW1laXQKLWZvciB4IGluIHJhbmdlKDQpOgotICAgIHN0
YXRlbWVudCA9ICJmJXMiICUgKHggKyAxKQotICAgIHQgPSB0aW1laXQuVGltZXIoc3RhdGVtZW50
LCAiZnJvbSBfX21haW5fXyBpbXBvcnQgIiArIHN0YXRlbWVudCkKLSAgICByID0gdC5yZXBlYXQo
MywgMTAwMDAwMCkKLSAgICBwcmludChyLCBtaW4ocikpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGli
L3Rlc3RzL3BlcmZvcm1hbmNlL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9wZXJm
b3JtYW5jZS93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzY3
MGVmOWY5YTAzZWVkYTM3YzQ5MTNkOGQ5NGU1ZmY5NmFlYTQ5My4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3BlcmZvcm1hbmNl
L3czYy1pbXBvcnQubG9nCisrKyAvZGV2L251bGwKQEAgLTEsMTcgKzAsMCBAQAotVGhlIHRlc3Rz
IGluIHRoaXMgZGlyZWN0b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnku
Ci1EbyBOT1QgbW9kaWZ5IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQs
IGNyZWF0ZSBhIHB1bGwgcmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1
Yi5jb20vdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0
cy9pbXBvcnQtdzNjLXRlc3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5
IG9yIHJlbW92ZSB0aGlzIGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1
aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2
ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0v
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi9odG1sNWxpYi90ZXN0cy9wZXJmb3JtYW5jZS9jb25jYXRlbmF0aW9uLnB5CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3N1cHBvcnQucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3N1cHBvcnQu
cHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQxZjJkMmEwNzJkN2ExMjEyNzlkYWUw
MzAwZDkwNGIxY2Q1NmUwODYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy9zdXBwb3J0LnB5CisrKyAvZGV2L251bGwKQEAgLTEs
MTc3ICswLDAgQEAKLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZp
c2lvbiwgdW5pY29kZV9saXRlcmFscwotCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLWltcG9ydCBj
b2RlY3MKLWltcG9ydCBnbG9iCi1pbXBvcnQgeG1sLnNheC5oYW5kbGVyCi0KLWJhc2VfcGF0aCA9
IG9zLnBhdGguc3BsaXQoX19maWxlX18pWzBdCi0KLXRlc3RfZGlyID0gb3MucGF0aC5qb2luKGJh
c2VfcGF0aCwgJ3Rlc3RkYXRhJykKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmFic3BhdGgo
b3MucGF0aC5qb2luKGJhc2VfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIG9zLnBhdGgucGFyZGlyLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5wYXJkaXIpKSkKLQotZnJvbSBodG1sNWxp
YiBpbXBvcnQgdHJlZWJ1aWxkZXJzCi1kZWwgYmFzZV9wYXRoCi0KLSMgQnVpbGQgYSBkaWN0IG9m
IGF2YWxpYWJsZSB0cmVlcwotdHJlZVR5cGVzID0geyJET00iOiB0cmVlYnVpbGRlcnMuZ2V0VHJl
ZUJ1aWxkZXIoImRvbSIpfQotCi0jIFRyeSB3aGF0ZXZlciBldHJlZSBpbXBsZW1lbnRhdGlvbnMg
YXJlIGF2YWxpYWJsZSBmcm9tIGEgbGlzdCB0aGF0IGFyZQotIyJzdXBwb3NlZCIgdG8gd29yawot
dHJ5OgotICAgIGltcG9ydCB4bWwuZXRyZWUuRWxlbWVudFRyZWUgYXMgRWxlbWVudFRyZWUKLSAg
ICB0cmVlVHlwZXNbJ0VsZW1lbnRUcmVlJ10gPSB0cmVlYnVpbGRlcnMuZ2V0VHJlZUJ1aWxkZXIo
ImV0cmVlIiwgRWxlbWVudFRyZWUsIGZ1bGxUcmVlPVRydWUpCi1leGNlcHQgSW1wb3J0RXJyb3I6
Ci0gICAgdHJ5OgotICAgICAgICBpbXBvcnQgZWxlbWVudHRyZWUuRWxlbWVudFRyZWUgYXMgRWxl
bWVudFRyZWUKLSAgICAgICAgdHJlZVR5cGVzWydFbGVtZW50VHJlZSddID0gdHJlZWJ1aWxkZXJz
LmdldFRyZWVCdWlsZGVyKCJldHJlZSIsIEVsZW1lbnRUcmVlLCBmdWxsVHJlZT1UcnVlKQotICAg
IGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgcGFzcwotCi10cnk6Ci0gICAgaW1wb3J0IHht
bC5ldHJlZS5jRWxlbWVudFRyZWUgYXMgY0VsZW1lbnRUcmVlCi0gICAgdHJlZVR5cGVzWydjRWxl
bWVudFRyZWUnXSA9IHRyZWVidWlsZGVycy5nZXRUcmVlQnVpbGRlcigiZXRyZWUiLCBjRWxlbWVu
dFRyZWUsIGZ1bGxUcmVlPVRydWUpCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgdHJ5OgotICAg
ICAgICBpbXBvcnQgY0VsZW1lbnRUcmVlCi0gICAgICAgIHRyZWVUeXBlc1snY0VsZW1lbnRUcmVl
J10gPSB0cmVlYnVpbGRlcnMuZ2V0VHJlZUJ1aWxkZXIoImV0cmVlIiwgY0VsZW1lbnRUcmVlLCBm
dWxsVHJlZT1UcnVlKQotICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgcGFzcwotCi10
cnk6Ci0gICAgaW1wb3J0IGx4bWwuZXRyZWUgYXMgbHhtbCAgIyBmbGFrZTg6IG5vcWEKLWV4Y2Vw
dCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi1lbHNlOgotICAgIHRyZWVUeXBlc1snbHhtbCddID0g
dHJlZWJ1aWxkZXJzLmdldFRyZWVCdWlsZGVyKCJseG1sIikKLQotCi1kZWYgZ2V0X2RhdGFfZmls
ZXMoc3ViZGlyZWN0b3J5LCBmaWxlcz0nKi5kYXQnKToKLSAgICByZXR1cm4gZ2xvYi5nbG9iKG9z
LnBhdGguam9pbih0ZXN0X2Rpciwgc3ViZGlyZWN0b3J5LCBmaWxlcykpCi0KLQotY2xhc3MgRGVm
YXVsdERpY3QoZGljdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGRlZmF1bHQsICphcmdzLCAq
Kmt3YXJncyk6Ci0gICAgICAgIHNlbGYuZGVmYXVsdCA9IGRlZmF1bHQKLSAgICAgICAgZGljdC5f
X2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpCi0KLSAgICBkZWYgX19nZXRpdGVtX18oc2Vs
Ziwga2V5KToKLSAgICAgICAgcmV0dXJuIGRpY3QuZ2V0KHNlbGYsIGtleSwgc2VsZi5kZWZhdWx0
KQotCi0KLWNsYXNzIFRlc3REYXRhKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGZp
bGVuYW1lLCBuZXdUZXN0SGVhZGluZz0iZGF0YSIsIGVuY29kaW5nPSJ1dGY4Iik6Ci0gICAgICAg
IGlmIGVuY29kaW5nIGlzIE5vbmU6Ci0gICAgICAgICAgICBzZWxmLmYgPSBvcGVuKGZpbGVuYW1l
LCBtb2RlPSJyYiIpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzZWxmLmYgPSBjb2RlY3Mu
b3BlbihmaWxlbmFtZSwgZW5jb2Rpbmc9ZW5jb2RpbmcpCi0gICAgICAgIHNlbGYuZW5jb2Rpbmcg
PSBlbmNvZGluZwotICAgICAgICBzZWxmLm5ld1Rlc3RIZWFkaW5nID0gbmV3VGVzdEhlYWRpbmcK
LQotICAgIGRlZiBfX2RlbF9fKHNlbGYpOgotICAgICAgICBzZWxmLmYuY2xvc2UoKQotCi0gICAg
ZGVmIF9faXRlcl9fKHNlbGYpOgotICAgICAgICBkYXRhID0gRGVmYXVsdERpY3QoTm9uZSkKLSAg
ICAgICAga2V5ID0gTm9uZQotICAgICAgICBmb3IgbGluZSBpbiBzZWxmLmY6Ci0gICAgICAgICAg
ICBoZWFkaW5nID0gc2VsZi5pc1NlY3Rpb25IZWFkaW5nKGxpbmUpCi0gICAgICAgICAgICBpZiBo
ZWFkaW5nOgotICAgICAgICAgICAgICAgIGlmIGRhdGEgYW5kIGhlYWRpbmcgPT0gc2VsZi5uZXdU
ZXN0SGVhZGluZzoKLSAgICAgICAgICAgICAgICAgICAgIyBSZW1vdmUgdHJhaWxpbmcgbmV3bGlu
ZQotICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBkYXRhW2tleV1bOi0xXQotICAgICAg
ICAgICAgICAgICAgICB5aWVsZCBzZWxmLm5vcm1hbGlzZU91dHB1dChkYXRhKQotICAgICAgICAg
ICAgICAgICAgICBkYXRhID0gRGVmYXVsdERpY3QoTm9uZSkKLSAgICAgICAgICAgICAgICBrZXkg
PSBoZWFkaW5nCi0gICAgICAgICAgICAgICAgZGF0YVtrZXldID0gIiIgaWYgc2VsZi5lbmNvZGlu
ZyBlbHNlIGIiIgotICAgICAgICAgICAgZWxpZiBrZXkgaXMgbm90IE5vbmU6Ci0gICAgICAgICAg
ICAgICAgZGF0YVtrZXldICs9IGxpbmUKLSAgICAgICAgaWYgZGF0YToKLSAgICAgICAgICAgIHlp
ZWxkIHNlbGYubm9ybWFsaXNlT3V0cHV0KGRhdGEpCi0KLSAgICBkZWYgaXNTZWN0aW9uSGVhZGlu
ZyhzZWxmLCBsaW5lKToKLSAgICAgICAgIiIiSWYgdGhlIGN1cnJlbnQgaGVhZGluZyBpcyBhIHRl
c3Qgc2VjdGlvbiBoZWFkaW5nIHJldHVybiB0aGUgaGVhZGluZywKLSAgICAgICAgb3RoZXJ3aXNl
IHJldHVybiBGYWxzZSIiIgotICAgICAgICAjIHByaW50KGxpbmUpCi0gICAgICAgIGlmIGxpbmUu
c3RhcnRzd2l0aCgiIyIgaWYgc2VsZi5lbmNvZGluZyBlbHNlIGIiIyIpOgotICAgICAgICAgICAg
cmV0dXJuIGxpbmVbMTpdLnN0cmlwKCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJldHVy
biBGYWxzZQotCi0gICAgZGVmIG5vcm1hbGlzZU91dHB1dChzZWxmLCBkYXRhKToKLSAgICAgICAg
IyBSZW1vdmUgdHJhaWxpbmcgbmV3bGluZXMKLSAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gZGF0
YS5pdGVtcygpOgotICAgICAgICAgICAgaWYgdmFsdWUuZW5kc3dpdGgoIlxuIiBpZiBzZWxmLmVu
Y29kaW5nIGVsc2UgYiJcbiIpOgotICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlWzot
MV0KLSAgICAgICAgcmV0dXJuIGRhdGEKLQotCi1kZWYgY29udmVydChzdHJpcENoYXJzKToKLSAg
ICBkZWYgY29udmVydERhdGEoZGF0YSk6Ci0gICAgICAgICIiImNvbnZlcnQgdGhlIG91dHB1dCBv
ZiBzdHIoZG9jdW1lbnQpIHRvIHRoZSBmb3JtYXQgdXNlZCBpbiB0aGUgdGVzdGNhc2VzIiIiCi0g
ICAgICAgIGRhdGEgPSBkYXRhLnNwbGl0KCJcbiIpCi0gICAgICAgIHJ2ID0gW10KLSAgICAgICAg
Zm9yIGxpbmUgaW4gZGF0YToKLSAgICAgICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgifCIpOgot
ICAgICAgICAgICAgICAgIHJ2LmFwcGVuZChsaW5lW3N0cmlwQ2hhcnM6XSkKLSAgICAgICAgICAg
IGVsc2U6Ci0gICAgICAgICAgICAgICAgcnYuYXBwZW5kKGxpbmUpCi0gICAgICAgIHJldHVybiAi
XG4iLmpvaW4ocnYpCi0gICAgcmV0dXJuIGNvbnZlcnREYXRhCi0KLWNvbnZlcnRFeHBlY3RlZCA9
IGNvbnZlcnQoMikKLQotCi1kZWYgZXJyb3JNZXNzYWdlKGlucHV0LCBleHBlY3RlZCwgYWN0dWFs
KToKLSAgICBtc2cgPSAoIklucHV0OlxuJXNcbkV4cGVjdGVkOlxuJXNcblJlY2lldmVkXG4lc1xu
IiAlCi0gICAgICAgICAgIChyZXByKGlucHV0KSwgcmVwcihleHBlY3RlZCksIHJlcHIoYWN0dWFs
KSkpCi0gICAgaWYgc3lzLnZlcnNpb25faW5mby5tYWpvciA9PSAyOgotICAgICAgICBtc2cgPSBt
c2cuZW5jb2RlKCJhc2NpaSIsICJiYWNrc2xhc2hyZXBsYWNlIikKLSAgICByZXR1cm4gbXNnCi0K
LQotY2xhc3MgVHJhY2luZ1NheEhhbmRsZXIoeG1sLnNheC5oYW5kbGVyLkNvbnRlbnRIYW5kbGVy
KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHhtbC5zYXguaGFuZGxlci5Db250
ZW50SGFuZGxlci5fX2luaXRfXyhzZWxmKQotICAgICAgICBzZWxmLnZpc2l0ZWQgPSBbXQotCi0g
ICAgZGVmIHN0YXJ0RG9jdW1lbnQoc2VsZik6Ci0gICAgICAgIHNlbGYudmlzaXRlZC5hcHBlbmQo
J3N0YXJ0RG9jdW1lbnQnKQotCi0gICAgZGVmIGVuZERvY3VtZW50KHNlbGYpOgotICAgICAgICBz
ZWxmLnZpc2l0ZWQuYXBwZW5kKCdlbmREb2N1bWVudCcpCi0KLSAgICBkZWYgc3RhcnRQcmVmaXhN
YXBwaW5nKHNlbGYsIHByZWZpeCwgdXJpKToKLSAgICAgICAgIyBUaGVzZSBhcmUgaWdub3JlZCBh
cyB0aGVpciBvcmRlciBpcyBub3QgZ3VhcmFudGVlZAotICAgICAgICBwYXNzCi0KLSAgICBkZWYg
ZW5kUHJlZml4TWFwcGluZyhzZWxmLCBwcmVmaXgpOgotICAgICAgICAjIFRoZXNlIGFyZSBpZ25v
cmVkIGFzIHRoZWlyIG9yZGVyIGlzIG5vdCBndWFyYW50ZWVkCi0gICAgICAgIHBhc3MKLQotICAg
IGRlZiBzdGFydEVsZW1lbnQoc2VsZiwgbmFtZSwgYXR0cnMpOgotICAgICAgICBzZWxmLnZpc2l0
ZWQuYXBwZW5kKCgnc3RhcnRFbGVtZW50JywgbmFtZSwgYXR0cnMpKQotCi0gICAgZGVmIGVuZEVs
ZW1lbnQoc2VsZiwgbmFtZSk6Ci0gICAgICAgIHNlbGYudmlzaXRlZC5hcHBlbmQoKCdlbmRFbGVt
ZW50JywgbmFtZSkpCi0KLSAgICBkZWYgc3RhcnRFbGVtZW50TlMoc2VsZiwgbmFtZSwgcW5hbWUs
IGF0dHJzKToKLSAgICAgICAgc2VsZi52aXNpdGVkLmFwcGVuZCgoJ3N0YXJ0RWxlbWVudE5TJywg
bmFtZSwgcW5hbWUsIGRpY3QoYXR0cnMpKSkKLQotICAgIGRlZiBlbmRFbGVtZW50TlMoc2VsZiwg
bmFtZSwgcW5hbWUpOgotICAgICAgICBzZWxmLnZpc2l0ZWQuYXBwZW5kKCgnZW5kRWxlbWVudE5T
JywgbmFtZSwgcW5hbWUpKQotCi0gICAgZGVmIGNoYXJhY3RlcnMoc2VsZiwgY29udGVudCk6Ci0g
ICAgICAgIHNlbGYudmlzaXRlZC5hcHBlbmQoKCdjaGFyYWN0ZXJzJywgY29udGVudCkpCi0KLSAg
ICBkZWYgaWdub3JhYmxlV2hpdGVzcGFjZShzZWxmLCB3aGl0ZXNwYWNlKToKLSAgICAgICAgc2Vs
Zi52aXNpdGVkLmFwcGVuZCgoJ2lnbm9yYWJsZVdoaXRlc3BhY2UnLCB3aGl0ZXNwYWNlKSkKLQot
ICAgIGRlZiBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb24oc2VsZiwgdGFyZ2V0LCBkYXRhKToKLSAgICAg
ICAgc2VsZi52aXNpdGVkLmFwcGVuZCgoJ3Byb2Nlc3NpbmdJbnN0cnVjdGlvbicsIHRhcmdldCwg
ZGF0YSkpCi0KLSAgICBkZWYgc2tpcHBlZEVudGl0eShzZWxmLCBuYW1lKToKLSAgICAgICAgc2Vs
Zi52aXNpdGVkLmFwcGVuZCgoJ3NraXBwZWRFbnRpdHknLCBuYW1lKSkKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvdGVzdHMvdGVzdF9lbmNvZGluZy5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdF9l
bmNvZGluZy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDc3NGNlMGY2MDBmMDRh
MzVmMmEwZWUxNzAxNWFkNDI1MDk1MDM5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfZW5jb2RpbmcucHkKKysrIC9k
ZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRl
X2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotaW1wb3J0IG9zCi1pbXBvcnQg
dW5pdHRlc3QKLQotdHJ5OgotICAgIHVuaXR0ZXN0LlRlc3RDYXNlLmFzc2VydEVxdWFsCi1leGNl
cHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0RXF1YWwgPSB1
bml0dGVzdC5UZXN0Q2FzZS5hc3NlcnRFcXVhbHMKLQotZnJvbSAuc3VwcG9ydCBpbXBvcnQgZ2V0
X2RhdGFfZmlsZXMsIFRlc3REYXRhLCB0ZXN0X2RpciwgZXJyb3JNZXNzYWdlCi1mcm9tIGh0bWw1
bGliIGltcG9ydCBIVE1MUGFyc2VyLCBpbnB1dHN0cmVhbQotCi0KLWNsYXNzIEh0bWw1RW5jb2Rp
bmdUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIHRlc3RfY29kZWNfbmFtZV9h
KHNlbGYpOgotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGlucHV0c3RyZWFtLmNvZGVjTmFtZSgi
dXRmLTgiKSwgInV0Zi04IikKLQotICAgIGRlZiB0ZXN0X2NvZGVjX25hbWVfYihzZWxmKToKLSAg
ICAgICAgc2VsZi5hc3NlcnRFcXVhbChpbnB1dHN0cmVhbS5jb2RlY05hbWUoInV0ZjgiKSwgInV0
Zi04IikKLQotICAgIGRlZiB0ZXN0X2NvZGVjX25hbWVfYyhzZWxmKToKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChpbnB1dHN0cmVhbS5jb2RlY05hbWUoIiAgdXRmOCAgIiksICJ1dGYtOCIpCi0K
LSAgICBkZWYgdGVzdF9jb2RlY19uYW1lX2Qoc2VsZik6Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoaW5wdXRzdHJlYW0uY29kZWNOYW1lKCJJU09fODg1OS0tMSIpLCAid2luZG93cy0xMjUyIikK
LQotCi1kZWYgcnVuUGFyc2VyRW5jb2RpbmdUZXN0KGRhdGEsIGVuY29kaW5nKToKLSAgICBwID0g
SFRNTFBhcnNlcigpCi0gICAgYXNzZXJ0IHAuZG9jdW1lbnRFbmNvZGluZyBpcyBOb25lCi0gICAg
cC5wYXJzZShkYXRhLCB1c2VDaGFyZGV0PUZhbHNlKQotICAgIGVuY29kaW5nID0gZW5jb2Rpbmcu
bG93ZXIoKS5kZWNvZGUoImFzY2lpIikKLQotICAgIGFzc2VydCBlbmNvZGluZyA9PSBwLmRvY3Vt
ZW50RW5jb2RpbmcsIGVycm9yTWVzc2FnZShkYXRhLCBlbmNvZGluZywgcC5kb2N1bWVudEVuY29k
aW5nKQotCi0KLWRlZiBydW5QcmVTY2FuRW5jb2RpbmdUZXN0KGRhdGEsIGVuY29kaW5nKToKLSAg
ICBzdHJlYW0gPSBpbnB1dHN0cmVhbS5IVE1MQmluYXJ5SW5wdXRTdHJlYW0oZGF0YSwgY2hhcmRl
dD1GYWxzZSkKLSAgICBlbmNvZGluZyA9IGVuY29kaW5nLmxvd2VyKCkuZGVjb2RlKCJhc2NpaSIp
Ci0KLSAgICAjIFZlcnkgY3J1ZGUgd2F5IHRvIGlnbm9yZSBpcnJlbGV2YW50IHRlc3RzCi0gICAg
aWYgbGVuKGRhdGEpID4gc3RyZWFtLm51bUJ5dGVzTWV0YToKLSAgICAgICAgcmV0dXJuCi0KLSAg
ICBhc3NlcnQgZW5jb2RpbmcgPT0gc3RyZWFtLmNoYXJFbmNvZGluZ1swXSwgZXJyb3JNZXNzYWdl
KGRhdGEsIGVuY29kaW5nLCBzdHJlYW0uY2hhckVuY29kaW5nWzBdKQotCi0KLWRlZiB0ZXN0X2Vu
Y29kaW5nKCk6Ci0gICAgZm9yIGZpbGVuYW1lIGluIGdldF9kYXRhX2ZpbGVzKCJlbmNvZGluZyIp
OgotICAgICAgICB0ZXN0cyA9IFRlc3REYXRhKGZpbGVuYW1lLCBiImRhdGEiLCBlbmNvZGluZz1O
b25lKQotICAgICAgICBmb3IgaWR4LCB0ZXN0IGluIGVudW1lcmF0ZSh0ZXN0cyk6Ci0gICAgICAg
ICAgICB5aWVsZCAocnVuUGFyc2VyRW5jb2RpbmdUZXN0LCB0ZXN0W2InZGF0YSddLCB0ZXN0W2In
ZW5jb2RpbmcnXSkKLSAgICAgICAgICAgIHlpZWxkIChydW5QcmVTY2FuRW5jb2RpbmdUZXN0LCB0
ZXN0W2InZGF0YSddLCB0ZXN0W2InZW5jb2RpbmcnXSkKLQotdHJ5OgotICAgIHRyeToKLSAgICAg
ICAgaW1wb3J0IGNoYXJhZGUgICMgZmxha2U4OiBub3FhCi0gICAgZXhjZXB0IEltcG9ydEVycm9y
OgotICAgICAgICBpbXBvcnQgY2hhcmRldCAgIyBmbGFrZTg6IG5vcWEKLWV4Y2VwdCBJbXBvcnRF
cnJvcjoKLSAgICBwcmludCgiY2hhcmFkZS9jaGFyZGV0IG5vdCBmb3VuZCwgc2tpcHBpbmcgY2hh
cmRldCB0ZXN0cyIpCi1lbHNlOgotICAgIGRlZiB0ZXN0X2NoYXJkZXQoKToKLSAgICAgICAgd2l0
aCBvcGVuKG9zLnBhdGguam9pbih0ZXN0X2RpciwgImVuY29kaW5nIiAsICJjaGFyZGV0IiwgInRl
c3RfYmlnNS50eHQiKSwgInJiIikgYXMgZnA6Ci0gICAgICAgICAgICBlbmNvZGluZyA9IGlucHV0
c3RyZWFtLkhUTUxJbnB1dFN0cmVhbShmcC5yZWFkKCkpLmNoYXJFbmNvZGluZwotICAgICAgICAg
ICAgYXNzZXJ0IGVuY29kaW5nWzBdLmxvd2VyKCkgPT0gImJpZzUiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3Rlc3RfcGFyc2VyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3BhcnNl
ci5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjMwY2RiNDJkNTljYTI4ZjhlZjNh
MTc4YmQxMDU3NWQ0NGQzMGI4OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfcGFyc2VyLnB5CisrKyAvZGV2L251bGwK
QEAgLTEsOTYgKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQs
IGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0KLWltcG9ydCBvcwotaW1wb3J0IHN5cwotaW1w
b3J0IHRyYWNlYmFjawotaW1wb3J0IHdhcm5pbmdzCi1pbXBvcnQgcmUKLQotd2FybmluZ3Muc2lt
cGxlZmlsdGVyKCJlcnJvciIpCi0KLWZyb20gLnN1cHBvcnQgaW1wb3J0IGdldF9kYXRhX2ZpbGVz
Ci1mcm9tIC5zdXBwb3J0IGltcG9ydCBUZXN0RGF0YSwgY29udmVydCwgY29udmVydEV4cGVjdGVk
LCB0cmVlVHlwZXMKLWZyb20gaHRtbDVsaWIgaW1wb3J0IGh0bWw1cGFyc2VyLCBjb25zdGFudHMK
LQotIyBSdW4gdGhlIHBhcnNlIGVycm9yIGNoZWNrcwotY2hlY2tQYXJzZUVycm9ycyA9IEZhbHNl
Ci0KLSMgWFhYIC0gVGhlcmUgc2hvdWxkIGp1c3QgYmUgb25lIGZ1bmN0aW9uIGhlcmUgYnV0IGZv
ciBzb21lIHJlYXNvbiB0aGUgdGVzdGNhc2UKLSMgZm9ybWF0IGRpZmZlcnMgZnJvbSB0aGUgdHJl
ZWR1bXAgZm9ybWF0IGJ5IGEgc2luZ2xlIHNwYWNlIGNoYXJhY3RlcgotCi0KLWRlZiBjb252ZXJ0
VHJlZUR1bXAoZGF0YSk6Ci0gICAgcmV0dXJuICJcbiIuam9pbihjb252ZXJ0KDMpKGRhdGEpLnNw
bGl0KCJcbiIpWzE6XSkKLQotbmFtZXNwYWNlRXhwZWN0ZWQgPSByZS5jb21waWxlKHIiXihccyop
PChcUyspPiIsIHJlLk0pLnN1YgotCi0KLWRlZiBydW5QYXJzZXJUZXN0KGlubmVySFRNTCwgaW5w
dXQsIGV4cGVjdGVkLCBlcnJvcnMsIHRyZWVDbGFzcywKLSAgICAgICAgICAgICAgICAgIG5hbWVz
cGFjZUhUTUxFbGVtZW50cyk6Ci0gICAgd2l0aCB3YXJuaW5ncy5jYXRjaF93YXJuaW5ncyhyZWNv
cmQ9VHJ1ZSkgYXMgY2F1Z2h0V2FybmluZ3M6Ci0gICAgICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRl
cigiYWx3YXlzIikKLSAgICAgICAgcCA9IGh0bWw1cGFyc2VyLkhUTUxQYXJzZXIodHJlZT10cmVl
Q2xhc3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZUhUTUxF
bGVtZW50cz1uYW1lc3BhY2VIVE1MRWxlbWVudHMpCi0KLSAgICAgICAgdHJ5OgotICAgICAgICAg
ICAgaWYgaW5uZXJIVE1MOgotICAgICAgICAgICAgICAgIGRvY3VtZW50ID0gcC5wYXJzZUZyYWdt
ZW50KGlucHV0LCBpbm5lckhUTUwpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IGRvY3VtZW50ID0gcC5wYXJzZShpbnB1dCkKLSAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAg
ZXJyb3JNc2cgPSAiXG4iLmpvaW4oWyJcblxuSW5wdXQ6IiwgaW5wdXQsICJcbkV4cGVjdGVkOiIs
IGV4cGVjdGVkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcblRyYWNlYmFj
azoiLCB0cmFjZWJhY2suZm9ybWF0X2V4YygpXSkKLSAgICAgICAgICAgIGFzc2VydCBGYWxzZSwg
ZXJyb3JNc2cKLQotICAgIG90aGVyV2FybmluZ3MgPSBbeCBmb3IgeCBpbiBjYXVnaHRXYXJuaW5n
cwotICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlzc3ViY2xhc3MoeC5jYXRlZ29yeSwgY29u
c3RhbnRzLkRhdGFMb3NzV2FybmluZyldCi0gICAgYXNzZXJ0IGxlbihvdGhlcldhcm5pbmdzKSA9
PSAwLCBbKHguY2F0ZWdvcnksIHgubWVzc2FnZSkgZm9yIHggaW4gb3RoZXJXYXJuaW5nc10KLSAg
ICBpZiBsZW4oY2F1Z2h0V2FybmluZ3MpOgotICAgICAgICByZXR1cm4KLQotICAgIG91dHB1dCA9
IGNvbnZlcnRUcmVlRHVtcChwLnRyZWUudGVzdFNlcmlhbGl6ZXIoZG9jdW1lbnQpKQotCi0gICAg
ZXhwZWN0ZWQgPSBjb252ZXJ0RXhwZWN0ZWQoZXhwZWN0ZWQpCi0gICAgaWYgbmFtZXNwYWNlSFRN
TEVsZW1lbnRzOgotICAgICAgICBleHBlY3RlZCA9IG5hbWVzcGFjZUV4cGVjdGVkKHIiXDE8aHRt
bCBcMj4iLCBleHBlY3RlZCkKLQotICAgIGVycm9yTXNnID0gIlxuIi5qb2luKFsiXG5cbklucHV0
OiIsIGlucHV0LCAiXG5FeHBlY3RlZDoiLCBleHBlY3RlZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIlxuUmVjZWl2ZWQ6Iiwgb3V0cHV0XSkKLSAgICBhc3NlcnQgZXhwZWN0ZWQgPT0gb3V0
cHV0LCBlcnJvck1zZwotCi0gICAgZXJyU3RyID0gW10KLSAgICBmb3IgKGxpbmUsIGNvbCksIGVy
cm9yY29kZSwgZGF0YXZhcnMgaW4gcC5lcnJvcnM6Ci0gICAgICAgIGFzc2VydCBpc2luc3RhbmNl
KGRhdGF2YXJzLCBkaWN0KSwgIiVzLCAlcyIgJSAoZXJyb3Jjb2RlLCByZXByKGRhdGF2YXJzKSkK
LSAgICAgICAgZXJyU3RyLmFwcGVuZCgiTGluZTogJWkgQ29sOiAlaSAlcyIgJSAobGluZSwgY29s
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFu
dHMuRVtlcnJvcmNvZGVdICUgZGF0YXZhcnMpKQotCi0gICAgZXJyb3JNc2cyID0gIlxuIi5qb2lu
KFsiXG5cbklucHV0OiIsIGlucHV0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuRXhw
ZWN0ZWQgZXJyb3JzICgiICsgc3RyKGxlbihlcnJvcnMpKSArICIpOlxuIiArICJcbiIuam9pbihl
cnJvcnMpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuQWN0dWFsIGVycm9ycyAoIiAr
IHN0cihsZW4ocC5lcnJvcnMpKSArICIpOlxuIiArICJcbiIuam9pbihlcnJTdHIpXSkKLSAgICBp
ZiBjaGVja1BhcnNlRXJyb3JzOgotICAgICAgICAgICAgYXNzZXJ0IGxlbihwLmVycm9ycykgPT0g
bGVuKGVycm9ycyksIGVycm9yTXNnMgotCi0KLWRlZiB0ZXN0X3BhcnNlcigpOgotICAgIHN5cy5z
dGRlcnIud3JpdGUoJ1Rlc3RpbmcgdHJlZSBidWlsZGVycyAnICsgIiAiLmpvaW4obGlzdCh0cmVl
VHlwZXMua2V5cygpKSkgKyAiXG4iKQotICAgIGZpbGVzID0gZ2V0X2RhdGFfZmlsZXMoJ3RyZWUt
Y29uc3RydWN0aW9uJykKLQotICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlczoKLSAgICAgICAgdGVz
dE5hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKGZpbGVuYW1lKS5yZXBsYWNlKCIuZGF0IiwgIiIpCi0g
ICAgICAgIGlmIHRlc3ROYW1lIGluICgidGVtcGxhdGUiLCk6Ci0gICAgICAgICAgICBjb250aW51
ZQotCi0gICAgICAgIHRlc3RzID0gVGVzdERhdGEoZmlsZW5hbWUsICJkYXRhIikKLQotICAgICAg
ICBmb3IgaW5kZXgsIHRlc3QgaW4gZW51bWVyYXRlKHRlc3RzKToKLSAgICAgICAgICAgIGlucHV0
LCBlcnJvcnMsIGlubmVySFRNTCwgZXhwZWN0ZWQgPSBbdGVzdFtrZXldIGZvciBrZXkgaW4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdkYXRhJywg
J2Vycm9ycycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnZG9jdW1lbnQtZnJhZ21lbnQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJ2RvY3VtZW50JyldCi0gICAgICAgICAgICBpZiBlcnJvcnM6
Ci0gICAgICAgICAgICAgICAgZXJyb3JzID0gZXJyb3JzLnNwbGl0KCJcbiIpCi0KLSAgICAgICAg
ICAgIGZvciB0cmVlTmFtZSwgdHJlZUNscyBpbiB0cmVlVHlwZXMuaXRlbXMoKToKLSAgICAgICAg
ICAgICAgICBmb3IgbmFtZXNwYWNlSFRNTEVsZW1lbnRzIGluIChUcnVlLCBGYWxzZSk6Ci0gICAg
ICAgICAgICAgICAgICAgIHlpZWxkIChydW5QYXJzZXJUZXN0LCBpbm5lckhUTUwsIGlucHV0LCBl
eHBlY3RlZCwgZXJyb3JzLCB0cmVlQ2xzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFt
ZXNwYWNlSFRNTEVsZW1lbnRzKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3Bh
cnNlcjIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfcGFyc2VyMi5weQpkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMjBiYmRmMzE3OWM5ZTgxNWFiYjJjN2JkZThiMmIyNGZhODk0ZTg2
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1
bGliL3Rlc3RzL3Rlc3RfcGFyc2VyMi5weQorKysgL2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAK
LWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lvbiwgdW5pY29k
ZV9saXRlcmFscwotCi1pbXBvcnQgaW8KLQotZnJvbSAuIGltcG9ydCBzdXBwb3J0ICAjIGZsYWtl
ODogbm9xYQotZnJvbSBodG1sNWxpYiBpbXBvcnQgaHRtbDVwYXJzZXIKLWZyb20gaHRtbDVsaWIu
Y29uc3RhbnRzIGltcG9ydCBuYW1lc3BhY2VzCi1mcm9tIGh0bWw1bGliIGltcG9ydCB0cmVlYnVp
bGRlcnMKLQotaW1wb3J0IHVuaXR0ZXN0Ci0KLSMgdGVzdHMgdGhhdCBhcmVuJ3QgYXV0b2dlbmVy
YXRlZCBmcm9tIHRleHQgZmlsZXMKLQotCi1jbGFzcyBNb3JlUGFyc2VyVGVzdHModW5pdHRlc3Qu
VGVzdENhc2UpOgotCi0gICAgZGVmIHNldFVwKHNlbGYpOgotICAgICAgICBzZWxmLmRvbV90cmVl
ID0gdHJlZWJ1aWxkZXJzLmdldFRyZWVCdWlsZGVyKCJkb20iKQotCi0gICAgZGVmIHRlc3RfYXNz
ZXJ0RG9jdHlwZUNsb25lYWJsZShzZWxmKToKLSAgICAgICAgcGFyc2VyID0gaHRtbDVwYXJzZXIu
SFRNTFBhcnNlcih0cmVlPXNlbGYuZG9tX3RyZWUpCi0gICAgICAgIGRvYyA9IHBhcnNlci5wYXJz
ZSgnPCFET0NUWVBFIEhUTUw+JykKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRvYy5jbG9uZU5v
ZGUoVHJ1ZSkpCi0KLSAgICBkZWYgdGVzdF9saW5lX2NvdW50ZXIoc2VsZik6Ci0gICAgICAgICMg
aHR0cDovL2dyb3Vwcy5nb29nbGUuY29tL2dyb3VwL2h0bWw1bGliLWRpc2N1c3MvYnJvd3NlX2Zy
bS90aHJlYWQvZjRmMDBlNGEyZjI2ZDVjMAotICAgICAgICBwYXJzZXIgPSBodG1sNXBhcnNlci5I
VE1MUGFyc2VyKHRyZWU9c2VsZi5kb21fdHJlZSkKLSAgICAgICAgcGFyc2VyLnBhcnNlKCI8cHJl
PlxueFxuJmd0O1xuPC9wcmU+IikKLQotICAgIGRlZiB0ZXN0X25hbWVzcGFjZV9odG1sX2VsZW1l
bnRzXzBfZG9tKHNlbGYpOgotICAgICAgICBwYXJzZXIgPSBodG1sNXBhcnNlci5IVE1MUGFyc2Vy
KHRyZWU9c2VsZi5kb21fdHJlZSwgbmFtZXNwYWNlSFRNTEVsZW1lbnRzPVRydWUpCi0gICAgICAg
IGRvYyA9IHBhcnNlci5wYXJzZSgiPGh0bWw+PC9odG1sPiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0
VHJ1ZShkb2MuY2hpbGROb2Rlc1swXS5uYW1lc3BhY2VVUkkgPT0gbmFtZXNwYWNlc1siaHRtbCJd
KQotCi0gICAgZGVmIHRlc3RfbmFtZXNwYWNlX2h0bWxfZWxlbWVudHNfMV9kb20oc2VsZik6Ci0g
ICAgICAgIHBhcnNlciA9IGh0bWw1cGFyc2VyLkhUTUxQYXJzZXIodHJlZT1zZWxmLmRvbV90cmVl
LCBuYW1lc3BhY2VIVE1MRWxlbWVudHM9RmFsc2UpCi0gICAgICAgIGRvYyA9IHBhcnNlci5wYXJz
ZSgiPGh0bWw+PC9odG1sPiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkb2MuY2hpbGROb2Rl
c1swXS5uYW1lc3BhY2VVUkkgaXMgTm9uZSkKLQotICAgIGRlZiB0ZXN0X25hbWVzcGFjZV9odG1s
X2VsZW1lbnRzXzBfZXRyZWUoc2VsZik6Ci0gICAgICAgIHBhcnNlciA9IGh0bWw1cGFyc2VyLkhU
TUxQYXJzZXIobmFtZXNwYWNlSFRNTEVsZW1lbnRzPVRydWUpCi0gICAgICAgIGRvYyA9IHBhcnNl
ci5wYXJzZSgiPGh0bWw+PC9odG1sPiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShsaXN0KGRv
YylbMF0udGFnID09ICJ7JXN9aHRtbCIgJSAobmFtZXNwYWNlc1siaHRtbCJdLCkpCi0KLSAgICBk
ZWYgdGVzdF9uYW1lc3BhY2VfaHRtbF9lbGVtZW50c18xX2V0cmVlKHNlbGYpOgotICAgICAgICBw
YXJzZXIgPSBodG1sNXBhcnNlci5IVE1MUGFyc2VyKG5hbWVzcGFjZUhUTUxFbGVtZW50cz1GYWxz
ZSkKLSAgICAgICAgZG9jID0gcGFyc2VyLnBhcnNlKCI8aHRtbD48L2h0bWw+IikKLSAgICAgICAg
c2VsZi5hc3NlcnRUcnVlKGxpc3QoZG9jKVswXS50YWcgPT0gImh0bWwiKQotCi0gICAgZGVmIHRl
c3RfdW5pY29kZV9maWxlKHNlbGYpOgotICAgICAgICBwYXJzZXIgPSBodG1sNXBhcnNlci5IVE1M
UGFyc2VyKCkKLSAgICAgICAgcGFyc2VyLnBhcnNlKGlvLlN0cmluZ0lPKCJhIikpCi0KLQotZGVm
IGJ1aWxkVGVzdFN1aXRlKCk6Ci0gICAgcmV0dXJuIHVuaXR0ZXN0LmRlZmF1bHRUZXN0TG9hZGVy
LmxvYWRUZXN0c0Zyb21OYW1lKF9fbmFtZV9fKQotCi0KLWRlZiBtYWluKCk6Ci0gICAgYnVpbGRU
ZXN0U3VpdGUoKQotICAgIHVuaXR0ZXN0Lm1haW4oKQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgotICAgIG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3Nhbml0
aXplci5weSBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdF9zYW5pdGl6ZXIucHkKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDFjYzY4N2RmY2FkN2ZiYjRiMjY2OWRhNzcyMTk3MWJlNWVjNzhh
M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90ZXN0cy90ZXN0X3Nhbml0aXplci5weQorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCww
IEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVu
aWNvZGVfbGl0ZXJhbHMKLQotdHJ5OgotICAgIGltcG9ydCBqc29uCi1leGNlcHQgSW1wb3J0RXJy
b3I6Ci0gICAgaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgotCi1mcm9tIGh0bWw1bGliIGltcG9y
dCBodG1sNXBhcnNlciwgc2FuaXRpemVyLCBjb25zdGFudHMsIHRyZWVidWlsZGVycwotCi0KLWRl
ZiB0b3htbEZhY3RvcnkoKToKLSAgICB0cmVlID0gdHJlZWJ1aWxkZXJzLmdldFRyZWVCdWlsZGVy
KCJldHJlZSIpCi0KLSAgICBkZWYgdG94bWwoZWxlbWVudCk6Ci0gICAgICAgICMgZW5jb2RlL2Rl
Y29kZSByb3VuZHRyaXAgcmVxdWlyZWQgZm9yIFB5dGhvbiAyLjYgY29tcGF0aWJpbGl0eQotICAg
ICAgICByZXN1bHRfYnl0ZXMgPSB0cmVlLmltcGxlbWVudGF0aW9uLnRvc3RyaW5nKGVsZW1lbnQs
IGVuY29kaW5nPSJ1dGYtOCIpCi0gICAgICAgIHJldHVybiByZXN1bHRfYnl0ZXMuZGVjb2RlKCJ1
dGYtOCIpCi0KLSAgICByZXR1cm4gdG94bWwKLQotCi1kZWYgcnVuU2FuaXRpemVyVGVzdChuYW1l
LCBleHBlY3RlZCwgaW5wdXQsIHRveG1sPU5vbmUpOgotICAgIGlmIHRveG1sIGlzIE5vbmU6Ci0g
ICAgICAgIHRveG1sID0gdG94bWxGYWN0b3J5KCkKLSAgICBleHBlY3RlZCA9ICcnLmpvaW4oW3Rv
eG1sKHRva2VuKSBmb3IgdG9rZW4gaW4gaHRtbDVwYXJzZXIuSFRNTFBhcnNlcigpLgotICAgICAg
ICAgICAgICAgICAgICAgICAgcGFyc2VGcmFnbWVudChleHBlY3RlZCldKQotICAgIGV4cGVjdGVk
ID0ganNvbi5sb2Fkcyhqc29uLmR1bXBzKGV4cGVjdGVkKSkKLSAgICBhc3NlcnQgZXhwZWN0ZWQg
PT0gc2FuaXRpemVfaHRtbChpbnB1dCkKLQotCi1kZWYgc2FuaXRpemVfaHRtbChzdHJlYW0sIHRv
eG1sPU5vbmUpOgotICAgIGlmIHRveG1sIGlzIE5vbmU6Ci0gICAgICAgIHRveG1sID0gdG94bWxG
YWN0b3J5KCkKLSAgICByZXR1cm4gJycuam9pbihbdG94bWwodG9rZW4pIGZvciB0b2tlbiBpbgot
ICAgICAgICAgICAgICAgICAgICBodG1sNXBhcnNlci5IVE1MUGFyc2VyKHRva2VuaXplcj1zYW5p
dGl6ZXIuSFRNTFNhbml0aXplcikuCi0gICAgICAgICAgICAgICAgICAgIHBhcnNlRnJhZ21lbnQo
c3RyZWFtKV0pCi0KLQotZGVmIHRlc3Rfc2hvdWxkX2hhbmRsZV9hc3RyYWxfcGxhbmVfY2hhcmFj
dGVycygpOgotICAgIGFzc2VydCAnPGh0bWw6cCB4bWxuczpodG1sPSJodHRwOi8vd3d3LnczLm9y
Zy8xOTk5L3hodG1sIj5cVTAwMDFkNGI1IFxVMDAwMWQ1Mzg8L2h0bWw6cD4nID09IHNhbml0aXpl
X2h0bWwoIjxwPiYjeDFkNGI1OyAmI3gxZDUzODs8L3A+IikKLQotCi1kZWYgdGVzdF9zYW5pdGl6
ZXIoKToKLSAgICB0b3htbCA9IHRveG1sRmFjdG9yeSgpCi0gICAgZm9yIHRhZ19uYW1lIGluIHNh
bml0aXplci5IVE1MU2FuaXRpemVyLmFsbG93ZWRfZWxlbWVudHM6Ci0gICAgICAgIGlmIHRhZ19u
YW1lIGluIFsnY2FwdGlvbicsICdjb2wnLCAnY29sZ3JvdXAnLCAnb3B0Z3JvdXAnLCAnb3B0aW9u
JywgJ3RhYmxlJywgJ3Rib2R5JywgJ3RkJywgJ3Rmb290JywgJ3RoJywgJ3RoZWFkJywgJ3RyJ106
Ci0gICAgICAgICAgICBjb250aW51ZSAgIyBUT0RPCi0gICAgICAgIGlmIHRhZ19uYW1lICE9IHRh
Z19uYW1lLmxvd2VyKCk6Ci0gICAgICAgICAgICBjb250aW51ZSAgIyBUT0RPCi0gICAgICAgIGlm
IHRhZ19uYW1lID09ICdpbWFnZSc6Ci0gICAgICAgICAgICB5aWVsZCAocnVuU2FuaXRpemVyVGVz
dCwgInRlc3Rfc2hvdWxkX2FsbG93XyVzX3RhZyIgJSB0YWdfbmFtZSwKLSAgICAgICAgICAgICAg
ICAgICAiPGltZyB0aXRsZT1cIjFcIi8+Zm9vICZsdDtiYWQmZ3Q7YmFyJmx0Oy9iYWQmZ3Q7IGJh
eiIsCi0gICAgICAgICAgICAgICAgICAgIjwlcyB0aXRsZT0nMSc+Zm9vIDxiYWQ+YmFyPC9iYWQ+
IGJhejwvJXM+IiAlICh0YWdfbmFtZSwgdGFnX25hbWUpLAotICAgICAgICAgICAgICAgICAgIHRv
eG1sKQotICAgICAgICBlbGlmIHRhZ19uYW1lID09ICdicic6Ci0gICAgICAgICAgICB5aWVsZCAo
cnVuU2FuaXRpemVyVGVzdCwgInRlc3Rfc2hvdWxkX2FsbG93XyVzX3RhZyIgJSB0YWdfbmFtZSwK
LSAgICAgICAgICAgICAgICAgICAiPGJyIHRpdGxlPVwiMVwiLz5mb28gJmx0O2JhZCZndDtiYXIm
bHQ7L2JhZCZndDsgYmF6PGJyLz4iLAotICAgICAgICAgICAgICAgICAgICI8JXMgdGl0bGU9JzEn
PmZvbyA8YmFkPmJhcjwvYmFkPiBiYXo8LyVzPiIgJSAodGFnX25hbWUsIHRhZ19uYW1lKSwKLSAg
ICAgICAgICAgICAgICAgICB0b3htbCkKLSAgICAgICAgZWxpZiB0YWdfbmFtZSBpbiBjb25zdGFu
dHMudm9pZEVsZW1lbnRzOgotICAgICAgICAgICAgeWllbGQgKHJ1blNhbml0aXplclRlc3QsICJ0
ZXN0X3Nob3VsZF9hbGxvd18lc190YWciICUgdGFnX25hbWUsCi0gICAgICAgICAgICAgICAgICAg
IjwlcyB0aXRsZT1cIjFcIi8+Zm9vICZsdDtiYWQmZ3Q7YmFyJmx0Oy9iYWQmZ3Q7IGJheiIgJSB0
YWdfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAiPCVzIHRpdGxlPScxJz5mb28gPGJhZD5iYXI8
L2JhZD4gYmF6PC8lcz4iICUgKHRhZ19uYW1lLCB0YWdfbmFtZSksCi0gICAgICAgICAgICAgICAg
ICAgdG94bWwpCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICB5aWVsZCAocnVuU2FuaXRpemVy
VGVzdCwgInRlc3Rfc2hvdWxkX2FsbG93XyVzX3RhZyIgJSB0YWdfbmFtZSwKLSAgICAgICAgICAg
ICAgICAgICAiPCVzIHRpdGxlPVwiMVwiPmZvbyAmbHQ7YmFkJmd0O2JhciZsdDsvYmFkJmd0OyBi
YXo8LyVzPiIgJSAodGFnX25hbWUsIHRhZ19uYW1lKSwKLSAgICAgICAgICAgICAgICAgICAiPCVz
IHRpdGxlPScxJz5mb28gPGJhZD5iYXI8L2JhZD4gYmF6PC8lcz4iICUgKHRhZ19uYW1lLCB0YWdf
bmFtZSksCi0gICAgICAgICAgICAgICAgICAgdG94bWwpCi0KLSAgICBmb3IgdGFnX25hbWUgaW4g
c2FuaXRpemVyLkhUTUxTYW5pdGl6ZXIuYWxsb3dlZF9lbGVtZW50czoKLSAgICAgICAgdGFnX25h
bWUgPSB0YWdfbmFtZS51cHBlcigpCi0gICAgICAgIHlpZWxkIChydW5TYW5pdGl6ZXJUZXN0LCAi
dGVzdF9zaG91bGRfZm9yYmlkXyVzX3RhZyIgJSB0YWdfbmFtZSwKLSAgICAgICAgICAgICAgICIm
bHQ7JXMgdGl0bGU9XCIxXCImZ3Q7Zm9vICZsdDtiYWQmZ3Q7YmFyJmx0Oy9iYWQmZ3Q7IGJheiZs
dDsvJXMmZ3Q7IiAlICh0YWdfbmFtZSwgdGFnX25hbWUpLAotICAgICAgICAgICAgICAgIjwlcyB0
aXRsZT0nMSc+Zm9vIDxiYWQ+YmFyPC9iYWQ+IGJhejwvJXM+IiAlICh0YWdfbmFtZSwgdGFnX25h
bWUpLAotICAgICAgICAgICAgICAgdG94bWwpCi0KLSAgICBmb3IgYXR0cmlidXRlX25hbWUgaW4g
c2FuaXRpemVyLkhUTUxTYW5pdGl6ZXIuYWxsb3dlZF9hdHRyaWJ1dGVzOgotICAgICAgICBpZiBh
dHRyaWJ1dGVfbmFtZSAhPSBhdHRyaWJ1dGVfbmFtZS5sb3dlcigpOgotICAgICAgICAgICAgY29u
dGludWUgICMgVE9ETwotICAgICAgICBpZiBhdHRyaWJ1dGVfbmFtZSA9PSAnc3R5bGUnOgotICAg
ICAgICAgICAgY29udGludWUKLSAgICAgICAgeWllbGQgKHJ1blNhbml0aXplclRlc3QsICJ0ZXN0
X3Nob3VsZF9hbGxvd18lc19hdHRyaWJ1dGUiICUgYXR0cmlidXRlX25hbWUsCi0gICAgICAgICAg
ICAgICAiPHAgJXM9XCJmb29cIj5mb28gJmx0O2JhZCZndDtiYXImbHQ7L2JhZCZndDsgYmF6PC9w
PiIgJSBhdHRyaWJ1dGVfbmFtZSwKLSAgICAgICAgICAgICAgICI8cCAlcz0nZm9vJz5mb28gPGJh
ZD5iYXI8L2JhZD4gYmF6PC9wPiIgJSBhdHRyaWJ1dGVfbmFtZSwKLSAgICAgICAgICAgICAgIHRv
eG1sKQotCi0gICAgZm9yIGF0dHJpYnV0ZV9uYW1lIGluIHNhbml0aXplci5IVE1MU2FuaXRpemVy
LmFsbG93ZWRfYXR0cmlidXRlczoKLSAgICAgICAgYXR0cmlidXRlX25hbWUgPSBhdHRyaWJ1dGVf
bmFtZS51cHBlcigpCi0gICAgICAgIHlpZWxkIChydW5TYW5pdGl6ZXJUZXN0LCAidGVzdF9zaG91
bGRfZm9yYmlkXyVzX2F0dHJpYnV0ZSIgJSBhdHRyaWJ1dGVfbmFtZSwKLSAgICAgICAgICAgICAg
ICI8cD5mb28gJmx0O2JhZCZndDtiYXImbHQ7L2JhZCZndDsgYmF6PC9wPiIsCi0gICAgICAgICAg
ICAgICAiPHAgJXM9J2Rpc3BsYXk6IG5vbmU7Jz5mb28gPGJhZD5iYXI8L2JhZD4gYmF6PC9wPiIg
JSBhdHRyaWJ1dGVfbmFtZSwKLSAgICAgICAgICAgICAgIHRveG1sKQotCi0gICAgZm9yIHByb3Rv
Y29sIGluIHNhbml0aXplci5IVE1MU2FuaXRpemVyLmFsbG93ZWRfcHJvdG9jb2xzOgotICAgICAg
ICB5aWVsZCAocnVuU2FuaXRpemVyVGVzdCwgInRlc3Rfc2hvdWxkX2FsbG93XyVzX3VyaXMiICUg
cHJvdG9jb2wsCi0gICAgICAgICAgICAgICAiPGEgaHJlZj1cIiVzXCI+Zm9vPC9hPiIgJSBwcm90
b2NvbCwKLSAgICAgICAgICAgICAgICIiIjxhIGhyZWY9IiVzIj5mb288L2E+IiIiICUgcHJvdG9j
b2wsCi0gICAgICAgICAgICAgICB0b3htbCkKLQotICAgIGZvciBwcm90b2NvbCBpbiBzYW5pdGl6
ZXIuSFRNTFNhbml0aXplci5hbGxvd2VkX3Byb3RvY29sczoKLSAgICAgICAgeWllbGQgKHJ1blNh
bml0aXplclRlc3QsICJ0ZXN0X3Nob3VsZF9hbGxvd191cHBlcmNhc2VfJXNfdXJpcyIgJSBwcm90
b2NvbCwKLSAgICAgICAgICAgICAgICI8YSBocmVmPVwiJXNcIj5mb288L2E+IiAlIHByb3RvY29s
LAotICAgICAgICAgICAgICAgIiIiPGEgaHJlZj0iJXMiPmZvbzwvYT4iIiIgJSBwcm90b2NvbCwK
LSAgICAgICAgICAgICAgIHRveG1sKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
X3NlcmlhbGl6ZXIucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rfc2VyaWFsaXplci5weQpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2MzN2ZlZmY3MGIyYjYyZjBjNjEzNWEyZGY3ZjI5
ZDk3NTZhMWJiOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rfc2VyaWFsaXplci5weQorKysgL2Rldi9udWxsCkBAIC0x
LDE3OCArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2
aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotaW1wb3J0IGpzb24KLWltcG9ydCB1bml0dGVzdAot
Ci1mcm9tIC5zdXBwb3J0IGltcG9ydCBnZXRfZGF0YV9maWxlcwotCi10cnk6Ci0gICAgdW5pdHRl
c3QuVGVzdENhc2UuYXNzZXJ0RXF1YWwKLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICB1bml0
dGVzdC5UZXN0Q2FzZS5hc3NlcnRFcXVhbCA9IHVuaXR0ZXN0LlRlc3RDYXNlLmFzc2VydEVxdWFs
cwotCi1pbXBvcnQgaHRtbDVsaWIKLWZyb20gaHRtbDVsaWIgaW1wb3J0IGNvbnN0YW50cwotZnJv
bSBodG1sNWxpYi5zZXJpYWxpemVyIGltcG9ydCBIVE1MU2VyaWFsaXplciwgc2VyaWFsaXplCi1m
cm9tIGh0bWw1bGliLnRyZWV3YWxrZXJzLl9iYXNlIGltcG9ydCBUcmVlV2Fsa2VyCi0KLW9wdGlv
bmFsc19sb2FkZWQgPSBbXQotCi10cnk6Ci0gICAgZnJvbSBseG1sIGltcG9ydCBldHJlZQotICAg
IG9wdGlvbmFsc19sb2FkZWQuYXBwZW5kKCJseG1sIikKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAg
ICBwYXNzCi0KLWRlZmF1bHRfbmFtZXNwYWNlID0gY29uc3RhbnRzLm5hbWVzcGFjZXNbImh0bWwi
XQotCi0KLWNsYXNzIEpzb25XYWxrZXIoVHJlZVdhbGtlcik6Ci0gICAgZGVmIF9faXRlcl9fKHNl
bGYpOgotICAgICAgICBmb3IgdG9rZW4gaW4gc2VsZi50cmVlOgotICAgICAgICAgICAgdHlwZSA9
IHRva2VuWzBdCi0gICAgICAgICAgICBpZiB0eXBlID09ICJTdGFydFRhZyI6Ci0gICAgICAgICAg
ICAgICAgaWYgbGVuKHRva2VuKSA9PSA0OgotICAgICAgICAgICAgICAgICAgICBuYW1lc3BhY2Us
IG5hbWUsIGF0dHJpYiA9IHRva2VuWzE6NF0KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgICAgICAgICBuYW1lc3BhY2UgPSBkZWZhdWx0X25hbWVzcGFjZQotICAgICAgICAgICAg
ICAgICAgICBuYW1lLCBhdHRyaWIgPSB0b2tlblsxOjNdCi0gICAgICAgICAgICAgICAgeWllbGQg
c2VsZi5zdGFydFRhZyhuYW1lc3BhY2UsIG5hbWUsIHNlbGYuX2NvbnZlcnRBdHRyaWIoYXR0cmli
KSkKLSAgICAgICAgICAgIGVsaWYgdHlwZSA9PSAiRW5kVGFnIjoKLSAgICAgICAgICAgICAgICBp
ZiBsZW4odG9rZW4pID09IDM6Ci0gICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZSwgbmFtZSA9
IHRva2VuWzE6M10KLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBu
YW1lc3BhY2UgPSBkZWZhdWx0X25hbWVzcGFjZQotICAgICAgICAgICAgICAgICAgICBuYW1lID0g
dG9rZW5bMV0KLSAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLmVuZFRhZyhuYW1lc3BhY2UsIG5h
bWUpCi0gICAgICAgICAgICBlbGlmIHR5cGUgPT0gIkVtcHR5VGFnIjoKLSAgICAgICAgICAgICAg
ICBpZiBsZW4odG9rZW4pID09IDQ6Ci0gICAgICAgICAgICAgICAgICAgIG5hbWVzcGFjZSwgbmFt
ZSwgYXR0cmliID0gdG9rZW5bMTpdCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg
ICAgICAgICAgbmFtZXNwYWNlID0gZGVmYXVsdF9uYW1lc3BhY2UKLSAgICAgICAgICAgICAgICAg
ICAgbmFtZSwgYXR0cmliID0gdG9rZW5bMTpdCi0gICAgICAgICAgICAgICAgZm9yIHRva2VuIGlu
IHNlbGYuZW1wdHlUYWcobmFtZXNwYWNlLCBuYW1lLCBzZWxmLl9jb252ZXJ0QXR0cmliKGF0dHJp
YikpOgotICAgICAgICAgICAgICAgICAgICB5aWVsZCB0b2tlbgotICAgICAgICAgICAgZWxpZiB0
eXBlID09ICJDb21tZW50IjoKLSAgICAgICAgICAgICAgICB5aWVsZCBzZWxmLmNvbW1lbnQodG9r
ZW5bMV0pCi0gICAgICAgICAgICBlbGlmIHR5cGUgaW4gKCJDaGFyYWN0ZXJzIiwgIlNwYWNlQ2hh
cmFjdGVycyIpOgotICAgICAgICAgICAgICAgIGZvciB0b2tlbiBpbiBzZWxmLnRleHQodG9rZW5b
MV0pOgotICAgICAgICAgICAgICAgICAgICB5aWVsZCB0b2tlbgotICAgICAgICAgICAgZWxpZiB0
eXBlID09ICJEb2N0eXBlIjoKLSAgICAgICAgICAgICAgICBpZiBsZW4odG9rZW4pID09IDQ6Ci0g
ICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuZG9jdHlwZSh0b2tlblsxXSwgdG9rZW5bMl0s
IHRva2VuWzNdKQotICAgICAgICAgICAgICAgIGVsaWYgbGVuKHRva2VuKSA9PSAzOgotICAgICAg
ICAgICAgICAgICAgICB5aWVsZCBzZWxmLmRvY3R5cGUodG9rZW5bMV0sIHRva2VuWzJdKQotICAg
ICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHlpZWxkIHNlbGYuZG9jdHlw
ZSh0b2tlblsxXSkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgcmFpc2UgVmFs
dWVFcnJvcigiVW5rbm93biB0b2tlbiB0eXBlOiAiICsgdHlwZSkKLQotICAgIGRlZiBfY29udmVy
dEF0dHJpYihzZWxmLCBhdHRyaWJzKToKLSAgICAgICAgIiIiaHRtbDVsaWIgdHJlZS13YWxrZXJz
IHVzZSBhIGRpY3Qgb2YgKG5hbWVzcGFjZSwgbmFtZSk6IHZhbHVlIGZvcgotICAgICAgICBhdHRy
aWJ1dGVzLCBidXQgSlNPTiBjYW5ub3QgcmVwcmVzZW50IHRoaXMuIENvbnZlcnQgZnJvbSB0aGUg
Zm9ybWF0Ci0gICAgICAgIGluIHRoZSBzZXJpYWxpemVyIHRlc3RzIChhIGxpc3Qgb2YgZGljdHMg
d2l0aCAibmFtZXNwYWNlIiwgIm5hbWUiLAotICAgICAgICBhbmQgInZhbHVlIiBhcyBrZXlzKSB0
byBodG1sNWxpYidzIHRyZWUtd2Fsa2VyIGZvcm1hdC4iIiIKLSAgICAgICAgYXR0cnMgPSB7fQot
ICAgICAgICBmb3IgYXR0cmliIGluIGF0dHJpYnM6Ci0gICAgICAgICAgICBuYW1lID0gKGF0dHJp
YlsibmFtZXNwYWNlIl0sIGF0dHJpYlsibmFtZSJdKQotICAgICAgICAgICAgYXNzZXJ0KG5hbWUg
bm90IGluIGF0dHJzKQotICAgICAgICAgICAgYXR0cnNbbmFtZV0gPSBhdHRyaWJbInZhbHVlIl0K
LSAgICAgICAgcmV0dXJuIGF0dHJzCi0KLQotZGVmIHNlcmlhbGl6ZV9odG1sKGlucHV0LCBvcHRp
b25zKToKLSAgICBvcHRpb25zID0gZGljdChbKHN0cihrKSwgdikgZm9yIGssIHYgaW4gb3B0aW9u
cy5pdGVtcygpXSkKLSAgICBzdHJlYW0gPSBKc29uV2Fsa2VyKGlucHV0KQotICAgIHNlcmlhbGl6
ZXIgPSBIVE1MU2VyaWFsaXplcihhbHBoYWJldGljYWxfYXR0cmlidXRlcz1UcnVlLCAqKm9wdGlv
bnMpCi0gICAgcmV0dXJuIHNlcmlhbGl6ZXIucmVuZGVyKHN0cmVhbSwgb3B0aW9ucy5nZXQoImVu
Y29kaW5nIiwgTm9uZSkpCi0KLQotZGVmIHJ1blNlcmlhbGl6ZXJUZXN0KGlucHV0LCBleHBlY3Rl
ZCwgb3B0aW9ucyk6Ci0gICAgZW5jb2RpbmcgPSBvcHRpb25zLmdldCgiZW5jb2RpbmciLCBOb25l
KQotCi0gICAgaWYgZW5jb2Rpbmc6Ci0gICAgICAgIGVuY29kZSA9IGxhbWJkYSB4OiB4LmVuY29k
ZShlbmNvZGluZykKLSAgICAgICAgZXhwZWN0ZWQgPSBsaXN0KG1hcChlbmNvZGUsIGV4cGVjdGVk
KSkKLQotICAgIHJlc3VsdCA9IHNlcmlhbGl6ZV9odG1sKGlucHV0LCBvcHRpb25zKQotICAgIGlm
IGxlbihleHBlY3RlZCkgPT0gMToKLSAgICAgICAgYXNzZXJ0IGV4cGVjdGVkWzBdID09IHJlc3Vs
dCwgIkV4cGVjdGVkOlxuJXNcbkFjdHVhbDpcbiVzXG5PcHRpb25zOlxuJXMiICUgKGV4cGVjdGVk
WzBdLCByZXN1bHQsIHN0cihvcHRpb25zKSkKLSAgICBlbGlmIHJlc3VsdCBub3QgaW4gZXhwZWN0
ZWQ6Ci0gICAgICAgIGFzc2VydCBGYWxzZSwgIkV4cGVjdGVkOiAlcywgUmVjZWl2ZWQ6ICVzIiAl
IChleHBlY3RlZCwgcmVzdWx0KQotCi0KLWNsYXNzIEVuY29kaW5nVGVzdENhc2UodW5pdHRlc3Qu
VGVzdENhc2UpOgotICAgIGRlZiB0aHJvd3NXaXRoTGF0aW4xKHNlbGYsIGlucHV0KToKLSAgICAg
ICAgc2VsZi5hc3NlcnRSYWlzZXMoVW5pY29kZUVuY29kZUVycm9yLCBzZXJpYWxpemVfaHRtbCwg
aW5wdXQsIHsiZW5jb2RpbmciOiAiaXNvLTg4NTktMSJ9KQotCi0gICAgZGVmIHRlc3REb2N0eXBl
TmFtZShzZWxmKToKLSAgICAgICAgc2VsZi50aHJvd3NXaXRoTGF0aW4xKFtbIkRvY3R5cGUiLCAi
XHUwMTAxIl1dKQotCi0gICAgZGVmIHRlc3REb2N0eXBlUHVibGljSWQoc2VsZik6Ci0gICAgICAg
IHNlbGYudGhyb3dzV2l0aExhdGluMShbWyJEb2N0eXBlIiwgInBvdGF0byIsICJcdTAxMDEiXV0p
Ci0KLSAgICBkZWYgdGVzdERvY3R5cGVTeXN0ZW1JZChzZWxmKToKLSAgICAgICAgc2VsZi50aHJv
d3NXaXRoTGF0aW4xKFtbIkRvY3R5cGUiLCAicG90YXRvIiwgInBvdGF0byIsICJcdTAxMDEiXV0p
Ci0KLSAgICBkZWYgdGVzdENkYXRhQ2hhcmFjdGVycyhzZWxmKToKLSAgICAgICAgcnVuU2VyaWFs
aXplclRlc3QoW1siU3RhcnRUYWciLCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsICJz
dHlsZSIsIHt9XSwgWyJDaGFyYWN0ZXJzIiwgIlx1MDEwMSJdXSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgWyI8c3R5bGU+JmFtYWNyOyJdLCB7ImVuY29kaW5nIjogImlzby04ODU5LTEifSkK
LQotICAgIGRlZiB0ZXN0Q2hhcmFjdGVycyhzZWxmKToKLSAgICAgICAgcnVuU2VyaWFsaXplclRl
c3QoW1siQ2hhcmFjdGVycyIsICJcdTAxMDEiXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
IFsiJmFtYWNyOyJdLCB7ImVuY29kaW5nIjogImlzby04ODU5LTEifSkKLQotICAgIGRlZiB0ZXN0
U3RhcnRUYWdOYW1lKHNlbGYpOgotICAgICAgICBzZWxmLnRocm93c1dpdGhMYXRpbjEoW1siU3Rh
cnRUYWciLCAiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIsICJcdTAxMDEiLCBbXV1dKQot
Ci0gICAgZGVmIHRlc3RFbXB0eVRhZ05hbWUoc2VsZik6Ci0gICAgICAgIHNlbGYudGhyb3dzV2l0
aExhdGluMShbWyJFbXB0eVRhZyIsICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwgIlx1
MDEwMSIsIFtdXV0pCi0KLSAgICBkZWYgdGVzdEF0dHJpYnV0ZU5hbWUoc2VsZik6Ci0gICAgICAg
IHNlbGYudGhyb3dzV2l0aExhdGluMShbWyJTdGFydFRhZyIsICJodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sIiwgInNwYW4iLCBbeyJuYW1lc3BhY2UiOiBOb25lLCAibmFtZSI6ICJcdTAxMDEi
LCAidmFsdWUiOiAicG90YXRvIn1dXV0pCi0KLSAgICBkZWYgdGVzdEF0dHJpYnV0ZVZhbHVlKHNl
bGYpOgotICAgICAgICBydW5TZXJpYWxpemVyVGVzdChbWyJTdGFydFRhZyIsICJodHRwOi8vd3d3
LnczLm9yZy8xOTk5L3hodG1sIiwgInNwYW4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFt7Im5hbWVzcGFjZSI6IE5vbmUsICJuYW1lIjogInBvdGF0byIsICJ2YWx1ZSI6ICJcdTAxMDEi
fV1dXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgWyI8c3BhbiBwb3RhdG89JmFtYWNyOz4i
XSwgeyJlbmNvZGluZyI6ICJpc28tODg1OS0xIn0pCi0KLSAgICBkZWYgdGVzdEVuZFRhZ05hbWUo
c2VsZik6Ci0gICAgICAgIHNlbGYudGhyb3dzV2l0aExhdGluMShbWyJFbmRUYWciLCAiaHR0cDov
L3d3dy53My5vcmcvMTk5OS94aHRtbCIsICJcdTAxMDEiXV0pCi0KLSAgICBkZWYgdGVzdENvbW1l
bnQoc2VsZik6Ci0gICAgICAgIHNlbGYudGhyb3dzV2l0aExhdGluMShbWyJDb21tZW50IiwgIlx1
MDEwMSJdXSkKLQotCi1pZiAibHhtbCIgaW4gb3B0aW9uYWxzX2xvYWRlZDoKLSAgICBjbGFzcyBM
eG1sVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICAgICBkZWYgc2V0VXAoc2VsZik6
Ci0gICAgICAgICAgICBzZWxmLnBhcnNlciA9IGV0cmVlLlhNTFBhcnNlcihyZXNvbHZlX2VudGl0
aWVzPUZhbHNlKQotICAgICAgICAgICAgc2VsZi50cmVld2Fsa2VyID0gaHRtbDVsaWIuZ2V0VHJl
ZVdhbGtlcigibHhtbCIpCi0gICAgICAgICAgICBzZWxmLnNlcmlhbGl6ZXIgPSBIVE1MU2VyaWFs
aXplcigpCi0KLSAgICAgICAgZGVmIHRlc3RFbnRpdHlSZXBsYWNlbWVudChzZWxmKToKLSAgICAg
ICAgICAgIGRvYyA9ICIiIjwhRE9DVFlQRSBodG1sIFNZU1RFTSAiYWJvdXQ6bGVnYWN5LWNvbXBh
dCI+PGh0bWw+JmJldGE7PC9odG1sPiIiIgotICAgICAgICAgICAgdHJlZSA9IGV0cmVlLmZyb21z
dHJpbmcoZG9jLCBwYXJzZXI9c2VsZi5wYXJzZXIpLmdldHJvb3R0cmVlKCkKLSAgICAgICAgICAg
IHJlc3VsdCA9IHNlcmlhbGl6ZSh0cmVlLCB0cmVlPSJseG1sIiwgb21pdF9vcHRpb25hbF90YWdz
PUZhbHNlKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiIiI8IURPQ1RZUEUgaHRtbCBT
WVNURU0gImFib3V0OmxlZ2FjeS1jb21wYXQiPjxodG1sPlx1MDNCMjwvaHRtbD4iIiIsIHJlc3Vs
dCkKLQotICAgICAgICBkZWYgdGVzdEVudGl0eVhNTChzZWxmKToKLSAgICAgICAgICAgIGRvYyA9
ICIiIjwhRE9DVFlQRSBodG1sIFNZU1RFTSAiYWJvdXQ6bGVnYWN5LWNvbXBhdCI+PGh0bWw+Jmd0
OzwvaHRtbD4iIiIKLSAgICAgICAgICAgIHRyZWUgPSBldHJlZS5mcm9tc3RyaW5nKGRvYywgcGFy
c2VyPXNlbGYucGFyc2VyKS5nZXRyb290dHJlZSgpCi0gICAgICAgICAgICByZXN1bHQgPSBzZXJp
YWxpemUodHJlZSwgdHJlZT0ibHhtbCIsIG9taXRfb3B0aW9uYWxfdGFncz1GYWxzZSkKLSAgICAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoIiIiPCFET0NUWVBFIGh0bWwgU1lTVEVNICJhYm91dDps
ZWdhY3ktY29tcGF0Ij48aHRtbD4mZ3Q7PC9odG1sPiIiIiwgcmVzdWx0KQotCi0gICAgICAgIGRl
ZiB0ZXN0RW50aXR5Tm9SZXNvbHZlKHNlbGYpOgotICAgICAgICAgICAgZG9jID0gIiIiPCFET0NU
WVBFIGh0bWwgU1lTVEVNICJhYm91dDpsZWdhY3ktY29tcGF0Ij48aHRtbD4mYmV0YTs8L2h0bWw+
IiIiCi0gICAgICAgICAgICB0cmVlID0gZXRyZWUuZnJvbXN0cmluZyhkb2MsIHBhcnNlcj1zZWxm
LnBhcnNlcikuZ2V0cm9vdHRyZWUoKQotICAgICAgICAgICAgcmVzdWx0ID0gc2VyaWFsaXplKHRy
ZWUsIHRyZWU9Imx4bWwiLCBvbWl0X29wdGlvbmFsX3RhZ3M9RmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlX2VudGl0aWVzPUZhbHNlKQotICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgiIiI8IURPQ1RZUEUgaHRtbCBTWVNURU0gImFib3V0
OmxlZ2FjeS1jb21wYXQiPjxodG1sPiZiZXRhOzwvaHRtbD4iIiIsIHJlc3VsdCkKLQotCi1kZWYg
dGVzdF9zZXJpYWxpemVyKCk6Ci0gICAgZm9yIGZpbGVuYW1lIGluIGdldF9kYXRhX2ZpbGVzKCdz
ZXJpYWxpemVyJywgJyoudGVzdCcpOgotICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIGZw
OgotICAgICAgICAgICAgdGVzdHMgPSBqc29uLmxvYWQoZnApCi0gICAgICAgICAgICBmb3IgaW5k
ZXgsIHRlc3QgaW4gZW51bWVyYXRlKHRlc3RzWyd0ZXN0cyddKToKLSAgICAgICAgICAgICAgICB5
aWVsZCBydW5TZXJpYWxpemVyVGVzdCwgdGVzdFsiaW5wdXQiXSwgdGVzdFsiZXhwZWN0ZWQiXSwg
dGVzdC5nZXQoIm9wdGlvbnMiLCB7fSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVz
dF9zdHJlYW0ucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rfc3RyZWFtLnB5CmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyYTg3NmMxZGJmZGI4ZmU4YzE1ZGNiYmJlZWJlYWRhMmFkNDJk
OWVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdGVzdHMvdGVzdF9zdHJlYW0ucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxODMgKzAsMCBA
QAotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmlj
b2RlX2xpdGVyYWxzCi0KLWZyb20gLiBpbXBvcnQgc3VwcG9ydCAgIyBmbGFrZTg6IG5vcWEKLWlt
cG9ydCB1bml0dGVzdAotaW1wb3J0IGNvZGVjcwotZnJvbSBpbyBpbXBvcnQgQnl0ZXNJTwotCi1m
cm9tIHNpeC5tb3ZlcyBpbXBvcnQgaHR0cF9jbGllbnQKLQotZnJvbSBodG1sNWxpYi5pbnB1dHN0
cmVhbSBpbXBvcnQgKEJ1ZmZlcmVkU3RyZWFtLCBIVE1MSW5wdXRTdHJlYW0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSFRNTFVuaWNvZGVJbnB1dFN0cmVhbSwgSFRNTEJpbmFy
eUlucHV0U3RyZWFtKQotCi1jbGFzcyBCdWZmZXJlZFN0cmVhbVRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgotICAgIGRlZiB0ZXN0X2Jhc2ljKHNlbGYpOgotICAgICAgICBzID0gYiJhYmMiCi0gICAg
ICAgIGZwID0gQnVmZmVyZWRTdHJlYW0oQnl0ZXNJTyhzKSkKLSAgICAgICAgcmVhZCA9IGZwLnJl
YWQoMTApCi0gICAgICAgIGFzc2VydCByZWFkID09IHMKLQotICAgIGRlZiB0ZXN0X3JlYWRfbGVu
Z3RoKHNlbGYpOgotICAgICAgICBmcCA9IEJ1ZmZlcmVkU3RyZWFtKEJ5dGVzSU8oYiJhYmNkZWYi
KSkKLSAgICAgICAgcmVhZDEgPSBmcC5yZWFkKDEpCi0gICAgICAgIGFzc2VydCByZWFkMSA9PSBi
ImEiCi0gICAgICAgIHJlYWQyID0gZnAucmVhZCgyKQotICAgICAgICBhc3NlcnQgcmVhZDIgPT0g
YiJiYyIKLSAgICAgICAgcmVhZDMgPSBmcC5yZWFkKDMpCi0gICAgICAgIGFzc2VydCByZWFkMyA9
PSBiImRlZiIKLSAgICAgICAgcmVhZDQgPSBmcC5yZWFkKDQpCi0gICAgICAgIGFzc2VydCByZWFk
NCA9PSBiIiIKLQotICAgIGRlZiB0ZXN0X3RlbGwoc2VsZik6Ci0gICAgICAgIGZwID0gQnVmZmVy
ZWRTdHJlYW0oQnl0ZXNJTyhiImFiY2RlZiIpKQotICAgICAgICByZWFkMSA9IGZwLnJlYWQoMSkK
LSAgICAgICAgYXNzZXJ0IGZwLnRlbGwoKSA9PSAxCi0gICAgICAgIHJlYWQyID0gZnAucmVhZCgy
KQotICAgICAgICBhc3NlcnQgZnAudGVsbCgpID09IDMKLSAgICAgICAgcmVhZDMgPSBmcC5yZWFk
KDMpCi0gICAgICAgIGFzc2VydCBmcC50ZWxsKCkgPT0gNgotICAgICAgICByZWFkNCA9IGZwLnJl
YWQoNCkKLSAgICAgICAgYXNzZXJ0IGZwLnRlbGwoKSA9PSA2Ci0KLSAgICBkZWYgdGVzdF9zZWVr
KHNlbGYpOgotICAgICAgICBmcCA9IEJ1ZmZlcmVkU3RyZWFtKEJ5dGVzSU8oYiJhYmNkZWYiKSkK
LSAgICAgICAgcmVhZDEgPSBmcC5yZWFkKDEpCi0gICAgICAgIGFzc2VydCByZWFkMSA9PSBiImEi
Ci0gICAgICAgIGZwLnNlZWsoMCkKLSAgICAgICAgcmVhZDIgPSBmcC5yZWFkKDEpCi0gICAgICAg
IGFzc2VydCByZWFkMiA9PSBiImEiCi0gICAgICAgIHJlYWQzID0gZnAucmVhZCgyKQotICAgICAg
ICBhc3NlcnQgcmVhZDMgPT0gYiJiYyIKLSAgICAgICAgZnAuc2VlaygyKQotICAgICAgICByZWFk
NCA9IGZwLnJlYWQoMikKLSAgICAgICAgYXNzZXJ0IHJlYWQ0ID09IGIiY2QiCi0gICAgICAgIGZw
LnNlZWsoNCkKLSAgICAgICAgcmVhZDUgPSBmcC5yZWFkKDIpCi0gICAgICAgIGFzc2VydCByZWFk
NSA9PSBiImVmIgotCi0gICAgZGVmIHRlc3Rfc2Vla190ZWxsKHNlbGYpOgotICAgICAgICBmcCA9
IEJ1ZmZlcmVkU3RyZWFtKEJ5dGVzSU8oYiJhYmNkZWYiKSkKLSAgICAgICAgcmVhZDEgPSBmcC5y
ZWFkKDEpCi0gICAgICAgIGFzc2VydCBmcC50ZWxsKCkgPT0gMQotICAgICAgICBmcC5zZWVrKDAp
Ci0gICAgICAgIHJlYWQyID0gZnAucmVhZCgxKQotICAgICAgICBhc3NlcnQgZnAudGVsbCgpID09
IDEKLSAgICAgICAgcmVhZDMgPSBmcC5yZWFkKDIpCi0gICAgICAgIGFzc2VydCBmcC50ZWxsKCkg
PT0gMwotICAgICAgICBmcC5zZWVrKDIpCi0gICAgICAgIHJlYWQ0ID0gZnAucmVhZCgyKQotICAg
ICAgICBhc3NlcnQgZnAudGVsbCgpID09IDQKLSAgICAgICAgZnAuc2Vlayg0KQotICAgICAgICBy
ZWFkNSA9IGZwLnJlYWQoMikKLSAgICAgICAgYXNzZXJ0IGZwLnRlbGwoKSA9PSA2Ci0KLQotY2xh
c3MgSFRNTFVuaWNvZGVJbnB1dFN0cmVhbVNob3J0Q2h1bmsoSFRNTFVuaWNvZGVJbnB1dFN0cmVh
bSk6Ci0gICAgX2RlZmF1bHRDaHVua1NpemUgPSAyCi0KLQotY2xhc3MgSFRNTEJpbmFyeUlucHV0
U3RyZWFtU2hvcnRDaHVuayhIVE1MQmluYXJ5SW5wdXRTdHJlYW0pOgotICAgIF9kZWZhdWx0Q2h1
bmtTaXplID0gMgotCi0KLWNsYXNzIEhUTUxJbnB1dFN0cmVhbVRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgotCi0gICAgZGVmIHRlc3RfY2hhcl9hc2NpaShzZWxmKToKLSAgICAgICAgc3RyZWFtID0g
SFRNTElucHV0U3RyZWFtKGIiJyIsIGVuY29kaW5nPSdhc2NpaScpCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoc3RyZWFtLmNoYXJFbmNvZGluZ1swXSwgJ2FzY2lpJykKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChzdHJlYW0uY2hhcigpLCAiJyIpCi0KLSAgICBkZWYgdGVzdF9jaGFyX3V0Zjgo
c2VsZik6Ci0gICAgICAgIHN0cmVhbSA9IEhUTUxJbnB1dFN0cmVhbSgnXHUyMDE4Jy5lbmNvZGUo
J3V0Zi04JyksIGVuY29kaW5nPSd1dGYtOCcpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3Ry
ZWFtLmNoYXJFbmNvZGluZ1swXSwgJ3V0Zi04JykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHJlYW0uY2hhcigpLCAnXHUyMDE4JykKLQotICAgIGRlZiB0ZXN0X2NoYXJfd2luMTI1MihzZWxm
KToKLSAgICAgICAgc3RyZWFtID0gSFRNTElucHV0U3RyZWFtKCJceGE5XHhmMVx1MjAxOSIuZW5j
b2RlKCd3aW5kb3dzLTEyNTInKSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uY2hh
ckVuY29kaW5nWzBdLCAnd2luZG93cy0xMjUyJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHJlYW0uY2hhcigpLCAiXHhhOSIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmNo
YXIoKSwgIlx4ZjEiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyKCksICJc
dTIwMTkiKQotCi0gICAgZGVmIHRlc3RfYm9tKHNlbGYpOgotICAgICAgICBzdHJlYW0gPSBIVE1M
SW5wdXRTdHJlYW0oY29kZWNzLkJPTV9VVEY4ICsgYiInIikKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChzdHJlYW0uY2hhckVuY29kaW5nWzBdLCAndXRmLTgnKQotICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHN0cmVhbS5jaGFyKCksICInIikKLQotICAgIGRlZiB0ZXN0X3V0Zl8xNihzZWxmKToK
LSAgICAgICAgc3RyZWFtID0gSFRNTElucHV0U3RyZWFtKCgnICcgKiAxMDI1KS5lbmNvZGUoJ3V0
Zi0xNicpKQotICAgICAgICBzZWxmLmFzc2VydFRydWUoc3RyZWFtLmNoYXJFbmNvZGluZ1swXSBp
biBbJ3V0Zi0xNi1sZScsICd1dGYtMTYtYmUnXSwgc3RyZWFtLmNoYXJFbmNvZGluZykKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChsZW4oc3RyZWFtLmNoYXJzVW50aWwoJyAnLCBUcnVlKSksIDEw
MjUpCi0KLSAgICBkZWYgdGVzdF9uZXdsaW5lcyhzZWxmKToKLSAgICAgICAgc3RyZWFtID0gSFRN
TEJpbmFyeUlucHV0U3RyZWFtU2hvcnRDaHVuayhjb2RlY3MuQk9NX1VURjggKyBiImFcbmJiXHJc
bmNjY1xyZGRkZHhlIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24o
KSwgKDEsIDApKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyc1VudGlsKCdj
JyksICJhXG5iYlxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24o
KSwgKDMsIDApKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyc1VudGlsKCd4
JyksICJjY2NcbmRkZGQiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5wb3NpdGlv
bigpLCAoNCwgNCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLmNoYXJzVW50aWwo
J2UnKSwgIngiKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5wb3NpdGlvbigpLCAo
NCwgNSkpCi0KLSAgICBkZWYgdGVzdF9uZXdsaW5lczIoc2VsZik6Ci0gICAgICAgIHNpemUgPSBI
VE1MVW5pY29kZUlucHV0U3RyZWFtLl9kZWZhdWx0Q2h1bmtTaXplCi0gICAgICAgIHN0cmVhbSA9
IEhUTUxJbnB1dFN0cmVhbSgiXHIiICogc2l6ZSArICJcbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoc3RyZWFtLmNoYXJzVW50aWwoJ3gnKSwgIlxuIiAqIHNpemUpCi0KLSAgICBkZWYgdGVz
dF9wb3NpdGlvbihzZWxmKToKLSAgICAgICAgc3RyZWFtID0gSFRNTEJpbmFyeUlucHV0U3RyZWFt
U2hvcnRDaHVuayhjb2RlY3MuQk9NX1VURjggKyBiImFcbmJiXG5jY2NcbmRkZGVcbmZcbmdoIikK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24oKSwgKDEsIDApKQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyc1VudGlsKCdjJyksICJhXG5iYlxuIikK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24oKSwgKDMsIDApKQotICAg
ICAgICBzdHJlYW0udW5nZXQoIlxuIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0u
cG9zaXRpb24oKSwgKDIsIDIpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFy
c1VudGlsKCdjJyksICJcbiIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLnBvc2l0
aW9uKCksICgzLCAwKSkKLSAgICAgICAgc3RyZWFtLnVuZ2V0KCJcbiIpCi0gICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwoc3RyZWFtLnBvc2l0aW9uKCksICgyLCAyKSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzdHJlYW0uY2hhcigpLCAiXG4iKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0
cmVhbS5wb3NpdGlvbigpLCAoMywgMCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFt
LmNoYXJzVW50aWwoJ2UnKSwgImNjY1xuZGRkIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHJlYW0ucG9zaXRpb24oKSwgKDQsIDMpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVh
bS5jaGFyc1VudGlsKCdoJyksICJlXG5mXG5nIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChz
dHJlYW0ucG9zaXRpb24oKSwgKDYsIDEpKQotCi0gICAgZGVmIHRlc3RfcG9zaXRpb24yKHNlbGYp
OgotICAgICAgICBzdHJlYW0gPSBIVE1MVW5pY29kZUlucHV0U3RyZWFtU2hvcnRDaHVuaygiYWJj
XG5kIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24oKSwgKDEsIDAp
KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyKCksICJhIikKLSAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRpb24oKSwgKDEsIDEpKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyKCksICJiIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzdHJlYW0ucG9zaXRpb24oKSwgKDEsIDIpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0
cmVhbS5jaGFyKCksICJjIikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0ucG9zaXRp
b24oKSwgKDEsIDMpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0cmVhbS5jaGFyKCksICJc
biIpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RyZWFtLnBvc2l0aW9uKCksICgyLCAwKSkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdHJlYW0uY2hhcigpLCAiZCIpCi0gICAgICAgIHNl
bGYuYXNzZXJ0RXF1YWwoc3RyZWFtLnBvc2l0aW9uKCksICgyLCAxKSkKLQotICAgIGRlZiB0ZXN0
X3B5dGhvbl9pc3N1ZV8yMDAwNyhzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAgIE1ha2Ugc3Vy
ZSB3ZSBoYXZlIGEgd29yay1hcm91bmQgZm9yIFB5dGhvbiBidWcgIzIwMDA3Ci0gICAgICAgIGh0
dHA6Ly9idWdzLnB5dGhvbi5vcmcvaXNzdWUyMDAwNwotICAgICAgICAiIiIKLSAgICAgICAgY2xh
c3MgRmFrZVNvY2tldChvYmplY3QpOgotICAgICAgICAgICAgZGVmIG1ha2VmaWxlKHNlbGYsIF9t
b2RlLCBfYnVmc2l6ZT1Ob25lKToKLSAgICAgICAgICAgICAgICByZXR1cm4gQnl0ZXNJTyhiIkhU
VFAvMS4xIDIwMCBPa1xyXG5cclxuVGV4dCIpCi0KLSAgICAgICAgc291cmNlID0gaHR0cF9jbGll
bnQuSFRUUFJlc3BvbnNlKEZha2VTb2NrZXQoKSkKLSAgICAgICAgc291cmNlLmJlZ2luKCkKLSAg
ICAgICAgc3RyZWFtID0gSFRNTElucHV0U3RyZWFtKHNvdXJjZSkKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChzdHJlYW0uY2hhcnNVbnRpbCgiICIpLCAiVGV4dCIpCi0KLQotZGVmIGJ1aWxkVGVz
dFN1aXRlKCk6Ci0gICAgcmV0dXJuIHVuaXR0ZXN0LmRlZmF1bHRUZXN0TG9hZGVyLmxvYWRUZXN0
c0Zyb21OYW1lKF9fbmFtZV9fKQotCi0KLWRlZiBtYWluKCk6Ci0gICAgYnVpbGRUZXN0U3VpdGUo
KQotICAgIHVuaXR0ZXN0Lm1haW4oKQotCi1pZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgotICAg
IG1haW4oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3Rva2VuaXplci5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdGVzdHMvdGVzdF90b2tlbml6ZXIucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDkwMzE1YWIzNWQyNDYwNGM1YTljMzRiMjQwZjg5MGNlOWE0YTdlMDguLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0
cy90ZXN0X3Rva2VuaXplci5weQorKysgL2Rldi9udWxsCkBAIC0xLDE4OCArMCwwIEBACi1mcm9t
IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0
ZXJhbHMKLQotaW1wb3J0IGpzb24KLWltcG9ydCB3YXJuaW5ncwotaW1wb3J0IHJlCi0KLWZyb20g
LnN1cHBvcnQgaW1wb3J0IGdldF9kYXRhX2ZpbGVzCi0KLWZyb20gaHRtbDVsaWIudG9rZW5pemVy
IGltcG9ydCBIVE1MVG9rZW5pemVyCi1mcm9tIGh0bWw1bGliIGltcG9ydCBjb25zdGFudHMKLQot
Ci1jbGFzcyBUb2tlbml6ZXJUZXN0UGFyc2VyKG9iamVjdCk6Ci0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIGluaXRpYWxTdGF0ZSwgbGFzdFN0YXJ0VGFnPU5vbmUpOgotICAgICAgICBzZWxmLnRva2Vu
aXplciA9IEhUTUxUb2tlbml6ZXIKLSAgICAgICAgc2VsZi5fc3RhdGUgPSBpbml0aWFsU3RhdGUK
LSAgICAgICAgc2VsZi5fbGFzdFN0YXJ0VGFnID0gbGFzdFN0YXJ0VGFnCi0KLSAgICBkZWYgcGFy
c2Uoc2VsZiwgc3RyZWFtLCBlbmNvZGluZz1Ob25lLCBpbm5lckhUTUw9RmFsc2UpOgotICAgICAg
ICB0b2tlbml6ZXIgPSBzZWxmLnRva2VuaXplcihzdHJlYW0sIGVuY29kaW5nKQotICAgICAgICBz
ZWxmLm91dHB1dFRva2VucyA9IFtdCi0KLSAgICAgICAgdG9rZW5pemVyLnN0YXRlID0gZ2V0YXR0
cih0b2tlbml6ZXIsIHNlbGYuX3N0YXRlKQotICAgICAgICBpZiBzZWxmLl9sYXN0U3RhcnRUYWcg
aXMgbm90IE5vbmU6Ci0gICAgICAgICAgICB0b2tlbml6ZXIuY3VycmVudFRva2VuID0geyJ0eXBl
IjogInN0YXJ0VGFnIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5h
bWUiOiBzZWxmLl9sYXN0U3RhcnRUYWd9Ci0KLSAgICAgICAgdHlwZXMgPSBkaWN0KCh2LCBrKSBm
b3IgaywgdiBpbiBjb25zdGFudHMudG9rZW5UeXBlcy5pdGVtcygpKQotICAgICAgICBmb3IgdG9r
ZW4gaW4gdG9rZW5pemVyOgotICAgICAgICAgICAgZ2V0YXR0cihzZWxmLCAncHJvY2VzcyVzJyAl
IHR5cGVzW3Rva2VuWyJ0eXBlIl1dKSh0b2tlbikKLQotICAgICAgICByZXR1cm4gc2VsZi5vdXRw
dXRUb2tlbnMKLQotICAgIGRlZiBwcm9jZXNzRG9jdHlwZShzZWxmLCB0b2tlbik6Ci0gICAgICAg
IHNlbGYub3V0cHV0VG9rZW5zLmFwcGVuZChbIkRPQ1RZUEUiLCB0b2tlblsibmFtZSJdLCB0b2tl
blsicHVibGljSWQiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsi
c3lzdGVtSWQiXSwgdG9rZW5bImNvcnJlY3QiXV0pCi0KLSAgICBkZWYgcHJvY2Vzc1N0YXJ0VGFn
KHNlbGYsIHRva2VuKToKLSAgICAgICAgc2VsZi5vdXRwdXRUb2tlbnMuYXBwZW5kKFsiU3RhcnRU
YWciLCB0b2tlblsibmFtZSJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRp
Y3QodG9rZW5bImRhdGEiXVs6Oi0xXSksIHRva2VuWyJzZWxmQ2xvc2luZyJdXSkKLQotICAgIGRl
ZiBwcm9jZXNzRW1wdHlUYWcoc2VsZiwgdG9rZW4pOgotICAgICAgICBpZiB0b2tlblsibmFtZSJd
IG5vdCBpbiBjb25zdGFudHMudm9pZEVsZW1lbnRzOgotICAgICAgICAgICAgc2VsZi5vdXRwdXRU
b2tlbnMuYXBwZW5kKCJQYXJzZUVycm9yIikKLSAgICAgICAgc2VsZi5vdXRwdXRUb2tlbnMuYXBw
ZW5kKFsiU3RhcnRUYWciLCB0b2tlblsibmFtZSJdLCBkaWN0KHRva2VuWyJkYXRhIl1bOjotMV0p
XSkKLQotICAgIGRlZiBwcm9jZXNzRW5kVGFnKHNlbGYsIHRva2VuKToKLSAgICAgICAgc2VsZi5v
dXRwdXRUb2tlbnMuYXBwZW5kKFsiRW5kVGFnIiwgdG9rZW5bIm5hbWUiXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsic2VsZkNsb3NpbmciXV0pCi0KLSAgICBkZWYg
cHJvY2Vzc0NvbW1lbnQoc2VsZiwgdG9rZW4pOgotICAgICAgICBzZWxmLm91dHB1dFRva2Vucy5h
cHBlbmQoWyJDb21tZW50IiwgdG9rZW5bImRhdGEiXV0pCi0KLSAgICBkZWYgcHJvY2Vzc1NwYWNl
Q2hhcmFjdGVycyhzZWxmLCB0b2tlbik6Ci0gICAgICAgIHNlbGYub3V0cHV0VG9rZW5zLmFwcGVu
ZChbIkNoYXJhY3RlciIsIHRva2VuWyJkYXRhIl1dKQotICAgICAgICBzZWxmLnByb2Nlc3NTcGFj
ZUNoYXJhY3RlcnMgPSBzZWxmLnByb2Nlc3NDaGFyYWN0ZXJzCi0KLSAgICBkZWYgcHJvY2Vzc0No
YXJhY3RlcnMoc2VsZiwgdG9rZW4pOgotICAgICAgICBzZWxmLm91dHB1dFRva2Vucy5hcHBlbmQo
WyJDaGFyYWN0ZXIiLCB0b2tlblsiZGF0YSJdXSkKLQotICAgIGRlZiBwcm9jZXNzRU9GKHNlbGYs
IHRva2VuKToKLSAgICAgICAgcGFzcwotCi0gICAgZGVmIHByb2Nlc3NQYXJzZUVycm9yKHNlbGYs
IHRva2VuKToKLSAgICAgICAgc2VsZi5vdXRwdXRUb2tlbnMuYXBwZW5kKFsiUGFyc2VFcnJvciIs
IHRva2VuWyJkYXRhIl1dKQotCi0KLWRlZiBjb25jYXRlbmF0ZUNoYXJhY3RlclRva2Vucyh0b2tl
bnMpOgotICAgIG91dHB1dFRva2VucyA9IFtdCi0gICAgZm9yIHRva2VuIGluIHRva2VuczoKLSAg
ICAgICAgaWYgIlBhcnNlRXJyb3IiIG5vdCBpbiB0b2tlbiBhbmQgdG9rZW5bMF0gPT0gIkNoYXJh
Y3RlciI6Ci0gICAgICAgICAgICBpZiAob3V0cHV0VG9rZW5zIGFuZCAiUGFyc2VFcnJvciIgbm90
IGluIG91dHB1dFRva2Vuc1stMV0gYW5kCi0gICAgICAgICAgICAgICAgICAgIG91dHB1dFRva2Vu
c1stMV1bMF0gPT0gIkNoYXJhY3RlciIpOgotICAgICAgICAgICAgICAgIG91dHB1dFRva2Vuc1st
MV1bMV0gKz0gdG9rZW5bMV0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0
cHV0VG9rZW5zLmFwcGVuZCh0b2tlbikKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIG91dHB1
dFRva2Vucy5hcHBlbmQodG9rZW4pCi0gICAgcmV0dXJuIG91dHB1dFRva2VucwotCi0KLWRlZiBu
b3JtYWxpemVUb2tlbnModG9rZW5zKToKLSAgICAjIFRPRE86IGNvbnZlcnQgdGVzdHMgdG8gcmVm
bGVjdCBhcnJheXMKLSAgICBmb3IgaSwgdG9rZW4gaW4gZW51bWVyYXRlKHRva2Vucyk6Ci0gICAg
ICAgIGlmIHRva2VuWzBdID09ICdQYXJzZUVycm9yJzoKLSAgICAgICAgICAgIHRva2Vuc1tpXSA9
IHRva2VuWzBdCi0gICAgcmV0dXJuIHRva2VucwotCi0KLWRlZiB0b2tlbnNNYXRjaChleHBlY3Rl
ZFRva2VucywgcmVjZWl2ZWRUb2tlbnMsIGlnbm9yZUVycm9yT3JkZXIsCi0gICAgICAgICAgICAg
ICAgaWdub3JlRXJyb3JzPUZhbHNlKToKLSAgICAiIiJUZXN0IHdoZXRoZXIgdGhlIHRlc3QgaGFz
IHBhc3NlZCBvciBmYWlsZWQKLQotICAgIElmIHRoZSBpZ25vcmVFcnJvck9yZGVyIGZsYWcgaXMg
c2V0IHRvIHRydWUgd2UgZG9uJ3QgdGVzdCB0aGUgcmVsYXRpdmUKLSAgICBwb3NpdGlvbnMgb2Yg
cGFyc2UgZXJyb3JzIGFuZCBub24gcGFyc2UgZXJyb3JzCi0gICAgIiIiCi0gICAgY2hlY2tTZWxm
Q2xvc2luZyA9IEZhbHNlCi0gICAgZm9yIHRva2VuIGluIGV4cGVjdGVkVG9rZW5zOgotICAgICAg
ICBpZiAodG9rZW5bMF0gPT0gIlN0YXJ0VGFnIiBhbmQgbGVuKHRva2VuKSA9PSA0Ci0gICAgICAg
ICAgICAgICAgb3IgdG9rZW5bMF0gPT0gIkVuZFRhZyIgYW5kIGxlbih0b2tlbikgPT0gMyk6Ci0g
ICAgICAgICAgICBjaGVja1NlbGZDbG9zaW5nID0gVHJ1ZQotICAgICAgICAgICAgYnJlYWsKLQot
ICAgIGlmIG5vdCBjaGVja1NlbGZDbG9zaW5nOgotICAgICAgICBmb3IgdG9rZW4gaW4gcmVjZWl2
ZWRUb2tlbnM6Ci0gICAgICAgICAgICBpZiB0b2tlblswXSA9PSAiU3RhcnRUYWciIG9yIHRva2Vu
WzBdID09ICJFbmRUYWciOgotICAgICAgICAgICAgICAgIHRva2VuLnBvcCgpCi0KLSAgICBpZiBu
b3QgaWdub3JlRXJyb3JPcmRlciBhbmQgbm90IGlnbm9yZUVycm9yczoKLSAgICAgICAgcmV0dXJu
IGV4cGVjdGVkVG9rZW5zID09IHJlY2VpdmVkVG9rZW5zCi0gICAgZWxzZToKLSAgICAgICAgIyBT
b3J0IHRoZSB0b2tlbnMgaW50byB0d28gZ3JvdXBzOyBub24tcGFyc2UgZXJyb3JzIGFuZCBwYXJz
ZSBlcnJvcnMKLSAgICAgICAgdG9rZW5zID0geyJleHBlY3RlZCI6IFtbXSwgW11dLCAicmVjZWl2
ZWQiOiBbW10sIFtdXX0KLSAgICAgICAgZm9yIHRva2VuVHlwZSwgdG9rZW5MaXN0IGluIHppcChs
aXN0KHRva2Vucy5rZXlzKCkpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIChleHBlY3RlZFRva2VucywgcmVjZWl2ZWRUb2tlbnMpKToKLSAgICAgICAgICAgIGZvciB0
b2tlbiBpbiB0b2tlbkxpc3Q6Ci0gICAgICAgICAgICAgICAgaWYgdG9rZW4gIT0gIlBhcnNlRXJy
b3IiOgotICAgICAgICAgICAgICAgICAgICB0b2tlbnNbdG9rZW5UeXBlXVswXS5hcHBlbmQodG9r
ZW4pCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgaWYgbm90IGln
bm9yZUVycm9yczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHRva2Vuc1t0b2tlblR5cGVdWzFd
LmFwcGVuZCh0b2tlbikKLSAgICAgICAgcmV0dXJuIHRva2Vuc1siZXhwZWN0ZWQiXSA9PSB0b2tl
bnNbInJlY2VpdmVkIl0KLQotCi1kZWYgdW5lc2NhcGUodGVzdCk6Ci0gICAgZGVmIGRlY29kZShp
bnApOgotICAgICAgICByZXR1cm4gaW5wLmVuY29kZSgidXRmLTgiKS5kZWNvZGUoInVuaWNvZGUt
ZXNjYXBlIikKLQotICAgIHRlc3RbImlucHV0Il0gPSBkZWNvZGUodGVzdFsiaW5wdXQiXSkKLSAg
ICBmb3IgdG9rZW4gaW4gdGVzdFsib3V0cHV0Il06Ci0gICAgICAgIGlmIHRva2VuID09ICJQYXJz
ZUVycm9yIjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICB0b2tlblsxXSA9IGRlY29kZSh0b2tlblsxXSkKLSAgICAgICAgICAgIGlmIGxlbih0b2tlbikg
PiAyOgotICAgICAgICAgICAgICAgIGZvciBrZXksIHZhbHVlIGluIHRva2VuWzJdOgotICAgICAg
ICAgICAgICAgICAgICBkZWwgdG9rZW5bMl1ba2V5XQotICAgICAgICAgICAgICAgICAgICB0b2tl
blsyXVtkZWNvZGUoa2V5KV0gPSBkZWNvZGUodmFsdWUpCi0gICAgcmV0dXJuIHRlc3QKLQotCi1k
ZWYgcnVuVG9rZW5pemVyVGVzdCh0ZXN0KToKLSAgICB3YXJuaW5ncy5yZXNldHdhcm5pbmdzKCkK
LSAgICB3YXJuaW5ncy5zaW1wbGVmaWx0ZXIoImVycm9yIikKLQotICAgIGV4cGVjdGVkID0gY29u
Y2F0ZW5hdGVDaGFyYWN0ZXJUb2tlbnModGVzdFsnb3V0cHV0J10pCi0gICAgaWYgJ2xhc3RTdGFy
dFRhZycgbm90IGluIHRlc3Q6Ci0gICAgICAgIHRlc3RbJ2xhc3RTdGFydFRhZyddID0gTm9uZQot
ICAgIHBhcnNlciA9IFRva2VuaXplclRlc3RQYXJzZXIodGVzdFsnaW5pdGlhbFN0YXRlJ10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0WydsYXN0U3RhcnRUYWcnXSkKLSAg
ICB0b2tlbnMgPSBwYXJzZXIucGFyc2UodGVzdFsnaW5wdXQnXSkKLSAgICB0b2tlbnMgPSBjb25j
YXRlbmF0ZUNoYXJhY3RlclRva2Vucyh0b2tlbnMpCi0gICAgcmVjZWl2ZWQgPSBub3JtYWxpemVU
b2tlbnModG9rZW5zKQotICAgIGVycm9yTXNnID0gIlxuIi5qb2luKFsiXG5cbkluaXRpYWwgc3Rh
dGU6IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFsnaW5pdGlhbFN0YXRlJ10sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICJcbklucHV0OiIsIHRlc3RbJ2lucHV0J10sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICJcbkV4cGVjdGVkOiIsIHJlcHIoZXhwZWN0ZWQpLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAiXG5yZWNlaXZlZDoiLCByZXByKHRva2VucyldKQotICAg
IGVycm9yTXNnID0gZXJyb3JNc2cKLSAgICBpZ25vcmVFcnJvck9yZGVyID0gdGVzdC5nZXQoJ2ln
bm9yZUVycm9yT3JkZXInLCBGYWxzZSkKLSAgICBhc3NlcnQgdG9rZW5zTWF0Y2goZXhwZWN0ZWQs
IHJlY2VpdmVkLCBpZ25vcmVFcnJvck9yZGVyLCBUcnVlKSwgZXJyb3JNc2cKLQotCi1kZWYgX2Rv
Q2FwaXRhbGl6ZShtYXRjaCk6Ci0gICAgcmV0dXJuIG1hdGNoLmdyb3VwKDEpLnVwcGVyKCkKLQot
X2NhcGl0YWxpemVSZSA9IHJlLmNvbXBpbGUociJcVysoXHcpIikuc3ViCi0KLQotZGVmIGNhcGl0
YWxpemUocyk6Ci0gICAgcyA9IHMubG93ZXIoKQotICAgIHMgPSBfY2FwaXRhbGl6ZVJlKF9kb0Nh
cGl0YWxpemUsIHMpCi0gICAgcmV0dXJuIHMKLQotCi1kZWYgdGVzdFRva2VuaXplcigpOgotICAg
IGZvciBmaWxlbmFtZSBpbiBnZXRfZGF0YV9maWxlcygndG9rZW5pemVyJywgJyoudGVzdCcpOgot
ICAgICAgICB3aXRoIG9wZW4oZmlsZW5hbWUpIGFzIGZwOgotICAgICAgICAgICAgdGVzdHMgPSBq
c29uLmxvYWQoZnApCi0gICAgICAgICAgICBpZiAndGVzdHMnIGluIHRlc3RzOgotICAgICAgICAg
ICAgICAgIGZvciBpbmRleCwgdGVzdCBpbiBlbnVtZXJhdGUodGVzdHNbJ3Rlc3RzJ10pOgotICAg
ICAgICAgICAgICAgICAgICBpZiAnaW5pdGlhbFN0YXRlcycgbm90IGluIHRlc3Q6Ci0gICAgICAg
ICAgICAgICAgICAgICAgICB0ZXN0WyJpbml0aWFsU3RhdGVzIl0gPSBbIkRhdGEgc3RhdGUiXQot
ICAgICAgICAgICAgICAgICAgICBpZiAnZG91YmxlRXNjYXBlZCcgaW4gdGVzdDoKLSAgICAgICAg
ICAgICAgICAgICAgICAgIHRlc3QgPSB1bmVzY2FwZSh0ZXN0KQotICAgICAgICAgICAgICAgICAg
ICBmb3IgaW5pdGlhbFN0YXRlIGluIHRlc3RbImluaXRpYWxTdGF0ZXMiXToKLSAgICAgICAgICAg
ICAgICAgICAgICAgIHRlc3RbImluaXRpYWxTdGF0ZSJdID0gY2FwaXRhbGl6ZShpbml0aWFsU3Rh
dGUpCi0gICAgICAgICAgICAgICAgICAgICAgICB5aWVsZCBydW5Ub2tlbml6ZXJUZXN0LCB0ZXN0
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfdHJlZWFkYXB0ZXJzLnB5IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90ZXN0cy90ZXN0X3RyZWVhZGFwdGVycy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNWYzOGI2YzMzZDI1OTkwYjYxZTU0ZDY1NWIzODljYTI3YTJhMjE5MC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3Rz
L3Rlc3RfdHJlZWFkYXB0ZXJzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotZnJv
bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xp
dGVyYWxzCi0KLWZyb20gLiBpbXBvcnQgc3VwcG9ydCAgIyBmbGFrZTg6IG5vcWEKLQotaW1wb3J0
IGh0bWw1bGliCi1mcm9tIGh0bWw1bGliLnRyZWVhZGFwdGVycyBpbXBvcnQgc2F4Ci1mcm9tIGh0
bWw1bGliLnRyZWV3YWxrZXJzIGltcG9ydCBnZXRUcmVlV2Fsa2VyCi0KLQotZGVmIHRlc3RfdG9f
c2F4KCk6Ci0gICAgaGFuZGxlciA9IHN1cHBvcnQuVHJhY2luZ1NheEhhbmRsZXIoKQotICAgIHRy
ZWUgPSBodG1sNWxpYi5wYXJzZSgiIiI8aHRtbCB4bWw6bGFuZz0iZW4iPgotICAgICAgICA8dGl0
bGU+RGlyZWN0b3J5IExpc3Rpbmc8L3RpdGxlPgotICAgICAgICA8YSBocmVmPSIvIj48Yi8+PC9w
PgotICAgICIiIiwgdHJlZWJ1aWxkZXI9ImV0cmVlIikKLSAgICB3YWxrZXIgPSBnZXRUcmVlV2Fs
a2VyKCJldHJlZSIpCi0gICAgc2F4LnRvX3NheCh3YWxrZXIodHJlZSksIGhhbmRsZXIpCi0gICAg
ZXhwZWN0ZWQgPSBbCi0gICAgICAgICdzdGFydERvY3VtZW50JywKLSAgICAgICAgKCdzdGFydEVs
ZW1lbnROUycsICgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdodG1sJyksCi0gICAg
ICAgICAgICAnaHRtbCcsIHsoTm9uZSwgJ3htbDpsYW5nJyk6ICdlbid9KSwKLSAgICAgICAgKCdz
dGFydEVsZW1lbnROUycsICgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdoZWFkJyks
ICdoZWFkJywge30pLAotICAgICAgICAoJ3N0YXJ0RWxlbWVudE5TJywgKCdodHRwOi8vd3d3Lncz
Lm9yZy8xOTk5L3hodG1sJywgJ3RpdGxlJyksICd0aXRsZScsIHt9KSwKLSAgICAgICAgKCdjaGFy
YWN0ZXJzJywgJ0RpcmVjdG9yeSBMaXN0aW5nJyksCi0gICAgICAgICgnZW5kRWxlbWVudE5TJywg
KCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ3RpdGxlJyksICd0aXRsZScpLAotICAg
ICAgICAoJ2NoYXJhY3RlcnMnLCAnXG4gICAgICAgICcpLAotICAgICAgICAoJ2VuZEVsZW1lbnRO
UycsICgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdoZWFkJyksICdoZWFkJyksCi0g
ICAgICAgICgnc3RhcnRFbGVtZW50TlMnLCAgKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1s
JywgJ2JvZHknKSwgJ2JvZHknLCB7fSksCi0gICAgICAgICgnc3RhcnRFbGVtZW50TlMnLCAoJ2h0
dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnYScpLCAnYScsIHsoTm9uZSwgJ2hyZWYnKTog
Jy8nfSksCi0gICAgICAgICgnc3RhcnRFbGVtZW50TlMnLCAoJ2h0dHA6Ly93d3cudzMub3JnLzE5
OTkveGh0bWwnLCAnYicpLCAnYicsIHt9KSwKLSAgICAgICAgKCdzdGFydEVsZW1lbnROUycsICgn
aHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdwJyksICdwJywge30pLAotICAgICAgICAo
J2VuZEVsZW1lbnROUycsICgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdwJyksICdw
JyksCi0gICAgICAgICgnY2hhcmFjdGVycycsICdcbiAgICAnKSwKLSAgICAgICAgKCdlbmRFbGVt
ZW50TlMnLCAoJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnYicpLCAnYicpLAotICAg
ICAgICAoJ2VuZEVsZW1lbnROUycsICgnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdh
JyksICdhJyksCi0gICAgICAgICgnZW5kRWxlbWVudE5TJywgKCdodHRwOi8vd3d3LnczLm9yZy8x
OTk5L3hodG1sJywgJ2JvZHknKSwgJ2JvZHknKSwKLSAgICAgICAgKCdlbmRFbGVtZW50TlMnLCAo
J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnaHRtbCcpLCAnaHRtbCcpLAotICAgICAg
ICAnZW5kRG9jdW1lbnQnLAotICAgIF0KLSAgICBhc3NlcnQgZXhwZWN0ZWQgPT0gaGFuZGxlci52
aXNpdGVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfdHJlZXdhbGtlcnMucHkg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfdHJlZXdhbGtlcnMucHkKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGI3NzU2MDM1YzI2MzE1YjQ0NTY4YjJmNTgxNDY5ZDYxZTkyMzQyZjMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
ZXN0cy90ZXN0X3RyZWV3YWxrZXJzLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMzUzICswLDAgQEAK
LWZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZpc2lvbiwgdW5pY29k
ZV9saXRlcmFscwotCi1pbXBvcnQgb3MKLWltcG9ydCBzeXMKLWltcG9ydCB1bml0dGVzdAotaW1w
b3J0IHdhcm5pbmdzCi1mcm9tIGRpZmZsaWIgaW1wb3J0IHVuaWZpZWRfZGlmZgotCi10cnk6Ci0g
ICAgdW5pdHRlc3QuVGVzdENhc2UuYXNzZXJ0RXF1YWwKLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoK
LSAgICB1bml0dGVzdC5UZXN0Q2FzZS5hc3NlcnRFcXVhbCA9IHVuaXR0ZXN0LlRlc3RDYXNlLmFz
c2VydEVxdWFscwotCi1mcm9tIC5zdXBwb3J0IGltcG9ydCBnZXRfZGF0YV9maWxlcywgVGVzdERh
dGEsIGNvbnZlcnRFeHBlY3RlZAotCi1mcm9tIGh0bWw1bGliIGltcG9ydCBodG1sNXBhcnNlciwg
dHJlZXdhbGtlcnMsIHRyZWVidWlsZGVycywgY29uc3RhbnRzCi0KLQotZGVmIFB1bGxET01BZGFw
dGVyKG5vZGUpOgotICAgIGZyb20geG1sLmRvbSBpbXBvcnQgTm9kZQotICAgIGZyb20geG1sLmRv
bS5wdWxsZG9tIGltcG9ydCBTVEFSVF9FTEVNRU5ULCBFTkRfRUxFTUVOVCwgQ09NTUVOVCwgQ0hB
UkFDVEVSUwotCi0gICAgaWYgbm9kZS5ub2RlVHlwZSBpbiAoTm9kZS5ET0NVTUVOVF9OT0RFLCBO
b2RlLkRPQ1VNRU5UX0ZSQUdNRU5UX05PREUpOgotICAgICAgICBmb3IgY2hpbGROb2RlIGluIG5v
ZGUuY2hpbGROb2RlczoKLSAgICAgICAgICAgIGZvciBldmVudCBpbiBQdWxsRE9NQWRhcHRlcihj
aGlsZE5vZGUpOgotICAgICAgICAgICAgICAgIHlpZWxkIGV2ZW50Ci0KLSAgICBlbGlmIG5vZGUu
bm9kZVR5cGUgPT0gTm9kZS5ET0NVTUVOVF9UWVBFX05PREU6Ci0gICAgICAgIHJhaXNlIE5vdElt
cGxlbWVudGVkRXJyb3IoIkRPQ1RZUEUgbm9kZXMgYXJlIG5vdCBzdXBwb3J0ZWQgYnkgUHVsbERP
TSIpCi0KLSAgICBlbGlmIG5vZGUubm9kZVR5cGUgPT0gTm9kZS5DT01NRU5UX05PREU6Ci0gICAg
ICAgIHlpZWxkIENPTU1FTlQsIG5vZGUKLQotICAgIGVsaWYgbm9kZS5ub2RlVHlwZSBpbiAoTm9k
ZS5URVhUX05PREUsIE5vZGUuQ0RBVEFfU0VDVElPTl9OT0RFKToKLSAgICAgICAgeWllbGQgQ0hB
UkFDVEVSUywgbm9kZQotCi0gICAgZWxpZiBub2RlLm5vZGVUeXBlID09IE5vZGUuRUxFTUVOVF9O
T0RFOgotICAgICAgICB5aWVsZCBTVEFSVF9FTEVNRU5ULCBub2RlCi0gICAgICAgIGZvciBjaGls
ZE5vZGUgaW4gbm9kZS5jaGlsZE5vZGVzOgotICAgICAgICAgICAgZm9yIGV2ZW50IGluIFB1bGxE
T01BZGFwdGVyKGNoaWxkTm9kZSk6Ci0gICAgICAgICAgICAgICAgeWllbGQgZXZlbnQKLSAgICAg
ICAgeWllbGQgRU5EX0VMRU1FTlQsIG5vZGUKLQotICAgIGVsc2U6Ci0gICAgICAgIHJhaXNlIE5v
dEltcGxlbWVudGVkRXJyb3IoIk5vZGUgdHlwZSBub3Qgc3VwcG9ydGVkOiAiICsgc3RyKG5vZGUu
bm9kZVR5cGUpKQotCi10cmVlVHlwZXMgPSB7Ci0gICAgIkRPTSI6IHsiYnVpbGRlciI6IHRyZWVi
dWlsZGVycy5nZXRUcmVlQnVpbGRlcigiZG9tIiksCi0gICAgICAgICAgICAid2Fsa2VyIjogdHJl
ZXdhbGtlcnMuZ2V0VHJlZVdhbGtlcigiZG9tIil9LAotICAgICJQdWxsRE9NIjogeyJidWlsZGVy
IjogdHJlZWJ1aWxkZXJzLmdldFRyZWVCdWlsZGVyKCJkb20iKSwKLSAgICAgICAgICAgICAgICAi
YWRhcHRlciI6IFB1bGxET01BZGFwdGVyLAotICAgICAgICAgICAgICAgICJ3YWxrZXIiOiB0cmVl
d2Fsa2Vycy5nZXRUcmVlV2Fsa2VyKCJwdWxsZG9tIil9LAotfQotCi0jIFRyeSB3aGF0ZXZlciBl
dHJlZSBpbXBsZW1lbnRhdGlvbnMgYXJlIGF2YWlsYWJsZSBmcm9tIGEgbGlzdCB0aGF0IGFyZQot
IyJzdXBwb3NlZCIgdG8gd29yawotdHJ5OgotICAgIGltcG9ydCB4bWwuZXRyZWUuRWxlbWVudFRy
ZWUgYXMgRWxlbWVudFRyZWUKLWV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi1lbHNlOgot
ICAgIHRyZWVUeXBlc1snRWxlbWVudFRyZWUnXSA9IFwKLSAgICAgICAgeyJidWlsZGVyIjogdHJl
ZWJ1aWxkZXJzLmdldFRyZWVCdWlsZGVyKCJldHJlZSIsIEVsZW1lbnRUcmVlKSwKLSAgICAgICAg
ICJ3YWxrZXIiOiB0cmVld2Fsa2Vycy5nZXRUcmVlV2Fsa2VyKCJldHJlZSIsIEVsZW1lbnRUcmVl
KX0KLQotdHJ5OgotICAgIGltcG9ydCB4bWwuZXRyZWUuY0VsZW1lbnRUcmVlIGFzIEVsZW1lbnRU
cmVlCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKLSAgICB0cmVlVHlwZXNb
J2NFbGVtZW50VHJlZSddID0gXAotICAgICAgICB7ImJ1aWxkZXIiOiB0cmVlYnVpbGRlcnMuZ2V0
VHJlZUJ1aWxkZXIoImV0cmVlIiwgRWxlbWVudFRyZWUpLAotICAgICAgICAgIndhbGtlciI6IHRy
ZWV3YWxrZXJzLmdldFRyZWVXYWxrZXIoImV0cmVlIiwgRWxlbWVudFRyZWUpfQotCi0KLXRyeToK
LSAgICBpbXBvcnQgbHhtbC5ldHJlZSBhcyBFbGVtZW50VHJlZSAgIyBmbGFrZTg6IG5vcWEKLWV4
Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICBwYXNzCi1lbHNlOgotICAgIHRyZWVUeXBlc1snbHhtbF9u
YXRpdmUnXSA9IFwKLSAgICAgICAgeyJidWlsZGVyIjogdHJlZWJ1aWxkZXJzLmdldFRyZWVCdWls
ZGVyKCJseG1sIiksCi0gICAgICAgICAid2Fsa2VyIjogdHJlZXdhbGtlcnMuZ2V0VHJlZVdhbGtl
cigibHhtbCIpfQotCi0KLXRyeToKLSAgICBmcm9tIGdlbnNoaS5jb3JlIGltcG9ydCBRTmFtZSwg
QXR0cnMKLSAgICBmcm9tIGdlbnNoaS5jb3JlIGltcG9ydCBTVEFSVCwgRU5ELCBURVhULCBDT01N
RU5ULCBET0NUWVBFCi1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGFzcwotZWxzZToKLSAgICBk
ZWYgR2Vuc2hpQWRhcHRlcih0cmVlKToKLSAgICAgICAgdGV4dCA9IE5vbmUKLSAgICAgICAgZm9y
IHRva2VuIGluIHRyZWV3YWxrZXJzLmdldFRyZWVXYWxrZXIoImRvbSIpKHRyZWUpOgotICAgICAg
ICAgICAgdHlwZSA9IHRva2VuWyJ0eXBlIl0KLSAgICAgICAgICAgIGlmIHR5cGUgaW4gKCJDaGFy
YWN0ZXJzIiwgIlNwYWNlQ2hhcmFjdGVycyIpOgotICAgICAgICAgICAgICAgIGlmIHRleHQgaXMg
Tm9uZToKLSAgICAgICAgICAgICAgICAgICAgdGV4dCA9IHRva2VuWyJkYXRhIl0KLSAgICAgICAg
ICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB0ZXh0ICs9IHRva2VuWyJkYXRhIl0K
LSAgICAgICAgICAgIGVsaWYgdGV4dCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICAgICB5aWVs
ZCBURVhULCB0ZXh0LCAoTm9uZSwgLTEsIC0xKQotICAgICAgICAgICAgICAgIHRleHQgPSBOb25l
Ci0KLSAgICAgICAgICAgIGlmIHR5cGUgaW4gKCJTdGFydFRhZyIsICJFbXB0eVRhZyIpOgotICAg
ICAgICAgICAgICAgIGlmIHRva2VuWyJuYW1lc3BhY2UiXToKLSAgICAgICAgICAgICAgICAgICAg
bmFtZSA9ICJ7JXN9JXMiICUgKHRva2VuWyJuYW1lc3BhY2UiXSwgdG9rZW5bIm5hbWUiXSkKLSAg
ICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICBuYW1lID0gdG9rZW5bIm5h
bWUiXQotICAgICAgICAgICAgICAgIGF0dHJzID0gQXR0cnMoWyhRTmFtZSgieyVzfSVzIiAlIGF0
dHIgaWYgYXR0clswXSBpcyBub3QgTm9uZSBlbHNlIGF0dHJbMV0pLCB2YWx1ZSkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmb3IgYXR0ciwgdmFsdWUgaW4gdG9rZW5bImRhdGEiXS5p
dGVtcygpXSkKLSAgICAgICAgICAgICAgICB5aWVsZCAoU1RBUlQsIChRTmFtZShuYW1lKSwgYXR0
cnMpLCAoTm9uZSwgLTEsIC0xKSkKLSAgICAgICAgICAgICAgICBpZiB0eXBlID09ICJFbXB0eVRh
ZyI6Ci0gICAgICAgICAgICAgICAgICAgIHR5cGUgPSAiRW5kVGFnIgotCi0gICAgICAgICAgICBp
ZiB0eXBlID09ICJFbmRUYWciOgotICAgICAgICAgICAgICAgIGlmIHRva2VuWyJuYW1lc3BhY2Ui
XToKLSAgICAgICAgICAgICAgICAgICAgbmFtZSA9ICJ7JXN9JXMiICUgKHRva2VuWyJuYW1lc3Bh
Y2UiXSwgdG9rZW5bIm5hbWUiXSkKLSAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAg
ICAgICAgICBuYW1lID0gdG9rZW5bIm5hbWUiXQotCi0gICAgICAgICAgICAgICAgeWllbGQgRU5E
LCBRTmFtZShuYW1lKSwgKE5vbmUsIC0xLCAtMSkKLQotICAgICAgICAgICAgZWxpZiB0eXBlID09
ICJDb21tZW50IjoKLSAgICAgICAgICAgICAgICB5aWVsZCBDT01NRU5ULCB0b2tlblsiZGF0YSJd
LCAoTm9uZSwgLTEsIC0xKQotCi0gICAgICAgICAgICBlbGlmIHR5cGUgPT0gIkRvY3R5cGUiOgot
ICAgICAgICAgICAgICAgIHlpZWxkIERPQ1RZUEUsICh0b2tlblsibmFtZSJdLCB0b2tlblsicHVi
bGljSWQiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5bInN5c3RlbUlk
Il0pLCAoTm9uZSwgLTEsIC0xKQotCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg
IHBhc3MgICMgRklYTUU6IFdoYXQgdG8gZG8/Ci0KLSAgICAgICAgaWYgdGV4dCBpcyBub3QgTm9u
ZToKLSAgICAgICAgICAgIHlpZWxkIFRFWFQsIHRleHQsIChOb25lLCAtMSwgLTEpCi0KLSAgICB0
cmVlVHlwZXNbImdlbnNoaSJdID0gXAotICAgICAgICB7ImJ1aWxkZXIiOiB0cmVlYnVpbGRlcnMu
Z2V0VHJlZUJ1aWxkZXIoImRvbSIpLAotICAgICAgICAgImFkYXB0ZXIiOiBHZW5zaGlBZGFwdGVy
LAotICAgICAgICAgIndhbGtlciI6IHRyZWV3YWxrZXJzLmdldFRyZWVXYWxrZXIoImdlbnNoaSIp
fQotCi0KLWRlZiBjb25jYXRlbmF0ZUNoYXJhY3RlclRva2Vucyh0b2tlbnMpOgotICAgIGNoYXJh
Y3RlcnNUb2tlbiA9IE5vbmUKLSAgICBmb3IgdG9rZW4gaW4gdG9rZW5zOgotICAgICAgICB0eXBl
ID0gdG9rZW5bInR5cGUiXQotICAgICAgICBpZiB0eXBlIGluICgiQ2hhcmFjdGVycyIsICJTcGFj
ZUNoYXJhY3RlcnMiKToKLSAgICAgICAgICAgIGlmIGNoYXJhY3RlcnNUb2tlbiBpcyBOb25lOgot
ICAgICAgICAgICAgICAgIGNoYXJhY3RlcnNUb2tlbiA9IHsidHlwZSI6ICJDaGFyYWN0ZXJzIiwg
ImRhdGEiOiB0b2tlblsiZGF0YSJdfQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICBjaGFyYWN0ZXJzVG9rZW5bImRhdGEiXSArPSB0b2tlblsiZGF0YSJdCi0gICAgICAgIGVsc2U6
Ci0gICAgICAgICAgICBpZiBjaGFyYWN0ZXJzVG9rZW4gaXMgbm90IE5vbmU6Ci0gICAgICAgICAg
ICAgICAgeWllbGQgY2hhcmFjdGVyc1Rva2VuCi0gICAgICAgICAgICAgICAgY2hhcmFjdGVyc1Rv
a2VuID0gTm9uZQotICAgICAgICAgICAgeWllbGQgdG9rZW4KLSAgICBpZiBjaGFyYWN0ZXJzVG9r
ZW4gaXMgbm90IE5vbmU6Ci0gICAgICAgIHlpZWxkIGNoYXJhY3RlcnNUb2tlbgotCi0KLWRlZiBj
b252ZXJ0VG9rZW5zKHRva2Vucyk6Ci0gICAgb3V0cHV0ID0gW10KLSAgICBpbmRlbnQgPSAwCi0g
ICAgZm9yIHRva2VuIGluIGNvbmNhdGVuYXRlQ2hhcmFjdGVyVG9rZW5zKHRva2Vucyk6Ci0gICAg
ICAgIHR5cGUgPSB0b2tlblsidHlwZSJdCi0gICAgICAgIGlmIHR5cGUgaW4gKCJTdGFydFRhZyIs
ICJFbXB0eVRhZyIpOgotICAgICAgICAgICAgaWYgKHRva2VuWyJuYW1lc3BhY2UiXSBhbmQKLSAg
ICAgICAgICAgICAgICAgICAgdG9rZW5bIm5hbWVzcGFjZSJdICE9IGNvbnN0YW50cy5uYW1lc3Bh
Y2VzWyJodG1sIl0pOgotICAgICAgICAgICAgICAgIGlmIHRva2VuWyJuYW1lc3BhY2UiXSBpbiBj
b25zdGFudHMucHJlZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBjb25zdGFudHMu
cHJlZml4ZXNbdG9rZW5bIm5hbWVzcGFjZSJdXQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAg
ICAgICAgICAgICAgICAgIG5hbWUgPSB0b2tlblsibmFtZXNwYWNlIl0KLSAgICAgICAgICAgICAg
ICBuYW1lICs9ICIgIiArIHRva2VuWyJuYW1lIl0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAg
ICAgICAgICAgbmFtZSA9IHRva2VuWyJuYW1lIl0KLSAgICAgICAgICAgIG91dHB1dC5hcHBlbmQo
IiVzPCVzPiIgJSAoIiAiICogaW5kZW50LCBuYW1lKSkKLSAgICAgICAgICAgIGluZGVudCArPSAy
Ci0gICAgICAgICAgICBhdHRycyA9IHRva2VuWyJkYXRhIl0KLSAgICAgICAgICAgIGlmIGF0dHJz
OgotICAgICAgICAgICAgICAgICMgVE9ETzogUmVtb3ZlIHRoaXMgaWYgc3RhdGVtZW50LCBhdHRy
cyBzaG91bGQgYWx3YXlzIGV4aXN0Ci0gICAgICAgICAgICAgICAgZm9yIChuYW1lc3BhY2UsIG5h
bWUpLCB2YWx1ZSBpbiBzb3J0ZWQoYXR0cnMuaXRlbXMoKSk6Ci0gICAgICAgICAgICAgICAgICAg
IGlmIG5hbWVzcGFjZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5hbWVzcGFjZSBpbiBj
b25zdGFudHMucHJlZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0bmFt
ZSA9IGNvbnN0YW50cy5wcmVmaXhlc1tuYW1lc3BhY2VdCi0gICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dG5hbWUgPSBuYW1lc3Bh
Y2UKLSAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dG5hbWUgKz0gIiAiICsgbmFtZQotICAg
ICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0bmFt
ZSA9IG5hbWUKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0LmFwcGVuZCgiJXMlcz1cIiVzXCIi
ICUgKCIgIiAqIGluZGVudCwgb3V0cHV0bmFtZSwgdmFsdWUpKQotICAgICAgICAgICAgaWYgdHlw
ZSA9PSAiRW1wdHlUYWciOgotICAgICAgICAgICAgICAgIGluZGVudCAtPSAyCi0gICAgICAgIGVs
aWYgdHlwZSA9PSAiRW5kVGFnIjoKLSAgICAgICAgICAgIGluZGVudCAtPSAyCi0gICAgICAgIGVs
aWYgdHlwZSA9PSAiQ29tbWVudCI6Ci0gICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCIlczwhLS0g
JXMgLS0+IiAlICgiICIgKiBpbmRlbnQsIHRva2VuWyJkYXRhIl0pKQotICAgICAgICBlbGlmIHR5
cGUgPT0gIkRvY3R5cGUiOgotICAgICAgICAgICAgaWYgdG9rZW5bIm5hbWUiXToKLSAgICAgICAg
ICAgICAgICBpZiB0b2tlblsicHVibGljSWQiXToKLSAgICAgICAgICAgICAgICAgICAgb3V0cHV0
LmFwcGVuZCgiIiIlczwhRE9DVFlQRSAlcyAiJXMiICIlcyI+IiIiICUKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoIiAiICogaW5kZW50LCB0b2tlblsibmFtZSJdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsicHVibGljSWQiXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5bInN5c3RlbUlkIl0gYW5kIHRva2VuWyJz
eXN0ZW1JZCJdIG9yICIiKSkKLSAgICAgICAgICAgICAgICBlbGlmIHRva2VuWyJzeXN0ZW1JZCJd
OgotICAgICAgICAgICAgICAgICAgICBvdXRwdXQuYXBwZW5kKCIiIiVzPCFET0NUWVBFICVzICIi
ICIlcyI+IiIiICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIiAiICogaW5k
ZW50LCB0b2tlblsibmFtZSJdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
b2tlblsic3lzdGVtSWQiXSkpCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICAgICAgb3V0cHV0LmFwcGVuZCgiJXM8IURPQ1RZUEUgJXM+IiAlICgiICIgKiBpbmRlbnQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9r
ZW5bIm5hbWUiXSkpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIG91dHB1dC5h
cHBlbmQoIiVzPCFET0NUWVBFID4iICUgKCIgIiAqIGluZGVudCwpKQotICAgICAgICBlbGlmIHR5
cGUgaW4gKCJDaGFyYWN0ZXJzIiwgIlNwYWNlQ2hhcmFjdGVycyIpOgotICAgICAgICAgICAgb3V0
cHV0LmFwcGVuZCgiJXNcIiVzXCIiICUgKCIgIiAqIGluZGVudCwgdG9rZW5bImRhdGEiXSkpCi0g
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBwYXNzICAjIFRPRE86IHdoYXQgdG8gZG8gd2l0aCBl
cnJvcnM/Ci0gICAgcmV0dXJuICJcbiIuam9pbihvdXRwdXQpCi0KLWltcG9ydCByZQotYXR0cmxp
c3QgPSByZS5jb21waWxlKHIiXihccyspXHcrPS4qKFxuXDFcdys9LiopKyIsIHJlLk0pCi0KLQot
ZGVmIHNvcnRhdHRycyh4KToKLSAgICBsaW5lcyA9IHguZ3JvdXAoMCkuc3BsaXQoIlxuIikKLSAg
ICBsaW5lcy5zb3J0KCkKLSAgICByZXR1cm4gIlxuIi5qb2luKGxpbmVzKQotCi0KLWNsYXNzIFRv
a2VuVGVzdENhc2UodW5pdHRlc3QuVGVzdENhc2UpOgotICAgIGRlZiB0ZXN0X2FsbF90b2tlbnMo
c2VsZik6Ci0gICAgICAgIGV4cGVjdGVkID0gWwotICAgICAgICAgICAgeydkYXRhJzoge30sICd0
eXBlJzogJ1N0YXJ0VGFnJywgJ25hbWVzcGFjZSc6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3ho
dG1sJywgJ25hbWUnOiAnaHRtbCd9LAotICAgICAgICAgICAgeydkYXRhJzoge30sICd0eXBlJzog
J1N0YXJ0VGFnJywgJ25hbWVzcGFjZSc6ICdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywg
J25hbWUnOiAnaGVhZCd9LAotICAgICAgICAgICAgeydkYXRhJzoge30sICd0eXBlJzogJ0VuZFRh
ZycsICduYW1lc3BhY2UnOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICduYW1lJzog
J2hlYWQnfSwKLSAgICAgICAgICAgIHsnZGF0YSc6IHt9LCAndHlwZSc6ICdTdGFydFRhZycsICdu
YW1lc3BhY2UnOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICduYW1lJzogJ2JvZHkn
fSwKLSAgICAgICAgICAgIHsnZGF0YSc6ICdhJywgJ3R5cGUnOiAnQ2hhcmFjdGVycyd9LAotICAg
ICAgICAgICAgeydkYXRhJzoge30sICd0eXBlJzogJ1N0YXJ0VGFnJywgJ25hbWVzcGFjZSc6ICdo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sJywgJ25hbWUnOiAnZGl2J30sCi0gICAgICAgICAg
ICB7J2RhdGEnOiAnYicsICd0eXBlJzogJ0NoYXJhY3RlcnMnfSwKLSAgICAgICAgICAgIHsnZGF0
YSc6IHt9LCAndHlwZSc6ICdFbmRUYWcnLCAnbmFtZXNwYWNlJzogJ2h0dHA6Ly93d3cudzMub3Jn
LzE5OTkveGh0bWwnLCAnbmFtZSc6ICdkaXYnfSwKLSAgICAgICAgICAgIHsnZGF0YSc6ICdjJywg
J3R5cGUnOiAnQ2hhcmFjdGVycyd9LAotICAgICAgICAgICAgeydkYXRhJzoge30sICd0eXBlJzog
J0VuZFRhZycsICduYW1lc3BhY2UnOiAnaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCcsICdu
YW1lJzogJ2JvZHknfSwKLSAgICAgICAgICAgIHsnZGF0YSc6IHt9LCAndHlwZSc6ICdFbmRUYWcn
LCAnbmFtZXNwYWNlJzogJ2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwnLCAnbmFtZSc6ICdo
dG1sJ30KLSAgICAgICAgXQotICAgICAgICBmb3IgdHJlZU5hbWUsIHRyZWVDbHMgaW4gdHJlZVR5
cGVzLml0ZW1zKCk6Ci0gICAgICAgICAgICBwID0gaHRtbDVwYXJzZXIuSFRNTFBhcnNlcih0cmVl
PXRyZWVDbHNbImJ1aWxkZXIiXSkKLSAgICAgICAgICAgIGRvY3VtZW50ID0gcC5wYXJzZSgiPGh0
bWw+PGhlYWQ+PC9oZWFkPjxib2R5PmE8ZGl2PmI8L2Rpdj5jPC9ib2R5PjwvaHRtbD4iKQotICAg
ICAgICAgICAgZG9jdW1lbnQgPSB0cmVlQ2xzLmdldCgiYWRhcHRlciIsIGxhbWJkYSB4OiB4KShk
b2N1bWVudCkKLSAgICAgICAgICAgIG91dHB1dCA9IHRyZWVDbHNbIndhbGtlciJdKGRvY3VtZW50
KQotICAgICAgICAgICAgZm9yIGV4cGVjdGVkVG9rZW4sIG91dHB1dFRva2VuIGluIHppcChleHBl
Y3RlZCwgb3V0cHV0KToKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVk
VG9rZW4sIG91dHB1dFRva2VuKQotCi0KLWRlZiBydW5UcmVld2Fsa2VyVGVzdChpbm5lckhUTUws
IGlucHV0LCBleHBlY3RlZCwgZXJyb3JzLCB0cmVlQ2xhc3MpOgotICAgIHdhcm5pbmdzLnJlc2V0
d2FybmluZ3MoKQotICAgIHdhcm5pbmdzLnNpbXBsZWZpbHRlcigiZXJyb3IiKQotICAgIHRyeToK
LSAgICAgICAgcCA9IGh0bWw1cGFyc2VyLkhUTUxQYXJzZXIodHJlZT10cmVlQ2xhc3NbImJ1aWxk
ZXIiXSkKLSAgICAgICAgaWYgaW5uZXJIVE1MOgotICAgICAgICAgICAgZG9jdW1lbnQgPSBwLnBh
cnNlRnJhZ21lbnQoaW5wdXQsIGlubmVySFRNTCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IGRvY3VtZW50ID0gcC5wYXJzZShpbnB1dCkKLSAgICBleGNlcHQgY29uc3RhbnRzLkRhdGFMb3Nz
V2FybmluZzoKLSAgICAgICAgIyBJZ25vcmUgdGVzdGNhc2VzIHdlIGtub3cgd2UgZG9uJ3QgcGFz
cwotICAgICAgICByZXR1cm4KLQotICAgIGRvY3VtZW50ID0gdHJlZUNsYXNzLmdldCgiYWRhcHRl
ciIsIGxhbWJkYSB4OiB4KShkb2N1bWVudCkKLSAgICB0cnk6Ci0gICAgICAgIG91dHB1dCA9IGNv
bnZlcnRUb2tlbnModHJlZUNsYXNzWyJ3YWxrZXIiXShkb2N1bWVudCkpCi0gICAgICAgIG91dHB1
dCA9IGF0dHJsaXN0LnN1Yihzb3J0YXR0cnMsIG91dHB1dCkKLSAgICAgICAgZXhwZWN0ZWQgPSBh
dHRybGlzdC5zdWIoc29ydGF0dHJzLCBjb252ZXJ0RXhwZWN0ZWQoZXhwZWN0ZWQpKQotICAgICAg
ICBkaWZmID0gIiIuam9pbih1bmlmaWVkX2RpZmYoW2xpbmUgKyAiXG4iIGZvciBsaW5lIGluIGV4
cGVjdGVkLnNwbGl0bGluZXMoKV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBbbGluZSArICJcbiIgZm9yIGxpbmUgaW4gb3V0cHV0LnNwbGl0bGluZXMoKV0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRXhwZWN0ZWQiLCAiUmVjZWl2ZWQiKSkKLSAg
ICAgICAgYXNzZXJ0IGV4cGVjdGVkID09IG91dHB1dCwgIlxuIi5qb2luKFsKLSAgICAgICAgICAg
ICIiLCAiSW5wdXQ6IiwgaW5wdXQsCi0gICAgICAgICAgICAgICAgIiIsICJFeHBlY3RlZDoiLCBl
eHBlY3RlZCwKLSAgICAgICAgICAgICAgICAiIiwgIlJlY2VpdmVkOiIsIG91dHB1dCwKLSAgICAg
ICAgICAgICAgICAiIiwgIkRpZmY6IiwgZGlmZiwKLSAgICAgICAgXSkKLSAgICBleGNlcHQgTm90
SW1wbGVtZW50ZWRFcnJvcjoKLSAgICAgICAgcGFzcyAgIyBBbW5lc3R5IGZvciB0aG9zZSB0aGF0
IGNvbmZlc3MuLi4KLQotCi1kZWYgdGVzdF90cmVld2Fsa2VyKCk6Ci0gICAgc3lzLnN0ZG91dC53
cml0ZSgnVGVzdGluZyB0cmVlIHdhbGtlcnMgJyArICIgIi5qb2luKGxpc3QodHJlZVR5cGVzLmtl
eXMoKSkpICsgIlxuIikKLQotICAgIGZvciB0cmVlTmFtZSwgdHJlZUNscyBpbiB0cmVlVHlwZXMu
aXRlbXMoKToKLSAgICAgICAgZmlsZXMgPSBnZXRfZGF0YV9maWxlcygndHJlZS1jb25zdHJ1Y3Rp
b24nKQotICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXM6Ci0gICAgICAgICAgICB0ZXN0TmFt
ZSA9IG9zLnBhdGguYmFzZW5hbWUoZmlsZW5hbWUpLnJlcGxhY2UoIi5kYXQiLCAiIikKLSAgICAg
ICAgICAgIGlmIHRlc3ROYW1lIGluICgidGVtcGxhdGUiLCk6Ci0gICAgICAgICAgICAgICAgY29u
dGludWUKLQotICAgICAgICAgICAgdGVzdHMgPSBUZXN0RGF0YShmaWxlbmFtZSwgImRhdGEiKQot
Ci0gICAgICAgICAgICBmb3IgaW5kZXgsIHRlc3QgaW4gZW51bWVyYXRlKHRlc3RzKToKLSAgICAg
ICAgICAgICAgICAoaW5wdXQsIGVycm9ycywKLSAgICAgICAgICAgICAgICAgaW5uZXJIVE1MLCBl
eHBlY3RlZCkgPSBbdGVzdFtrZXldIGZvciBrZXkgaW4gKCJkYXRhIiwgImVycm9ycyIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAiZG9jdW1lbnQtZnJhZ21lbnQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRvY3VtZW50IildCi0gICAgICAgICAgICAg
ICAgZXJyb3JzID0gZXJyb3JzLnNwbGl0KCJcbiIpCi0gICAgICAgICAgICAgICAgeWllbGQgcnVu
VHJlZXdhbGtlclRlc3QsIGlubmVySFRNTCwgaW5wdXQsIGV4cGVjdGVkLCBlcnJvcnMsIHRyZWVD
bHMKLQotCi1kZWYgc2V0X2F0dHJpYnV0ZV9vbl9maXJzdF9jaGlsZChkb2NmcmFnLCBuYW1lLCB2
YWx1ZSwgdHJlZU5hbWUpOgotICAgICIiIm5haXZlbHkgc2V0cyBhbiBhdHRyaWJ1dGUgb24gdGhl
IGZpcnN0IGNoaWxkIG9mIHRoZSBkb2N1bWVudAotICAgIGZyYWdtZW50IHBhc3NlZCBpbiIiIgot
ICAgIHNldHRlciA9IHsnRWxlbWVudFRyZWUnOiBsYW1iZGEgZDogZFswXS5zZXQsCi0gICAgICAg
ICAgICAgICdET00nOiBsYW1iZGEgZDogZC5maXJzdENoaWxkLnNldEF0dHJpYnV0ZX0KLSAgICBz
ZXR0ZXJbJ2NFbGVtZW50VHJlZSddID0gc2V0dGVyWydFbGVtZW50VHJlZSddCi0gICAgdHJ5Ogot
ICAgICAgICBzZXR0ZXIuZ2V0KHRyZWVOYW1lLCBzZXR0ZXJbJ0RPTSddKShkb2NmcmFnKShuYW1l
LCB2YWx1ZSkKLSAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6Ci0gICAgICAgIHNldHRlclsnRWxl
bWVudFRyZWUnXShkb2NmcmFnKShuYW1lLCB2YWx1ZSkKLQotCi1kZWYgcnVuVHJlZXdhbGtlckVk
aXRUZXN0KGludGV4dCwgZXhwZWN0ZWQsIGF0dHJzX3RvX2FkZCwgdHJlZSk6Ci0gICAgIiIidGVz
dHMgd2hhdCBoYXBwZW5zIHdoZW4gd2UgYWRkIGF0dHJpYnV0ZXMgdG8gdGhlIGludGV4dCIiIgot
ICAgIHRyZWVOYW1lLCB0cmVlQ2xhc3MgPSB0cmVlCi0gICAgcGFyc2VyID0gaHRtbDVwYXJzZXIu
SFRNTFBhcnNlcih0cmVlPXRyZWVDbGFzc1siYnVpbGRlciJdKQotICAgIGRvY3VtZW50ID0gcGFy
c2VyLnBhcnNlRnJhZ21lbnQoaW50ZXh0KQotICAgIGZvciBub20sIHZhbCBpbiBhdHRyc190b19h
ZGQ6Ci0gICAgICAgIHNldF9hdHRyaWJ1dGVfb25fZmlyc3RfY2hpbGQoZG9jdW1lbnQsIG5vbSwg
dmFsLCB0cmVlTmFtZSkKLQotICAgIGRvY3VtZW50ID0gdHJlZUNsYXNzLmdldCgiYWRhcHRlciIs
IGxhbWJkYSB4OiB4KShkb2N1bWVudCkKLSAgICBvdXRwdXQgPSBjb252ZXJ0VG9rZW5zKHRyZWVD
bGFzc1sid2Fsa2VyIl0oZG9jdW1lbnQpKQotICAgIG91dHB1dCA9IGF0dHJsaXN0LnN1Yihzb3J0
YXR0cnMsIG91dHB1dCkKLSAgICBpZiBub3Qgb3V0cHV0IGluIGV4cGVjdGVkOgotICAgICAgICBy
YWlzZSBBc3NlcnRpb25FcnJvcigiVHJlZXdhbGtlckVkaXRUZXN0OiAlc1xuRXhwZWN0ZWQ6XG4l
c1xuUmVjZWl2ZWQ6XG4lcyIgJSAodHJlZU5hbWUsIGV4cGVjdGVkLCBvdXRwdXQpKQotCi0KLWRl
ZiB0ZXN0X3RyZWV3YWxrZXJfc2l4X21peCgpOgotICAgICIiIlN0ci9Vbmljb2RlIG1peC4gSWYg
c3RyIGF0dHJzIGFkZGVkIHRvIHRyZWUiIiIKLQotICAgICMgT24gUHl0aG9uIDIueCBzdHJpbmcg
bGl0ZXJhbHMgYXJlIG9mIHR5cGUgc3RyLiBVbmxlc3MsIGxpa2UgdGhpcwotICAgICMgZmlsZSwg
dGhlIHByb2dyYW1tZXIgaW1wb3J0cyB1bmljb2RlX2xpdGVyYWxzIGZyb20gX19mdXR1cmVfXy4K
LSAgICAjIEluIHRoYXQgY2FzZSwgc3RyaW5nIGxpdGVyYWxzIGJlY29tZSBvYmplY3RzIG9mIHR5
cGUgdW5pY29kZS4KLQotICAgICMgVGhpcyB0ZXN0IHNpbXVsYXRlcyBhIFB5MiB1c2VyLCBtb2Rp
ZnlpbmcgYXR0cmlidXRlcyBvbiBhIGRvY3VtZW50Ci0gICAgIyBmcmFnbWVudCBidXQgbm90IHVz
aW5nIHRoZSB1Jycgc3ludGF4IG5vciBpbXBvcnRpbmcgdW5pY29kZV9saXRlcmFscwotICAgIHNt
X3Rlc3RzID0gWwotICAgICAgICAoJzxhIGhyZWY9Imh0dHA6Ly9leGFtcGxlLmNvbSI+RXhhbXBs
ZTwvYT4nLAotICAgICAgICAgWyhzdHIoJ2NsYXNzJyksIHN0cigndGVzdDEyMycpKV0sCi0gICAg
ICAgICAnPGE+XG4gIGNsYXNzPSJ0ZXN0MTIzIlxuICBocmVmPSJodHRwOi8vZXhhbXBsZS5jb20i
XG4gICJFeGFtcGxlIicpLAotCi0gICAgICAgICgnPGxpbmsgaHJlZj0iaHR0cDovL2V4YW1wbGUu
Y29tL2NvdyI+JywKLSAgICAgICAgIFsoc3RyKCdyZWwnKSwgc3RyKCdhbHRlcm5hdGUnKSldLAot
ICAgICAgICAgJzxsaW5rPlxuICBocmVmPSJodHRwOi8vZXhhbXBsZS5jb20vY293IlxuICByZWw9
ImFsdGVybmF0ZSJcbiAgIkV4YW1wbGUiJykKLSAgICBdCi0KLSAgICBmb3IgdHJlZSBpbiB0cmVl
VHlwZXMuaXRlbXMoKToKLSAgICAgICAgZm9yIGludGV4dCwgYXR0cnMsIGV4cGVjdGVkIGluIHNt
X3Rlc3RzOgotICAgICAgICAgICAgeWllbGQgcnVuVHJlZXdhbGtlckVkaXRUZXN0LCBpbnRleHQs
IGV4cGVjdGVkLCBhdHRycywgdHJlZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0
X3doaXRlc3BhY2VfZmlsdGVyLnB5IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3doaXRlc3BhY2Vf
ZmlsdGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZWQyN2ZkNmFjMGE2Nzhi
ZGM0OGYwZmQ5MWVlNGU0ZjRjYjY1OGUxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdGVzdF93aGl0ZXNwYWNlX2ZpbHRlci5w
eQorKysgL2Rldi9udWxsCkBAIC0xLDEzMyArMCwwIEBACi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0
IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJhbHMKLQotaW1wb3J0IHVu
aXR0ZXN0Ci0KLWZyb20gaHRtbDVsaWIuZmlsdGVycy53aGl0ZXNwYWNlIGltcG9ydCBGaWx0ZXIK
LWZyb20gaHRtbDVsaWIuY29uc3RhbnRzIGltcG9ydCBzcGFjZUNoYXJhY3RlcnMKLXNwYWNlQ2hh
cmFjdGVycyA9ICIiLmpvaW4oc3BhY2VDaGFyYWN0ZXJzKQotCi10cnk6Ci0gICAgdW5pdHRlc3Qu
VGVzdENhc2UuYXNzZXJ0RXF1YWwKLWV4Y2VwdCBBdHRyaWJ1dGVFcnJvcjoKLSAgICB1bml0dGVz
dC5UZXN0Q2FzZS5hc3NlcnRFcXVhbCA9IHVuaXR0ZXN0LlRlc3RDYXNlLmFzc2VydEVxdWFscwot
Ci0KLWNsYXNzIFRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICBkZWYgcnVuVGVzdChz
ZWxmLCBpbnB1dCwgZXhwZWN0ZWQpOgotICAgICAgICBvdXRwdXQgPSBsaXN0KEZpbHRlcihpbnB1
dCkpCi0gICAgICAgIGVycm9yTXNnID0gIlxuIi5qb2luKFsiXG5cbklucHV0OiIsIHN0cihpbnB1
dCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiXG5FeHBlY3RlZDoiLCBzdHIoZXhw
ZWN0ZWQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuUmVjZWl2ZWQ6Iiwgc3Ry
KG91dHB1dCldKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG91dHB1dCwgZXhwZWN0ZWQsIGVy
cm9yTXNnKQotCi0gICAgZGVmIHJ1blRlc3RVbm1vZGlmaWVkT3V0cHV0KHNlbGYsIGlucHV0KToK
LSAgICAgICAgc2VsZi5ydW5UZXN0KGlucHV0LCBpbnB1dCkKLQotICAgIGRlZiB0ZXN0UGhyYXNp
bmdFbGVtZW50cyhzZWxmKToKLSAgICAgICAgc2VsZi5ydW5UZXN0VW5tb2RpZmllZE91dHB1dCgK
LSAgICAgICAgICAgIFt7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjogIlRoaXMgaXMgYSAi
fSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJzcGFuIiwgImRh
dGEiOiBbXX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6ICJw
aHJhc2UifSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUiOiAic3BhbiIs
ICJkYXRhIjogW119LAotICAgICAgICAgICAgIHsidHlwZSI6ICJTcGFjZUNoYXJhY3RlcnMiLCAi
ZGF0YSI6ICIgIn0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6
ICJ3aXRoIn0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIlNwYWNlQ2hhcmFjdGVycyIsICJkYXRh
IjogIiAifSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJlbSIs
ICJkYXRhIjogW119LAotICAgICAgICAgICAgIHsidHlwZSI6ICJDaGFyYWN0ZXJzIiwgImRhdGEi
OiAiZW1waGFzaXNlZCB0ZXh0In0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkVuZFRhZyIsICJu
YW1lIjogImVtIiwgImRhdGEiOiBbXX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3Rl
cnMiLCAiZGF0YSI6ICIgYW5kIGFuICJ9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJTdGFydFRh
ZyIsICJuYW1lIjogImltZyIsICJkYXRhIjogW1siYWx0IiwgImltYWdlIl1dfSwKLSAgICAgICAg
ICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjogIi4ifV0pCi0KLSAgICBkZWYgdGVz
dExlYWRpbmdXaGl0ZXNwYWNlKHNlbGYpOgotICAgICAgICBzZWxmLnJ1blRlc3QoCi0gICAgICAg
ICAgICBbeyJ0eXBlIjogIlN0YXJ0VGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjogW119LAotICAg
ICAgICAgICAgIHsidHlwZSI6ICJTcGFjZUNoYXJhY3RlcnMiLCAiZGF0YSI6IHNwYWNlQ2hhcmFj
dGVyc30sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6ICJmb28i
fSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjog
W119XSwKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwIiwgImRh
dGEiOiBbXX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIlNwYWNlQ2hhcmFjdGVycyIsICJkYXRh
IjogIiAifSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjogImZv
byJ9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJFbmRUYWciLCAibmFtZSI6ICJwIiwgImRhdGEi
OiBbXX1dKQotCi0gICAgZGVmIHRlc3RMZWFkaW5nV2hpdGVzcGFjZUFzQ2hhcmFjdGVycyhzZWxm
KToKLSAgICAgICAgc2VsZi5ydW5UZXN0KAotICAgICAgICAgICAgW3sidHlwZSI6ICJTdGFydFRh
ZyIsICJuYW1lIjogInAiLCAiZGF0YSI6IFtdfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiQ2hh
cmFjdGVycyIsICJkYXRhIjogc3BhY2VDaGFyYWN0ZXJzICsgImZvbyJ9LAotICAgICAgICAgICAg
IHsidHlwZSI6ICJFbmRUYWciLCAibmFtZSI6ICJwIiwgImRhdGEiOiBbXX1dLAotICAgICAgICAg
ICAgW3sidHlwZSI6ICJTdGFydFRhZyIsICJuYW1lIjogInAiLCAiZGF0YSI6IFtdfSwKLSAgICAg
ICAgICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjogIiBmb28ifSwKLSAgICAgICAg
ICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjogW119XSkKLQotICAg
IGRlZiB0ZXN0VHJhaWxpbmdXaGl0ZXNwYWNlKHNlbGYpOgotICAgICAgICBzZWxmLnJ1blRlc3Qo
Ci0gICAgICAgICAgICBbeyJ0eXBlIjogIlN0YXJ0VGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjog
W119LAotICAgICAgICAgICAgIHsidHlwZSI6ICJDaGFyYWN0ZXJzIiwgImRhdGEiOiAiZm9vIn0s
Ci0gICAgICAgICAgICAgeyJ0eXBlIjogIlNwYWNlQ2hhcmFjdGVycyIsICJkYXRhIjogc3BhY2VD
aGFyYWN0ZXJzfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUiOiAicCIs
ICJkYXRhIjogW119XSwKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6
ICJwIiwgImRhdGEiOiBbXX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAi
ZGF0YSI6ICJmb28ifSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiU3BhY2VDaGFyYWN0ZXJzIiwg
ImRhdGEiOiAiICJ9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJFbmRUYWciLCAibmFtZSI6ICJw
IiwgImRhdGEiOiBbXX1dKQotCi0gICAgZGVmIHRlc3RUcmFpbGluZ1doaXRlc3BhY2VBc0NoYXJh
Y3RlcnMoc2VsZik6Ci0gICAgICAgIHNlbGYucnVuVGVzdCgKLSAgICAgICAgICAgIFt7InR5cGUi
OiAiU3RhcnRUYWciLCAibmFtZSI6ICJwIiwgImRhdGEiOiBbXX0sCi0gICAgICAgICAgICAgeyJ0
eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6ICJmb28iICsgc3BhY2VDaGFyYWN0ZXJzfSwKLSAg
ICAgICAgICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjogW119XSwK
LSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwIiwgImRhdGEiOiBb
XX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6ICJmb28gIn0s
Ci0gICAgICAgICAgICAgeyJ0eXBlIjogIkVuZFRhZyIsICJuYW1lIjogInAiLCAiZGF0YSI6IFtd
fV0pCi0KLSAgICBkZWYgdGVzdFdoaXRlc3BhY2Uoc2VsZik6Ci0gICAgICAgIHNlbGYucnVuVGVz
dCgKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwIiwgImRhdGEi
OiBbXX0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkNoYXJhY3RlcnMiLCAiZGF0YSI6ICJmb28i
ICsgc3BhY2VDaGFyYWN0ZXJzICsgImJhciJ9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJFbmRU
YWciLCAibmFtZSI6ICJwIiwgImRhdGEiOiBbXX1dLAotICAgICAgICAgICAgW3sidHlwZSI6ICJT
dGFydFRhZyIsICJuYW1lIjogInAiLCAiZGF0YSI6IFtdfSwKLSAgICAgICAgICAgICB7InR5cGUi
OiAiQ2hhcmFjdGVycyIsICJkYXRhIjogImZvbyBiYXIifSwKLSAgICAgICAgICAgICB7InR5cGUi
OiAiRW5kVGFnIiwgIm5hbWUiOiAicCIsICJkYXRhIjogW119XSkKLQotICAgIGRlZiB0ZXN0TGVh
ZGluZ1doaXRlc3BhY2VJblByZShzZWxmKToKLSAgICAgICAgc2VsZi5ydW5UZXN0VW5tb2RpZmll
ZE91dHB1dCgKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwcmUi
LCAiZGF0YSI6IFtdfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiU3BhY2VDaGFyYWN0ZXJzIiwg
ImRhdGEiOiBzcGFjZUNoYXJhY3RlcnN9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJDaGFyYWN0
ZXJzIiwgImRhdGEiOiAiZm9vIn0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkVuZFRhZyIsICJu
YW1lIjogInByZSIsICJkYXRhIjogW119XSkKLQotICAgIGRlZiB0ZXN0TGVhZGluZ1doaXRlc3Bh
Y2VBc0NoYXJhY3RlcnNJblByZShzZWxmKToKLSAgICAgICAgc2VsZi5ydW5UZXN0VW5tb2RpZmll
ZE91dHB1dCgKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwcmUi
LCAiZGF0YSI6IFtdfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRh
Ijogc3BhY2VDaGFyYWN0ZXJzICsgImZvbyJ9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJFbmRU
YWciLCAibmFtZSI6ICJwcmUiLCAiZGF0YSI6IFtdfV0pCi0KLSAgICBkZWYgdGVzdFRyYWlsaW5n
V2hpdGVzcGFjZUluUHJlKHNlbGYpOgotICAgICAgICBzZWxmLnJ1blRlc3RVbm1vZGlmaWVkT3V0
cHV0KAotICAgICAgICAgICAgW3sidHlwZSI6ICJTdGFydFRhZyIsICJuYW1lIjogInByZSIsICJk
YXRhIjogW119LAotICAgICAgICAgICAgIHsidHlwZSI6ICJDaGFyYWN0ZXJzIiwgImRhdGEiOiAi
Zm9vIn0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIlNwYWNlQ2hhcmFjdGVycyIsICJkYXRhIjog
c3BhY2VDaGFyYWN0ZXJzfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiRW5kVGFnIiwgIm5hbWUi
OiAicHJlIiwgImRhdGEiOiBbXX1dKQotCi0gICAgZGVmIHRlc3RUcmFpbGluZ1doaXRlc3BhY2VB
c0NoYXJhY3RlcnNJblByZShzZWxmKToKLSAgICAgICAgc2VsZi5ydW5UZXN0VW5tb2RpZmllZE91
dHB1dCgKLSAgICAgICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwcmUiLCAi
ZGF0YSI6IFtdfSwKLSAgICAgICAgICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjog
ImZvbyIgKyBzcGFjZUNoYXJhY3RlcnN9LAotICAgICAgICAgICAgIHsidHlwZSI6ICJFbmRUYWci
LCAibmFtZSI6ICJwcmUiLCAiZGF0YSI6IFtdfV0pCi0KLSAgICBkZWYgdGVzdFdoaXRlc3BhY2VJ
blByZShzZWxmKToKLSAgICAgICAgc2VsZi5ydW5UZXN0VW5tb2RpZmllZE91dHB1dCgKLSAgICAg
ICAgICAgIFt7InR5cGUiOiAiU3RhcnRUYWciLCAibmFtZSI6ICJwcmUiLCAiZGF0YSI6IFtdfSwK
LSAgICAgICAgICAgICB7InR5cGUiOiAiQ2hhcmFjdGVycyIsICJkYXRhIjogImZvbyIgKyBzcGFj
ZUNoYXJhY3RlcnMgKyAiYmFyIn0sCi0gICAgICAgICAgICAgeyJ0eXBlIjogIkVuZFRhZyIsICJu
YW1lIjogInByZSIsICJkYXRhIjogW119XSkKLQotCi1kZWYgYnVpbGRUZXN0U3VpdGUoKToKLSAg
ICByZXR1cm4gdW5pdHRlc3QuZGVmYXVsdFRlc3RMb2FkZXIubG9hZFRlc3RzRnJvbU5hbWUoX19u
YW1lX18pCi0KLQotZGVmIG1haW4oKToKLSAgICBidWlsZFRlc3RTdWl0ZSgpCi0gICAgdW5pdHRl
c3QubWFpbigpCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6Ci0gICAgbWFpbigpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rva2VuaXplcnRvdHJlZS5weSBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdG9rZW5pemVydG90cmVlLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBi
ODQxYzc2Y2U0MWEwNmY2YWFhYjNkMzliZWU0NjM3NjQ1ODMzNWI4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdG9rZW5pemVy
dG90cmVlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotZnJvbSBfX2Z1dHVyZV9f
IGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0KLWlt
cG9ydCBzeXMKLWltcG9ydCBvcwotaW1wb3J0IGpzb24KLWltcG9ydCByZQotCi1pbXBvcnQgaHRt
bDVsaWIKLWZyb20gLiBpbXBvcnQgc3VwcG9ydAotZnJvbSAuIGltcG9ydCB0ZXN0X3Rva2VuaXpl
cgotCi1wID0gaHRtbDVsaWIuSFRNTFBhcnNlcigpCi0KLXVubmFtZXNwYWNlRXhwZWN0ZWQgPSBy
ZS5jb21waWxlKHIiXihcfFxzKik8aHRtbCAoW14+XSspPiIsIHJlLk0pLnN1YgotCi0KLWRlZiBt
YWluKG91dF9wYXRoKToKLSAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3V0X3BhdGgpOgotICAg
ICAgICBzeXMuc3RkZXJyLndyaXRlKCJQYXRoICVzIGRvZXMgbm90IGV4aXN0IiAlIG91dF9wYXRo
KQotICAgICAgICBzeXMuZXhpdCgxKQotCi0gICAgZm9yIGZpbGVuYW1lIGluIHN1cHBvcnQuZ2V0
X2RhdGFfZmlsZXMoJ3Rva2VuaXplcicsICcqLnRlc3QnKToKLSAgICAgICAgcnVuX2ZpbGUoZmls
ZW5hbWUsIG91dF9wYXRoKQotCi0KLWRlZiBydW5fZmlsZShmaWxlbmFtZSwgb3V0X3BhdGgpOgot
ICAgIHRyeToKLSAgICAgICAgdGVzdHNfZGF0YSA9IGpzb24ubG9hZChvcGVuKGZpbGVuYW1lLCAi
ciIpKQotICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJG
YWlsZWQgdG8gbG9hZCAlc1xuIiAlIGZpbGVuYW1lKQotICAgICAgICByZXR1cm4KLSAgICBuYW1l
ID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLnNwbGl0KGZpbGVuYW1lKVsxXSlbMF0KLSAgICBv
dXRwdXRfZmlsZSA9IG9wZW4ob3MucGF0aC5qb2luKG91dF9wYXRoLCAidG9rZW5pemVyXyVzLmRh
dCIgJSBuYW1lKSwgInciKQotCi0gICAgaWYgJ3Rlc3RzJyBpbiB0ZXN0c19kYXRhOgotICAgICAg
ICBmb3IgdGVzdF9kYXRhIGluIHRlc3RzX2RhdGFbJ3Rlc3RzJ106Ci0gICAgICAgICAgICBpZiAn
aW5pdGlhbFN0YXRlcycgbm90IGluIHRlc3RfZGF0YToKLSAgICAgICAgICAgICAgICB0ZXN0X2Rh
dGFbImluaXRpYWxTdGF0ZXMiXSA9IFsiRGF0YSBzdGF0ZSJdCi0KLSAgICAgICAgICAgIGZvciBp
bml0aWFsX3N0YXRlIGluIHRlc3RfZGF0YVsiaW5pdGlhbFN0YXRlcyJdOgotICAgICAgICAgICAg
ICAgIGlmIGluaXRpYWxfc3RhdGUgIT0gIkRhdGEgc3RhdGUiOgotICAgICAgICAgICAgICAgICAg
ICAjIGRvbid0IHN1cHBvcnQgdGhpcyB5ZXQKLSAgICAgICAgICAgICAgICAgICAgY29udGludWUK
LSAgICAgICAgICAgICAgICB0ZXN0ID0gbWFrZV90ZXN0KHRlc3RfZGF0YSkKLSAgICAgICAgICAg
ICAgICBvdXRwdXRfZmlsZS53cml0ZSh0ZXN0KQotCi0gICAgb3V0cHV0X2ZpbGUuY2xvc2UoKQot
Ci0KLWRlZiBtYWtlX3Rlc3QodGVzdF9kYXRhKToKLSAgICBpZiAnZG91YmxlRXNjYXBlZCcgaW4g
dGVzdF9kYXRhOgotICAgICAgICB0ZXN0X2RhdGEgPSB0ZXN0X3Rva2VuaXplci51bmVzY2FwZV90
ZXN0KHRlc3RfZGF0YSkKLQotICAgIHJ2ID0gW10KLSAgICBydi5hcHBlbmQoIiNkYXRhIikKLSAg
ICBydi5hcHBlbmQodGVzdF9kYXRhWyJpbnB1dCJdLmVuY29kZSgidXRmOCIpKQotICAgIHJ2LmFw
cGVuZCgiI2Vycm9ycyIpCi0gICAgdHJlZSA9IHAucGFyc2UodGVzdF9kYXRhWyJpbnB1dCJdKQot
ICAgIG91dHB1dCA9IHAudHJlZS50ZXN0U2VyaWFsaXplcih0cmVlKQotICAgIG91dHB1dCA9ICJc
biIuam9pbigoInwgIiArIGxpbmVbMzpdKSBpZiBsaW5lLnN0YXJ0c3dpdGgoInwgICIpIGVsc2Ug
bGluZQotICAgICAgICAgICAgICAgICAgICAgICBmb3IgbGluZSBpbiBvdXRwdXQuc3BsaXQoIlxu
IikpCi0gICAgb3V0cHV0ID0gdW5uYW1lc3BhY2VFeHBlY3RlZChyIlwxPFwyPiIsIG91dHB1dCkK
LSAgICBydi5hcHBlbmQob3V0cHV0LmVuY29kZSgidXRmOCIpKQotICAgIHJ2LmFwcGVuZCgiIikK
LSAgICByZXR1cm4gIlxuIi5qb2luKHJ2KQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgot
ICAgIG1haW4oc3lzLmFyZ3ZbMV0pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3VzLWFz
Y2lpLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3VzLWFzY2lpLmh0bWwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDcyOGNiNmJhZjk4YWZlZWU1ODFjMGM5ZWRiNTRmM2YwZjUwM2MyYWMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90ZXN0cy91cy1hc2NpaS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi08IWRv
Y3R5cGUgaHRtbD4NCi08dGl0bGU+VGVzdDwvdGl0bGU+DQotPHA+SGVsbG8gV29ybGQhClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy91dGYt
OC1ib20uaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdXRmLTgtYm9tLmh0bWwKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDZhYzVlZmNlZGYxYmViMGQxYzAwMDE2NzU2MGM1MWI1ZmRmYjNl
NDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1s
NWxpYi90ZXN0cy91dGYtOC1ib20uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAot
77u/PCFkb2N0eXBlIGh0bWw+DQotPHRpdGxlPlRlc3Q8L3RpdGxlPg0KLTxwPkhlbGxvIFdvcmxk
ISDCqQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3czYy1pbXBvcnQubG9nCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NGUwMzQ2ZWFiNmIxZWUwYTVkZjNhMjk0MTdi
MTNmNzU2NGE1NDRiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdGVzdHMvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwz
MyArMCwwIEBACi1UaGUgdGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9t
IHRoZSBXM0MgcmVwb3NpdG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkg
aW4gV2ViS2l0LgotSW5zdGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0
aHViOgotCWh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4g
cnVuIHRoZSBUb29scy9TY3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1w
b3J0Ci0KLURvIE5PVCBtb2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCi1Qcm9wZXJ0aWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0
eSB2YWx1ZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQotTGlzdCBvZiBmaWxlczoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL1JFQURNRQotL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIv
dGVzdHMvX19pbml0X18ucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL21vY2tQYXJzZXIucHkKLS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3Rlc3RzL3N1cHBvcnQucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfZW5jb2Rpbmcu
cHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfcGFyc2VyLnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90
ZXN0X3BhcnNlcjIucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rfc2FuaXRpemVyLnB5Ci0vTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90ZXN0cy90ZXN0X3NlcmlhbGl6ZXIucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rf
c3RyZWFtLnB5Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90
b29scy9odG1sNWxpYi9odG1sNWxpYi90ZXN0cy90ZXN0X3Rva2VuaXplci5weQotL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdGVzdHMvdGVzdF90cmVlYWRhcHRlcnMucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3RfdHJl
ZXdhbGtlcnMucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Rlc3RzL3Rlc3Rfd2hpdGVzcGFjZV9maWx0ZXIucHkK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL2h0bWw1bGliL3Rlc3RzL3Rva2VuaXplcnRvdHJlZS5weQotL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMv
dXMtYXNjaWkuaHRtbAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdGVzdHMvdXRmLTgtYm9tLmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL19faW5pdF9fLnB5IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVl
YWRhcHRlcnMvX19pbml0X18ucHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2ODM0
YjgyODVhNTZiZWYwZTE1NDNmZDkwMWM3ZTZmMmY4YmMyMDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYWRhcHRlcnMvX19pbml0
X18ucHkKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi0jIFRoaXMgZmlsZSBpcyByZXF1aXJl
ZCBmb3IgUHl0aG9uIHRvIHNlYXJjaCB0aGlzIGRpcmVjdG9yeSBmb3IgbW9kdWxlcy4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVhZGFwdGVy
cy9zYXgucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3RyZWVhZGFwdGVycy9zYXgucHkKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFkNDdkZjk1NjQ4Y2Q3OTcyMjUwNGFjNWNlYjBhMzk2NTU3YzFlNzEu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxp
Yi90cmVlYWRhcHRlcnMvc2F4LnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotZnJv
bSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xp
dGVyYWxzCi0KLWZyb20geG1sLnNheC54bWxyZWFkZXIgaW1wb3J0IEF0dHJpYnV0ZXNOU0ltcGwK
LQotZnJvbSAuLmNvbnN0YW50cyBpbXBvcnQgYWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXMsIHVuYWRq
dXN0Rm9yZWlnbkF0dHJpYnV0ZXMKLQotcHJlZml4X21hcHBpbmcgPSB7fQotZm9yIHByZWZpeCwg
bG9jYWxOYW1lLCBuYW1lc3BhY2UgaW4gYWRqdXN0Rm9yZWlnbkF0dHJpYnV0ZXMudmFsdWVzKCk6
Ci0gICAgaWYgcHJlZml4IGlzIG5vdCBOb25lOgotICAgICAgICBwcmVmaXhfbWFwcGluZ1twcmVm
aXhdID0gbmFtZXNwYWNlCi0KLQotZGVmIHRvX3NheCh3YWxrZXIsIGhhbmRsZXIpOgotICAgICIi
IkNhbGwgU0FYLWxpa2UgY29udGVudCBoYW5kbGVyIGJhc2VkIG9uIHRyZWV3YWxrZXIgd2Fsa2Vy
IiIiCi0gICAgaGFuZGxlci5zdGFydERvY3VtZW50KCkKLSAgICBmb3IgcHJlZml4LCBuYW1lc3Bh
Y2UgaW4gcHJlZml4X21hcHBpbmcuaXRlbXMoKToKLSAgICAgICAgaGFuZGxlci5zdGFydFByZWZp
eE1hcHBpbmcocHJlZml4LCBuYW1lc3BhY2UpCi0KLSAgICBmb3IgdG9rZW4gaW4gd2Fsa2VyOgot
ICAgICAgICB0eXBlID0gdG9rZW5bInR5cGUiXQotICAgICAgICBpZiB0eXBlID09ICJEb2N0eXBl
IjoKLSAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGVsaWYgdHlwZSBpbiAoIlN0YXJ0VGFn
IiwgIkVtcHR5VGFnIik6Ci0gICAgICAgICAgICBhdHRycyA9IEF0dHJpYnV0ZXNOU0ltcGwodG9r
ZW5bImRhdGEiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bmFkanVz
dEZvcmVpZ25BdHRyaWJ1dGVzKQotICAgICAgICAgICAgaGFuZGxlci5zdGFydEVsZW1lbnROUygo
dG9rZW5bIm5hbWVzcGFjZSJdLCB0b2tlblsibmFtZSJdKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdG9rZW5bIm5hbWUiXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXR0cnMpCi0gICAgICAgICAgICBpZiB0eXBlID09ICJFbXB0eVRhZyI6Ci0gICAg
ICAgICAgICAgICAgaGFuZGxlci5lbmRFbGVtZW50TlMoKHRva2VuWyJuYW1lc3BhY2UiXSwgdG9r
ZW5bIm5hbWUiXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW5b
Im5hbWUiXSkKLSAgICAgICAgZWxpZiB0eXBlID09ICJFbmRUYWciOgotICAgICAgICAgICAgaGFu
ZGxlci5lbmRFbGVtZW50TlMoKHRva2VuWyJuYW1lc3BhY2UiXSwgdG9rZW5bIm5hbWUiXSksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlblsibmFtZSJdKQotICAgICAgICBl
bGlmIHR5cGUgaW4gKCJDaGFyYWN0ZXJzIiwgIlNwYWNlQ2hhcmFjdGVycyIpOgotICAgICAgICAg
ICAgaGFuZGxlci5jaGFyYWN0ZXJzKHRva2VuWyJkYXRhIl0pCi0gICAgICAgIGVsaWYgdHlwZSA9
PSAiQ29tbWVudCI6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICBhc3NlcnQgRmFsc2UsICJVbmtub3duIHRva2VuIHR5cGUiCi0KLSAgICBmb3IgcHJlZml4LCBu
YW1lc3BhY2UgaW4gcHJlZml4X21hcHBpbmcuaXRlbXMoKToKLSAgICAgICAgaGFuZGxlci5lbmRQ
cmVmaXhNYXBwaW5nKHByZWZpeCkKLSAgICBoYW5kbGVyLmVuZERvY3VtZW50KCkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRt
bDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0ZXJzL3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90
cmVlYWRhcHRlcnMvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGRiY2ViMjQxZTJkMWMwMjg4ZmIwMjg0ZGJjNzRjOGI4ODhiM2YzNzcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYWRhcHRlcnMv
dzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi1UaGUgdGVzdHMg
aW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3NpdG9yeS4K
LURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5zdGVhZCwg
Y3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8vZ2l0aHVi
LmNvbS93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzCi0KLVRoZW4gcnVuIHRoZSBUb29scy9TY3JpcHRz
L2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBtb2RpZnkg
b3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVzIHJlcXVp
cmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWlyaW5nIHZl
bmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxlczoKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL3RyZWVhZGFwdGVycy9fX2luaXRfXy5weQotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWFkYXB0
ZXJzL3NheC5weQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVlYnVpbGRlcnMvdzNjLWltcG9y
dC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xz
L2h0bWw1bGliL2h0bWw1bGliL3RyZWVidWlsZGVycy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZDQ0M2Y2MWI4NTY5Yzk5YmQyZmNkODFhYmNjYWQ1YmVkMzY1
ZTExZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0
bWw1bGliL3RyZWVidWlsZGVycy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE5
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19faW5pdF9fLnB5Ywot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL19iYXNlLnB5YwotL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxk
ZXJzL2V0cmVlLnB5YwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmVld2Fsa2Vycy93M2MtaW1w
b3J0LmxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZTM3YTM1NDIzM2RjNjAzZDcxYTE3MGIwNzQ4OWVhYjg0
MDAzNDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9o
dG1sNWxpYi90cmVld2Fsa2Vycy93M2MtaW1wb3J0LmxvZworKysgL2Rldi9udWxsCkBAIC0xLDE3
ICswLDAgQEAKLVRoZSB0ZXN0cyBpbiB0aGlzIGRpcmVjdG9yeSB3ZXJlIGltcG9ydGVkIGZyb20g
dGhlIFczQyByZXBvc2l0b3J5LgotRG8gTk9UIG1vZGlmeSB0aGVzZSB0ZXN0cyBkaXJlY3RseSBp
biBXZWJLaXQuCi1JbnN0ZWFkLCBjcmVhdGUgYSBwdWxsIHJlcXVlc3Qgb24gdGhlIFdQVCBnaXRo
dWI6Ci0JaHR0cHM6Ly9naXRodWIuY29tL3dlYi1wbGF0Zm9ybS10ZXN0cy93cHQKLQotVGhlbiBy
dW4gdGhlIFRvb2xzL1NjcmlwdHMvaW1wb3J0LXczYy10ZXN0cyBpbiBXZWJLaXQgdG8gcmVpbXBv
cnQKLQotRG8gTk9UIG1vZGlmeSBvciByZW1vdmUgdGhpcyBmaWxlLgotCi0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KLVByb3BlcnRpZXMgcmVxdWlyaW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLVByb3BlcnR5
IHZhbHVlcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVzOgotTm9uZQotLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
Ci1MaXN0IG9mIGZpbGVzOgotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZXdhbGtlcnMvX19pbml0X18ucHljCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rv
b2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3Ry
aWUvdzNjLWltcG9ydC5sb2cKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYjUwZjYw
YTE2MGYxOWU2MjJmMzQzZTBjYjljZjhhOTcwMDA0ZmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL3czYy1pbXBvcnQubG9nCisr
KyAvZGV2L251bGwKQEAgLTEsMjAgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5
IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRo
ZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVx
dWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vd2ViLXBsYXRmb3Jt
LXRlc3RzL3dwdAotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3Rz
IGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZp
bGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZp
eGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1O
b25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi90cmllL19f
aW5pdF9fLnB5YwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS9fYmFzZS5weWMKLS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3RyaWUv
ZGF0cmllLnB5YwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdHJpZS9weS5weWMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVs
aWIvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3Rvb2xzL2h0bWw1bGliL2h0bWw1bGliL3czYy1pbXBvcnQubG9nCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YTQ0YjczZDU3YzNmZTI2N2M5YWY5ZDQ3Y2RjZTcxZGRhYWIz
ZWViLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRt
bDVsaWIvdzNjLWltcG9ydC5sb2cKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi1UaGUg
dGVzdHMgaW4gdGhpcyBkaXJlY3Rvcnkgd2VyZSBpbXBvcnRlZCBmcm9tIHRoZSBXM0MgcmVwb3Np
dG9yeS4KLURvIE5PVCBtb2RpZnkgdGhlc2UgdGVzdHMgZGlyZWN0bHkgaW4gV2ViS2l0LgotSW5z
dGVhZCwgY3JlYXRlIGEgcHVsbCByZXF1ZXN0IG9uIHRoZSBXUFQgZ2l0aHViOgotCWh0dHBzOi8v
Z2l0aHViLmNvbS93ZWItcGxhdGZvcm0tdGVzdHMvd3B0Ci0KLVRoZW4gcnVuIHRoZSBUb29scy9T
Y3JpcHRzL2ltcG9ydC13M2MtdGVzdHMgaW4gV2ViS2l0IHRvIHJlaW1wb3J0Ci0KLURvIE5PVCBt
b2RpZnkgb3IgcmVtb3ZlIHRoaXMgZmlsZS4KLQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi1Qcm9wZXJ0aWVz
IHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25lCi1Qcm9wZXJ0eSB2YWx1ZXMgcmVxdWly
aW5nIHZlbmRvciBwcmVmaXhlczoKLU5vbmUKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotTGlzdCBvZiBmaWxl
czoKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL2h0bWw1bGliL19faW5pdF9fLnB5YwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvY29uc3RhbnRzLnB5Ywot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvaHRtbDVsaWIvaHRtbDVwYXJzZXIucHljCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9odG1sNWxpYi9paGF0ZXhtbC5weWMKLS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L2h0bWw1bGliL2lucHV0c3RyZWFtLnB5YwotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvaHRtbDVsaWIvdG9rZW5pemVyLnB5YwotL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
aHRtbDVsaWIvdXRpbHMucHljCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3BhcnNlLnB5IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9wYXJzZS5weQpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWNiZjNiOGQxY2M1Y2JhOGFhZTM3OGNiN2Mw
ZGQ4OGQ5NzcxYTYyZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0
bWw1bGliL3BhcnNlLnB5CisrKyAvZGV2L251bGwKQEAgLTEsMjMzICswLDAgQEAKLSMhL3Vzci9i
aW4vZW52IHB5dGhvbgotIiIidXNhZ2U6ICVwcm9nIFtvcHRpb25zXSBmaWxlbmFtZQotCi1QYXJz
ZSBhIGRvY3VtZW50IHRvIGEgdHJlZSwgd2l0aCBvcHRpb25hbCBwcm9maWxpbmcKLSIiIgotCi1p
bXBvcnQgc3lzCi1pbXBvcnQgb3MKLWltcG9ydCB0cmFjZWJhY2sKLWZyb20gb3B0cGFyc2UgaW1w
b3J0IE9wdGlvblBhcnNlcgotCi1mcm9tIGh0bWw1bGliIGltcG9ydCBodG1sNXBhcnNlciwgc2Fu
aXRpemVyCi1mcm9tIGh0bWw1bGliLnRva2VuaXplciBpbXBvcnQgSFRNTFRva2VuaXplcgotZnJv
bSBodG1sNWxpYiBpbXBvcnQgdHJlZWJ1aWxkZXJzLCBzZXJpYWxpemVyLCB0cmVld2Fsa2Vycwot
ZnJvbSBodG1sNWxpYiBpbXBvcnQgY29uc3RhbnRzCi0KLWRlZiBwYXJzZSgpOgotICAgIG9wdFBh
cnNlciA9IGdldE9wdFBhcnNlcigpCi0gICAgb3B0cyxhcmdzID0gb3B0UGFyc2VyLnBhcnNlX2Fy
Z3MoKQotICAgIGVuY29kaW5nID0gInV0ZjgiCi0KLSAgICB0cnk6Ci0gICAgICAgIGYgPSBhcmdz
Wy0xXQotICAgICAgICAjIFRyeSBvcGVuaW5nIGZyb20gdGhlIGludGVybmV0Ci0gICAgICAgIGlm
IGYuc3RhcnRzd2l0aCgnaHR0cDovLycpOgotICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAg
ICAgIGltcG9ydCB1cmxsaWIucmVxdWVzdCwgdXJsbGliLnBhcnNlLCB1cmxsaWIuZXJyb3IsIGNn
aQotICAgICAgICAgICAgICAgIGYgPSB1cmxsaWIucmVxdWVzdC51cmxvcGVuKGYpCi0gICAgICAg
ICAgICAgICAgY29udGVudFR5cGUgPSBmLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKQotICAg
ICAgICAgICAgICAgIGlmIGNvbnRlbnRUeXBlOgotICAgICAgICAgICAgICAgICAgICAobWVkaWFU
eXBlLCBwYXJhbXMpID0gY2dpLnBhcnNlX2hlYWRlcihjb250ZW50VHlwZSkKLSAgICAgICAgICAg
ICAgICAgICAgZW5jb2RpbmcgPSBwYXJhbXMuZ2V0KCdjaGFyc2V0JykKLSAgICAgICAgICAgIGV4
Y2VwdDoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgICAgIGVsaWYgZiA9PSAnLSc6Ci0gICAg
ICAgICAgICBmID0gc3lzLnN0ZGluCi0gICAgICAgICAgICBpZiBzeXMudmVyc2lvbl9pbmZvWzBd
ID49IDM6Ci0gICAgICAgICAgICAgICAgZW5jb2RpbmcgPSBOb25lCi0gICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIyBUcnkgb3BlbmluZyBmcm9tIGZpbGUg
c3lzdGVtCi0gICAgICAgICAgICAgICAgZiA9IG9wZW4oZiwgInJiIikKLSAgICAgICAgICAgIGV4
Y2VwdCBJT0Vycm9yIGFzIGU6ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoIlVuYWJsZSB0byBvcGVuIGZpbGU6ICVzXG4iICUgZSkKLSAgICAgICAgICAg
ICAgICBzeXMuZXhpdCgxKQotICAgIGV4Y2VwdCBJbmRleEVycm9yOgotICAgICAgICBzeXMuc3Rk
ZXJyLndyaXRlKCJObyBmaWxlbmFtZSBwcm92aWRlZC4gVXNlIC1oIGZvciBoZWxwXG4iKQotICAg
ICAgICBzeXMuZXhpdCgxKQotCi0gICAgdHJlZWJ1aWxkZXIgPSB0cmVlYnVpbGRlcnMuZ2V0VHJl
ZUJ1aWxkZXIob3B0cy50cmVlYnVpbGRlcikKLQotICAgIGlmIG9wdHMuc2FuaXRpemU6Ci0gICAg
ICAgIHRva2VuaXplciA9IHNhbml0aXplci5IVE1MU2FuaXRpemVyCi0gICAgZWxzZToKLSAgICAg
ICAgdG9rZW5pemVyID0gSFRNTFRva2VuaXplcgotCi0gICAgcCA9IGh0bWw1cGFyc2VyLkhUTUxQ
YXJzZXIodHJlZT10cmVlYnVpbGRlciwgdG9rZW5pemVyPXRva2VuaXplciwgZGVidWc9b3B0cy5s
b2cpCi0KLSAgICBpZiBvcHRzLmZyYWdtZW50OgotICAgICAgICBwYXJzZU1ldGhvZCA9IHAucGFy
c2VGcmFnbWVudAotICAgIGVsc2U6Ci0gICAgICAgIHBhcnNlTWV0aG9kID0gcC5wYXJzZQotCi0g
ICAgaWYgb3B0cy5wcm9maWxlOgotICAgICAgICBpbXBvcnQgY1Byb2ZpbGUKLSAgICAgICAgaW1w
b3J0IHBzdGF0cwotICAgICAgICBjUHJvZmlsZS5ydW5jdHgoInJ1bihwYXJzZU1ldGhvZCwgZiwg
ZW5jb2RpbmcpIiwgTm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHsicnVuIjogcnVuLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICJwYXJzZU1ldGhvZCI6IHBhcnNlTWV0aG9kLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICJmIjogZiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAi
ZW5jb2RpbmciOiBlbmNvZGluZ30sCi0gICAgICAgICAgICAgICAgICAgICAgICAic3RhdHMucHJv
ZiIpCi0gICAgICAgICMgWFhYIC0gV2Ugc2hvdWxkIHVzZSBhIHRlbXAgZmlsZSBoZXJlCi0gICAg
ICAgIHN0YXRzID0gcHN0YXRzLlN0YXRzKCdzdGF0cy5wcm9mJykKLSAgICAgICAgc3RhdHMuc3Ry
aXBfZGlycygpCi0gICAgICAgIHN0YXRzLnNvcnRfc3RhdHMoJ3RpbWUnKQotICAgICAgICBzdGF0
cy5wcmludF9zdGF0cygpCi0gICAgZWxpZiBvcHRzLnRpbWU6Ci0gICAgICAgIGltcG9ydCB0aW1l
Ci0gICAgICAgIHQwID0gdGltZS50aW1lKCkKLSAgICAgICAgZG9jdW1lbnQgPSBydW4ocGFyc2VN
ZXRob2QsIGYsIGVuY29kaW5nKQotICAgICAgICB0MSA9IHRpbWUudGltZSgpCi0gICAgICAgIGlm
IGRvY3VtZW50OgotICAgICAgICAgICAgcHJpbnRPdXRwdXQocCwgZG9jdW1lbnQsIG9wdHMpCi0g
ICAgICAgICAgICB0MiA9IHRpbWUudGltZSgpCi0gICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRl
KCJcblxuUnVuIHRvb2s6ICVmcyAocGx1cyAlZnMgdG8gcHJpbnQgdGhlIG91dHB1dCkiJSh0MS10
MCwgdDItdDEpKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZSgi
XG5cblJ1biB0b29rOiAlZnMiJSh0MS10MCkpCi0gICAgZWxzZToKLSAgICAgICAgZG9jdW1lbnQg
PSBydW4ocGFyc2VNZXRob2QsIGYsIGVuY29kaW5nKQotICAgICAgICBpZiBkb2N1bWVudDoKLSAg
ICAgICAgICAgIHByaW50T3V0cHV0KHAsIGRvY3VtZW50LCBvcHRzKQotCi1kZWYgcnVuKHBhcnNl
TWV0aG9kLCBmLCBlbmNvZGluZyk6Ci0gICAgdHJ5OgotICAgICAgICBkb2N1bWVudCA9IHBhcnNl
TWV0aG9kKGYsIGVuY29kaW5nPWVuY29kaW5nKQotICAgIGV4Y2VwdDoKLSAgICAgICAgZG9jdW1l
bnQgPSBOb25lCi0gICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQotICAgIHJldHVybiBkb2N1
bWVudAotCi1kZWYgcHJpbnRPdXRwdXQocGFyc2VyLCBkb2N1bWVudCwgb3B0cyk6Ci0gICAgaWYg
b3B0cy5lbmNvZGluZzoKLSAgICAgICAgcHJpbnQoIkVuY29kaW5nOiIsIHBhcnNlci50b2tlbml6
ZXIuc3RyZWFtLmNoYXJFbmNvZGluZykKLQotICAgIGZvciBpdGVtIGluIHBhcnNlci5sb2c6Ci0g
ICAgICAgIHByaW50KGl0ZW0pCi0KLSAgICBpZiBkb2N1bWVudCBpcyBub3QgTm9uZToKLSAgICAg
ICAgaWYgb3B0cy54bWw6Ci0gICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKGRvY3VtZW50LnRv
eG1sKCJ1dGYtOCIpKQotICAgICAgICBlbGlmIG9wdHMudHJlZToKLSAgICAgICAgICAgIGlmIG5v
dCBoYXNhdHRyKGRvY3VtZW50LCdfX2dldGl0ZW1fXycpOgotICAgICAgICAgICAgICAgIGRvY3Vt
ZW50ID0gW2RvY3VtZW50XQotICAgICAgICAgICAgZm9yIGZyYWdtZW50IGluIGRvY3VtZW50Ogot
ICAgICAgICAgICAgICAgIHByaW50KHBhcnNlci50cmVlLnRlc3RTZXJpYWxpemVyKGZyYWdtZW50
KSkKLSAgICAgICAgZWxpZiBvcHRzLmhpbGl0ZToKLSAgICAgICAgICAgIHN5cy5zdGRvdXQud3Jp
dGUoZG9jdW1lbnQuaGlsaXRlKCJ1dGYtOCIpKQotICAgICAgICBlbGlmIG9wdHMuaHRtbDoKLSAg
ICAgICAgICAgIGt3YXJncyA9IHt9Ci0gICAgICAgICAgICBmb3Igb3B0IGluIHNlcmlhbGl6ZXIu
SFRNTFNlcmlhbGl6ZXIub3B0aW9uczoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAg
ICAgICAgICAgIGt3YXJnc1tvcHRdID0gZ2V0YXR0cihvcHRzLG9wdCkKLSAgICAgICAgICAgICAg
ICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgICAgIGlmIG5vdCBr
d2FyZ3NbJ3F1b3RlX2NoYXInXToKLSAgICAgICAgICAgICAgICBkZWwga3dhcmdzWydxdW90ZV9j
aGFyJ10KLQotICAgICAgICAgICAgdG9rZW5zID0gdHJlZXdhbGtlcnMuZ2V0VHJlZVdhbGtlcihv
cHRzLnRyZWVidWlsZGVyKShkb2N1bWVudCkKLSAgICAgICAgICAgIGlmIHN5cy52ZXJzaW9uX2lu
Zm9bMF0gPj0gMzoKLSAgICAgICAgICAgICAgICBlbmNvZGluZyA9IE5vbmUKLSAgICAgICAgICAg
IGVsc2U6Ci0gICAgICAgICAgICAgICAgZW5jb2RpbmcgPSAidXRmLTgiCi0gICAgICAgICAgICBm
b3IgdGV4dCBpbiBzZXJpYWxpemVyLkhUTUxTZXJpYWxpemVyKCoqa3dhcmdzKS5zZXJpYWxpemUo
dG9rZW5zLCBlbmNvZGluZz1lbmNvZGluZyk6Ci0gICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53
cml0ZSh0ZXh0KQotICAgICAgICAgICAgaWYgbm90IHRleHQuZW5kc3dpdGgoJ1xuJyk6IHN5cy5z
dGRvdXQud3JpdGUoJ1xuJykKLSAgICBpZiBvcHRzLmVycm9yOgotICAgICAgICBlcnJMaXN0PVtd
Ci0gICAgICAgIGZvciBwb3MsIGVycm9yY29kZSwgZGF0YXZhcnMgaW4gcGFyc2VyLmVycm9yczoK
LSAgICAgICAgICAgIGVyckxpc3QuYXBwZW5kKCJMaW5lICVpIENvbCAlaSIlcG9zICsgIiAiICsg
Y29uc3RhbnRzLkUuZ2V0KGVycm9yY29kZSwgJ1Vua25vd24gZXJyb3IgIiVzIicgJSBlcnJvcmNv
ZGUpICUgZGF0YXZhcnMpCi0gICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuUGFyc2UgZXJyb3Jz
OlxuIiArICJcbiIuam9pbihlcnJMaXN0KSsiXG4iKQotCi1kZWYgZ2V0T3B0UGFyc2VyKCk6Ci0g
ICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKHVzYWdlPV9fZG9jX18pCi0KLSAgICBwYXJzZXIuYWRk
X29wdGlvbigiLXAiLCAiLS1wcm9maWxlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1G
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJwcm9maWxlIiwgaGVscD0iVXNlIHRo
ZSBob3RzaG90IHByb2ZpbGVyIHRvICIKLSAgICAgICAgICAgICAgICAgICAgICAicHJvZHVjZSBh
IGRldGFpbGVkIGxvZyBvZiB0aGUgcnVuIikKLQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItdCIs
ICItLXRpbWUiLAotICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRl
ZmF1bHQ9RmFsc2UsIGRlc3Q9InRpbWUiLAotICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IlRp
bWUgdGhlIHJ1biB1c2luZyB0aW1lLnRpbWUgKG1heSBub3QgYmUgYWNjdXJhdGUgb24gYWxsIHBs
YXRmb3JtcywgZXNwZWNpYWxseSBmb3Igc2hvcnQgcnVucykiKQotCi0gICAgcGFyc2VyLmFkZF9v
cHRpb24oIi1iIiwgIi0tdHJlZWJ1aWxkZXIiLCBhY3Rpb249InN0b3JlIiwgdHlwZT0ic3RyaW5n
IiwKLSAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ0cmVlYnVpbGRlciIsIGRlZmF1bHQ9InNp
bXBsZVRyZWUiKQotCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1lIiwgIi0tZXJyb3IiLCBhY3Rp
b249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgIGRl
c3Q9ImVycm9yIiwgaGVscD0iUHJpbnQgYSBsaXN0IG9mIHBhcnNlIGVycm9ycyIpCi0KLSAgICBw
YXJzZXIuYWRkX29wdGlvbigiLWYiLCAiLS1mcmFnbWVudCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIs
IGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgZGVzdD0iZnJhZ21lbnQiLCBo
ZWxwPSJQYXJzZSBhcyBhIGZyYWdtZW50IikKLQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAi
LS10cmVlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICBkZXN0PSJ0cmVlIiwgaGVscD0iT3V0cHV0IGFzIGRlYnVnIHRyZWUiKQotCi0g
ICAgcGFyc2VyLmFkZF9vcHRpb24oIi14IiwgIi0teG1sIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwg
ZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJ4bWwiLCBoZWxwPSJP
dXRwdXQgYXMgeG1sIikKLQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1uby1odG1sIiwg
YWN0aW9uPSJzdG9yZV9mYWxzZSIsIGRlZmF1bHQ9VHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAg
ICBkZXN0PSJodG1sIiwgaGVscD0iRG9uJ3Qgb3V0cHV0IGh0bWwiKQotCi0gICAgcGFyc2VyLmFk
ZF9vcHRpb24oIiIsICItLWhpbGl0ZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFs
c2UsCi0gICAgICAgICAgICAgICAgICAgICAgZGVzdD0iaGlsaXRlIiwgaGVscD0iT3V0cHV0IGFz
IGZvcm1hdHRlZCBoaWdobGlnaHRlZCBjb2RlLiIpCi0KLSAgICBwYXJzZXIuYWRkX29wdGlvbigi
LWMiLCAiLS1lbmNvZGluZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsCi0g
ICAgICAgICAgICAgICAgICAgICAgZGVzdD0iZW5jb2RpbmciLCBoZWxwPSJQcmludCBjaGFyYWN0
ZXIgZW5jb2RpbmcgdXNlZCIpCi0KLSAgICBwYXJzZXIuYWRkX29wdGlvbigiIiwgIi0taW5qZWN0
LW1ldGEtY2hhcnNldCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgZGVmYXVsdD1GYWxzZSwgZGVzdD0iaW5qZWN0X21ldGFfY2hhcnNldCIsCi0gICAgICAgICAg
ICAgICAgICAgICAgaGVscD0iaW5qZWN0IDxtZXRhIGNoYXJzZXQ+IikKLQotICAgIHBhcnNlci5h
ZGRfb3B0aW9uKCIiLCAiLS1zdHJpcC13aGl0ZXNwYWNlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwK
LSAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLCBkZXN0PSJzdHJpcF93aGl0ZXNw
YWNlIiwKLSAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJzdHJpcCB3aGl0ZXNwYWNlIikKLQot
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1vbWl0LW9wdGlvbmFsLXRhZ3MiLCBhY3Rpb249
InN0b3JlX3RydWUiLAotICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGRlc3Q9
Im9taXRfb3B0aW9uYWxfdGFncyIsCi0gICAgICAgICAgICAgICAgICAgICAgaGVscD0ib21pdCBv
cHRpb25hbCB0YWdzIikKLQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1xdW90ZS1hdHRy
LXZhbHVlcyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgZGVm
YXVsdD1GYWxzZSwgZGVzdD0icXVvdGVfYXR0cl92YWx1ZXMiLAotICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9InF1b3RlIGF0dHJpYnV0ZSB2YWx1ZXMiKQotCi0gICAgcGFyc2VyLmFkZF9vcHRp
b24oIiIsICItLXVzZS1iZXN0LXF1b3RlLWNoYXIiLCBhY3Rpb249InN0b3JlX3RydWUiLAotICAg
ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGRlc3Q9InVzZV9iZXN0X3F1b3RlX2No
YXIiLAotICAgICAgICAgICAgICAgICAgICAgIGhlbHA9InVzZSBiZXN0IHF1b3RlIGNoYXJhY3Rl
ciIpCi0KLSAgICBwYXJzZXIuYWRkX29wdGlvbigiIiwgIi0tcXVvdGUtY2hhciIsIGFjdGlvbj0i
c3RvcmUiLAotICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgZGVzdD0icXVvdGVf
Y2hhciIsCi0gICAgICAgICAgICAgICAgICAgICAgaGVscD0icXVvdGUgY2hhcmFjdGVyIikKLQot
ICAgIHBhcnNlci5hZGRfb3B0aW9uKCIiLCAiLS1uby1taW5pbWl6ZS1ib29sZWFuLWF0dHJpYnV0
ZXMiLAotICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0ic3RvcmVfZmFsc2UiLCBkZWZhdWx0
PVRydWUsCi0gICAgICAgICAgICAgICAgICAgICAgZGVzdD0ibWluaW1pemVfYm9vbGVhbl9hdHRy
aWJ1dGVzIiwKLSAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJtaW5pbWl6ZSBib29sZWFuIGF0
dHJpYnV0ZXMiKQotCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIiIsICItLXVzZS10cmFpbGluZy1z
b2xpZHVzIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICAgICAgICAgICBkZWZh
dWx0PUZhbHNlLCBkZXN0PSJ1c2VfdHJhaWxpbmdfc29saWR1cyIsCi0gICAgICAgICAgICAgICAg
ICAgICAgaGVscD0idXNlIHRyYWlsaW5nIHNvbGlkdXMiKQotCi0gICAgcGFyc2VyLmFkZF9vcHRp
b24oIiIsICItLXNwYWNlLWJlZm9yZS10cmFpbGluZy1zb2xpZHVzIiwKLSAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAg
ICAgICAgICAgIGRlc3Q9InNwYWNlX2JlZm9yZV90cmFpbGluZ19zb2xpZHVzIiwKLSAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSJhZGQgc3BhY2UgYmVmb3JlIHRyYWlsaW5nIHNvbGlkdXMiKQot
Ci0gICAgcGFyc2VyLmFkZF9vcHRpb24oIiIsICItLWVzY2FwZS1sdC1pbi1hdHRycyIsIGFjdGlv
bj0ic3RvcmVfdHJ1ZSIsCi0gICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwgZGVz
dD0iZXNjYXBlX2x0X2luX2F0dHJzIiwKLSAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJlc2Nh
cGUgbGVzcyB0aGFuIHNpZ25zIGluIGF0dHJpYnV0ZSB2YWx1ZXMiKQotCi0gICAgcGFyc2VyLmFk
ZF9vcHRpb24oIiIsICItLWVzY2FwZS1yY2RhdGEiLCBhY3Rpb249InN0b3JlX3RydWUiLAotICAg
ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsIGRlc3Q9ImVzY2FwZV9yY2RhdGEiLAot
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9ImVzY2FwZSByY2RhdGEgZWxlbWVudCB2YWx1ZXMi
KQotCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oIiIsICItLXNhbml0aXplIiwgYWN0aW9uPSJzdG9y
ZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICBkZXN0PSJzYW5p
dGl6ZSIsIGhlbHA9InNhbml0aXplIikKLQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCItbCIsICIt
LWxvZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgZGVzdD0ibG9nIiwgaGVscD0ibG9nIHN0YXRlIHRyYW5zaXRpb25zIikKLQotICAg
IHJldHVybiBwYXJzZXIKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBwYXJzZSgp
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50cy1pbnN0YWxsLnNoIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9yZXF1aXJlbWVudHMt
aW5zdGFsbC5zaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWY4YmE1MDY0NWY5Yjk5
NTY5ZmRhZTJiYTc4Y2I1NTU1NTU4NjM4MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50cy1pbnN0YWxsLnNoCisrKyAvZGV2L251bGwK
QEAgLTEsMTYgKzAsMCBAQAotIyEvYmluL2Jhc2ggLWUKLQotaWYgW1sgJFVTRV9PUFRJT05BTCAh
PSAidHJ1ZSIgJiYgJFVTRV9PUFRJT05BTCAhPSAiZmFsc2UiIF1dOyB0aGVuCi0gIGVjaG8gImZh
dGFsOiBcJFVTRV9PUFRJT05BTCBub3Qgc2V0IHRvIHRydWUgb3IgZmFsc2UuIEV4aXRpbmcuIgot
ICBleGl0IDEKLWZpCi0KLXBpcCBpbnN0YWxsIC1yIHJlcXVpcmVtZW50cy10ZXN0LnR4dAotCi1p
ZiBbWyAkVVNFX09QVElPTkFMID09ICJ0cnVlIiAmJiAkVFJBVklTX1BZVEhPTl9WRVJTSU9OICE9
ICJweXB5IiBdXTsgdGhlbgotICBpZiBbWyAkVFJBVklTX1BZVEhPTl9WRVJTSU9OID09ICIyLjYi
IF1dOyB0aGVuCi0gICAgcGlwIGluc3RhbGwgLS1hbGxvdy1leHRlcm5hbCBHZW5zaGkgLS1hbGxv
dy1pbnNlY3VyZSBHZW5zaGkgLXIgcmVxdWlyZW1lbnRzLW9wdGlvbmFsLTIuNi50eHQKLSAgZWxz
ZQotICAgIHBpcCBpbnN0YWxsIC0tYWxsb3ctZXh0ZXJuYWwgR2Vuc2hpIC0tYWxsb3ctaW5zZWN1
cmUgR2Vuc2hpIC1yIHJlcXVpcmVtZW50cy1vcHRpb25hbC1jcHl0aG9uLnR4dAotICBmaQotZmkK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLW9wdGlvbmFsLTIuNi50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVt
ZW50cy1vcHRpb25hbC0yLjYudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNzU1
N2FjNDAzZGYxZWUzNDkxZjYzMGViMDgwZmFhMDNiMjQwMzBhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLW9wdGlvbmFsLTIuNi50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS1yIHJlcXVpcmVtZW50cy1vcHRpb25h
bC1jcHl0aG9uLnR4dAotCi0jIENhbiBiZSB1c2VkIHRvIGZvcmNlIGF0dHJpYnV0ZXMgdG8gYmUg
c2VyaWFsaXplZCBpbiBhbHBoYWJldGljYWwKLSMgb3JkZXIuCi1vcmRlcmVkZGljdApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9o
dG1sNWxpYi9yZXF1aXJlbWVudHMtb3B0aW9uYWwtY3B5dGhvbi50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50
cy1vcHRpb25hbC1jcHl0aG9uLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzVl
ZDM1MjljMmMzYjA3MjgxNDI1MzAzYjY5NjRiODc1MmY4NGI5OS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50cy1vcHRpb25hbC1jcHl0
aG9uLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDUgKzAsMCBAQAotLXIgcmVxdWlyZW1lbnRzLW9w
dGlvbmFsLnR4dAotCi0jIGx4bWwgaXMgc3VwcG9ydGVkIHdpdGggaXRzIG93biB0cmVlYnVpbGRl
ciAoImx4bWwiKSBhbmQgb3RoZXJ3aXNlCi0jIHVzZXMgdGhlIHN0YW5kYXJkIEVsZW1lbnRUcmVl
IHN1cHBvcnQKLWx4bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLW9wdGlvbmFsLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvcmVxdWlyZW1lbnRzLW9wdGlvbmFsLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzYzNTUyNzAxMjdlYzgxYTA0YzZiZmZmNTE1ZjFiMjQ0ZDYwYWFhNi4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50cy1vcHRpb25h
bC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMyArMCwwIEBACi0tciByZXF1aXJlbWVudHMudHh0
Ci0KLSMgV2Ugc3VwcG9ydCBhIEdlbnNoaSB0cmVld2Fsa2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8g
c2VyaWFsaXplIEdlbnNoaQotIyBzdHJlYW1zLgotZ2Vuc2hpCi0KLSMgREFUcmllIGNhbiBiZSB1
c2VkIGluIHBsYWNlIG9mIG91ciBQeXRob24gdHJpZSBpbXBsZW1lbnRhdGlvbiBmb3IKLSMgc2xp
Z2h0bHkgYmV0dGVyIHBhcnNpbmcgcGVyZm9ybWFuY2UuCi1kYXRyaWUKLQotIyBjaGFyYWRlIGNh
biBiZSB1c2VkIGFzIGEgZmFsbGJhY2sgaW4gY2FzZSB3ZSBhcmUgdW5hYmxlIHRvIGRldGVybWlu
ZQotIyB0aGUgZW5jb2Rpbmcgb2YgYSBkb2N1bWVudC4KLWNoYXJhZGUKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
cmVxdWlyZW1lbnRzLXRlc3QudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9yZXF1aXJlbWVudHMtdGVzdC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1ZjgwODhjMWMxM2NiNmVlOGVmMWRmZjNlOGFmZDY3YTg5
NjkwYTkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9y
ZXF1aXJlbWVudHMtdGVzdC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLS1yIHJl
cXVpcmVtZW50cy50eHQKLQotZmxha2U4Ci1ub3NlCi1vcmRlcmVkZGljdCAjIFB5dGhvbiAyLjYK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
dG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmZlMmZjZTQ5ODk1NWI2MjgwMTQ2MThiMjhjNmJj
ZjE1MjQ2NmE0YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL3JlcXVpcmVtZW50cy50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1zaXgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9v
bHMvaHRtbDVsaWIvc2V0dXAucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3NldHVwLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNzU5MTBlYWYyMTA4ZDc4ZDhlNDZhYjIwNzQ2YzZlYmE0ZjExNDQ5Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvc2V0dXAucHkKKysrIC9k
ZXYvbnVsbApAQCAtMSw0NCArMCwwIEBACi1mcm9tIGRpc3R1dGlscy5jb3JlIGltcG9ydCBzZXR1
cAotaW1wb3J0IG9zCi1pbXBvcnQgY29kZWNzCi0KLWNsYXNzaWZpZXJzPVsKLSAgICAnRGV2ZWxv
cG1lbnQgU3RhdHVzIDo6IDUgLSBQcm9kdWN0aW9uL1N0YWJsZScsCi0gICAgJ0ludGVuZGVkIEF1
ZGllbmNlIDo6IERldmVsb3BlcnMnLAotICAgICdMaWNlbnNlIDo6IE9TSSBBcHByb3ZlZCA6OiBN
SVQgTGljZW5zZScsCi0gICAgJ09wZXJhdGluZyBTeXN0ZW0gOjogT1MgSW5kZXBlbmRlbnQnLAot
ICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24nLAotICAgICdQcm9ncmFtbWluZyBM
YW5ndWFnZSA6OiBQeXRob24gOjogMicsCi0gICAgJ1Byb2dyYW1taW5nIExhbmd1YWdlIDo6IFB5
dGhvbiA6OiAyLjYnLAotICAgICdQcm9ncmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMi43
JywKLSAgICAnUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UgOjogUHl0aG9uIDo6IDMnLAotICAgICdQcm9n
cmFtbWluZyBMYW5ndWFnZSA6OiBQeXRob24gOjogMy4yJywKLSAgICAnUHJvZ3JhbW1pbmcgTGFu
Z3VhZ2UgOjogUHl0aG9uIDo6IDMuMycsCi0gICAgJ1RvcGljIDo6IFNvZnR3YXJlIERldmVsb3Bt
ZW50IDo6IExpYnJhcmllcyA6OiBQeXRob24gTW9kdWxlcycsCi0gICAgJ1RvcGljIDo6IFRleHQg
UHJvY2Vzc2luZyA6OiBNYXJrdXAgOjogSFRNTCcKLSAgICBdCi0KLXBhY2thZ2VzID0gWydodG1s
NWxpYiddICsgWydodG1sNWxpYi4nK25hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGZv
ciBuYW1lIGluIG9zLmxpc3RkaXIob3MucGF0aC5qb2luKCdodG1sNWxpYicpKQotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Rpcihvcy5wYXRoLmpvaW4oJ2h0bWw1bGli
JywgbmFtZSkpIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90IG5hbWUuc3RhcnRz
d2l0aCgnLicpIGFuZCBuYW1lICE9ICd0ZXN0cyddCi0KLWN1cnJlbnRfZGlyID0gb3MucGF0aC5k
aXJuYW1lKF9fZmlsZV9fKQotd2l0aCBjb2RlY3Mub3Blbihvcy5wYXRoLmpvaW4oY3VycmVudF9k
aXIsICdSRUFETUUucnN0JyksICdyJywgJ3V0ZjgnKSBhcyByZWFkbWVfZmlsZToKLSAgICB3aXRo
IGNvZGVjcy5vcGVuKG9zLnBhdGguam9pbihjdXJyZW50X2RpciwgJ0NIQU5HRVMucnN0JyksICdy
JywgJ3V0ZjgnKSBhcyBjaGFuZ2VzX2ZpbGU6Ci0gICAgICAgIGxvbmdfZGVzY3JpcHRpb24gPSBy
ZWFkbWVfZmlsZS5yZWFkKCkgKyAnXG4nICsgY2hhbmdlc19maWxlLnJlYWQoKQotCi1zZXR1cChu
YW1lPSdodG1sNWxpYicsCi0gICAgICB2ZXJzaW9uPScwLjk5OTktZGV2JywKLSAgICAgIHVybD0n
aHR0cHM6Ly9naXRodWIuY29tL2h0bWw1bGliL2h0bWw1bGliLXB5dGhvbicsCi0gICAgICBsaWNl
bnNlPSJNSVQgTGljZW5zZSIsCi0gICAgICBkZXNjcmlwdGlvbj0nSFRNTCBwYXJzZXIgYmFzZWQg
b24gdGhlIFdIQVRXRyBIVE1MIHNwZWNpZmNhdGlvbicsCi0gICAgICBsb25nX2Rlc2NyaXB0aW9u
PWxvbmdfZGVzY3JpcHRpb24sCi0gICAgICBjbGFzc2lmaWVycz1jbGFzc2lmaWVycywKLSAgICAg
IG1haW50YWluZXI9J0phbWVzIEdyYWhhbScsCi0gICAgICBtYWludGFpbmVyX2VtYWlsPSdqYW1l
c0Bob3BwaXBvbGxhLmNvLnVrJywKLSAgICAgIHBhY2thZ2VzPXBhY2thZ2VzLAotICAgICAgaW5z
dGFsbF9yZXF1aXJlcz1bCi0gICAgICAgICAgJ3NpeCcsCi0gICAgICBdLAotICAgICAgKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi90b3guaW5pIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi90b3guaW5pCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA0NzlmOWUxZjczMjNmYWMzZTA3ZDM3M2Q0ZjAyMzdlZDlkNTRhODhiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdG94LmluaQorKysgL2Rldi9u
dWxsCkBAIC0xLDMwICswLDAgQEAKLVt0b3hdCi1lbnZsaXN0ID0gcHkyNixweTI3LHB5MzIscHkz
MyxweTM0LHB5cHkKLQotW3Rlc3RlbnZdCi1kZXBzID0KLSAgLXJ7dG94aW5pZGlyfS9yZXF1aXJl
bWVudHMtb3B0aW9uYWwtY3B5dGhvbi50eHQKLSAgZmxha2U4Ci0gIG5vc2UKLWNvbW1hbmRzID0K
LSAge2VudmJpbmRpcn0vbm9zZXRlc3RzIC1xCi0gIHt0b3hpbmlkaXJ9L2ZsYWtlOC1ydW4uc2gK
LWluc3RhbGxfY29tbWFuZCA9Ci0gIHBpcCBpbnN0YWxsIHtvcHRzfSB7cGFja2FnZXN9Ci0KLVt0
ZXN0ZW52OnB5cHldCi0jIGx4bWwgZG9lc24ndCB3b3JrIGFuZCBkYXRyaWUgZG9lc24ndCBtYWtl
IHNlbnNlCi0jIChpdCdzIHNsb3dlciB0aGFuIHRoZSBwdXJlLXB5dGhvbiB2ZXJzaW9uKQotZGVw
cyA9Ci0gIGNoYXJhZGUKLSAgZmxha2U4Ci0gIEdlbnNoaQotICBub3NlCi0gIHNpeAotCi1bdGVz
dGVudjpweTI2XQotYmFzZXB5dGhvbiA9IHB5dGhvbjIuNgotZGVwcyA9Ci0gIC1ye3RveGluaWRp
cn0vcmVxdWlyZW1lbnRzLW9wdGlvbmFsLTIuNi50eHQKLSAgZmxha2U4Ci0gIG5vc2UKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMv
aHRtbDVsaWIvdXRpbHMvZW50aXRpZXMucHkgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL2VudGl0aWVzLnB5CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxMTZhMjdjYmM5YjkwYzg3ZDlkZGMxYjlhZWZlYmE4ZDI2
NDMxOWU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
dXRpbHMvZW50aXRpZXMucHkKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi1pbXBvcnQg
anNvbgotCi1pbXBvcnQgaHRtbDVsaWIKLQotZGVmIHBhcnNlKHBhdGg9Imh0bWw1ZW50cy54bWwi
KToKLSAgICByZXR1cm4gaHRtbDVsaWIucGFyc2Uob3BlbihwYXRoKSwgdHJlZWJ1aWxkZXI9Imx4
bWwiKQotCi1kZWYgZW50aXR5X3RhYmxlKHRyZWUpOgotICAgIHJldHVybiBkaWN0KChlbnRpdHlf
bmFtZSgiIi5qb2luKHRyWzBdLnhwYXRoKCIuLy90ZXh0KCkiKSkpLAotICAgICAgICAgICAgICAg
ICBlbnRpdHlfY2hhcmFjdGVycyh0clsxXS50ZXh0KSkKLSAgICAgICAgICAgICAgICBmb3IgdHIg
aW4gdHJlZS54cGF0aCgiLy9oOnRib2R5L2g6dHIiLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG5hbWVzcGFjZXM9eyJoIjoiaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRt
bCJ9KSkKLQotZGVmIGVudGl0eV9uYW1lKGlucCk6Ci0gICAgcmV0dXJuIGlucC5zdHJpcCgpCi0K
LWRlZiBlbnRpdHlfY2hhcmFjdGVycyhpbnApOgotICAgIHJldHVybiAiIi5qb2luKGNvZGVwb2lu
dF90b19jaGFyYWN0ZXIoaXRlbSkKLSAgICAgICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gaW5w
LnNwbGl0KCkKLSAgICAgICAgICAgICAgICAgICAgaWYgaXRlbSkKLQotZGVmIGNvZGVwb2ludF90
b19jaGFyYWN0ZXIoaW5wKToKLSAgICByZXR1cm4gKCJcVTAwMCIraW5wWzI6XSkuZGVjb2RlKCJ1
bmljb2RlLWVzY2FwZSIpCi0KLWRlZiBtYWtlX3Rlc3RzX2pzb24oZW50aXRpZXMpOgotICAgIHRl
c3RfbGlzdCA9IG1ha2VfdGVzdF9saXN0KGVudGl0aWVzKQotICAgIHRlc3RzX2pzb24gPSB7InRl
c3RzIjoKLSAgICAgICAgICAgICAgICAgICAgICBbbWFrZV90ZXN0KCppdGVtKSBmb3IgaXRlbSBp
biB0ZXN0X2xpc3RdCi0gICAgICAgICAgICAgICAgICB9Ci0gICAgcmV0dXJuIHRlc3RzX2pzb24K
LQotZGVmIG1ha2VfdGVzdChuYW1lLCBjaGFyYWN0ZXJzLCBnb29kKToKLSAgICByZXR1cm4gewot
ICAgICAgICAiZGVzY3JpcHRpb24iOnRlc3RfZGVzY3JpcHRpb24obmFtZSwgZ29vZCksCi0gICAg
ICAgICJpbnB1dCI6IiYlcyIlbmFtZSwKLSAgICAgICAgIm91dHB1dCI6dGVzdF9leHBlY3RlZChu
YW1lLCBjaGFyYWN0ZXJzLCBnb29kKQotICAgICAgICB9Ci0KLWRlZiB0ZXN0X2Rlc2NyaXB0aW9u
KG5hbWUsIGdvb2QpOgotICAgIHdpdGhfc2VtaWNvbG9uID0gbmFtZS5lbmRzd2l0aCgiOyIpCi0g
ICAgc2VtaWNvbG9uX3RleHQgPSB7VHJ1ZToid2l0aCBhIHNlbWktY29sb24iLAotICAgICAgICAg
ICAgICAgICAgICAgIEZhbHNlOiJ3aXRob3V0IGEgc2VtaS1jb2xvbiJ9W3dpdGhfc2VtaWNvbG9u
XQotICAgIGlmIGdvb2Q6Ci0gICAgICAgIHRleHQgPSAiTmFtZWQgZW50aXR5OiAlcyAlcyIlKG5h
bWUsIHNlbWljb2xvbl90ZXh0KQotICAgIGVsc2U6Ci0gICAgICAgIHRleHQgPSAiQmFkIG5hbWVk
IGVudGl0eTogJXMgJXMiJShuYW1lLCBzZW1pY29sb25fdGV4dCkKLSAgICByZXR1cm4gdGV4dAot
Ci1kZWYgdGVzdF9leHBlY3RlZChuYW1lLCBjaGFyYWN0ZXJzLCBnb29kKToKLSAgICBydiA9IFtd
Ci0gICAgaWYgbm90IGdvb2Qgb3Igbm90IG5hbWUuZW5kc3dpdGgoIjsiKToKLSAgICAgICAgcnYu
YXBwZW5kKCJQYXJzZUVycm9yIikKLSAgICBydi5hcHBlbmQoWyJDaGFyYWN0ZXIiLCBjaGFyYWN0
ZXJzXSkKLSAgICByZXR1cm4gcnYKLQotZGVmIG1ha2VfdGVzdF9saXN0KGVudGl0aWVzKToKLSAg
ICB0ZXN0cyA9IFtdCi0gICAgZm9yIGVudGl0eV9uYW1lLCBjaGFyYWN0ZXJzIGluIGVudGl0aWVz
Lml0ZW1zKCk6Ci0gICAgICAgIGlmIGVudGl0eV9uYW1lLmVuZHN3aXRoKCI7IikgYW5kIG5vdCBz
dWJlbnRpdHlfZXhpc3RzKGVudGl0eV9uYW1lLCBlbnRpdGllcyk6Ci0gICAgICAgICAgICB0ZXN0
cy5hcHBlbmQoKGVudGl0eV9uYW1lWzotMV0sICImIiArIGVudGl0eV9uYW1lWzotMV0sIEZhbHNl
KSkKLSAgICAgICAgdGVzdHMuYXBwZW5kKChlbnRpdHlfbmFtZSwgY2hhcmFjdGVycywgVHJ1ZSkp
Ci0gICAgcmV0dXJuIHNvcnRlZCh0ZXN0cykKLQotZGVmIHN1YmVudGl0eV9leGlzdHMoZW50aXR5
X25hbWUsIGVudGl0aWVzKToKLSAgICBmb3IgaSBpbiByYW5nZSgxLCBsZW4oZW50aXR5X25hbWUp
KToKLSAgICAgICAgaWYgZW50aXR5X25hbWVbOi1pXSBpbiBlbnRpdGllczoKLSAgICAgICAgICAg
IHJldHVybiBUcnVlCi0gICAgcmV0dXJuIEZhbHNlCi0KLWRlZiBtYWtlX2VudGl0aWVzX2NvZGUo
ZW50aXRpZXMpOgotICAgIGVudGl0aWVzX3RleHQgPSAiXG4iLmpvaW4oIiAgICBcIiVzXCI6IHVc
IiVzXCIsIiUoCi0gICAgICAgICAgICBuYW1lLCBlbnRpdGllc1tuYW1lXS5lbmNvZGUoCi0gICAg
ICAgICAgICAgICAgInVuaWNvZGUtZXNjYXBlIikucmVwbGFjZSgiXCIiLCAiXFxcIiIpKQotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG5hbWUgaW4gc29ydGVkKGVudGl0aWVzLmtl
eXMoKSkpCi0gICAgcmV0dXJuICIiImVudGl0aWVzID0gewotJXMKLX0iIiIlZW50aXRpZXNfdGV4
dAotCi1kZWYgbWFpbigpOgotICAgIGVudGl0aWVzID0gZW50aXR5X3RhYmxlKHBhcnNlKCkpCi0g
ICAgdGVzdHNfanNvbiA9IG1ha2VfdGVzdHNfanNvbihlbnRpdGllcykKLSAgICBqc29uLmR1bXAo
dGVzdHNfanNvbiwgb3BlbigibmFtZWRFbnRpdGllcy50ZXN0IiwgInciKSwgaW5kZW50PTQpCi0g
ICAgY29kZSA9IG1ha2VfZW50aXRpZXNfY29kZShlbnRpdGllcykKLSAgICBvcGVuKCJlbnRpdGll
c19jb25zdGFudHMucHkiLCAidyIpLndyaXRlKGNvZGUpCi0KLWlmIF9fbmFtZV9fID09ICJfX21h
aW5fXyI6Ci0gICAgbWFpbigpCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvaWFuYV9wYXJzZS5weSBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvdXRpbHMvaWFuYV9wYXJzZS5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmRk
ZTk0YzI4MjkyMmEwYzIyZjg2ZDhhN2Y4YmM2YTMyZGRlYjY0NS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL2lhbmFfcGFyc2UucHkKKysrIC9k
ZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLWltcG9ydCBz
eXMKLWltcG9ydCB1cmxsaWIucmVxdWVzdCwgdXJsbGliLmVycm9yLCB1cmxsaWIucGFyc2UKLWlt
cG9ydCBjb2RlY3MKLQotZGVmIG1haW4oKToKLSAgICBlbmNvZGluZ3MgPSBbXQotICAgIGYgPSB1
cmxsaWIucmVxdWVzdC51cmxvcGVuKHN5cy5hcmd2WzFdKQotICAgIGZvciBsaW5lIGluIGY6Ci0g
ICAgICAgIGlmIGxpbmUuc3RhcnRzd2l0aCgiTmFtZTogIikgb3IgbGluZS5zdGFydHN3aXRoKCJB
bGlhczogIik6Ci0gICAgICAgICAgICBlbmMgPSBsaW5lLnNwbGl0KClbMV0KLSAgICAgICAgICAg
IHRyeToKLSAgICAgICAgICAgICAgICBjb2RlY3MubG9va3VwKGVuYykKLSAgICAgICAgICAgICAg
ICBpZiBlbmMubG93ZXIgbm90IGluIGVuY29kaW5nczoKLSAgICAgICAgICAgICAgICAgICAgZW5j
b2RpbmdzLmFwcGVuZChlbmMubG93ZXIoKSkKLSAgICAgICAgICAgIGV4Y2VwdCBMb29rdXBFcnJv
cjoKLSAgICAgICAgICAgICAgICBwYXNzCi0gICAgc3lzLnN0ZG91dC53cml0ZSgiZW5jb2Rpbmdz
ID0gZnJvemVuc2V0KChcbiIpCi0gICAgZm9yIGVuYyBpbiBlbmNvZGluZ3M6Ci0gICAgICAgIHN5
cy5zdGRvdXQud3JpdGUoJyAgICAiJXMiLFxuJyVlbmMpCi0gICAgc3lzLnN0ZG91dC53cml0ZSgn
ICAgICkpJykKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBtYWluKCkKXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL3NwaWRlci5weSBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIv
dXRpbHMvc3BpZGVyLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhN2I4MDMxOTc0
YjEzMTc4N2ZlOWFkZDE3ZTU1MDZjZGM3YjgyZjMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvc3BpZGVyLnB5CisrKyAvZGV2L251bGwKQEAg
LTEsMTIyICswLDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIiIiU3BpZGVyIHRvIHRyeSBh
bmQgZmluZCBidWdzIGluIHRoZSBwYXJzZXIuIFJlcXVpcmVzIGh0dHBsaWIyIGFuZCBlbGVtZW50
dHJlZQotCi11c2FnZToKLWltcG9ydCBzcGlkZXIKLXMgPSBzcGlkZXIuU3BpZGVyKCkKLXMuc3Bp
ZGVyKCJodHRwOi8vd3d3Lmdvb2dsZS5jb20iLCBtYXhVUkxzPTEwMCkKLSIiIgotCi1pbXBvcnQg
dXJsbGliLnJlcXVlc3QsIHVybGxpYi5lcnJvciwgdXJsbGliLnBhcnNlCi1pbXBvcnQgdXJsbGli
LnJvYm90cGFyc2VyCi1pbXBvcnQgbWQ1Ci0KLWltcG9ydCBodHRwbGliMgotCi1pbXBvcnQgaHRt
bDVsaWIKLWZyb20gaHRtbDVsaWIudHJlZWJ1aWxkZXJzIGltcG9ydCBldHJlZQotCi1jbGFzcyBT
cGlkZXIob2JqZWN0KToKLSAgICBkZWYgX19pbml0X18oc2VsZik6Ci0gICAgICAgIHNlbGYudW52
aXNpdGVkVVJMcyA9IHNldCgpCi0gICAgICAgIHNlbGYudmlzaXRlZFVSTHMgPSBzZXQoKQotICAg
ICAgICBzZWxmLmJ1Z2d5VVJMcz1zZXQoKQotICAgICAgICBzZWxmLnJvYm90UGFyc2VyID0gdXJs
bGliLnJvYm90cGFyc2VyLlJvYm90RmlsZVBhcnNlcigpCi0gICAgICAgIHNlbGYuY29udGVudERp
Z2VzdCA9IHt9Ci0gICAgICAgIHNlbGYuaHR0cCA9IGh0dHBsaWIyLkh0dHAoIi5jYWNoZSIpCi0K
LSAgICBkZWYgcnVuKHNlbGYsIGluaXRpYWxVUkwsIG1heFVSTHM9MTAwMCk6Ci0gICAgICAgIHVy
bE51bWJlciA9IDAKLSAgICAgICAgc2VsZi52aXNpdGVkVVJMcy5hZGQoaW5pdGlhbFVSTCkKLSAg
ICAgICAgY29udGVudCA9IHNlbGYubG9hZFVSTChpbml0aWFsVVJMKQotICAgICAgICB3aGlsZSBt
YXhVUkxzIGlzIE5vbmUgb3IgdXJsTnVtYmVyIDwgbWF4VVJMczoKLSAgICAgICAgICAgIGlmIGNv
bnRlbnQgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgc2VsZi5wYXJzZShjb250ZW50KQot
ICAgICAgICAgICAgICAgIHVybE51bWJlciArPSAxCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi51
bnZpc2l0ZWRVUkxzOgotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgICAgICBjb250ZW50
ID0gc2VsZi5sb2FkVVJMKHNlbGYudW52aXNpdGVkVVJMcy5wb3AoKSkKLQotICAgIGRlZiBwYXJz
ZShzZWxmLCBjb250ZW50KToKLSAgICAgICAgZmFpbGVkID0gRmFsc2UKLSAgICAgICAgcCA9IGh0
bWw1bGliLkhUTUxQYXJzZXIodHJlZT1ldHJlZS5UcmVlQnVpbGRlcikKLSAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgdHJlZSA9IHAucGFyc2UoY29udGVudCkKLSAgICAgICAgZXhjZXB0OgotICAg
ICAgICAgICAgc2VsZi5idWdneVVSTHMuYWRkKHNlbGYuY3VycmVudFVSTCkKLSAgICAgICAgICAg
IGZhaWxlZCA9IFRydWUKLSAgICAgICAgICAgIHByaW50KCJCVUdHWToiLCBzZWxmLmN1cnJlbnRV
UkwpCi0gICAgICAgIHNlbGYudmlzaXRlZFVSTHMuYWRkKHNlbGYuY3VycmVudFVSTCkKLSAgICAg
ICAgaWYgbm90IGZhaWxlZDoKLSAgICAgICAgICAgIHNlbGYudXBkYXRlVVJMcyh0cmVlKQotCi0g
ICAgZGVmIGxvYWRVUkwoc2VsZiwgdXJsKToKLSAgICAgICAgcmVzcCwgY29udGVudCA9IHNlbGYu
aHR0cC5yZXF1ZXN0KHVybCwgIkdFVCIpCi0gICAgICAgIHNlbGYuY3VycmVudFVSTCA9IHVybAot
ICAgICAgICBkaWdlc3QgPSBtZDUubWQ1KGNvbnRlbnQpLmhleGRpZ2VzdCgpCi0gICAgICAgIGlm
IGRpZ2VzdCBpbiBzZWxmLmNvbnRlbnREaWdlc3Q6Ci0gICAgICAgICAgICBjb250ZW50ID0gTm9u
ZQotICAgICAgICAgICAgc2VsZi52aXNpdGVkVVJMcy5hZGQodXJsKQotICAgICAgICBlbHNlOgot
ICAgICAgICAgICAgc2VsZi5jb250ZW50RGlnZXN0W2RpZ2VzdF0gPSB1cmwKLQotICAgICAgICBp
ZiByZXNwWydzdGF0dXMnXSAhPSAiMjAwIjoKLSAgICAgICAgICAgIGNvbnRlbnQgPSBOb25lCi0K
LSAgICAgICAgcmV0dXJuIGNvbnRlbnQKLQotICAgIGRlZiB1cGRhdGVVUkxzKHNlbGYsIHRyZWUp
OgotICAgICAgICAiIiJUYWtlIGFsbCB0aGUgbGlua3MgaW4gdGhlIGN1cnJlbnQgZG9jdW1lbnQs
IGV4dHJhY3QgdGhlIFVSTHMgYW5kCi0gICAgICAgIHVwZGF0ZSB0aGUgbGlzdCBvZiB2aXNpdGVk
IGFuZCB1bnZpc2l0ZWQgVVJMcyBhY2NvcmRpbmcgdG8gd2hldGhlciB3ZQotICAgICAgICBoYXZl
IHNlZW4gdGhlbSBiZWZvcmUgb3Igbm90IiIiCi0gICAgICAgIHVybHMgPSBzZXQoKQotICAgICAg
ICAjUmVtb3ZlIGFsbCBsaW5rcyB3ZSBoYXZlIGFscmVhZHkgdmlzaXRlZAotICAgICAgICBmb3Ig
bGluayBpbiB0cmVlLmZpbmRhbGwoIi4vL2EiKToKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAg
ICAgICAgICAgICAgICAgIHVybCA9IHVybGxpYi5wYXJzZS51cmxkZWZyYWcobGluay5hdHRyaWJb
J2hyZWYnXSlbMF0KLSAgICAgICAgICAgICAgICAgICAgaWYgKHVybCBhbmQgdXJsIG5vdCBpbiBz
ZWxmLnVudmlzaXRlZFVSTHMgYW5kIHVybAotICAgICAgICAgICAgICAgICAgICAgICAgbm90IGlu
IHNlbGYudmlzaXRlZFVSTHMpOgotICAgICAgICAgICAgICAgICAgICAgICAgdXJscy5hZGQodXJs
KQotICAgICAgICAgICAgICAgIGV4Y2VwdCBLZXlFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAg
cGFzcwotCi0gICAgICAgICNSZW1vdmUgYWxsIG5vbi1odHRwIFVSTHMgYW5kIGEgZGQgYSBzdXRp
YWJsZSBiYXNlIFVSTCB3aGVyZSB0aGF0IGlzCi0gICAgICAgICNtaXNzaW5nCi0gICAgICAgIG5l
d1VybHMgPSBzZXQoKQotICAgICAgICBmb3IgdXJsIGluIHVybHM6Ci0gICAgICAgICAgICBzcGxp
dFVSTCA9IGxpc3QodXJsbGliLnBhcnNlLnVybHNwbGl0KHVybCkpCi0gICAgICAgICAgICBpZiBz
cGxpdFVSTFswXSAhPSAiaHR0cCI6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLSAgICAgICAg
ICAgIGlmIHNwbGl0VVJMWzFdID09ICIiOgotICAgICAgICAgICAgICAgIHNwbGl0VVJMWzFdID0g
dXJsbGliLnBhcnNlLnVybHNwbGl0KHNlbGYuY3VycmVudFVSTClbMV0KLSAgICAgICAgICAgIG5l
d1VybHMuYWRkKHVybGxpYi5wYXJzZS51cmx1bnNwbGl0KHNwbGl0VVJMKSkKLSAgICAgICAgdXJs
cyA9IG5ld1VybHMKLQotICAgICAgICByZXNwb25zZUhlYWRlcnMgPSB7fQotICAgICAgICAjTm93
IHdlIHdhbnQgdG8gZmluZCB0aGUgY29udGVudCB0eXBlcyBvZiB0aGUgbGlua3Mgd2UgaGF2ZW4n
dCB2aXNpdGVkCi0gICAgICAgIGZvciB1cmwgaW4gdXJsczoKLSAgICAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgICAgICByZXNwLCBjb250ZW50ID0gc2VsZi5odHRwLnJlcXVlc3QodXJsLCAiSEVB
RCIpCi0gICAgICAgICAgICAgICAgcmVzcG9uc2VIZWFkZXJzW3VybF0gPSByZXNwCi0gICAgICAg
ICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgS2V5RXJyb3I6Ci0gICAgICAgICAgICAgICAg
I0Rvbid0IGtub3cgd2h5IHRoaXMgaGFwcGVucwotICAgICAgICAgICAgICAgIHBhc3MKLQotCi0g
ICAgICAgICNSZW1vdmUgbGlua3Mgbm90IG9mIGNvbnRlbnQtdHlwZSBodG1sIG9yIHBhZ2VzIG5v
dCBmb3VuZAotICAgICAgICAjWFhYIC0gbmVlZCB0byBkZWFsIHdpdGggb3RoZXIgc3RhdHVzIGNv
ZGVzPwotICAgICAgICB0b1Zpc2l0ID0gc2V0KFt1cmwgZm9yIHVybCBpbiB1cmxzIGlmIHVybCBp
biByZXNwb25zZUhlYWRlcnMgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgImh0bWwiIGluIHJl
c3BvbnNlSGVhZGVyc1t1cmxdWydjb250ZW50LXR5cGUnXSBhbmQKLSAgICAgICAgICAgICAgICAg
ICAgICByZXNwb25zZUhlYWRlcnNbdXJsXVsnc3RhdHVzJ10gPT0gIjIwMCJdKQotCi0gICAgICAg
ICNOb3cgY2hlY2sgd2UgYXJlIGFsbG93ZWQgdG8gc3BpZGVyIHRoZSBwYWdlCi0gICAgICAgIGZv
ciB1cmwgaW4gdG9WaXNpdDoKLSAgICAgICAgICAgIHJvYm90VVJMID0gbGlzdCh1cmxsaWIucGFy
c2UudXJsc3BsaXQodXJsKVs6Ml0pCi0gICAgICAgICAgICByb2JvdFVSTC5leHRlbmQoWyJyb2Jv
dHMudHh0IiwgIiIsICIiXSkKLSAgICAgICAgICAgIHJvYm90VVJMID0gdXJsbGliLnBhcnNlLnVy
bHVuc3BsaXQocm9ib3RVUkwpCi0gICAgICAgICAgICBzZWxmLnJvYm90UGFyc2VyLnNldF91cmwo
cm9ib3RVUkwpCi0gICAgICAgICAgICBpZiBub3Qgc2VsZi5yb2JvdFBhcnNlci5jYW5fZmV0Y2go
IioiLCB1cmwpOgotICAgICAgICAgICAgICAgIHRvVmlzaXQucmVtb3ZlKHVybCkKLQotICAgICAg
ICBzZWxmLnZpc2l0ZWRVUkxzLnVwZGF0ZSh1cmxzKQotICAgICAgICBzZWxmLnVudmlzaXRlZFVS
THMudXBkYXRlKHRvVmlzaXQpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL3czYy1pbXBvcnQubG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxp
Yi91dGlscy93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGI0
ZjUyYjI4MmU0ODFkM2Q1NjQwMWRhNDBlMDdjOGFlZDg4ZjFlNS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3V0aWxzL3czYy1pbXBvcnQubG9nCisrKyAv
ZGV2L251bGwKQEAgLTEsMTkgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0b3J5IHdl
cmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5IHRoZXNl
IHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwgcmVxdWVz
dCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRlc3RzIGlu
IFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlzIGZpbGUu
Ci0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHByZWZpeGVz
OgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6Ci1Ob25l
Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi91dGlscy9lbnRpdGllcy5weQot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvdXRpbHMvaWFuYV9wYXJzZS5weQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvdXRpbHMvc3BpZGVyLnB5CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGli
L3czYy1pbXBvcnQubG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy90b29scy9odG1sNWxpYi93M2MtaW1wb3J0LmxvZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOTA1NmE0MmRmMzQzNDIzYjk1YzRhYzlhMTk0YjM5ZjU4ODBmZmM1Mi4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3czYy1pbXBvcnQubG9n
CisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotVGhlIHRlc3RzIGluIHRoaXMgZGlyZWN0
b3J5IHdlcmUgaW1wb3J0ZWQgZnJvbSB0aGUgVzNDIHJlcG9zaXRvcnkuCi1EbyBOT1QgbW9kaWZ5
IHRoZXNlIHRlc3RzIGRpcmVjdGx5IGluIFdlYktpdC4KLUluc3RlYWQsIGNyZWF0ZSBhIHB1bGwg
cmVxdWVzdCBvbiB0aGUgV1BUIGdpdGh1YjoKLQlodHRwczovL2dpdGh1Yi5jb20vdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cwotCi1UaGVuIHJ1biB0aGUgVG9vbHMvU2NyaXB0cy9pbXBvcnQtdzNjLXRl
c3RzIGluIFdlYktpdCB0byByZWltcG9ydAotCi1EbyBOT1QgbW9kaWZ5IG9yIHJlbW92ZSB0aGlz
IGZpbGUuCi0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotUHJvcGVydGllcyByZXF1aXJpbmcgdmVuZG9yIHBy
ZWZpeGVzOgotTm9uZQotUHJvcGVydHkgdmFsdWVzIHJlcXVpcmluZyB2ZW5kb3IgcHJlZml4ZXM6
Ci1Ob25lCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLUxpc3Qgb2YgZmlsZXM6Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9BVVRIT1JTLnJzdAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvQ0hBTkdFUy5yc3QKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3Rvb2xzL2h0bWw1bGliL0NPTlRSSUJVVElORy5yc3QKLS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL0xJQ0VOU0UKLS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL01BTklG
RVNULmluCi0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29s
cy9odG1sNWxpYi9SRUFETUUucnN0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9kZWJ1Zy1pbmZvLnB5Ci0vTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1sNWxpYi9mbGFrZTgtcnVuLnNo
Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy90b29scy9odG1s
NWxpYi9wYXJzZS5weQotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvdG9vbHMvaHRtbDVsaWIvcmVxdWlyZW1lbnRzLWluc3RhbGwuc2gKLS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50
cy1vcHRpb25hbC0yLjYudHh0Ci0vTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy90b29scy9odG1sNWxpYi9yZXF1aXJlbWVudHMtb3B0aW9uYWwtY3B5dGhvbi50eHQK
LS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1
bGliL3JlcXVpcmVtZW50cy1vcHRpb25hbC50eHQKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3JlcXVpcmVtZW50cy10ZXN0LnR4dAot
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvdG9vbHMvaHRtbDVs
aWIvcmVxdWlyZW1lbnRzLnR4dAotL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvdG9vbHMvaHRtbDVsaWIvc2V0dXAucHkKLS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Rvb2xzL2h0bWw1bGliL3RveC5pbmkK
</data>
<flag name="review"
          id="431529"
          type_id="1"
          status="+"
          setter="youennf"
    />
          </attachment>
      

    </bug>

</bugzilla>