<?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>102168</bug_id>
          
          <creation_ts>2012-11-13 19:32:49 -0800</creation_ts>
          <short_desc>IndexedDB: manual test conversion batch 3</short_desc>
          <delta_ts>2012-11-14 13:53:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>766327</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-13 19:32:49 -0800</bug_when>
    <thetext>IndexedDB: test conversion batch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766335</commentid>
    <comment_count>1</comment_count>
      <attachid>174054</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-13 19:44:51 -0800</bug_when>
    <thetext>Created attachment 174054
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>766338</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-13 19:47:32 -0800</bug_when>
    <thetext>Josh, could you look at these 6 tests?

After these there are 40 remaining tests with setVersion.  I estimate outright deleting 5-10 of those.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767037</commentid>
    <comment_count>3</comment_count>
      <attachid>174200</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 10:39:24 -0800</bug_when>
    <thetext>Created attachment 174200
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767040</commentid>
    <comment_count>4</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 10:40:25 -0800</bug_when>
    <thetext>Patch 2 has one-line fix for database-basics</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767163</commentid>
    <comment_count>5</comment_count>
      <attachid>174200</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-11-14 12:15:53 -0800</bug_when>
    <thetext>Comment on attachment 174200
Patch

lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767166</commentid>
    <comment_count>6</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2012-11-14 12:17:33 -0800</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767267</commentid>
    <comment_count>7</comment_count>
      <attachid>174200</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 13:53:23 -0800</bug_when>
    <thetext>Comment on attachment 174200
Patch

Clearing flags on attachment: 174200

Committed r134661: &lt;http://trac.webkit.org/changeset/134661&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>767268</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-14 13:53:26 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174054</attachid>
            <date>2012-11-13 19:44:51 -0800</date>
            <delta_ts>2012-11-14 10:39:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102168-20121113194251.patch</filename>
            <type>text/plain</type>
            <size>53736</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NDM4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYmZlMzA2ZTdlNTIxOTJlYzliZTRl
Mzc2MTVkM2Y5NzZiYTM3MGYxMC4uNmQ5YTYyMGNkMWI5OGRjZTRmODM3MDQ4MjlhNzQyYTdhODNm
M2YyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDEyLTExLTEzICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHRlc3QgY29udmVyc2lv
biBiYXRjaCAzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIxNjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGVzZSB3ZXJlIGFsbCBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLiBtZXRhZGF0YS5odG1sIGNv
dWxkIGluY2x1ZGUKKyAgICAgICAgc29tZSBhZGRpdGlvbmFsIHRlc3RzIHRoYXQgY2hlY2sgdGhl
IG1ldGFkYXRhIGFmdGVyIGEgdmVyc2lvbmNoYW5nZQorICAgICAgICB0cmFuc2FjdGlvbiBhYm9y
dHMsIGJ1dCBJIHRoaW5rIHRoYXQncyB0ZXN0ZWQgaW4gb25lIG9mIHRoZSBpbnR2ZXJzaW9uCisg
ICAgICAgIHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9ucy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVk
YXRhYmFzZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
ZHVwbGljYXRlLWtleXBhdGhzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tZXRhZGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2V4Y2VwdGlvbnMuanM6CisgICAgICAgICAgTW92ZWQgc29tZSBhc3Nl
cnRzIGZyb20gcnVubmluZyBiZWZvcmUgdGhlIGRhdGFiYXNlIGlzIG9wZW5lZCB0bworICAgICAg
ICAgIGFmdGVyd2FyZCBidXQgdGhleSBhcHBlYXIgdG8gYmUgdGVzdGluZyB0aGUgc2FtZSB0aGlu
Zy4KKyAgICAgICAgKHRyYW5zYWN0aW9uQ29tcGxldGUpOgorICAgICAgICAgIGNsb3NlIGNhbid0
IHByb2NlZWQgdW50aWwgdGhlIHRyYW5zYWN0aW9ucyBhcmUgY29tcGxldGUsIHNvbWV0aGluZwor
ICAgICAgICAgIHNldFZlcnNpb24gZGlkbid0IGhhdmUgdG8gZGVhbCB3aXRoLgorCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UuanM6
CisgICAgICAgICAgVGhlIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggZGVsZXRlRGF0YWJhc2UgaXMg
Y2FsbGVkIGluIHRoaXMgdGVzdCBpcworICAgICAgICAgIF9zbGlnaHRseV8gZGlmZmVyZW50LiBQ
cmV2aW91c2x5LCBkZWxldGVEYXRhYmFzZSB3YXMgY2FsbGVkIGZyb20KKyAgICAgICAgICBpbnNp
ZGUgYSB2ZXJzaW9uY2hhbmdlIHRyYW5zYWN0aW9uLCBjYXVzaW5nIHRoZSBvcmlnaW5hbCBjb25u
ZWN0aW9uCisgICAgICAgICAgdG8gcmVjZWl2ZSBhIHZlcnNpb25jaGFuZ2UgZXZlbnQuIFdpdGgg
dXBncmFkZW5lZWRlZCB3ZSBoYXZlIHRvIGNsb3NlCisgICAgICAgICAgdGhlIG9yaWdpbmFsIGNv
bm5lY3Rpb24gYmVmb3JlIGVudGVyaW5nIGEgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiwKKyAg
ICAgICAgICBzbyB0aGUgc2Vjb25kIGNvbm5lY3Rpb24gaXMgbm93IHdoYXQgY2xvc2VzIGluIHJl
c3BvbnNlIHRvIHRoZQorICAgICAgICAgIGRlbGV0ZURhdGFiYXNlJ3MgdmVyc2lvbmNoYW5nZSBl
dmVudC4KKworICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1kdXBs
aWNhdGUta2V5cGF0aHMuanM6CisgICAgICAgICh0ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnRTZXR1
cCk6CisgICAgICAgICh0ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQpOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1tdWx0aWVudHJ5LmpzOgorICAgICAgICAocHJl
cGFyZURhdGFiYXNlKToKKyAgICAgICAgKGNyZWF0ZUluZGV4T25TdG9yZVdpdGhEYXRhKToKKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgtcG9wdWxhdGlvbi5qczoK
KyAgICAgICAgKHByZXBhcmVEYXRhYmFzZS5yZXF1ZXN0Lm9uc3VjY2Vzcyk6CisgICAgICAgIChw
cmVwYXJlRGF0YWJhc2UpOgorICAgICAgICAoZG9TZXRWZXJzaW9uMik6CisgICAgICAgIChzZXRW
ZXJzaW9uMik6CisgICAgICAgIChzZXRWZXJzaW9uMkFib3J0KToKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9yZXNvdXJjZXMvbWV0YWRhdGEuanM6CisgICAgICAgIChwcmVwYXJlRGF0YWJh
c2UpOgorICAgICAgICAoc25hcHNob3RDb25uZWN0aW9uMSk6CisgICAgICAgIChzZWNvbmRPcGVu
LnJlcXVlc3Qub251cGdyYWRlbmVlZGVkKToKKyAgICAgICAgKHNlY29uZE9wZW4ucmVxdWVzdC5v
bnN1Y2Nlc3MpOgorICAgICAgICAoc2Vjb25kT3Blbik6CisgICAgICAgICh0aGlyZE9wZW4ucmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQpOgorICAgICAgICAodGhpcmRPcGVuLnJlcXVlc3Qub25lcnJv
cik6CisgICAgICAgICh0aGlyZE9wZW4pOgorICAgICAgICAoZm91cnRoT3Blbi5yZXF1ZXN0Lm9u
dXBncmFkZW5lZWRlZCk6CisgICAgICAgIChmb3VydGhPcGVuLnJlcXVlc3Qub25zdWNjZXNzKToK
KyAgICAgICAgKGZvdXJ0aE9wZW4pOgorICAgICAgICAoY2hlY2tTdGF0ZSk6CisKIDIwMTItMTEt
MTIgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4
ZWREQjogbm9uLXRyaXZpYWwgdGVzdCBjb252ZXJzaW9uIGJhdGNoIDIKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2V4Y2VwdGlvbnMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKaW5kZXgg
ZjFjM2JlOWQ0YTJmYjNmNmVjNjQ2Y2IxMTE1ZDkzYmFjZjE1NjIzYy4uZjA5YTA1ZTc4NTc1Nzc5
ZjkwM2E5YWQ2YzEyNTg3ZGVkYWJmNDc1MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZXhjZXB0aW9ucy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1D
T05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBh
bmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFk
LgogVGVzdCB0aGF0IGV4cGVjdGVkIGV4Y2VwdGlvbnMgYXJlIHRocm93biBwZXIgSW5kZXhlZERC
IHNwZWMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsOCArNSwyNCBAQCBPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURQogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxm
LndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERC
IHx8IHNlbGYuT0luZGV4ZWREQjsKIAotaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdleGNlcHRp
b25zJykKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbignZXhjZXB0aW9ucycpCitkYm5hbWUgPSAi
ZXhjZXB0aW9ucy5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2luZGV4
ZWREQi5vcGVuKGRibmFtZSkKK3N0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykK
K2luZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2lkJykKK3N0b3JlLnB1dCh7aWQ6
ICdhJ30sIDEpCitzdG9yZS5wdXQoe2lkOiAnYid9LCAyKQorc3RvcmUucHV0KHtpZDogJ2MnfSwg
MykKK3N0b3JlLnB1dCh7aWQ6ICdkJ30sIDQpCitzdG9yZS5wdXQoe2lkOiAnZSd9LCA1KQorc3Rv
cmUucHV0KHtpZDogJ2YnfSwgNikKK3N0b3JlLnB1dCh7aWQ6ICdnJ30sIDcpCitzdG9yZS5wdXQo
e2lkOiAnaCd9LCA4KQorc3RvcmUucHV0KHtpZDogJ2knfSwgOSkKK3N0b3JlLnB1dCh7aWQ6ICdq
J30sIDEwKQorb3RoZXJTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvdGhlclN0b3JlJykK
K2lubGluZUtleVN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2lubGluZUtleVN0b3JlJywg
e2tleVBhdGg6ICdpZCd9KQorcmVxdWVzdCA9IGlubGluZUtleVN0b3JlLnB1dCh7aWQ6IDB9KQog
UEFTUyByZXF1ZXN0LnJlYWR5U3RhdGUgaXMgInBlbmRpbmciCiAKIDMuMi4xIFRoZSBJREJSZXF1
ZXN0IEludGVyZmFjZQpAQCAtMzQsMjcgKzQ5LDEwIEBAIEV4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBpbmRleGVkREIuY21wKG51bGwsIDApCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFT
UyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQQVNTIGVuYW1lIGlzICdE
YXRhRXJyb3InCi0KLWRiID0gcmVxdWVzdC5yZXN1bHQKLWRiLnNldFZlcnNpb24oJzEnKQotc3Rv
cmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKQotaW5kZXggPSBzdG9yZS5jcmVhdGVJ
bmRleCgnaW5kZXgnLCAnaWQnKQotc3RvcmUucHV0KHtpZDogJ2EnfSwgMSkKLXN0b3JlLnB1dCh7
aWQ6ICdiJ30sIDIpCi1zdG9yZS5wdXQoe2lkOiAnYyd9LCAzKQotc3RvcmUucHV0KHtpZDogJ2Qn
fSwgNCkKLXN0b3JlLnB1dCh7aWQ6ICdlJ30sIDUpCi1zdG9yZS5wdXQoe2lkOiAnZid9LCA2KQot
c3RvcmUucHV0KHtpZDogJ2cnfSwgNykKLXN0b3JlLnB1dCh7aWQ6ICdoJ30sIDgpCi1zdG9yZS5w
dXQoe2lkOiAnaSd9LCA5KQotc3RvcmUucHV0KHtpZDogJ2onfSwgMTApCi1vdGhlclN0b3JlID0g
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ290aGVyU3RvcmUnKQotaW5saW5lS2V5U3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnaW5saW5lS2V5U3RvcmUnLCB7a2V5UGF0aDogJ2lkJ30pCi1pbmxp
bmVLZXlTdG9yZS5wdXQoe2lkOiAwfSkKK2RiLmNsb3NlKCkKIAogMy4yLjQgRGF0YWJhc2UKLWRi
LnNldFZlcnNpb24oJzInKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQogCiBJREJEYXRhYmFz
ZS5jcmVhdGVPYmplY3RTdG9yZSgpCiBJZiBhbiBvYmplY3RTdG9yZSB3aXRoIHRoZSBzYW1lIG5h
bWUgYWxyZWFkeSBleGlzdHMsIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhj
ZXB0aW9uIG9mIHR5cGUgQ29uc3RyYWludEVycm9yLgpAQCAtMTI3LDEyICsxMjUsMTIgQEAgcmVx
dWVzdCA9IHN0b3JlRnJvbUluYWN0aXZlVHJhbnNhY3Rpb24ub3BlbkN1cnNvcigpCiBjdXJzb3JG
cm9tSW5hY3RpdmVUcmFuc2FjdGlvbiA9IHJlcXVlc3QucmVzdWx0CiAKIDMuMi41IE9iamVjdCBT
dG9yZQotc3RvcmVGcm9tUmVhZE9ubHlUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZScsICdyZWFkb25seScpLm9iamVjdFN0b3JlKCdzdG9yZScpCi1zdG9yZSA9IGRiLnRyYW5zYWN0
aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKS5vYmplY3RTdG9yZSgnc3RvcmUnKQorcm9fdHJhbnNh
Y3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZG9ubHknKQorc3RvcmVGcm9tUmVh
ZE9ubHlUcmFuc2FjdGlvbiA9IHJvX3RyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9yZScpCity
d190cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKQorc3Rv
cmUgPSByd190cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKQogCiBJREJPYmplY3RTdG9y
ZS5hZGQoKQotc3RvcmVGcm9tUmVhZE9ubHlUcmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZScsICdyZWFkb25seScpLm9iamVjdFN0b3JlKCdzdG9yZScpCi1zdG9yZSA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScsICdyZWFkd3JpdGUnKS5vYmplY3RTdG9yZSgnc3RvcmUnKQogVGhpcyBt
ZXRob2QgdGhyb3dzIGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgUmVhZE9ubHlFcnJvciBpZiB0aGUg
dHJhbnNhY3Rpb24gd2hpY2ggdGhpcyBJREJPYmplY3RTdG9yZSBiZWxvbmdzIHRvIGlzIGhhcyBp
dHMgbW9kZSBzZXQgdG8gInJlYWRvbmx5Ii4KIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9y
ZUZyb21SZWFkT25seVRyYW5zYWN0aW9uLmFkZCgwLCAwKQogUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KQEAgLTI0NCw3ICsyNDIsMTYgQEAgVGhlIGRhdGEgYmVpbmcgc3RvcmVkIGNvdWxkIG5v
dCBiZSBjbG9uZWQgYnkgdGhlIGludGVybmFsIHN0cnVjdHVyZWQgY2xvbmluZyBhbGcKIEV4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoc2VsZiwgMCkKIFBBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLkRBVEFfQ0xPTkVfRVJSCi1kYi5z
ZXRWZXJzaW9uKCczJykKK2RiLmNsb3NlKCkKK3JvX3RyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB0
cmFuc2FjdGlvbkNvbXBsZXRlCityd190cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gdHJhbnNhY3Rp
b25Db21wbGV0ZQorCit0cmFuc2FjdGlvbkNvbXBsZXRlKCk6CitGaXJzdCB0cmFuc2FjdGlvbiBj
b21wbGV0ZWQKKwordHJhbnNhY3Rpb25Db21wbGV0ZSgpOgorcmVxdWVzdCA9IGluZGV4ZWREQi5v
cGVuKGRibmFtZSwgMykKK3JlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gb25VcGdyYWRlTmVlZGVk
MwogCiBJREJPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgpCiBJZiBhbiBpbmRleCB3aXRoIHRoZSBz
YW1lIG5hbWUgYWxyZWFkeSBleGlzdHMsIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEg
RE9NRXhjZXB0aW9uIG9mIHR5cGUgQ29uc3RyYWludEVycm9yLiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktZGVsZXRlZGF0YWJhc2UtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFz
ZS1leHBlY3RlZC50eHQKaW5kZXggYzg3NjY4NTUyMzgwMTc4MTM3YjMzMjRlNzg2N2JiZDk5MzRk
ZDg5OS4uZjMyZDgwOTMyYzQ2ZGEyZmRiZWQ5YzJmMTYyZjI1MWIxYmMzNzExOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVkYXRhYmFzZS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1k
ZWxldGVkYXRhYmFzZS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xFIE1FU1NB
R0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSBy
ZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBN
RVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwg
YmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3Qg
SW5kZXhlZERCJ3Mgd2Via2l0SW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCkuCiAKIE9uIHN1Y2Nl
c3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5
ICJURVNUIENPTVBMRVRFIi4KQEAgLTcsMTEgKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RQogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8
fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWRE
QjsKIAotaW5kZXhlZERCLm9wZW4oJ2RhdGFiYXNlLXRvLWRlbGV0ZScpCi1kYiA9IGV2ZW50LnRh
cmdldC5yZXN1bHQKLWRiLnNldFZlcnNpb24oJ25ldyB2ZXJzaW9uJykKLXRyYW5zID0gZXZlbnQu
dGFyZ2V0LnJlc3VsdAotUEFTUyB0cmFucyBpcyBub24tbnVsbC4KK2RibmFtZSA9ICJmYWN0b3J5
LWRlbGV0ZWRhdGFiYXNlLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQor
aW5kZXhlZERCLm9wZW4oZGJuYW1lKQogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3Rv
cmVOYW1lJywgbnVsbCkKIHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleE5hbWUnLCAnJykKIFBBU1Mg
c3RvcmUuaW5kZXhOYW1lcy5jb250YWlucygnaW5kZXhOYW1lJykgaXMgdHJ1ZQpAQCAtMjAsMTIg
KzE2LDE0IEBAIGRiLnRyYW5zYWN0aW9uKCdzdG9yZU5hbWUnLCAncmVhZHdyaXRlJykKIHN0b3Jl
ID0gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUoJ3N0b3JlTmFtZScpCiBzdG9yZS5nZXQoJ2tleScp
CiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgInZhbHVlIgotZGIuc2V0VmVyc2lvbignbmV3
IHZlcnNpb24nKQotcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnZGF0YWJhc2Ut
dG8tZGVsZXRlJykKK2RiLmNsb3NlKCkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKK2RiID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdAorcmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShk
Ym5hbWUpCitkYi5jbG9zZSgpCiBQQVNTIHJlcXVlc3QucmVzdWx0IGlzIHVuZGVmaW5lZC4KLWlu
ZGV4ZWREQi5vcGVuKCdkYXRhYmFzZS10by1kZWxldGUnKQoraW5kZXhlZERCLm9wZW4oZGJuYW1l
LCAzKQogZGIgPSBldmVudC50YXJnZXQucmVzdWx0Ci1kYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lv
bicpCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDAKIFBBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvaW5kZXgtZHVwbGljYXRlLWtleXBhdGhzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWR1cGxpY2F0ZS1rZXlwYXRocy1leHBlY3RlZC50eHQK
aW5kZXggMDI0NDgzMThiYjhiMzc3MjEzN2QzY2EwOWI1YTkyZGNkYjAxZjlhMS4uZWY2YjA3NzVi
YzkwN2VmZDkxMjQ0OTYyOTM0ZjlhYzYyODA4MjMzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZHVwbGljYXRlLWtleXBhdGhzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1kdXBsaWNhdGUta2V5cGF0
aHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0
VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNl
IHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgdGhlIHVzZSBvZiBpZGVu
dGljYWwga2V5cGF0aHMgYmV0d2VlbiBvYmplY3RzdG9yZXMgYW5kIGluZGV4ZXMKIAogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtMTYsNyArMTUsOCBAQCBvYmplY3RTdG9yZS5nZXQoMTAp
CiBpbmRleC5nZXQoMTApCiBQQVNTIEpTT04uc3RyaW5naWZ5KHJlc3VsdCkgaXMgIntcImZvb1wi
OjEwfSIKIFBBU1MgSlNPTi5zdHJpbmdpZnkocmVzdWx0KSBpcyAie1wiZm9vXCI6MTB9IgotZGIu
c2V0VmVyc2lvbignMicpCitkYi5jbG9zZSgpCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lLCAyKQogRGVsZXRlZCBhbGwgb2JqZWN0IHN0b3Jlcy4KIHN0b3JlID0gZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ2NvbGxpZGVXaXRoQXV0b0luY3JlbWVudCcsIHtrZXlQYXRoOiAnZm9vJywgYXV0
b0luY3JlbWVudDogdHJ1ZX0pCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnZm9v
JykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LW11bHRp
ZW50cnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
bXVsdGllbnRyeS1leHBlY3RlZC50eHQKaW5kZXggNTJhOWU3NTQ5MDVjM2Q5NWRjOWU4MGU5MGI1
MDliNmE2MTMxZDVlMy4uZjFkNjk3N2U3ZjhmMzEwYjNkMTgzNmM5NzJjODdjNzZlYzljN2ZkZCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtbXVsdGllbnRy
eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
bXVsdGllbnRyeS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6
IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1v
dmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBmZWF0dXJl
cyBvZiBJbmRleGVkREIncyBtdWx0aUVudHJ5IGluZGljZXMuCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KQEAgLTYsMTQgKzUsOSBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBpbmRl
eGVkREIgPSBzZWxmLmluZGV4ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1v
ekluZGV4ZWREQiB8fCBzZWxmLm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAotaW5k
ZXhlZERCLm9wZW4oJ2luZGV4LW11bHRpRW50cnknKQotZGIgPSBldmVudC50YXJnZXQucmVzdWx0
Ci1kYi5zZXRWZXJzaW9uKCcxJykKLQotQ3JlYXRpbmcgZW1wdHkgc3RvcmVzIGFuZCBpbmRleGVz
Ci10cmFucyA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLVBBU1MgdHJhbnMgaXMgbm9uLW51bGwuCi1E
ZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGJuYW1lID0gImluZGV4LW11bHRpZW50cnkuaHRt
bCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5h
bWUpCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCiBzdG9yZS5jcmVhdGVJ
bmRleCgnaW5kZXgnLCAneCcsIHttdWx0aUVudHJ5OiB0cnVlfSkKIHN0b3JlMiA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZS11bmlxdWUnKQpAQCAtMTAyLDkgKzk2LDEwIEBAIFJlcXVlc3Qg
ZmFpbGVkLCBhcyBleHBlY3RlZCAoQ29uc3RyYWludEVycm9yKQogVHJhbnNhY3Rpb24gYWJvcnRl
ZCBhcyBleHBlY3RlZAogCiBDcmVhdGUgYW4gaW5kZXggb24gYSBwb3B1bGF0ZWQgc3RvcmUKLWRi
LnNldFZlcnNpb24oJzInKQotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Ci1QQVNTIHRyYW5z
IGlzIG5vbi1udWxsLgorZGIuY2xvc2UoKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQorZGIg
PSBldmVudC50YXJnZXQucmVzdWx0Cit0cmFucyA9IGV2ZW50LnRhcmdldC50cmFuc2FjdGlvbgog
c3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQogc3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4LW5ldycsICd4Jywge211bHRpRW50cnk6IHRydWV9KQogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24tZXhwZWN0ZWQudHh0
CmluZGV4IDZiMDM1YjQxNDczNmM3ZDQxNjhhYjZiMmIyYWU4MGUwYjFjZjc2NzIuLjU3NjFhMjc4
NDNhYThiYmE1MTI5NTRmYjRjM2RmN2JkNTk2MjY3M2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRpb24tZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhv
ZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5l
ZWRlZCIgZXZlbnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCIGluZGV4IHBvcHVsYXRpb24uCiAK
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KQEAgLTYsMTUgKzUsMTAgQEAgT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUKIAogaW5kZXhlZERCID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJ
bmRleGVkREIgfHwgc2VsZi5tb3pJbmRleGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxm
Lk9JbmRleGVkREI7CiAKLWluZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnaW5kZXgtcG9wdWxhdGlv
bicpCi1pbmRleGVkREIub3BlbignaW5kZXgtcG9wdWxhdGlvbicpCi0KLWRvU2V0VmVyc2lvbjEo
KToKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3Zl
cnNpb24gMScpCi0KLXNldFZlcnNpb24xKCk6Ci10cmFuc2FjdGlvbiA9IHJlcXVlc3QucmVzdWx0
CitkYm5hbWUgPSAiaW5kZXgtcG9wdWxhdGlvbi5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkKK2luZGV4ZWREQi5vcGVuKGRibmFtZSkKK3RyYW5zYWN0aW9uID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uCiBzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTEn
KQogc3RvcmUucHV0KHtkYXRhOiAnYScsIGluZGV4S2V5OiAxMH0sIDEpCiBzdG9yZS5wdXQoe2Rh
dGE6ICdiJywgaW5kZXhLZXk6IDIwfSwgMikKQEAgLTI3LDEwICsyMSwxMSBAQCByZXF1ZXN0ID0g
aW5kZXguY291bnQoSURCS2V5UmFuZ2UuYm91bmQoLUluZmluaXR5LCBJbmZpbml0eSkpCiBQQVNT
IHJlcXVlc3QucmVzdWx0IGlzIDQKIAogZG9TZXRWZXJzaW9uMigpOgotcmVxdWVzdCA9IGRiLnNl
dFZlcnNpb24oJ3ZlcnNpb24gMicpCitkYi5jbG9zZSgpCityZXF1ZXN0ID0gaW5kZXhlZERCLm9w
ZW4oZGJuYW1lLCAyKQogCiBzZXRWZXJzaW9uMigpOgotdHJhbnNhY3Rpb24gPSByZXF1ZXN0LnJl
c3VsdAordHJhbnNhY3Rpb24gPSByZXF1ZXN0LnRyYW5zYWN0aW9uCiBzdG9yZSA9IGRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZTInKQogc3RvcmUucHV0KHtkYXRhOiAnYScsIGluZGV4S2V5OiAx
MH0sIDEpCiBzdG9yZS5wdXQoe2RhdGE6ICdiJywgaW5kZXhLZXk6IDIwfSwgMikKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLWV4cGVjdGVkLnR4dAppbmRl
eCA1NTRjMDYyNmFjZGUzMDk5Zjk3NWNmMDZiOWRlNjdjOGQwMmRjZTYxLi4wNzYzZmFiMTFhODNj
ODM1MWQ5OWE4YWE3M2VlYTBmODVlMzRkMmRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvbWV0YWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMyBAQAotQ09O
U09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24tc3RhbmRhcmQgYW5k
IHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4K
LUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5kYXJk
IGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGluc3Rl
YWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFu
ZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBp
bnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1ldGhvZCBpcyBub24t
c3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFkZW5lZWRlZCIgZXZl
bnQgaW5zdGVhZC4KIFRlc3QgSW5kZXhlZERCIGRhdGFiYXNlIG1ldGFkYXRhIG11dGF0aW9uL3Nu
YXBzaG90dGluZwogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC05LDQ1ICs1LDM4IEBA
IE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8
IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRl
eGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1kYm5hbWUgPSBzZWxmLmxvY2F0aW9uLnBhdGhu
YW1lCi1yZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKLQotZmlyc3RP
cGVuKCk6Ci1yZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQotY29ubmVjdGlvbjEgPSBy
ZXF1ZXN0LnJlc3VsdAotcmVxdWVzdCA9IGNvbm5lY3Rpb24xLnNldFZlcnNpb24oJzEnKQotdHJh
bnMgPSByZXF1ZXN0LnJlc3VsdAorZGJuYW1lID0gIm1ldGFkYXRhLmh0bWwiCitpbmRleGVkREIu
ZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQogY29ubmVjdGlv
bjFzdG9yZTEgPSBjb25uZWN0aW9uMS5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUxJykKIGNvbm5l
Y3Rpb24xc3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDEnLCAncGF0aCcpCi1QQVNTIGNvbm5lY3Rp
b24xLnZlcnNpb24gaXMgIjEiCitQQVNTIGNvbm5lY3Rpb24xLnZlcnNpb24gaXMgMQogUEFTUyBj
b25uZWN0aW9uMS5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAxCiBQQVNTIGNvbm5lY3Rpb24x
c3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIGlzIDEKIENvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNo
b3VsZCBiZSBzbmFwc2hvdHRlZCBvbiBjbG9zZQogY29ubmVjdGlvbjEuY2xvc2UoKQogCiBzZWNv
bmRPcGVuKCk6Ci1yZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSwgMikKIGNvbm5lY3Rpb24yID0gcmVxdWVzdC5yZXN1bHQKLXJl
cXVlc3QgPSBjb25uZWN0aW9uMi5zZXRWZXJzaW9uKCcyJykKLXRyYW5zID0gcmVxdWVzdC5yZXN1
bHQKK3RyYW5zID0gcmVxdWVzdC50cmFuc2FjdGlvbgogY29ubmVjdGlvbjIuY3JlYXRlT2JqZWN0
U3RvcmUoJ3N0b3JlMicpCiBjb25uZWN0aW9uMnN0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZTEnKQogY29ubmVjdGlvbjJzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MicsICdwYXRoJykK
LVBBU1MgY29ubmVjdGlvbjIudmVyc2lvbiBpcyAiMiIKK1BBU1MgY29ubmVjdGlvbjIudmVyc2lv
biBpcyAyCiBQQVNTIGNvbm5lY3Rpb24yLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDIKIFBB
U1MgY29ubmVjdGlvbjJzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGggaXMgMgogQ29ubmVjdGlvbidz
IHByb3BlcnRpZXMgc2hvdWxkIGJlIHNuYXBzaG90dGVkIG9uIGNsb3NlCiBjb25uZWN0aW9uMi5j
bG9zZSgpCiAKIHRoaXJkT3BlbigpOgotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSkK
K3JlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDMpCiBjb25uZWN0aW9uMyA9IHJlcXVl
c3QucmVzdWx0Ci1yZXF1ZXN0ID0gY29ubmVjdGlvbjMuc2V0VmVyc2lvbignMycpCi10cmFucyA9
IHJlcXVlc3QucmVzdWx0Cit0cmFucyA9IHJlcXVlc3QudHJhbnNhY3Rpb24KIGNvbm5lY3Rpb24z
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTMnKQogY29ubmVjdGlvbjNzdG9yZTEgPSB0cmFucy5v
YmplY3RTdG9yZSgnc3RvcmUxJykKIGNvbm5lY3Rpb24zc3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRl
eDMnLCAncGF0aCcpCi1QQVNTIGNvbm5lY3Rpb24zLnZlcnNpb24gaXMgIjMiCitQQVNTIGNvbm5l
Y3Rpb24zLnZlcnNpb24gaXMgMwogUEFTUyBjb25uZWN0aW9uMy5vYmplY3RTdG9yZU5hbWVzLmxl
bmd0aCBpcyAzCiBQQVNTIGNvbm5lY3Rpb24zc3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIGlzIDMK
IENvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSByZXZlcnRlZCBvbiBhYm9ydApAQCAt
NTYsMzMgKzQ1LDMyIEBAIENvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFwc2hv
dHRlZCBvbiBjbG9zZQogY29ubmVjdGlvbjMuY2xvc2UoKQogCiBmb3VydGhPcGVuKCk6Ci1yZXF1
ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRi
bmFtZSwgNCkKIGNvbm5lY3Rpb240ID0gcmVxdWVzdC5yZXN1bHQKLXJlcXVlc3QgPSBjb25uZWN0
aW9uNC5zZXRWZXJzaW9uKCc0JykKLXRyYW5zID0gcmVxdWVzdC5yZXN1bHQKK3RyYW5zID0gcmVx
dWVzdC50cmFuc2FjdGlvbgogY29ubmVjdGlvbjQuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlNCcp
CiBjb25uZWN0aW9uNHN0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZTEnKQogY29ubmVj
dGlvbjRzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4NCcsICdwYXRoJykKLVBBU1MgY29ubmVjdGlv
bjQudmVyc2lvbiBpcyAiNCIKK1BBU1MgY29ubmVjdGlvbjQudmVyc2lvbiBpcyA0CiBQQVNTIGNv
bm5lY3Rpb240Lm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDMKIFBBU1MgY29ubmVjdGlvbjRz
dG9yZTEuaW5kZXhOYW1lcy5sZW5ndGggaXMgMwogQ29ubmVjdGlvbidzIHByb3BlcnRpZXMgc2hv
dWxkIGJlIHNuYXBzaG90dGVkIG9uIGNsb3NlCiBjb25uZWN0aW9uNC5jbG9zZSgpCiAKIGNoZWNr
U3RhdGUoKToKLVBBU1MgY29ubmVjdGlvbjEudmVyc2lvbiBpcyAiMSIKK1BBU1MgY29ubmVjdGlv
bjEudmVyc2lvbiBpcyAxCiBQQVNTIGNvbm5lY3Rpb24xLm9iamVjdFN0b3JlTmFtZXMubGVuZ3Ro
IGlzIDEKIFBBU1MgY29ubmVjdGlvbjFzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGggaXMgMQogCi1Q
QVNTIGNvbm5lY3Rpb24yLnZlcnNpb24gaXMgIjIiCitQQVNTIGNvbm5lY3Rpb24yLnZlcnNpb24g
aXMgMgogUEFTUyBjb25uZWN0aW9uMi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBpcyAyCiBQQVNT
IGNvbm5lY3Rpb24yc3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIGlzIDIKIAotUEFTUyBjb25uZWN0
aW9uMy52ZXJzaW9uIGlzICIyIgorUEFTUyBjb25uZWN0aW9uMy52ZXJzaW9uIGlzIDIKIFBBU1Mg
Y29ubmVjdGlvbjMub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMgogUEFTUyBjb25uZWN0aW9u
M3N0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCBpcyAyCiAKLVBBU1MgY29ubmVjdGlvbjQudmVyc2lv
biBpcyAiNCIKK1BBU1MgY29ubmVjdGlvbjQudmVyc2lvbiBpcyA0CiBQQVNTIGNvbm5lY3Rpb240
Lm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDMKIFBBU1MgY29ubmVjdGlvbjRzdG9yZTEuaW5k
ZXhOYW1lcy5sZW5ndGggaXMgMwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvZXhjZXB0aW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9leGNlcHRpb25zLmpzCmluZGV4IGU0MjUzODQyODJkNTUyNzY1MGU0
Yjk3Y2Q2ZTkxNzFjYjE3NWYxYzYuLjI1YjVlYzk5NDFiMzFhNjc3YWY3MTVjMGQwZjI3NzhlZGIy
YjQ5MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9leGNlcHRpb25zLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9leGNlcHRpb25zLmpzCkBAIC0yLDgzICsyLDY4IEBAIGlmICh0aGlzLmltcG9ydFNjcmlw
dHMpIHsKICAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcycpOwogICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwogfQorCiBkZXNj
cmlwdGlvbigiVGVzdCB0aGF0IGV4cGVjdGVkIGV4Y2VwdGlvbnMgYXJlIHRocm93biBwZXIgSW5k
ZXhlZERCIHNwZWMuIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJl
RGF0YWJhc2UsIHRlc3REYXRhYmFzZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewot
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5kZWxldGVEYXRhYmFzZSgnZXhjZXB0aW9ucycpIik7Ci0gICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1
bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbignZXhj
ZXB0aW9ucycpIik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVxdWVzdC5yZWFk
eVN0YXRlIiwgInBlbmRpbmciKTsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisKKyAg
ICBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7Cisg
ICAgZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAnaWQnKSIp
OworICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdhJ30sIDEpIik7CisgICAgZXZhbEFu
ZExvZygic3RvcmUucHV0KHtpZDogJ2InfSwgMikiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZS5w
dXQoe2lkOiAnYyd9LCAzKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdkJ30s
IDQpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2UnfSwgNSkiKTsKKyAgICBl
dmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnZid9LCA2KSIpOworICAgIGV2YWxBbmRMb2coInN0
b3JlLnB1dCh7aWQ6ICdnJ30sIDcpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDog
J2gnfSwgOCkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnaSd9LCA5KSIpOwor
ICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdqJ30sIDEwKSIpOworICAgIGV2YWxBbmRM
b2coIm90aGVyU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnb3RoZXJTdG9yZScpIik7Cisg
ICAgZXZhbEFuZExvZygiaW5saW5lS2V5U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnaW5s
aW5lS2V5U3RvcmUnLCB7a2V5UGF0aDogJ2lkJ30pIik7CisKKyAgICBldmFsQW5kTG9nKCJyZXF1
ZXN0ID0gaW5saW5lS2V5U3RvcmUucHV0KHtpZDogMH0pIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJyZXF1ZXN0LnJlYWR5U3RhdGUiLCAicGVuZGluZyIpOwogCi0gICAgICAgIGRlYnVn
KCIiKTsKLSAgICAgICAgZGVidWcoIjMuMi4xIFRoZSBJREJSZXF1ZXN0IEludGVyZmFjZSIpOwot
Ci0gICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQlJlcXVlc3QuZXJyb3IiKTsK
LSAgICAgICAgZGVidWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0dGluZyB0aGlz
IHByb3BlcnR5IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVF
cnJvci4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigicmVxdWVzdC5lcnJvciIs
ICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIp
OworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiMy4yLjEgVGhlIElEQlJlcXVlc3QgSW50ZXJm
YWNlIik7CiAKLSAgICAgICAgZGVidWcoIiIpOwotICAgICAgICBkZWJ1ZygiSURCUmVxdWVzdC5y
ZXN1bHQiKTsKLSAgICAgICAgZGVidWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0
dGluZyB0aGlzIHByb3BlcnR5IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZh
bGlkU3RhdGVFcnJvci4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigicmVxdWVz
dC5yZXN1bHQiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3Rh
dGVFcnJvciciKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIklEQlJlcXVlc3QuZXJyb3Ii
KTsKKyAgICBkZWJ1ZygiV2hlbiB0aGUgZG9uZSBmbGFnIGlzIGZhbHNlLCBnZXR0aW5nIHRoaXMg
cHJvcGVydHkgbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVy
cm9yLiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInJlcXVlc3QuZXJyb3IiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKIAot
ICAgICAgICBkZWJ1ZygiIik7Ci0gICAgICAgIGRlYnVnKCIzLjIuMyBPcGVuaW5nIGEgZGF0YWJh
c2UiKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIklEQlJlcXVlc3QucmVzdWx0Iik7Cisg
ICAgZGVidWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0dGluZyB0aGlzIHByb3Bl
cnR5IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJvci4i
KTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJyZXF1ZXN0LnJlc3VsdCIsICJET01FeGNl
cHRpb24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOwogCi0gICAg
ICAgIGRlYnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQkZhY3RvcnkuY21wKCkiKTsKLSAgICAg
ICAgZGVidWcoIk9uZSBvZiB0aGUgc3VwcGxpZWQga2V5cyB3YXMgbm90IGEgdmFsaWQga2V5LiIp
OwotICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleGVkREIuY21wKG51bGwsIDAp
IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIiwgIidEYXRhRXJyb3InIik7CisgICAg
ZGVidWcoIiIpOworICAgIGRlYnVnKCIzLjIuMyBPcGVuaW5nIGEgZGF0YWJhc2UiKTsKIAotICAg
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRlYnVnKCIiKTsK
LSAgICAgICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLQotICAgICAg
ICAgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwotICAgICAg
ICAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAg
ICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAg
ICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAg
IHZhciB0cmFucyA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgICAgICAgICAgIHRyYW5zLm9uYWJv
cnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLQotICAgICAgICAgICAgICAgIGV2YWxBbmRM
b2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICAgICAgICAg
ICAgICBldmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICdpZCcp
Iik7Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2EnfSwgMSki
KTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnYid9LCAyKSIp
OwotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdjJ30sIDMpIik7
Ci0gICAgICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2QnfSwgNCkiKTsK
LSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnZSd9LCA1KSIpOwot
ICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdmJ30sIDYpIik7Ci0g
ICAgICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2cnfSwgNykiKTsKLSAg
ICAgICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnaCd9LCA4KSIpOwotICAg
ICAgICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdpJ30sIDkpIik7Ci0gICAg
ICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2onfSwgMTApIik7Ci0gICAg
ICAgICAgICAgICAgZXZhbEFuZExvZygib3RoZXJTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3Jl
KCdvdGhlclN0b3JlJykiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJpbmxpbmVLZXlT
dG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdpbmxpbmVLZXlTdG9yZScsIHtrZXlQYXRoOiAn
aWQnfSkiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJpbmxpbmVLZXlTdG9yZS5wdXQo
e2lkOiAwfSkiKTsKLQotICAgICAgICAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0RGF0
YWJhc2U7Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotICAgIH07CisgICAgZGVidWcoIiIp
OworICAgIGRlYnVnKCJJREJGYWN0b3J5LmNtcCgpIik7CisgICAgZGVidWcoIk9uZSBvZiB0aGUg
c3VwcGxpZWQga2V5cyB3YXMgbm90IGEgdmFsaWQga2V5LiIpOworICAgIGV2YWxBbmRFeHBlY3RF
eGNlcHRpb24oImluZGV4ZWREQi5jbXAobnVsbCwgMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIiLCAiJ0RhdGFFcnJvciciKTsKIH0KIAogZnVuY3Rpb24gdGVzdERhdGFiYXNlKCkK
IHsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CisKICAgICBkZWJ1ZygiIik7CiAgICAg
ZGVidWcoIjMuMi40IERhdGFiYXNlIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIu
c2V0VmVyc2lvbignMicpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5v
cGVuKGRibmFtZSwgMikiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJh
Y2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHRy
YW5zID0gcmVxdWVzdC5yZXN1bHQ7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjaGVja1RyYW5z
YWN0aW9uQW5kT2JqZWN0U3RvcmVFeGNlcHRpb25zOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVl
ZGVkID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGRiID0gcmVxdWVzdC5yZXN1bHQ7CisgICAgICAg
IHZhciB0cmFucyA9IHJlcXVlc3QudHJhbnNhY3Rpb247CiAgICAgICAgIHRyYW5zLm9uYWJvcnQg
PSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgICAgICBkZWJ1ZygiIik7CkBAIC0xMDAs
MzAgKzg1LDMxIEBAIGZ1bmN0aW9uIHRlc3REYXRhYmFzZSgpCiAgICAgICAgIGRlYnVnKCJJREJE
YXRhYmFzZS50cmFuc2FjdGlvbigpIik7CiAgICAgICAgIGRlYnVnKCdJZiB0aGlzIG1ldGhvZCBp
cyBjYWxsZWQgb24gSURCRGF0YWJhc2Ugb2JqZWN0IGZvciB3aGljaCBhICJ2ZXJzaW9uY2hhbmdl
IiB0cmFuc2FjdGlvbiBpcyBzdGlsbCBydW5uaW5nLCBhIEludmFsaWRTdGF0ZUVycm9yIGV4Y2Vw
dGlvbiBtdXN0IGJlIHRocm93bi4nKTsKICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJS
IiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKLQotICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0g
ZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICBkZWJ1ZygiT25lIG9mIHRoZSBuYW1lcyBwcm92aWRl
ZCBpbiB0aGUgc3RvcmVOYW1lcyBhcmd1bWVudCBkb2Vzbid0IGV4aXN0IGluIHRoaXMgZGF0YWJh
c2UuIik7Ci0gICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlv
bignbm8tc3VjaC1zdG9yZScpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIiwgIidOb3RG
b3VuZEVycm9yJyIpOwotICAgICAgICAgICAgZGVidWcoIlRoZSB2YWx1ZSBmb3IgdGhlIG1vZGUg
cGFyYW1ldGVyIGlzIGludmFsaWQuIik7Ci0gICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uQ2xhc3MoImRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdpbnZhbGlkLW1vZGUnKSIsICJUeXBl
RXJyb3IiKTsKLSAgICAgICAgICAgIGRlYnVnKCJUaGUgZnVuY3Rpb24gd2FzIGNhbGxlZCB3aXRo
IGFuIGVtcHR5IGxpc3Qgb2Ygc3RvcmUgbmFtZXMiKTsKLSAgICAgICAgICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oImRiLnRyYW5zYWN0aW9uKFtdKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9B
Q0NFU1NfRVJSIiwgIidJbnZhbGlkQWNjZXNzRXJyb3InIik7Ci0KLSAgICAgICAgICAgIGRlYnVn
KCIiKTsKLSAgICAgICAgICAgIGRlYnVnKCJPbmUgbW9yZSBJREJEYXRhYmFzZS5jcmVhdGVPYmpl
Y3RTdG9yZSgpIHRlc3Q6Iik7Ci0gICAgICAgICAgICBkZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBp
cyBjYWxsZWQgZnJvbSBvdXRzaWRlIGEgInZlcnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxi
YWNrIC4uLiB0aGUgaW1wbGVtZW50YXRpb24gbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0
eXBlIEludmFsaWRTdGF0ZUVycm9yLicpOwotICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZhaWwnKSIsICJET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOwotCi0gICAgICAgICAgICBkZWJ1
ZygiIik7Ci0gICAgICAgICAgICBkZWJ1ZygiT25lIG1vcmUgSURCRGF0YWJhc2UuZGVsZXRlT2Jq
ZWN0U3RvcmUoKSB0ZXN0OiIpOwotICAgICAgICAgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24g
aXMgY2FsbGVkIGZyb20gb3V0c2lkZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxs
YmFjayAuLi4gdGhlIGltcGxlbWVudGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2Yg
dHlwZSBJbnZhbGlkU3RhdGVFcnJvci4nKTsKLSAgICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLmRlbGV0ZU9iamVjdFN0b3JlKCdmYWlsJykiLCAiRE9NRXhjZXB0aW9uLklOVkFM
SURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKLQotICAgICAgICAgICAgcHJl
cGFyZVN0b3JlQW5kSW5kZXgoKTsKLSAgICAgICAgfTsKICAgICB9OwogfQogCitmdW5jdGlvbiBj
aGVja1RyYW5zYWN0aW9uQW5kT2JqZWN0U3RvcmVFeGNlcHRpb25zKCkKK3sKKyAgICBkZWJ1Zygi
T25lIG9mIHRoZSBuYW1lcyBwcm92aWRlZCBpbiB0aGUgc3RvcmVOYW1lcyBhcmd1bWVudCBkb2Vz
bid0IGV4aXN0IGluIHRoaXMgZGF0YWJhc2UuIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlv
bigiZGIudHJhbnNhY3Rpb24oJ25vLXN1Y2gtc3RvcmUnKSIsICJET01FeGNlcHRpb24uTk9UX0ZP
VU5EX0VSUiIsICInTm90Rm91bmRFcnJvciciKTsKKyAgICBkZWJ1ZygiVGhlIHZhbHVlIGZvciB0
aGUgbW9kZSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4iKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uQ2xhc3MoImRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdpbnZhbGlkLW1vZGUnKSIsICJUeXBl
RXJyb3IiKTsKKyAgICBkZWJ1ZygiVGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aCBhbiBlbXB0
eSBsaXN0IG9mIHN0b3JlIG5hbWVzIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIu
dHJhbnNhY3Rpb24oW10pIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIiLCAiJ0lu
dmFsaWRBY2Nlc3NFcnJvciciKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiT25lIG1v
cmUgSURCRGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoKSB0ZXN0OiIpOworICAgIGRlYnVnKCdJ
ZiB0aGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG91dHNpZGUgYSAidmVyc2lvbmNoYW5nZSIg
dHJhbnNhY3Rpb24gY2FsbGJhY2sgLi4uIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEg
RE9NRXhjZXB0aW9uIG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IuJyk7CisgICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZhaWwnKSIsICJET01FeGNlcHRp
b24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworCisgICAgZGVi
dWcoIiIpOworICAgIGRlYnVnKCJPbmUgbW9yZSBJREJEYXRhYmFzZS5kZWxldGVPYmplY3RTdG9y
ZSgpIHRlc3Q6Iik7CisgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20g
b3V0c2lkZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxsYmFjayAuLi4gdGhlIGlt
cGxlbWVudGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3Rh
dGVFcnJvci4nKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi5kZWxldGVPYmplY3RT
dG9yZSgnZmFpbCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxp
ZFN0YXRlRXJyb3InIik7CisKKyAgICBwcmVwYXJlU3RvcmVBbmRJbmRleCgpOworfQorCiBmdW5j
dGlvbiBwcmVwYXJlU3RvcmVBbmRJbmRleCgpCiB7CiAgICAgZGVidWcoIiIpOwpAQCAtMTQ0LDEz
ICsxMzAsMTMgQEAgZnVuY3Rpb24gdGVzdE9iamVjdFN0b3JlKCkKIHsKICAgICBkZWJ1ZygiIik7
CiAgICAgZGVidWcoIjMuMi41IE9iamVjdCBTdG9yZSIpOwotICAgIGV2YWxBbmRMb2coInN0b3Jl
RnJvbVJlYWRPbmx5VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZG9u
bHknKS5vYmplY3RTdG9yZSgnc3RvcmUnKSIpOwotICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpLm9iamVjdFN0b3JlKCdzdG9yZScpIik7
CisgICAgZXZhbEFuZExvZygicm9fdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmUn
LCAncmVhZG9ubHknKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlRnJvbVJlYWRPbmx5VHJhbnNh
Y3Rpb24gPSByb190cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIGV2YWxB
bmRMb2coInJ3X3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0
ZScpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSByd190cmFuc2FjdGlvbi5vYmplY3RTdG9y
ZSgnc3RvcmUnKSIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJJREJPYmplY3RTdG9y
ZS5hZGQoKSIpOwotICAgIGRlYnVnKCJzdG9yZUZyb21SZWFkT25seVRyYW5zYWN0aW9uID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWRvbmx5Jykub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsK
LSAgICBkZWJ1Zygic3RvcmUgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRlJyku
b2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKICAgICBkZWJ1ZygnVGhpcyBtZXRob2QgdGhyb3dzIGEg
RE9NRXhjZXB0aW9uIG9mIHR5cGUgUmVhZE9ubHlFcnJvciBpZiB0aGUgdHJhbnNhY3Rpb24gd2hp
Y2ggdGhpcyBJREJPYmplY3RTdG9yZSBiZWxvbmdzIHRvIGlzIGhhcyBpdHMgbW9kZSBzZXQgdG8g
InJlYWRvbmx5Ii4nKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZUZyb21SZWFk
T25seVRyYW5zYWN0aW9uLmFkZCgwLCAwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09O
TFlfRVJSIiwgIidSZWFkT25seUVycm9yJyIpOwogICAgIC8vICJJZiBhbnkgb2YgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zIGFyZSB0cnVlLCB0aGlzIG1ldGhvZCB0aHJvd3MgYSBET01FeGNlcHRp
b24gb2YgdHlwZSBEYXRhRXJyb3I6IiAtIGNvdmVyZWQgaW4gb2JqZWN0c3RvcmUtYmFzaWNzLmh0
bWwKQEAgLTIyMyw0MyArMjA5LDYxIEBAIGZ1bmN0aW9uIHRlc3RPYmplY3RTdG9yZSgpCiAgICAg
ZGVidWcoIlRoZSBkYXRhIGJlaW5nIHN0b3JlZCBjb3VsZCBub3QgYmUgY2xvbmVkIGJ5IHRoZSBp
bnRlcm5hbCBzdHJ1Y3R1cmVkIGNsb25pbmcgYWxnb3JpdGhtLiIpOwogICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oInN0b3JlLnB1dChzZWxmLCAwKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9O
RV9FUlIiKTsgLy8gRklYTUU6IFRlc3QgJ0RhdGFDbG9uZUVycm9yJyBuYW1lIHdoZW4gRE9NNCBl
eGNlcHRpb25zIGFyZSB1c2VkIGluIGJpbmRpbmcuCiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygiZGIuc2V0VmVyc2lvbignMycpIik7CisgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOwor
ICAgIGV2YWxBbmRMb2coInJvX3RyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNv
bXBsZXRlIik7CisgICAgZXZhbEFuZExvZygicndfdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHRy
YW5zYWN0aW9uQ29tcGxldGUiKTsKK30KKwordmFyIG51bUNvbXBsZXRlZCA9IDA7CitmdW5jdGlv
biB0cmFuc2FjdGlvbkNvbXBsZXRlKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIG51
bUNvbXBsZXRlZCsrOworICAgIGlmIChudW1Db21wbGV0ZWQgPT0gMSkgeworICAgICAgICBkZWJ1
ZygiRmlyc3QgdHJhbnNhY3Rpb24gY29tcGxldGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykiKTsK
ICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXF1
ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5v
bnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHRyYW5zID0gcmVxdWVzdC5yZXN1
bHQ7Ci0gICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAg
ICAgICAgc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBldmFsQW5kTG9n
KCJyZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IG9uVXBncmFkZU5lZWRlZDMiKTsKK30KIAotICAg
ICAgICBkZWJ1ZygiIik7Ci0gICAgICAgIGRlYnVnKCJJREJPYmplY3RTdG9yZS5jcmVhdGVJbmRl
eCgpIik7Ci0gICAgICAgIGRlYnVnKCJJZiBhbiBpbmRleCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxy
ZWFkeSBleGlzdHMsIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhjZXB0aW9u
IG9mIHR5cGUgQ29uc3RyYWludEVycm9yLiAiKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigic3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2tleVBhdGgnKSIsICJJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5DT05TVFJBSU5UX0VSUiIsICInQ29uc3RyYWludEVycm9yJyIpOwotICAgICAg
ICBkZWJ1ZygiSWYga2V5UGF0aCBpcyBub3QgYSB2YWxpZCBrZXkgcGF0aCB0aGVuIGEgRE9NRXhj
ZXB0aW9uIG9mIHR5cGUgU3ludGF4RXJyb3IgbXVzdCBiZSB0aHJvd24uIik7Ci0gICAgICAgIGV2
YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNyZWF0ZUluZGV4KCdmYWlsJywgJy1pbnZhbGlk
LScpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIiwgIidTeW50YXhFcnJvciciKTsKLSAgICAg
ICAgZGVidWcoIklmIGtleVBhdGggaXMgYW4gQXJyYXkgYW5kIHRoZSBtdWx0aUVudHJ5IHByb3Bl
cnR5IGluIHRoZSBvcHRpb25hbFBhcmFtZXRlcnMgaXMgdHJ1ZSwgdGhlbiBhIERPTUV4Y2VwdGlv
biBvZiB0eXBlIEludmFsaWRBY2Nlc3NFcnJvciBtdXN0IGJlIHRocm93bi4iKTsKLSAgICAgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY3JlYXRlSW5kZXgoJ2ZhaWwnLCBbJ2EnXSwg
e211bHRpRW50cnk6IHRydWV9KSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSIiwg
IidJbnZhbGlkQWNjZXNzRXJyb3InIik7Ci0gICAgICAgIC8vICJPY2N1cnMgaWYgYSByZXF1ZXN0
IGlzIG1hZGUgb24gYSBzb3VyY2Ugb2JqZWN0IHRoYXQgaGFzIGJlZW4gZGVsZXRlZCBvciByZW1v
dmVkLiIgLSBjb3ZlcmVkIGluIGRlbGV0ZWQtb2JqZWN0cy5odG1sCitmdW5jdGlvbiBvblVwZ3Jh
ZGVOZWVkZWQzKCkKK3sKKyAgICBkYiA9IHJlcXVlc3QucmVzdWx0OworICAgIHZhciB0cmFucyA9
IHJlcXVlc3QudHJhbnNhY3Rpb247CisgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOworICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0T3V0c2lkZVZlcnNpb25DaGFu
Z2VUcmFuc2FjdGlvbjsKKyAgICBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOwog
Ci0gICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQk9iamVjdFN0b3JlLmRlbGV0
ZUluZGV4KCkiKTsKLSAgICAgICAgZGVidWcoIlRoZXJlIGlzIG5vIGluZGV4IHdpdGggdGhlIGdp
dmVuIG5hbWUsIGNvbXBhcmVkIGluIGEgY2FzZS1zZW5zaXRpdmUgbWFubmVyLCBpbiB0aGUgY29u
bmVjdGVkIGRhdGFiYXNlLiIpOwotICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9y
ZS5kZWxldGVJbmRleCgnbm8tc3VjaC1pbmRleCcpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfRk9VTkRf
RVJSIiwgIidOb3RGb3VuZEVycm9yJyIpOwotICAgICAgICAvLyAiT2NjdXJzIGlmIGEgcmVxdWVz
dCBpcyBtYWRlIG9uIGEgc291cmNlIG9iamVjdCB0aGF0IGhhcyBiZWVuIGRlbGV0ZWQgb3IgcmVt
b3ZlZC4iIC0gY292ZXJlZCBpbiBkZWxldGVkLW9iamVjdHMuaHRtbAotCi0gICAgICAgIHRyYW5z
Lm9uY29tcGxldGUgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRlYnVnKCIiKTsKLSAgICAg
ICAgICAgIGRlYnVnKCJPbmUgbW9yZSBJREJPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgpIHRlc3Q6
Iik7Ci0gICAgICAgICAgICBkZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBv
dXRzaWRlIGEgInZlcnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxiYWNrIC4uLiB0aGUgaW1w
bGVtZW50YXRpb24gbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0
ZUVycm9yLicpOwotICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJykub2JqZWN0U3RvcmUoJ3N0b3JlJykuY3JlYXRlSW5kZXgoJ2ZhaWwnLCAn
a2V5UGF0aCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0
YXRlRXJyb3InIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgICAgIGRlYnVn
KCJPbmUgbW9yZSBJREJPYmplY3RTdG9yZS5kZWxldGVJbmRleCgpIHRlc3Q6Iik7Ci0gICAgICAg
ICAgICBkZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIGEgInZl
cnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxiYWNrIC4uLiB0aGUgaW1wbGVtZW50YXRpb24g
bXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9yLicpOwot
ICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
Jykub2JqZWN0U3RvcmUoJ3N0b3JlJykuZGVsZXRlSW5kZXgoJ2ZhaWwnLCAna2V5UGF0aCcpIiwg
IkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7
Ci0gICAgICAgICAgICB0ZXN0SW5kZXgoKTsKLSAgICAgICAgfTsKLSAgICB9OworICAgIGRlYnVn
KCIiKTsKKyAgICBkZWJ1ZygiSURCT2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoKSIpOworICAgIGRl
YnVnKCJJZiBhbiBpbmRleCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMsIHRoZSBp
bXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgQ29uc3RyYWlu
dEVycm9yLiAiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5jcmVhdGVJbmRl
eCgnaW5kZXgnLCAna2V5UGF0aCcpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRf
RVJSIiwgIidDb25zdHJhaW50RXJyb3InIik7CisgICAgZGVidWcoIklmIGtleVBhdGggaXMgbm90
IGEgdmFsaWQga2V5IHBhdGggdGhlbiBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9y
IG11c3QgYmUgdGhyb3duLiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNy
ZWF0ZUluZGV4KCdmYWlsJywgJy1pbnZhbGlkLScpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
IiwgIidTeW50YXhFcnJvciciKTsKKyAgICBkZWJ1ZygiSWYga2V5UGF0aCBpcyBhbiBBcnJheSBh
bmQgdGhlIG11bHRpRW50cnkgcHJvcGVydHkgaW4gdGhlIG9wdGlvbmFsUGFyYW1ldGVycyBpcyB0
cnVlLCB0aGVuIGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgSW52YWxpZEFjY2Vzc0Vycm9yIG11c3Qg
YmUgdGhyb3duLiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNyZWF0ZUlu
ZGV4KCdmYWlsJywgWydhJ10sIHttdWx0aUVudHJ5OiB0cnVlfSkiLCAiRE9NRXhjZXB0aW9uLklO
VkFMSURfQUNDRVNTX0VSUiIsICInSW52YWxpZEFjY2Vzc0Vycm9yJyIpOworICAgIC8vICJPY2N1
cnMgaWYgYSByZXF1ZXN0IGlzIG1hZGUgb24gYSBzb3VyY2Ugb2JqZWN0IHRoYXQgaGFzIGJlZW4g
ZGVsZXRlZCBvciByZW1vdmVkLiIgLSBjb3ZlcmVkIGluIGRlbGV0ZWQtb2JqZWN0cy5odG1sCisK
KyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIklEQk9iamVjdFN0b3JlLmRlbGV0ZUluZGV4KCki
KTsKKyAgICBkZWJ1ZygiVGhlcmUgaXMgbm8gaW5kZXggd2l0aCB0aGUgZ2l2ZW4gbmFtZSwgY29t
cGFyZWQgaW4gYSBjYXNlLXNlbnNpdGl2ZSBtYW5uZXIsIGluIHRoZSBjb25uZWN0ZWQgZGF0YWJh
c2UuIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlSW5kZXgoJ25v
LXN1Y2gtaW5kZXgnKSIsICJET01FeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIsICInTm90Rm91bmRF
cnJvciciKTsKK30KKworZnVuY3Rpb24gdGVzdE91dHNpZGVWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rp
b24oKSB7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJPbmUgbW9yZSBJREJPYmplY3RTdG9y
ZS5jcmVhdGVJbmRleCgpIHRlc3Q6Iik7CisgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24gaXMg
Y2FsbGVkIGZyb20gb3V0c2lkZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxsYmFj
ayAuLi4gdGhlIGltcGxlbWVudGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlw
ZSBJbnZhbGlkU3RhdGVFcnJvci4nKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50
cmFuc2FjdGlvbignc3RvcmUnKS5vYmplY3RTdG9yZSgnc3RvcmUnKS5jcmVhdGVJbmRleCgnZmFp
bCcsICdrZXlQYXRoJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZh
bGlkU3RhdGVFcnJvciciKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiT25lIG1vcmUg
SURCT2JqZWN0U3RvcmUuZGVsZXRlSW5kZXgoKSB0ZXN0OiIpOworICAgIGRlYnVnKCdJZiB0aGlz
IGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG91dHNpZGUgYSAidmVyc2lvbmNoYW5nZSIgdHJhbnNh
Y3Rpb24gY2FsbGJhY2sgLi4uIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhj
ZXB0aW9uIG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IuJyk7CisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykub2JqZWN0U3RvcmUoJ3N0b3JlJykuZGVs
ZXRlSW5kZXgoJ2ZhaWwnLCAna2V5UGF0aCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7CisgICAgdGVzdEluZGV4KCk7CiB9CiAKIGZ1
bmN0aW9uIHRlc3RJbmRleCgpCkBAIC00NjEsNSArNDY1LDMgQEAgZnVuY3Rpb24gdGVzdFRyYW5z
YWN0aW9uKCkKIAogICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvZmFjdG9yeS1kZWxldGVk
YXRhYmFzZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9mYWN0
b3J5LWRlbGV0ZWRhdGFiYXNlLmpzCmluZGV4IGEzM2UwNzA1MTI5OTMwN2Y2MmM5YWZjNmI5N2Qw
YmMwMmZhNWVlOTMuLmFlYzE4NzM1Y2I4MDdjODIyN2EwNzY3NTgzOTdlNTM4ZmQwZGI0ODYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9mYWN0b3J5
LWRlbGV0ZWRhdGFiYXNlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLmpzCkBAIC01LDI3ICs1LDEwIEBAIGlmICh0
aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3Mgd2Vi
a2l0SW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCkuIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5k
ZXhlZERCVGVzdChwcmVwYXJlRGF0YWJhc2UsIGdldFZhbHVlKTsKK2Z1bmN0aW9uIHByZXBhcmVE
YXRhYmFzZSgpCiB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oJ2RhdGFiYXNlLXRvLWRlbGV0ZScpIik7Ci0gICAg
cmVxdWVzdC5vbnN1Y2Nlc3MgPSBzdGFydFNldFZlcnNpb247Ci0gICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0U2V0VmVyc2lv
bigpCi17Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
LQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicp
Iik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKLSAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVsZXRl
RXhpc3RpbmcoKQotewotICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50
LnRhcmdldC5yZXN1bHQiKTsKLSAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CisgICAgZGIg
PSBldmVudC50YXJnZXQucmVzdWx0OwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCkBAIC0zNCw3ICsx
Nyw2IEBAIGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogICAgIHJlcXVlc3QgPSBldmFsQW5k
TG9nKCJzdG9yZS5hZGQoJ3ZhbHVlJywgJ2tleScpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgdHJhbnMub25jb21wbGV0ZSA9IGdldFZhbHVl
OwogfQogCiBmdW5jdGlvbiBnZXRWYWx1ZSgpCkBAIC01MSwxNiArMzMsMTggQEAgZnVuY3Rpb24g
Z2V0VmFsdWUoKQogZnVuY3Rpb24gYWRkSW5kZXgoKQogewogICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygiZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJ2YWx1ZSIpOworICAgIGV2YWxBbmRMb2coImRi
LmNsb3NlKCkiKTsKIAotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCdu
ZXcgdmVyc2lvbicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVEYXRhYmFzZTsK
KyAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOwor
ICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZGVsZXRlRGF0YWJhc2U7CiAgICAgcmVxdWVz
dC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0
ZURhdGFiYXNlKCkKIHsKLSAgICBkYi5vbnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbigpIHsgZGIu
Y2xvc2UoKTsgfQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERC
LmRlbGV0ZURhdGFiYXNlKCdkYXRhYmFzZS10by1kZWxldGUnKSIpOworICAgIGV2YWxBbmRMb2co
ImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGRiLm9udmVyc2lvbmNoYW5nZSA9IGZ1
bmN0aW9uKCkgeyBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7IH0KKyAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpIik7CiAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSByZW9wZW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTY4LDI1ICs1MiwxNiBAQCBmdW5j
dGlvbiBkZWxldGVEYXRhYmFzZSgpCiBmdW5jdGlvbiByZW9wZW5EYXRhYmFzZSgpCiB7CiAgICAg
c2hvdWxkQmVVbmRlZmluZWQoInJlcXVlc3QucmVzdWx0Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKCdkYXRhYmFzZS10by1kZWxldGUnKSIpOwotICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gc3RhcnRTZXRWZXJzaW9uQWdhaW47Ci0gICAgcmVxdWVzdC5vbmVycm9y
ID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0U2V0VmVyc2lv
bkFnYWluKCkKLXsKLSAgICByZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1
bHQiKTsKLQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVy
c2lvbicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJpZnlOb3RGb3VuZDsKKyAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKSIpOworICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gdmVyaWZ5Tm90Rm91bmQ7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1
bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiB2ZXJpZnlOb3RGb3VuZCgp
CiB7CisgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAg
ICBzaG91bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMCIpOwogCiAgICAgZmlu
aXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgt
ZHVwbGljYXRlLWtleXBhdGhzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2luZGV4LWR1cGxpY2F0ZS1rZXlwYXRocy5qcwppbmRleCA1MTY3YjI4NWEwNmVjYTc2
MWE2MjJlNDNkY2Q0ZDJjNTFhNzE4YWJkLi45MDQ0NzNkYmFhM2MxNmRmYTM4NDhlZDMwYTA3ZTU4
NGFmM2YwYmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW5kZXgtZHVwbGljYXRlLWtleXBhdGhzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9pbmRleC1kdXBsaWNhdGUta2V5cGF0aHMuanMKQEAgLTM3
LDE2ICszNywxOCBAQCBmdW5jdGlvbiBzdG9yZUNvbGxpZGVkU3RvcmVJbmRleERhdGEoKSB7CiAK
IGZ1bmN0aW9uIHRlc3RDb2xsaWRlQXV0b0luY3JlbWVudFNldHVwKCkKIHsKLSAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSB0ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQ7CisgICAgZXZhbEFuZExvZygiZGIuY2xvc2Uo
KSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIp
Iik7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB0ZXN0Q29sbGlkZUF1dG9JbmNyZW1l
bnQ7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAg
cmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogfQogCiBmdW5j
dGlvbiB0ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQoKQogeworICAgIGRiID0gZXZlbnQudGFyZ2V0
LnJlc3VsdDsKKyAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uOwogICAgIGRlbGV0
ZUFsbE9iamVjdFN0b3JlcyhkYik7Ci0gICAgdmFyIHRyYW5zID0gcmVxdWVzdC5yZXN1bHQ7CiAg
ICAgZXZhbEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnY29sbGlkZVdpdGhB
dXRvSW5jcmVtZW50Jywge2tleVBhdGg6ICdmb28nLCBhdXRvSW5jcmVtZW50OiB0cnVlfSkiKTsK
ICAgICBldmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnZm9vJyki
KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L2luZGV4LW11bHRpZW50cnkuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW5kZXgtbXVsdGllbnRyeS5qcwppbmRleCA1OGZiOTJkMWY5ZGZhYTQ1ZWFiYjRmNWI3
NzhlMjAwOTIxMWVmYmEzLi43ZGY1ZjU5MmNmY2MzZjE1NmI3MzQzMzgyOTNmMTZmZWEyZGVjNGMw
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5k
ZXgtbXVsdGllbnRyeS5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNv
dXJjZXMvaW5kZXgtbXVsdGllbnRyeS5qcwpAQCAtNSwzMSArNSwxMCBAQCBpZiAodGhpcy5pbXBv
cnRTY3JpcHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IGZlYXR1cmVzIG9mIEluZGV4ZWREQidz
IG11bHRpRW50cnkgaW5kaWNlcy4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKLQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIu
b3BlbignaW5kZXgtbXVsdGlFbnRyeScpIik7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsK
LSAgICAgICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQot
ICAgICAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7Ci0gICAg
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICBy
ZXF1ZXN0Lm9uc3VjY2VzcyA9IHByZXBhcmVEYXRhYmFzZTsKLSAgICB9OwotfQotCitpbmRleGVk
REJUZXN0KHByZXBhcmVEYXRhYmFzZSwgYWRkRGF0YSk7CiBmdW5jdGlvbiBwcmVwYXJlRGF0YWJh
c2UoKQogewotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiQ3JlYXRpbmcgZW1wdHkgc3RvcmVz
IGFuZCBpbmRleGVzIik7Ci0gICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVu
dC50YXJnZXQucmVzdWx0Iik7Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwotICAgIHRy
YW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICB0cmFucy5vbmNvbXBs
ZXRlID0gYWRkRGF0YTsKLQotICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgZGIg
PSBldmVudC50YXJnZXQucmVzdWx0OwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7CiAgICAgZXZhbEFuZExvZygic3RvcmUu
Y3JlYXRlSW5kZXgoJ2luZGV4JywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZX0pIik7CkBAIC0xMjks
MTMgKzEwOCwxMyBAQCBmdW5jdGlvbiBjcmVhdGVJbmRleE9uU3RvcmVXaXRoRGF0YSgpCiB7CiAg
ICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJDcmVhdGUgYW4gaW5kZXggb24gYSBwb3B1bGF0ZWQg
c3RvcmUiKTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiAKLSAgICByZXF1ZXN0ID0g
ZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMicpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRM
b2coImluZGV4ZWREQi5vcGVuKGRibmFtZSwgMikiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KCkgewotCi0gICAgICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFy
Z2V0LnJlc3VsdCIpOwotICAgICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CisgICAgcmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZXZhbEFuZExvZygi
ZGIgPSBldmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0g
ZXZlbnQudGFyZ2V0LnRyYW5zYWN0aW9uIik7CiAgICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9u
KCkgeyB2ZXJpZnlJbmRleGVzKCdpbmRleC1uZXcnLCBmaW5pc2hKU1Rlc3QpOyB9OwogCkBAIC0x
NDMsNSArMTIyLDMgQEAgZnVuY3Rpb24gY3JlYXRlSW5kZXhPblN0b3JlV2l0aERhdGEoKQogICAg
ICAgICBldmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgtbmV3JywgJ3gnLCB7bXVs
dGlFbnRyeTogdHJ1ZX0pIik7CiAgICAgfTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9pbmRleC1wb3B1bGF0aW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMKaW5kZXggOWM2YWMyODMwYzEwNDljZmZh
NjZjMzA5OGYwMjU1Yzk1Mjg2ZmVjOS4uMzAyNDdjOTQwZDJlOTE5YWExOWNiNmFlMzg2YzM0YzVj
NjUxYzBkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3Vy
Y2VzL2luZGV4LXBvcHVsYXRpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMKQEAgLTUsMzkgKzUsMTEgQEAgaWYgKHRo
aXMuaW1wb3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIgaW5kZXgg
cG9wdWxhdGlvbi4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVE
YXRhYmFzZSwgZG9TZXRWZXJzaW9uMik7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewot
ICAgIHJlbW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKCdpbmRleC1wb3B1bGF0aW9uJykiKTsKLSAgICByZXF1
ZXN0Lm9uc3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZVN1Y2Nlc3MoKQotewot
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbignaW5kZXgtcG9wdWxhdGlv
bicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkb1NldFZlcnNpb24xOwotICAgIHJlcXVl
c3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZG9TZXRWZXJz
aW9uMSgpCi17Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJkb1NldFZlcnNpb24xKCk6Iik7
Ci0gICAgc2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwot
ICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lv
biAxJykiKTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24xOwotICAgIHJlcXVl
c3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gc2V0VmVyc2lv
bjEoKQotewotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbjEoKToiKTsKLSAg
ICB0cmFuc2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gcmVxdWVzdC5yZXN1bHQi
KTsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgZXZhbEFuZExvZygidHJhbnNh
Y3Rpb24gPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24iKTsKICAgICB0cmFuc2FjdGlvbi5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9
IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUg
PSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKQEAgLTUzLDIyICsyNSwyMyBAQCBm
dW5jdGlvbiBzZXRWZXJzaW9uMSgpCiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAo
KSB7CiAgICAgICAgIHNob3VsZEJlKCJyZXF1ZXN0LnJlc3VsdCIsICI0Iik7CiAgICAgfTsKLSAg
ICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gZG9TZXRWZXJzaW9uMjsKIH0KIAogZnVuY3Rpb24g
ZG9TZXRWZXJzaW9uMigpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoImRvU2V0VmVyc2lv
bjIoKToiKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNp
b24oJ3ZlcnNpb24gMicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uMjsK
LSAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBldmFs
QW5kTG9nKCJkYi5jbG9zZSgpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSwgMikiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHNldFZl
cnNpb24yOworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFj
azsKIH0KIAogZnVuY3Rpb24gc2V0VmVyc2lvbjIoKQogewogICAgIGRlYnVnKCIiKTsKICAgICBk
ZWJ1Zygic2V0VmVyc2lvbjIoKToiKTsKLSAgICB0cmFuc2FjdGlvbjIgPSBldmFsQW5kTG9nKCJ0
cmFuc2FjdGlvbiA9IHJlcXVlc3QucmVzdWx0Iik7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVz
dWx0OworICAgIHRyYW5zYWN0aW9uMiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gcmVxdWVz
dC50cmFuc2FjdGlvbiIpOwogICAgIHRyYW5zYWN0aW9uMi5vbmFib3J0ID0gc2V0VmVyc2lvbjJB
Ym9ydDsKICAgICB0cmFuc2FjdGlvbjIub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNh
bGxiYWNrOwogCkBAIC05Niw1ICs2OSwzIEBAIGZ1bmN0aW9uIHNldFZlcnNpb24yQWJvcnQoKQog
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZGIub2JqZWN0U3RvcmVOYW1lc1swXSIsICJzdG9y
ZTEiKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jl
c291cmNlcy9tZXRhZGF0YS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291
cmNlcy9tZXRhZGF0YS5qcwppbmRleCAxNGM0N2M3MTFlZWZiNTgyNjg3NmExYzJlYzNlZWNmMDAw
N2VlYzQ0Li44NWQwZGIwNGM5NTNlYzhlYWI4MWY5M2NkOTI2ZWRlMDUxMDdmYTRmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbWV0YWRhdGEuanMK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL21ldGFkYXRhLmpz
CkBAIC01LDcxICs1LDQ3IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRp
b24oIlRlc3QgSW5kZXhlZERCIGRhdGFiYXNlIG1ldGFkYXRhIG11dGF0aW9uL3NuYXBzaG90dGlu
ZyIpOwogCi1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlLCBz
bmFwc2hvdENvbm5lY3Rpb24xKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAg
cmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICBldmFsQW5kTG9nKCJkYm5hbWUgPSBzZWxmLmxv
Y2F0aW9uLnBhdGhuYW1lIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5k
ZWxldGVEYXRhYmFzZShkYm5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaXJzdE9wZW47CisgICAg
Y29ubmVjdGlvbjEgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIGV2YWxBbmRMb2coImNvbm5l
Y3Rpb24xc3RvcmUxID0gY29ubmVjdGlvbjEuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7
CisgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjFzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MScs
ICdwYXRoJykiKTsKKworICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMS52ZXJzaW9uIiwgIjEiKTsK
KyAgICBzaG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMSIp
OworICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMXN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIx
Iik7CiB9CiAKLWZ1bmN0aW9uIGZpcnN0T3BlbigpCitmdW5jdGlvbiBzbmFwc2hvdENvbm5lY3Rp
b24xKCkKIHsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0T3BlbigpOiIpOwotICAg
IGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAgcmVx
dWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEgPSBy
ZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlv
bjEuc2V0VmVyc2lvbignMScpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkg
ewotICAgICAgICAgICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAg
ICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjFzdG9yZTEgPSBjb25uZWN0aW9uMS5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5l
Y3Rpb24xc3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDEnLCAncGF0aCcpIik7Ci0KLSAgICAgICAg
ICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGlvbjEudmVyc2lvbiIsICIxIik7Ci0g
ICAgICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgi
LCAiMSIpOwotICAgICAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24xc3RvcmUxLmluZGV4TmFt
ZXMubGVuZ3RoIiwgIjEiKTsKLQotICAgICAgICAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0
ZWRBYm9ydENhbGxiYWNrOwotICAgICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9u
KCkgewotICAgICAgICAgICAgICAgIGRlYnVnKCJDb25uZWN0aW9uJ3MgcHJvcGVydGllcyBzaG91
bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9n
KCJjb25uZWN0aW9uMS5jbG9zZSgpIik7Ci0gICAgICAgICAgICAgICAgc2Vjb25kT3BlbigpOwot
ICAgICAgICAgICAgfTsKLSAgICAgICAgfTsKLSAgICB9OworICAgIGRlYnVnKCJDb25uZWN0aW9u
J3MgcHJvcGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKKyAgICBldmFs
QW5kTG9nKCJjb25uZWN0aW9uMS5jbG9zZSgpIik7CisgICAgc2Vjb25kT3BlbigpOwogfQogCiBm
dW5jdGlvbiBzZWNvbmRPcGVuKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInNlY29u
ZE9wZW4oKToiKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJu
YW1lKSIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUs
IDIpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICByZXF1ZXN0Lm9uYmxvY2tl
ZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjIgPSByZXF1
ZXN0LnJlc3VsdCIpOwotICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlvbjIu
c2V0VmVyc2lvbignMicpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAg
ICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicp
Iik7Ci0gICAgICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMnN0b3JlMSA9IHRyYW5zLm9i
amVjdFN0b3JlKCdzdG9yZTEnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlv
bjJzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MicsICdwYXRoJykiKTsKLQotICAgICAgICAgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJjb25uZWN0aW9uMi52ZXJzaW9uIiwgIjIiKTsKLSAgICAg
ICAgICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIy
Iik7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjJzdG9yZTEuaW5kZXhOYW1lcy5s
ZW5ndGgiLCAiMiIpOwotCi0gICAgICAgICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFi
b3J0Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgICAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBi
ZSBzbmFwc2hvdHRlZCBvbiBjbG9zZSIpOwotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImNv
bm5lY3Rpb24yLmNsb3NlKCkiKTsKLSAgICAgICAgICAgICAgICB0aGlyZE9wZW4oKTsKLSAgICAg
ICAgICAgIH07Ci0gICAgICAgIH07CisgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gcmVxdWVz
dC50cmFuc2FjdGlvbiIpOworICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmUyJykiKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjJz
dG9yZTEgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKKyAgICAgICAgZXZhbEFuZExv
ZygiY29ubmVjdGlvbjJzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MicsICdwYXRoJykiKTsKKwor
ICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjIudmVyc2lvbiIsICIyIik7CisgICAgICAgIHNo
b3VsZEJlKCJjb25uZWN0aW9uMi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7CisgICAg
ICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMnN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIyIik7
CisgICAgfTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBk
ZWJ1ZygiQ29ubmVjdGlvbidzIHByb3BlcnRpZXMgc2hvdWxkIGJlIHNuYXBzaG90dGVkIG9uIGNs
b3NlIik7CisgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24yLmNsb3NlKCkiKTsKKyAgICAg
ICAgdGhpcmRPcGVuKCk7CiAgICAgfTsKIH0KIApAQCAtNzcsNjEgKzUzLDUxIEBAIGZ1bmN0aW9u
IHRoaXJkT3BlbigpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJ0aGlyZE9wZW4oKToi
KTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwot
ICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVl
c3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGlu
ZGV4ZWREQi5vcGVuKGRibmFtZSwgMykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhw
ZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5j
dGlvbigpIHsKICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjMgPSByZXF1ZXN0LnJlc3Vs
dCIpOwotICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlvbjMuc2V0VmVyc2lv
bignMycpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICAg
ICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgZXZh
bEFuZExvZygiY29ubmVjdGlvbjMuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMycpIik7Ci0gICAg
ICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uM3N0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZTEnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjNzdG9yZTEu
Y3JlYXRlSW5kZXgoJ2luZGV4MycsICdwYXRoJykiKTsKLQotICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJjb25uZWN0aW9uMy52ZXJzaW9uIiwgIjMiKTsKLSAgICAgICAgICAgIHNo
b3VsZEJlKCJjb25uZWN0aW9uMy5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIzIik7Ci0gICAg
ICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjNzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgiLCAi
MyIpOwotCi0gICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRl
Q2FsbGJhY2s7Ci0gICAgICAgICAgICB0cmFucy5vbmFib3J0ID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFw
c2hvdHRlZCBvbiBjbG9zZSIpOwotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rp
b24zLmNsb3NlKCkiKTsKLSAgICAgICAgICAgICAgICBmb3VydGhPcGVuKCk7Ci0gICAgICAgICAg
ICB9OwotICAgICAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBi
ZSByZXZlcnRlZCBvbiBhYm9ydCIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygidHJhbnMuYWJv
cnQoKSIpOwotICAgICAgICB9OworICAgICAgICBldmFsQW5kTG9nKCJ0cmFucyA9IHJlcXVlc3Qu
dHJhbnNhY3Rpb24iKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjMuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlMycpIik7CisgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24zc3Rv
cmUxID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7CisgICAgICAgIGV2YWxBbmRMb2co
ImNvbm5lY3Rpb24zc3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDMnLCAncGF0aCcpIik7CisKKyAg
ICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24zLnZlcnNpb24iLCAiMyIpOworICAgICAgICBzaG91
bGRCZSgiY29ubmVjdGlvbjMub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOworICAgICAg
ICBzaG91bGRCZSgiY29ubmVjdGlvbjNzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgiLCAiMyIpOwor
CisgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsK
KyAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSByZXZlcnRl
ZCBvbiBhYm9ydCIpOworICAgICAgICBldmFsQW5kTG9nKCJ0cmFucy5hYm9ydCgpIik7CiAgICAg
fTsKKyAgICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoIkNv
bm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFwc2hvdHRlZCBvbiBjbG9zZSIpOwor
ICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMy5jbG9zZSgpIik7CisgICAgICAgIGZvdXJ0
aE9wZW4oKTsKKyAgICB9CiB9CiAKIGZ1bmN0aW9uIGZvdXJ0aE9wZW4oKQogewogICAgIGRlYnVn
KCIiKTsKICAgICBkZWJ1ZygiZm91cnRoT3BlbigpOiIpOwotICAgIGV2YWxBbmRMb2coInJlcXVl
c3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9
IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgNCkiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4
cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkg
eworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIGV2
YWxBbmRMb2coImNvbm5lY3Rpb240ID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgZXZhbEFu
ZExvZygicmVxdWVzdCA9IGNvbm5lY3Rpb240LnNldFZlcnNpb24oJzQnKSIpOwotICAgICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5z
ID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb240
LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTQnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygi
Y29ubmVjdGlvbjRzdG9yZTEgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKLSAgICAg
ICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb240c3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDQn
LCAncGF0aCcpIik7Ci0KLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVj
dGlvbjQudmVyc2lvbiIsICI0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjQu
b2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOwotICAgICAgICAgICAgc2hvdWxkQmUoImNv
bm5lY3Rpb240c3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIiwgIjMiKTsKLQotICAgICAgICAgICAg
dHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwotICAgICAgICAgICAgdHJh
bnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGRlYnVnKCJDb25u
ZWN0aW9uJ3MgcHJvcGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKLSAg
ICAgICAgICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uNC5jbG9zZSgpIik7Ci0gICAgICAg
ICAgICAgICAgY2hlY2tTdGF0ZSgpOwotICAgICAgICAgICAgfTsKLSAgICAgICAgfTsKKyAgICAg
ICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uIik7CisgICAgICAgIGV2
YWxBbmRMb2coImNvbm5lY3Rpb240LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTQnKSIpOworICAg
ICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uNHN0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZTEnKSIpOworICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uNHN0b3JlMS5jcmVhdGVJ
bmRleCgnaW5kZXg0JywgJ3BhdGgnKSIpOworCisgICAgICAgIHNob3VsZEJlKCJjb25uZWN0aW9u
NC52ZXJzaW9uIiwgIjQiKTsKKyAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb240Lm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb240c3Rv
cmUxLmluZGV4TmFtZXMubGVuZ3RoIiwgIjMiKTsKKyAgICB9OworICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCJDb25uZWN0aW9uJ3MgcHJvcGVydGll
cyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKKyAgICAgICAgZXZhbEFuZExvZygi
Y29ubmVjdGlvbjQuY2xvc2UoKSIpOworICAgICAgICBjaGVja1N0YXRlKCk7CiAgICAgfTsKIH0K
IApAQCAtMTQwLDI3ICsxMDYsMjUgQEAgZnVuY3Rpb24gY2hlY2tTdGF0ZSgpCiAgICAgZGVidWco
IiIpOwogICAgIGRlYnVnKCJjaGVja1N0YXRlKCk6Iik7CiAKLSAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImNvbm5lY3Rpb24xLnZlcnNpb24iLCAiMSIpOworICAgIHNob3VsZEJlKCJjb25uZWN0
aW9uMS52ZXJzaW9uIiwgIjEiKTsKICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3Rv
cmVOYW1lcy5sZW5ndGgiLCAiMSIpOwogICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMXN0b3JlMS5p
bmRleE5hbWVzLmxlbmd0aCIsICIxIik7CiAgICAgZGVidWcoIiIpOwogCi0gICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJjb25uZWN0aW9uMi52ZXJzaW9uIiwgIjIiKTsKKyAgICBzaG91bGRCZSgi
Y29ubmVjdGlvbjIudmVyc2lvbiIsICIyIik7CiAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24yLm9i
amVjdFN0b3JlTmFtZXMubGVuZ3RoIiwgIjIiKTsKICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjJz
dG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgiLCAiMiIpOwogICAgIGRlYnVnKCIiKTsKIAotICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGlvbjMudmVyc2lvbiIsICIyIik7CisgICAgc2hv
dWxkQmUoImNvbm5lY3Rpb24zLnZlcnNpb24iLCAiMiIpOwogICAgIHNob3VsZEJlKCJjb25uZWN0
aW9uMy5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7CiAgICAgc2hvdWxkQmUoImNvbm5l
Y3Rpb24zc3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIiwgIjIiKTsKICAgICBkZWJ1ZygiIik7CiAK
LSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbm5lY3Rpb240LnZlcnNpb24iLCAiNCIpOwor
ICAgIHNob3VsZEJlKCJjb25uZWN0aW9uNC52ZXJzaW9uIiwgIjQiKTsKICAgICBzaG91bGRCZSgi
Y29ubmVjdGlvbjQub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOwogICAgIHNob3VsZEJl
KCJjb25uZWN0aW9uNHN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIzIik7CiAgICAgZGVidWco
IiIpOwogCiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174200</attachid>
            <date>2012-11-14 10:39:24 -0800</date>
            <delta_ts>2012-11-14 13:53:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102168-20121114103723.patch</filename>
            <type>text/plain</type>
            <size>54585</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0NjIyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzBjNjUzNGI0ZGM1MThhZjFkNDll
YjljNDk4YzYyMTBkYTM1M2ZlOC4uMjE2NTAyYmM0ZTVmODNmMzdlZTg3OWE4MTgxYTZlZmYzNjZi
ZWU5MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDEyLTExLTEzICBEYXZpZCBHcm9nYW4gIDxk
Z3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IHRlc3QgY29udmVyc2lv
biBiYXRjaCAzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDIxNjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGVzZSB3ZXJlIGFsbCBwcmV0dHkgc3RyYWlnaHRmb3J3YXJkLiBtZXRhZGF0YS5odG1sIGNv
dWxkIGluY2x1ZGUKKyAgICAgICAgc29tZSBhZGRpdGlvbmFsIHRlc3RzIHRoYXQgY2hlY2sgdGhl
IG1ldGFkYXRhIGFmdGVyIGEgdmVyc2lvbmNoYW5nZQorICAgICAgICB0cmFuc2FjdGlvbiBhYm9y
dHMsIGJ1dCBJIHRoaW5rIHRoYXQncyB0ZXN0ZWQgaW4gb25lIG9mIHRoZSBpbnR2ZXJzaW9uCisg
ICAgICAgIHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9ucy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxldGVk
YXRhYmFzZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
ZHVwbGljYXRlLWtleXBhdGhzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9pbmRleC1wb3B1bGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9tZXRhZGF0YS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRl
eGVkZGIvcmVzb3VyY2VzL2RhdGFiYXNlLWJhc2ljcy5qczoKKyAgICAgICAgICBGaXggZmFpbHVy
ZSB3aGVuIHJ1biBhcyBhIGNocm9taXVtIGJyb3dzZXIgdGVzdC4KKworICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL3Jlc291cmNlcy9leGNlcHRpb25zLmpzOgorICAgICAgICAgIE1vdmVkIHNv
bWUgYXNzZXJ0cyBmcm9tIHJ1bm5pbmcgYmVmb3JlIHRoZSBkYXRhYmFzZSBpcyBvcGVuZWQgdG8K
KyAgICAgICAgICBhZnRlcndhcmQgYnV0IHRoZXkgYXBwZWFyIHRvIGJlIHRlc3RpbmcgdGhlIHNh
bWUgdGhpbmcuCisgICAgICAgICh0cmFuc2FjdGlvbkNvbXBsZXRlKToKKyAgICAgICAgICBjbG9z
ZSBjYW4ndCBwcm9jZWVkIHVudGlsIHRoZSB0cmFuc2FjdGlvbnMgYXJlIGNvbXBsZXRlLCBzb21l
dGhpbmcKKyAgICAgICAgICBzZXRWZXJzaW9uIGRpZG4ndCBoYXZlIHRvIGRlYWwgd2l0aC4KKwor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9mYWN0b3J5LWRlbGV0ZWRhdGFi
YXNlLmpzOgorICAgICAgICAgIFRoZSBjb25kaXRpb25zIHVuZGVyIHdoaWNoIGRlbGV0ZURhdGFi
YXNlIGlzIGNhbGxlZCBpbiB0aGlzIHRlc3QgaXMKKyAgICAgICAgICBfc2xpZ2h0bHlfIGRpZmZl
cmVudC4gUHJldmlvdXNseSwgZGVsZXRlRGF0YWJhc2Ugd2FzIGNhbGxlZCBmcm9tCisgICAgICAg
ICAgaW5zaWRlIGEgdmVyc2lvbmNoYW5nZSB0cmFuc2FjdGlvbiwgY2F1c2luZyB0aGUgb3JpZ2lu
YWwgY29ubmVjdGlvbgorICAgICAgICAgIHRvIHJlY2VpdmUgYSB2ZXJzaW9uY2hhbmdlIGV2ZW50
LiBXaXRoIHVwZ3JhZGVuZWVkZWQgd2UgaGF2ZSB0byBjbG9zZQorICAgICAgICAgIHRoZSBvcmln
aW5hbCBjb25uZWN0aW9uIGJlZm9yZSBlbnRlcmluZyBhIHZlcnNpb25jaGFuZ2UgdHJhbnNhY3Rp
b24sCisgICAgICAgICAgc28gdGhlIHNlY29uZCBjb25uZWN0aW9uIGlzIG5vdyB3aGF0IGNsb3Nl
cyBpbiByZXNwb25zZSB0byB0aGUKKyAgICAgICAgICBkZWxldGVEYXRhYmFzZSdzIHZlcnNpb25j
aGFuZ2UgZXZlbnQuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5k
ZXgtZHVwbGljYXRlLWtleXBhdGhzLmpzOgorICAgICAgICAodGVzdENvbGxpZGVBdXRvSW5jcmVt
ZW50U2V0dXApOgorICAgICAgICAodGVzdENvbGxpZGVBdXRvSW5jcmVtZW50KToKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgtbXVsdGllbnRyeS5qczoKKyAgICAg
ICAgKHByZXBhcmVEYXRhYmFzZSk6CisgICAgICAgIChjcmVhdGVJbmRleE9uU3RvcmVXaXRoRGF0
YSk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4LXBvcHVsYXRp
b24uanM6CisgICAgICAgIChwcmVwYXJlRGF0YWJhc2UucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAg
ICAgICAocHJlcGFyZURhdGFiYXNlKToKKyAgICAgICAgKGRvU2V0VmVyc2lvbjIpOgorICAgICAg
ICAoc2V0VmVyc2lvbjIpOgorICAgICAgICAoc2V0VmVyc2lvbjJBYm9ydCk6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL21ldGFkYXRhLmpzOgorICAgICAgICAocHJlcGFy
ZURhdGFiYXNlKToKKyAgICAgICAgKHNuYXBzaG90Q29ubmVjdGlvbjEpOgorICAgICAgICAoc2Vj
b25kT3Blbi5yZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCk6CisgICAgICAgIChzZWNvbmRPcGVuLnJl
cXVlc3Qub25zdWNjZXNzKToKKyAgICAgICAgKHNlY29uZE9wZW4pOgorICAgICAgICAodGhpcmRP
cGVuLnJlcXVlc3Qub251cGdyYWRlbmVlZGVkKToKKyAgICAgICAgKHRoaXJkT3Blbi5yZXF1ZXN0
Lm9uZXJyb3IpOgorICAgICAgICAodGhpcmRPcGVuKToKKyAgICAgICAgKGZvdXJ0aE9wZW4ucmVx
dWVzdC5vbnVwZ3JhZGVuZWVkZWQpOgorICAgICAgICAoZm91cnRoT3Blbi5yZXF1ZXN0Lm9uc3Vj
Y2Vzcyk6CisgICAgICAgIChmb3VydGhPcGVuKToKKyAgICAgICAgKGNoZWNrU3RhdGUpOgorCiAy
MDEyLTExLTE0ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgW0Nocm9taXVtXSBNYXJrIHdlYmdsLWJhY2tncm91bmQtY29sb3IuaHRtbCBhcyBmYWls
aW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZXhjZXB0aW9u
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb25z
LWV4cGVjdGVkLnR4dAppbmRleCBmMWMzYmU5ZDRhMmZiM2Y2ZWM2NDZjYjExMTVkOTNiYWNmMTU2
MjNjLi5mMDlhMDVlNzg1NzU3NzlmOTAzYTlhZDZjMTI1ODdkZWRhYmY0NzUzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb25zLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9leGNlcHRpb25zLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRo
b2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVu
ZWVkZWQiIGV2ZW50IGluc3RlYWQuCiBUZXN0IHRoYXQgZXhwZWN0ZWQgZXhjZXB0aW9ucyBhcmUg
dGhyb3duIHBlciBJbmRleGVkREIgc3BlYy4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpA
QCAtNiw4ICs1LDI0IEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNl
bGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERC
IHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIuZGVs
ZXRlRGF0YWJhc2UoJ2V4Y2VwdGlvbnMnKQotcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKCdleGNl
cHRpb25zJykKK2RibmFtZSA9ICJleGNlcHRpb25zLmh0bWwiCitpbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQorc3RvcmUgPSBkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmUnKQoraW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAn
aWQnKQorc3RvcmUucHV0KHtpZDogJ2EnfSwgMSkKK3N0b3JlLnB1dCh7aWQ6ICdiJ30sIDIpCitz
dG9yZS5wdXQoe2lkOiAnYyd9LCAzKQorc3RvcmUucHV0KHtpZDogJ2QnfSwgNCkKK3N0b3JlLnB1
dCh7aWQ6ICdlJ30sIDUpCitzdG9yZS5wdXQoe2lkOiAnZid9LCA2KQorc3RvcmUucHV0KHtpZDog
J2cnfSwgNykKK3N0b3JlLnB1dCh7aWQ6ICdoJ30sIDgpCitzdG9yZS5wdXQoe2lkOiAnaSd9LCA5
KQorc3RvcmUucHV0KHtpZDogJ2onfSwgMTApCitvdGhlclN0b3JlID0gZGIuY3JlYXRlT2JqZWN0
U3RvcmUoJ290aGVyU3RvcmUnKQoraW5saW5lS2V5U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9y
ZSgnaW5saW5lS2V5U3RvcmUnLCB7a2V5UGF0aDogJ2lkJ30pCityZXF1ZXN0ID0gaW5saW5lS2V5
U3RvcmUucHV0KHtpZDogMH0pCiBQQVNTIHJlcXVlc3QucmVhZHlTdGF0ZSBpcyAicGVuZGluZyIK
IAogMy4yLjEgVGhlIElEQlJlcXVlc3QgSW50ZXJmYWNlCkBAIC0zNCwyNyArNDksMTAgQEAgRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAobnVsbCwgMCkKIFBBU1MgRXhjZXB0
aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIKIFBBU1MgZW5hbWUgaXMgJ0RhdGFFcnJvcicKLQotZGIgPSByZXF1ZXN0LnJlc3VsdAotZGIu
c2V0VmVyc2lvbignMScpCi1zdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpCi1p
bmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICdpZCcpCi1zdG9yZS5wdXQoe2lkOiAn
YSd9LCAxKQotc3RvcmUucHV0KHtpZDogJ2InfSwgMikKLXN0b3JlLnB1dCh7aWQ6ICdjJ30sIDMp
Ci1zdG9yZS5wdXQoe2lkOiAnZCd9LCA0KQotc3RvcmUucHV0KHtpZDogJ2UnfSwgNSkKLXN0b3Jl
LnB1dCh7aWQ6ICdmJ30sIDYpCi1zdG9yZS5wdXQoe2lkOiAnZyd9LCA3KQotc3RvcmUucHV0KHtp
ZDogJ2gnfSwgOCkKLXN0b3JlLnB1dCh7aWQ6ICdpJ30sIDkpCi1zdG9yZS5wdXQoe2lkOiAnaid9
LCAxMCkKLW90aGVyU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnb3RoZXJTdG9yZScpCi1p
bmxpbmVLZXlTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdpbmxpbmVLZXlTdG9yZScsIHtr
ZXlQYXRoOiAnaWQnfSkKLWlubGluZUtleVN0b3JlLnB1dCh7aWQ6IDB9KQorZGIuY2xvc2UoKQog
CiAzLjIuNCBEYXRhYmFzZQotZGIuc2V0VmVyc2lvbignMicpCitpbmRleGVkREIub3BlbihkYm5h
bWUsIDIpCiAKIElEQkRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKCkKIElmIGFuIG9iamVjdFN0
b3JlIHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cywgdGhlIGltcGxlbWVudGF0aW9u
IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBDb25zdHJhaW50RXJyb3IuCkBAIC0x
MjcsMTIgKzEyNSwxMiBAQCByZXF1ZXN0ID0gc3RvcmVGcm9tSW5hY3RpdmVUcmFuc2FjdGlvbi5v
cGVuQ3Vyc29yKCkKIGN1cnNvckZyb21JbmFjdGl2ZVRyYW5zYWN0aW9uID0gcmVxdWVzdC5yZXN1
bHQKIAogMy4yLjUgT2JqZWN0IFN0b3JlCi1zdG9yZUZyb21SZWFkT25seVRyYW5zYWN0aW9uID0g
ZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWRvbmx5Jykub2JqZWN0U3RvcmUoJ3N0b3JlJykK
LXN0b3JlID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpLm9iamVjdFN0b3Jl
KCdzdG9yZScpCityb190cmFuc2FjdGlvbiA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdyZWFk
b25seScpCitzdG9yZUZyb21SZWFkT25seVRyYW5zYWN0aW9uID0gcm9fdHJhbnNhY3Rpb24ub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykKK3J3X3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
JywgJ3JlYWR3cml0ZScpCitzdG9yZSA9IHJ3X3RyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdzdG9y
ZScpCiAKIElEQk9iamVjdFN0b3JlLmFkZCgpCi1zdG9yZUZyb21SZWFkT25seVRyYW5zYWN0aW9u
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWRvbmx5Jykub2JqZWN0U3RvcmUoJ3N0b3Jl
JykKLXN0b3JlID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpLm9iamVjdFN0
b3JlKCdzdG9yZScpCiBUaGlzIG1ldGhvZCB0aHJvd3MgYSBET01FeGNlcHRpb24gb2YgdHlwZSBS
ZWFkT25seUVycm9yIGlmIHRoZSB0cmFuc2FjdGlvbiB3aGljaCB0aGlzIElEQk9iamVjdFN0b3Jl
IGJlbG9uZ3MgdG8gaXMgaGFzIGl0cyBtb2RlIHNldCB0byAicmVhZG9ubHkiLgogRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlRnJvbVJlYWRPbmx5VHJhbnNhY3Rpb24uYWRkKDAsIDApCiBQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgpAQCAtMjQ0LDcgKzI0MiwxNiBAQCBUaGUgZGF0YSBi
ZWluZyBzdG9yZWQgY291bGQgbm90IGJlIGNsb25lZCBieSB0aGUgaW50ZXJuYWwgc3RydWN0dXJl
ZCBjbG9uaW5nIGFsZwogRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChzZWxmLCAw
KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyBET01FeGNlcHRpb24u
REFUQV9DTE9ORV9FUlIKLWRiLnNldFZlcnNpb24oJzMnKQorZGIuY2xvc2UoKQorcm9fdHJhbnNh
Y3Rpb24ub25jb21wbGV0ZSA9IHRyYW5zYWN0aW9uQ29tcGxldGUKK3J3X3RyYW5zYWN0aW9uLm9u
Y29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRlCisKK3RyYW5zYWN0aW9uQ29tcGxldGUoKToK
K0ZpcnN0IHRyYW5zYWN0aW9uIGNvbXBsZXRlZAorCit0cmFuc2FjdGlvbkNvbXBsZXRlKCk6City
ZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKQorcmVxdWVzdC5vbnVwZ3JhZGVuZWVk
ZWQgPSBvblVwZ3JhZGVOZWVkZWQzCiAKIElEQk9iamVjdFN0b3JlLmNyZWF0ZUluZGV4KCkKIElm
IGFuIGluZGV4IHdpdGggdGhlIHNhbWUgbmFtZSBhbHJlYWR5IGV4aXN0cywgdGhlIGltcGxlbWVu
dGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBDb25zdHJhaW50RXJyb3Iu
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1kZWxl
dGVkYXRhYmFzZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9m
YWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWV4cGVjdGVkLnR4dAppbmRleCBjODc2Njg1NTIzODAxNzgx
MzdiMzMyNGU3ODY3YmJkOTkzNGRkODk5Li5mMzJkODA5MzJjNDZkYTJmZGJlZDljMmYxNjJmMjUx
YjFiYzM3MTE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWRlbGV0ZWRhdGFiYXNlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLWV4cGVjdGVkLnR4dApAQCAtMSw1ICsx
LDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0
YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50
IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5v
bi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBl
dmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIncyB3ZWJraXRJbmRleGVkREIuZGVsZXRlRGF0
YWJhc2UoKS4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtNywxMSArNSw5IEBAIE9u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNl
bGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVk
REIgfHwgc2VsZi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3BlbignZGF0YWJhc2UtdG8tZGVs
ZXRlJykKLWRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotZGIuc2V0VmVyc2lvbignbmV3IHZlcnNp
b24nKQotdHJhbnMgPSBldmVudC50YXJnZXQucmVzdWx0Ci1QQVNTIHRyYW5zIGlzIG5vbi1udWxs
LgorZGJuYW1lID0gImZhY3RvcnktZGVsZXRlZGF0YWJhc2UuaHRtbCIKK2luZGV4ZWREQi5kZWxl
dGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3BlbihkYm5hbWUpCiBzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKQogc3RvcmUuY3JlYXRlSW5kZXgoJ2lu
ZGV4TmFtZScsICcnKQogUEFTUyBzdG9yZS5pbmRleE5hbWVzLmNvbnRhaW5zKCdpbmRleE5hbWUn
KSBpcyB0cnVlCkBAIC0yMCwxMiArMTYsMTQgQEAgZGIudHJhbnNhY3Rpb24oJ3N0b3JlTmFtZScs
ICdyZWFkd3JpdGUnKQogc3RvcmUgPSB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmVOYW1l
JykKIHN0b3JlLmdldCgna2V5JykKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyAidmFsdWUi
Ci1kYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpCi1yZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0
ZURhdGFiYXNlKCdkYXRhYmFzZS10by1kZWxldGUnKQorZGIuY2xvc2UoKQoraW5kZXhlZERCLm9w
ZW4oZGJuYW1lLCAyKQorZGIgPSBldmVudC50YXJnZXQucmVzdWx0CityZXF1ZXN0ID0gaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkKK2RiLmNsb3NlKCkKIFBBU1MgcmVxdWVzdC5yZXN1
bHQgaXMgdW5kZWZpbmVkLgotaW5kZXhlZERCLm9wZW4oJ2RhdGFiYXNlLXRvLWRlbGV0ZScpCitp
bmRleGVkREIub3BlbihkYm5hbWUsIDMpCiBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKLWRiLnNl
dFZlcnNpb24oJ25ldyB2ZXJzaW9uJykKIFBBU1MgZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgg
aXMgMAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1kdXBsaWNhdGUta2V5cGF0aHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtZHVwbGljYXRlLWtl
eXBhdGhzLWV4cGVjdGVkLnR4dAppbmRleCAwMjQ0ODMxOGJiOGIzNzcyMTM3ZDNjYTA5YjVhOTJk
Y2RiMDFmOWExLi5lZjZiMDc3NWJjOTA3ZWZkOTEyNDQ5NjI5MzRmOWFjNjI4MDgyMzM5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1kdXBsaWNhdGUta2V5
cGF0aHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2lu
ZGV4LWR1cGxpY2F0ZS1rZXlwYXRocy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05T
T0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQg
d2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgog
VGVzdCB0aGUgdXNlIG9mIGlkZW50aWNhbCBrZXlwYXRocyBiZXR3ZWVuIG9iamVjdHN0b3JlcyBh
bmQgaW5kZXhlcwogCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCkBAIC0xNiw3ICsxNSw4IEBA
IG9iamVjdFN0b3JlLmdldCgxMCkKIGluZGV4LmdldCgxMCkKIFBBU1MgSlNPTi5zdHJpbmdpZnko
cmVzdWx0KSBpcyAie1wiZm9vXCI6MTB9IgogUEFTUyBKU09OLnN0cmluZ2lmeShyZXN1bHQpIGlz
ICJ7XCJmb29cIjoxMH0iCi1kYi5zZXRWZXJzaW9uKCcyJykKK2RiLmNsb3NlKCkKK3JlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCiBEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgog
c3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnY29sbGlkZVdpdGhBdXRvSW5jcmVtZW50Jywg
e2tleVBhdGg6ICdmb28nLCBhdXRvSW5jcmVtZW50OiB0cnVlfSkKIGluZGV4ID0gc3RvcmUuY3Jl
YXRlSW5kZXgoJ2ZvbycsICdmb28nKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtbXVsdGllbnRyeS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dAppbmRleCA1MmE5ZTc1
NDkwNWMzZDk1ZGM5ZTgwZTkwYjUwOWI2YTYxMzFkNWUzLi5mMWQ2OTc3ZTdmOGYzMTBiM2QxODM2
Yzk3MmM4N2M3NmVjOWM3ZmRkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1tdWx0aWVudHJ5LWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMg
QEAKLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24oKSBtZXRob2QgaXMgbm9uLXN0YW5k
YXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVwZ3JhZGVuZWVkZWQiIGV2ZW50IGlu
c3RlYWQuCiBUZXN0IGZlYXR1cmVzIG9mIEluZGV4ZWREQidzIG11bHRpRW50cnkgaW5kaWNlcy4K
IAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtNiwxNCArNSw5IEBAIE9uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFCiAKIGluZGV4ZWREQiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0
SW5kZXhlZERCIHx8IHNlbGYubW96SW5kZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2Vs
Zi5PSW5kZXhlZERCOwogCi1pbmRleGVkREIub3BlbignaW5kZXgtbXVsdGlFbnRyeScpCi1kYiA9
IGV2ZW50LnRhcmdldC5yZXN1bHQKLWRiLnNldFZlcnNpb24oJzEnKQotCi1DcmVhdGluZyBlbXB0
eSBzdG9yZXMgYW5kIGluZGV4ZXMKLXRyYW5zID0gZXZlbnQudGFyZ2V0LnJlc3VsdAotUEFTUyB0
cmFucyBpcyBub24tbnVsbC4KLURlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYm5hbWUgPSAi
aW5kZXgtbXVsdGllbnRyeS5odG1sIgoraW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkK
K2luZGV4ZWREQi5vcGVuKGRibmFtZSkKIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0
b3JlJykKIHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICd4Jywge211bHRpRW50cnk6IHRydWV9
KQogc3RvcmUyID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlLXVuaXF1ZScpCkBAIC0xMDIs
OSArOTYsMTAgQEAgUmVxdWVzdCBmYWlsZWQsIGFzIGV4cGVjdGVkIChDb25zdHJhaW50RXJyb3Ip
CiBUcmFuc2FjdGlvbiBhYm9ydGVkIGFzIGV4cGVjdGVkCiAKIENyZWF0ZSBhbiBpbmRleCBvbiBh
IHBvcHVsYXRlZCBzdG9yZQotZGIuc2V0VmVyc2lvbignMicpCi10cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQKLVBBU1MgdHJhbnMgaXMgbm9uLW51bGwuCitkYi5jbG9zZSgpCitpbmRleGVkREIu
b3BlbihkYm5hbWUsIDIpCitkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQKK3RyYW5zID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uCiBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpCiBz
dG9yZS5jcmVhdGVJbmRleCgnaW5kZXgtbmV3JywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZX0pCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LXBvcHVsYXRp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9w
dWxhdGlvbi1leHBlY3RlZC50eHQKaW5kZXggNmIwMzViNDE0NzM2YzdkNDE2OGFiNmIyYjJhZTgw
ZTBiMWNmNzY3Mi4uNTc2MWEyNzg0M2FhOGJiYTUxMjk1NGZiNGMzZGY3YmQ1OTYyNjczYSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9wdWxhdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtcG9w
dWxhdGlvbi1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFRo
ZSBzZXRWZXJzaW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVk
LiBVc2UgdGhlICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIg
aW5kZXggcG9wdWxhdGlvbi4KIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgpAQCAtNiwxNSAr
NSwxMCBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogCiBpbmRleGVkREIgPSBzZWxmLmluZGV4
ZWREQiB8fCBzZWxmLndlYmtpdEluZGV4ZWREQiB8fCBzZWxmLm1vekluZGV4ZWREQiB8fCBzZWxm
Lm1zSW5kZXhlZERCIHx8IHNlbGYuT0luZGV4ZWREQjsKIAotaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKCdpbmRleC1wb3B1bGF0aW9uJykKLWluZGV4ZWREQi5vcGVuKCdpbmRleC1wb3B1bGF0aW9u
JykKLQotZG9TZXRWZXJzaW9uMSgpOgotZGIgPSBldmVudC50YXJnZXQucmVzdWx0Ci1yZXF1ZXN0
ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJykKLQotc2V0VmVyc2lvbjEoKToKLXRyYW5zYWN0
aW9uID0gcmVxdWVzdC5yZXN1bHQKK2RibmFtZSA9ICJpbmRleC1wb3B1bGF0aW9uLmh0bWwiCitp
bmRleGVkREIuZGVsZXRlRGF0YWJhc2UoZGJuYW1lKQoraW5kZXhlZERCLm9wZW4oZGJuYW1lKQor
dHJhbnNhY3Rpb24gPSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24KIHN0b3JlID0gZGIuY3JlYXRl
T2JqZWN0U3RvcmUoJ3N0b3JlMScpCiBzdG9yZS5wdXQoe2RhdGE6ICdhJywgaW5kZXhLZXk6IDEw
fSwgMSkKIHN0b3JlLnB1dCh7ZGF0YTogJ2InLCBpbmRleEtleTogMjB9LCAyKQpAQCAtMjcsMTAg
KzIxLDExIEBAIHJlcXVlc3QgPSBpbmRleC5jb3VudChJREJLZXlSYW5nZS5ib3VuZCgtSW5maW5p
dHksIEluZmluaXR5KSkKIFBBU1MgcmVxdWVzdC5yZXN1bHQgaXMgNAogCiBkb1NldFZlcnNpb24y
KCk6Ci1yZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAyJykKK2RiLmNsb3NlKCkKK3Jl
cXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpCiAKIHNldFZlcnNpb24yKCk6Ci10cmFu
c2FjdGlvbiA9IHJlcXVlc3QucmVzdWx0Cit0cmFuc2FjdGlvbiA9IHJlcXVlc3QudHJhbnNhY3Rp
b24KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicpCiBzdG9yZS5wdXQoe2Rh
dGE6ICdhJywgaW5kZXhLZXk6IDEwfSwgMSkKIHN0b3JlLnB1dCh7ZGF0YTogJ2InLCBpbmRleEtl
eTogMjB9LCAyKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbWV0
YWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbWV0YWRh
dGEtZXhwZWN0ZWQudHh0CmluZGV4IDU1NGMwNjI2YWNkZTMwOTlmOTc1Y2YwNmI5ZGU2N2M4ZDAy
ZGNlNjEuLjA3NjNmYWIxMWE4M2M4MzUxZDk5YThhYTczZWVhMGY4NWUzNGQyZGMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21ldGFkYXRhLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tZXRhZGF0YS1leHBlY3RlZC50eHQK
QEAgLTEsNyArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJzaW9uKCkgbWV0aG9k
IGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhlICJ1cGdyYWRlbmVl
ZGVkIiBldmVudCBpbnN0ZWFkLgotQ09OU09MRSBNRVNTQUdFOiBUaGUgc2V0VmVyc2lvbigpIG1l
dGhvZCBpcyBub24tc3RhbmRhcmQgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gVXNlIHRoZSAidXBncmFk
ZW5lZWRlZCIgZXZlbnQgaW5zdGVhZC4KLUNPTlNPTEUgTUVTU0FHRTogVGhlIHNldFZlcnNpb24o
KSBtZXRob2QgaXMgbm9uLXN0YW5kYXJkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFVzZSB0aGUgInVw
Z3JhZGVuZWVkZWQiIGV2ZW50IGluc3RlYWQuCi1DT05TT0xFIE1FU1NBR0U6IFRoZSBzZXRWZXJz
aW9uKCkgbWV0aG9kIGlzIG5vbi1zdGFuZGFyZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgdGhl
ICJ1cGdyYWRlbmVlZGVkIiBldmVudCBpbnN0ZWFkLgogVGVzdCBJbmRleGVkREIgZGF0YWJhc2Ug
bWV0YWRhdGEgbXV0YXRpb24vc25hcHNob3R0aW5nCiAKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KQEAgLTksNDUgKzUsMzggQEAgT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUKIAogaW5kZXhlZERC
ID0gc2VsZi5pbmRleGVkREIgfHwgc2VsZi53ZWJraXRJbmRleGVkREIgfHwgc2VsZi5tb3pJbmRl
eGVkREIgfHwgc2VsZi5tc0luZGV4ZWREQiB8fCBzZWxmLk9JbmRleGVkREI7CiAKLWRibmFtZSA9
IHNlbGYubG9jYXRpb24ucGF0aG5hbWUKLXJlcXVlc3QgPSBpbmRleGVkREIuZGVsZXRlRGF0YWJh
c2UoZGJuYW1lKQotCi1maXJzdE9wZW4oKToKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5h
bWUpCi1jb25uZWN0aW9uMSA9IHJlcXVlc3QucmVzdWx0Ci1yZXF1ZXN0ID0gY29ubmVjdGlvbjEu
c2V0VmVyc2lvbignMScpCi10cmFucyA9IHJlcXVlc3QucmVzdWx0CitkYm5hbWUgPSAibWV0YWRh
dGEuaHRtbCIKK2luZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpCitpbmRleGVkREIub3Bl
bihkYm5hbWUpCiBjb25uZWN0aW9uMXN0b3JlMSA9IGNvbm5lY3Rpb24xLmNyZWF0ZU9iamVjdFN0
b3JlKCdzdG9yZTEnKQogY29ubmVjdGlvbjFzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MScsICdw
YXRoJykKLVBBU1MgY29ubmVjdGlvbjEudmVyc2lvbiBpcyAiMSIKK1BBU1MgY29ubmVjdGlvbjEu
dmVyc2lvbiBpcyAxCiBQQVNTIGNvbm5lY3Rpb24xLm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlz
IDEKIFBBU1MgY29ubmVjdGlvbjFzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGggaXMgMQogQ29ubmVj
dGlvbidzIHByb3BlcnRpZXMgc2hvdWxkIGJlIHNuYXBzaG90dGVkIG9uIGNsb3NlCiBjb25uZWN0
aW9uMS5jbG9zZSgpCiAKIHNlY29uZE9wZW4oKToKLXJlcXVlc3QgPSBpbmRleGVkREIub3Blbihk
Ym5hbWUpCityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKQogY29ubmVjdGlvbjIg
PSByZXF1ZXN0LnJlc3VsdAotcmVxdWVzdCA9IGNvbm5lY3Rpb24yLnNldFZlcnNpb24oJzInKQot
dHJhbnMgPSByZXF1ZXN0LnJlc3VsdAordHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uCiBjb25u
ZWN0aW9uMi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUyJykKIGNvbm5lY3Rpb24yc3RvcmUxID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlMScpCiBjb25uZWN0aW9uMnN0b3JlMS5jcmVhdGVJbmRl
eCgnaW5kZXgyJywgJ3BhdGgnKQotUEFTUyBjb25uZWN0aW9uMi52ZXJzaW9uIGlzICIyIgorUEFT
UyBjb25uZWN0aW9uMi52ZXJzaW9uIGlzIDIKIFBBU1MgY29ubmVjdGlvbjIub2JqZWN0U3RvcmVO
YW1lcy5sZW5ndGggaXMgMgogUEFTUyBjb25uZWN0aW9uMnN0b3JlMS5pbmRleE5hbWVzLmxlbmd0
aCBpcyAyCiBDb25uZWN0aW9uJ3MgcHJvcGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24g
Y2xvc2UKIGNvbm5lY3Rpb24yLmNsb3NlKCkKIAogdGhpcmRPcGVuKCk6Ci1yZXF1ZXN0ID0gaW5k
ZXhlZERCLm9wZW4oZGJuYW1lKQorcmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykK
IGNvbm5lY3Rpb24zID0gcmVxdWVzdC5yZXN1bHQKLXJlcXVlc3QgPSBjb25uZWN0aW9uMy5zZXRW
ZXJzaW9uKCczJykKLXRyYW5zID0gcmVxdWVzdC5yZXN1bHQKK3RyYW5zID0gcmVxdWVzdC50cmFu
c2FjdGlvbgogY29ubmVjdGlvbjMuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMycpCiBjb25uZWN0
aW9uM3N0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZTEnKQogY29ubmVjdGlvbjNzdG9y
ZTEuY3JlYXRlSW5kZXgoJ2luZGV4MycsICdwYXRoJykKLVBBU1MgY29ubmVjdGlvbjMudmVyc2lv
biBpcyAiMyIKK1BBU1MgY29ubmVjdGlvbjMudmVyc2lvbiBpcyAzCiBQQVNTIGNvbm5lY3Rpb24z
Lm9iamVjdFN0b3JlTmFtZXMubGVuZ3RoIGlzIDMKIFBBU1MgY29ubmVjdGlvbjNzdG9yZTEuaW5k
ZXhOYW1lcy5sZW5ndGggaXMgMwogQ29ubmVjdGlvbidzIHByb3BlcnRpZXMgc2hvdWxkIGJlIHJl
dmVydGVkIG9uIGFib3J0CkBAIC01NiwzMyArNDUsMzIgQEAgQ29ubmVjdGlvbidzIHByb3BlcnRp
ZXMgc2hvdWxkIGJlIHNuYXBzaG90dGVkIG9uIGNsb3NlCiBjb25uZWN0aW9uMy5jbG9zZSgpCiAK
IGZvdXJ0aE9wZW4oKToKLXJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUpCityZXF1ZXN0
ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCA0KQogY29ubmVjdGlvbjQgPSByZXF1ZXN0LnJlc3Vs
dAotcmVxdWVzdCA9IGNvbm5lY3Rpb240LnNldFZlcnNpb24oJzQnKQotdHJhbnMgPSByZXF1ZXN0
LnJlc3VsdAordHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uCiBjb25uZWN0aW9uNC5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmU0JykKIGNvbm5lY3Rpb240c3RvcmUxID0gdHJhbnMub2JqZWN0U3Rv
cmUoJ3N0b3JlMScpCiBjb25uZWN0aW9uNHN0b3JlMS5jcmVhdGVJbmRleCgnaW5kZXg0JywgJ3Bh
dGgnKQotUEFTUyBjb25uZWN0aW9uNC52ZXJzaW9uIGlzICI0IgorUEFTUyBjb25uZWN0aW9uNC52
ZXJzaW9uIGlzIDQKIFBBU1MgY29ubmVjdGlvbjQub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMg
MwogUEFTUyBjb25uZWN0aW9uNHN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCBpcyAzCiBDb25uZWN0
aW9uJ3MgcHJvcGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UKIGNvbm5lY3Rp
b240LmNsb3NlKCkKIAogY2hlY2tTdGF0ZSgpOgotUEFTUyBjb25uZWN0aW9uMS52ZXJzaW9uIGlz
ICIxIgorUEFTUyBjb25uZWN0aW9uMS52ZXJzaW9uIGlzIDEKIFBBU1MgY29ubmVjdGlvbjEub2Jq
ZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMQogUEFTUyBjb25uZWN0aW9uMXN0b3JlMS5pbmRleE5h
bWVzLmxlbmd0aCBpcyAxCiAKLVBBU1MgY29ubmVjdGlvbjIudmVyc2lvbiBpcyAiMiIKK1BBU1Mg
Y29ubmVjdGlvbjIudmVyc2lvbiBpcyAyCiBQQVNTIGNvbm5lY3Rpb24yLm9iamVjdFN0b3JlTmFt
ZXMubGVuZ3RoIGlzIDIKIFBBU1MgY29ubmVjdGlvbjJzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgg
aXMgMgogCi1QQVNTIGNvbm5lY3Rpb24zLnZlcnNpb24gaXMgIjIiCitQQVNTIGNvbm5lY3Rpb24z
LnZlcnNpb24gaXMgMgogUEFTUyBjb25uZWN0aW9uMy5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCBp
cyAyCiBQQVNTIGNvbm5lY3Rpb24zc3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIGlzIDIKIAotUEFT
UyBjb25uZWN0aW9uNC52ZXJzaW9uIGlzICI0IgorUEFTUyBjb25uZWN0aW9uNC52ZXJzaW9uIGlz
IDQKIFBBU1MgY29ubmVjdGlvbjQub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGggaXMgMwogUEFTUyBj
b25uZWN0aW9uNHN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCBpcyAzCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9kYXRhYmFzZS1iYXNpY3MuanMg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvZGF0YWJhc2UtYmFzaWNz
LmpzCmluZGV4IGNjYjU3NWFjNGMyYzIyY2Y0N2EyNDZkMmFiMDk1NTUzODRmYjkxZDkuLjE3MjFj
ODdlNDc4ODE4YjEwMzEyZjg5YzVjYzYyNDJhODE5MmYwZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9kYXRhYmFzZS1iYXNpY3MuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2RhdGFiYXNlLWJhc2ljcy5q
cwpAQCAtNDEsNyArNDEsNyBAQCBmdW5jdGlvbiB0ZXN0U2V0VmVyc2lvbkFib3J0KCkKICAgICBl
dmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOwogICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gY3JlYXRlQW5vdGhlck9iamVjdFN0b3JlOwogICAgIHJl
cXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2Vz
cyA9IHVuZXhwZWN0ZWRTdWNjZXNzQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGNyZWF0ZUFub3Ro
ZXJPYmplY3RTdG9yZSgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9yZXNvdXJjZXMvZXhjZXB0aW9ucy5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L3Jlc291cmNlcy9leGNlcHRpb25zLmpzCmluZGV4IGU0MjUzODQyODJkNTUyNzY1MGU0Yjk3Y2Q2
ZTkxNzFjYjE3NWYxYzYuLjI1YjVlYzk5NDFiMzFhNjc3YWY3MTVjMGQwZjI3NzhlZGIyYjQ5MGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9leGNl
cHRpb25zLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9l
eGNlcHRpb25zLmpzCkBAIC0yLDgzICsyLDY4IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsK
ICAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcycpOwogICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJlZC5qcycpOwogfQorCiBkZXNjcmlwdGlv
bigiVGVzdCB0aGF0IGV4cGVjdGVkIGV4Y2VwdGlvbnMgYXJlIHRocm93biBwZXIgSW5kZXhlZERC
IHNwZWMuIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERCVGVzdChwcmVwYXJlRGF0YWJh
c2UsIHRlc3REYXRhYmFzZSk7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWRE
Qi5kZWxldGVEYXRhYmFzZSgnZXhjZXB0aW9ucycpIik7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVj
dGVkQmxvY2tlZENhbGxiYWNrOwotICAgIHJlcXVlc3Qub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7
Ci0gICAgICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbignZXhjZXB0aW9u
cycpIik7Ci0gICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicmVxdWVzdC5yZWFkeVN0YXRl
IiwgInBlbmRpbmciKTsKKyAgICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisKKyAgICBldmFs
QW5kTG9nKCJzdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgZXZh
bEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgnLCAnaWQnKSIpOworICAg
IGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdhJ30sIDEpIik7CisgICAgZXZhbEFuZExvZygi
c3RvcmUucHV0KHtpZDogJ2InfSwgMikiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lk
OiAnYyd9LCAzKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdkJ30sIDQpIik7
CisgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2UnfSwgNSkiKTsKKyAgICBldmFsQW5k
TG9nKCJzdG9yZS5wdXQoe2lkOiAnZid9LCA2KSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlLnB1
dCh7aWQ6ICdnJ30sIDcpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2gnfSwg
OCkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnaSd9LCA5KSIpOworICAgIGV2
YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdqJ30sIDEwKSIpOworICAgIGV2YWxBbmRMb2coIm90
aGVyU3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnb3RoZXJTdG9yZScpIik7CisgICAgZXZh
bEFuZExvZygiaW5saW5lS2V5U3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnaW5saW5lS2V5
U3RvcmUnLCB7a2V5UGF0aDogJ2lkJ30pIik7CisKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
aW5saW5lS2V5U3RvcmUucHV0KHtpZDogMH0pIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJyZXF1ZXN0LnJlYWR5U3RhdGUiLCAicGVuZGluZyIpOwogCi0gICAgICAgIGRlYnVnKCIiKTsK
LSAgICAgICAgZGVidWcoIjMuMi4xIFRoZSBJREJSZXF1ZXN0IEludGVyZmFjZSIpOwotCi0gICAg
ICAgIGRlYnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQlJlcXVlc3QuZXJyb3IiKTsKLSAgICAg
ICAgZGVidWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0dGluZyB0aGlzIHByb3Bl
cnR5IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJvci4i
KTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigicmVxdWVzdC5lcnJvciIsICJET01F
eGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAg
IGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiMy4yLjEgVGhlIElEQlJlcXVlc3QgSW50ZXJmYWNlIik7
CiAKLSAgICAgICAgZGVidWcoIiIpOwotICAgICAgICBkZWJ1ZygiSURCUmVxdWVzdC5yZXN1bHQi
KTsKLSAgICAgICAgZGVidWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0dGluZyB0
aGlzIHByb3BlcnR5IG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3Rh
dGVFcnJvci4iKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigicmVxdWVzdC5yZXN1
bHQiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJv
ciciKTsKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIklEQlJlcXVlc3QuZXJyb3IiKTsKKyAg
ICBkZWJ1ZygiV2hlbiB0aGUgZG9uZSBmbGFnIGlzIGZhbHNlLCBnZXR0aW5nIHRoaXMgcHJvcGVy
dHkgbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9yLiIp
OworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInJlcXVlc3QuZXJyb3IiLCAiRE9NRXhjZXB0
aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKIAotICAgICAg
ICBkZWJ1ZygiIik7Ci0gICAgICAgIGRlYnVnKCIzLjIuMyBPcGVuaW5nIGEgZGF0YWJhc2UiKTsK
KyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoIklEQlJlcXVlc3QucmVzdWx0Iik7CisgICAgZGVi
dWcoIldoZW4gdGhlIGRvbmUgZmxhZyBpcyBmYWxzZSwgZ2V0dGluZyB0aGlzIHByb3BlcnR5IG11
c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJvci4iKTsKKyAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJyZXF1ZXN0LnJlc3VsdCIsICJET01FeGNlcHRpb24u
SU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOwogCi0gICAgICAgIGRl
YnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQkZhY3RvcnkuY21wKCkiKTsKLSAgICAgICAgZGVi
dWcoIk9uZSBvZiB0aGUgc3VwcGxpZWQga2V5cyB3YXMgbm90IGEgdmFsaWQga2V5LiIpOwotICAg
ICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJpbmRleGVkREIuY21wKG51bGwsIDApIiwgIklE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIiwgIidEYXRhRXJyb3InIik7CisgICAgZGVidWco
IiIpOworICAgIGRlYnVnKCIzLjIuMyBPcGVuaW5nIGEgZGF0YWJhc2UiKTsKIAotICAgICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRlYnVnKCIiKTsKLSAgICAg
ICAgICAgIGV2YWxBbmRMb2coImRiID0gcmVxdWVzdC5yZXN1bHQiKTsKLQotICAgICAgICAgICAg
cmVxdWVzdCA9IGV2YWxBbmRMb2coImRiLnNldFZlcnNpb24oJzEnKSIpOwotICAgICAgICAgICAg
cmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgICAgICAgICBy
ZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgICAgICAg
ICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIHZhciB0
cmFucyA9IHJlcXVlc3QucmVzdWx0OwotICAgICAgICAgICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1
bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLQotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coInN0
b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICAgICAgICAgICAgICBl
dmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleCcsICdpZCcpIik7Ci0g
ICAgICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2EnfSwgMSkiKTsKLSAg
ICAgICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnYid9LCAyKSIpOwotICAg
ICAgICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdjJ30sIDMpIik7Ci0gICAg
ICAgICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2QnfSwgNCkiKTsKLSAgICAg
ICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnZSd9LCA1KSIpOwotICAgICAg
ICAgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdmJ30sIDYpIik7Ci0gICAgICAg
ICAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2cnfSwgNykiKTsKLSAgICAgICAg
ICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoe2lkOiAnaCd9LCA4KSIpOwotICAgICAgICAg
ICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCh7aWQ6ICdpJ30sIDkpIik7Ci0gICAgICAgICAg
ICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KHtpZDogJ2onfSwgMTApIik7Ci0gICAgICAgICAg
ICAgICAgZXZhbEFuZExvZygib3RoZXJTdG9yZSA9IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdvdGhl
clN0b3JlJykiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJpbmxpbmVLZXlTdG9yZSA9
IGRiLmNyZWF0ZU9iamVjdFN0b3JlKCdpbmxpbmVLZXlTdG9yZScsIHtrZXlQYXRoOiAnaWQnfSki
KTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJpbmxpbmVLZXlTdG9yZS5wdXQoe2lkOiAw
fSkiKTsKLQotICAgICAgICAgICAgICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0RGF0YWJhc2U7
Ci0gICAgICAgICAgICB9OwotICAgICAgICB9OwotICAgIH07CisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJJREJGYWN0b3J5LmNtcCgpIik7CisgICAgZGVidWcoIk9uZSBvZiB0aGUgc3VwcGxp
ZWQga2V5cyB3YXMgbm90IGEgdmFsaWQga2V5LiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRp
b24oImluZGV4ZWREQi5jbXAobnVsbCwgMCkiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiLCAiJ0RhdGFFcnJvciciKTsKIH0KIAogZnVuY3Rpb24gdGVzdERhdGFiYXNlKCkKIHsKKyAg
ICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CisKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWco
IjMuMi40IERhdGFiYXNlIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVy
c2lvbignMicpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKGRi
bmFtZSwgMikiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKICAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHRyYW5zID0g
cmVxdWVzdC5yZXN1bHQ7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBjaGVja1RyYW5zYWN0aW9u
QW5kT2JqZWN0U3RvcmVFeGNlcHRpb25zOworICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgIGRiID0gcmVxdWVzdC5yZXN1bHQ7CisgICAgICAgIHZhciB0
cmFucyA9IHJlcXVlc3QudHJhbnNhY3Rpb247CiAgICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKIAogICAgICAgICBkZWJ1ZygiIik7CkBAIC0xMDAsMzAgKzg1
LDMxIEBAIGZ1bmN0aW9uIHRlc3REYXRhYmFzZSgpCiAgICAgICAgIGRlYnVnKCJJREJEYXRhYmFz
ZS50cmFuc2FjdGlvbigpIik7CiAgICAgICAgIGRlYnVnKCdJZiB0aGlzIG1ldGhvZCBpcyBjYWxs
ZWQgb24gSURCRGF0YWJhc2Ugb2JqZWN0IGZvciB3aGljaCBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFu
c2FjdGlvbiBpcyBzdGlsbCBydW5uaW5nLCBhIEludmFsaWRTdGF0ZUVycm9yIGV4Y2VwdGlvbiBt
dXN0IGJlIHRocm93bi4nKTsKICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJh
bnNhY3Rpb24oJ3N0b3JlJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJ
bnZhbGlkU3RhdGVFcnJvciciKTsKLQotICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rp
b24oKSB7Ci0gICAgICAgICAgICBkZWJ1ZygiT25lIG9mIHRoZSBuYW1lcyBwcm92aWRlZCBpbiB0
aGUgc3RvcmVOYW1lcyBhcmd1bWVudCBkb2Vzbid0IGV4aXN0IGluIHRoaXMgZGF0YWJhc2UuIik7
Ci0gICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2FjdGlvbignbm8t
c3VjaC1zdG9yZScpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIiwgIidOb3RGb3VuZEVy
cm9yJyIpOwotICAgICAgICAgICAgZGVidWcoIlRoZSB2YWx1ZSBmb3IgdGhlIG1vZGUgcGFyYW1l
dGVyIGlzIGludmFsaWQuIik7Ci0gICAgICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xh
c3MoImRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdpbnZhbGlkLW1vZGUnKSIsICJUeXBlRXJyb3Ii
KTsKLSAgICAgICAgICAgIGRlYnVnKCJUaGUgZnVuY3Rpb24gd2FzIGNhbGxlZCB3aXRoIGFuIGVt
cHR5IGxpc3Qgb2Ygc3RvcmUgbmFtZXMiKTsKLSAgICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oImRiLnRyYW5zYWN0aW9uKFtdKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1Nf
RVJSIiwgIidJbnZhbGlkQWNjZXNzRXJyb3InIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCIiKTsK
LSAgICAgICAgICAgIGRlYnVnKCJPbmUgbW9yZSBJREJEYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9y
ZSgpIHRlc3Q6Iik7Ci0gICAgICAgICAgICBkZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxs
ZWQgZnJvbSBvdXRzaWRlIGEgInZlcnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxiYWNrIC4u
LiB0aGUgaW1wbGVtZW50YXRpb24gbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIElu
dmFsaWRTdGF0ZUVycm9yLicpOwotICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZhaWwnKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOwotCi0gICAgICAgICAgICBkZWJ1ZygiIik7
Ci0gICAgICAgICAgICBkZWJ1ZygiT25lIG1vcmUgSURCRGF0YWJhc2UuZGVsZXRlT2JqZWN0U3Rv
cmUoKSB0ZXN0OiIpOwotICAgICAgICAgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24gaXMgY2Fs
bGVkIGZyb20gb3V0c2lkZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxsYmFjayAu
Li4gdGhlIGltcGxlbWVudGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJ
bnZhbGlkU3RhdGVFcnJvci4nKTsKLSAgICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
ImRiLmRlbGV0ZU9iamVjdFN0b3JlKCdmYWlsJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RB
VEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKLQotICAgICAgICAgICAgcHJlcGFyZVN0
b3JlQW5kSW5kZXgoKTsKLSAgICAgICAgfTsKICAgICB9OwogfQogCitmdW5jdGlvbiBjaGVja1Ry
YW5zYWN0aW9uQW5kT2JqZWN0U3RvcmVFeGNlcHRpb25zKCkKK3sKKyAgICBkZWJ1ZygiT25lIG9m
IHRoZSBuYW1lcyBwcm92aWRlZCBpbiB0aGUgc3RvcmVOYW1lcyBhcmd1bWVudCBkb2Vzbid0IGV4
aXN0IGluIHRoaXMgZGF0YWJhc2UuIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIu
dHJhbnNhY3Rpb24oJ25vLXN1Y2gtc3RvcmUnKSIsICJET01FeGNlcHRpb24uTk9UX0ZPVU5EX0VS
UiIsICInTm90Rm91bmRFcnJvciciKTsKKyAgICBkZWJ1ZygiVGhlIHZhbHVlIGZvciB0aGUgbW9k
ZSBwYXJhbWV0ZXIgaXMgaW52YWxpZC4iKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uQ2xh
c3MoImRiLnRyYW5zYWN0aW9uKCdzdG9yZScsICdpbnZhbGlkLW1vZGUnKSIsICJUeXBlRXJyb3Ii
KTsKKyAgICBkZWJ1ZygiVGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aCBhbiBlbXB0eSBsaXN0
IG9mIHN0b3JlIG5hbWVzIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNh
Y3Rpb24oW10pIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX0FDQ0VTU19FUlIiLCAiJ0ludmFsaWRB
Y2Nlc3NFcnJvciciKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiT25lIG1vcmUgSURC
RGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUoKSB0ZXN0OiIpOworICAgIGRlYnVnKCdJZiB0aGlz
IGZ1bmN0aW9uIGlzIGNhbGxlZCBmcm9tIG91dHNpZGUgYSAidmVyc2lvbmNoYW5nZSIgdHJhbnNh
Y3Rpb24gY2FsbGJhY2sgLi4uIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhj
ZXB0aW9uIG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IuJyk7CisgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZhaWwnKSIsICJET01FeGNlcHRpb24uSU5W
QUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworCisgICAgZGVidWcoIiIp
OworICAgIGRlYnVnKCJPbmUgbW9yZSBJREJEYXRhYmFzZS5kZWxldGVPYmplY3RTdG9yZSgpIHRl
c3Q6Iik7CisgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIGZyb20gb3V0c2lk
ZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxsYmFjayAuLi4gdGhlIGltcGxlbWVu
dGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZhbGlkU3RhdGVFcnJv
ci4nKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi5kZWxldGVPYmplY3RTdG9yZSgn
ZmFpbCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRl
RXJyb3InIik7CisKKyAgICBwcmVwYXJlU3RvcmVBbmRJbmRleCgpOworfQorCiBmdW5jdGlvbiBw
cmVwYXJlU3RvcmVBbmRJbmRleCgpCiB7CiAgICAgZGVidWcoIiIpOwpAQCAtMTQ0LDEzICsxMzAs
MTMgQEAgZnVuY3Rpb24gdGVzdE9iamVjdFN0b3JlKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAg
ZGVidWcoIjMuMi41IE9iamVjdCBTdG9yZSIpOwotICAgIGV2YWxBbmRMb2coInN0b3JlRnJvbVJl
YWRPbmx5VHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZG9ubHknKS5v
YmplY3RTdG9yZSgnc3RvcmUnKSIpOwotICAgIGV2YWxBbmRMb2coInN0b3JlID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpLm9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAg
ZXZhbEFuZExvZygicm9fdHJhbnNhY3Rpb24gPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVh
ZG9ubHknKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlRnJvbVJlYWRPbmx5VHJhbnNhY3Rpb24g
PSByb190cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIGV2YWxBbmRMb2co
InJ3X3RyYW5zYWN0aW9uID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgJ3JlYWR3cml0ZScpIik7
CisgICAgZXZhbEFuZExvZygic3RvcmUgPSByd190cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgnc3Rv
cmUnKSIpOwogCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJJREJPYmplY3RTdG9yZS5hZGQo
KSIpOwotICAgIGRlYnVnKCJzdG9yZUZyb21SZWFkT25seVRyYW5zYWN0aW9uID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJywgJ3JlYWRvbmx5Jykub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKLSAgICBk
ZWJ1Zygic3RvcmUgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCAncmVhZHdyaXRlJykub2JqZWN0
U3RvcmUoJ3N0b3JlJykiKTsKICAgICBkZWJ1ZygnVGhpcyBtZXRob2QgdGhyb3dzIGEgRE9NRXhj
ZXB0aW9uIG9mIHR5cGUgUmVhZE9ubHlFcnJvciBpZiB0aGUgdHJhbnNhY3Rpb24gd2hpY2ggdGhp
cyBJREJPYmplY3RTdG9yZSBiZWxvbmdzIHRvIGlzIGhhcyBpdHMgbW9kZSBzZXQgdG8gInJlYWRv
bmx5Ii4nKTsKICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZUZyb21SZWFkT25seVRy
YW5zYWN0aW9uLmFkZCgwLCAwKSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5SRUFEX09OTFlfRVJS
IiwgIidSZWFkT25seUVycm9yJyIpOwogICAgIC8vICJJZiBhbnkgb2YgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSB0cnVlLCB0aGlzIG1ldGhvZCB0aHJvd3MgYSBET01FeGNlcHRpb24gb2Yg
dHlwZSBEYXRhRXJyb3I6IiAtIGNvdmVyZWQgaW4gb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKQEAg
LTIyMyw0MyArMjA5LDYxIEBAIGZ1bmN0aW9uIHRlc3RPYmplY3RTdG9yZSgpCiAgICAgZGVidWco
IlRoZSBkYXRhIGJlaW5nIHN0b3JlZCBjb3VsZCBub3QgYmUgY2xvbmVkIGJ5IHRoZSBpbnRlcm5h
bCBzdHJ1Y3R1cmVkIGNsb25pbmcgYWxnb3JpdGhtLiIpOwogICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInN0b3JlLnB1dChzZWxmLCAwKSIsICJET01FeGNlcHRpb24uREFUQV9DTE9ORV9FUlIi
KTsgLy8gRklYTUU6IFRlc3QgJ0RhdGFDbG9uZUVycm9yJyBuYW1lIHdoZW4gRE9NNCBleGNlcHRp
b25zIGFyZSB1c2VkIGluIGJpbmRpbmcuCiAKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIu
c2V0VmVyc2lvbignMycpIik7CisgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOworICAgIGV2
YWxBbmRMb2coInJvX3RyYW5zYWN0aW9uLm9uY29tcGxldGUgPSB0cmFuc2FjdGlvbkNvbXBsZXRl
Iik7CisgICAgZXZhbEFuZExvZygicndfdHJhbnNhY3Rpb24ub25jb21wbGV0ZSA9IHRyYW5zYWN0
aW9uQ29tcGxldGUiKTsKK30KKwordmFyIG51bUNvbXBsZXRlZCA9IDA7CitmdW5jdGlvbiB0cmFu
c2FjdGlvbkNvbXBsZXRlKGV2dCkKK3sKKyAgICBwcmVhbWJsZShldnQpOworICAgIG51bUNvbXBs
ZXRlZCsrOworICAgIGlmIChudW1Db21wbGV0ZWQgPT0gMSkgeworICAgICAgICBkZWJ1ZygiRmly
c3QgdHJhbnNhY3Rpb24gY29tcGxldGVkIik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
ZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVuKGRibmFtZSwgMykiKTsKICAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKICAgICByZXF1ZXN0Lm9u
YmxvY2tlZCA9IHVuZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nl
c3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgdmFyIHRyYW5zID0gcmVxdWVzdC5yZXN1bHQ7Ci0g
ICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICAgICAg
c3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1
ZXN0Lm9udXBncmFkZW5lZWRlZCA9IG9uVXBncmFkZU5lZWRlZDMiKTsKK30KIAotICAgICAgICBk
ZWJ1ZygiIik7Ci0gICAgICAgIGRlYnVnKCJJREJPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgpIik7
Ci0gICAgICAgIGRlYnVnKCJJZiBhbiBpbmRleCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBl
eGlzdHMsIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhjZXB0aW9uIG9mIHR5
cGUgQ29uc3RyYWludEVycm9yLiAiKTsKLSAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
c3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4JywgJ2tleVBhdGgnKSIsICJJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5DT05TVFJBSU5UX0VSUiIsICInQ29uc3RyYWludEVycm9yJyIpOwotICAgICAgICBkZWJ1
ZygiSWYga2V5UGF0aCBpcyBub3QgYSB2YWxpZCBrZXkgcGF0aCB0aGVuIGEgRE9NRXhjZXB0aW9u
IG9mIHR5cGUgU3ludGF4RXJyb3IgbXVzdCBiZSB0aHJvd24uIik7Ci0gICAgICAgIGV2YWxBbmRF
eHBlY3RFeGNlcHRpb24oInN0b3JlLmNyZWF0ZUluZGV4KCdmYWlsJywgJy1pbnZhbGlkLScpIiwg
IkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIiwgIidTeW50YXhFcnJvciciKTsKLSAgICAgICAgZGVi
dWcoIklmIGtleVBhdGggaXMgYW4gQXJyYXkgYW5kIHRoZSBtdWx0aUVudHJ5IHByb3BlcnR5IGlu
IHRoZSBvcHRpb25hbFBhcmFtZXRlcnMgaXMgdHJ1ZSwgdGhlbiBhIERPTUV4Y2VwdGlvbiBvZiB0
eXBlIEludmFsaWRBY2Nlc3NFcnJvciBtdXN0IGJlIHRocm93bi4iKTsKLSAgICAgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuY3JlYXRlSW5kZXgoJ2ZhaWwnLCBbJ2EnXSwge211bHRp
RW50cnk6IHRydWV9KSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9BQ0NFU1NfRVJSIiwgIidJbnZh
bGlkQWNjZXNzRXJyb3InIik7Ci0gICAgICAgIC8vICJPY2N1cnMgaWYgYSByZXF1ZXN0IGlzIG1h
ZGUgb24gYSBzb3VyY2Ugb2JqZWN0IHRoYXQgaGFzIGJlZW4gZGVsZXRlZCBvciByZW1vdmVkLiIg
LSBjb3ZlcmVkIGluIGRlbGV0ZWQtb2JqZWN0cy5odG1sCitmdW5jdGlvbiBvblVwZ3JhZGVOZWVk
ZWQzKCkKK3sKKyAgICBkYiA9IHJlcXVlc3QucmVzdWx0OworICAgIHZhciB0cmFucyA9IHJlcXVl
c3QudHJhbnNhY3Rpb247CisgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOworICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0T3V0c2lkZVZlcnNpb25DaGFuZ2VUcmFu
c2FjdGlvbjsKKyAgICBzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOwogCi0gICAg
ICAgIGRlYnVnKCIiKTsKLSAgICAgICAgZGVidWcoIklEQk9iamVjdFN0b3JlLmRlbGV0ZUluZGV4
KCkiKTsKLSAgICAgICAgZGVidWcoIlRoZXJlIGlzIG5vIGluZGV4IHdpdGggdGhlIGdpdmVuIG5h
bWUsIGNvbXBhcmVkIGluIGEgY2FzZS1zZW5zaXRpdmUgbWFubmVyLCBpbiB0aGUgY29ubmVjdGVk
IGRhdGFiYXNlLiIpOwotICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5kZWxl
dGVJbmRleCgnbm8tc3VjaC1pbmRleCcpIiwgIkRPTUV4Y2VwdGlvbi5OT1RfRk9VTkRfRVJSIiwg
IidOb3RGb3VuZEVycm9yJyIpOwotICAgICAgICAvLyAiT2NjdXJzIGlmIGEgcmVxdWVzdCBpcyBt
YWRlIG9uIGEgc291cmNlIG9iamVjdCB0aGF0IGhhcyBiZWVuIGRlbGV0ZWQgb3IgcmVtb3ZlZC4i
IC0gY292ZXJlZCBpbiBkZWxldGVkLW9iamVjdHMuaHRtbAotCi0gICAgICAgIHRyYW5zLm9uY29t
cGxldGUgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgICAg
IGRlYnVnKCJPbmUgbW9yZSBJREJPYmplY3RTdG9yZS5jcmVhdGVJbmRleCgpIHRlc3Q6Iik7Ci0g
ICAgICAgICAgICBkZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBvdXRzaWRl
IGEgInZlcnNpb25jaGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxiYWNrIC4uLiB0aGUgaW1wbGVtZW50
YXRpb24gbXVzdCB0aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9y
LicpOwotICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24o
J3N0b3JlJykub2JqZWN0U3RvcmUoJ3N0b3JlJykuY3JlYXRlSW5kZXgoJ2ZhaWwnLCAna2V5UGF0
aCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRlRXJy
b3InIik7Ci0KLSAgICAgICAgICAgIGRlYnVnKCIiKTsKLSAgICAgICAgICAgIGRlYnVnKCJPbmUg
bW9yZSBJREJPYmplY3RTdG9yZS5kZWxldGVJbmRleCgpIHRlc3Q6Iik7Ci0gICAgICAgICAgICBk
ZWJ1ZygnSWYgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZnJvbSBvdXRzaWRlIGEgInZlcnNpb25j
aGFuZ2UiIHRyYW5zYWN0aW9uIGNhbGxiYWNrIC4uLiB0aGUgaW1wbGVtZW50YXRpb24gbXVzdCB0
aHJvdyBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIEludmFsaWRTdGF0ZUVycm9yLicpOwotICAgICAg
ICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykub2Jq
ZWN0U3RvcmUoJ3N0b3JlJykuZGVsZXRlSW5kZXgoJ2ZhaWwnLCAna2V5UGF0aCcpIiwgIkRPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7Ci0gICAg
ICAgICAgICB0ZXN0SW5kZXgoKTsKLSAgICAgICAgfTsKLSAgICB9OworICAgIGRlYnVnKCIiKTsK
KyAgICBkZWJ1ZygiSURCT2JqZWN0U3RvcmUuY3JlYXRlSW5kZXgoKSIpOworICAgIGRlYnVnKCJJ
ZiBhbiBpbmRleCB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBleGlzdHMsIHRoZSBpbXBsZW1l
bnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgQ29uc3RyYWludEVycm9y
LiAiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5k
ZXgnLCAna2V5UGF0aCcpIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkNPTlNUUkFJTlRfRVJSIiwg
IidDb25zdHJhaW50RXJyb3InIik7CisgICAgZGVidWcoIklmIGtleVBhdGggaXMgbm90IGEgdmFs
aWQga2V5IHBhdGggdGhlbiBhIERPTUV4Y2VwdGlvbiBvZiB0eXBlIFN5bnRheEVycm9yIG11c3Qg
YmUgdGhyb3duLiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNyZWF0ZUlu
ZGV4KCdmYWlsJywgJy1pbnZhbGlkLScpIiwgIkRPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSIiwgIidT
eW50YXhFcnJvciciKTsKKyAgICBkZWJ1ZygiSWYga2V5UGF0aCBpcyBhbiBBcnJheSBhbmQgdGhl
IG11bHRpRW50cnkgcHJvcGVydHkgaW4gdGhlIG9wdGlvbmFsUGFyYW1ldGVycyBpcyB0cnVlLCB0
aGVuIGEgRE9NRXhjZXB0aW9uIG9mIHR5cGUgSW52YWxpZEFjY2Vzc0Vycm9yIG11c3QgYmUgdGhy
b3duLiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmNyZWF0ZUluZGV4KCdm
YWlsJywgWydhJ10sIHttdWx0aUVudHJ5OiB0cnVlfSkiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURf
QUNDRVNTX0VSUiIsICInSW52YWxpZEFjY2Vzc0Vycm9yJyIpOworICAgIC8vICJPY2N1cnMgaWYg
YSByZXF1ZXN0IGlzIG1hZGUgb24gYSBzb3VyY2Ugb2JqZWN0IHRoYXQgaGFzIGJlZW4gZGVsZXRl
ZCBvciByZW1vdmVkLiIgLSBjb3ZlcmVkIGluIGRlbGV0ZWQtb2JqZWN0cy5odG1sCisKKyAgICBk
ZWJ1ZygiIik7CisgICAgZGVidWcoIklEQk9iamVjdFN0b3JlLmRlbGV0ZUluZGV4KCkiKTsKKyAg
ICBkZWJ1ZygiVGhlcmUgaXMgbm8gaW5kZXggd2l0aCB0aGUgZ2l2ZW4gbmFtZSwgY29tcGFyZWQg
aW4gYSBjYXNlLXNlbnNpdGl2ZSBtYW5uZXIsIGluIHRoZSBjb25uZWN0ZWQgZGF0YWJhc2UuIik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlSW5kZXgoJ25vLXN1Y2gt
aW5kZXgnKSIsICJET01FeGNlcHRpb24uTk9UX0ZPVU5EX0VSUiIsICInTm90Rm91bmRFcnJvcici
KTsKK30KKworZnVuY3Rpb24gdGVzdE91dHNpZGVWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24oKSB7
CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJPbmUgbW9yZSBJREJPYmplY3RTdG9yZS5jcmVh
dGVJbmRleCgpIHRlc3Q6Iik7CisgICAgZGVidWcoJ0lmIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVk
IGZyb20gb3V0c2lkZSBhICJ2ZXJzaW9uY2hhbmdlIiB0cmFuc2FjdGlvbiBjYWxsYmFjayAuLi4g
dGhlIGltcGxlbWVudGF0aW9uIG11c3QgdGhyb3cgYSBET01FeGNlcHRpb24gb2YgdHlwZSBJbnZh
bGlkU3RhdGVFcnJvci4nKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJkYi50cmFuc2Fj
dGlvbignc3RvcmUnKS5vYmplY3RTdG9yZSgnc3RvcmUnKS5jcmVhdGVJbmRleCgnZmFpbCcsICdr
ZXlQYXRoJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3Rh
dGVFcnJvciciKTsKKworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiT25lIG1vcmUgSURCT2Jq
ZWN0U3RvcmUuZGVsZXRlSW5kZXgoKSB0ZXN0OiIpOworICAgIGRlYnVnKCdJZiB0aGlzIGZ1bmN0
aW9uIGlzIGNhbGxlZCBmcm9tIG91dHNpZGUgYSAidmVyc2lvbmNoYW5nZSIgdHJhbnNhY3Rpb24g
Y2FsbGJhY2sgLi4uIHRoZSBpbXBsZW1lbnRhdGlvbiBtdXN0IHRocm93IGEgRE9NRXhjZXB0aW9u
IG9mIHR5cGUgSW52YWxpZFN0YXRlRXJyb3IuJyk7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlv
bigiZGIudHJhbnNhY3Rpb24oJ3N0b3JlJykub2JqZWN0U3RvcmUoJ3N0b3JlJykuZGVsZXRlSW5k
ZXgoJ2ZhaWwnLCAna2V5UGF0aCcpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIs
ICInSW52YWxpZFN0YXRlRXJyb3InIik7CisgICAgdGVzdEluZGV4KCk7CiB9CiAKIGZ1bmN0aW9u
IHRlc3RJbmRleCgpCkBAIC00NjEsNSArNDY1LDMgQEAgZnVuY3Rpb24gdGVzdFRyYW5zYWN0aW9u
KCkKIAogICAgIGZpbmlzaEpTVGVzdCgpOwogfQotCi10ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvZmFjdG9yeS1kZWxldGVkYXRhYmFz
ZS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9mYWN0b3J5LWRl
bGV0ZWRhdGFiYXNlLmpzCmluZGV4IGEzM2UwNzA1MTI5OTMwN2Y2MmM5YWZjNmI5N2QwYmMwMmZh
NWVlOTMuLmFlYzE4NzM1Y2I4MDdjODIyN2EwNzY3NTgzOTdlNTM4ZmQwZGI0ODYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9mYWN0b3J5LWRlbGV0
ZWRhdGFiYXNlLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9mYWN0b3J5LWRlbGV0ZWRhdGFiYXNlLmpzCkBAIC01LDI3ICs1LDEwIEBAIGlmICh0aGlzLmlt
cG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCJ3Mgd2Via2l0SW5k
ZXhlZERCLmRlbGV0ZURhdGFiYXNlKCkuIik7CiAKLWZ1bmN0aW9uIHRlc3QoKQoraW5kZXhlZERC
VGVzdChwcmVwYXJlRGF0YWJhc2UsIGdldFZhbHVlKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFz
ZSgpCiB7Ci0gICAgcmVtb3ZlVmVuZG9yUHJlZml4ZXMoKTsKLSAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiaW5kZXhlZERCLm9wZW4oJ2RhdGFiYXNlLXRvLWRlbGV0ZScpIik7Ci0gICAgcmVxdWVz
dC5vbnN1Y2Nlc3MgPSBzdGFydFNldFZlcnNpb247Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0U2V0VmVyc2lvbigpCi17
Ci0gICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAg
IHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicpIik7Ci0g
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVFeGlzdGluZzsKLSAgICByZXF1ZXN0Lm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZGVsZXRlRXhpc3Rp
bmcoKQotewotICAgIHNlbGYudHJhbnMgPSBldmFsQW5kTG9nKCJ0cmFucyA9IGV2ZW50LnRhcmdl
dC5yZXN1bHQiKTsKLSAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CisgICAgZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0OwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZU5hbWUnLCBudWxsKSIpOwogCkBAIC0zNCw3ICsxNyw2IEBA
IGZ1bmN0aW9uIGRlbGV0ZUV4aXN0aW5nKCkKIAogICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJz
dG9yZS5hZGQoJ3ZhbHVlJywgJ2tleScpIik7CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgdHJhbnMub25jb21wbGV0ZSA9IGdldFZhbHVlOwogfQog
CiBmdW5jdGlvbiBnZXRWYWx1ZSgpCkBAIC01MSwxNiArMzMsMTggQEAgZnVuY3Rpb24gZ2V0VmFs
dWUoKQogZnVuY3Rpb24gYWRkSW5kZXgoKQogewogICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygi
ZXZlbnQudGFyZ2V0LnJlc3VsdCIsICJ2YWx1ZSIpOworICAgIGV2YWxBbmRMb2coImRiLmNsb3Nl
KCkiKTsKIAotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVy
c2lvbicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkZWxldGVEYXRhYmFzZTsKKyAgICBy
ZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAyKSIpOworICAgIHJl
cXVlc3Qub251cGdyYWRlbmVlZGVkID0gZGVsZXRlRGF0YWJhc2U7CiAgICAgcmVxdWVzdC5vbmVy
cm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZURhdGFi
YXNlKCkKIHsKLSAgICBkYi5vbnZlcnNpb25jaGFuZ2UgPSBmdW5jdGlvbigpIHsgZGIuY2xvc2Uo
KTsgfQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0
ZURhdGFiYXNlKCdkYXRhYmFzZS10by1kZWxldGUnKSIpOworICAgIGV2YWxBbmRMb2coImRiID0g
ZXZlbnQudGFyZ2V0LnJlc3VsdCIpOworICAgIGRiLm9udmVyc2lvbmNoYW5nZSA9IGZ1bmN0aW9u
KCkgeyBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7IH0KKyAgICByZXF1ZXN0ID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVEYXRhYmFzZShkYm5hbWUpIik7CiAgICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSByZW9wZW5EYXRhYmFzZTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKIH0KQEAgLTY4LDI1ICs1MiwxNiBAQCBmdW5jdGlvbiBk
ZWxldGVEYXRhYmFzZSgpCiBmdW5jdGlvbiByZW9wZW5EYXRhYmFzZSgpCiB7CiAgICAgc2hvdWxk
QmVVbmRlZmluZWQoInJlcXVlc3QucmVzdWx0Iik7Ci0gICAgcmVxdWVzdCA9IGV2YWxBbmRMb2co
ImluZGV4ZWREQi5vcGVuKCdkYXRhYmFzZS10by1kZWxldGUnKSIpOwotICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gc3RhcnRTZXRWZXJzaW9uQWdhaW47Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5l
eHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIHN0YXJ0U2V0VmVyc2lvbkFnYWlu
KCkKLXsKLSAgICByZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsK
LQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJkYi5zZXRWZXJzaW9uKCduZXcgdmVyc2lvbicp
Iik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB2ZXJpZnlOb3RGb3VuZDsKKyAgICByZXF1ZXN0
ID0gZXZhbEFuZExvZygiaW5kZXhlZERCLm9wZW4oZGJuYW1lLCAzKSIpOworICAgIHJlcXVlc3Qu
b251cGdyYWRlbmVlZGVkID0gdmVyaWZ5Tm90Rm91bmQ7CiAgICAgcmVxdWVzdC5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbmJsb2NrZWQgPSB1bmV4cGVj
dGVkQmxvY2tlZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiB2ZXJpZnlOb3RGb3VuZCgpCiB7Cisg
ICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKICAgICBzaG91
bGRCZSgiZGIub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMCIpOwogCiAgICAgZmluaXNoSlNU
ZXN0KCk7CiB9Ci0KLXRlc3QoKTsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgtZHVwbGlj
YXRlLWtleXBhdGhzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2Vz
L2luZGV4LWR1cGxpY2F0ZS1rZXlwYXRocy5qcwppbmRleCA1MTY3YjI4NWEwNmVjYTc2MWE2MjJl
NDNkY2Q0ZDJjNTFhNzE4YWJkLi45MDQ0NzNkYmFhM2MxNmRmYTM4NDhlZDMwYTA3ZTU4NGFmM2Yw
YmY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
aW5kZXgtZHVwbGljYXRlLWtleXBhdGhzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL3Jlc291cmNlcy9pbmRleC1kdXBsaWNhdGUta2V5cGF0aHMuanMKQEAgLTM3LDE2ICsz
NywxOCBAQCBmdW5jdGlvbiBzdG9yZUNvbGxpZGVkU3RvcmVJbmRleERhdGEoKSB7CiAKIGZ1bmN0
aW9uIHRlc3RDb2xsaWRlQXV0b0luY3JlbWVudFNldHVwKCkKIHsKLSAgICByZXF1ZXN0ID0gZXZh
bEFuZExvZygiZGIuc2V0VmVyc2lvbignMicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0
ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQ7CisgICAgZXZhbEFuZExvZygiZGIuY2xvc2UoKSIpOwor
ICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7Cisg
ICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSB0ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQ7CiAg
ICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgcmVxdWVz
dC5vbmJsb2NrZWQgPSB1bmV4cGVjdGVkQmxvY2tlZENhbGxiYWNrOwogfQogCiBmdW5jdGlvbiB0
ZXN0Q29sbGlkZUF1dG9JbmNyZW1lbnQoKQogeworICAgIGRiID0gZXZlbnQudGFyZ2V0LnJlc3Vs
dDsKKyAgICB2YXIgdHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uOwogICAgIGRlbGV0ZUFsbE9i
amVjdFN0b3JlcyhkYik7Ci0gICAgdmFyIHRyYW5zID0gcmVxdWVzdC5yZXN1bHQ7CiAgICAgZXZh
bEFuZExvZygic3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnY29sbGlkZVdpdGhBdXRvSW5j
cmVtZW50Jywge2tleVBhdGg6ICdmb28nLCBhdXRvSW5jcmVtZW50OiB0cnVlfSkiKTsKICAgICBl
dmFsQW5kTG9nKCJpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdmb28nLCAnZm9vJykiKTsKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2luZGV4
LW11bHRpZW50cnkuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
aW5kZXgtbXVsdGllbnRyeS5qcwppbmRleCA1OGZiOTJkMWY5ZGZhYTQ1ZWFiYjRmNWI3NzhlMjAw
OTIxMWVmYmEzLi43ZGY1ZjU5MmNmY2MzZjE1NmI3MzQzMzgyOTNmMTZmZWEyZGVjNGMwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvaW5kZXgtbXVs
dGllbnRyeS5qcworKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
aW5kZXgtbXVsdGllbnRyeS5qcwpAQCAtNSwzMSArNSwxMCBAQCBpZiAodGhpcy5pbXBvcnRTY3Jp
cHRzKSB7CiAKIGRlc2NyaXB0aW9uKCJUZXN0IGZlYXR1cmVzIG9mIEluZGV4ZWREQidzIG11bHRp
RW50cnkgaW5kaWNlcy4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgcmVtb3ZlVmVuZG9y
UHJlZml4ZXMoKTsKLQotICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3Blbign
aW5kZXgtbXVsdGlFbnRyeScpIik7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVy
cm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAg
ICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQiKTsKLQotICAgICAg
ICByZXF1ZXN0ID0gZXZhbEFuZExvZygiZGIuc2V0VmVyc2lvbignMScpIik7Ci0gICAgICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0
Lm9uc3VjY2VzcyA9IHByZXBhcmVEYXRhYmFzZTsKLSAgICB9OwotfQotCitpbmRleGVkREJUZXN0
KHByZXBhcmVEYXRhYmFzZSwgYWRkRGF0YSk7CiBmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQog
ewotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1ZygiQ3JlYXRpbmcgZW1wdHkgc3RvcmVzIGFuZCBp
bmRleGVzIik7Ci0gICAgdmFyIHRyYW5zID0gZXZhbEFuZExvZygidHJhbnMgPSBldmVudC50YXJn
ZXQucmVzdWx0Iik7Ci0gICAgc2hvdWxkQmVOb25OdWxsKCJ0cmFucyIpOwotICAgIHRyYW5zLm9u
YWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKLSAgICB0cmFucy5vbmNvbXBsZXRlID0g
YWRkRGF0YTsKLQotICAgIGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgZGIgPSBldmVu
dC50YXJnZXQucmVzdWx0OwogCiAgICAgc3RvcmUgPSBldmFsQW5kTG9nKCJzdG9yZSA9IGRiLmNy
ZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpIik7CiAgICAgZXZhbEFuZExvZygic3RvcmUuY3JlYXRl
SW5kZXgoJ2luZGV4JywgJ3gnLCB7bXVsdGlFbnRyeTogdHJ1ZX0pIik7CkBAIC0xMjksMTMgKzEw
OCwxMyBAQCBmdW5jdGlvbiBjcmVhdGVJbmRleE9uU3RvcmVXaXRoRGF0YSgpCiB7CiAgICAgZGVi
dWcoIiIpOwogICAgIGRlYnVnKCJDcmVhdGUgYW4gaW5kZXggb24gYSBwb3B1bGF0ZWQgc3RvcmUi
KTsKKyAgICBldmFsQW5kTG9nKCJkYi5jbG9zZSgpIik7CiAKLSAgICByZXF1ZXN0ID0gZXZhbEFu
ZExvZygiZGIuc2V0VmVyc2lvbignMicpIik7CisgICAgcmVxdWVzdCA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5vcGVuKGRibmFtZSwgMikiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewot
Ci0gICAgICAgIHZhciB0cmFucyA9IGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQudGFyZ2V0LnJl
c3VsdCIpOwotICAgICAgICBzaG91bGRCZU5vbk51bGwoInRyYW5zIik7CisgICAgcmVxdWVzdC5v
bnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZXZhbEFuZExvZygiZGIgPSBl
dmVudC50YXJnZXQucmVzdWx0Iik7CisgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gZXZlbnQu
dGFyZ2V0LnRyYW5zYWN0aW9uIik7CiAgICAgICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVk
QWJvcnRDYWxsYmFjazsKICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgeyB2
ZXJpZnlJbmRleGVzKCdpbmRleC1uZXcnLCBmaW5pc2hKU1Rlc3QpOyB9OwogCkBAIC0xNDMsNSAr
MTIyLDMgQEAgZnVuY3Rpb24gY3JlYXRlSW5kZXhPblN0b3JlV2l0aERhdGEoKQogICAgICAgICBl
dmFsQW5kTG9nKCJzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXgtbmV3JywgJ3gnLCB7bXVsdGlFbnRy
eTogdHJ1ZX0pIik7CiAgICAgfTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9pbmRleC1wb3B1bGF0aW9uLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMKaW5kZXggOWM2YWMyODMwYzEwNDljZmZhNjZjMzA5
OGYwMjU1Yzk1Mjg2ZmVjOS4uMzAyNDdjOTQwZDJlOTE5YWExOWNiNmFlMzg2YzM0YzVjNjUxYzBk
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL2lu
ZGV4LXBvcHVsYXRpb24uanMKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVz
b3VyY2VzL2luZGV4LXBvcHVsYXRpb24uanMKQEAgLTUsMzkgKzUsMTEgQEAgaWYgKHRoaXMuaW1w
b3J0U2NyaXB0cykgewogCiBkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIgaW5kZXggcG9wdWxh
dGlvbi4iKTsKIAotZnVuY3Rpb24gdGVzdCgpCitpbmRleGVkREJUZXN0KHByZXBhcmVEYXRhYmFz
ZSwgZG9TZXRWZXJzaW9uMik7CitmdW5jdGlvbiBwcmVwYXJlRGF0YWJhc2UoKQogewotICAgIHJl
bW92ZVZlbmRvclByZWZpeGVzKCk7Ci0KLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLmRlbGV0ZURhdGFiYXNlKCdpbmRleC1wb3B1bGF0aW9uJykiKTsKLSAgICByZXF1ZXN0Lm9u
c3VjY2VzcyA9IGRlbGV0ZVN1Y2Nlc3M7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Ci19Ci0KLWZ1bmN0aW9uIGRlbGV0ZVN1Y2Nlc3MoKQotewotICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbignaW5kZXgtcG9wdWxhdGlvbicpIik7
Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBkb1NldFZlcnNpb24xOwotICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gZG9TZXRWZXJzaW9uMSgp
Ci17Ci0gICAgZGVidWcoIiIpOwotICAgIGRlYnVnKCJkb1NldFZlcnNpb24xKCk6Iik7Ci0gICAg
c2VsZi5kYiA9IGV2YWxBbmRMb2coImRiID0gZXZlbnQudGFyZ2V0LnJlc3VsdCIpOwotICAgIHJl
cXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbigndmVyc2lvbiAxJyki
KTsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHNldFZlcnNpb24xOwotICAgIHJlcXVlc3Qub25i
bG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLX0KLQotZnVuY3Rpb24gc2V0VmVyc2lvbjEoKQot
ewotICAgIGRlYnVnKCIiKTsKLSAgICBkZWJ1Zygic2V0VmVyc2lvbjEoKToiKTsKLSAgICB0cmFu
c2FjdGlvbiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gcmVxdWVzdC5yZXN1bHQiKTsKKyAg
ICBkYiA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7CisgICAgZXZhbEFuZExvZygidHJhbnNhY3Rpb24g
PSBldmVudC50YXJnZXQudHJhbnNhY3Rpb24iKTsKICAgICB0cmFuc2FjdGlvbi5vbmVycm9yID0g
dW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CiAgICAgdHJhbnNhY3Rpb24ub25hYm9ydCA9IHVuZXhw
ZWN0ZWRBYm9ydENhbGxiYWNrOwogICAgIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKQEAgLTUzLDIyICsyNSwyMyBAQCBmdW5jdGlv
biBzZXRWZXJzaW9uMSgpCiAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbiAoKSB7CiAg
ICAgICAgIHNob3VsZEJlKCJyZXF1ZXN0LnJlc3VsdCIsICI0Iik7CiAgICAgfTsKLSAgICB0cmFu
c2FjdGlvbi5vbmNvbXBsZXRlID0gZG9TZXRWZXJzaW9uMjsKIH0KIAogZnVuY3Rpb24gZG9TZXRW
ZXJzaW9uMigpIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoImRvU2V0VmVyc2lvbjIoKToi
KTsKLSAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJ3Zl
cnNpb24gMicpIik7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBzZXRWZXJzaW9uMjsKLSAgICBy
ZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBldmFsQW5kTG9n
KCJkYi5jbG9zZSgpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5vcGVu
KGRibmFtZSwgMikiKTsKKyAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9IHNldFZlcnNpb24y
OworICAgIHJlcXVlc3Qub25ibG9ja2VkID0gdW5leHBlY3RlZEJsb2NrZWRDYWxsYmFjazsKIH0K
IAogZnVuY3Rpb24gc2V0VmVyc2lvbjIoKQogewogICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1Zygi
c2V0VmVyc2lvbjIoKToiKTsKLSAgICB0cmFuc2FjdGlvbjIgPSBldmFsQW5kTG9nKCJ0cmFuc2Fj
dGlvbiA9IHJlcXVlc3QucmVzdWx0Iik7CisgICAgZGIgPSBldmVudC50YXJnZXQucmVzdWx0Owor
ICAgIHRyYW5zYWN0aW9uMiA9IGV2YWxBbmRMb2coInRyYW5zYWN0aW9uID0gcmVxdWVzdC50cmFu
c2FjdGlvbiIpOwogICAgIHRyYW5zYWN0aW9uMi5vbmFib3J0ID0gc2V0VmVyc2lvbjJBYm9ydDsK
ICAgICB0cmFuc2FjdGlvbjIub25jb21wbGV0ZSA9IHVuZXhwZWN0ZWRDb21wbGV0ZUNhbGxiYWNr
OwogCkBAIC05Niw1ICs2OSwzIEBAIGZ1bmN0aW9uIHNldFZlcnNpb24yQWJvcnQoKQogICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZGIub2JqZWN0U3RvcmVOYW1lc1swXSIsICJzdG9yZTEiKTsK
ICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotdGVzdCgpOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNl
cy9tZXRhZGF0YS5qcyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9t
ZXRhZGF0YS5qcwppbmRleCAxNGM0N2M3MTFlZWZiNTgyNjg3NmExYzJlYzNlZWNmMDAwN2VlYzQ0
Li44NWQwZGIwNGM5NTNlYzhlYWI4MWY5M2NkOTI2ZWRlMDUxMDdmYTRmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMvbWV0YWRhdGEuanMKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL21ldGFkYXRhLmpzCkBAIC01
LDcxICs1LDQ3IEBAIGlmICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKIAogZGVzY3JpcHRpb24oIlRl
c3QgSW5kZXhlZERCIGRhdGFiYXNlIG1ldGFkYXRhIG11dGF0aW9uL3NuYXBzaG90dGluZyIpOwog
Ci1mdW5jdGlvbiB0ZXN0KCkKK2luZGV4ZWREQlRlc3QocHJlcGFyZURhdGFiYXNlLCBzbmFwc2hv
dENvbm5lY3Rpb24xKTsKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCiB7Ci0gICAgcmVtb3Zl
VmVuZG9yUHJlZml4ZXMoKTsKLSAgICBldmFsQW5kTG9nKCJkYm5hbWUgPSBzZWxmLmxvY2F0aW9u
LnBhdGhuYW1lIik7Ci0gICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWREQi5kZWxldGVE
YXRhYmFzZShkYm5hbWUpIik7Ci0gICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmaXJzdE9wZW47CisgICAgY29ubmVj
dGlvbjEgPSBldmVudC50YXJnZXQucmVzdWx0OworICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24x
c3RvcmUxID0gY29ubmVjdGlvbjEuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7CisgICAg
ZXZhbEFuZExvZygiY29ubmVjdGlvbjFzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MScsICdwYXRo
JykiKTsKKworICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMS52ZXJzaW9uIiwgIjEiKTsKKyAgICBz
aG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMSIpOworICAg
IHNob3VsZEJlKCJjb25uZWN0aW9uMXN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIxIik7CiB9
CiAKLWZ1bmN0aW9uIGZpcnN0T3BlbigpCitmdW5jdGlvbiBzbmFwc2hvdENvbm5lY3Rpb24xKCkK
IHsKLSAgICBkZWJ1ZygiIik7Ci0gICAgZGVidWcoImZpcnN0T3BlbigpOiIpOwotICAgIGV2YWxB
bmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUpIik7Ci0gICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVxdWVzdC5vbnN1Y2Nlc3Mg
PSBmdW5jdGlvbigpIHsKLSAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjEgPSByZXF1ZXN0
LnJlc3VsdCIpOwotICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlvbjEuc2V0
VmVyc2lvbignMScpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJv
ckNhbGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAg
ICAgICAgICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAg
ICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjFzdG9yZTEgPSBjb25uZWN0aW9uMS5jcmVhdGVPYmpl
Y3RTdG9yZSgnc3RvcmUxJykiKTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24x
c3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDEnLCAncGF0aCcpIik7Ci0KLSAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGlvbjEudmVyc2lvbiIsICIxIik7Ci0gICAgICAg
ICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMSIp
OwotICAgICAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24xc3RvcmUxLmluZGV4TmFtZXMubGVu
Z3RoIiwgIjEiKTsKLQotICAgICAgICAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9y
dENhbGxiYWNrOwotICAgICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZ1bmN0aW9uKCkgewot
ICAgICAgICAgICAgICAgIGRlYnVnKCJDb25uZWN0aW9uJ3MgcHJvcGVydGllcyBzaG91bGQgYmUg
c25hcHNob3R0ZWQgb24gY2xvc2UiKTsKLSAgICAgICAgICAgICAgICBldmFsQW5kTG9nKCJjb25u
ZWN0aW9uMS5jbG9zZSgpIik7Ci0gICAgICAgICAgICAgICAgc2Vjb25kT3BlbigpOwotICAgICAg
ICAgICAgfTsKLSAgICAgICAgfTsKLSAgICB9OworICAgIGRlYnVnKCJDb25uZWN0aW9uJ3MgcHJv
cGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKKyAgICBldmFsQW5kTG9n
KCJjb25uZWN0aW9uMS5jbG9zZSgpIik7CisgICAgc2Vjb25kT3BlbigpOwogfQogCiBmdW5jdGlv
biBzZWNvbmRPcGVuKCkKIHsKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoInNlY29uZE9wZW4o
KToiKTsKLSAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIp
OworICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBpbmRleGVkREIub3BlbihkYm5hbWUsIDIpIik7
CiAgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Ci0gICAgcmVx
dWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICByZXF1ZXN0Lm9uYmxvY2tlZCA9IHVu
ZXhwZWN0ZWRCbG9ja2VkQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBm
dW5jdGlvbigpIHsKICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjIgPSByZXF1ZXN0LnJl
c3VsdCIpOwotICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlvbjIuc2V0VmVy
c2lvbignMicpIik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwotICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgZXZhbEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAg
ZXZhbEFuZExvZygiY29ubmVjdGlvbjIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMicpIik7Ci0g
ICAgICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMnN0b3JlMSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZTEnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjJzdG9y
ZTEuY3JlYXRlSW5kZXgoJ2luZGV4MicsICdwYXRoJykiKTsKLQotICAgICAgICAgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCJjb25uZWN0aW9uMi52ZXJzaW9uIiwgIjIiKTsKLSAgICAgICAgICAg
IHNob3VsZEJlKCJjb25uZWN0aW9uMi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7Ci0g
ICAgICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjJzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgi
LCAiMiIpOwotCi0gICAgICAgICAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2Fs
bGJhY2s7Ci0gICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gZnVuY3Rpb24oKSB7Ci0gICAg
ICAgICAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFw
c2hvdHRlZCBvbiBjbG9zZSIpOwotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rp
b24yLmNsb3NlKCkiKTsKLSAgICAgICAgICAgICAgICB0aGlyZE9wZW4oKTsKLSAgICAgICAgICAg
IH07Ci0gICAgICAgIH07CisgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gcmVxdWVzdC50cmFu
c2FjdGlvbiIpOworICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmUyJykiKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjJzdG9yZTEg
PSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29u
bmVjdGlvbjJzdG9yZTEuY3JlYXRlSW5kZXgoJ2luZGV4MicsICdwYXRoJykiKTsKKworICAgICAg
ICBzaG91bGRCZSgiY29ubmVjdGlvbjIudmVyc2lvbiIsICIyIik7CisgICAgICAgIHNob3VsZEJl
KCJjb25uZWN0aW9uMi5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7CisgICAgICAgIHNo
b3VsZEJlKCJjb25uZWN0aW9uMnN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIyIik7CisgICAg
fTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBkZWJ1Zygi
Q29ubmVjdGlvbidzIHByb3BlcnRpZXMgc2hvdWxkIGJlIHNuYXBzaG90dGVkIG9uIGNsb3NlIik7
CisgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24yLmNsb3NlKCkiKTsKKyAgICAgICAgdGhp
cmRPcGVuKCk7CiAgICAgfTsKIH0KIApAQCAtNzcsNjEgKzUzLDUxIEBAIGZ1bmN0aW9uIHRoaXJk
T3BlbigpCiB7CiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJ0aGlyZE9wZW4oKToiKTsKLSAg
ICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4oZGJuYW1lKSIpOwotICAgIHJl
cXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwotICAgIHJlcXVlc3Qub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4ZWRE
Qi5vcGVuKGRibmFtZSwgMykiKTsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IHVuZXhwZWN0ZWRT
dWNjZXNzQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSBmdW5jdGlvbigp
IHsKICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjMgPSByZXF1ZXN0LnJlc3VsdCIpOwot
ICAgICAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gY29ubmVjdGlvbjMuc2V0VmVyc2lvbignMycp
Iik7Ci0gICAgICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwot
ICAgICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgZXZh
bEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnJlc3VsdCIpOwotICAgICAgICAgICAgZXZhbEFuZExv
ZygiY29ubmVjdGlvbjMuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlMycpIik7Ci0gICAgICAgICAg
ICBldmFsQW5kTG9nKCJjb25uZWN0aW9uM3N0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9y
ZTEnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjNzdG9yZTEuY3JlYXRl
SW5kZXgoJ2luZGV4MycsICdwYXRoJykiKTsKLQotICAgICAgICAgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJjb25uZWN0aW9uMy52ZXJzaW9uIiwgIjMiKTsKLSAgICAgICAgICAgIHNob3VsZEJl
KCJjb25uZWN0aW9uMy5vYmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIzIik7Ci0gICAgICAgICAg
ICBzaG91bGRCZSgiY29ubmVjdGlvbjNzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgiLCAiMyIpOwot
Ci0gICAgICAgICAgICB0cmFucy5vbmNvbXBsZXRlID0gdW5leHBlY3RlZENvbXBsZXRlQ2FsbGJh
Y2s7Ci0gICAgICAgICAgICB0cmFucy5vbmFib3J0ID0gZnVuY3Rpb24oKSB7Ci0gICAgICAgICAg
ICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFwc2hvdHRl
ZCBvbiBjbG9zZSIpOwotICAgICAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24zLmNs
b3NlKCkiKTsKLSAgICAgICAgICAgICAgICBmb3VydGhPcGVuKCk7Ci0gICAgICAgICAgICB9Owot
ICAgICAgICAgICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSByZXZl
cnRlZCBvbiBhYm9ydCIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygidHJhbnMuYWJvcnQoKSIp
OwotICAgICAgICB9OworICAgICAgICBldmFsQW5kTG9nKCJ0cmFucyA9IHJlcXVlc3QudHJhbnNh
Y3Rpb24iKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbjMuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3N0b3JlMycpIik7CisgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb24zc3RvcmUxID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlMScpIik7CisgICAgICAgIGV2YWxBbmRMb2coImNvbm5l
Y3Rpb24zc3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDMnLCAncGF0aCcpIik7CisKKyAgICAgICAg
c2hvdWxkQmUoImNvbm5lY3Rpb24zLnZlcnNpb24iLCAiMyIpOworICAgICAgICBzaG91bGRCZSgi
Y29ubmVjdGlvbjMub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOworICAgICAgICBzaG91
bGRCZSgiY29ubmVjdGlvbjNzdG9yZTEuaW5kZXhOYW1lcy5sZW5ndGgiLCAiMyIpOworCisgICAg
ICAgIHRyYW5zLm9uY29tcGxldGUgPSB1bmV4cGVjdGVkQ29tcGxldGVDYWxsYmFjazsKKyAgICAg
ICAgZGVidWcoIkNvbm5lY3Rpb24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSByZXZlcnRlZCBvbiBh
Ym9ydCIpOworICAgICAgICBldmFsQW5kTG9nKCJ0cmFucy5hYm9ydCgpIik7CiAgICAgfTsKKyAg
ICByZXF1ZXN0Lm9uZXJyb3IgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZGVidWcoIkNvbm5lY3Rp
b24ncyBwcm9wZXJ0aWVzIHNob3VsZCBiZSBzbmFwc2hvdHRlZCBvbiBjbG9zZSIpOworICAgICAg
ICBldmFsQW5kTG9nKCJjb25uZWN0aW9uMy5jbG9zZSgpIik7CisgICAgICAgIGZvdXJ0aE9wZW4o
KTsKKyAgICB9CiB9CiAKIGZ1bmN0aW9uIGZvdXJ0aE9wZW4oKQogewogICAgIGRlYnVnKCIiKTsK
ICAgICBkZWJ1ZygiZm91cnRoT3BlbigpOiIpOwotICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBp
bmRleGVkREIub3BlbihkYm5hbWUpIik7CisgICAgZXZhbEFuZExvZygicmVxdWVzdCA9IGluZGV4
ZWREQi5vcGVuKGRibmFtZSwgNCkiKTsKICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKLSAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAg
IHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gZnVuY3Rpb24oKSB7CiAgICAgICAgIGV2YWxBbmRM
b2coImNvbm5lY3Rpb240ID0gcmVxdWVzdC5yZXN1bHQiKTsKLSAgICAgICAgZXZhbEFuZExvZygi
cmVxdWVzdCA9IGNvbm5lY3Rpb240LnNldFZlcnNpb24oJzQnKSIpOwotICAgICAgICByZXF1ZXN0
Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKLSAgICAgICAgcmVxdWVzdC5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coInRyYW5zID0gcmVx
dWVzdC5yZXN1bHQiKTsKLSAgICAgICAgICAgIGV2YWxBbmRMb2coImNvbm5lY3Rpb240LmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZTQnKSIpOwotICAgICAgICAgICAgZXZhbEFuZExvZygiY29ubmVj
dGlvbjRzdG9yZTEgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUxJykiKTsKLSAgICAgICAgICAg
IGV2YWxBbmRMb2coImNvbm5lY3Rpb240c3RvcmUxLmNyZWF0ZUluZGV4KCdpbmRleDQnLCAncGF0
aCcpIik7Ci0KLSAgICAgICAgICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygiY29ubmVjdGlvbjQu
dmVyc2lvbiIsICI0Iik7Ci0gICAgICAgICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjQub2JqZWN0
U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOwotICAgICAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rp
b240c3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIiwgIjMiKTsKLQotICAgICAgICAgICAgdHJhbnMu
b25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOwotICAgICAgICAgICAgdHJhbnMub25j
b21wbGV0ZSA9IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgIGRlYnVnKCJDb25uZWN0aW9u
J3MgcHJvcGVydGllcyBzaG91bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKLSAgICAgICAg
ICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uNC5jbG9zZSgpIik7Ci0gICAgICAgICAgICAg
ICAgY2hlY2tTdGF0ZSgpOwotICAgICAgICAgICAgfTsKLSAgICAgICAgfTsKKyAgICAgICAgZXZh
bEFuZExvZygidHJhbnMgPSByZXF1ZXN0LnRyYW5zYWN0aW9uIik7CisgICAgICAgIGV2YWxBbmRM
b2coImNvbm5lY3Rpb240LmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZTQnKSIpOworICAgICAgICBl
dmFsQW5kTG9nKCJjb25uZWN0aW9uNHN0b3JlMSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZTEn
KSIpOworICAgICAgICBldmFsQW5kTG9nKCJjb25uZWN0aW9uNHN0b3JlMS5jcmVhdGVJbmRleCgn
aW5kZXg0JywgJ3BhdGgnKSIpOworCisgICAgICAgIHNob3VsZEJlKCJjb25uZWN0aW9uNC52ZXJz
aW9uIiwgIjQiKTsKKyAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb240Lm9iamVjdFN0b3JlTmFt
ZXMubGVuZ3RoIiwgIjMiKTsKKyAgICAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb240c3RvcmUxLmlu
ZGV4TmFtZXMubGVuZ3RoIiwgIjMiKTsKKyAgICB9OworICAgIHJlcXVlc3Qub25zdWNjZXNzID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgIGRlYnVnKCJDb25uZWN0aW9uJ3MgcHJvcGVydGllcyBzaG91
bGQgYmUgc25hcHNob3R0ZWQgb24gY2xvc2UiKTsKKyAgICAgICAgZXZhbEFuZExvZygiY29ubmVj
dGlvbjQuY2xvc2UoKSIpOworICAgICAgICBjaGVja1N0YXRlKCk7CiAgICAgfTsKIH0KIApAQCAt
MTQwLDI3ICsxMDYsMjUgQEAgZnVuY3Rpb24gY2hlY2tTdGF0ZSgpCiAgICAgZGVidWcoIiIpOwog
ICAgIGRlYnVnKCJjaGVja1N0YXRlKCk6Iik7CiAKLSAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImNvbm5lY3Rpb24xLnZlcnNpb24iLCAiMSIpOworICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMS52
ZXJzaW9uIiwgIjEiKTsKICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjEub2JqZWN0U3RvcmVOYW1l
cy5sZW5ndGgiLCAiMSIpOwogICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMXN0b3JlMS5pbmRleE5h
bWVzLmxlbmd0aCIsICIxIik7CiAgICAgZGVidWcoIiIpOwogCi0gICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJjb25uZWN0aW9uMi52ZXJzaW9uIiwgIjIiKTsKKyAgICBzaG91bGRCZSgiY29ubmVj
dGlvbjIudmVyc2lvbiIsICIyIik7CiAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24yLm9iamVjdFN0
b3JlTmFtZXMubGVuZ3RoIiwgIjIiKTsKICAgICBzaG91bGRCZSgiY29ubmVjdGlvbjJzdG9yZTEu
aW5kZXhOYW1lcy5sZW5ndGgiLCAiMiIpOwogICAgIGRlYnVnKCIiKTsKIAotICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygiY29ubmVjdGlvbjMudmVyc2lvbiIsICIyIik7CisgICAgc2hvdWxkQmUo
ImNvbm5lY3Rpb24zLnZlcnNpb24iLCAiMiIpOwogICAgIHNob3VsZEJlKCJjb25uZWN0aW9uMy5v
YmplY3RTdG9yZU5hbWVzLmxlbmd0aCIsICIyIik7CiAgICAgc2hvdWxkQmUoImNvbm5lY3Rpb24z
c3RvcmUxLmluZGV4TmFtZXMubGVuZ3RoIiwgIjIiKTsKICAgICBkZWJ1ZygiIik7CiAKLSAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImNvbm5lY3Rpb240LnZlcnNpb24iLCAiNCIpOworICAgIHNo
b3VsZEJlKCJjb25uZWN0aW9uNC52ZXJzaW9uIiwgIjQiKTsKICAgICBzaG91bGRCZSgiY29ubmVj
dGlvbjQub2JqZWN0U3RvcmVOYW1lcy5sZW5ndGgiLCAiMyIpOwogICAgIHNob3VsZEJlKCJjb25u
ZWN0aW9uNHN0b3JlMS5pbmRleE5hbWVzLmxlbmd0aCIsICIzIik7CiAgICAgZGVidWcoIiIpOwog
CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9Ci0KLXRlc3QoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>