Bug#1143581: trixie-pu: package calibre/8.5.0+ds-1+deb13u4

yokota <[email protected]> Thu, 6 Aug 2026 02:31:09 +0900
Newsgroups gmane.linux.debian.devel.release
Message-ID <CA+0c0dUF+qEqCb5cOBugUXzA=v4=yrNN3Yt+wjmG=O2kK5CGzw__31874.8266248562$1785951230$gmane$org@mail.gmail.com>
--000000000000d24aef06585023e7
Content-Type: text/plain; charset="UTF-8"

Hello,

> [ Risks ]
> I don't have ePub file with obfuscated fonts.
> So I can't test specific file conversions.

I was taken ePub file with obfuscated fonts from
https://idpf.github.io/epub3-samples/30/samples.html .
And add autopkgtest for this issue.

You can examine from online:
https://github.com/debian-calibre/calibre/compare/debian/8.5.0+ds-1+deb13u3...debian/trixie

--
YOKOTA Hiroshi

--000000000000d24aef06585023e7
Content-Type: application/octet-stream; 
	name="calibre_8.5.0+ds-1+deb13u4-1.debdiff"
Content-Disposition: attachment; 
	filename="calibre_8.5.0+ds-1+deb13u4-1.debdiff"
Content-Transfer-Encoding: base64
Content-ID: <f_msgd2io90>
X-Attachment-Id: f_msgd2io90

ZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NoYW5nZWxvZyBjYWxpYnJlLTguNS4w
K2RzL2RlYmlhbi9jaGFuZ2Vsb2cKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NoYW5nZWxv
ZwkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtk
cy9kZWJpYW4vY2hhbmdlbG9nCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBA
IC0xLDMgKzEsMTkgQEAKK2NhbGlicmUgKDguNS4wK2RzLTErZGViMTN1NCkgdHJpeGllOyB1cmdl
bmN5PW1lZGl1bQorCisgICogVGhpcyB1cGRhdGUgYWRkcyBmaXh1cCBmb3IgQ1ZFLTIwMjYtMjU2
MzYgcGF0Y2ggaW4gOC41LjArZHMtMStkZWIxM3UyCisKKyAgKiBTZXQgZGVmYXVsdCBEZWJpYW4g
YnJhbmNoIG5hbWUgZm9yIHRyaXhpZQorICAqIFVzZSBzYWxzYSBDSQorICAqIERpc2FibGUgdXNj
YW4gdGVzdC4KKyAgICBJdCBhbHdheXMgZmFpbCBiZWNhdXNlIHRoZSB1cHN0cmVhbSBjb2RlIGlz
IG5vdCBsYXRlc3Qgb25lLgorICAqIEFkZCB0ZXN0IGZvciByZXByb2R1Y2UgRGViaWFuIGJ1ZyAx
MTQzNDg0CisgICogQ1ZFLTIwMjYtMjU2MzYgKDEvMik6IEVQVUIgSW5wdXQ6IEVuc3VyZSBmb250
IG9iZnVzY2F0aW9uIHByb2Nlc3NpbmcKKyAgICBoYXBwZW5zIG9ubHkgb24gZmlsZXMgZnJvbSB0
aGUgRVBVQiAoQ2xvc2VzOiAjMTE0MzQ4NCkKKyAgKiBSZW5hbWUgYSBDVkUtMjAyNi0yNTYzNiBw
YXRjaCBpbiA4LjUuMCtkcy0xK2RlYjEzdTIKKyAgKiBSZW51bWJlciBwYXRjaGVzCisKKyAtLSBZ
T0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPiAgV2VkLCAwNSBBdWcgMjAyNiAy
Mzo1NDozOSArMDkwMAorCiBjYWxpYnJlICg4LjUuMCtkcy0xK2RlYjEzdTMpIHRyaXhpZTsgdXJn
ZW5jeT1tZWRpdW0KIAogICAqIEZpeCBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgYW5kIGNvZGUg
cXVhbGl0eSBpc3N1ZXMgKENsb3NlczogIzExMzU1NDMpCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4w
K2RzL2RlYmlhbi9jb3B5cmlnaHQgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vY29weXJpZ2h0Ci0t
LSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9jb3B5cmlnaHQJMjAyNi0wNS0yNSAwODoxOTo1My4w
MDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL2NvcHlyaWdodAkyMDI2
LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtOTMsNiArOTMsMTggQEAKICAgICAg
ICAgICAgQ29weXJpZ2h0IChDKSAyMDA4LCBSb3NldHRhIENvbnRyaWJ1dG9ycyBhbmQgQ2Fub25p
Y2FsIEx0ZC4KIExpY2Vuc2U6IEdQTC0zCiAKK0ZpbGVzOiBkZWJpYW4vKgorQ29weXJpZ2h0OiBZ
T0tPVEEgSGlyb3NoaSwgTWFydGluIFBpdHQsIE5pY2hvbGFzIEQgU3RlZXZlcworTGljZW5zZTog
R1BMLTMKKworRmlsZXM6IGRlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2ZmLW9iZi5lcHVi
CitDb3B5cmlnaHQ6IEVQVUIgMyBDb21tdW5pdHkgR3JvdXAKK0xpY2Vuc2U6IENDLUJZLVNBLTMu
MAorQ29tbWVudDogaW5wdXQgZmlsZSB3YXMgdGFrZW4gZnJvbSBFUFVCIDMgU2FtcGxlcworICBo
dHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1wbGVzL3JlbGVhc2VzL2Rvd25sb2FkLzIw
MjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisgIGh0dHBzOi8vaWRwZi5naXRodWIuaW8v
ZXB1YjMtc2FtcGxlcy8zMC9zYW1wbGVzLmh0bWwKKyAgaHR0cHM6Ly9naXRodWIuY29tL0lEUEYv
ZXB1YjMtc2FtcGxlcy8KKwogCiBMaWNlbnNlOiBBcGFjaGUtMi4wCiAgVGhlIGZ1bGwgdGV4dCBv
ZiB0aGUgR1BMIGlzIGRpc3RyaWJ1dGVkIGFzIGluCkBAIC0xMTgsNiArMTMwLDEwIEBACiAgVGhl
IGZ1bGwgdGV4dCBvZiB0aGUgTEdQTCBpcyBkaXN0cmlidXRlZCBhcyBpbgogIC91c3Ivc2hhcmUv
Y29tbW9uLWxpY2Vuc2VzL0xHUEwtMi4xIG9uIERlYmlhbiBzeXN0ZW1zLgogCitMaWNlbnNlOiBD
Qy1CWS1TQS0zLjAKKyBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBDQy1CWS1TQS0zLjAgaXMgZGlzdHJp
YnV0ZWQgYXMgaW4KKyAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNlcy9DQy1CWS1TQS0zLjAgb24g
RGViaWFuIHN5c3RlbXMuCisKIExpY2Vuc2U6IEJTRC0zLUNsYXVzZQogIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgLgpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vZ2JwLmNvbmYgY2Fs
aWJyZS04LjUuMCtkcy9kZWJpYW4vZ2JwLmNvbmYKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFu
L2dicC5jb25mCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJl
LTguNS4wK2RzL2RlYmlhbi9nYnAuY29uZgkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr
MDkwMApAQCAtMSw1ICsxLDYgQEAKIFtERUZBVUxUXQogcHJpc3RpbmUtdGFyID0gVHJ1ZQorZGVi
aWFuLWJyYW5jaCA9IGRlYmlhbi90cml4aWUKIAogW2RjaF0KIGZ1bGwgPSBUcnVlCmRpZmYgLU5y
dSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBjYWxpYnJlLTguNS4wK2Rz
L2RlYmlhbi9wYXRjaGVzL3NlcmllcwotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hl
cy9zZXJpZXMJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUt
OC41LjArZHMvZGViaWFuL3BhdGNoZXMvc2VyaWVzCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAw
MDAwICswOTAwCkBAIC04MSwxNCArODEsMTUgQEAKIDAwODEtUmV2ZXJ0LVVwZGF0ZS03emlwLXdy
YXBwZXItY29kZS1mb3ItcmVtb3ZhbC1vZi1yZWFkLS5wYXRjaAogdXBzdHJlYW0vMDA4Mi1GaXgt
Q1ZFLTIwMjUtNjQ0ODYucGF0Y2gKIHVwc3RyZWFtLzAwODMtQ1ZFLTIwMjYtMjU2MzUtQ0hNLUlu
cHV0LUlnbm9yZS1pbnRlcm5hbC1maWxlcy10aGF0LS5wYXRjaAotdXBzdHJlYW0vMDA4NC1DVkUt
MjAyNi0yNTYzNi1EUlllci5wYXRjaAotdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTczMS1aSVAt
T3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCi11cHN0cmVhbS8wMDg2LUNW
RS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gK
LXVwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQt
aW1hZ2VzLWFyZS5wYXRjaAotdXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNl
cnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCi11cHN0cmVhbS8wMDg5LUNWRS0yMDI2
LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKLXVwc3Ry
ZWFtLzAwOTAtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlz
c3Vlcy5wYXRjaAotdXBzdHJlYW0vMDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUt
ZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCi11cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMzMjA1
LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKLXVwc3RyZWFtLzAw
OTMtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5w
YXRjaAotdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291
cmNlLWZpbGVzLWFyZS1yLnBhdGNoCit1cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LTEtMi1F
UFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gKK3Vwc3RyZWFtLzAwODUtQ1ZF
LTIwMjYtMjU2MzYtMi0yLURSWWVyLnBhdGNoCit1cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMx
LVpJUC1PdXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gKK3Vwc3RyZWFtLzAw
ODctQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5w
YXRjaAordXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJh
Y3RlZC1pbWFnZXMtYXJlLnBhdGNoCit1cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRl
bnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlzcG8ucGF0Y2gKK3Vwc3RyZWFtLzAwOTAtQ1ZF
LTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaAor
dXBzdHJlYW0vMDA5MS1GaXgtc2VjdXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxp
dHktaXNzdWVzLnBhdGNoCit1cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVu
c3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKK3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYt
MzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaAordXBzdHJl
YW0vMDA5NC1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdlci1EaXNhbGxvdy1iYWNrZ3Jv
dW5kLnBhdGNoCit1cHN0cmVhbS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUt
cmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGVi
aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1F
bnN1cmUtZm9udC1vYmZ1c2NhdGlvLnBhdGNoIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNo
ZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1FbnN1cmUtZm9u
dC1vYmZ1c2NhdGlvLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vw
c3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtMS0yLUVQVUItSW5wdXQtRW5zdXJlLWZvbnQtb2Jm
dXNjYXRpby5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2Fs
aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2
LTEtMi1FUFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gJMjAyNi0wOC0wNSAy
Mzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw2MyBAQAorRnJvbTogS292aWQgR295
YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogTW9uLCAyIEZlYiAyMDI2IDA5OjUxOjE4
ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0yNTYzNiAoMS8yKTogRVBVQiBJbnB1dDogRW5zdXJl
IGZvbnQgb2JmdXNjYXRpb24gcHJvY2Vzc2luZworIGhhcHBlbnMgb25seSBvbiBmaWxlcyBmcm9t
IHRoZSBFUFVCCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dpdGh1Yi5j
b20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUt
aG0yOQorT3JpZ2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs
aWJyZS9jb21taXQvMjY3YmZkMzQwMjBhNGYyOTdjMmRlOWNjMGNkZTUwZWJlNWQwMjRkNAorQnVn
LURlYmlhbjogaHR0cHM6Ly9idWdzLmRlYmlhbi5vcmcvY2dpLWJpbi9idWdyZXBvcnQuY2dpP2J1
Zz0xMTQzNDg0CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBn
bWFpbC5jb20+CistLS0KKyBzcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2Vw
dWJfaW5wdXQucHkgfCAgNCArKystCisgc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5ICAg
ICAgICAgICAgICAgICAgICAgIHwgMTQgKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs
IDE3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxp
YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weSBiL3NyYy9jYWxpYnJl
L2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weQoraW5kZXggMjUwNTE2OS4u
ZjYyZmVkMSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdp
bnMvZXB1Yl9pbnB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1
Z2lucy9lcHViX2lucHV0LnB5CitAQCAtNDQsNiArNDQsOCBAQCBjbGFzcyBFUFVCSW5wdXQoSW5w
dXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgaW1wb3J0IHV1aWQKKyAKKyAgICAgICAgIGZyb20g
bHhtbCBpbXBvcnQgZXRyZWUKKysKKysgICAgICAgIGZyb20gY2FsaWJyZS51dGlscy5maWxlbmFt
ZXMgaW1wb3J0IGlzX2V4aXN0aW5nX3N1YnBhdGgKKyAgICAgICAgIGlkcGZfa2V5ID0gb3BmLnJh
d191bmlxdWVfaWRlbnRpZmllcgorICAgICAgICAgaWYgaWRwZl9rZXk6CisgICAgICAgICAgICAg
aWRwZl9rZXkgPSByZS5zdWIocidbIFx0XHJcbl0nLCAnJywgaWRwZl9rZXkpCitAQCAtNzQsNyAr
NzYsNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAg
ICAgICB1cmkgPSBjci5nZXQoJ1VSSScpCisgICAgICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRo
LmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShlbmNmaWxlKSwgJy4uJywgKnVy
aS5zcGxpdCgnLycpKSkKKyAgICAgICAgICAgICAgICAgdGtleSA9IChrZXkgaWYgYWxnb3JpdGht
ID09IEFET0JFX09CRlVTQ0FUSU9OIGVsc2UgaWRwZl9rZXkpCistICAgICAgICAgICAgICAgIGlm
ICh0a2V5IGFuZCBvcy5wYXRoLmV4aXN0cyhwYXRoKSk6CisrICAgICAgICAgICAgICAgIGlmICh0
a2V5IGFuZCBpc19leGlzdGluZ19zdWJwYXRoKHBhdGgsIG9zLmdldGN3ZCgpKSk6CisgICAgICAg
ICAgICAgICAgICAgICBzZWxmLl9lbmNyeXB0ZWRfZm9udF91cmlzLmFwcGVuZCh1cmkpCisgICAg
ICAgICAgICAgICAgICAgICBkZWNyeXB0X2ZvbnQodGtleSwgcGF0aCwgYWxnb3JpdGhtKQorICAg
ICAgICAgICAgIHJldHVybiBUcnVlCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvdXRpbHMvZmls
ZW5hbWVzLnB5IGIvc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5CitpbmRleCA1MTgyZjc1
Li4xY2IwN2Y0IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvdXRpbHMvZmlsZW5hbWVzLnB5Cisr
KysgYi9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKK0BAIC02NDQsNiArNjQ0LDIwIEBA
IGRlZiBjb3B5dHJlZV91c2luZ19saW5rcyhwYXRoLCBkZXN0LCBkZXN0X2lzX3BhcmVudD1UcnVl
LCBmaWxlY29weWZ1bmM9Y29weWZpbGUpCisgICAgICAgICAgICAgICAgIGZpbGVjb3B5ZnVuYyhz
cmMsIGRmKQorIAorIAorK2RlZiBpc19leGlzdGluZ19zdWJwYXRoKGNoaWxkOiBzdHIsIHBhcmVu
dDogc3RyKSAtPiBib29sOgorKyAgICAnIENoZWNrIGlmIGNoaWxkIGlzIHVuZGVyIHBhcmVudC4g
SWYgZWl0aGVyIGNoaWxkIG9yIHBhcmVudCBkb250IGV4aXN0LCByZXR1cm5zIEZhbHNlLiAnCisr
ICAgIHRyeToKKysgICAgICAgIHBhcmVudCA9IG9zLnBhdGgucmVhbHBhdGgocGFyZW50LCBzdHJp
Y3Q9VHJ1ZSkgICMgcmVzb2x2ZSBzeW1saW5rcworKyAgICAgICAgY2hpbGQgPSBvcy5wYXRoLnJl
YWxwYXRoKGNoaWxkLCBzdHJpY3Q9VHJ1ZSkKKysgICAgZXhjZXB0IE9TRXJyb3I6CisrICAgICAg
ICByZXR1cm4gRmFsc2UKKysgICAgcGFyZW50ID0gb3MucGF0aC5hYnNwYXRoKHBhcmVudCkKKysg
ICAgY2hpbGQgPSBvcy5wYXRoLmFic3BhdGgoY2hpbGQpCisrICAgIGlmIG5vdCBwYXJlbnQuZW5k
c3dpdGgob3Muc2VwKToKKysgICAgICAgIHBhcmVudCArPSBvcy5zZXAKKysgICAgcmV0dXJuIGNo
aWxkLnN0YXJ0c3dpdGgocGFyZW50KQorKworKworIHJtdHJlZSA9IHNodXRpbC5ybXRyZWUKKyAK
KyAKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4
NC1DVkUtMjAyNi0yNTYzNi1EUlllci5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKLS0tIGNhbGlicmUt
OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi1EUlll
ci5wYXRjaAkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04
LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LURSWWVy
LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM3ICswLDAg
QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwg
MiBGZWIgMjAyNiAxMToyNTowOSArMDUzMAotU3ViamVjdDogQ1ZFLTIwMjYtMjU2MzY6IERSWWVy
Ci0KLUZvcndhcmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRn
b3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUtaG0yOQotT3Jp
Z2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21t
aXQvOTQ4NGVhODJjNmFiMjI2YzE4ZTZjYTVhYTAwMGZhMTZkZTU5ODcyNgotCi1TaWduZWQtb2Zm
LWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2Nh
bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5IHwgNiArKysrLS0K
LSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm
IC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0
LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5
Ci1pbmRleCAyNTA1MTY5Li5lZGZlYmVlIDEwMDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tz
L2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9lYm9v
a3MvY29udmVyc2lvbi9wbHVnaW5zL2VwdWJfaW5wdXQucHkKLUBAIC02NiwxNSArNjYsMTcgQEAg
Y2xhc3MgRVBVQklucHV0KElucHV0Rm9ybWF0UGx1Z2luKToKLSAKLSAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgICByb290ID0gZXRyZWUucGFyc2UoZW5jZmlsZSkKLSsgICAgICAgICAgICBiYXNl
ID0gb3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpCi0rICAgICAgICAgICAgY29udGFpbmVyX2Jhc2Ug
PSBvcy5wYXRoLmRpcm5hbWUoYmFzZSkKLSAgICAgICAgICAgICBmb3IgZW0gaW4gcm9vdC54cGF0
aCgnZGVzY2VuZGFudDo6Kltjb250YWlucyhuYW1lKCksICJFbmNyeXB0aW9uTWV0aG9kIildJyk6
Ci0gICAgICAgICAgICAgICAgIGFsZ29yaXRobSA9IGVtLmdldCgnQWxnb3JpdGhtJywgJycpCi0g
ICAgICAgICAgICAgICAgIGlmIGFsZ29yaXRobSBub3QgaW4ge0FET0JFX09CRlVTQ0FUSU9OLCBJ
RFBGX09CRlVTQ0FUSU9OfToKLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotICAg
ICAgICAgICAgICAgICBjciA9IGVtLmdldHBhcmVudCgpLnhwYXRoKCdkZXNjZW5kYW50OjoqW2Nv
bnRhaW5zKG5hbWUoKSwgIkNpcGhlclJlZmVyZW5jZSIpXScpWzBdCi0gICAgICAgICAgICAgICAg
IHVyaSA9IGNyLmdldCgnVVJJJykKLS0gICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpLCAnLi4nLCAqdXJpLnNw
bGl0KCcvJykpKQotKyAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBh
dGguam9pbihiYXNlLCAnLi4nLCAqdXJpLnNwbGl0KCcvJykpKQotICAgICAgICAgICAgICAgICB0
a2V5ID0gKGtleSBpZiBhbGdvcml0aG0gPT0gQURPQkVfT0JGVVNDQVRJT04gZWxzZSBpZHBmX2tl
eSkKLS0gICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5kIG9zLnBhdGguZXhpc3RzKHBhdGgpKToK
LSsgICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5kIGlzX2V4aXN0aW5nX3N1YnBhdGgocGF0aCwg
Y29udGFpbmVyX2Jhc2UpKToKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYuX2VuY3J5cHRlZF9m
b250X3VyaXMuYXBwZW5kKHVyaSkKLSAgICAgICAgICAgICAgICAgICAgIGRlY3J5cHRfZm9udCh0
a2V5LCBwYXRoLCBhbGdvcml0aG0pCi0gICAgICAgICAgICAgcmV0dXJuIFRydWUKZGlmZiAtTnJ1
IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0y
NTYzNi0yLTItRFJZZXIucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0
cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1EUlllci5wYXRjaAotLS0gY2FsaWJyZS04LjUu
MCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1EUlll
ci5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04
LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1E
Ulllci5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsx
LDM3IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRlOiBN
b24sIDIgRmViIDIwMjYgMTE6MjU6MDkgKzA1MzAKK1N1YmplY3Q6IENWRS0yMDI2LTI1NjM2ICgy
LzIpOiBEUlllcgorCitGb3J3YXJkZWQ6IG5vdC1uZWVkZWQKK0J1ZzogaHR0cHM6Ly9naXRodWIu
Y29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtOHIyNi1tN2o1
LWhtMjkKK09yaWdpbjogYmFja3BvcnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2Nh
bGlicmUvY29tbWl0Lzk0ODRlYTgyYzZhYjIyNmMxOGU2Y2E1YWEwMDBmYTE2ZGU1OTg3MjYKKwor
U2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0t
LQorIHNyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weSB8
IDYgKysrKy0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo
LSkKKworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMv
ZXB1Yl9pbnB1dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1
Yl9pbnB1dC5weQoraW5kZXggZjYyZmVkMS4uNmI4MTk0OSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxp
YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5weQorKysrIGIvc3JjL2Nh
bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5CitAQCAtNjgsMTUg
KzY4LDE3IEBAIGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1hdFBsdWdpbik6CisgCisgICAgICAg
ICB0cnk6CisgICAgICAgICAgICAgcm9vdCA9IGV0cmVlLnBhcnNlKGVuY2ZpbGUpCisrICAgICAg
ICAgICAgYmFzZSA9IG9zLnBhdGguZGlybmFtZShlbmNmaWxlKQorKyAgICAgICAgICAgIGNvbnRh
aW5lcl9iYXNlID0gb3MucGF0aC5kaXJuYW1lKGJhc2UpCisgICAgICAgICAgICAgZm9yIGVtIGlu
IHJvb3QueHBhdGgoJ2Rlc2NlbmRhbnQ6OipbY29udGFpbnMobmFtZSgpLCAiRW5jcnlwdGlvbk1l
dGhvZCIpXScpOgorICAgICAgICAgICAgICAgICBhbGdvcml0aG0gPSBlbS5nZXQoJ0FsZ29yaXRo
bScsICcnKQorICAgICAgICAgICAgICAgICBpZiBhbGdvcml0aG0gbm90IGluIHtBRE9CRV9PQkZV
U0NBVElPTiwgSURQRl9PQkZVU0NBVElPTn06CisgICAgICAgICAgICAgICAgICAgICByZXR1cm4g
RmFsc2UKKyAgICAgICAgICAgICAgICAgY3IgPSBlbS5nZXRwYXJlbnQoKS54cGF0aCgnZGVzY2Vu
ZGFudDo6Kltjb250YWlucyhuYW1lKCksICJDaXBoZXJSZWZlcmVuY2UiKV0nKVswXQorICAgICAg
ICAgICAgICAgICB1cmkgPSBjci5nZXQoJ1VSSScpCistICAgICAgICAgICAgICAgIHBhdGggPSBv
cy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShlbmNmaWxlKSwgJy4u
JywgKnVyaS5zcGxpdCgnLycpKSkKKysgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmpvaW4oYmFzZSwgJy4uJywgKnVyaS5zcGxpdCgnLycpKSkKKyAgICAgICAg
ICAgICAgICAgdGtleSA9IChrZXkgaWYgYWxnb3JpdGhtID09IEFET0JFX09CRlVTQ0FUSU9OIGVs
c2UgaWRwZl9rZXkpCistICAgICAgICAgICAgICAgIGlmICh0a2V5IGFuZCBpc19leGlzdGluZ19z
dWJwYXRoKHBhdGgsIG9zLmdldGN3ZCgpKSk6CisrICAgICAgICAgICAgICAgIGlmICh0a2V5IGFu
ZCBpc19leGlzdGluZ19zdWJwYXRoKHBhdGgsIGNvbnRhaW5lcl9iYXNlKSk6CisgICAgICAgICAg
ICAgICAgICAgICBzZWxmLl9lbmNyeXB0ZWRfZm9udF91cmlzLmFwcGVuZCh1cmkpCisgICAgICAg
ICAgICAgICAgICAgICBkZWNyeXB0X2ZvbnQodGtleSwgcGF0aCwgYWxnb3JpdGhtKQorICAgICAg
ICAgICAgIHJldHVybiBUcnVlCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRl
bXBsYXRlLWVuZ2luZS5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry
ZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVu
Z2luZS5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8w
MDg1LUNWRS0yMDI2LTI1NzMxLVpJUC1PdXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUu
cGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41
LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTczMS1aSVAtT3V0
cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAu
MDAwMDAwMDAwICswOTAwCkBAIC0xLDU4OCArMCwwIEBACi1Gcm9tOiBLb3ZpZCBHb3lhbCA8a292
aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBUaHUsIDUgRmViIDIwMjYgMTQ6MjE6MjUgKzA1MzAK
LVN1YmplY3Q6IENWRS0yMDI2LTI1NzMxOiBaSVAgT3V0cHV0OiBDaGFuZ2UgdGhlIHRlbXBsYXRl
IGVuZ2luZSB1c2VkIGZvciBIVE1MCi0gdGVtcGxhdGluZyBmcm9tIHRlbXBsaXRlIHRvIE11c3Rh
Y2hlLAotIGZvciBncmVhdGVyIHNhZmV0eSBhbmQgcGVyZm9ybWFuY2UuIE5vdGUgdGhhdCB0aGlz
IGlzIGEgYnJlYWtpbmcgY2hhbmdlIGlmCi0geW91IHVzZSBjdXN0b20gdGVtcGxhdGVzIHdpdGgg
WklQIG91dHB1dC4KLQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhyaDktdzdx
eC0zZ2NjCi1PcmlnaW46IGJhY2twb3J0LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9j
YWxpYnJlL2NvbW1pdC9mMDY0OWIyNzUxMmU5ODdiOTVmY2FiMmUxZTBhM2JjZGFmYzIzMzc5Ci0K
LVNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0t
LS0KLSBDT1BZUklHSFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICA2IC0tCi0gcHlwcm9qZWN0LnRvbWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgNSArLQotIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5tdXN0
YWNoZSAgIHwgNzAgKysrKysrKysrKysrKysrKwotIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9l
eHBvcnRfZGVmYXVsdC50bXBsICAgICAgIHwgNzQgLS0tLS0tLS0tLS0tLS0tLS0KLSAuLi4vdGVt
cGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgubXVzdGFjaGUgICB8IDU1ICsrKysrKysr
KysrKysKLSByZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1w
bCB8IDYxIC0tLS0tLS0tLS0tLS0tCi0gLi4uL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRt
bF9vdXRwdXQucHkgICAgICAgfCA2MSArKysrKysrKy0tLS0tLQotIHNyYy90ZW1wbGl0ZS9fX2lu
aXRfXy5weSAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgOTYgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQotIDggZmlsZXMgY2hhbmdlZCwgMTY0IGluc2VydGlvbnMoKyksIDI2NCBkZWxldGlvbnMo
LSkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9k
ZWZhdWx0Lm11c3RhY2hlCi0gZGVsZXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMv
aHRtbF9leHBvcnRfZGVmYXVsdC50bXBsCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90
ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotIGRlbGV0ZSBtb2Rl
IDEwMDY0NCByZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1w
bAotIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmMvdGVtcGxpdGUvX19pbml0X18ucHkKLQotZGlmZiAt
LWdpdCBhL0NPUFlSSUdIVCBiL0NPUFlSSUdIVAotaW5kZXggYTQ0ZDc1Ni4uMDllMTMwOCAxMDA2
NDQKLS0tLSBhL0NPUFlSSUdIVAotKysrIGIvQ09QWVJJR0hUCi1AQCAtMTIsMTIgKzEyLDYgQEAg
RmlsZXM6IHJlc291cmNlcy9yYXB5ZHNjcmlwdC8qCi0gQ29weXJpZ2h0OiBWYXJpb3VzCi0gTGlj
ZW5zZTogQlNECi0gCi0tRmlsZXM6IHNyYy90ZW1wbGl0ZS8qCi0tQ29weXJpZ2h0OiBDb3B5cmln
aHQgKGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYSwgVGhpbW8gS3JhZW1lcgotLUxpY2Vuc2U6IEdQ
TC0yKwotLSBUaGUgZnVsbCB0ZXh0IG9mIHRoZSBHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KLS0g
L3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvR1BMLTIgb24gRGViaWFuIHN5c3RlbXMuCi0tCi0g
RmlsZXM6IHNyYy9jYWxpYnJlL2RldmljZXMvYmFtYm9vay8qCi0gQ29weXJpZ2h0OiAyMDEwLCBM
aSBGYW54aQotIExpY2Vuc2U6IEdQTC0zCi1kaWZmIC0tZ2l0IGEvcHlwcm9qZWN0LnRvbWwgYi9w
eXByb2plY3QudG9tbAotaW5kZXggYjM2OTdiZC4uZjdlZjVjYiAxMDA2NDQKLS0tLSBhL3B5cHJv
amVjdC50b21sCi0rKysgYi9weXByb2plY3QudG9tbAotQEAgLTI2LDcgKzI2LDYgQEAgZXhjbHVk
ZSA9IFsKLSAgICAgInNldHVwL2xpbnV4LWluc3RhbGxlci5weSIsCi0gICAgICJzcmMvY3NzX3Nl
bGVjdG9ycy8qIiwKLSAgICAgInNyYy9wb2x5Z2xvdC8qIiwKLS0gICAgInNyYy90ZW1wbGl0ZS8q
IiwKLSAgICAgInNyYy90aW55Y3NzLyoiLAotIF0KLSBwcmV2aWV3ID0gdHJ1ZQotQEAgLTcxLDcg
KzcwLDcgQEAgdW5maXhhYmxlID0gWydQSUU3OTQnLCAnSVNDMDAxJ10KLSBkZXRlY3Qtc2FtZS1w
YWNrYWdlID0gdHJ1ZQotIGV4dHJhLXN0YW5kYXJkLWxpYnJhcnkgPSBbImFlcyIsICJlbGVtZW50
bWFrZXIiLCAiZW5jb2RpbmdzIl0KLSBrbm93bi1maXJzdC1wYXJ0eSA9IFsiY2FsaWJyZV9leHRl
bnNpb25zIiwgImNhbGlicmVfcGx1Z2lucyIsICJwb2x5Z2xvdCJdCi0ta25vd24tdGhpcmQtcGFy
dHkgPSBbIm9kZiIsICJxdCIsICJ0ZW1wbGl0ZSIsICJ0aW55Y3NzIiwgImNzc19zZWxlY3RvcnMi
XQotK2tub3duLXRoaXJkLXBhcnR5ID0gWyJvZGYiLCAicXQiLCAidGlueWNzcyIsICJjc3Nfc2Vs
ZWN0b3JzIl0KLSByZWxhdGl2ZS1pbXBvcnRzLW9yZGVyID0gImNsb3Nlc3QtdG8tZnVydGhlc3Qi
Ci0gc3BsaXQtb24tdHJhaWxpbmctY29tbWEgPSBmYWxzZQotIHNlY3Rpb24tb3JkZXIgPSBbJ19f
cHl0aG9uX18nLCAiZnV0dXJlIiwgInN0YW5kYXJkLWxpYnJhcnkiLCAidGhpcmQtcGFydHkiLCAi
Zmlyc3QtcGFydHkiLCAibG9jYWwtZm9sZGVyIl0KLUBAIC0xODksNyArMTg4LDYgQEAgc2tpcCA9
IFsKLSAgICAgIi4vc2V0dXAvbGludXgtaW5zdGFsbGVyLnB5IiwKLSAgICAgIi4vc3JjL2Nzc19z
ZWxlY3RvcnMvKiIsCi0gICAgICIuL3NyYy9wb2x5Z2xvdC8qIiwKLS0gICAgIi4vc3JjL3RlbXBs
aXRlLyoiLAotICAgICAiLi9zcmMvdGlueWNzcy8qIiwKLSAgICAgIi4vc3JjL3VuaWNvZGVfbmFt
ZXMvKiIsCi0gXQotQEAgLTIwNSw3ICsyMDMsNiBAQCBleGNsdWRlID0gWwotICAgICAic3JjL2Nh
bGlicmUvZ3VpMi9zdG9yZS9zdG9yZXMvIiwKLSAgICAgInNyYy9jc3Nfc2VsZWN0b3JzLyIsCi0g
ICAgICJzcmMvcG9seWdsb3QvIiwKLS0gICAgInNyYy90ZW1wbGl0ZS8iLAotICAgICAic3JjL3Rp
bnljc3MvIiwKLSBdCi0gCi1kaWZmIC0tZ2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4
cG9ydF9kZWZhdWx0Lm11c3RhY2hlIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9k
ZWZhdWx0Lm11c3RhY2hlCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMWM4
NjkxYQotLS0tIC9kZXYvbnVsbAotKysrIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9y
dF9kZWZhdWx0Lm11c3RhY2hlCi1AQCAtMCwwICsxLDcwIEBACi0rPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3Jn
L1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgotKzxodG1sIHhtbG5zPSJodHRwOi8v
d3d3LnczLm9yZy8xOTk5L3hodG1sIj4KLSs8aGVhZD4KLSt7e3toZWFkX2NvbnRlbnR9fX0KLSsK
LSs8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hl
ZXQiIC8+Ci0rCi0rPC9oZWFkPgotKzxib2R5PgotKwotKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRh
Ij4KLSsgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUiPgotKyAge3sjbWV0YS50aXRsZXN9
fQotKwl7eyNpc19maXJzdH19Ci0rCQk8aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9
fTwvYT4gPC9oMT4KLSsJe3svaXNfZmlyc3R9fQotKwl7e15pc19maXJzdH19Ci0rCQk8ZGl2IGNs
YXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08L2Rpdj4KLSsJe3svaXNfZmlyc3R9
fQotKyAge3svbWV0YS50aXRsZXN9fQotKyAgPC9kaXY+Ci0rICA8ZGl2IGNsYXNzPSJjYWxpYnJl
TWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4KLSs8L2Rpdj4KLSsKLSs8ZGl2IGNs
YXNzPSJjYWxpYnJlTWFpbiI+Ci0rCi0rICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50
Ij4KLSsgICAge3sjaGFzX2xpbmt9fQotKyAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRv
cCI+Ci0rCSAgICB7eyNwcmV2X2xpbmt9fQotKyAgICAgICAgICA8YSBocmVmPSJ7e3ByZXZfbGlu
a319IiBjbGFzcz0iY2FsaWJyZUFQcmV2Ij57e3ByZXZfcGFnZX19PC9hPgotKwkJe3svcHJldl9s
aW5rfX0KLSsgICAgICAgIHt7XnByZXZfbGlua319Ci0rICAgICAgICAgIDxhIGhyZWY9Int7dG9j
X3VybH19IiBjbGFzcz0iY2FsaWJyZUFQcmV2Ij57e3ByZXZfcGFnZX19PC9hPgotKwkJe3svcHJl
dl9saW5rfX0KLSsJCXt7I25leHRfbGlua319Ci0rICAgICAgICAgIDxhIGhyZWY9Int7bmV4dF9s
aW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+Ci0rCQl7ey9uZXh0
X2xpbmt9fQotKyAgICAgIDwvZGl2PgotKwl7ey9oYXNfbGlua319Ci0rCi0rCXt7e2Vib29rX2Nv
bnRlbnR9fX0KLSsgIDwvZGl2PgotKwotKyAge3sjaGFzX3RvY319Ci0rICA8ZGl2IGNsYXNzPSJj
YWxpYnJlVG9jIj4KLSsgICAgPGgyPjxhIGhyZWY9Int7dG9jX3VybH19Ij57e3RhYmxlX29mX2Nv
bnRlbnRzfX08L2E+PC9oMj4KLSsJe3t7dG9jfX19Ci0rICA8L2Rpdj4KLSsgIHt7L2hhc190b2N9
fQotKwotKyAgPGRpdiBjbGFzcz0iY2FsaWJyZUViTmF2Ij4KLSsJe3sjcHJldl9saW5rfX0KLSsJ
CTxhIGhyZWY9Int7cHJldl9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQVByZXYiPnt7cHJldl9wYWdl
fX08L2E+Ci0rCXt7L3ByZXZfbGlua319Ci0rCXt7XnByZXZfbGlua319Ci0rCQk8YSBocmVmPSJ7
e3RvY191cmx9fSIgY2xhc3M9ImNhbGlicmVBUHJldiI+e3twcmV2X3BhZ2V9fTwvYT4KLSsJe3sv
cHJldl9saW5rfX0KLSsKLSsgICAgPGEgaHJlZj0ie3t0b2NfdXJsfX0iIGNsYXNzPSJjYWxpYnJl
QUhvbWUiPnt7c3RhcnR9fTwvYT4KLSsKLSsJe3sjbmV4dF9saW5rfX0KLSsJCTxhIGhyZWY9Int7
bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+Ci0rCXt7
L25leHRfbGlua319Ci0rICA8L2Rpdj4KLSsKLSs8L2Rpdj4KLSsKLSs8L2JvZHk+Ci0rPC9odG1s
PgotZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50
bXBsIGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKLWRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggN2FhYzI0Ny4uMDAwMDAwMAotLS0tIGEvcmVzb3Vy
Y2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKLSsrKyAvZGV2L251bGwKLUBA
IC0xLDc0ICswLDAgQEAKLS08IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1M
IDEuMCBTdHJpY3QvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEt
c3RyaWN0LmR0ZCI+Ci0tPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwi
PgotLTxoZWFkPgotLSR7aGVhZF9jb250ZW50fSQKLS0KLS08bGluayBocmVmPSIke2Nzc0xpbmt9
JCIgdHlwZT0idGV4dC9jc3MiIHJlbD0ic3R5bGVzaGVldCIgLz4KLS0KLS08L2hlYWQ+Ci0tPGJv
ZHk+Ci0tCi0tPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGEiPgotLSAgPGRpdiBjbGFzcz0iY2FsaWJy
ZU1ldGFUaXRsZSI+Ci0tICAke3BvczE9MX0kCi0tICAke2ZvciB0aXRsZSBpbiBtZXRhLnRpdGxl
cygpOn0kCi0tICAgICR7aWYgcG9zMTp9JAotLSAgICA8aDE+Ci0tICAgICAgPGEgaHJlZj0iJHt0
b2NVcmx9JCI+JHtwcmludCh0aXRsZSl9JDwvYT4KLS0gICAgPC9oMT4KLS0gICAgJHs6ZWxzZTp9
JAotLSAgICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj4ke3ByaW50KHRpdGxlKX0k
PC9kaXY+Ci0tICAgICR7OmVuZGlmfSQKLS0gICAgJHtwb3MxPTB9JAotLSAgJHs6ZW5kZm9yfSQK
LS0gIDwvZGl2PgotLSAgPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGFBdXRob3IiPgotLSAgICAke3By
aW50KCcsICcuam9pbihtZXRhLmNyZWF0b3JzKCkpKX0kCi0tICA8L2Rpdj4KLS08L2Rpdj4KLS0K
LS08ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+Ci0tCi0tICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJv
b2tDb250ZW50Ij4KLS0gICAgJHtpZiBwcmV2TGluayBvciBuZXh0TGluazp9JAotLSAgICAgIDxk
aXYgY2xhc3M9ImNhbGlicmVFYk5hdlRvcCI+Ci0tICAgICAgICAke2lmIHByZXZMaW5rOn0kCi0t
ICAgICAgICAgIDxhIGhyZWY9IiR7cHJldkxpbmt9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtw
cmludChfKCdwcmV2aW91cyBwYWdlJykpfSQ8L2E+Ci0tICAgICAgICAkezplbHNlOn0kCi0tICAg
ICAgICAgIDxhIGhyZWY9IiR7dG9jVXJsfSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQo
XygncHJldmlvdXMgcGFnZScpKX0kPC9hPgotLSAgICAgICAgJHs6ZW5kaWZ9JAotLQotLSAgICAg
ICAgJHtpZiBuZXh0TGluazp9JAotLSAgICAgICAgICA8YSBocmVmPSIke25leHRMaW5rfSQiIGNs
YXNzPSJjYWxpYnJlQU5leHQiPiR7cHJpbnQoXygnbmV4dCBwYWdlJykpfSQ8L2E+Ci0tICAgICAg
ICAkezplbmRpZn0kCi0tICAgICAgPC9kaXY+Ci0tICAgICR7OmVuZGlmfSQKLS0KLS0gICAgJHtl
Ym9va0NvbnRlbnR9JAotLSAgPC9kaXY+Ci0tCi0tICAke2lmIGhhc190b2M6fSQKLS0gIDxkaXYg
Y2xhc3M9ImNhbGlicmVUb2MiPgotLSAgICA8aDI+PGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmlu
dCggXygnVGFibGUgb2YgY29udGVudHMnKSl9JDwvYT48L2gyPgotLSAgICAke3ByaW50KHRvYygp
KX0kCi0tICA8L2Rpdj4KLS0gICR7OmVuZGlmfSQKLS0KLS0gIDxkaXYgY2xhc3M9ImNhbGlicmVF
Yk5hdiI+Ci0tICAgICR7aWYgcHJldkxpbms6fSQKLS0gICAgICA8YSBocmVmPSIke3ByZXZMaW5r
fSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9h
PgotLSAgICAkezplbHNlOn0kCi0tICAgICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNh
bGlicmVBUHJldiI+JHtwcmludChfKCdwcmV2aW91cyBwYWdlJykpfSQ8L2E+Ci0tICAgICR7OmVu
ZGlmfSQKLS0KLS0gICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBSG9tZSI+
JHtwcmludChfKCdzdGFydCcpKX0kPC9hPgotLQotLSAgICAke2lmIG5leHRMaW5rOn0kCi0tICAg
ICAgPGEgaHJlZj0iJHtuZXh0TGlua30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8o
J25leHQgcGFnZScpKX0kPC9hPgotLSAgICAkezplbmRpZn0kCi0tICA8L2Rpdj4KLS0KLS08L2Rp
dj4KLS0KLS08L2JvZHk+Ci0tPC9odG1sPgotZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0
ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZSBiL3Jlc291cmNlcy90ZW1wbGF0
ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotbmV3IGZpbGUgbW9kZSAxMDA2
NDQKLWluZGV4IDAwMDAwMDAuLmFhMWJjNGQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3Jlc291cmNl
cy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9pbmRleC5tdXN0YWNoZQotQEAgLTAsMCAr
MSw1NSBAQAotKzwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0
cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3Qu
ZHRkIj4KLSs8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0rPGhl
YWQ+Ci0rPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
IGNoYXJzZXQ9VVRGLTgiIC8+Ci0rCi0rPGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6
Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiAvPgotKzxsaW5rIHJlbD0ic2NoZW1hLkRDVEVS
TVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+Ci0rCi0rPHRpdGxlPnt7bWV0
YS5jcmVhdG9yc319IC0ge3ttZXRhLmZpcnN0X3RpdGxlfX08L3RpdGxlPgotKwotK3t7I21ldGEu
aXRlbXN9fQotKyAgPG1ldGEgbmFtZT0iREMue3tuYW1lfX0iIGNvbnRlbnQ9Int7dmFsdWV9fSIg
Lz4KLSt7ey9tZXRhLml0ZW1zfX0KLSsKLSs8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9
InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+Ci0rPC9oZWFkPgotKzxib2R5PgotKwotKzxk
aXYgY2xhc3M9ImNhbGlicmVNZXRhIj4KLSsgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUi
PgotKyAge3sjbWV0YS50aXRsZXN9fQotKwl7eyNpc19maXJzdH19Ci0rCQk8aDE+PGEgaHJlZj0i
e3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwvYT4gPC9oMT4KLSsJe3svaXNfZmlyc3R9fQotKwl7e15p
c19maXJzdH19Ci0rCQk8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08
L2Rpdj4KLSsJe3svaXNfZmlyc3R9fQotKyAge3svbWV0YS50aXRsZXN9fQotKyAgPC9kaXY+Ci0r
ICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4K
LSs8L2Rpdj4KLSsKLSs8ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+Ci0rICA8ZGl2IGNsYXNzPSJj
YWxpYnJlRWJvb2tDb250ZW50Ij4KLSsgICAge3sjaGFzX3RvY319Ci0rICAgICAgPGRpdiBjbGFz
cz0iY2FsaWJyZVRvY0luZGV4Ij4KLSsgICAgICAgIDxoMj57e3RhYmxlX29mX2NvbnRlbnRzfX08
L2gyPgotKwkJe3t7dG9jfX19Ci0rICAgICAgPC9kaXY+Ci0rICAgIHt7L2hhc190b2N9fQotKyAg
ICB7e15oYXNfdG9jfX0KLSsgICAgICAgIDxoMj57e25vX3RvY319PC9oMj4KLSsgICAgICAgIDxk
aXY+PHN0cm9uZz48YSBocmVmPSJ7e25leHRfbGlua319Ij57e2JlZ2luX3RvX3JlYWR9fTwvYT48
L3N0cm9uZz48L2Rpdj4KLSsgICAge3svaGFzX3RvY319Ci0rICA8L2Rpdj4KLSsKLSsgIDxkaXYg
Y2xhc3M9ImNhbGlicmVFYk5hdiI+Ci0rICAgIHt7I25leHRfbGlua319Ci0rICAgICAgPGEgaHJl
Zj0ie3tuZXh0X2xpbmt9fSIgY2xhc3M9ImNhbGlicmVBTmV4dCI+e3tuZXh0X3BhZ2V9fTwvYT4K
LSsgICAge3svbmV4dF9saW5rfX0KLSsgIDwvZGl2PgotKzwvZGl2PgotKwotKzwvYm9keT4KLSs8
L2h0bWw+Ci1kaWZmIC0tZ2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZh
dWx0X2luZGV4LnRtcGwgYi9yZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRf
aW5kZXgudG1wbAotZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBmMDY2NWFkLi4wMDAw
MDAwCi0tLS0gYS9yZXNvdXJjZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgu
dG1wbAotKysrIC9kZXYvbnVsbAotQEAgLTEsNjEgKzAsMCBAQAotLTwhRE9DVFlQRSBodG1sIFBV
QkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9y
Zy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KLS08aHRtbCB4bWxucz0iaHR0cDov
L3d3dy53My5vcmcvMTk5OS94aHRtbCI+Ci0tPGhlYWQ+Ci0tPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+Ci0tCi0tPGxp
bmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEv
IiAvPgotLTxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9k
Yy90ZXJtcy8iIC8+Ci0tCi0tPHRpdGxlPiR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMo
KSkpfSQgLSAke3ByaW50KG5leHQobWV0YS50aXRsZXMoKSkpOyBwcmludChtZXRhLnRpdGxlcygp
LmNsb3NlKCkpfSQ8L3RpdGxlPgotLQotLSR7Zm9yIGl0ZW0gaW4gbWV0YTp9JAotLSAgPG1ldGEg
JHtwcmludCgnbmFtZT0iREMuJytpdGVtWyduYW1lJ10rJyInKX0kICR7cHJpbnQoJ2NvbnRlbnQ9
IicraXRlbVsndmFsdWUnXSsnIicpfSQgLz4KLS0kezplbmRmb3J9JAotLQotLTxsaW5rIGhyZWY9
IiR7Y3NzTGlua30kIiB0eXBlPSJ0ZXh0L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgotLTwvaGVh
ZD4KLS08Ym9keT4KLS0KLS08ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YSI+Ci0tICA8ZGl2IGNsYXNz
PSJjYWxpYnJlTWV0YVRpdGxlIj4KLS0gICR7cG9zMT0xfSQKLS0gICR7Zm9yIHRpdGxlIGluIG1l
dGEudGl0bGVzKCk6fSQKLS0gICAgJHtpZiBwb3MxOn0kCi0tICAgIDxoMT4KLS0gICAgICA8YSBo
cmVmPSIke3RvY1VybH0kIj4ke3ByaW50KHRpdGxlKX0kPC9hPgotLSAgICA8L2gxPgotLSAgICAk
ezplbHNlOn0kCi0tICAgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhU3VidGl0bGUiPiR7cHJpbnQo
dGl0bGUpfSQ8L2Rpdj4KLS0gICAgJHs6ZW5kaWZ9JAotLSAgICAke3BvczE9MH0kCi0tICAkezpl
bmRmb3J9JAotLSAgPC9kaXY+Ci0tICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+Ci0t
ICAgICR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMoKSkpfSQKLS0gIDwvZGl2PgotLTwv
ZGl2PgotLQotLTxkaXYgY2xhc3M9ImNhbGlicmVNYWluIj4KLS0gIDxkaXYgY2xhc3M9ImNhbGli
cmVFYm9va0NvbnRlbnQiPgotLQotLSAgICAke2lmIGhhc190b2M6fSQKLS0gICAgICA8ZGl2IGNs
YXNzPSJjYWxpYnJlVG9jSW5kZXgiPgotLSAgICAgICAgPGgyPiR7cHJpbnQoXygnVGFibGUgb2Yg
Y29udGVudHMnKSl9JDwvaDI+Ci0tICAgICAgICAke3RvY30kCi0tICAgICAgPC9kaXY+Ci0tICAg
ICR7OmVsc2U6fSQKLS0gICAgICAgIDxoMj4ke3ByaW50KF8oJ05vIHRhYmxlIG9mIGNvbnRlbnRz
IHByZXNlbnQnKSl9JDwvaDI+Ci0tICAgICAgICA8ZGl2PjxzdHJvbmc+PGEgaHJlZj0iJHtuZXh0
TGlua30kIj4ke3ByaW50KF8oJ2JlZ2luIHRvIHJlYWQnKSl9JDwvYT48L3N0cm9uZz48L2Rpdj4K
LS0gICAgJHs6ZW5kaWZ9JAotLQotLSAgPC9kaXY+Ci0tCi0tICA8ZGl2IGNsYXNzPSJjYWxpYnJl
RWJOYXYiPgotLSAgICAke2lmIG5leHRMaW5rOn0kCi0tICAgICAgPGEgaHJlZj0iJHtuZXh0TGlu
a30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgot
LSAgICAkezplbmRpZn0kCi0tICA8L2Rpdj4KLS08L2Rpdj4KLS0KLS08L2JvZHk+Ci0tPC9odG1s
PgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRt
bF9vdXRwdXQucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2h0bWxf
b3V0cHV0LnB5Ci1pbmRleCBlYTY0YzcwLi41NTczZDA0IDEwMDY0NAotLS0tIGEvc3JjL2NhbGli
cmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9odG1sX291dHB1dC5weQotKysrIGIvc3JjL2Nh
bGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9odG1sX291dHB1dC5weQotQEAgLTI3LDEz
ICsyNywxMyBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6Ci0gCi0gICAg
IG9wdGlvbnMgPSB7Ci0gICAgICAgICBPcHRpb25SZWNvbW1lbmRhdGlvbihuYW1lPSd0ZW1wbGF0
ZV9jc3MnLAotLSAgICAgICAgICAgIGhlbHA9XygnQ1NTIGZpbGUgdXNlZCBmb3IgdGhlIG91dHB1
dCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGZpbGUnKSksCi0rICAgICAgICAgICAgaGVscD1fKCdD
U1MgZmlsZSB1c2VkIGZvciB0aGUgb3V0cHV0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgQ1NTLicp
KSwKLSAKLSAgICAgICAgIE9wdGlvblJlY29tbWVuZGF0aW9uKG5hbWU9J3RlbXBsYXRlX2h0bWxf
aW5kZXgnLAotLSAgICAgICAgICAgIGhlbHA9XygnVGVtcGxhdGUgdXNlZCBmb3IgZ2VuZXJhdGlv
biBvZiB0aGUgSFRNTCBpbmRleCBmaWxlIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZmlsZScpKSwK
LSsgICAgICAgICAgICBoZWxwPV8oJ1RlbXBsYXRlIHVzZWQgZm9yIGdlbmVyYXRpb24gb2YgdGhl
IEhUTUwgaW5kZXggZmlsZSBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0
YWNoZSBmb3JtYXQuJykpLAotIAotICAgICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0n
dGVtcGxhdGVfaHRtbCcsCi0tICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0
aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9m
IHRoZSBkZWZhdWx0IGZpbGUnKSksCi0rICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2Vk
IGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0
ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAotIAot
ICAgICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0nZXh0cmFjdF90bycsCi0gICAgICAg
ICAgICAgaGVscD1fKCdFeHRyYWN0IHRoZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhdGVkIFpJUCBm
aWxlIHRvIHRoZSAnCi1AQCAtODUsOCArODUsOCBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZv
cm1hdFBsdWdpbik6Ci0gICAgICAgICAgICAgICAgIHhtbF9kZWNsYXJhdGlvbj1GYWxzZSkKLSAK
LSAgICAgZGVmIGNvbnZlcnQoc2VsZiwgb2ViX2Jvb2ssIG91dHB1dF9wYXRoLCBpbnB1dF9wbHVn
aW4sIG9wdHMsIGxvZyk6Ci0rICAgICAgICBpbXBvcnQgcHlzdGFjaGUKLSAgICAgICAgIGZyb20g
bHhtbCBpbXBvcnQgZXRyZWUKLS0gICAgICAgIGZyb20gdGVtcGxpdGUgaW1wb3J0IFRlbXBsaXRl
Ci0gCi0gICAgICAgICBmcm9tIGNhbGlicmUuZWJvb2tzLmh0bWwubWV0YSBpbXBvcnQgRWFzeU1l
dGEKLSAgICAgICAgIGZyb20gY2FsaWJyZS51dGlscyBpbXBvcnQgemlwZmlsZQotQEAgLTk3LDcg
Kzk3LDcgQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgotICAgICAgICAg
ICAgIHdpdGggb3BlbihvcHRzLnRlbXBsYXRlX2h0bWxfaW5kZXgsICdyYicpIGFzIGY6Ci0gICAg
ICAgICAgICAgICAgIHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IGYucmVhZCgpCi0gICAgICAg
ICBlbHNlOgotLSAgICAgICAgICAgIHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IFAoJ3RlbXBs
YXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0X2luZGV4LnRtcGwnLCBkYXRhPVRydWUpCi0rICAgICAg
ICAgICAgdGVtcGxhdGVfaHRtbF9kYXRhID0gUCgndGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1
bHQubXVzdGFjaGUnLCBkYXRhPVRydWUpCi0gCi0gICAgICAgICBpZiBvcHRzLnRlbXBsYXRlX2h0
bWwgaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgd2l0aCBvcGVuKG9wdHMudGVtcGxhdGVfaHRt
bCwgJ3JiJykgYXMgZjoKLUBAIC0xMTEsOSArMTExLDEwIEBAIGNsYXNzIEhUTUxPdXRwdXQoT3V0
cHV0Rm9ybWF0UGx1Z2luKToKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgdGVtcGxhdGVf
Y3NzX2RhdGEgPSBQKCd0ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5jc3MnLCBkYXRhPVRy
dWUpCi0gCi0tICAgICAgICB0ZW1wbGF0ZV9odG1sX2luZGV4X2RhdGEgPSB0ZW1wbGF0ZV9odG1s
X2luZGV4X2RhdGEuZGVjb2RlKCd1dGYtOCcpCi0tICAgICAgICB0ZW1wbGF0ZV9odG1sX2RhdGEg
PSB0ZW1wbGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1dGYtOCcpCi0rICAgICAgICB0ZW1wbGF0ZV9o
dG1sX2luZGV4ID0gcHlzdGFjaGUucGFyc2UodGVtcGxhdGVfaHRtbF9pbmRleF9kYXRhLmRlY29k
ZSgndXRmLTgnKSkKLSsgICAgICAgIHRlbXBsYXRlX2h0bWwgPSBweXN0YWNoZS5wYXJzZSh0ZW1w
bGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1dGYtOCcpKQotICAgICAgICAgdGVtcGxhdGVfY3NzX2Rh
dGEgPSB0ZW1wbGF0ZV9jc3NfZGF0YS5kZWNvZGUoJ3V0Zi04JykKLSsgICAgICAgIGhhc190b2Mg
PSBib29sKG9lYl9ib29rLnRvYy5jb3VudCgpKQotIAotICAgICAgICAgc2VsZi5sb2cgID0gbG9n
Ci0gICAgICAgICBzZWxmLm9wdHMgPSBvcHRzCi1AQCAtMTMwLDE4ICsxMzEsMzEgQEAgY2xhc3Mg
SFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgotICAgICAgICAgY3NzX3BhdGggPSBvdXRw
dXRfZGlyK29zLnNlcCsnY2FsaWJyZUh0bWxPdXRCYXNpY0Nzcy5jc3MnCi0gICAgICAgICB3aXRo
IG9wZW4oY3NzX3BhdGgsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAgZi53cml0ZSh0ZW1wbGF0
ZV9jc3NfZGF0YS5lbmNvZGUoJ3V0Zi04JykpCi0rICAgICAgICBtZXRhX2RpY3QgPSB7Ci0rICAg
ICAgICAgICAgJ3RpdGxlcyc6IFt7J3RpdGxlJzogeCwgJ2lzX2ZpcnN0JzogaSA9PSAwfSBmb3Ig
aSwgeCBpbiBlbnVtZXJhdGUobWV0YS50aXRsZXMoKSldLAotKyAgICAgICAgICAgICdjcmVhdG9y
cyc6IGF1dGhvcnNfdG9fc3RyaW5nKHR1cGxlKG1ldGEuY3JlYXRvcnMoKSkpLAotKyAgICAgICAg
ICAgICdpdGVtcyc6IGxpc3QobWV0YSksCi0rICAgICAgICB9Ci0rICAgICAgICBtZXRhX2RpY3Rb
J2ZpcnN0X3RpdGxlJ10gPSBtZXRhX2RpY3RbJ3RpdGxlcyddWzBdWyd0aXRsZSddIGlmIG1ldGFf
ZGljdFsndGl0bGVzJ10gZWxzZSAnJwotKyAgICAgICAgYmFzaWNfdGVtcGxhdGVfdmFycyA9IHsK
LSsgICAgICAgICAgICAgICAgJ21ldGEnOiBtZXRhX2RpY3QsICdoYXNfdG9jJzogaGFzX3RvYywK
LSsgICAgICAgICAgICAgICAgJ3RhYmxlX29mX2NvbnRlbnRzJzogIF8oJ1RhYmxlIG9mIGNvbnRl
bnRzJyksICdub190b2MnOiBfKCdObyB0YWJsZSBvZiBjb250ZW50cyBwcmVzZW50JyksCi0rICAg
ICAgICAgICAgICAgICdiZWdpbl90b19yZWFkJzogXygnYmVnaW4gdG8gcmVhZCcpLCAnc3RhcnQn
OiBfKCdzdGFydCcpLAotKyAgICAgICAgICAgICAgICAncHJldl9wYWdlJzogXygncHJldmlvdXMg
cGFnZScpLCAnbmV4dF9wYWdlJzogXygnbmV4dCBwYWdlJyksCi0rICAgICAgICB9Ci0gCi0gICAg
ICAgICB3aXRoIG9wZW4ob3V0cHV0X2ZpbGUsICd3YicpIGFzIGY6Ci0tICAgICAgICAgICAgaHRt
bF90b2MgPSBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBvdXRwdXRfZmlsZSwgb3V0
cHV0X2RpcikKLS0gICAgICAgICAgICB0ZW1wbGl0ZSA9IFRlbXBsaXRlKHRlbXBsYXRlX2h0bWxf
aW5kZXhfZGF0YSkKLSAgICAgICAgICAgICBuZXh0TGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhy
ZWYKLSAgICAgICAgICAgICBuZXh0TGluayA9IHJlbHBhdGgob3V0cHV0X2Rpcitvcy5zZXArbmV4
dExpbmssIGRpcm5hbWUob3V0cHV0X2ZpbGUpKQotICAgICAgICAgICAgIGNzc0xpbmsgPSByZWxw
YXRoKGFic3BhdGgoY3NzX3BhdGgpLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKLSAgICAgICAgICAg
ICB0b2NVcmwgPSByZWxwYXRoKG91dHB1dF9maWxlLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKLS0g
ICAgICAgICAgICB0ID0gdGVtcGxpdGUucmVuZGVyKGhhc190b2M9Ym9vbChvZWJfYm9vay50b2Mu
Y291bnQoKSksCi0tICAgICAgICAgICAgICAgICAgICB0b2M9aHRtbF90b2MsIG1ldGE9bWV0YSwg
bmV4dExpbms9bmV4dExpbmssCi0tICAgICAgICAgICAgICAgICAgICB0b2NVcmw9dG9jVXJsLCBj
c3NMaW5rPWNzc0xpbmssCi0tICAgICAgICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGlu
az1uZXh0TGluaykKLSsgICAgICAgICAgICB0b2NfYXNfaHRtbCA9IHNlbGYuZ2VuZXJhdGVfaHRt
bF90b2Mob2ViX2Jvb2ssIG91dHB1dF9maWxlLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2Ug
JycKLSsgICAgICAgICAgICB2ID0gYmFzaWNfdGVtcGxhdGVfdmFycy5jb3B5KCkKLSsgICAgICAg
ICAgICB2LnVwZGF0ZSh7Ci0rICAgICAgICAgICAgICAgICd0b2MnOiB0b2NfYXNfaHRtbCwgJ2Nz
c19saW5rJzogY3NzTGluaywgJ3RvY191cmwnOiB0b2NVcmwsICduZXh0X2xpbmsnOiBuZXh0TGlu
aywKLSsgICAgICAgICAgICAgICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9saW5rJzogbmV4dExpbmss
Ci0rICAgICAgICAgICAgfSkKLSsgICAgICAgICAgICB0ID0gcHlzdGFjaGUucmVuZGVyKHRlbXBs
YXRlX2h0bWxfaW5kZXgsIHYpCi0gICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh0LCBzdHIpOgot
ICAgICAgICAgICAgICAgICB0ID0gdC5lbmNvZGUoJ3V0Zi04JykKLSAgICAgICAgICAgICBmLndy
aXRlKHQpCi1AQCAtMTk3LDE3ICsyMTEsMTggQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3Jt
YXRQbHVnaW4pOgotICAgICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGluayA9IG9lYl9i
b29rLnNwaW5lWzBdLmhyZWYKLSAKLSAgICAgICAgICAgICAgICAgIyByZW5kZXIgdGVtcGxhdGUK
LS0gICAgICAgICAgICAgICAgdGVtcGxpdGUgPSBUZW1wbGl0ZSh0ZW1wbGF0ZV9odG1sX2RhdGEp
Ci0tCi0gICAgICAgICAgICAgICAgIGRlZiB0b2MoKToKLS0gICAgICAgICAgICAgICAgICAgIHJl
dHVybiBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKQot
LSAgICAgICAgICAgICAgICB0ID0gdGVtcGxpdGUucmVuZGVyKGVib29rQ29udGVudD1lYm9va19j
b250ZW50LAotLSAgICAgICAgICAgICAgICAgICAgICAgIHByZXZMaW5rPXByZXZMaW5rLCBuZXh0
TGluaz1uZXh0TGluaywKLS0gICAgICAgICAgICAgICAgICAgICAgICBoYXNfdG9jPWJvb2wob2Vi
X2Jvb2sudG9jLmNvdW50KCkpLCB0b2M9dG9jLAotLSAgICAgICAgICAgICAgICAgICAgICAgIHRv
Y1VybD10b2NVcmwsIGhlYWRfY29udGVudD1oZWFkX2NvbnRlbnQsCi0tICAgICAgICAgICAgICAg
ICAgICAgICAgbWV0YT1tZXRhLCBjc3NMaW5rPWNzc0xpbmssCi0tICAgICAgICAgICAgICAgICAg
ICAgICAgZmlyc3RDb250ZW50UGFnZUxpbms9Zmlyc3RDb250ZW50UGFnZUxpbmspCi0tCi0rICAg
ICAgICAgICAgICAgICAgICByZXR1cm4KLSsgICAgICAgICAgICAgICAgdG9jX2FzX2h0bWwgPSBz
ZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKSBpZiBoYXNf
dG9jIGVsc2UgJycKLSsgICAgICAgICAgICAgICAgdiA9IGJhc2ljX3RlbXBsYXRlX3ZhcnMuY29w
eSgpCi0rICAgICAgICAgICAgICAgIHYudXBkYXRlKHsKLSsgICAgICAgICAgICAgICAgICAgICdo
YXNfbGluayc6IHByZXZMaW5rIG9yIG5leHRMaW5rLAotKyAgICAgICAgICAgICAgICAgICAgJ3By
ZXZfbGluayc6IHByZXZMaW5rLCAnbmV4dF9saW5rJzogbmV4dExpbmssICd0b2NfdXJsJzogdG9j
VXJsLAotKyAgICAgICAgICAgICAgICAgICAgJ2hlYWRfY29udGVudCc6IGhlYWRfY29udGVudCwg
J2Vib29rX2NvbnRlbnQnOiBlYm9va19jb250ZW50LAotKyAgICAgICAgICAgICAgICAgICAgJ2Nz
c19saW5rJzogY3NzTGluaywgJ3RvYyc6IHRvY19hc19odG1sLAotKyAgICAgICAgICAgICAgICAg
ICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9saW5rJzogZmlyc3RDb250ZW50UGFnZUxpbmssCi0rICAg
ICAgICAgICAgICAgIH0pCi0rICAgICAgICAgICAgICAgIHQgPSBweXN0YWNoZS5yZW5kZXIodGVt
cGxhdGVfaHRtbCwgdikKLSAgICAgICAgICAgICAgICAgIyB3cml0ZSBodG1sIHRvIGZpbGUKLSAg
ICAgICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAg
ICAgICAgICBmLndyaXRlKHQuZW5jb2RlKCd1dGYtOCcpKQotZGlmZiAtLWdpdCBhL3NyYy90ZW1w
bGl0ZS9fX2luaXRfXy5weSBiL3NyYy90ZW1wbGl0ZS9fX2luaXRfXy5weQotZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0Ci1pbmRleCA4NzIzZDBkLi4wMDAwMDAwCi0tLS0gYS9zcmMvdGVtcGxpdGUv
X19pbml0X18ucHkKLSsrKyAvZGV2L251bGwKLUBAIC0xLDk2ICswLDAgQEAKLS0jIS91c3IvYmlu
L2VudiBweXRob24KLS0jCi0tIyAgICAgICBUZW1wbGl0ZSsKLS0jICAgICAgIEEgbGlnaHQtd2Vp
Z2h0LCBmdWxseSBmdW5jdGlvbmFsLCBnZW5lcmFsIHB1cnBvc2UgdGVtcGxhdGluZyBlbmdpbmUK
LS0jCi0tIyAgICAgICBDb3B5cmlnaHQgKGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYQotLSMgICAg
ICAgQXV0aG9yOiBUaGltbyBLcmFlbWVyIDx0aGltby5rcmFlbWVyQGpvb25pcy5kZT4KLS0jCi0t
IyAgICAgICBCYXNlZCBvbiBUZW1wbGl0ZSAtIFRvbWVyIEZpbGliYQotLSMgICAgICAgaHR0cDov
L2NvZGUuYWN0aXZlc3RhdGUuY29tL3JlY2lwZXMvNDk2NzAyLwotLSMKLS0jICAgICAgIFRoaXMg
cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig
bW9kaWZ5Ci0tIyAgICAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotLSMgICAgICAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLS0jICAgICAg
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0tIwotLSMgICAgICAgVGhpcyBw
cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0tIyAgICAgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgotLSMgICAgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotLSMgICAgICAgR05VIEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLS0jCi0tIyAgICAgICBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotLSMg
ICAgICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUg
U29mdHdhcmUKLS0jICAgICAgIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwKLS0jICAgICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4KLS0jCi0t
Ci0taW1wb3J0IHJlCi0taW1wb3J0IHN5cwotLQotLWZyb20gcG9seWdsb3QuYnVpbHRpbnMgaW1w
b3J0IHVuaWNvZGVfdHlwZQotLQotLQotLWNsYXNzIFRlbXBsaXRlOgotLSAgICBhdXRvX2VtaXQg
PSByZS5jb21waWxlKHInJycoXlsnIl0pfCheW2EtekEtWjAtOV9bXF0nIl0rJCknJycpCi0tCi0t
ICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0ZW1wbGF0ZSwgc3RhcnQ9JyR7JywgZW5kPSd9JCcpOgot
LSAgICAgICAgaWYgbGVuKHN0YXJ0KSAhPSAyIG9yIGxlbihlbmQpICE9IDI6Ci0tICAgICAgICAg
ICAgcmFpc2UgVmFsdWVFcnJvcignZWFjaCBkZWxpbWl0ZXIgbXVzdCBiZSB0d28gY2hhcmFjdGVy
cyBsb25nJykKLS0gICAgICAgIGRlbGltaXRlciA9IHJlLmNvbXBpbGUoJyVzKC4qPyklcycgJSAo
cmUuZXNjYXBlKHN0YXJ0KSwgcmUuZXNjYXBlKGVuZCkpLCByZS5ET1RBTEwpCi0tICAgICAgICBv
ZmZzZXQgPSAwCi0tICAgICAgICB0b2tlbnMgPSBbXQotLSAgICAgICAgZm9yIGksIHBhcnQgaW4g
ZW51bWVyYXRlKGRlbGltaXRlci5zcGxpdCh0ZW1wbGF0ZSkpOgotLSAgICAgICAgICAgIHBhcnQg
PSBwYXJ0LnJlcGxhY2UoJ1xcJy5qb2luKGxpc3Qoc3RhcnQpKSwgc3RhcnQpCi0tICAgICAgICAg
ICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXFwnLmpvaW4obGlzdChlbmQpKSwgZW5kKQotLSAgICAg
ICAgICAgIGlmIGkgJSAyID09IDA6Ci0tICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgotLSAg
ICAgICAgICAgICAgICAgICAgY29udGludWUKLS0gICAgICAgICAgICAgICAgcGFydCA9IHBhcnQu
cmVwbGFjZSgnXFwnLCAnXFxcXCcpLnJlcGxhY2UoJyInLCAnXFwiJykKLS0gICAgICAgICAgICAg
ICAgcGFydCA9ICdcdCcgKiBvZmZzZXQgKyAnZW1pdCgiIiIlcyIiIiknICUgcGFydAotLSAgICAg
ICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIHBhcnQgPSBwYXJ0LnJzdHJpcCgpCi0tICAg
ICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgotLSAgICAgICAgICAgICAgICAgICAgY29udGludWUK
LS0gICAgICAgICAgICAgICAgaWYgcGFydC5sc3RyaXAoKS5zdGFydHN3aXRoKCc6Jyk6Ci0tICAg
ICAgICAgICAgICAgICAgICBpZiBub3Qgb2Zmc2V0OgotLSAgICAgICAgICAgICAgICAgICAgICAg
IHJhaXNlIFN5bnRheEVycm9yKCdubyBibG9jayBzdGF0ZW1lbnQgdG8gdGVybWluYXRlOiAkeyVz
fSQnICUgcGFydCkKLS0gICAgICAgICAgICAgICAgICAgIG9mZnNldCAtPSAxCi0tICAgICAgICAg
ICAgICAgICAgICBwYXJ0ID0gcGFydC5sc3RyaXAoKVsxOl0KLS0gICAgICAgICAgICAgICAgICAg
IGlmIG5vdCBwYXJ0LmVuZHN3aXRoKCc6Jyk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGludWUKLS0gICAgICAgICAgICAgICAgZWxpZiBzZWxmLmF1dG9fZW1pdC5tYXRjaChwYXJ0Lmxz
dHJpcCgpKToKLS0gICAgICAgICAgICAgICAgICAgIHBhcnQgPSAnZW1pdCglcyknICUgcGFydC5s
c3RyaXAoKQotLSAgICAgICAgICAgICAgICBsaW5lcyA9IHBhcnQuc3BsaXRsaW5lcygpCi0tICAg
ICAgICAgICAgICAgIG1hcmdpbiA9IG1pbihsZW4obCkgLSBsZW4obC5sc3RyaXAoKSkgZm9yIGwg
aW4gbGluZXMgaWYgbC5zdHJpcCgpKQotLSAgICAgICAgICAgICAgICBwYXJ0ID0gJ1xuJy5qb2lu
KCdcdCcgKiBvZmZzZXQgKyBsW21hcmdpbjpdIGZvciBsIGluIGxpbmVzKQotLSAgICAgICAgICAg
ICAgICBpZiBwYXJ0LmVuZHN3aXRoKCc6Jyk6Ci0tICAgICAgICAgICAgICAgICAgICBvZmZzZXQg
Kz0gMQotLSAgICAgICAgICAgIHRva2Vucy5hcHBlbmQocGFydCkKLS0gICAgICAgIGlmIG9mZnNl
dDoKLS0gICAgICAgICAgICByYWlzZSBTeW50YXhFcnJvcignJWkgYmxvY2sgc3RhdGVtZW50KHMp
IG5vdCB0ZXJtaW5hdGVkJyAlIG9mZnNldCkKLS0gICAgICAgIHNlbGYuX19jb2RlID0gY29tcGls
ZSgnXG4nLmpvaW4odG9rZW5zKSwgJzx0ZW1wbGl0ZSAlcj4nICUgdGVtcGxhdGVbOjIwXSwgJ2V4
ZWMnKQotLQotLSAgICBkZWYgcmVuZGVyKHNlbGYsIF9fbmFtZXNwYWNlPU5vbmUsICoqa3cpOgot
LSAgICAgICAgIiIiCi0tICAgICAgICByZW5kZXJzIHRoZSB0ZW1wbGF0ZSBhY2NvcmRpbmcgdG8g
dGhlIGdpdmVuIG5hbWVzcGFjZS4KLS0gICAgICAgIF9fbmFtZXNwYWNlIC0gYSBkaWN0aW9uYXJ5
IHNlcnZpbmcgYXMgYSBuYW1lc3BhY2UgZm9yIGV2YWx1YXRpb24KLS0gICAgICAgICoqa3cgLSBr
ZXl3b3JkIGFyZ3VtZW50cyB3aGljaCBhcmUgYWRkZWQgdG8gdGhlIG5hbWVzcGFjZQotLSAgICAg
ICAgIiIiCi0tICAgICAgICBuYW1lc3BhY2UgPSB7fQotLSAgICAgICAgaWYgX19uYW1lc3BhY2U6
Ci0tICAgICAgICAgICAgbmFtZXNwYWNlLnVwZGF0ZShfX25hbWVzcGFjZSkKLS0gICAgICAgIGlm
IGt3OgotLSAgICAgICAgICAgIG5hbWVzcGFjZS51cGRhdGUoa3cpCi0tICAgICAgICBuYW1lc3Bh
Y2VbJ2VtaXQnXSA9IHNlbGYud3JpdGUKLS0KLS0gICAgICAgIF9fc3Rkb3V0ID0gc3lzLnN0ZG91
dAotLSAgICAgICAgc3lzLnN0ZG91dCA9IHNlbGYKLS0gICAgICAgIHNlbGYuX19vdXRwdXQgPSBb
XQotLSAgICAgICAgZXZhbChzZWxmLl9fY29kZSwgbmFtZXNwYWNlKQotLSAgICAgICAgc3lzLnN0
ZG91dCA9IF9fc3Rkb3V0Ci0tICAgICAgICByZXR1cm4gJycuam9pbihzZWxmLl9fb3V0cHV0KQot
LQotLSAgICBkZWYgd3JpdGUoc2VsZiwgKmFyZ3MpOgotLSAgICAgICAgZm9yIGEgaW4gYXJnczoK
LS0gICAgICAgICAgICBzZWxmLl9fb3V0cHV0LmFwcGVuZCh1bmljb2RlX3R5cGUoYSkpCmRpZmYg
LU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIw
MjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaCBjYWxp
YnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjU3MzEt
WklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaAotLS0gY2FsaWJyZS04
LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMxLVpJUC1P
dXRwdXQtQ2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gJMTk3MC0wMS0wMSAwOTowMDow
MC4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBz
dHJlYW0vMDA4Ni1DVkUtMjAyNi0yNTczMS1aSVAtT3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUt
ZW5naW5lLnBhdGNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0wLDAg
KzEsNTg4IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRl
OiBUaHUsIDUgRmViIDIwMjYgMTQ6MjE6MjUgKzA1MzAKK1N1YmplY3Q6IENWRS0yMDI2LTI1NzMx
OiBaSVAgT3V0cHV0OiBDaGFuZ2UgdGhlIHRlbXBsYXRlIGVuZ2luZSB1c2VkIGZvciBIVE1MCisg
dGVtcGxhdGluZyBmcm9tIHRlbXBsaXRlIHRvIE11c3RhY2hlLAorIGZvciBncmVhdGVyIHNhZmV0
eSBhbmQgcGVyZm9ybWFuY2UuIE5vdGUgdGhhdCB0aGlzIGlzIGEgYnJlYWtpbmcgY2hhbmdlIGlm
CisgeW91IHVzZSBjdXN0b20gdGVtcGxhdGVzIHdpdGggWklQIG91dHB1dC4KKworRm9yd2FyZGVk
OiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUv
c2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXhyaDktdzdxeC0zZ2NjCitPcmlnaW46IGJhY2twb3J0
LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9mMDY0OWIyNzUx
MmU5ODdiOTVmY2FiMmUxZTBhM2JjZGFmYzIzMzc5CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBI
aXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBDT1BZUklHSFQgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA2IC0tCisgcHlwcm9qZWN0LnRvbWwg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArLQorIHJlc291cmNlcy90
ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC5tdXN0YWNoZSAgIHwgNzAgKysrKysrKysrKysr
KysrKworIHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBsICAgICAg
IHwgNzQgLS0tLS0tLS0tLS0tLS0tLS0KKyAuLi4vdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1
bHRfaW5kZXgubXVzdGFjaGUgICB8IDU1ICsrKysrKysrKysrKysKKyByZXNvdXJjZXMvdGVtcGxh
dGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbCB8IDYxIC0tLS0tLS0tLS0tLS0tCisg
Li4uL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRtbF9vdXRwdXQucHkgICAgICAgfCA2MSAr
KysrKysrKy0tLS0tLQorIHNyYy90ZW1wbGl0ZS9fX2luaXRfXy5weSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHwgOTYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIDggZmlsZXMgY2hhbmdlZCwg
MTY0IGluc2VydGlvbnMoKyksIDI2NCBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQg
cmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCisgZGVsZXRl
IG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBs
CisgY3JlYXRlIG1vZGUgMTAwNjQ0IHJlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVm
YXVsdF9pbmRleC5tdXN0YWNoZQorIGRlbGV0ZSBtb2RlIDEwMDY0NCByZXNvdXJjZXMvdGVtcGxh
dGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorIGRlbGV0ZSBtb2RlIDEwMDY0NCBz
cmMvdGVtcGxpdGUvX19pbml0X18ucHkKKworZGlmZiAtLWdpdCBhL0NPUFlSSUdIVCBiL0NPUFlS
SUdIVAoraW5kZXggYTQ0ZDc1Ni4uMDllMTMwOCAxMDA2NDQKKy0tLSBhL0NPUFlSSUdIVAorKysr
IGIvQ09QWVJJR0hUCitAQCAtMTIsMTIgKzEyLDYgQEAgRmlsZXM6IHJlc291cmNlcy9yYXB5ZHNj
cmlwdC8qCisgQ29weXJpZ2h0OiBWYXJpb3VzCisgTGljZW5zZTogQlNECisgCistRmlsZXM6IHNy
Yy90ZW1wbGl0ZS8qCistQ29weXJpZ2h0OiBDb3B5cmlnaHQgKGMpIDIwMDkgam9vbmlzIG5ldyBt
ZWRpYSwgVGhpbW8gS3JhZW1lcgorLUxpY2Vuc2U6IEdQTC0yKworLSBUaGUgZnVsbCB0ZXh0IG9m
IHRoZSBHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KKy0gL3Vzci9zaGFyZS9jb21tb24tbGljZW5z
ZXMvR1BMLTIgb24gRGViaWFuIHN5c3RlbXMuCistCisgRmlsZXM6IHNyYy9jYWxpYnJlL2Rldmlj
ZXMvYmFtYm9vay8qCisgQ29weXJpZ2h0OiAyMDEwLCBMaSBGYW54aQorIExpY2Vuc2U6IEdQTC0z
CitkaWZmIC0tZ2l0IGEvcHlwcm9qZWN0LnRvbWwgYi9weXByb2plY3QudG9tbAoraW5kZXggYjM2
OTdiZC4uZjdlZjVjYiAxMDA2NDQKKy0tLSBhL3B5cHJvamVjdC50b21sCisrKysgYi9weXByb2pl
Y3QudG9tbAorQEAgLTI2LDcgKzI2LDYgQEAgZXhjbHVkZSA9IFsKKyAgICAgInNldHVwL2xpbnV4
LWluc3RhbGxlci5weSIsCisgICAgICJzcmMvY3NzX3NlbGVjdG9ycy8qIiwKKyAgICAgInNyYy9w
b2x5Z2xvdC8qIiwKKy0gICAgInNyYy90ZW1wbGl0ZS8qIiwKKyAgICAgInNyYy90aW55Y3NzLyoi
LAorIF0KKyBwcmV2aWV3ID0gdHJ1ZQorQEAgLTcxLDcgKzcwLDcgQEAgdW5maXhhYmxlID0gWydQ
SUU3OTQnLCAnSVNDMDAxJ10KKyBkZXRlY3Qtc2FtZS1wYWNrYWdlID0gdHJ1ZQorIGV4dHJhLXN0
YW5kYXJkLWxpYnJhcnkgPSBbImFlcyIsICJlbGVtZW50bWFrZXIiLCAiZW5jb2RpbmdzIl0KKyBr
bm93bi1maXJzdC1wYXJ0eSA9IFsiY2FsaWJyZV9leHRlbnNpb25zIiwgImNhbGlicmVfcGx1Z2lu
cyIsICJwb2x5Z2xvdCJdCista25vd24tdGhpcmQtcGFydHkgPSBbIm9kZiIsICJxdCIsICJ0ZW1w
bGl0ZSIsICJ0aW55Y3NzIiwgImNzc19zZWxlY3RvcnMiXQorK2tub3duLXRoaXJkLXBhcnR5ID0g
WyJvZGYiLCAicXQiLCAidGlueWNzcyIsICJjc3Nfc2VsZWN0b3JzIl0KKyByZWxhdGl2ZS1pbXBv
cnRzLW9yZGVyID0gImNsb3Nlc3QtdG8tZnVydGhlc3QiCisgc3BsaXQtb24tdHJhaWxpbmctY29t
bWEgPSBmYWxzZQorIHNlY3Rpb24tb3JkZXIgPSBbJ19fcHl0aG9uX18nLCAiZnV0dXJlIiwgInN0
YW5kYXJkLWxpYnJhcnkiLCAidGhpcmQtcGFydHkiLCAiZmlyc3QtcGFydHkiLCAibG9jYWwtZm9s
ZGVyIl0KK0BAIC0xODksNyArMTg4LDYgQEAgc2tpcCA9IFsKKyAgICAgIi4vc2V0dXAvbGludXgt
aW5zdGFsbGVyLnB5IiwKKyAgICAgIi4vc3JjL2Nzc19zZWxlY3RvcnMvKiIsCisgICAgICIuL3Ny
Yy9wb2x5Z2xvdC8qIiwKKy0gICAgIi4vc3JjL3RlbXBsaXRlLyoiLAorICAgICAiLi9zcmMvdGlu
eWNzcy8qIiwKKyAgICAgIi4vc3JjL3VuaWNvZGVfbmFtZXMvKiIsCisgXQorQEAgLTIwNSw3ICsy
MDMsNiBAQCBleGNsdWRlID0gWworICAgICAic3JjL2NhbGlicmUvZ3VpMi9zdG9yZS9zdG9yZXMv
IiwKKyAgICAgInNyYy9jc3Nfc2VsZWN0b3JzLyIsCisgICAgICJzcmMvcG9seWdsb3QvIiwKKy0g
ICAgInNyYy90ZW1wbGl0ZS8iLAorICAgICAic3JjL3Rpbnljc3MvIiwKKyBdCisgCitkaWZmIC0t
Z2l0IGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlIGIv
cmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCituZXcgZmls
ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uMWM4NjkxYQorLS0tIC9kZXYvbnVsbAorKysr
IGIvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0Lm11c3RhY2hlCitAQCAt
MCwwICsxLDcwIEBACisrPCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAx
LjAgU3RyaWN0Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0
cmljdC5kdGQiPgorKzxodG1sIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIj4K
Kys8aGVhZD4KKyt7e3toZWFkX2NvbnRlbnR9fX0KKysKKys8bGluayBocmVmPSJ7e2Nzc19saW5r
fX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hlZXQiIC8+CisrCisrPC9oZWFkPgorKzxi
b2R5PgorKworKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRhIj4KKysgIDxkaXYgY2xhc3M9ImNhbGli
cmVNZXRhVGl0bGUiPgorKyAge3sjbWV0YS50aXRsZXN9fQorKwl7eyNpc19maXJzdH19CisrCQk8
aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwvYT4gPC9oMT4KKysJe3svaXNfZmly
c3R9fQorKwl7e15pc19maXJzdH19CisrCQk8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVN1YnRpdGxl
Ij57e3RpdGxlfX08L2Rpdj4KKysJe3svaXNfZmlyc3R9fQorKyAge3svbWV0YS50aXRsZXN9fQor
KyAgPC9kaXY+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+e3ttZXRhLmNyZWF0
b3JzfX08L2Rpdj4KKys8L2Rpdj4KKysKKys8ZGl2IGNsYXNzPSJjYWxpYnJlTWFpbiI+CisrCisr
ICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKysgICAge3sjaGFzX2xpbmt9fQor
KyAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRvcCI+CisrCSAgICB7eyNwcmV2X2xpbmt9
fQorKyAgICAgICAgICA8YSBocmVmPSJ7e3ByZXZfbGlua319IiBjbGFzcz0iY2FsaWJyZUFQcmV2
Ij57e3ByZXZfcGFnZX19PC9hPgorKwkJe3svcHJldl9saW5rfX0KKysgICAgICAgIHt7XnByZXZf
bGlua319CisrICAgICAgICAgIDxhIGhyZWY9Int7dG9jX3VybH19IiBjbGFzcz0iY2FsaWJyZUFQ
cmV2Ij57e3ByZXZfcGFnZX19PC9hPgorKwkJe3svcHJldl9saW5rfX0KKysJCXt7I25leHRfbGlu
a319CisrICAgICAgICAgIDxhIGhyZWY9Int7bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxpYnJlQU5l
eHQiPnt7bmV4dF9wYWdlfX08L2E+CisrCQl7ey9uZXh0X2xpbmt9fQorKyAgICAgIDwvZGl2Pgor
Kwl7ey9oYXNfbGlua319CisrCisrCXt7e2Vib29rX2NvbnRlbnR9fX0KKysgIDwvZGl2PgorKwor
KyAge3sjaGFzX3RvY319CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlVG9jIj4KKysgICAgPGgyPjxh
IGhyZWY9Int7dG9jX3VybH19Ij57e3RhYmxlX29mX2NvbnRlbnRzfX08L2E+PC9oMj4KKysJe3t7
dG9jfX19CisrICA8L2Rpdj4KKysgIHt7L2hhc190b2N9fQorKworKyAgPGRpdiBjbGFzcz0iY2Fs
aWJyZUViTmF2Ij4KKysJe3sjcHJldl9saW5rfX0KKysJCTxhIGhyZWY9Int7cHJldl9saW5rfX0i
IGNsYXNzPSJjYWxpYnJlQVByZXYiPnt7cHJldl9wYWdlfX08L2E+CisrCXt7L3ByZXZfbGlua319
CisrCXt7XnByZXZfbGlua319CisrCQk8YSBocmVmPSJ7e3RvY191cmx9fSIgY2xhc3M9ImNhbGli
cmVBUHJldiI+e3twcmV2X3BhZ2V9fTwvYT4KKysJe3svcHJldl9saW5rfX0KKysKKysgICAgPGEg
aHJlZj0ie3t0b2NfdXJsfX0iIGNsYXNzPSJjYWxpYnJlQUhvbWUiPnt7c3RhcnR9fTwvYT4KKysK
KysJe3sjbmV4dF9saW5rfX0KKysJCTxhIGhyZWY9Int7bmV4dF9saW5rfX0iIGNsYXNzPSJjYWxp
YnJlQU5leHQiPnt7bmV4dF9wYWdlfX08L2E+CisrCXt7L25leHRfbGlua319CisrICA8L2Rpdj4K
KysKKys8L2Rpdj4KKysKKys8L2JvZHk+CisrPC9odG1sPgorZGlmZiAtLWdpdCBhL3Jlc291cmNl
cy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdC50bXBsIGIvcmVzb3VyY2VzL3RlbXBsYXRl
cy9odG1sX2V4cG9ydF9kZWZhdWx0LnRtcGwKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5k
ZXggN2FhYzI0Ny4uMDAwMDAwMAorLS0tIGEvcmVzb3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9y
dF9kZWZhdWx0LnRtcGwKKysrKyAvZGV2L251bGwKK0BAIC0xLDc0ICswLDAgQEAKKy08IURPQ1RZ
UEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIiAiaHR0cDov
L3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CistPGh0bWwgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorLTxoZWFkPgorLSR7aGVhZF9jb250
ZW50fSQKKy0KKy08bGluayBocmVmPSIke2Nzc0xpbmt9JCIgdHlwZT0idGV4dC9jc3MiIHJlbD0i
c3R5bGVzaGVldCIgLz4KKy0KKy08L2hlYWQ+CistPGJvZHk+CistCistPGRpdiBjbGFzcz0iY2Fs
aWJyZU1ldGEiPgorLSAgPGRpdiBjbGFzcz0iY2FsaWJyZU1ldGFUaXRsZSI+CistICAke3BvczE9
MX0kCistICAke2ZvciB0aXRsZSBpbiBtZXRhLnRpdGxlcygpOn0kCistICAgICR7aWYgcG9zMTp9
JAorLSAgICA8aDE+CistICAgICAgPGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmludCh0aXRsZSl9
JDwvYT4KKy0gICAgPC9oMT4KKy0gICAgJHs6ZWxzZTp9JAorLSAgICA8ZGl2IGNsYXNzPSJjYWxp
YnJlTWV0YVN1YnRpdGxlIj4ke3ByaW50KHRpdGxlKX0kPC9kaXY+CistICAgICR7OmVuZGlmfSQK
Ky0gICAgJHtwb3MxPTB9JAorLSAgJHs6ZW5kZm9yfSQKKy0gIDwvZGl2PgorLSAgPGRpdiBjbGFz
cz0iY2FsaWJyZU1ldGFBdXRob3IiPgorLSAgICAke3ByaW50KCcsICcuam9pbihtZXRhLmNyZWF0
b3JzKCkpKX0kCistICA8L2Rpdj4KKy08L2Rpdj4KKy0KKy08ZGl2IGNsYXNzPSJjYWxpYnJlTWFp
biI+CistCistICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKy0gICAgJHtpZiBw
cmV2TGluayBvciBuZXh0TGluazp9JAorLSAgICAgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdlRv
cCI+CistICAgICAgICAke2lmIHByZXZMaW5rOn0kCistICAgICAgICAgIDxhIGhyZWY9IiR7cHJl
dkxpbmt9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtwcmludChfKCdwcmV2aW91cyBwYWdlJykp
fSQ8L2E+CistICAgICAgICAkezplbHNlOn0kCistICAgICAgICAgIDxhIGhyZWY9IiR7dG9jVXJs
fSQiIGNsYXNzPSJjYWxpYnJlQVByZXYiPiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9h
PgorLSAgICAgICAgJHs6ZW5kaWZ9JAorLQorLSAgICAgICAgJHtpZiBuZXh0TGluazp9JAorLSAg
ICAgICAgICA8YSBocmVmPSIke25leHRMaW5rfSQiIGNsYXNzPSJjYWxpYnJlQU5leHQiPiR7cHJp
bnQoXygnbmV4dCBwYWdlJykpfSQ8L2E+CistICAgICAgICAkezplbmRpZn0kCistICAgICAgPC9k
aXY+CistICAgICR7OmVuZGlmfSQKKy0KKy0gICAgJHtlYm9va0NvbnRlbnR9JAorLSAgPC9kaXY+
CistCistICAke2lmIGhhc190b2M6fSQKKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVUb2MiPgorLSAg
ICA8aDI+PGEgaHJlZj0iJHt0b2NVcmx9JCI+JHtwcmludCggXygnVGFibGUgb2YgY29udGVudHMn
KSl9JDwvYT48L2gyPgorLSAgICAke3ByaW50KHRvYygpKX0kCistICA8L2Rpdj4KKy0gICR7OmVu
ZGlmfSQKKy0KKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdiI+CistICAgICR7aWYgcHJldkxp
bms6fSQKKy0gICAgICA8YSBocmVmPSIke3ByZXZMaW5rfSQiIGNsYXNzPSJjYWxpYnJlQVByZXYi
PiR7cHJpbnQoXygncHJldmlvdXMgcGFnZScpKX0kPC9hPgorLSAgICAkezplbHNlOn0kCistICAg
ICAgPGEgaHJlZj0iJHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBUHJldiI+JHtwcmludChfKCdw
cmV2aW91cyBwYWdlJykpfSQ8L2E+CistICAgICR7OmVuZGlmfSQKKy0KKy0gICAgPGEgaHJlZj0i
JHt0b2NVcmx9JCIgY2xhc3M9ImNhbGlicmVBSG9tZSI+JHtwcmludChfKCdzdGFydCcpKX0kPC9h
PgorLQorLSAgICAke2lmIG5leHRMaW5rOn0kCistICAgICAgPGEgaHJlZj0iJHtuZXh0TGlua30k
IiBjbGFzcz0iY2FsaWJyZUFOZXh0Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgorLSAg
ICAkezplbmRpZn0kCistICA8L2Rpdj4KKy0KKy08L2Rpdj4KKy0KKy08L2JvZHk+CistPC9odG1s
PgorZGlmZiAtLWdpdCBhL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9p
bmRleC5tdXN0YWNoZSBiL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRfZGVmYXVsdF9p
bmRleC5tdXN0YWNoZQorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLmFhMWJj
NGQKKy0tLSAvZGV2L251bGwKKysrKyBiL3Jlc291cmNlcy90ZW1wbGF0ZXMvaHRtbF9leHBvcnRf
ZGVmYXVsdF9pbmRleC5tdXN0YWNoZQorQEAgLTAsMCArMSw1NSBAQAorKzwhRE9DVFlQRSBodG1s
IFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3Lncz
Lm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1zdHJpY3QuZHRkIj4KKys8aHRtbCB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisrPGhlYWQ+CisrPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CisrCisr
PGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8x
LjEvIiAvPgorKzxsaW5rIHJlbD0ic2NoZW1hLkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9y
Zy9kYy90ZXJtcy8iIC8+CisrCisrPHRpdGxlPnt7bWV0YS5jcmVhdG9yc319IC0ge3ttZXRhLmZp
cnN0X3RpdGxlfX08L3RpdGxlPgorKworK3t7I21ldGEuaXRlbXN9fQorKyAgPG1ldGEgbmFtZT0i
REMue3tuYW1lfX0iIGNvbnRlbnQ9Int7dmFsdWV9fSIgLz4KKyt7ey9tZXRhLml0ZW1zfX0KKysK
Kys8bGluayBocmVmPSJ7e2Nzc19saW5rfX0iIHR5cGU9InRleHQvY3NzIiByZWw9InN0eWxlc2hl
ZXQiIC8+CisrPC9oZWFkPgorKzxib2R5PgorKworKzxkaXYgY2xhc3M9ImNhbGlicmVNZXRhIj4K
KysgIDxkaXYgY2xhc3M9ImNhbGlicmVNZXRhVGl0bGUiPgorKyAge3sjbWV0YS50aXRsZXN9fQor
Kwl7eyNpc19maXJzdH19CisrCQk8aDE+PGEgaHJlZj0ie3t0b2NfdXJsfX0iPnt7dGl0bGV9fTwv
YT4gPC9oMT4KKysJe3svaXNfZmlyc3R9fQorKwl7e15pc19maXJzdH19CisrCQk8ZGl2IGNsYXNz
PSJjYWxpYnJlTWV0YVN1YnRpdGxlIj57e3RpdGxlfX08L2Rpdj4KKysJe3svaXNfZmlyc3R9fQor
KyAge3svbWV0YS50aXRsZXN9fQorKyAgPC9kaXY+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0
YUF1dGhvciI+e3ttZXRhLmNyZWF0b3JzfX08L2Rpdj4KKys8L2Rpdj4KKysKKys8ZGl2IGNsYXNz
PSJjYWxpYnJlTWFpbiI+CisrICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJvb2tDb250ZW50Ij4KKysg
ICAge3sjaGFzX3RvY319CisrICAgICAgPGRpdiBjbGFzcz0iY2FsaWJyZVRvY0luZGV4Ij4KKysg
ICAgICAgIDxoMj57e3RhYmxlX29mX2NvbnRlbnRzfX08L2gyPgorKwkJe3t7dG9jfX19CisrICAg
ICAgPC9kaXY+CisrICAgIHt7L2hhc190b2N9fQorKyAgICB7e15oYXNfdG9jfX0KKysgICAgICAg
IDxoMj57e25vX3RvY319PC9oMj4KKysgICAgICAgIDxkaXY+PHN0cm9uZz48YSBocmVmPSJ7e25l
eHRfbGlua319Ij57e2JlZ2luX3RvX3JlYWR9fTwvYT48L3N0cm9uZz48L2Rpdj4KKysgICAge3sv
aGFzX3RvY319CisrICA8L2Rpdj4KKysKKysgIDxkaXYgY2xhc3M9ImNhbGlicmVFYk5hdiI+Cisr
ICAgIHt7I25leHRfbGlua319CisrICAgICAgPGEgaHJlZj0ie3tuZXh0X2xpbmt9fSIgY2xhc3M9
ImNhbGlicmVBTmV4dCI+e3tuZXh0X3BhZ2V9fTwvYT4KKysgICAge3svbmV4dF9saW5rfX0KKysg
IDwvZGl2PgorKzwvZGl2PgorKworKzwvYm9keT4KKys8L2h0bWw+CitkaWZmIC0tZ2l0IGEvcmVz
b3VyY2VzL3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0X2luZGV4LnRtcGwgYi9yZXNvdXJj
ZXMvdGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CitpbmRleCBmMDY2NWFkLi4wMDAwMDAwCistLS0gYS9yZXNvdXJjZXMvdGVt
cGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHRfaW5kZXgudG1wbAorKysrIC9kZXYvbnVsbAorQEAg
LTEsNjEgKzAsMCBAQAorLTwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwg
MS4wIFN0cmljdC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1sMS1z
dHJpY3QuZHRkIj4KKy08aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+
CistPGhlYWQ+CistPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CistCistPGxpbmsgcmVsPSJzY2hlbWEuREMiIGhyZWY9
Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiAvPgorLTxsaW5rIHJlbD0ic2NoZW1h
LkRDVEVSTVMiIGhyZWY9Imh0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8iIC8+CistCistPHRpdGxl
PiR7cHJpbnQoJywgJy5qb2luKG1ldGEuY3JlYXRvcnMoKSkpfSQgLSAke3ByaW50KG5leHQobWV0
YS50aXRsZXMoKSkpOyBwcmludChtZXRhLnRpdGxlcygpLmNsb3NlKCkpfSQ8L3RpdGxlPgorLQor
LSR7Zm9yIGl0ZW0gaW4gbWV0YTp9JAorLSAgPG1ldGEgJHtwcmludCgnbmFtZT0iREMuJytpdGVt
WyduYW1lJ10rJyInKX0kICR7cHJpbnQoJ2NvbnRlbnQ9IicraXRlbVsndmFsdWUnXSsnIicpfSQg
Lz4KKy0kezplbmRmb3J9JAorLQorLTxsaW5rIGhyZWY9IiR7Y3NzTGlua30kIiB0eXBlPSJ0ZXh0
L2NzcyIgcmVsPSJzdHlsZXNoZWV0IiAvPgorLTwvaGVhZD4KKy08Ym9keT4KKy0KKy08ZGl2IGNs
YXNzPSJjYWxpYnJlTWV0YSI+CistICA8ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YVRpdGxlIj4KKy0g
ICR7cG9zMT0xfSQKKy0gICR7Zm9yIHRpdGxlIGluIG1ldGEudGl0bGVzKCk6fSQKKy0gICAgJHtp
ZiBwb3MxOn0kCistICAgIDxoMT4KKy0gICAgICA8YSBocmVmPSIke3RvY1VybH0kIj4ke3ByaW50
KHRpdGxlKX0kPC9hPgorLSAgICA8L2gxPgorLSAgICAkezplbHNlOn0kCistICAgIDxkaXYgY2xh
c3M9ImNhbGlicmVNZXRhU3VidGl0bGUiPiR7cHJpbnQodGl0bGUpfSQ8L2Rpdj4KKy0gICAgJHs6
ZW5kaWZ9JAorLSAgICAke3BvczE9MH0kCistICAkezplbmRmb3J9JAorLSAgPC9kaXY+CistICA8
ZGl2IGNsYXNzPSJjYWxpYnJlTWV0YUF1dGhvciI+CistICAgICR7cHJpbnQoJywgJy5qb2luKG1l
dGEuY3JlYXRvcnMoKSkpfSQKKy0gIDwvZGl2PgorLTwvZGl2PgorLQorLTxkaXYgY2xhc3M9ImNh
bGlicmVNYWluIj4KKy0gIDxkaXYgY2xhc3M9ImNhbGlicmVFYm9va0NvbnRlbnQiPgorLQorLSAg
ICAke2lmIGhhc190b2M6fSQKKy0gICAgICA8ZGl2IGNsYXNzPSJjYWxpYnJlVG9jSW5kZXgiPgor
LSAgICAgICAgPGgyPiR7cHJpbnQoXygnVGFibGUgb2YgY29udGVudHMnKSl9JDwvaDI+CistICAg
ICAgICAke3RvY30kCistICAgICAgPC9kaXY+CistICAgICR7OmVsc2U6fSQKKy0gICAgICAgIDxo
Mj4ke3ByaW50KF8oJ05vIHRhYmxlIG9mIGNvbnRlbnRzIHByZXNlbnQnKSl9JDwvaDI+CistICAg
ICAgICA8ZGl2PjxzdHJvbmc+PGEgaHJlZj0iJHtuZXh0TGlua30kIj4ke3ByaW50KF8oJ2JlZ2lu
IHRvIHJlYWQnKSl9JDwvYT48L3N0cm9uZz48L2Rpdj4KKy0gICAgJHs6ZW5kaWZ9JAorLQorLSAg
PC9kaXY+CistCistICA8ZGl2IGNsYXNzPSJjYWxpYnJlRWJOYXYiPgorLSAgICAke2lmIG5leHRM
aW5rOn0kCistICAgICAgPGEgaHJlZj0iJHtuZXh0TGlua30kIiBjbGFzcz0iY2FsaWJyZUFOZXh0
Ij4ke3ByaW50KF8oJ25leHQgcGFnZScpKX0kPC9hPgorLSAgICAkezplbmRpZn0kCistICA8L2Rp
dj4KKy08L2Rpdj4KKy0KKy08L2JvZHk+CistPC9odG1sPgorZGlmZiAtLWdpdCBhL3NyYy9jYWxp
YnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvaHRtbF9vdXRwdXQucHkgYi9zcmMvY2FsaWJy
ZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2h0bWxfb3V0cHV0LnB5CitpbmRleCBlYTY0Yzcw
Li41NTczZDA0IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1
Z2lucy9odG1sX291dHB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24v
cGx1Z2lucy9odG1sX291dHB1dC5weQorQEAgLTI3LDEzICsyNywxMyBAQCBjbGFzcyBIVE1MT3V0
cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6CisgCisgICAgIG9wdGlvbnMgPSB7CisgICAgICAgICBP
cHRpb25SZWNvbW1lbmRhdGlvbihuYW1lPSd0ZW1wbGF0ZV9jc3MnLAorLSAgICAgICAgICAgIGhl
bHA9XygnQ1NTIGZpbGUgdXNlZCBmb3IgdGhlIG91dHB1dCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0
IGZpbGUnKSksCisrICAgICAgICAgICAgaGVscD1fKCdDU1MgZmlsZSB1c2VkIGZvciB0aGUgb3V0
cHV0IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgQ1NTLicpKSwKKyAKKyAgICAgICAgIE9wdGlvblJl
Y29tbWVuZGF0aW9uKG5hbWU9J3RlbXBsYXRlX2h0bWxfaW5kZXgnLAorLSAgICAgICAgICAgIGhl
bHA9XygnVGVtcGxhdGUgdXNlZCBmb3IgZ2VuZXJhdGlvbiBvZiB0aGUgSFRNTCBpbmRleCBmaWxl
IGluc3RlYWQgb2YgdGhlIGRlZmF1bHQgZmlsZScpKSwKKysgICAgICAgICAgICBoZWxwPV8oJ1Rl
bXBsYXRlIHVzZWQgZm9yIGdlbmVyYXRpb24gb2YgdGhlIEhUTUwgaW5kZXggZmlsZSBpbnN0ZWFk
IG9mIHRoZSBkZWZhdWx0IHRlbXBsYXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAorIAorICAg
ICAgICAgT3B0aW9uUmVjb21tZW5kYXRpb24obmFtZT0ndGVtcGxhdGVfaHRtbCcsCistICAgICAg
ICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgSFRN
TCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGZpbGUnKSksCisr
ICAgICAgICAgICAgaGVscD1fKCdUZW1wbGF0ZSB1c2VkIGZvciB0aGUgZ2VuZXJhdGlvbiBvZiB0
aGUgSFRNTCBjb250ZW50cyBvZiB0aGUgYm9vayBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IHRlbXBs
YXRlLiBJbiBNdXN0YWNoZSBmb3JtYXQuJykpLAorIAorICAgICAgICAgT3B0aW9uUmVjb21tZW5k
YXRpb24obmFtZT0nZXh0cmFjdF90bycsCisgICAgICAgICAgICAgaGVscD1fKCdFeHRyYWN0IHRo
ZSBjb250ZW50cyBvZiB0aGUgZ2VuZXJhdGVkIFpJUCBmaWxlIHRvIHRoZSAnCitAQCAtODUsOCAr
ODUsOCBAQCBjbGFzcyBIVE1MT3V0cHV0KE91dHB1dEZvcm1hdFBsdWdpbik6CisgICAgICAgICAg
ICAgICAgIHhtbF9kZWNsYXJhdGlvbj1GYWxzZSkKKyAKKyAgICAgZGVmIGNvbnZlcnQoc2VsZiwg
b2ViX2Jvb2ssIG91dHB1dF9wYXRoLCBpbnB1dF9wbHVnaW4sIG9wdHMsIGxvZyk6CisrICAgICAg
ICBpbXBvcnQgcHlzdGFjaGUKKyAgICAgICAgIGZyb20gbHhtbCBpbXBvcnQgZXRyZWUKKy0gICAg
ICAgIGZyb20gdGVtcGxpdGUgaW1wb3J0IFRlbXBsaXRlCisgCisgICAgICAgICBmcm9tIGNhbGli
cmUuZWJvb2tzLmh0bWwubWV0YSBpbXBvcnQgRWFzeU1ldGEKKyAgICAgICAgIGZyb20gY2FsaWJy
ZS51dGlscyBpbXBvcnQgemlwZmlsZQorQEAgLTk3LDcgKzk3LDcgQEAgY2xhc3MgSFRNTE91dHB1
dChPdXRwdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAgIHdpdGggb3BlbihvcHRzLnRlbXBs
YXRlX2h0bWxfaW5kZXgsICdyYicpIGFzIGY6CisgICAgICAgICAgICAgICAgIHRlbXBsYXRlX2h0
bWxfaW5kZXhfZGF0YSA9IGYucmVhZCgpCisgICAgICAgICBlbHNlOgorLSAgICAgICAgICAgIHRl
bXBsYXRlX2h0bWxfaW5kZXhfZGF0YSA9IFAoJ3RlbXBsYXRlcy9odG1sX2V4cG9ydF9kZWZhdWx0
X2luZGV4LnRtcGwnLCBkYXRhPVRydWUpCisrICAgICAgICAgICAgdGVtcGxhdGVfaHRtbF9kYXRh
ID0gUCgndGVtcGxhdGVzL2h0bWxfZXhwb3J0X2RlZmF1bHQubXVzdGFjaGUnLCBkYXRhPVRydWUp
CisgCisgICAgICAgICBpZiBvcHRzLnRlbXBsYXRlX2h0bWwgaXMgbm90IE5vbmU6CisgICAgICAg
ICAgICAgd2l0aCBvcGVuKG9wdHMudGVtcGxhdGVfaHRtbCwgJ3JiJykgYXMgZjoKK0BAIC0xMTEs
OSArMTExLDEwIEBAIGNsYXNzIEhUTUxPdXRwdXQoT3V0cHV0Rm9ybWF0UGx1Z2luKToKKyAgICAg
ICAgIGVsc2U6CisgICAgICAgICAgICAgdGVtcGxhdGVfY3NzX2RhdGEgPSBQKCd0ZW1wbGF0ZXMv
aHRtbF9leHBvcnRfZGVmYXVsdC5jc3MnLCBkYXRhPVRydWUpCisgCistICAgICAgICB0ZW1wbGF0
ZV9odG1sX2luZGV4X2RhdGEgPSB0ZW1wbGF0ZV9odG1sX2luZGV4X2RhdGEuZGVjb2RlKCd1dGYt
OCcpCistICAgICAgICB0ZW1wbGF0ZV9odG1sX2RhdGEgPSB0ZW1wbGF0ZV9odG1sX2RhdGEuZGVj
b2RlKCd1dGYtOCcpCisrICAgICAgICB0ZW1wbGF0ZV9odG1sX2luZGV4ID0gcHlzdGFjaGUucGFy
c2UodGVtcGxhdGVfaHRtbF9pbmRleF9kYXRhLmRlY29kZSgndXRmLTgnKSkKKysgICAgICAgIHRl
bXBsYXRlX2h0bWwgPSBweXN0YWNoZS5wYXJzZSh0ZW1wbGF0ZV9odG1sX2RhdGEuZGVjb2RlKCd1
dGYtOCcpKQorICAgICAgICAgdGVtcGxhdGVfY3NzX2RhdGEgPSB0ZW1wbGF0ZV9jc3NfZGF0YS5k
ZWNvZGUoJ3V0Zi04JykKKysgICAgICAgIGhhc190b2MgPSBib29sKG9lYl9ib29rLnRvYy5jb3Vu
dCgpKQorIAorICAgICAgICAgc2VsZi5sb2cgID0gbG9nCisgICAgICAgICBzZWxmLm9wdHMgPSBv
cHRzCitAQCAtMTMwLDE4ICsxMzEsMzEgQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQ
bHVnaW4pOgorICAgICAgICAgY3NzX3BhdGggPSBvdXRwdXRfZGlyK29zLnNlcCsnY2FsaWJyZUh0
bWxPdXRCYXNpY0Nzcy5jc3MnCisgICAgICAgICB3aXRoIG9wZW4oY3NzX3BhdGgsICd3YicpIGFz
IGY6CisgICAgICAgICAgICAgZi53cml0ZSh0ZW1wbGF0ZV9jc3NfZGF0YS5lbmNvZGUoJ3V0Zi04
JykpCisrICAgICAgICBtZXRhX2RpY3QgPSB7CisrICAgICAgICAgICAgJ3RpdGxlcyc6IFt7J3Rp
dGxlJzogeCwgJ2lzX2ZpcnN0JzogaSA9PSAwfSBmb3IgaSwgeCBpbiBlbnVtZXJhdGUobWV0YS50
aXRsZXMoKSldLAorKyAgICAgICAgICAgICdjcmVhdG9ycyc6IGF1dGhvcnNfdG9fc3RyaW5nKHR1
cGxlKG1ldGEuY3JlYXRvcnMoKSkpLAorKyAgICAgICAgICAgICdpdGVtcyc6IGxpc3QobWV0YSks
CisrICAgICAgICB9CisrICAgICAgICBtZXRhX2RpY3RbJ2ZpcnN0X3RpdGxlJ10gPSBtZXRhX2Rp
Y3RbJ3RpdGxlcyddWzBdWyd0aXRsZSddIGlmIG1ldGFfZGljdFsndGl0bGVzJ10gZWxzZSAnJwor
KyAgICAgICAgYmFzaWNfdGVtcGxhdGVfdmFycyA9IHsKKysgICAgICAgICAgICAgICAgJ21ldGEn
OiBtZXRhX2RpY3QsICdoYXNfdG9jJzogaGFzX3RvYywKKysgICAgICAgICAgICAgICAgJ3RhYmxl
X29mX2NvbnRlbnRzJzogIF8oJ1RhYmxlIG9mIGNvbnRlbnRzJyksICdub190b2MnOiBfKCdObyB0
YWJsZSBvZiBjb250ZW50cyBwcmVzZW50JyksCisrICAgICAgICAgICAgICAgICdiZWdpbl90b19y
ZWFkJzogXygnYmVnaW4gdG8gcmVhZCcpLCAnc3RhcnQnOiBfKCdzdGFydCcpLAorKyAgICAgICAg
ICAgICAgICAncHJldl9wYWdlJzogXygncHJldmlvdXMgcGFnZScpLCAnbmV4dF9wYWdlJzogXygn
bmV4dCBwYWdlJyksCisrICAgICAgICB9CisgCisgICAgICAgICB3aXRoIG9wZW4ob3V0cHV0X2Zp
bGUsICd3YicpIGFzIGY6CistICAgICAgICAgICAgaHRtbF90b2MgPSBzZWxmLmdlbmVyYXRlX2h0
bWxfdG9jKG9lYl9ib29rLCBvdXRwdXRfZmlsZSwgb3V0cHV0X2RpcikKKy0gICAgICAgICAgICB0
ZW1wbGl0ZSA9IFRlbXBsaXRlKHRlbXBsYXRlX2h0bWxfaW5kZXhfZGF0YSkKKyAgICAgICAgICAg
ICBuZXh0TGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhyZWYKKyAgICAgICAgICAgICBuZXh0TGlu
ayA9IHJlbHBhdGgob3V0cHV0X2Rpcitvcy5zZXArbmV4dExpbmssIGRpcm5hbWUob3V0cHV0X2Zp
bGUpKQorICAgICAgICAgICAgIGNzc0xpbmsgPSByZWxwYXRoKGFic3BhdGgoY3NzX3BhdGgpLCBk
aXJuYW1lKG91dHB1dF9maWxlKSkKKyAgICAgICAgICAgICB0b2NVcmwgPSByZWxwYXRoKG91dHB1
dF9maWxlLCBkaXJuYW1lKG91dHB1dF9maWxlKSkKKy0gICAgICAgICAgICB0ID0gdGVtcGxpdGUu
cmVuZGVyKGhhc190b2M9Ym9vbChvZWJfYm9vay50b2MuY291bnQoKSksCistICAgICAgICAgICAg
ICAgICAgICB0b2M9aHRtbF90b2MsIG1ldGE9bWV0YSwgbmV4dExpbms9bmV4dExpbmssCistICAg
ICAgICAgICAgICAgICAgICB0b2NVcmw9dG9jVXJsLCBjc3NMaW5rPWNzc0xpbmssCistICAgICAg
ICAgICAgICAgICAgICBmaXJzdENvbnRlbnRQYWdlTGluaz1uZXh0TGluaykKKysgICAgICAgICAg
ICB0b2NfYXNfaHRtbCA9IHNlbGYuZ2VuZXJhdGVfaHRtbF90b2Mob2ViX2Jvb2ssIG91dHB1dF9m
aWxlLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2UgJycKKysgICAgICAgICAgICB2ID0gYmFz
aWNfdGVtcGxhdGVfdmFycy5jb3B5KCkKKysgICAgICAgICAgICB2LnVwZGF0ZSh7CisrICAgICAg
ICAgICAgICAgICd0b2MnOiB0b2NfYXNfaHRtbCwgJ2Nzc19saW5rJzogY3NzTGluaywgJ3RvY191
cmwnOiB0b2NVcmwsICduZXh0X2xpbmsnOiBuZXh0TGluaywKKysgICAgICAgICAgICAgICAgJ2Zp
cnN0X2NvbnRlbnRfcGFnZV9saW5rJzogbmV4dExpbmssCisrICAgICAgICAgICAgfSkKKysgICAg
ICAgICAgICB0ID0gcHlzdGFjaGUucmVuZGVyKHRlbXBsYXRlX2h0bWxfaW5kZXgsIHYpCisgICAg
ICAgICAgICAgaWYgaXNpbnN0YW5jZSh0LCBzdHIpOgorICAgICAgICAgICAgICAgICB0ID0gdC5l
bmNvZGUoJ3V0Zi04JykKKyAgICAgICAgICAgICBmLndyaXRlKHQpCitAQCAtMTk3LDE3ICsyMTEs
MTggQEAgY2xhc3MgSFRNTE91dHB1dChPdXRwdXRGb3JtYXRQbHVnaW4pOgorICAgICAgICAgICAg
ICAgICBmaXJzdENvbnRlbnRQYWdlTGluayA9IG9lYl9ib29rLnNwaW5lWzBdLmhyZWYKKyAKKyAg
ICAgICAgICAgICAgICAgIyByZW5kZXIgdGVtcGxhdGUKKy0gICAgICAgICAgICAgICAgdGVtcGxp
dGUgPSBUZW1wbGl0ZSh0ZW1wbGF0ZV9odG1sX2RhdGEpCistCisgICAgICAgICAgICAgICAgIGRl
ZiB0b2MoKToKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLmdlbmVyYXRlX2h0bWxf
dG9jKG9lYl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKQorLSAgICAgICAgICAgICAgICB0ID0gdGVt
cGxpdGUucmVuZGVyKGVib29rQ29udGVudD1lYm9va19jb250ZW50LAorLSAgICAgICAgICAgICAg
ICAgICAgICAgIHByZXZMaW5rPXByZXZMaW5rLCBuZXh0TGluaz1uZXh0TGluaywKKy0gICAgICAg
ICAgICAgICAgICAgICAgICBoYXNfdG9jPWJvb2wob2ViX2Jvb2sudG9jLmNvdW50KCkpLCB0b2M9
dG9jLAorLSAgICAgICAgICAgICAgICAgICAgICAgIHRvY1VybD10b2NVcmwsIGhlYWRfY29udGVu
dD1oZWFkX2NvbnRlbnQsCistICAgICAgICAgICAgICAgICAgICAgICAgbWV0YT1tZXRhLCBjc3NM
aW5rPWNzc0xpbmssCistICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RDb250ZW50UGFnZUxp
bms9Zmlyc3RDb250ZW50UGFnZUxpbmspCistCisrICAgICAgICAgICAgICAgICAgICByZXR1cm4K
KysgICAgICAgICAgICAgICAgdG9jX2FzX2h0bWwgPSBzZWxmLmdlbmVyYXRlX2h0bWxfdG9jKG9l
Yl9ib29rLCBwYXRoLCBvdXRwdXRfZGlyKSBpZiBoYXNfdG9jIGVsc2UgJycKKysgICAgICAgICAg
ICAgICAgdiA9IGJhc2ljX3RlbXBsYXRlX3ZhcnMuY29weSgpCisrICAgICAgICAgICAgICAgIHYu
dXBkYXRlKHsKKysgICAgICAgICAgICAgICAgICAgICdoYXNfbGluayc6IHByZXZMaW5rIG9yIG5l
eHRMaW5rLAorKyAgICAgICAgICAgICAgICAgICAgJ3ByZXZfbGluayc6IHByZXZMaW5rLCAnbmV4
dF9saW5rJzogbmV4dExpbmssICd0b2NfdXJsJzogdG9jVXJsLAorKyAgICAgICAgICAgICAgICAg
ICAgJ2hlYWRfY29udGVudCc6IGhlYWRfY29udGVudCwgJ2Vib29rX2NvbnRlbnQnOiBlYm9va19j
b250ZW50LAorKyAgICAgICAgICAgICAgICAgICAgJ2Nzc19saW5rJzogY3NzTGluaywgJ3RvYyc6
IHRvY19hc19odG1sLAorKyAgICAgICAgICAgICAgICAgICAgJ2ZpcnN0X2NvbnRlbnRfcGFnZV9s
aW5rJzogZmlyc3RDb250ZW50UGFnZUxpbmssCisrICAgICAgICAgICAgICAgIH0pCisrICAgICAg
ICAgICAgICAgIHQgPSBweXN0YWNoZS5yZW5kZXIodGVtcGxhdGVfaHRtbCwgdikKKyAgICAgICAg
ICAgICAgICAgIyB3cml0ZSBodG1sIHRvIGZpbGUKKyAgICAgICAgICAgICAgICAgd2l0aCBvcGVu
KHBhdGgsICd3YicpIGFzIGY6CisgICAgICAgICAgICAgICAgICAgICBmLndyaXRlKHQuZW5jb2Rl
KCd1dGYtOCcpKQorZGlmZiAtLWdpdCBhL3NyYy90ZW1wbGl0ZS9fX2luaXRfXy5weSBiL3NyYy90
ZW1wbGl0ZS9fX2luaXRfXy5weQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA4NzIz
ZDBkLi4wMDAwMDAwCistLS0gYS9zcmMvdGVtcGxpdGUvX19pbml0X18ucHkKKysrKyAvZGV2L251
bGwKK0BAIC0xLDk2ICswLDAgQEAKKy0jIS91c3IvYmluL2VudiBweXRob24KKy0jCistIyAgICAg
ICBUZW1wbGl0ZSsKKy0jICAgICAgIEEgbGlnaHQtd2VpZ2h0LCBmdWxseSBmdW5jdGlvbmFsLCBn
ZW5lcmFsIHB1cnBvc2UgdGVtcGxhdGluZyBlbmdpbmUKKy0jCistIyAgICAgICBDb3B5cmlnaHQg
KGMpIDIwMDkgam9vbmlzIG5ldyBtZWRpYQorLSMgICAgICAgQXV0aG9yOiBUaGltbyBLcmFlbWVy
IDx0aGltby5rcmFlbWVyQGpvb25pcy5kZT4KKy0jCistIyAgICAgICBCYXNlZCBvbiBUZW1wbGl0
ZSAtIFRvbWVyIEZpbGliYQorLSMgICAgICAgaHR0cDovL2NvZGUuYWN0aXZlc3RhdGUuY29tL3Jl
Y2lwZXMvNDk2NzAyLworLSMKKy0jICAgICAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CistIyAgICAgICBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieQorLSMgICAgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy0jICAgICAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCistIworLSMgICAgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCistIyAgICAgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLSMgICAg
ICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZQorLSMgICAgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKy0jCistIyAgICAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLSMgICAgICAgYWxvbmcgd2l0aCB0aGlzIHBy
b2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy0jICAgICAgIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKy0j
ICAgICAgIE1BIDAyMTEwLTEzMDEsIFVTQS4KKy0jCistCistaW1wb3J0IHJlCistaW1wb3J0IHN5
cworLQorLWZyb20gcG9seWdsb3QuYnVpbHRpbnMgaW1wb3J0IHVuaWNvZGVfdHlwZQorLQorLQor
LWNsYXNzIFRlbXBsaXRlOgorLSAgICBhdXRvX2VtaXQgPSByZS5jb21waWxlKHInJycoXlsnIl0p
fCheW2EtekEtWjAtOV9bXF0nIl0rJCknJycpCistCistICAgIGRlZiBfX2luaXRfXyhzZWxmLCB0
ZW1wbGF0ZSwgc3RhcnQ9JyR7JywgZW5kPSd9JCcpOgorLSAgICAgICAgaWYgbGVuKHN0YXJ0KSAh
PSAyIG9yIGxlbihlbmQpICE9IDI6CistICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignZWFj
aCBkZWxpbWl0ZXIgbXVzdCBiZSB0d28gY2hhcmFjdGVycyBsb25nJykKKy0gICAgICAgIGRlbGlt
aXRlciA9IHJlLmNvbXBpbGUoJyVzKC4qPyklcycgJSAocmUuZXNjYXBlKHN0YXJ0KSwgcmUuZXNj
YXBlKGVuZCkpLCByZS5ET1RBTEwpCistICAgICAgICBvZmZzZXQgPSAwCistICAgICAgICB0b2tl
bnMgPSBbXQorLSAgICAgICAgZm9yIGksIHBhcnQgaW4gZW51bWVyYXRlKGRlbGltaXRlci5zcGxp
dCh0ZW1wbGF0ZSkpOgorLSAgICAgICAgICAgIHBhcnQgPSBwYXJ0LnJlcGxhY2UoJ1xcJy5qb2lu
KGxpc3Qoc3RhcnQpKSwgc3RhcnQpCistICAgICAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgn
XFwnLmpvaW4obGlzdChlbmQpKSwgZW5kKQorLSAgICAgICAgICAgIGlmIGkgJSAyID09IDA6Cist
ICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0OgorLSAgICAgICAgICAgICAgICAgICAgY29udGlu
dWUKKy0gICAgICAgICAgICAgICAgcGFydCA9IHBhcnQucmVwbGFjZSgnXFwnLCAnXFxcXCcpLnJl
cGxhY2UoJyInLCAnXFwiJykKKy0gICAgICAgICAgICAgICAgcGFydCA9ICdcdCcgKiBvZmZzZXQg
KyAnZW1pdCgiIiIlcyIiIiknICUgcGFydAorLSAgICAgICAgICAgIGVsc2U6CistICAgICAgICAg
ICAgICAgIHBhcnQgPSBwYXJ0LnJzdHJpcCgpCistICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0
OgorLSAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAgaWYgcGFy
dC5sc3RyaXAoKS5zdGFydHN3aXRoKCc6Jyk6CistICAgICAgICAgICAgICAgICAgICBpZiBub3Qg
b2Zmc2V0OgorLSAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIFN5bnRheEVycm9yKCdubyBi
bG9jayBzdGF0ZW1lbnQgdG8gdGVybWluYXRlOiAkeyVzfSQnICUgcGFydCkKKy0gICAgICAgICAg
ICAgICAgICAgIG9mZnNldCAtPSAxCistICAgICAgICAgICAgICAgICAgICBwYXJ0ID0gcGFydC5s
c3RyaXAoKVsxOl0KKy0gICAgICAgICAgICAgICAgICAgIGlmIG5vdCBwYXJ0LmVuZHN3aXRoKCc6
Jyk6CistICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWUKKy0gICAgICAgICAgICAgICAg
ZWxpZiBzZWxmLmF1dG9fZW1pdC5tYXRjaChwYXJ0LmxzdHJpcCgpKToKKy0gICAgICAgICAgICAg
ICAgICAgIHBhcnQgPSAnZW1pdCglcyknICUgcGFydC5sc3RyaXAoKQorLSAgICAgICAgICAgICAg
ICBsaW5lcyA9IHBhcnQuc3BsaXRsaW5lcygpCistICAgICAgICAgICAgICAgIG1hcmdpbiA9IG1p
bihsZW4obCkgLSBsZW4obC5sc3RyaXAoKSkgZm9yIGwgaW4gbGluZXMgaWYgbC5zdHJpcCgpKQor
LSAgICAgICAgICAgICAgICBwYXJ0ID0gJ1xuJy5qb2luKCdcdCcgKiBvZmZzZXQgKyBsW21hcmdp
bjpdIGZvciBsIGluIGxpbmVzKQorLSAgICAgICAgICAgICAgICBpZiBwYXJ0LmVuZHN3aXRoKCc6
Jyk6CistICAgICAgICAgICAgICAgICAgICBvZmZzZXQgKz0gMQorLSAgICAgICAgICAgIHRva2Vu
cy5hcHBlbmQocGFydCkKKy0gICAgICAgIGlmIG9mZnNldDoKKy0gICAgICAgICAgICByYWlzZSBT
eW50YXhFcnJvcignJWkgYmxvY2sgc3RhdGVtZW50KHMpIG5vdCB0ZXJtaW5hdGVkJyAlIG9mZnNl
dCkKKy0gICAgICAgIHNlbGYuX19jb2RlID0gY29tcGlsZSgnXG4nLmpvaW4odG9rZW5zKSwgJzx0
ZW1wbGl0ZSAlcj4nICUgdGVtcGxhdGVbOjIwXSwgJ2V4ZWMnKQorLQorLSAgICBkZWYgcmVuZGVy
KHNlbGYsIF9fbmFtZXNwYWNlPU5vbmUsICoqa3cpOgorLSAgICAgICAgIiIiCistICAgICAgICBy
ZW5kZXJzIHRoZSB0ZW1wbGF0ZSBhY2NvcmRpbmcgdG8gdGhlIGdpdmVuIG5hbWVzcGFjZS4KKy0g
ICAgICAgIF9fbmFtZXNwYWNlIC0gYSBkaWN0aW9uYXJ5IHNlcnZpbmcgYXMgYSBuYW1lc3BhY2Ug
Zm9yIGV2YWx1YXRpb24KKy0gICAgICAgICoqa3cgLSBrZXl3b3JkIGFyZ3VtZW50cyB3aGljaCBh
cmUgYWRkZWQgdG8gdGhlIG5hbWVzcGFjZQorLSAgICAgICAgIiIiCistICAgICAgICBuYW1lc3Bh
Y2UgPSB7fQorLSAgICAgICAgaWYgX19uYW1lc3BhY2U6CistICAgICAgICAgICAgbmFtZXNwYWNl
LnVwZGF0ZShfX25hbWVzcGFjZSkKKy0gICAgICAgIGlmIGt3OgorLSAgICAgICAgICAgIG5hbWVz
cGFjZS51cGRhdGUoa3cpCistICAgICAgICBuYW1lc3BhY2VbJ2VtaXQnXSA9IHNlbGYud3JpdGUK
Ky0KKy0gICAgICAgIF9fc3Rkb3V0ID0gc3lzLnN0ZG91dAorLSAgICAgICAgc3lzLnN0ZG91dCA9
IHNlbGYKKy0gICAgICAgIHNlbGYuX19vdXRwdXQgPSBbXQorLSAgICAgICAgZXZhbChzZWxmLl9f
Y29kZSwgbmFtZXNwYWNlKQorLSAgICAgICAgc3lzLnN0ZG91dCA9IF9fc3Rkb3V0CistICAgICAg
ICByZXR1cm4gJycuam9pbihzZWxmLl9fb3V0cHV0KQorLQorLSAgICBkZWYgd3JpdGUoc2VsZiwg
KmFyZ3MpOgorLSAgICAgICAgZm9yIGEgaW4gYXJnczoKKy0gICAgICAgICAgICBzZWxmLl9fb3V0
cHV0LmFwcGVuZCh1bmljb2RlX3R5cGUoYSkpCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2Rl
Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3Vy
ZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMt
YXJlLWV4dHJhY3RlZC5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91
cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1l
eHRyYWN0ZWQucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNh
bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNjA2
NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCTE5NzAtMDEtMDEg
MDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM2ICswLDAgQEAKLUZyb206IEtvdmlkIEdv
eWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IFRodSwgMTIgRmViIDIwMjYgMTA6MTU6
NTcgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI2MDY0OiBPRFQgSW5wdXQ6IEVuc3VyZSBpbWFn
ZXMgYXJlIGV4dHJhY3RlZCB3aXRoaW4KLSBjb250YWluZXIKLQotRm9yd2FyZGVkOiBub3QtbmVl
ZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkv
YWR2aXNvcmllcy9HSFNBLTcyY2gtM2hxYy1wZ21wCi1PcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNv
bS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2UxYjVmOWI0NWE1ZThmYTk2YzEzNjk2M2FkOWEx
ZDM1ZTZhZGFjNjIKLQotU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21s
QGdtYWlsLmNvbT4KLS0tLQotIHNyYy9jYWxpYnJlL2Vib29rcy9vZHQvaW5wdXQucHkgfCA4ICsr
KysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQot
Ci1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL29kdC9pbnB1dC5weSBiL3NyYy9jYWxp
YnJlL2Vib29rcy9vZHQvaW5wdXQucHkKLWluZGV4IGQyZGEyZTEuLjBkYWEyOTggMTAwNjQ0Ci0t
LS0gYS9zcmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0LnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9l
Ym9va3Mvb2R0L2lucHV0LnB5Ci1AQCAtMjgsMTAgKzI4LDE2IEBAIGNsYXNzIEV4dHJhY3QoT0RG
MlhIVE1MKToKLSAgICAgZGVmIGV4dHJhY3RfcGljdHVyZXMoc2VsZiwgemYpOgotICAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKCdQaWN0dXJlcycpOgotICAgICAgICAgICAgIG9zLm1ha2Vk
aXJzKCdQaWN0dXJlcycpCi0rICAgICAgICBiYXNlID0gb3MucGF0aC5hYnNwYXRoKG9zLmdldGN3
ZCgpKQotKyAgICAgICAgaWYgbm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKLSsgICAgICAgICAg
ICBiYXNlICs9IG9zLnNlcAotICAgICAgICAgZm9yIG5hbWUgaW4gemYubmFtZWxpc3QoKToKLSAg
ICAgICAgICAgICBpZiBuYW1lLnN0YXJ0c3dpdGgoJ1BpY3R1cmVzJykgYW5kIG5hbWUgbm90IGlu
IHsnUGljdHVyZXMnLCAnUGljdHVyZXMvJ306Ci0rICAgICAgICAgICAgICAgIGRlc3QgPSBvcy5w
YXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQotKyAgICAgICAgICAgICAgICBp
ZiBvcy5wYXRoLmNvbW1vbnByZWZpeChbYmFzZSwgZGVzdF0pICE9IGRlc3Q6Ci0rICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZQotICAgICAgICAgICAgICAgICBkYXRhID0gemYucmVhZChuYW1l
KQotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgZjoKLSsgICAgICAg
ICAgICAgICAgd2l0aCBvcGVuKGRlc3QsICd3YicpIGFzIGY6Ci0gICAgICAgICAgICAgICAgICAg
ICBmLndyaXRlKGRhdGEpCi0gCi0gICAgIGRlZiBhcHBseV9saXN0X3N0YXJ0cyhzZWxmLCByb290
LCBsb2cpOgpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh
bS8wMDg3LUNWRS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0
ZWQucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg3LUNW
RS0yMDI2LTI2MDY0LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gK
LS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAy
Ni0yNjA2NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCTE5NzAt
MDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlh
bi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1p
bWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr
MDkwMApAQCAtMCwwICsxLDM2IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lh
bC5uZXQ+CitEYXRlOiBUaHUsIDEyIEZlYiAyMDI2IDEwOjE1OjU3ICswNTMwCitTdWJqZWN0OiBD
VkUtMjAyNi0yNjA2NDogT0RUIElucHV0OiBFbnN1cmUgaW1hZ2VzIGFyZSBleHRyYWN0ZWQgd2l0
aGluCisgY29udGFpbmVyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dp
dGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS03MmNo
LTNocWMtcGdtcAorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl
L2NvbW1pdC9lMWI1ZjliNDVhNWU4ZmE5NmMxMzY5NjNhZDlhMWQzNWU2YWRhYzYyCisKK1NpZ25l
ZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBz
cmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0LnB5IHwgOCArKysrKysrLQorIDEgZmlsZSBjaGFu
Z2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3NyYy9j
YWxpYnJlL2Vib29rcy9vZHQvaW5wdXQucHkgYi9zcmMvY2FsaWJyZS9lYm9va3Mvb2R0L2lucHV0
LnB5CitpbmRleCBkMmRhMmUxLi4wZGFhMjk4IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJv
b2tzL29kdC9pbnB1dC5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL29kdC9pbnB1dC5weQor
QEAgLTI4LDEwICsyOCwxNiBAQCBjbGFzcyBFeHRyYWN0KE9ERjJYSFRNTCk6CisgICAgIGRlZiBl
eHRyYWN0X3BpY3R1cmVzKHNlbGYsIHpmKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cygnUGljdHVyZXMnKToKKyAgICAgICAgICAgICBvcy5tYWtlZGlycygnUGljdHVyZXMnKQorKyAg
ICAgICAgYmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5nZXRjd2QoKSkKKysgICAgICAgIGlmIG5v
dCBiYXNlLmVuZHN3aXRoKG9zLnNlcCk6CisrICAgICAgICAgICAgYmFzZSArPSBvcy5zZXAKKyAg
ICAgICAgIGZvciBuYW1lIGluIHpmLm5hbWVsaXN0KCk6CisgICAgICAgICAgICAgaWYgbmFtZS5z
dGFydHN3aXRoKCdQaWN0dXJlcycpIGFuZCBuYW1lIG5vdCBpbiB7J1BpY3R1cmVzJywgJ1BpY3R1
cmVzLyd9OgorKyAgICAgICAgICAgICAgICBkZXN0ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgu
am9pbihiYXNlLCBuYW1lKSkKKysgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5jb21tb25wcmVm
aXgoW2Jhc2UsIGRlc3RdKSAhPSBkZXN0OgorKyAgICAgICAgICAgICAgICAgICAgY29udGludWUK
KyAgICAgICAgICAgICAgICAgZGF0YSA9IHpmLnJlYWQobmFtZSkKKy0gICAgICAgICAgICAgICAg
d2l0aCBvcGVuKG5hbWUsICd3YicpIGFzIGY6CisrICAgICAgICAgICAgICAgIHdpdGggb3Blbihk
ZXN0LCAnd2InKSBhcyBmOgorICAgICAgICAgICAgICAgICAgICAgZi53cml0ZShkYXRhKQorIAor
ICAgICBkZWYgYXBwbHlfbGlzdF9zdGFydHMoc2VsZiwgcm9vdCwgbG9nKToKZGlmZiAtTnJ1IGNh
bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2
NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJlLnBhdGNoIGNhbGlicmUtOC41
LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2NS1QREItSW5w
dXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJlLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2Rz
L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVu
c3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaAkyMDI2LTA1LTI1IDA4OjE5OjUzLjAwMDAw
MDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8w
MDg3LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUu
cGF0Y2gJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAKQEAgLTEsMTIwICswLDAg
QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IFRodSwg
MTIgRmViIDIwMjYgMTA6MzE6NTMgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI2MDY1OiBQREIg
SW5wdXQ6IEVuc3VyZSBleHRyYWN0ZWQgaW1hZ2VzIGFyZSB3aXRoaW4gdGhlCi0gY29udGFpbmVy
Ci0KLUZvcndhcmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRn
b3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS12bWZoLTdtcjctcHAydwotT3Jp
Z2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9iNmRhMWMz
ODc4YzA2ZWIxMzU2Y2IwZWMxMTA2Y2I2NmUwZTliZmI4Ci0KLVNpZ25lZC1vZmYtYnk6IFlPS09U
QSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvY2FsaWJyZS9lYm9v
a3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5IHwgMjcgKysrKysrKysrKysrKysrKysrKy0tLS0t
LS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weSB8IDI1ICsr
KysrKysrKysrKysrKysrKy0tLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDM3IGluc2VydGlvbnMo
KyksIDE1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJvb2tzL3Bk
Yi9lcmVhZGVyL3JlYWRlcjEzMi5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9y
ZWFkZXIxMzIucHkKLWluZGV4IGE5MmZhM2QuLmY4YzkyODQgMTAwNjQ0Ci0tLS0gYS9zcmMvY2Fs
aWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9l
Ym9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5Ci1AQCAtOTAsNiArOTAsMTUgQEAgY2xhc3Mg
UmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6Ci0gICAgICAgICBpbWcgPSBkYXRhWzYyOl0KLSAgICAg
ICAgIHJldHVybiBuYW1lLCBpbWcKLSAKLSsgICAgZGVmIGltYWdlX2Rlc3Qoc2VsZiwgbmFtZSwg
Y3dkKToKLSsgICAgICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgoY3dkKQotKyAgICAgICAgaWYg
bm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKLSsgICAgICAgICAgICBiYXNlICs9IG9zLnNlcAot
KyAgICAgICAgYW5zID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1lKSkK
LSsgICAgICAgIGlmIG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNlOgot
KyAgICAgICAgICAgIGFucyA9ICcnCi0rICAgICAgICByZXR1cm4gYW5zCi0rCi0gICAgIGRlZiBn
ZXRfdGV4dF9wYWdlKHNlbGYsIG51bWJlcik6Ci0gICAgICAgICAnJycKLSAgICAgICAgIE9ubHkg
cGFsbWRvYyBhbmQgemxpYiBjb21wcmVzc2VkIGFyZSBzdXBwb3J0ZWQuIFRoZSB0ZXh0IGlzCi1A
QCAtMTU2LDEzICsxNjUsMTQgQEAgY2xhc3MgUmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6Ci0gICAg
ICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFn
ZXMvJykpOgotICAgICAgICAgICAgIG9zLm1ha2VkaXJzKG9zLnBhdGguam9pbihvdXRwdXRfZGly
LCAnaW1hZ2VzLycpKQotICAgICAgICAgaW1hZ2VzID0gW10KLS0gICAgICAgIHdpdGggQ3VycmVu
dERpcihvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSk6Ci0rICAgICAgICB3aXRo
IEN1cnJlbnREaXIob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFnZXMvJykpIGFzIGN3ZDoK
LSAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxmLmhlYWRlcl9yZWNvcmQubnVtX2ltYWdl
X3BhZ2VzKToKLSAgICAgICAgICAgICAgICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2Vs
Zi5oZWFkZXJfcmVjb3JkLmltYWdlX2RhdGFfb2Zmc2V0ICsgaSkKLS0gICAgICAgICAgICAgICAg
aW1hZ2VzLmFwcGVuZChuYW1lKQotLSAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3di
JykgYXMgaW1nZjoKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGlu
ZyBpbWFnZSB7bmFtZX0gdG8gaW1hZ2VzLycpCi0tICAgICAgICAgICAgICAgICAgICBpbWdmLndy
aXRlKGltZykKLSsgICAgICAgICAgICAgICAgaWYgZGVzdCA6PSBzZWxmLmltYWdlX2Rlc3QobmFt
ZSwgY3dkKToKLSsgICAgICAgICAgICAgICAgICAgIGltYWdlcy5hcHBlbmQobmFtZSkKLSsgICAg
ICAgICAgICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgotKyAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGluZyBpbWFnZSB7bmFtZX0gdG8g
aW1hZ2VzLycpCi0rICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcpCi0gCi0g
ICAgICAgICBvcGZfcGF0aCA9IHNlbGYuY3JlYXRlX29wZihvdXRwdXRfZGlyLCBpbWFnZXMsIHRv
YykKLSAKLUBAIC0yMDksOCArMjE5LDkgQEAgY2xhc3MgUmVhZGVyMTMyKEZvcm1hdFJlYWRlcik6
Ci0gICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3V0cHV0X2Rpcik6Ci0gICAgICAgICAg
ICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcikKLSAKLS0gICAgICAgIHdpdGggQ3VycmVudERpcihv
dXRwdXRfZGlyKToKLSsgICAgICAgIHdpdGggQ3VycmVudERpcihvdXRwdXRfZGlyKSBhcyBjd2Q6
Ci0gICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLm51bV9pbWFn
ZV9wYWdlcyk6Ci0gICAgICAgICAgICAgICAgIG5hbWUsIGltZyA9IHNlbGYuZ2V0X2ltYWdlKHNl
bGYuaGVhZGVyX3JlY29yZC5pbWFnZV9kYXRhX29mZnNldCArIGkpCi0tICAgICAgICAgICAgICAg
IHdpdGggb3BlbihuYW1lLCAnd2InKSBhcyBpbWdmOgotLSAgICAgICAgICAgICAgICAgICAgaW1n
Zi53cml0ZShpbWcpCi0rICAgICAgICAgICAgICAgIGlmIGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0
KG5hbWUsIGN3ZCk6Ci0rICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4oZGVzdCwgJ3diJykg
YXMgaW1nZjoKLSsgICAgICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKLWRpZmYg
LS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMjAyLnB5IGIvc3Jj
L2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQotaW5kZXggMjU5YmZlMC4u
ZDIzMzA3MiAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFk
ZXIyMDIucHkKLSsrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIyMDIu
cHkKLUBAIC0xMDgsMTMgKzEwOCwxMyBAQCBjbGFzcyBSZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToK
LSAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4ob3V0cHV0X2Rpciwg
J2ltYWdlcy8nKSk6Ci0gICAgICAgICAgICAgb3MubWFrZWRpcnMob3MucGF0aC5qb2luKG91dHB1
dF9kaXIsICdpbWFnZXMvJykpCi0gICAgICAgICBpbWFnZXMgPSBbXQotLSAgICAgICAgd2l0aCBD
dXJyZW50RGlyKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKToKLSsgICAgICAg
IHdpdGggQ3VycmVudERpcihvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkgYXMg
Y3dkOgotICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuaGVhZGVyX3JlY29yZC5ub25f
dGV4dF9vZmZzZXQsIGxlbihzZWxmLnNlY3Rpb25zKSk6Ci0gICAgICAgICAgICAgICAgIG5hbWUs
IGltZyA9IHNlbGYuZ2V0X2ltYWdlKGkpCi0tICAgICAgICAgICAgICAgIGlmIG5hbWU6Ci0tICAg
ICAgICAgICAgICAgICAgICBuYW1lID0gYXNfdW5pY29kZShuYW1lKQotKyAgICAgICAgICAgICAg
ICBuYW1lID0gYXNfdW5pY29kZShuYW1lIG9yIGInJykKLSsgICAgICAgICAgICAgICAgaWYgbmFt
ZSBhbmQgKGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0KG5hbWUsIGN3ZCkpOgotICAgICAgICAgICAg
ICAgICAgICAgaW1hZ2VzLmFwcGVuZChuYW1lKQotLSAgICAgICAgICAgICAgICAgICAgd2l0aCBv
cGVuKG5hbWUsICd3YicpIGFzIGltZ2Y6Ci0rICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4o
ZGVzdCwgJ3diJykgYXMgaW1nZjoKLSAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZy5k
ZWJ1ZyhmJ1dyaXRpbmcgaW1hZ2Uge25hbWV9IHRvIGltYWdlcy8nKQotICAgICAgICAgICAgICAg
ICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQotIAotQEAgLTE1MCw2ICsxNTAsMTUgQEAgY2xhc3Mg
UmVhZGVyMjAyKEZvcm1hdFJlYWRlcik6Ci0gCi0gICAgICAgICByZXR1cm4gcG1sCi0gCi0rICAg
IGRlZiBpbWFnZV9kZXN0KHNlbGYsIG5hbWUsIGN3ZCk6Ci0rICAgICAgICBiYXNlID0gb3MucGF0
aC5hYnNwYXRoKGN3ZCkKLSsgICAgICAgIGlmIG5vdCBiYXNlLmVuZHN3aXRoKG9zLnNlcCk6Ci0r
ICAgICAgICAgICAgYmFzZSArPSBvcy5zZXAKLSsgICAgICAgIGFucyA9IG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmpvaW4oYmFzZSwgbmFtZSkpCi0rICAgICAgICBpZiBvcy5wYXRoLmNvbW1vbnBy
ZWZpeChbYW5zLCBiYXNlXSkgIT0gYmFzZToKLSsgICAgICAgICAgICBhbnMgPSAnJwotKyAgICAg
ICAgcmV0dXJuIGFucwotKwotICAgICBkZWYgZHVtcF9pbWFnZXMoc2VsZiwgb3V0cHV0X2Rpcik6
Ci0gICAgICAgICAnJycKLSAgICAgICAgIFRoaXMgaXMgcHJpbWFyaWx5IHVzZWQgZm9yIGRlYnVn
Z2luZyBhbmQgM3JkIHBhcnR5IHRvb2xzIHRvCi1AQCAtMTU4LDggKzE2NywxMCBAQCBjbGFzcyBS
ZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToKLSAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhv
dXRwdXRfZGlyKToKLSAgICAgICAgICAgICBvcy5tYWtlZGlycyhvdXRwdXRfZGlyKQotIAotLSAg
ICAgICAgd2l0aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpOgotKyAgICAgICAgd2l0aCBDdXJyZW50
RGlyKG91dHB1dF9kaXIpIGFzIGN3ZDoKLSAgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShzZWxm
LmhlYWRlcl9yZWNvcmQubnVtX2ltYWdlX3BhZ2VzKToKLSAgICAgICAgICAgICAgICAgbmFtZSwg
aW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLmltYWdlX2RhdGFfb2Zmc2V0
ICsgaSkKLS0gICAgICAgICAgICAgICAgd2l0aCBvcGVuKG5hbWUsICd3YicpIGFzIGltZ2Y6Ci0t
ICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKLSsgICAgICAgICAgICAgICAgbmFt
ZSA9IGFzX3VuaWNvZGUobmFtZSBvciBiJycpCi0rICAgICAgICAgICAgICAgIGlmIG5hbWUgYW5k
IChkZXN0IDo9IHNlbGYuaW1hZ2VfZGVzdChuYW1lLCBjd2QpKToKLSsgICAgICAgICAgICAgICAg
ICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgotKyAgICAgICAgICAgICAgICAgICAg
ICAgIGltZ2Yud3JpdGUoaW1nKQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0
Y2hlcy91cHN0cmVhbS8wMDg4LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFj
dGVkLWltYWdlcy1hcmUucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0
cmVhbS8wMDg4LUNWRS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdl
cy1hcmUucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v
MDA4OC1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1pbWFnZXMtYXJl
LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTgu
NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlu
cHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5
LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsxLDEyMCBAQAorRnJvbTogS292aWQgR295YWwgPGtv
dmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogVGh1LCAxMiBGZWIgMjAyNiAxMDozMTo1MyArMDUz
MAorU3ViamVjdDogQ1ZFLTIwMjYtMjYwNjU6IFBEQiBJbnB1dDogRW5zdXJlIGV4dHJhY3RlZCBp
bWFnZXMgYXJlIHdpdGhpbiB0aGUKKyBjb250YWluZXIKKworRm9yd2FyZGVkOiBub3QtbmVlZGVk
CitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2
aXNvcmllcy9HSFNBLXZtZmgtN21yNy1wcDJ3CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9r
b3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2I2ZGExYzM4NzhjMDZlYjEzNTZjYjBlYzExMDZjYjY2
ZTBlOWJmYjgKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdt
YWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIxMzIu
cHkgfCAyNyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KKyBzcmMvY2FsaWJyZS9lYm9va3Mv
cGRiL2VyZWFkZXIvcmVhZGVyMjAyLnB5IHwgMjUgKysrKysrKysrKysrKysrKysrLS0tLS0tLQor
IDIgZmlsZXMgY2hhbmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2Rp
ZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFkZXIvcmVhZGVyMTMyLnB5IGIv
c3JjL2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjEzMi5weQoraW5kZXggYTkyZmEz
ZC4uZjhjOTI4NCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9y
ZWFkZXIxMzIucHkKKysrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9wZGIvZXJlYWRlci9yZWFkZXIx
MzIucHkKK0BAIC05MCw2ICs5MCwxNSBAQCBjbGFzcyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToK
KyAgICAgICAgIGltZyA9IGRhdGFbNjI6XQorICAgICAgICAgcmV0dXJuIG5hbWUsIGltZworIAor
KyAgICBkZWYgaW1hZ2VfZGVzdChzZWxmLCBuYW1lLCBjd2QpOgorKyAgICAgICAgYmFzZSA9IG9z
LnBhdGguYWJzcGF0aChjd2QpCisrICAgICAgICBpZiBub3QgYmFzZS5lbmRzd2l0aChvcy5zZXAp
OgorKyAgICAgICAgICAgIGJhc2UgKz0gb3Muc2VwCisrICAgICAgICBhbnMgPSBvcy5wYXRoLmFi
c3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQorKyAgICAgICAgaWYgb3MucGF0aC5jb21t
b25wcmVmaXgoW2FucywgYmFzZV0pICE9IGJhc2U6CisrICAgICAgICAgICAgYW5zID0gJycKKysg
ICAgICAgIHJldHVybiBhbnMKKysKKyAgICAgZGVmIGdldF90ZXh0X3BhZ2Uoc2VsZiwgbnVtYmVy
KToKKyAgICAgICAgICcnJworICAgICAgICAgT25seSBwYWxtZG9jIGFuZCB6bGliIGNvbXByZXNz
ZWQgYXJlIHN1cHBvcnRlZC4gVGhlIHRleHQgaXMKK0BAIC0xNTYsMTMgKzE2NSwxNCBAQCBjbGFz
cyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cyhvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSk6CisgICAgICAgICAgICAgb3Mu
bWFrZWRpcnMob3MucGF0aC5qb2luKG91dHB1dF9kaXIsICdpbWFnZXMvJykpCisgICAgICAgICBp
bWFnZXMgPSBbXQorLSAgICAgICAgd2l0aCBDdXJyZW50RGlyKG9zLnBhdGguam9pbihvdXRwdXRf
ZGlyLCAnaW1hZ2VzLycpKToKKysgICAgICAgIHdpdGggQ3VycmVudERpcihvcy5wYXRoLmpvaW4o
b3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkgYXMgY3dkOgorICAgICAgICAgICAgIGZvciBpIGluIHJh
bmdlKHNlbGYuaGVhZGVyX3JlY29yZC5udW1faW1hZ2VfcGFnZXMpOgorICAgICAgICAgICAgICAg
ICBuYW1lLCBpbWcgPSBzZWxmLmdldF9pbWFnZShzZWxmLmhlYWRlcl9yZWNvcmQuaW1hZ2VfZGF0
YV9vZmZzZXQgKyBpKQorLSAgICAgICAgICAgICAgICBpbWFnZXMuYXBwZW5kKG5hbWUpCistICAg
ICAgICAgICAgICAgIHdpdGggb3BlbihuYW1lLCAnd2InKSBhcyBpbWdmOgorLSAgICAgICAgICAg
ICAgICAgICAgc2VsZi5sb2cuZGVidWcoZidXcml0aW5nIGltYWdlIHtuYW1lfSB0byBpbWFnZXMv
JykKKy0gICAgICAgICAgICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQorKyAgICAgICAgICAgICAg
ICBpZiBkZXN0IDo9IHNlbGYuaW1hZ2VfZGVzdChuYW1lLCBjd2QpOgorKyAgICAgICAgICAgICAg
ICAgICAgaW1hZ2VzLmFwcGVuZChuYW1lKQorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVu
KGRlc3QsICd3YicpIGFzIGltZ2Y6CisrICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2cu
ZGVidWcoZidXcml0aW5nIGltYWdlIHtuYW1lfSB0byBpbWFnZXMvJykKKysgICAgICAgICAgICAg
ICAgICAgICAgICBpbWdmLndyaXRlKGltZykKKyAKKyAgICAgICAgIG9wZl9wYXRoID0gc2VsZi5j
cmVhdGVfb3BmKG91dHB1dF9kaXIsIGltYWdlcywgdG9jKQorIAorQEAgLTIwOSw4ICsyMTksOSBA
QCBjbGFzcyBSZWFkZXIxMzIoRm9ybWF0UmVhZGVyKToKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRo
LmV4aXN0cyhvdXRwdXRfZGlyKToKKyAgICAgICAgICAgICBvcy5tYWtlZGlycyhvdXRwdXRfZGly
KQorIAorLSAgICAgICAgd2l0aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpOgorKyAgICAgICAgd2l0
aCBDdXJyZW50RGlyKG91dHB1dF9kaXIpIGFzIGN3ZDoKKyAgICAgICAgICAgICBmb3IgaSBpbiBy
YW5nZShzZWxmLmhlYWRlcl9yZWNvcmQubnVtX2ltYWdlX3BhZ2VzKToKKyAgICAgICAgICAgICAg
ICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLmltYWdlX2Rh
dGFfb2Zmc2V0ICsgaSkKKy0gICAgICAgICAgICAgICAgd2l0aCBvcGVuKG5hbWUsICd3YicpIGFz
IGltZ2Y6CistICAgICAgICAgICAgICAgICAgICBpbWdmLndyaXRlKGltZykKKysgICAgICAgICAg
ICAgICAgaWYgZGVzdCA6PSBzZWxmLmltYWdlX2Rlc3QobmFtZSwgY3dkKToKKysgICAgICAgICAg
ICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgorKyAgICAgICAgICAgICAg
ICAgICAgICAgIGltZ2Yud3JpdGUoaW1nKQorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29r
cy9wZGIvZXJlYWRlci9yZWFkZXIyMDIucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvcGRiL2VyZWFk
ZXIvcmVhZGVyMjAyLnB5CitpbmRleCAyNTliZmUwLi5kMjMzMDcyIDEwMDY0NAorLS0tIGEvc3Jj
L2NhbGlicmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQorKysrIGIvc3JjL2NhbGli
cmUvZWJvb2tzL3BkYi9lcmVhZGVyL3JlYWRlcjIwMi5weQorQEAgLTEwOCwxMyArMTA4LDEzIEBA
IGNsYXNzIFJlYWRlcjIwMihGb3JtYXRSZWFkZXIpOgorICAgICAgICAgaWYgbm90IG9zLnBhdGgu
ZXhpc3RzKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKToKKyAgICAgICAgICAg
ICBvcy5tYWtlZGlycyhvcy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgJ2ltYWdlcy8nKSkKKyAgICAg
ICAgIGltYWdlcyA9IFtdCistICAgICAgICB3aXRoIEN1cnJlbnREaXIob3MucGF0aC5qb2luKG91
dHB1dF9kaXIsICdpbWFnZXMvJykpOgorKyAgICAgICAgd2l0aCBDdXJyZW50RGlyKG9zLnBhdGgu
am9pbihvdXRwdXRfZGlyLCAnaW1hZ2VzLycpKSBhcyBjd2Q6CisgICAgICAgICAgICAgZm9yIGkg
aW4gcmFuZ2Uoc2VsZi5oZWFkZXJfcmVjb3JkLm5vbl90ZXh0X29mZnNldCwgbGVuKHNlbGYuc2Vj
dGlvbnMpKToKKyAgICAgICAgICAgICAgICAgbmFtZSwgaW1nID0gc2VsZi5nZXRfaW1hZ2UoaSkK
Ky0gICAgICAgICAgICAgICAgaWYgbmFtZToKKy0gICAgICAgICAgICAgICAgICAgIG5hbWUgPSBh
c191bmljb2RlKG5hbWUpCisrICAgICAgICAgICAgICAgIG5hbWUgPSBhc191bmljb2RlKG5hbWUg
b3IgYicnKQorKyAgICAgICAgICAgICAgICBpZiBuYW1lIGFuZCAoZGVzdCA6PSBzZWxmLmltYWdl
X2Rlc3QobmFtZSwgY3dkKSk6CisgICAgICAgICAgICAgICAgICAgICBpbWFnZXMuYXBwZW5kKG5h
bWUpCistICAgICAgICAgICAgICAgICAgICB3aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgaW1nZjoK
KysgICAgICAgICAgICAgICAgICAgIHdpdGggb3BlbihkZXN0LCAnd2InKSBhcyBpbWdmOgorICAg
ICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKGYnV3JpdGluZyBpbWFnZSB7bmFt
ZX0gdG8gaW1hZ2VzLycpCisgICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcp
CisgCitAQCAtMTUwLDYgKzE1MCwxNSBAQCBjbGFzcyBSZWFkZXIyMDIoRm9ybWF0UmVhZGVyKToK
KyAKKyAgICAgICAgIHJldHVybiBwbWwKKyAKKysgICAgZGVmIGltYWdlX2Rlc3Qoc2VsZiwgbmFt
ZSwgY3dkKToKKysgICAgICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgoY3dkKQorKyAgICAgICAg
aWYgbm90IGJhc2UuZW5kc3dpdGgob3Muc2VwKToKKysgICAgICAgICAgICBiYXNlICs9IG9zLnNl
cAorKyAgICAgICAgYW5zID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1l
KSkKKysgICAgICAgIGlmIG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNl
OgorKyAgICAgICAgICAgIGFucyA9ICcnCisrICAgICAgICByZXR1cm4gYW5zCisrCisgICAgIGRl
ZiBkdW1wX2ltYWdlcyhzZWxmLCBvdXRwdXRfZGlyKToKKyAgICAgICAgICcnJworICAgICAgICAg
VGhpcyBpcyBwcmltYXJpbHkgdXNlZCBmb3IgZGVidWdnaW5nIGFuZCAzcmQgcGFydHkgdG9vbHMg
dG8KK0BAIC0xNTgsOCArMTY3LDEwIEBAIGNsYXNzIFJlYWRlcjIwMihGb3JtYXRSZWFkZXIpOgor
ICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG91dHB1dF9kaXIpOgorICAgICAgICAgICAg
IG9zLm1ha2VkaXJzKG91dHB1dF9kaXIpCisgCistICAgICAgICB3aXRoIEN1cnJlbnREaXIob3V0
cHV0X2Rpcik6CisrICAgICAgICB3aXRoIEN1cnJlbnREaXIob3V0cHV0X2RpcikgYXMgY3dkOgor
ICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKHNlbGYuaGVhZGVyX3JlY29yZC5udW1faW1hZ2Vf
cGFnZXMpOgorICAgICAgICAgICAgICAgICBuYW1lLCBpbWcgPSBzZWxmLmdldF9pbWFnZShzZWxm
LmhlYWRlcl9yZWNvcmQuaW1hZ2VfZGF0YV9vZmZzZXQgKyBpKQorLSAgICAgICAgICAgICAgICB3
aXRoIG9wZW4obmFtZSwgJ3diJykgYXMgaW1nZjoKKy0gICAgICAgICAgICAgICAgICAgIGltZ2Yu
d3JpdGUoaW1nKQorKyAgICAgICAgICAgICAgICBuYW1lID0gYXNfdW5pY29kZShuYW1lIG9yIGIn
JykKKysgICAgICAgICAgICAgICAgaWYgbmFtZSBhbmQgKGRlc3QgOj0gc2VsZi5pbWFnZV9kZXN0
KG5hbWUsIGN3ZCkpOgorKyAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKGRlc3QsICd3Yicp
IGFzIGltZ2Y6CisrICAgICAgICAgICAgICAgICAgICAgICAgaW1nZi53cml0ZShpbWcpCmRpZmYg
LU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIw
MjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaCBjYWxp
YnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAt
Q29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaAotLS0gY2FsaWJyZS04
LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg4LUNWRS0yMDI2LTI3ODEwLUNvbnRl
bnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlzcG8ucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1
My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBz
dHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50
LWRpc3BvLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDQx
ICswLDAgQEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6
IFR1ZSwgMjQgRmViIDIwMjYgMDk6MDY6MTEgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI3ODEw
OiBDb250ZW50IHNlcnZlcjogU2FuaXRpemUgY29udGVudCBkaXNwb3NpdGlvbgotIHJlY2VpdmVk
IGFzIHF1ZXJ5IHBhcmFtZXRlcgotCi1Gb3J3YXJkZWQ6IG5vdC1uZWVkZWQKLUJ1ZzogaHR0cHM6
Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0Et
NWZwai1meHc3LThncncKLU9yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs
aWJyZS9jb21taXQvYTQ2OGNlMGYyNjgwMzJlZWExZjc0MzE4NTMyNDgxNDhmZmEyZTA2YQotCi1T
aWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0t
Ci0gc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkgfCA4ICsrKysrKy0tCi0gMSBmaWxlIGNoYW5n
ZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9j
YWxpYnJlL3Nydi9jb250ZW50LnB5IGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLWluZGV4
IGE3ZTRlODkuLjAwOTQ1ODAgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5w
eQotKysrIGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLUBAIC0yMjEsNyArMjIxLDcgQEAg
ZGVmIGJvb2tfZm10KGN0eCwgcmQsIGxpYnJhcnlfaWQsIGRiLCBib29rX2lkLCBmbXQpOgotICAg
ICAgICAgICAgIHNldF9tZXRhZGF0YShkZXN0LCBtaSwgZm10KQotICAgICAgICAgICAgIGRlc3Qu
c2VlaygwKQotIAotLSAgICBjZCA9IHJkLnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbics
ICdhdHRhY2htZW50JykKLSsgICAgY2QgPSBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHJk
LnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykpCi0gICAgIHJk
Lm91dGhlYWRlcnNbJ0NvbnRlbnQtRGlzcG9zaXRpb24nXSA9ICgKLSAgICAgICAgIGYnJyd7Y2R9
OyBmaWxlbmFtZT0ie2Jvb2tfZmlsZW5hbWUocmQsIGJvb2tfaWQsIG1pLCBmbXQpfSI7IGZpbGVu
YW1lKj11dGYtOCcne2Jvb2tfZmlsZW5hbWUocmQsIGJvb2tfaWQsIG1pLCBmbXQsIGFzX2VuY29k
ZWRfdW5pY29kZT1UcnVlKX0nJycpCi0gCi1AQCAtNTIyLDggKzUyMiwxMiBAQCBkZWYgc2V0X25v
dGUoY3R4LCByZCwgZmllbGQsIGl0ZW1faWQsIGxpYnJhcnlfaWQpOgotICAgICByZXR1cm4gc3J2
X2h0bWwKLSAKLSAKLStkZWYgc2FuaXRpemVfY29udGVudF9kaXNwb3NpdGlvbih4OiBzdHIpIC0+
IHN0cjoKLSsgICAgcmV0dXJuIHJlLnN1YihyJ1teYS16QS1aMC05Li8tXScsICctJywgeCkKLSsK
LSsKLSBkZWYgZGF0YV9maWxlKHJkLCBmbmFtZSwgcGF0aCwgc3RhdF9yZXN1bHQpOgotLSAgICBj
ZCA9IHJkLnF1ZXJ5LmdldCgnY29udGVudF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykKLSsg
ICAgY2QgPSBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHJkLnF1ZXJ5LmdldCgnY29udGVu
dF9kaXNwb3NpdGlvbicsICdhdHRhY2htZW50JykpCi0gICAgIHJkLm91dGhlYWRlcnNbJ0NvbnRl
bnQtRGlzcG9zaXRpb24nXSA9ICgKLSAgICAgICAgIGYnJyd7Y2R9OyBmaWxlbmFtZT0ie2ZuYW1l
X2Zvcl9jb250ZW50X2Rpc3Bvc2l0aW9uKGZuYW1lKX0iOyBmaWxlbmFtZSo9dXRmLTgnJ3tmbmFt
ZV9mb3JfY29udGVudF9kaXNwb3NpdGlvbihmbmFtZSwgYXNfZW5jb2RlZF91bmljb2RlPVRydWUp
fScnJykKLSAgICAgcmV0dXJuIHJkLmZpbGVzeXN0ZW1fZmlsZV93aXRoX2N1c3RvbV9ldGFnKHNo
YXJlX29wZW4ocGF0aCwgJ3JiJyksIHN0YXRfcmVzdWx0LnN0X2Rldiwgc3RhdF9yZXN1bHQuc3Rf
aW5vLCBzdGF0X3Jlc3VsdC5zdF9zaXplLCBzdGF0X3Jlc3VsdC5zdF9tdGltZSkKZGlmZiAtTnJ1
IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0y
NzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoIGNhbGlicmUt
OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgxMC1Db250
ZW50LXNlcnZlci1TYW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCi0tLSBjYWxpYnJlLTguNS4w
K2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODktQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1z
ZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAw
MDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh
bS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRlbnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQtZGlz
cG8ucGF0Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw0
MSBAQAorRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogVHVl
LCAyNCBGZWIgMjAyNiAwOTowNjoxMSArMDUzMAorU3ViamVjdDogQ1ZFLTIwMjYtMjc4MTA6IENv
bnRlbnQgc2VydmVyOiBTYW5pdGl6ZSBjb250ZW50IGRpc3Bvc2l0aW9uCisgcmVjZWl2ZWQgYXMg
cXVlcnkgcGFyYW1ldGVyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dp
dGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS01ZnBq
LWZ4dzctOGdydworT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl
L2NvbW1pdC9hNDY4Y2UwZjI2ODAzMmVlYTFmNzQzMTg1MzI0ODE0OGZmYTJlMDZhCisKK1NpZ25l
ZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+CistLS0KKyBz
cmMvY2FsaWJyZS9zcnYvY29udGVudC5weSB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwg
NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGli
cmUvc3J2L2NvbnRlbnQucHkgYi9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weQoraW5kZXggYTdl
NGU4OS4uMDA5NDU4MCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5Cisr
KysgYi9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weQorQEAgLTIyMSw3ICsyMjEsNyBAQCBkZWYg
Ym9va19mbXQoY3R4LCByZCwgbGlicmFyeV9pZCwgZGIsIGJvb2tfaWQsIGZtdCk6CisgICAgICAg
ICAgICAgc2V0X21ldGFkYXRhKGRlc3QsIG1pLCBmbXQpCisgICAgICAgICAgICAgZGVzdC5zZWVr
KDApCisgCistICAgIGNkID0gcmQucXVlcnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0
dGFjaG1lbnQnKQorKyAgICBjZCA9IHNhbml0aXplX2NvbnRlbnRfZGlzcG9zaXRpb24ocmQucXVl
cnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKSkKKyAgICAgcmQub3V0
aGVhZGVyc1snQ29udGVudC1EaXNwb3NpdGlvbiddID0gKAorICAgICAgICAgZicnJ3tjZH07IGZp
bGVuYW1lPSJ7Ym9va19maWxlbmFtZShyZCwgYm9va19pZCwgbWksIGZtdCl9IjsgZmlsZW5hbWUq
PXV0Zi04Jyd7Ym9va19maWxlbmFtZShyZCwgYm9va19pZCwgbWksIGZtdCwgYXNfZW5jb2RlZF91
bmljb2RlPVRydWUpfScnJykKKyAKK0BAIC01MjIsOCArNTIyLDEyIEBAIGRlZiBzZXRfbm90ZShj
dHgsIHJkLCBmaWVsZCwgaXRlbV9pZCwgbGlicmFyeV9pZCk6CisgICAgIHJldHVybiBzcnZfaHRt
bAorIAorIAorK2RlZiBzYW5pdGl6ZV9jb250ZW50X2Rpc3Bvc2l0aW9uKHg6IHN0cikgLT4gc3Ry
OgorKyAgICByZXR1cm4gcmUuc3ViKHInW15hLXpBLVowLTkuLy1dJywgJy0nLCB4KQorKworKwor
IGRlZiBkYXRhX2ZpbGUocmQsIGZuYW1lLCBwYXRoLCBzdGF0X3Jlc3VsdCk6CistICAgIGNkID0g
cmQucXVlcnkuZ2V0KCdjb250ZW50X2Rpc3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKQorKyAgICBj
ZCA9IHNhbml0aXplX2NvbnRlbnRfZGlzcG9zaXRpb24ocmQucXVlcnkuZ2V0KCdjb250ZW50X2Rp
c3Bvc2l0aW9uJywgJ2F0dGFjaG1lbnQnKSkKKyAgICAgcmQub3V0aGVhZGVyc1snQ29udGVudC1E
aXNwb3NpdGlvbiddID0gKAorICAgICAgICAgZicnJ3tjZH07IGZpbGVuYW1lPSJ7Zm5hbWVfZm9y
X2NvbnRlbnRfZGlzcG9zaXRpb24oZm5hbWUpfSI7IGZpbGVuYW1lKj11dGYtOCcne2ZuYW1lX2Zv
cl9jb250ZW50X2Rpc3Bvc2l0aW9uKGZuYW1lLCBhc19lbmNvZGVkX3VuaWNvZGU9VHJ1ZSl9Jycn
KQorICAgICByZXR1cm4gcmQuZmlsZXN5c3RlbV9maWxlX3dpdGhfY3VzdG9tX2V0YWcoc2hhcmVf
b3BlbihwYXRoLCAncmInKSwgc3RhdF9yZXN1bHQuc3RfZGV2LCBzdGF0X3Jlc3VsdC5zdF9pbm8s
IHN0YXRfcmVzdWx0LnN0X3NpemUsIHN0YXRfcmVzdWx0LnN0X210aW1lKQpkaWZmIC1OcnUgY2Fs
aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODI0
LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2ggY2FsaWJyZS04LjUu
MCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQt
c2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMv
ZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250ZW50LXNlcnZl
ci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAw
MDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAw
ODktQ1ZFLTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5w
YXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMApAQCAtMSwzNCArMCwwIEBA
Ci1Gcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBUdWUsIDI0
IEZlYiAyMDI2IDE2OjUzOjQ2ICswNTMwCi1TdWJqZWN0OiBDVkUtMjAyNi0yNzgyNDogQ29udGVu
dCBzZXJ2ZXI6IFdoZW4gYmFubmluZyBJUHMgZm9yIHJlcGVhdGVkIGxvZ2luCi0gaXMgZW5hYmxl
ZCwgb25seSB1c2UgdGhlIElQIGFkZHJlc3Mgbm90IGFueSBIVFRQIGhlYWRlcnMgYXMgdGhlIGJh
biBrZXkKLQotRm9yd2FyZGVkOiBub3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9r
b3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLXZoeGMtcjd2OC0yeHJ3
Ci1PcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0LzJm
MjczNDQ0NDYwZDA2ZjcyZjdhOGYzOTBmNWY5ZmYzMjVkMWY4MzYKLQotVGhpcyBtZWFucyBiYW5u
aW5nIGlzIGluZWZmZWN0aXZlIGJlaGluZCBhIHByb3h5LCBidXQgY2FudCBiZSBoZWxwZWQKLXNp
bmNlIHdlIGhhdmUgbm8gd2F5IG9mIGF1dGhlbnRpY2F0aW5nIHRoYXQgYSBoZWFkZXIgY29tZXMg
ZnJvbSB0aGUKLXByb3h5LgotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3Rh
LmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvc3J2L2F1dGgucHkgfCA0ICsrLS0K
LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm
IC0tZ2l0IGEvc3JjL2NhbGlicmUvc3J2L2F1dGgucHkgYi9zcmMvY2FsaWJyZS9zcnYvYXV0aC5w
eQotaW5kZXggYTViNWEwYy4uZTJhNGU2NCAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL3Nydi9h
dXRoLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9zcnYvYXV0aC5weQotQEAgLTI2OSw5ICsyNjksOSBA
QCBjbGFzcyBBdXRoQ29udHJvbGxlcjoKLSAgICAgICAgIHJldHVybiBjb29raWUgYW5kIHZhbGlk
YXRlX25vbmNlKHNlbGYua2V5X29yZGVyLCBjb29raWUsIHBhdGgsIHNlbGYuc2VjcmV0KSBhbmQg
bm90IGlzX25vbmNlX3N0YWxlKGNvb2tpZSwgc2VsZi5tYXhfYWdlX3NlY29uZHMpCi0gCi0gICAg
IGRlZiBkb19odHRwX2F1dGgoc2VsZiwgZGF0YSwgZW5kcG9pbnQpOgotLSAgICAgICAgYmFuX2tl
eSA9IGRhdGEucmVtb3RlX2FkZHIsIGRhdGEuZm9yd2FyZGVkX2ZvcgotKyAgICAgICAgYmFuX2tl
eSA9IGRhdGEucmVtb3RlX2FkZHIKLSAgICAgICAgIGlmIHNlbGYuYmFuX2xpc3QuaXNfYmFubmVk
KGJhbl9rZXkpOgotLSAgICAgICAgICAgIHJhaXNlIEhUVFBGb3JiaWRkZW4oJ1RvbyBtYW55IGxv
Z2luIGF0dGVtcHRzJywgbG9nPWYnVG9vIG1hbnkgbG9naW4gYXR0ZW1wdHMgZnJvbToge2Jhbl9r
ZXkgaWYgZGF0YS5mb3J3YXJkZWRfZm9yIGVsc2UgZGF0YS5yZW1vdGVfYWRkcn0nKQotKyAgICAg
ICAgICAgIHJhaXNlIEhUVFBGb3JiaWRkZW4oJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzJywgbG9n
PWYnVG9vIG1hbnkgbG9naW4gYXR0ZW1wdHMgZnJvbToge2RhdGEucmVtb3RlX2FkZHJ9JykKLSAg
ICAgICAgIGF1dGggPSBkYXRhLmluaGVhZGVycy5nZXQoJ0F1dGhvcml6YXRpb24nKQotICAgICAg
ICAgbm9uY2VfaXNfc3RhbGUgPSBGYWxzZQotICAgICAgICAgbG9nX21zZyA9IE5vbmUKZGlmZiAt
TnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1DVkUtMjAy
Ni0yNzgyNC1Db250ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoIGNhbGli
cmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1DVkUtMjAyNi0yNzgyNC1D
b250ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCi0tLSBjYWxpYnJlLTgu
NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtQ1ZFLTIwMjYtMjc4MjQtQ29udGVu
dC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAw
LjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0
cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMt
Zm9yLXIucGF0Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCAr
MSwzNCBAQAorRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTog
VHVlLCAyNCBGZWIgMjAyNiAxNjo1Mzo0NiArMDUzMAorU3ViamVjdDogQ1ZFLTIwMjYtMjc4MjQ6
IENvbnRlbnQgc2VydmVyOiBXaGVuIGJhbm5pbmcgSVBzIGZvciByZXBlYXRlZCBsb2dpbgorIGlz
IGVuYWJsZWQsIG9ubHkgdXNlIHRoZSBJUCBhZGRyZXNzIG5vdCBhbnkgSFRUUCBoZWFkZXJzIGFz
IHRoZSBiYW4ga2V5CisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAorQnVnOiBodHRwczovL2dpdGh1
Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS12aHhjLXI3
djgtMnhydworT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2Nv
bW1pdC8yZjI3MzQ0NDQ2MGQwNmY3MmY3YThmMzkwZjVmOWZmMzI1ZDFmODM2CisKK1RoaXMgbWVh
bnMgYmFubmluZyBpcyBpbmVmZmVjdGl2ZSBiZWhpbmQgYSBwcm94eSwgYnV0IGNhbnQgYmUgaGVs
cGVkCitzaW5jZSB3ZSBoYXZlIG5vIHdheSBvZiBhdXRoZW50aWNhdGluZyB0aGF0IGEgaGVhZGVy
IGNvbWVzIGZyb20gdGhlCitwcm94eS4KKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkg
PHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL3Nydi9hdXRoLnB5IHwg
NCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK
KworZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL3Nydi9hdXRoLnB5IGIvc3JjL2NhbGlicmUvc3J2
L2F1dGgucHkKK2luZGV4IGE1YjVhMGMuLmUyYTRlNjQgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJy
ZS9zcnYvYXV0aC5weQorKysrIGIvc3JjL2NhbGlicmUvc3J2L2F1dGgucHkKK0BAIC0yNjksOSAr
MjY5LDkgQEAgY2xhc3MgQXV0aENvbnRyb2xsZXI6CisgICAgICAgICByZXR1cm4gY29va2llIGFu
ZCB2YWxpZGF0ZV9ub25jZShzZWxmLmtleV9vcmRlciwgY29va2llLCBwYXRoLCBzZWxmLnNlY3Jl
dCkgYW5kIG5vdCBpc19ub25jZV9zdGFsZShjb29raWUsIHNlbGYubWF4X2FnZV9zZWNvbmRzKQor
IAorICAgICBkZWYgZG9faHR0cF9hdXRoKHNlbGYsIGRhdGEsIGVuZHBvaW50KToKKy0gICAgICAg
IGJhbl9rZXkgPSBkYXRhLnJlbW90ZV9hZGRyLCBkYXRhLmZvcndhcmRlZF9mb3IKKysgICAgICAg
IGJhbl9rZXkgPSBkYXRhLnJlbW90ZV9hZGRyCisgICAgICAgICBpZiBzZWxmLmJhbl9saXN0Lmlz
X2Jhbm5lZChiYW5fa2V5KToKKy0gICAgICAgICAgICByYWlzZSBIVFRQRm9yYmlkZGVuKCdUb28g
bWFueSBsb2dpbiBhdHRlbXB0cycsIGxvZz1mJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzIGZyb206
IHtiYW5fa2V5IGlmIGRhdGEuZm9yd2FyZGVkX2ZvciBlbHNlIGRhdGEucmVtb3RlX2FkZHJ9JykK
KysgICAgICAgICAgICByYWlzZSBIVFRQRm9yYmlkZGVuKCdUb28gbWFueSBsb2dpbiBhdHRlbXB0
cycsIGxvZz1mJ1RvbyBtYW55IGxvZ2luIGF0dGVtcHRzIGZyb206IHtkYXRhLnJlbW90ZV9hZGRy
fScpCisgICAgICAgICBhdXRoID0gZGF0YS5pbmhlYWRlcnMuZ2V0KCdBdXRob3JpemF0aW9uJykK
KyAgICAgICAgIG5vbmNlX2lzX3N0YWxlID0gRmFsc2UKKyAgICAgICAgIGxvZ19tc2cgPSBOb25l
CmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAt
Rml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRj
aCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtRml4LXNlY3Vy
aXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaAotLS0gY2Fs
aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkwLUZpeC1zZWN1cml0eS12
dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gJMjAyNi0wNS0yNSAw
ODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNo
ZXMvdXBzdHJlYW0vMDA5MC1GaXgtc2VjdXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1
YWxpdHktaXNzdWVzLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBA
IC0xLDE2MyArMCwwIEBACi1Gcm9tOiBFQ0IgPGVjYkBlY2IucG0+Ci1EYXRlOiBUdWUsIDIxIEFw
ciAyMDI2IDEyOjQ4OjQyICswMjAwCi1TdWJqZWN0OiBGaXggc2VjdXJpdHkgdnVsbmVyYWJpbGl0
aWVzIGFuZCBjb2RlIHF1YWxpdHkgaXNzdWVzIChDbG9zZXM6Ci0gIzExMzU1NDMpCi0KLUZvcndh
cmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxp
YnJlL3B1bGwvMzEwMQotT3JpZ2luOiBiYWNrcG9ydCwgaHR0cHM6Ly9naXRodWIuY29tL2tvdmlk
Z295YWwvY2FsaWJyZS9jb21taXQvYjBjNGJhMTk2ODYyMzJkNWJmZjk5ZDU4Y2U2MDE5NTQ2ZWY0
ZDE2NgotCi1IaWdoIHNldmVyaXR5OgotLSBGaXggdHlwbyBub3JtYXB0aCAtPiBub3JtcGF0aCBp
biBzcnYvY29udGVudC5weSAoYnJva2VuIGVuZHBvaW50KQotLSBSZXBsYWNlIGV2YWwoKSB3aXRo
IGFzdC5saXRlcmFsX2V2YWwoKSBpbiBjYXRhbG9ncy9lcHViX21vYmkucHkKLS0gTG9nIGV4Y2Vw
dGlvbnMgaW4gRnVuY3Rpb25EaXNwYXRjaGVyLmRpc3BhdGNoIGluc3RlYWQgb2Ygc3dhbGxvd2lu
ZwotCi1NZWRpdW0gc2V2ZXJpdHk6Ci0tIEFkZCBwYXRoIHRyYXZlcnNhbCBwcm90ZWN0aW9uIHRv
IERpckNvbnRhaW5lciByZWFkL3dyaXRlL2V4aXN0cwotLSBGaXggWFBhdGggaW5qZWN0aW9uIGlu
IGNvbW1lbnRzX2VkaXRvci5weSBtZXJnZV9jb250aWd1b3VzX2xpbmtzCi0tIFVzZSBwYXJhbWV0
ZXJpemVkIFNRTCBxdWVyaWVzIGluIGRhdGFiYXNlMi5weSBsaWJyYXJ5X2lkIHNldHRlcgotLSBB
ZGQgc2FmZXR5IGNvbW1lbnQgdG8gcGlja2xlX2xvYWRzIGluIHV0aWxzL3NlcmlhbGl6ZS5weQot
LS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNlLnB5ICAgICAgICAgICAgfCAxMiArKysr
KysrKystLS0KLSBzcmMvY2FsaWJyZS9ndWkyL19faW5pdF9fLnB5ICAgICAgICAgICAgICB8ICAy
ICsrCi0gc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19lZGl0b3IucHkgICAgICAgfCAgMiArLQot
IHNyYy9jYWxpYnJlL2xpYnJhcnkvY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5IHwgMTAgKysrKysrLS0t
LQotIHNyYy9jYWxpYnJlL2xpYnJhcnkvZGF0YWJhc2UyLnB5ICAgICAgICAgIHwgIDYgKystLS0t
Ci0gc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkgICAgICAgICAgICAgICAgfCAgMiArLQotIHNy
Yy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weSAgICAgICAgICAgIHwgIDIgKy0KLSA3IGZpbGVz
IGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0
IGEvc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNlLnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL29l
Yi9iYXNlLnB5Ci1pbmRleCAxMTkyYzg3Li40NGFiYjk0IDEwMDY0NAotLS0tIGEvc3JjL2NhbGli
cmUvZWJvb2tzL29lYi9iYXNlLnB5Ci0rKysgYi9zcmMvY2FsaWJyZS9lYm9va3Mvb2ViL2Jhc2Uu
cHkKLUBAIC01OTcsMTIgKzU5NywxNiBAQCBjbGFzcyBEaXJDb250YWluZXI6Ci0gICAgIGRlZiBy
ZWFkKHNlbGYsIHBhdGgpOgotICAgICAgICAgaWYgcGF0aCBpcyBOb25lOgotICAgICAgICAgICAg
IHBhdGggPSBzZWxmLm9wZm5hbWUKLS0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5y
b290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKQotKyAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKLSsg
ICAgICAgIGlmIG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRp
cikpOgotKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidQYXRoIHtwYXRoIXJ9IGlzIG5v
dCBpbnNpZGUge3NlbGYucm9vdGRpciFyfScpCi0gICAgICAgICB3aXRoIG9wZW4ocGF0aCwgJ3Ji
JykgYXMgZjoKLSAgICAgICAgICAgICByZXR1cm4gZi5yZWFkKCkKLSAKLSAgICAgZGVmIHdyaXRl
KHNlbGYsIHBhdGgsIGRhdGEpOgotLSAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnJv
b3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpCi0rICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguam9pbihzZWxmLnJvb3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpKQotKyAg
ICAgICAgaWYgbm90IHBhdGguc3RhcnRzd2l0aChvcy5wYXRoLmFic3BhdGgoc2VsZi5yb290ZGly
KSk6Ci0rICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihmJ1BhdGgge3BhdGghcn0gaXMgbm90
IGluc2lkZSB7c2VsZi5yb290ZGlyIXJ9JykKLSAgICAgICAgIGRpciA9IG9zLnBhdGguZGlybmFt
ZShwYXRoKQotICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoZGlyKToKLSAgICAgICAgICAg
ICBvcy5tYWtlZGlycyhkaXIpCi1AQCAtNjEzLDkgKzYxNywxMSBAQCBjbGFzcyBEaXJDb250YWlu
ZXI6Ci0gICAgICAgICBpZiBub3QgcGF0aDoKLSAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSAg
ICAgICAgIHRyeToKLS0gICAgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYucm9vdGRp
ciwgc2VsZi5fdW5xdW90ZShwYXRoKSkKLSsgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNw
YXRoKG9zLnBhdGguam9pbihzZWxmLnJvb3RkaXIsIHNlbGYuX3VucXVvdGUocGF0aCkpKQotICAg
ICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6ICAjIEhhcHBlbnMgaWYgcGF0aCBjb250YWlucyBxdW90
ZWQgc3BlY2lhbCBjaGFycwotICAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICAgICAgaWYg
bm90IHBhdGguc3RhcnRzd2l0aChvcy5wYXRoLmFic3BhdGgoc2VsZi5yb290ZGlyKSk6Ci0rICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgcmV0dXJu
IG9zLnBhdGguaXNmaWxlKHBhdGgpCi0gICAgICAgICBleGNlcHQgVW5pY29kZUVuY29kZUVycm9y
OgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2d1aTIvX19pbml0X18ucHkgYi9zcmMvY2FsaWJy
ZS9ndWkyL19faW5pdF9fLnB5Ci1pbmRleCBhNTg5M2QyLi5hY2E3ZGY2IDEwMDY0NAotLS0tIGEv
c3JjL2NhbGlicmUvZ3VpMi9fX2luaXRfXy5weQotKysrIGIvc3JjL2NhbGlicmUvZ3VpMi9fX2lu
aXRfXy5weQotQEAgLTg0NSw2ICs4NDUsOCBAQCBjbGFzcyBGdW5jdGlvbkRpc3BhdGNoZXIoUU9i
amVjdCk6Ci0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgcmVzID0gc2VsZi5mdW5jKCphcmdz
LCAqKmt3YXJncykKLSAgICAgICAgIGV4Y2VwdDoKLSsgICAgICAgICAgICBpbXBvcnQgdHJhY2Vi
YWNrCi0rICAgICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YygpCi0gICAgICAgICAgICAgcmVz
ID0gTm9uZQotICAgICAgICAgcS5wdXQocmVzKQotIAotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJl
L2d1aTIvY29tbWVudHNfZWRpdG9yLnB5IGIvc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19lZGl0
b3IucHkKLWluZGV4IDhmYjI5MTkuLjYwMTdjNTcgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9n
dWkyL2NvbW1lbnRzX2VkaXRvci5weQotKysrIGIvc3JjL2NhbGlicmUvZ3VpMi9jb21tZW50c19l
ZGl0b3IucHkKLUBAIC0xOTgsNyArMTk4LDcgQEAgZGVmIHVzZV9pbXBsaWNpdF9zdHlsaW5nX2Zv
cl9hKGEsIHN0eWxlX21hcCk6Ci0gZGVmIG1lcmdlX2NvbnRpZ3VvdXNfbGlua3Mocm9vdCk6Ci0g
ICAgIGFsbF9ocmVmcyA9IHNldChyb290LnhwYXRoKCcvL2EvQGhyZWYnKSkKLSAgICAgZm9yIGhy
ZWYgaW4gYWxsX2hyZWZzOgotLSAgICAgICAgdGFncyA9IHJvb3QueHBhdGgoZicvL2FbQGhyZWY9
IntocmVmfSJdJykKLSsgICAgICAgIHRhZ3MgPSByb290LnhwYXRoKCcvL2FbQGhyZWY9JGhdJywg
aD1ocmVmKQotICAgICAgICAgcHJvY2Vzc2VkID0gc2V0KCkKLSAKLSAgICAgICAgIGRlZiBpbnNl
cnRfdGFnKHBhcmVudCwgY2hpbGQpOgotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2xpYnJhcnkv
Y2F0YWxvZ3MvZXB1Yl9tb2JpLnB5IGIvc3JjL2NhbGlicmUvbGlicmFyeS9jYXRhbG9ncy9lcHVi
X21vYmkucHkKLWluZGV4IDNlNTYyNjYuLmU2NDA4ZjYgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJy
ZS9saWJyYXJ5L2NhdGFsb2dzL2VwdWJfbW9iaS5weQotKysrIGIvc3JjL2NhbGlicmUvbGlicmFy
eS9jYXRhbG9ncy9lcHViX21vYmkucHkKLUBAIC0zNTEsMTAgKzM1MSwxMSBAQCBjbGFzcyBFUFVC
X01PQkkoQ2F0YWxvZ1BsdWdpbik6Ci0gICAgICAgICAgICAgbG9nLmVycm9yKGYiY29lcmNpbmcg
dGh1bWJfd2lkdGggZnJvbSAne29wdHMudGh1bWJfd2lkdGh9JyB0byAne3NlbGYuVEhVTUJfU01B
TExFU1R9JyIpCi0gICAgICAgICAgICAgb3B0cy50aHVtYl93aWR0aCA9ICcxLjAnCi0gCi0tICAg
ICAgICAjIGV2YWwgcHJlZml4X3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQotKyAg
ICAgICAgIyBwYXJzZSBwcmVmaXhfcnVsZXMgaWYgcGFzc2VkIGZyb20gY29tbWFuZCBsaW5lCi0g
ICAgICAgICBpZiB0eXBlKG9wdHMucHJlZml4X3J1bGVzKSBpcyBub3QgdHVwbGU6Ci0gICAgICAg
ICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICBvcHRzLnByZWZpeF9ydWxlcyA9IGV2YWwob3B0
cy5wcmVmaXhfcnVsZXMpCi0rICAgICAgICAgICAgICAgIGltcG9ydCBhc3QKLSsgICAgICAgICAg
ICAgICAgb3B0cy5wcmVmaXhfcnVsZXMgPSBhc3QubGl0ZXJhbF9ldmFsKG9wdHMucHJlZml4X3J1
bGVzKQotICAgICAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgICAgICAgbG9nLmVycm9yKGYn
bWFsZm9ybWVkIC0tcHJlZml4LXJ1bGVzOiB7b3B0cy5wcmVmaXhfcnVsZXN9JykKLSAgICAgICAg
ICAgICAgICAgcmFpc2UKLUBAIC0zNjIsMTAgKzM2MywxMSBAQCBjbGFzcyBFUFVCX01PQkkoQ2F0
YWxvZ1BsdWdpbik6Ci0gICAgICAgICAgICAgICAgIGlmIGxlbihydWxlKSAhPSA0OgotICAgICAg
ICAgICAgICAgICAgICAgbG9nLmVycm9yKGYnaW5jb3JyZWN0IG51bWJlciBvZiBhcmdzIGZvciAt
LXByZWZpeC1ydWxlczoge3J1bGUhcn0nKQotIAotLSAgICAgICAgIyBldmFsIGV4Y2x1c2lvbl9y
dWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKLSsgICAgICAgICMgcGFyc2UgZXhjbHVz
aW9uX3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQotICAgICAgICAgaWYgdHlwZShv
cHRzLmV4Y2x1c2lvbl9ydWxlcykgaXMgbm90IHR1cGxlOgotICAgICAgICAgICAgIHRyeToKLS0g
ICAgICAgICAgICAgICAgb3B0cy5leGNsdXNpb25fcnVsZXMgPSBldmFsKG9wdHMuZXhjbHVzaW9u
X3J1bGVzKQotKyAgICAgICAgICAgICAgICBpbXBvcnQgYXN0Ci0rICAgICAgICAgICAgICAgIG9w
dHMuZXhjbHVzaW9uX3J1bGVzID0gYXN0LmxpdGVyYWxfZXZhbChvcHRzLmV4Y2x1c2lvbl9ydWxl
cykKLSAgICAgICAgICAgICBleGNlcHQ6Ci0gICAgICAgICAgICAgICAgIGxvZy5lcnJvcihmJ21h
bGZvcm1lZCAtLWV4Y2x1c2lvbi1ydWxlczoge29wdHMuZXhjbHVzaW9uX3J1bGVzfScpCi0gICAg
ICAgICAgICAgICAgIHJhaXNlCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRh
YmFzZTIucHkgYi9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weQotaW5kZXggZmYwZDMw
ZS4uNjQ2YWQxNSAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2xpYnJhcnkvZGF0YWJhc2UyLnB5
Ci0rKysgYi9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weQotQEAgLTEwOCwxMCArMTA4
LDggQEAgY2xhc3MgTGlicmFyeURhdGFiYXNlMihMaWJyYXJ5RGF0YWJhc2UsIFNjaGVtYVVwZ3Jh
ZGUsIEN1c3RvbUNvbHVtbnMpOgotICAgICBAbGlicmFyeV9pZC5zZXR0ZXIKLSAgICAgZGVmIGxp
YnJhcnlfaWQoc2VsZiwgdmFsKToKLSAgICAgICAgIHNlbGYuX2xpYnJhcnlfaWRfID0gc3RyKHZh
bCkKLS0gICAgICAgIHNlbGYuY29ubi5leGVjdXRlc2NyaXB0KGYnJycKLS0gICAgICAgICAgICAg
ICAgREVMRVRFIEZST00gbGlicmFyeV9pZDsKLS0gICAgICAgICAgICAgICAgSU5TRVJUIElOVE8g
bGlicmFyeV9pZCAodXVpZCkgVkFMVUVTICgie3NlbGYuX2xpYnJhcnlfaWRffSIpOwotLSAgICAg
ICAgICAgICAgICAnJycpCi0rICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZSgnREVMRVRFIEZST00g
bGlicmFyeV9pZCcpCi0rICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZSgnSU5TRVJUIElOVE8gbGli
cmFyeV9pZCAodXVpZCkgVkFMVUVTICg/KScsIChzZWxmLl9saWJyYXJ5X2lkXywpKQotICAgICAg
ICAgc2VsZi5jb25uLmNvbW1pdCgpCi0gCi0gICAgIGRlZiBjb25uZWN0KHNlbGYpOgotZGlmZiAt
LWdpdCBhL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5IGIvc3JjL2NhbGlicmUvc3J2L2NvbnRl
bnQucHkKLWluZGV4IDAwOTQ1ODAuLjJiMWEwZTUgMTAwNjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9z
cnYvY29udGVudC5weQotKysrIGIvc3JjL2NhbGlicmUvc3J2L2NvbnRlbnQucHkKLUBAIC0zMDYs
NyArMzA2LDcgQEAgZGVmIGljb24oY3R4LCByZCwgd2hpY2gpOgotIAotIEBlbmRwb2ludCgnL3Jl
YWRlci1iYWNrZ3JvdW5kL3tlbmNvZGVkX2ZuYW1lfScsIGFuZHJvaWRfd29ya2Fyb3VuZD1UcnVl
KQotIGRlZiByZWFkZXJfYmFja2dyb3VuZChjdHgsIHJkLCBlbmNvZGVkX2ZuYW1lKToKLS0gICAg
YmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1hcHRoKG9zLnBhdGguam9pbihjb25m
aWdfZGlyLCAndmlld2VyJywgJ2JhY2tncm91bmQtaW1hZ2VzJykpKQotKyAgICBiYXNlID0gb3Mu
cGF0aC5hYnNwYXRoKG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKGNvbmZpZ19kaXIsICd2
aWV3ZXInLCAnYmFja2dyb3VuZC1pbWFnZXMnKSkpCi0gICAgIGZuYW1lID0gYnl0ZXMuZnJvbWhl
eChlbmNvZGVkX2ZuYW1lKQotICAgICBxID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGgubm9ybXBh
dGgob3MucGF0aC5qb2luKGJhc2UsIGZuYW1lKSkpCi0gICAgIGlmIG5vdCBxLnN0YXJ0c3dpdGgo
YmFzZSk6Ci1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5IGIvc3Jj
L2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5Ci1pbmRleCA4MWUxODdmLi43NWYzMzcwIDEwMDY0
NAotLS0tIGEvc3JjL2NhbGlicmUvdXRpbHMvc2VyaWFsaXplLnB5Ci0rKysgYi9zcmMvY2FsaWJy
ZS91dGlscy9zZXJpYWxpemUucHkKLUBAIC0xMTksNCArMTE5LDQgQEAgZGVmIHBpY2tsZV9kdW1w
cyhkYXRhKToKLSAKLSBkZWYgcGlja2xlX2xvYWRzKGR1bXApOgotICAgICBpbXBvcnQgcGlja2xl
Ci0tICAgIHJldHVybiBwaWNrbGUubG9hZHMoZHVtcCwgZW5jb2Rpbmc9J3V0Zi04JykKLSsgICAg
cmV0dXJuIHBpY2tsZS5sb2FkcyhkdW1wLCBlbmNvZGluZz0ndXRmLTgnKSAgIyBub3NlYzogb25s
eSB1c2VkIGZvciBjYWxpYnJlJ3Mgb3duIHNlcmlhbGl6ZWQgZGF0YQpkaWZmIC1OcnUgY2FsaWJy
ZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUNWRS0yMDI2LTMwODUzLVJC
LUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2ggY2FsaWJyZS04LjUuMCtk
cy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVu
c3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGVi
aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUt
ZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCTIwMjYtMDUtMjUgMDg6MTk6NTMuMDAwMDAwMDAw
ICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTEt
Q1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRj
aAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMApAQCAtMSw1OCArMCwwIEBACi1G
cm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+Ci1EYXRlOiBGcmksIDYgTWFy
IDIwMjYgMDc6Mzk6NDQgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMwODUzOiBSQiBJbnB1dDog
RW5zdXJlIGZpbGVzIGFyZSBleHRyYWN0ZWQgd2l0aGluCi0gY29udGFpbmVyIGRpcgotCi1Gb3J3
YXJkZWQ6IG5vdC1uZWVkZWQKLUJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs
aWJyZS9zZWN1cml0eS9hZHZpc29yaWVzL0dIU0EtN21wNy1yZnJnLTU0MngKLU9yaWdpbjogaHR0
cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21taXQvMGY4ZGM2MzkzMzdkOWFj
ZTY3MjAxZTE1Y2ExMmQ1OTA2ZDA1ZjRjOAotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3No
aSA8eW9rb3RhLmhnbWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvZWJvb2tzL3JiL3Jl
YWRlci5weSB8IDE5ICsrKysrKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTUgaW5z
ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vi
b29rcy9yYi9yZWFkZXIucHkgYi9zcmMvY2FsaWJyZS9lYm9va3MvcmIvcmVhZGVyLnB5Ci1pbmRl
eCBjMWY3N2RkLi5iMTMwNjZhIDEwMDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3Jl
YWRlci5weQotKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3JlYWRlci5weQotQEAgLTY3LDYg
KzY3LDE1IEBAIGNsYXNzIFJlYWRlcjoKLSAKLSAgICAgICAgIHJldHVybiB0b2MKLSAKLSsgICAg
ZGVmIGdldF9zYWZlX3BhdGgoc2VsZiwgb3V0cHV0X2RpciwgbmFtZSk6Ci0rICAgICAgICBiYXNl
ID0gb3MucGF0aC5hYnNwYXRoKG91dHB1dF9kaXIpCi0rICAgICAgICBpZiBub3QgYmFzZS5lbmRz
d2l0aChvcy5zZXApOgotKyAgICAgICAgICAgIGJhc2UgKz0gb3Muc2VwCi0rICAgICAgICBhbnMg
PSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIG5hbWUpKQotKyAgICAgICAgaWYg
b3MucGF0aC5jb21tb25wcmVmaXgoW2FucywgYmFzZV0pICE9IGJhc2U6Ci0rICAgICAgICAgICAg
YW5zID0gJycKLSsgICAgICAgIHJldHVybiBhbnMKLSsKLSAgICAgZGVmIGdldF90ZXh0KHNlbGYs
IHRvY19pdGVtLCBvdXRwdXRfZGlyKToKLSAgICAgICAgIGlmIHRvY19pdGVtLmZsYWdzIGluICgx
LCAyKToKLSAgICAgICAgICAgICByZXR1cm4KLUBAIC04Nyw4ICs5Niw5IEBAIGNsYXNzIFJlYWRl
cjoKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgb3V0cHV0ICs9IHNlbGYuc3RyZWFtLnJl
YWQodG9jX2l0ZW0uc2l6ZSkuZGVjb2RlKCdjcDEyNTInIGlmIHNlbGYuZW5jb2RpbmcgaXMgTm9u
ZSBlbHNlIHNlbGYuZW5jb2RpbmcsICdyZXBsYWNlJykKLSAKLS0gICAgICAgIHdpdGggb3Blbihv
cy5wYXRoLmpvaW4ob3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0Zi04JykpLCAn
d2InKSBhcyBodG1sOgotLSAgICAgICAgICAgIGh0bWwud3JpdGUob3V0cHV0LnJlcGxhY2UoJzxU
SVRMRT4nLCAnPFRJVExFPiAnKS5lbmNvZGUoJ3V0Zi04JykpCi0rICAgICAgICBpZiBwYXRoIDo9
IHNlbGYuZ2V0X3NhZmVfcGF0aChvdXRwdXRfZGlyLCB0b2NfaXRlbS5uYW1lLmRlY29kZSgndXRm
LTgnKSk6Ci0rICAgICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICd3YicpIGFzIGh0bWw6Ci0rICAg
ICAgICAgICAgICAgIGh0bWwud3JpdGUob3V0cHV0LnJlcGxhY2UoJzxUSVRMRT4nLCAnPFRJVExF
PiAnKS5lbmNvZGUoJ3V0Zi04JykpCi0gCi0gICAgIGRlZiBnZXRfaW1hZ2Uoc2VsZiwgdG9jX2l0
ZW0sIG91dHB1dF9kaXIpOgotICAgICAgICAgaWYgdG9jX2l0ZW0uZmxhZ3MgIT0gMDoKLUBAIC05
Nyw4ICsxMDcsOSBAQCBjbGFzcyBSZWFkZXI6Ci0gICAgICAgICBzZWxmLnN0cmVhbS5zZWVrKHRv
Y19pdGVtLm9mZnNldCkKLSAgICAgICAgIGRhdGEgPSBzZWxmLnN0cmVhbS5yZWFkKHRvY19pdGVt
LnNpemUpCi0gCi0tICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKG91dHB1dF9kaXIsIHRv
Y19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKSwgJ3diJykgYXMgaW1nOgotLSAgICAgICAgICAg
IGltZy53cml0ZShkYXRhKQotKyAgICAgICAgaWYgcGF0aCA6PSBzZWxmLmdldF9zYWZlX3BhdGgo
b3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0Zi04JykpOgotKyAgICAgICAgICAg
IHdpdGggb3BlbihwYXRoLCAnd2InKSBhcyBpbWc6Ci0rICAgICAgICAgICAgICAgIGltZy53cml0
ZShkYXRhKQotIAotICAgICBkZWYgZXh0cmFjdF9jb250ZW50KHNlbGYsIG91dHB1dF9kaXIpOgot
ICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ0V4dHJhY3RpbmcgY29udGVudCBmcm9tIGZpbGUuLi4n
KQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkx
LUZpeC1zZWN1cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0
Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUZpeC1zZWN1
cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKLS0tIGNh
bGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MS1GaXgtc2VjdXJpdHkt
dnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxpdHktaXNzdWVzLnBhdGNoCTE5NzAtMDEtMDEg
MDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwOTEtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1x
dWFsaXR5LWlzc3Vlcy5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApA
QCAtMCwwICsxLDE2MyBAQAorRnJvbTogRUNCIDxlY2JAZWNiLnBtPgorRGF0ZTogVHVlLCAyMSBB
cHIgMjAyNiAxMjo0ODo0MiArMDIwMAorU3ViamVjdDogRml4IHNlY3VyaXR5IHZ1bG5lcmFiaWxp
dGllcyBhbmQgY29kZSBxdWFsaXR5IGlzc3VlcyAoQ2xvc2VzOgorICMxMTM1NTQzKQorCitGb3J3
YXJkZWQ6IG5vdC1uZWVkZWQKK0J1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2Fs
aWJyZS9wdWxsLzMxMDEKK09yaWdpbjogYmFja3BvcnQsIGh0dHBzOi8vZ2l0aHViLmNvbS9rb3Zp
ZGdveWFsL2NhbGlicmUvY29tbWl0L2IwYzRiYTE5Njg2MjMyZDViZmY5OWQ1OGNlNjAxOTU0NmVm
NGQxNjYKKworSGlnaCBzZXZlcml0eToKKy0gRml4IHR5cG8gbm9ybWFwdGggLT4gbm9ybXBhdGgg
aW4gc3J2L2NvbnRlbnQucHkgKGJyb2tlbiBlbmRwb2ludCkKKy0gUmVwbGFjZSBldmFsKCkgd2l0
aCBhc3QubGl0ZXJhbF9ldmFsKCkgaW4gY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5CistIExvZyBleGNl
cHRpb25zIGluIEZ1bmN0aW9uRGlzcGF0Y2hlci5kaXNwYXRjaCBpbnN0ZWFkIG9mIHN3YWxsb3dp
bmcKKworTWVkaXVtIHNldmVyaXR5OgorLSBBZGQgcGF0aCB0cmF2ZXJzYWwgcHJvdGVjdGlvbiB0
byBEaXJDb250YWluZXIgcmVhZC93cml0ZS9leGlzdHMKKy0gRml4IFhQYXRoIGluamVjdGlvbiBp
biBjb21tZW50c19lZGl0b3IucHkgbWVyZ2VfY29udGlndW91c19saW5rcworLSBVc2UgcGFyYW1l
dGVyaXplZCBTUUwgcXVlcmllcyBpbiBkYXRhYmFzZTIucHkgbGlicmFyeV9pZCBzZXR0ZXIKKy0g
QWRkIHNhZmV0eSBjb21tZW50IHRvIHBpY2tsZV9sb2FkcyBpbiB1dGlscy9zZXJpYWxpemUucHkK
Ky0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9vZWIvYmFzZS5weSAgICAgICAgICAgIHwgMTIgKysr
KysrKysrLS0tCisgc3JjL2NhbGlicmUvZ3VpMi9fX2luaXRfXy5weSAgICAgICAgICAgICAgfCAg
MiArKworIHNyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNfZWRpdG9yLnB5ICAgICAgIHwgIDIgKy0K
KyBzcmMvY2FsaWJyZS9saWJyYXJ5L2NhdGFsb2dzL2VwdWJfbW9iaS5weSB8IDEwICsrKysrKy0t
LS0KKyBzcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5weSAgICAgICAgICB8ICA2ICsrLS0t
LQorIHNyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5ICAgICAgICAgICAgICAgIHwgIDIgKy0KKyBz
cmMvY2FsaWJyZS91dGlscy9zZXJpYWxpemUucHkgICAgICAgICAgICB8ICAyICstCisgNyBmaWxl
cyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp
dCBhL3NyYy9jYWxpYnJlL2Vib29rcy9vZWIvYmFzZS5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9v
ZWIvYmFzZS5weQoraW5kZXggMTE5MmM4Ny4uNDRhYmI5NCAxMDA2NDQKKy0tLSBhL3NyYy9jYWxp
YnJlL2Vib29rcy9vZWIvYmFzZS5weQorKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL29lYi9iYXNl
LnB5CitAQCAtNTk3LDEyICs1OTcsMTYgQEAgY2xhc3MgRGlyQ29udGFpbmVyOgorICAgICBkZWYg
cmVhZChzZWxmLCBwYXRoKToKKyAgICAgICAgIGlmIHBhdGggaXMgTm9uZToKKyAgICAgICAgICAg
ICBwYXRoID0gc2VsZi5vcGZuYW1lCistICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYu
cm9vdGRpciwgc2VsZi5fdW5xdW90ZShwYXRoKSkKKysgICAgICAgIHBhdGggPSBvcy5wYXRoLmFi
c3BhdGgob3MucGF0aC5qb2luKHNlbGYucm9vdGRpciwgc2VsZi5fdW5xdW90ZShwYXRoKSkpCisr
ICAgICAgICBpZiBub3QgcGF0aC5zdGFydHN3aXRoKG9zLnBhdGguYWJzcGF0aChzZWxmLnJvb3Rk
aXIpKToKKysgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKGYnUGF0aCB7cGF0aCFyfSBpcyBu
b3QgaW5zaWRlIHtzZWxmLnJvb3RkaXIhcn0nKQorICAgICAgICAgd2l0aCBvcGVuKHBhdGgsICdy
YicpIGFzIGY6CisgICAgICAgICAgICAgcmV0dXJuIGYucmVhZCgpCisgCisgICAgIGRlZiB3cml0
ZShzZWxmLCBwYXRoLCBkYXRhKToKKy0gICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5y
b290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKQorKyAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKKysg
ICAgICAgIGlmIG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRp
cikpOgorKyAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZidQYXRoIHtwYXRoIXJ9IGlzIG5v
dCBpbnNpZGUge3NlbGYucm9vdGRpciFyfScpCisgICAgICAgICBkaXIgPSBvcy5wYXRoLmRpcm5h
bWUocGF0aCkKKyAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGRpcik6CisgICAgICAgICAg
ICAgb3MubWFrZWRpcnMoZGlyKQorQEAgLTYxMyw5ICs2MTcsMTEgQEAgY2xhc3MgRGlyQ29udGFp
bmVyOgorICAgICAgICAgaWYgbm90IHBhdGg6CisgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisg
ICAgICAgICB0cnk6CistICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnJvb3Rk
aXIsIHNlbGYuX3VucXVvdGUocGF0aCkpCisrICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJz
cGF0aChvcy5wYXRoLmpvaW4oc2VsZi5yb290ZGlyLCBzZWxmLl91bnF1b3RlKHBhdGgpKSkKKyAg
ICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOiAgIyBIYXBwZW5zIGlmIHBhdGggY29udGFpbnMgcXVv
dGVkIHNwZWNpYWwgY2hhcnMKKyAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKysgICAgICAgIGlm
IG5vdCBwYXRoLnN0YXJ0c3dpdGgob3MucGF0aC5hYnNwYXRoKHNlbGYucm9vdGRpcikpOgorKyAg
ICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHJldHVy
biBvcy5wYXRoLmlzZmlsZShwYXRoKQorICAgICAgICAgZXhjZXB0IFVuaWNvZGVFbmNvZGVFcnJv
cjoKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL19faW5pdF9fLnB5IGIvc3JjL2NhbGli
cmUvZ3VpMi9fX2luaXRfXy5weQoraW5kZXggYTU4OTNkMi4uYWNhN2RmNiAxMDA2NDQKKy0tLSBh
L3NyYy9jYWxpYnJlL2d1aTIvX19pbml0X18ucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvX19p
bml0X18ucHkKK0BAIC04NDUsNiArODQ1LDggQEAgY2xhc3MgRnVuY3Rpb25EaXNwYXRjaGVyKFFP
YmplY3QpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHJlcyA9IHNlbGYuZnVuYygqYXJn
cywgKiprd2FyZ3MpCisgICAgICAgICBleGNlcHQ6CisrICAgICAgICAgICAgaW1wb3J0IHRyYWNl
YmFjaworKyAgICAgICAgICAgIHRyYWNlYmFjay5wcmludF9leGMoKQorICAgICAgICAgICAgIHJl
cyA9IE5vbmUKKyAgICAgICAgIHEucHV0KHJlcykKKyAKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJy
ZS9ndWkyL2NvbW1lbnRzX2VkaXRvci5weSBiL3NyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNfZWRp
dG9yLnB5CitpbmRleCA4ZmIyOTE5Li42MDE3YzU3IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv
Z3VpMi9jb21tZW50c19lZGl0b3IucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvY29tbWVudHNf
ZWRpdG9yLnB5CitAQCAtMTk4LDcgKzE5OCw3IEBAIGRlZiB1c2VfaW1wbGljaXRfc3R5bGluZ19m
b3JfYShhLCBzdHlsZV9tYXApOgorIGRlZiBtZXJnZV9jb250aWd1b3VzX2xpbmtzKHJvb3QpOgor
ICAgICBhbGxfaHJlZnMgPSBzZXQocm9vdC54cGF0aCgnLy9hL0BocmVmJykpCisgICAgIGZvciBo
cmVmIGluIGFsbF9ocmVmczoKKy0gICAgICAgIHRhZ3MgPSByb290LnhwYXRoKGYnLy9hW0BocmVm
PSJ7aHJlZn0iXScpCisrICAgICAgICB0YWdzID0gcm9vdC54cGF0aCgnLy9hW0BocmVmPSRoXScs
IGg9aHJlZikKKyAgICAgICAgIHByb2Nlc3NlZCA9IHNldCgpCisgCisgICAgICAgICBkZWYgaW5z
ZXJ0X3RhZyhwYXJlbnQsIGNoaWxkKToKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9saWJyYXJ5
L2NhdGFsb2dzL2VwdWJfbW9iaS5weSBiL3NyYy9jYWxpYnJlL2xpYnJhcnkvY2F0YWxvZ3MvZXB1
Yl9tb2JpLnB5CitpbmRleCAzZTU2MjY2Li5lNjQwOGY2IDEwMDY0NAorLS0tIGEvc3JjL2NhbGli
cmUvbGlicmFyeS9jYXRhbG9ncy9lcHViX21vYmkucHkKKysrKyBiL3NyYy9jYWxpYnJlL2xpYnJh
cnkvY2F0YWxvZ3MvZXB1Yl9tb2JpLnB5CitAQCAtMzUxLDEwICszNTEsMTEgQEAgY2xhc3MgRVBV
Ql9NT0JJKENhdGFsb2dQbHVnaW4pOgorICAgICAgICAgICAgIGxvZy5lcnJvcihmImNvZXJjaW5n
IHRodW1iX3dpZHRoIGZyb20gJ3tvcHRzLnRodW1iX3dpZHRofScgdG8gJ3tzZWxmLlRIVU1CX1NN
QUxMRVNUfSciKQorICAgICAgICAgICAgIG9wdHMudGh1bWJfd2lkdGggPSAnMS4wJworIAorLSAg
ICAgICAgIyBldmFsIHByZWZpeF9ydWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKKysg
ICAgICAgICMgcGFyc2UgcHJlZml4X3J1bGVzIGlmIHBhc3NlZCBmcm9tIGNvbW1hbmQgbGluZQor
ICAgICAgICAgaWYgdHlwZShvcHRzLnByZWZpeF9ydWxlcykgaXMgbm90IHR1cGxlOgorICAgICAg
ICAgICAgIHRyeToKKy0gICAgICAgICAgICAgICAgb3B0cy5wcmVmaXhfcnVsZXMgPSBldmFsKG9w
dHMucHJlZml4X3J1bGVzKQorKyAgICAgICAgICAgICAgICBpbXBvcnQgYXN0CisrICAgICAgICAg
ICAgICAgIG9wdHMucHJlZml4X3J1bGVzID0gYXN0LmxpdGVyYWxfZXZhbChvcHRzLnByZWZpeF9y
dWxlcykKKyAgICAgICAgICAgICBleGNlcHQ6CisgICAgICAgICAgICAgICAgIGxvZy5lcnJvcihm
J21hbGZvcm1lZCAtLXByZWZpeC1ydWxlczoge29wdHMucHJlZml4X3J1bGVzfScpCisgICAgICAg
ICAgICAgICAgIHJhaXNlCitAQCAtMzYyLDEwICszNjMsMTEgQEAgY2xhc3MgRVBVQl9NT0JJKENh
dGFsb2dQbHVnaW4pOgorICAgICAgICAgICAgICAgICBpZiBsZW4ocnVsZSkgIT0gNDoKKyAgICAg
ICAgICAgICAgICAgICAgIGxvZy5lcnJvcihmJ2luY29ycmVjdCBudW1iZXIgb2YgYXJncyBmb3Ig
LS1wcmVmaXgtcnVsZXM6IHtydWxlIXJ9JykKKyAKKy0gICAgICAgICMgZXZhbCBleGNsdXNpb25f
cnVsZXMgaWYgcGFzc2VkIGZyb20gY29tbWFuZCBsaW5lCisrICAgICAgICAjIHBhcnNlIGV4Y2x1
c2lvbl9ydWxlcyBpZiBwYXNzZWQgZnJvbSBjb21tYW5kIGxpbmUKKyAgICAgICAgIGlmIHR5cGUo
b3B0cy5leGNsdXNpb25fcnVsZXMpIGlzIG5vdCB0dXBsZToKKyAgICAgICAgICAgICB0cnk6Cist
ICAgICAgICAgICAgICAgIG9wdHMuZXhjbHVzaW9uX3J1bGVzID0gZXZhbChvcHRzLmV4Y2x1c2lv
bl9ydWxlcykKKysgICAgICAgICAgICAgICAgaW1wb3J0IGFzdAorKyAgICAgICAgICAgICAgICBv
cHRzLmV4Y2x1c2lvbl9ydWxlcyA9IGFzdC5saXRlcmFsX2V2YWwob3B0cy5leGNsdXNpb25fcnVs
ZXMpCisgICAgICAgICAgICAgZXhjZXB0OgorICAgICAgICAgICAgICAgICBsb2cuZXJyb3IoZidt
YWxmb3JtZWQgLS1leGNsdXNpb24tcnVsZXM6IHtvcHRzLmV4Y2x1c2lvbl9ydWxlc30nKQorICAg
ICAgICAgICAgICAgICByYWlzZQorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2xpYnJhcnkvZGF0
YWJhc2UyLnB5IGIvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRhYmFzZTIucHkKK2luZGV4IGZmMGQz
MGUuLjY0NmFkMTUgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyZS9saWJyYXJ5L2RhdGFiYXNlMi5w
eQorKysrIGIvc3JjL2NhbGlicmUvbGlicmFyeS9kYXRhYmFzZTIucHkKK0BAIC0xMDgsMTAgKzEw
OCw4IEBAIGNsYXNzIExpYnJhcnlEYXRhYmFzZTIoTGlicmFyeURhdGFiYXNlLCBTY2hlbWFVcGdy
YWRlLCBDdXN0b21Db2x1bW5zKToKKyAgICAgQGxpYnJhcnlfaWQuc2V0dGVyCisgICAgIGRlZiBs
aWJyYXJ5X2lkKHNlbGYsIHZhbCk6CisgICAgICAgICBzZWxmLl9saWJyYXJ5X2lkXyA9IHN0cih2
YWwpCistICAgICAgICBzZWxmLmNvbm4uZXhlY3V0ZXNjcmlwdChmJycnCistICAgICAgICAgICAg
ICAgIERFTEVURSBGUk9NIGxpYnJhcnlfaWQ7CistICAgICAgICAgICAgICAgIElOU0VSVCBJTlRP
IGxpYnJhcnlfaWQgKHV1aWQpIFZBTFVFUyAoIntzZWxmLl9saWJyYXJ5X2lkX30iKTsKKy0gICAg
ICAgICAgICAgICAgJycnKQorKyAgICAgICAgc2VsZi5jb25uLmV4ZWN1dGUoJ0RFTEVURSBGUk9N
IGxpYnJhcnlfaWQnKQorKyAgICAgICAgc2VsZi5jb25uLmV4ZWN1dGUoJ0lOU0VSVCBJTlRPIGxp
YnJhcnlfaWQgKHV1aWQpIFZBTFVFUyAoPyknLCAoc2VsZi5fbGlicmFyeV9pZF8sKSkKKyAgICAg
ICAgIHNlbGYuY29ubi5jb21taXQoKQorIAorICAgICBkZWYgY29ubmVjdChzZWxmKToKK2RpZmYg
LS1naXQgYS9zcmMvY2FsaWJyZS9zcnYvY29udGVudC5weSBiL3NyYy9jYWxpYnJlL3Nydi9jb250
ZW50LnB5CitpbmRleCAwMDk0NTgwLi4yYjFhMGU1IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv
c3J2L2NvbnRlbnQucHkKKysrKyBiL3NyYy9jYWxpYnJlL3Nydi9jb250ZW50LnB5CitAQCAtMzA2
LDcgKzMwNiw3IEBAIGRlZiBpY29uKGN0eCwgcmQsIHdoaWNoKToKKyAKKyBAZW5kcG9pbnQoJy9y
ZWFkZXItYmFja2dyb3VuZC97ZW5jb2RlZF9mbmFtZX0nLCBhbmRyb2lkX3dvcmthcm91bmQ9VHJ1
ZSkKKyBkZWYgcmVhZGVyX2JhY2tncm91bmQoY3R4LCByZCwgZW5jb2RlZF9mbmFtZSk6CistICAg
IGJhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5ub3JtYXB0aChvcy5wYXRoLmpvaW4oY29u
ZmlnX2RpciwgJ3ZpZXdlcicsICdiYWNrZ3JvdW5kLWltYWdlcycpKSkKKysgICAgYmFzZSA9IG9z
LnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihjb25maWdfZGlyLCAn
dmlld2VyJywgJ2JhY2tncm91bmQtaW1hZ2VzJykpKQorICAgICBmbmFtZSA9IGJ5dGVzLmZyb21o
ZXgoZW5jb2RlZF9mbmFtZSkKKyAgICAgcSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLm5vcm1w
YXRoKG9zLnBhdGguam9pbihiYXNlLCBmbmFtZSkpKQorICAgICBpZiBub3QgcS5zdGFydHN3aXRo
KGJhc2UpOgorZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weSBiL3Ny
Yy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weQoraW5kZXggODFlMTg3Zi4uNzVmMzM3MCAxMDA2
NDQKKy0tLSBhL3NyYy9jYWxpYnJlL3V0aWxzL3NlcmlhbGl6ZS5weQorKysrIGIvc3JjL2NhbGli
cmUvdXRpbHMvc2VyaWFsaXplLnB5CitAQCAtMTE5LDQgKzExOSw0IEBAIGRlZiBwaWNrbGVfZHVt
cHMoZGF0YSk6CisgCisgZGVmIHBpY2tsZV9sb2FkcyhkdW1wKToKKyAgICAgaW1wb3J0IHBpY2ts
ZQorLSAgICByZXR1cm4gcGlja2xlLmxvYWRzKGR1bXAsIGVuY29kaW5nPSd1dGYtOCcpCisrICAg
IHJldHVybiBwaWNrbGUubG9hZHMoZHVtcCwgZW5jb2Rpbmc9J3V0Zi04JykgICMgbm9zZWM6IG9u
bHkgdXNlZCBmb3IgY2FsaWJyZSdzIG93biBzZXJpYWxpemVkIGRhdGEKZGlmZiAtTnJ1IGNhbGli
cmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1S
Qi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoIGNhbGlicmUtOC41LjAr
ZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1F
bnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13LnBhdGNoCi0tLSBjYWxpYnJlLTguNS4wK2RzL2Rl
Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJl
LWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRjaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAw
MCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDky
LUNWRS0yMDI2LTMwODUzLVJCLUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0
Y2gJMjAyNi0wOC0wNSAyMzo1NDozOS4wMDAwMDAwMDAgKzA5MDAKQEAgLTAsMCArMSw1OCBAQAor
RnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0PgorRGF0ZTogRnJpLCA2IE1h
ciAyMDI2IDA3OjM5OjQ0ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0zMDg1MzogUkIgSW5wdXQ6
IEVuc3VyZSBmaWxlcyBhcmUgZXh0cmFjdGVkIHdpdGhpbgorIGNvbnRhaW5lciBkaXIKKworRm9y
d2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2Nh
bGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTdtcDctcmZyZy01NDJ4CitPcmlnaW46IGh0
dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0LzBmOGRjNjM5MzM3ZDlh
Y2U2NzIwMWUxNWNhMTJkNTkwNmQwNWY0YzgKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9z
aGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9yYi9y
ZWFkZXIucHkgfCAxOSArKysrKysrKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDE1IGlu
c2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9l
Ym9va3MvcmIvcmVhZGVyLnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL3JiL3JlYWRlci5weQoraW5k
ZXggYzFmNzdkZC4uYjEzMDY2YSAxMDA2NDQKKy0tLSBhL3NyYy9jYWxpYnJlL2Vib29rcy9yYi9y
ZWFkZXIucHkKKysrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9yYi9yZWFkZXIucHkKK0BAIC02Nyw2
ICs2NywxNSBAQCBjbGFzcyBSZWFkZXI6CisgCisgICAgICAgICByZXR1cm4gdG9jCisgCisrICAg
IGRlZiBnZXRfc2FmZV9wYXRoKHNlbGYsIG91dHB1dF9kaXIsIG5hbWUpOgorKyAgICAgICAgYmFz
ZSA9IG9zLnBhdGguYWJzcGF0aChvdXRwdXRfZGlyKQorKyAgICAgICAgaWYgbm90IGJhc2UuZW5k
c3dpdGgob3Muc2VwKToKKysgICAgICAgICAgICBiYXNlICs9IG9zLnNlcAorKyAgICAgICAgYW5z
ID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9pbihiYXNlLCBuYW1lKSkKKysgICAgICAgIGlm
IG9zLnBhdGguY29tbW9ucHJlZml4KFthbnMsIGJhc2VdKSAhPSBiYXNlOgorKyAgICAgICAgICAg
IGFucyA9ICcnCisrICAgICAgICByZXR1cm4gYW5zCisrCisgICAgIGRlZiBnZXRfdGV4dChzZWxm
LCB0b2NfaXRlbSwgb3V0cHV0X2Rpcik6CisgICAgICAgICBpZiB0b2NfaXRlbS5mbGFncyBpbiAo
MSwgMik6CisgICAgICAgICAgICAgcmV0dXJuCitAQCAtODcsOCArOTYsOSBAQCBjbGFzcyBSZWFk
ZXI6CisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIG91dHB1dCArPSBzZWxmLnN0cmVhbS5y
ZWFkKHRvY19pdGVtLnNpemUpLmRlY29kZSgnY3AxMjUyJyBpZiBzZWxmLmVuY29kaW5nIGlzIE5v
bmUgZWxzZSBzZWxmLmVuY29kaW5nLCAncmVwbGFjZScpCisgCistICAgICAgICB3aXRoIG9wZW4o
b3MucGF0aC5qb2luKG91dHB1dF9kaXIsIHRvY19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKSwg
J3diJykgYXMgaHRtbDoKKy0gICAgICAgICAgICBodG1sLndyaXRlKG91dHB1dC5yZXBsYWNlKCc8
VElUTEU+JywgJzxUSVRMRT4gJykuZW5jb2RlKCd1dGYtOCcpKQorKyAgICAgICAgaWYgcGF0aCA6
PSBzZWxmLmdldF9zYWZlX3BhdGgob3V0cHV0X2RpciwgdG9jX2l0ZW0ubmFtZS5kZWNvZGUoJ3V0
Zi04JykpOgorKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRoLCAnd2InKSBhcyBodG1sOgorKyAg
ICAgICAgICAgICAgICBodG1sLndyaXRlKG91dHB1dC5yZXBsYWNlKCc8VElUTEU+JywgJzxUSVRM
RT4gJykuZW5jb2RlKCd1dGYtOCcpKQorIAorICAgICBkZWYgZ2V0X2ltYWdlKHNlbGYsIHRvY19p
dGVtLCBvdXRwdXRfZGlyKToKKyAgICAgICAgIGlmIHRvY19pdGVtLmZsYWdzICE9IDA6CitAQCAt
OTcsOCArMTA3LDkgQEAgY2xhc3MgUmVhZGVyOgorICAgICAgICAgc2VsZi5zdHJlYW0uc2Vlayh0
b2NfaXRlbS5vZmZzZXQpCisgICAgICAgICBkYXRhID0gc2VsZi5zdHJlYW0ucmVhZCh0b2NfaXRl
bS5zaXplKQorIAorLSAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihvdXRwdXRfZGlyLCB0
b2NfaXRlbS5uYW1lLmRlY29kZSgndXRmLTgnKSksICd3YicpIGFzIGltZzoKKy0gICAgICAgICAg
ICBpbWcud3JpdGUoZGF0YSkKKysgICAgICAgIGlmIHBhdGggOj0gc2VsZi5nZXRfc2FmZV9wYXRo
KG91dHB1dF9kaXIsIHRvY19pdGVtLm5hbWUuZGVjb2RlKCd1dGYtOCcpKToKKysgICAgICAgICAg
ICB3aXRoIG9wZW4ocGF0aCwgJ3diJykgYXMgaW1nOgorKyAgICAgICAgICAgICAgICBpbWcud3Jp
dGUoZGF0YSkKKyAKKyAgICAgZGVmIGV4dHJhY3RfY29udGVudChzZWxmLCBvdXRwdXRfZGlyKToK
KyAgICAgICAgIHNlbGYubG9nLmRlYnVnKCdFeHRyYWN0aW5nIGNvbnRlbnQgZnJvbSBmaWxlLi4u
JykKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5
Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBh
dGNoIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAy
Ni0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCi0tLSBj
YWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzMy
MDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaAkyMDI2LTA1LTI1
IDA4OjE5OjUzLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0
Y2hlcy91cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZl
bnQtcmVhZGluZy1iYWMucGF0Y2gJMTk3MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAK
QEAgLTEsMzEgKzAsMCBAQAotRnJvbTogS292aWQgR295YWwgPGtvdmlkQGtvdmlkZ295YWwubmV0
PgotRGF0ZTogTW9uLCAxNiBNYXIgMjAyNiAwODo1MDoxOSArMDUzMAotU3ViamVjdDogQ1ZFLTIw
MjYtMzMyMDUgKDEvMik6IEUtYm9vayB2aWV3ZXI6IHByZXZlbnQgcmVhZGluZyBiYWNrZ3JvdW5k
Ci0gaW1hZ2VzIGZyb20gb3V0c2lkZSB0aGUgY29uZmlnIGRpcgotCi1Gb3J3YXJkZWQ6IG5vdC1u
ZWVkZWQKLUJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0
eS9hZHZpc29yaWVzL0dIU0EtNDkyNi12OXB4LXd2N3YKLU9yaWdpbjogaHR0cHM6Ly9naXRodWIu
Y29tL2tvdmlkZ295YWwvY2FsaWJyZS9jb21taXQvNmViN2I1NDU4ZjE4M2M4YTAzN2U5ZDdkYWM0
MjgxMjJhNzcyMDRlNAotCi1TaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhn
bWxAZ21haWwuY29tPgotLS0tCi0gc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkg
fCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt
KQotCi1kaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkgYi9z
cmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weQotaW5kZXggZDIxMTZiYi4uZTA5Njg4
YyAxMDA2NDQKLS0tLSBhL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci0rKysg
Yi9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weQotQEAgLTEwNiw4ICsxMDYsMTEg
QEAgZGVmIGJhY2tncm91bmRfaW1hZ2UoZW5jb2RlZF9mbmFtZT0nJyk6Ci0gICAgICAgICBleGNl
cHQgRmlsZU5vdEZvdW5kRXJyb3I6Ci0gICAgICAgICAgICAgcmV0dXJuICdpbWFnZS9qcGVnJywg
YicnCi0gICAgIGZuYW1lID0gYnl0ZXMuZnJvbWhleChlbmNvZGVkX2ZuYW1lKS5kZWNvZGUoKQot
LSAgICBpbWdfcGF0aCA9IG9zLnBhdGguam9pbih2aWV3ZXJfY29uZmlnX2RpciwgJ2JhY2tncm91
bmQtaW1hZ2VzJywgZm5hbWUpCi0rICAgIGJhc2UgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5q
b2luKHZpZXdlcl9jb25maWdfZGlyLCAnYmFja2dyb3VuZC1pbWFnZXMnKSkgKyBvcy5zZXAKLSsg
ICAgaW1nX3BhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsIGZuYW1lKSkK
LSAgICAgbXQgPSBndWVzc190eXBlKGZuYW1lKVswXSBvciAnaW1hZ2UvanBlZycKLSsgICAgaWYg
bm90IGltZ19wYXRoLnN0YXJ0c3dpdGgoYmFzZSk6Ci0rICAgICAgICByZXR1cm4gbXQsIGInJwot
ICAgICB0cnk6Ci0gICAgICAgICB3aXRoIG9wZW4obWFrZV9sb25nX3BhdGhfdXNlYWJsZShpbWdf
cGF0aCksICdyYicpIGFzIGY6Ci0gICAgICAgICAgICAgcmV0dXJuIG10LCBmLnJlYWQoKQpkaWZm
IC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0y
MDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2ggY2Fs
aWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1
LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKLS0tIGNhbGlicmUt
OC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5My1DVkUtMjAyNi0zMzIwNS0xLTIt
RS1ib29rLXZpZXdlci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6
MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vw
c3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFk
aW5nLWJhYy5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCww
ICsxLDMxIEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CitEYXRl
OiBNb24sIDE2IE1hciAyMDI2IDA4OjUwOjE5ICswNTMwCitTdWJqZWN0OiBDVkUtMjAyNi0zMzIw
NSAoMS8yKTogRS1ib29rIHZpZXdlcjogcHJldmVudCByZWFkaW5nIGJhY2tncm91bmQKKyBpbWFn
ZXMgZnJvbSBvdXRzaWRlIHRoZSBjb25maWcgZGlyCisKK0ZvcndhcmRlZDogbm90LW5lZWRlZAor
QnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL3NlY3VyaXR5L2Fkdmlz
b3JpZXMvR0hTQS00OTI2LXY5cHgtd3Y3dgorT3JpZ2luOiBodHRwczovL2dpdGh1Yi5jb20va292
aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC82ZWI3YjU0NThmMTgzYzhhMDM3ZTlkN2RhYzQyODEyMmE3
NzIwNGU0CisKK1NpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFp
bC5jb20+CistLS0KKyBzcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSB8IDUgKysr
Ky0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2Rp
ZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSBiL3NyYy9jYWxp
YnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitpbmRleCBkMjExNmJiLi5lMDk2ODhjIDEwMDY0
NAorLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkKKysrKyBiL3NyYy9j
YWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitAQCAtMTA2LDggKzEwNiwxMSBAQCBkZWYg
YmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScnKToKKyAgICAgICAgIGV4Y2VwdCBGaWxl
Tm90Rm91bmRFcnJvcjoKKyAgICAgICAgICAgICByZXR1cm4gJ2ltYWdlL2pwZWcnLCBiJycKKyAg
ICAgZm5hbWUgPSBieXRlcy5mcm9taGV4KGVuY29kZWRfZm5hbWUpLmRlY29kZSgpCistICAgIGlt
Z19wYXRoID0gb3MucGF0aC5qb2luKHZpZXdlcl9jb25maWdfZGlyLCAnYmFja2dyb3VuZC1pbWFn
ZXMnLCBmbmFtZSkKKysgICAgYmFzZSA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4odmll
d2VyX2NvbmZpZ19kaXIsICdiYWNrZ3JvdW5kLWltYWdlcycpKSArIG9zLnNlcAorKyAgICBpbWdf
cGF0aCA9IG9zLnBhdGguYWJzcGF0aChvcy5wYXRoLmpvaW4oYmFzZSwgZm5hbWUpKQorICAgICBt
dCA9IGd1ZXNzX3R5cGUoZm5hbWUpWzBdIG9yICdpbWFnZS9qcGVnJworKyAgICBpZiBub3QgaW1n
X3BhdGguc3RhcnRzd2l0aChiYXNlKToKKysgICAgICAgIHJldHVybiBtdCwgYicnCisgICAgIHRy
eToKKyAgICAgICAgIHdpdGggb3BlbihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwg
J3JiJykgYXMgZjoKKyAgICAgICAgICAgICByZXR1cm4gbXQsIGYucmVhZCgpCmRpZmYgLU5ydSBj
YWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMy
MDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaCBjYWxpYnJlLTgu
NS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUt
Ym9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtk
cy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1LTItMi1FLWJvb2st
dmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAw
MDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v
MDA5My1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdlci1EaXNhbGxvdy1iYWNrZ3JvdW5k
LnBhdGNoCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDM2ICswLDAg
QEAKLUZyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwg
MTYgTWFyIDIwMjYgMDg6NTg6MjUgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMzMjA1ICgyLzIp
OiBFLWJvb2sgdmlld2VyOiBEaXNhbGxvdyBiYWNrZ3JvdW5kIGltYWdlcyBmcm9tCi0gdGhlIGlu
dGVybmV0LiBUaGlzIHdhcyBhbiB1bnVzZWQgZmVhdHVyZSBhbnl3YXkKLQotRm9yd2FyZGVkOiBu
b3QtbmVlZGVkCi1CdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvc2Vj
dXJpdHkvYWR2aXNvcmllcy9HSFNBLTQ5MjYtdjlweC13djd2Ci1PcmlnaW46IGh0dHBzOi8vZ2l0
aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2IxZWY2YTgxNDJiOGRhZGViN2U3MmMy
NTBjNjVkNDJiMzZlZTcxMTgKLQotU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290
YS5oZ21sQGdtYWlsLmNvbT4KLS0tLQotIHNyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3
LnB5IHwgMTEgLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTEgZGVsZXRpb25zKC0pCi0K
LWRpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdlci93ZWJfdmlldy5weSBiL3NyYy9j
YWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci1pbmRleCBlMDk2ODhjLi45YzhlMjM3IDEw
MDY0NAotLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIvd2ViX3ZpZXcucHkKLSsrKyBiL3Ny
Yy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5Ci1AQCAtMTE1LDE3ICsxMTUsNiBAQCBk
ZWYgYmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScnKToKLSAgICAgICAgIHdpdGggb3Bl
bihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwgJ3JiJykgYXMgZjoKLSAgICAgICAg
ICAgICByZXR1cm4gbXQsIGYucmVhZCgpCi0gICAgIGV4Y2VwdCBGaWxlTm90Rm91bmRFcnJvcjoK
LS0gICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoKCdodHRwczovLycsICdodHRwOi8vJykpOgot
LSAgICAgICAgICAgIGZyb20gY2FsaWJyZSBpbXBvcnQgYnJvd3NlcgotLSAgICAgICAgICAgIGJy
ID0gYnJvd3NlcigpCi0tICAgICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgICAgICB3aXRoIGJy
Lm9wZW4oZm5hbWUpIGFzIHNyYzoKLS0gICAgICAgICAgICAgICAgICAgIGRhdGEgPSBzcmMucmVh
ZCgpCi0tICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLS0gICAgICAgICAgICAgICAgcmV0
dXJuIG10LCBiJycKLS0gICAgICAgICAgICB3aXRoIG9wZW4obWFrZV9sb25nX3BhdGhfdXNlYWJs
ZShpbWdfcGF0aCksICd3YicpIGFzIGRlc3Q6Ci0tICAgICAgICAgICAgICAgIGRlc3Qud3JpdGUo
ZGF0YSkKLS0gICAgICAgICAgICByZXR1cm4gbXQsIGRhdGEKLSAgICAgICAgIHJldHVybiBtdCwg
YicnCi0gCi0gCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry
ZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dy
b3VuZC5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQt
Q1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRj
aAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk0LUNWRS0y
MDI2LTMzMjA1LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gJMTk3
MC0wMS0wMSAwOTowMDowMC4wMDAwMDAwMDAgKzA5MDAKKysrIGNhbGlicmUtOC41LjArZHMvZGVi
aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZpZXdl
ci1EaXNhbGxvdy1iYWNrZ3JvdW5kLnBhdGNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAw
ICswOTAwCkBAIC0wLDAgKzEsMzYgQEAKK0Zyb206IEtvdmlkIEdveWFsIDxrb3ZpZEBrb3ZpZGdv
eWFsLm5ldD4KK0RhdGU6IE1vbiwgMTYgTWFyIDIwMjYgMDg6NTg6MjUgKzA1MzAKK1N1YmplY3Q6
IENWRS0yMDI2LTMzMjA1ICgyLzIpOiBFLWJvb2sgdmlld2VyOiBEaXNhbGxvdyBiYWNrZ3JvdW5k
IGltYWdlcyBmcm9tCisgdGhlIGludGVybmV0LiBUaGlzIHdhcyBhbiB1bnVzZWQgZmVhdHVyZSBh
bnl3YXkKKworRm9yd2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9r
b3ZpZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLTQ5MjYtdjlweC13djd2
CitPcmlnaW46IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3ZpZGdveWFsL2NhbGlicmUvY29tbWl0L2Ix
ZWY2YTgxNDJiOGRhZGViN2U3MmMyNTBjNjVkNDJiMzZlZTcxMTgKKworU2lnbmVkLW9mZi1ieTog
WU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4KKy0tLQorIHNyYy9jYWxpYnJl
L2d1aTIvdmlld2VyL3dlYl92aWV3LnB5IHwgMTEgLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdl
ZCwgMTEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9ndWkyL3ZpZXdl
ci93ZWJfdmlldy5weSBiL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitpbmRl
eCBlMDk2ODhjLi45YzhlMjM3IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZ3VpMi92aWV3ZXIv
d2ViX3ZpZXcucHkKKysrKyBiL3NyYy9jYWxpYnJlL2d1aTIvdmlld2VyL3dlYl92aWV3LnB5CitA
QCAtMTE1LDE3ICsxMTUsNiBAQCBkZWYgYmFja2dyb3VuZF9pbWFnZShlbmNvZGVkX2ZuYW1lPScn
KToKKyAgICAgICAgIHdpdGggb3BlbihtYWtlX2xvbmdfcGF0aF91c2VhYmxlKGltZ19wYXRoKSwg
J3JiJykgYXMgZjoKKyAgICAgICAgICAgICByZXR1cm4gbXQsIGYucmVhZCgpCisgICAgIGV4Y2Vw
dCBGaWxlTm90Rm91bmRFcnJvcjoKKy0gICAgICAgIGlmIGZuYW1lLnN0YXJ0c3dpdGgoKCdodHRw
czovLycsICdodHRwOi8vJykpOgorLSAgICAgICAgICAgIGZyb20gY2FsaWJyZSBpbXBvcnQgYnJv
d3NlcgorLSAgICAgICAgICAgIGJyID0gYnJvd3NlcigpCistICAgICAgICAgICAgdHJ5OgorLSAg
ICAgICAgICAgICAgICB3aXRoIGJyLm9wZW4oZm5hbWUpIGFzIHNyYzoKKy0gICAgICAgICAgICAg
ICAgICAgIGRhdGEgPSBzcmMucmVhZCgpCistICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoK
Ky0gICAgICAgICAgICAgICAgcmV0dXJuIG10LCBiJycKKy0gICAgICAgICAgICB3aXRoIG9wZW4o
bWFrZV9sb25nX3BhdGhfdXNlYWJsZShpbWdfcGF0aCksICd3YicpIGFzIGRlc3Q6CistICAgICAg
ICAgICAgICAgIGRlc3Qud3JpdGUoZGF0YSkKKy0gICAgICAgICAgICByZXR1cm4gbXQsIGRhdGEK
KyAgICAgICAgIHJldHVybiBtdCwgYicnCisgCisgCmRpZmYgLU5ydSBjYWxpYnJlLTguNS4wK2Rz
L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVu
c3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9w
YXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNv
dXJjZS1maWxlcy1hcmUtci5wYXRjaAotLS0gY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hl
cy91cHN0cmVhbS8wMDk0LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2Ut
ZmlsZXMtYXJlLXIucGF0Y2gJMjAyNi0wNS0yNSAwODoxOTo1My4wMDAwMDAwMDAgKzA5MDAKKysr
IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0z
MzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCTE5NzAtMDEt
MDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCkBAIC0xLDI3ICswLDAgQEAKLUZyb206IEtvdmlk
IEdveWFsIDxrb3ZpZEBrb3ZpZGdveWFsLm5ldD4KLURhdGU6IE1vbiwgMTYgTWFyIDIwMjYgMDg6
Mzc6MTYgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTMzMjA2OiBUWFQgSW5wdXQ6IEVuc3VyZSBy
ZXNvdXJjZSBmaWxlcyBhcmUgcmVhZCBvbmx5IGZyb20KLSBib29rIGNvbnRlbnRzCi0KLUZvcndh
cmRlZDogbm90LW5lZWRlZAotQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxp
YnJlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1oM3A0LW03NGYtNDNnNgotT3JpZ2luOiBodHRw
czovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2NvbW1pdC9jNDNmMzQ3ODM3ZGJjMDBk
OWE3YjVmZjE1YTIyOGI2ZjYwODFlMjkwCi0KLVNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hp
IDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+Ci0tLS0KLSBzcmMvY2FsaWJyZS9lYm9va3MvY29udmVy
c2lvbi9wbHVnaW5zL3R4dF9pbnB1dC5weSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl
cnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29r
cy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lucHV0LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tzL2Nv
bnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQucHkKLWluZGV4IGQ2ZDQzYTYuLjZiYzgyODkgMTAw
NjQ0Ci0tLS0gYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL3R4dF9pbnB1
dC5weQotKysrIGIvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5w
dXQucHkKLUBAIC0xMTIsNyArMTEyLDcgQEAgY2xhc3MgVFhUSW5wdXQoSW5wdXRGb3JtYXRQbHVn
aW4pOgotICAgICAgICAgICAgIHNyYyA9IGltZy5nZXQoJ3NyYycpCi0gICAgICAgICAgICAgcHJl
Zml4ID0gc3JjLnNwbGl0KCc6JywgMSlbMF0ubG93ZXIoKQotICAgICAgICAgICAgIGlmIHNyYyBh
bmQgcHJlZml4IG5vdCBpbiAoJ2ZpbGUnLCAnaHR0cCcsICdodHRwcycsICdmdHAnKSBhbmQgbm90
IG9zLnBhdGguaXNhYnMoc3JjKToKLS0gICAgICAgICAgICAgICAgc3JjID0gb3MucGF0aC5qb2lu
KGJhc2VfZGlyLCBzcmMpCi0rICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGguYWJzcGF0aChv
cy5wYXRoLmpvaW4oYmFzZV9kaXIsIHNyYykpCi0gICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgu
bm9ybWNhc2Uoc3JjKS5zdGFydHN3aXRoKGJhc2VfZGlyKSBhbmQgb3MucGF0aC5pc2ZpbGUoc3Jj
KSBhbmQgb3MuYWNjZXNzKHNyYywgb3MuUl9PSyk6Ci0gICAgICAgICAgICAgICAgICAgICB3aXRo
IG9wZW4oc3JjLCAncmInKSBhcyBmOgotICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBm
LnJlYWQoKQpkaWZmIC1OcnUgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVh
bS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2UtZmlsZXMtYXJl
LXIucGF0Y2ggY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk1LUNW
RS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUtcmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gK
LS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NS1DVkUtMjAy
Ni0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCTE5NzAt
MDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlh
bi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTUtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1y
ZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaAkyMDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCAr
MDkwMApAQCAtMCwwICsxLDI3IEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lh
bC5uZXQ+CitEYXRlOiBNb24sIDE2IE1hciAyMDI2IDA4OjM3OjE2ICswNTMwCitTdWJqZWN0OiBD
VkUtMjAyNi0zMzIwNjogVFhUIElucHV0OiBFbnN1cmUgcmVzb3VyY2UgZmlsZXMgYXJlIHJlYWQg
b25seSBmcm9tCisgYm9vayBjb250ZW50cworCitGb3J3YXJkZWQ6IG5vdC1uZWVkZWQKK0J1Zzog
aHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295YWwvY2FsaWJyZS9zZWN1cml0eS9hZHZpc29yaWVz
L0dIU0EtaDNwNC1tNzRmLTQzZzYKK09yaWdpbjogaHR0cHM6Ly9naXRodWIuY29tL2tvdmlkZ295
YWwvY2FsaWJyZS9jb21taXQvYzQzZjM0NzgzN2RiYzAwZDlhN2I1ZmYxNWEyMjhiNmY2MDgxZTI5
MAorCitTaWduZWQtb2ZmLWJ5OiBZT0tPVEEgSGlyb3NoaSA8eW9rb3RhLmhnbWxAZ21haWwuY29t
PgorLS0tCisgc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQu
cHkgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p
CisKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL3R4
dF9pbnB1dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lu
cHV0LnB5CitpbmRleCBkNmQ0M2E2Li42YmM4Mjg5IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUv
ZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy90eHRfaW5wdXQucHkKKysrKyBiL3NyYy9jYWxpYnJl
L2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvdHh0X2lucHV0LnB5CitAQCAtMTEyLDcgKzExMiw3
IEBAIGNsYXNzIFRYVElucHV0KElucHV0Rm9ybWF0UGx1Z2luKToKKyAgICAgICAgICAgICBzcmMg
PSBpbWcuZ2V0KCdzcmMnKQorICAgICAgICAgICAgIHByZWZpeCA9IHNyYy5zcGxpdCgnOicsIDEp
WzBdLmxvd2VyKCkKKyAgICAgICAgICAgICBpZiBzcmMgYW5kIHByZWZpeCBub3QgaW4gKCdmaWxl
JywgJ2h0dHAnLCAnaHR0cHMnLCAnZnRwJykgYW5kIG5vdCBvcy5wYXRoLmlzYWJzKHNyYyk6Cist
ICAgICAgICAgICAgICAgIHNyYyA9IG9zLnBhdGguam9pbihiYXNlX2Rpciwgc3JjKQorKyAgICAg
ICAgICAgICAgICBzcmMgPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2VfZGlyLCBz
cmMpKQorICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLm5vcm1jYXNlKHNyYykuc3RhcnRzd2l0
aChiYXNlX2RpcikgYW5kIG9zLnBhdGguaXNmaWxlKHNyYykgYW5kIG9zLmFjY2VzcyhzcmMsIG9z
LlJfT0spOgorICAgICAgICAgICAgICAgICAgICAgd2l0aCBvcGVuKHNyYywgJ3JiJykgYXMgZjoK
KyAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gZi5yZWFkKCkKZGlmZiAtTnJ1IGNhbGli
cmUtOC41LjArZHMvZGViaWFuL3NhbHNhLWNpLnltbCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9z
YWxzYS1jaS55bWwKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3NhbHNhLWNpLnltbAkxOTcw
LTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAorKysgY2FsaWJyZS04LjUuMCtkcy9kZWJp
YW4vc2Fsc2EtY2kueW1sCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0w
LDAgKzEsNiBAQAorLS0tCitpbmNsdWRlOgorICAtIGh0dHBzOi8vc2Fsc2EuZGViaWFuLm9yZy9z
YWxzYS1jaS10ZWFtL3BpcGVsaW5lL3Jhdy9tYXN0ZXIvcmVjaXBlcy9kZWJpYW4ueW1sCisKK3Zh
cmlhYmxlczoKKyAgU0FMU0FfQ0lfRElTQUJMRV9VU0NBTjogMQpkaWZmIC1OcnUgY2FsaWJyZS04
LjUuMCtkcy9kZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMgY2FsaWJyZS04LjUuMCtkcy9k
ZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFu
L3NvdXJjZS9pbmNsdWRlLWJpbmFyaWVzCTE5NzAtMDEtMDEgMDk6MDA6MDAuMDAwMDAwMDAwICsw
OTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi9zb3VyY2UvaW5jbHVkZS1iaW5hcmllcwky
MDI2LTA4LTA1IDIzOjU0OjM5LjAwMDAwMDAwMCArMDkwMApAQCAtMCwwICsxIEBACitkZWJpYW4v
dGVzdHMvZGF0YS93YXN0ZWxhbmQtd29mZi1vYmYuZXB1YgpkaWZmIC1OcnUgY2FsaWJyZS04LjUu
MCtkcy9kZWJpYW4vdGVzdHMvY29udHJvbCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9j
b250cm9sCi0tLSBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9jb250cm9sCTIwMjYtMDUt
MjUgMDg6MTk6NTMuMDAwMDAwMDAwICswOTAwCisrKyBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90
ZXN0cy9jb250cm9sCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0yNCwz
ICsyNCw3IEBACiBUZXN0czogY29udmVydC1tZC1lcHViLnNoCiBBcmNoaXRlY3R1cmU6IGFtZDY0
IGFybTY0IGFybWhmIGkzODYKIERlcGVuZHM6IEAsIGVwdWJjaGVjaworCisjIE9iZnVzY2F0ZWQg
Zm9udHMgY29udmVyc2lvbiB0ZXN0IChEZWJpYW4gYnVnIDExNDM0ODQpCitUZXN0czogY29udmVy
dC1vYmZ1c2NhdGVkLWZvbnRzLnNoCitBcmNoaXRlY3R1cmU6IGFtZDY0IGFybTY0IGFybWhmIGkz
ODYKZGlmZiAtTnJ1IGNhbGlicmUtOC41LjArZHMvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNj
YXRlZC1mb250cy5zaCBjYWxpYnJlLTguNS4wK2RzL2RlYmlhbi90ZXN0cy9jb252ZXJ0LW9iZnVz
Y2F0ZWQtZm9udHMuc2gKLS0tIGNhbGlicmUtOC41LjArZHMvZGViaWFuL3Rlc3RzL2NvbnZlcnQt
b2JmdXNjYXRlZC1mb250cy5zaAkxOTcwLTAxLTAxIDA5OjAwOjAwLjAwMDAwMDAwMCArMDkwMAor
KysgY2FsaWJyZS04LjUuMCtkcy9kZWJpYW4vdGVzdHMvY29udmVydC1vYmZ1c2NhdGVkLWZvbnRz
LnNoCTIwMjYtMDgtMDUgMjM6NTQ6MzkuMDAwMDAwMDAwICswOTAwCkBAIC0wLDAgKzEsMTkgQEAK
KyMhL2Jpbi9zaAorCitzZXQgLWV1CisKKyMgUXQgYnVyZnMgc29tZSB3YXJuaW5ncyB0byBzdGRl
cnIgd2hlbiBpbiBHbm9tZS13YXlsYW5kIHNlc3Npb24KK3Vuc2V0IFhER19TRVNTSU9OX1RZUEUK
KworIyBRdCBvdXRwdXRzIHNvbWUgd2FybmluZ3MgdG8gc3RkZXJyIGlmIFhER19SVU5USU1FX0RJ
UiBpcyBub3Qgc2V0CitleHBvcnQgWERHX1JVTlRJTUVfRElSPSR7WERHX1JVTlRJTUVfRElSOj0v
dG1wL3J1bnRpbWUtZGViY2l9CitlY2hvICIjIyMjIFhER19SVU5USU1FX0RJUj0ke1hER19SVU5U
SU1FX0RJUn0iCisKKyMgaW5wdXQgZmlsZSB3YXMgdGFrZW4gZnJvbSBFUFVCIDMgU2FtcGxlcwor
IyAgIGh0dHBzOi8vZ2l0aHViLmNvbS9JRFBGL2VwdWIzLXNhbXBsZXMvcmVsZWFzZXMvZG93bmxv
YWQvMjAyMzA3MDQvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIKKyMgICBodHRwczovL2lkcGYuZ2l0
aHViLmlvL2VwdWIzLXNhbXBsZXMvMzAvc2FtcGxlcy5odG1sCisjICAgaHR0cHM6Ly9naXRodWIu
Y29tL0lEUEYvZXB1YjMtc2FtcGxlcy8KK2lucHV0X2ZpbGU9ZGViaWFuL3Rlc3RzL2RhdGEvd2Fz
dGVsYW5kLXdvZmYtb2JmLmVwdWIKK291dHB1dF9maWxlPSR7QVVUT1BLR1RFU1RfQVJUSUZBQ1RT
fS93YXN0ZWxhbmQtd29mZi1vYmYudHh0CisKK2Vib29rLWNvbnZlcnQgJHtpbnB1dF9maWxlfSAk
e291dHB1dF9maWxlfQpCaW5hcnkgZmlsZXMgLi4uL2NhbGlicmUtOC41LjArZHMvZGViaWFuL3Rl
c3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIgYW5kIC4uLi9jYWxpYnJlLTguNS4wK2Rz
L2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViIGRpZmZlcgo=
--000000000000d24aef06585023e7
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="calibre_8.5.0+ds-1+deb13u4-minimize-1.diff"
Content-Disposition: attachment; 
	filename="calibre_8.5.0+ds-1+deb13u4-minimize-1.diff"
Content-Transfer-Encoding: base64
Content-ID: <f_msgd2qrc1>
X-Attachment-Id: f_msgd2qrc1

ZGlmZiAtLWdpdCBhL2RlYmlhbi9jaGFuZ2Vsb2cgYi9kZWJpYW4vY2hhbmdlbG9nCmluZGV4IDJj
NjhjOWU2MTMuLmM3ZjVhZGJkYjEgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9jaGFuZ2Vsb2cKKysrIGIv
ZGViaWFuL2NoYW5nZWxvZwpAQCAtMSwzICsxLDE5IEBACitjYWxpYnJlICg4LjUuMCtkcy0xK2Rl
YjEzdTQpIHRyaXhpZTsgdXJnZW5jeT1tZWRpdW0KKworICAqIFRoaXMgdXBkYXRlIGFkZHMgZml4
dXAgZm9yIENWRS0yMDI2LTI1NjM2IHBhdGNoIGluIDguNS4wK2RzLTErZGViMTN1MgorCisgICog
U2V0IGRlZmF1bHQgRGViaWFuIGJyYW5jaCBuYW1lIGZvciB0cml4aWUKKyAgKiBVc2Ugc2Fsc2Eg
Q0kKKyAgKiBEaXNhYmxlIHVzY2FuIHRlc3QuCisgICAgSXQgYWx3YXlzIGZhaWwgYmVjYXVzZSB0
aGUgdXBzdHJlYW0gY29kZSBpcyBub3QgbGF0ZXN0IG9uZS4KKyAgKiBBZGQgdGVzdCBmb3IgcmVw
cm9kdWNlIERlYmlhbiBidWcgMTE0MzQ4NAorICAqIENWRS0yMDI2LTI1NjM2ICgxLzIpOiBFUFVC
IElucHV0OiBFbnN1cmUgZm9udCBvYmZ1c2NhdGlvbiBwcm9jZXNzaW5nCisgICAgaGFwcGVucyBv
bmx5IG9uIGZpbGVzIGZyb20gdGhlIEVQVUIgKENsb3NlczogIzExNDM0ODQpCisgICogUmVuYW1l
IGEgQ1ZFLTIwMjYtMjU2MzYgcGF0Y2ggaW4gOC41LjArZHMtMStkZWIxM3UyCisgICogUmVudW1i
ZXIgcGF0Y2hlcworCisgLS0gWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNvbT4g
IFdlZCwgMDUgQXVnIDIwMjYgMjM6NTQ6MzkgKzA5MDAKKwogY2FsaWJyZSAoOC41LjArZHMtMStk
ZWIxM3UzKSB0cml4aWU7IHVyZ2VuY3k9bWVkaXVtCiAKICAgKiBGaXggc2VjdXJpdHkgdnVsbmVy
YWJpbGl0aWVzIGFuZCBjb2RlIHF1YWxpdHkgaXNzdWVzIChDbG9zZXM6ICMxMTM1NTQzKQpkaWZm
IC0tZ2l0IGEvZGViaWFuL2NvcHlyaWdodCBiL2RlYmlhbi9jb3B5cmlnaHQKaW5kZXggZWM0MjYz
ZDU0MS4uOTUwNDkwZWRlYyAxMDA2NDQKLS0tIGEvZGViaWFuL2NvcHlyaWdodAorKysgYi9kZWJp
YW4vY29weXJpZ2h0CkBAIC05Myw2ICs5MywxOCBAQCBDb3B5cmlnaHQ6IENvcHlyaWdodCAoQykg
MjAwNywgS292aWQgR295YWwKICAgICAgICAgICAgQ29weXJpZ2h0IChDKSAyMDA4LCBSb3NldHRh
IENvbnRyaWJ1dG9ycyBhbmQgQ2Fub25pY2FsIEx0ZC4KIExpY2Vuc2U6IEdQTC0zCiAKK0ZpbGVz
OiBkZWJpYW4vKgorQ29weXJpZ2h0OiBZT0tPVEEgSGlyb3NoaSwgTWFydGluIFBpdHQsIE5pY2hv
bGFzIEQgU3RlZXZlcworTGljZW5zZTogR1BMLTMKKworRmlsZXM6IGRlYmlhbi90ZXN0cy9kYXRh
L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCitDb3B5cmlnaHQ6IEVQVUIgMyBDb21tdW5pdHkgR3Jv
dXAKK0xpY2Vuc2U6IENDLUJZLVNBLTMuMAorQ29tbWVudDogaW5wdXQgZmlsZSB3YXMgdGFrZW4g
ZnJvbSBFUFVCIDMgU2FtcGxlcworICBodHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1w
bGVzL3JlbGVhc2VzL2Rvd25sb2FkLzIwMjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisg
IGh0dHBzOi8vaWRwZi5naXRodWIuaW8vZXB1YjMtc2FtcGxlcy8zMC9zYW1wbGVzLmh0bWwKKyAg
aHR0cHM6Ly9naXRodWIuY29tL0lEUEYvZXB1YjMtc2FtcGxlcy8KKwogCiBMaWNlbnNlOiBBcGFj
aGUtMi4wCiAgVGhlIGZ1bGwgdGV4dCBvZiB0aGUgR1BMIGlzIGRpc3RyaWJ1dGVkIGFzIGluCkBA
IC0xMTgsNiArMTMwLDEwIEBAIExpY2Vuc2U6IExHUEwtMi4xKwogIFRoZSBmdWxsIHRleHQgb2Yg
dGhlIExHUEwgaXMgZGlzdHJpYnV0ZWQgYXMgaW4KICAvdXNyL3NoYXJlL2NvbW1vbi1saWNlbnNl
cy9MR1BMLTIuMSBvbiBEZWJpYW4gc3lzdGVtcy4KIAorTGljZW5zZTogQ0MtQlktU0EtMy4wCisg
VGhlIGZ1bGwgdGV4dCBvZiB0aGUgQ0MtQlktU0EtMy4wIGlzIGRpc3RyaWJ1dGVkIGFzIGluCisg
L3Vzci9zaGFyZS9jb21tb24tbGljZW5zZXMvQ0MtQlktU0EtMy4wIG9uIERlYmlhbiBzeXN0ZW1z
LgorCiBMaWNlbnNlOiBCU0QtMy1DbGF1c2UKICBBbGwgcmlnaHRzIHJlc2VydmVkLgogIC4KZGlm
ZiAtLWdpdCBhL2RlYmlhbi9nYnAuY29uZiBiL2RlYmlhbi9nYnAuY29uZgppbmRleCA2YjdjZGZl
NDNjLi40Y2M4MzQ1ZjhlIDEwMDY0NAotLS0gYS9kZWJpYW4vZ2JwLmNvbmYKKysrIGIvZGViaWFu
L2dicC5jb25mCkBAIC0xLDUgKzEsNiBAQAogW0RFRkFVTFRdCiBwcmlzdGluZS10YXIgPSBUcnVl
CitkZWJpYW4tYnJhbmNoID0gZGViaWFuL3RyaXhpZQogCiBbZGNoXQogZnVsbCA9IFRydWUKZGlm
ZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3NlcmllcyBiL2RlYmlhbi9wYXRjaGVzL3Nlcmllcwpp
bmRleCBkYTkyYTFlNDExLi44ZWUyNWQ0ZTNkIDEwMDY0NAotLS0gYS9kZWJpYW4vcGF0Y2hlcy9z
ZXJpZXMKKysrIGIvZGViaWFuL3BhdGNoZXMvc2VyaWVzCkBAIC04MSwxNCArODEsMTUgQEAgcHlr
YWthc2kvMDA4MC1SZXZlcnQtRml4LWEtcmVncmVzc2lvbi10aGF0LWNhdXNlZC1pbmNvcnJlY3Qt
RW5nbGlzLnBhdGNoCiAwMDgxLVJldmVydC1VcGRhdGUtN3ppcC13cmFwcGVyLWNvZGUtZm9yLXJl
bW92YWwtb2YtcmVhZC0ucGF0Y2gKIHVwc3RyZWFtLzAwODItRml4LUNWRS0yMDI1LTY0NDg2LnBh
dGNoCiB1cHN0cmVhbS8wMDgzLUNWRS0yMDI2LTI1NjM1LUNITS1JbnB1dC1JZ25vcmUtaW50ZXJu
YWwtZmlsZXMtdGhhdC0ucGF0Y2gKLXVwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIu
cGF0Y2gKLXVwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhl
LXRlbXBsYXRlLWVuZ2luZS5wYXRjaAotdXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNjA2NC1PRFQt
SW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBhdGNoCi11cHN0cmVhbS8wMDg3LUNW
RS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUucGF0Y2gK
LXVwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29u
dGVudC1kaXNwby5wYXRjaAotdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250ZW50LXNl
cnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCi11cHN0cmVhbS8wMDkwLUZpeC1zZWN1
cml0eS12dWxuZXJhYmlsaXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKLXVwc3Ry
ZWFtLzAwOTEtQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0
ZWQtdy5wYXRjaAotdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdl
ci1wcmV2ZW50LXJlYWRpbmctYmFjLnBhdGNoCi11cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1
LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJhY2tncm91bmQucGF0Y2gKLXVwc3RyZWFtLzAw
OTQtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5w
YXRjaAordXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi0xLTItRVBVQi1JbnB1dC1FbnN1cmUt
Zm9udC1vYmZ1c2NhdGlvLnBhdGNoCit1cHN0cmVhbS8wMDg1LUNWRS0yMDI2LTI1NjM2LTItMi1E
Ulllci5wYXRjaAordXBzdHJlYW0vMDA4Ni1DVkUtMjAyNi0yNTczMS1aSVAtT3V0cHV0LUNoYW5n
ZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCit1cHN0cmVhbS8wMDg3LUNWRS0yMDI2LTI2MDY0
LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gKK3Vwc3RyZWFtLzAw
ODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5w
YXRjaAordXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1TYW5pdGl6
ZS1jb250ZW50LWRpc3BvLnBhdGNoCit1cHN0cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRl
bnQtc2VydmVyLVdoZW4tYmFubmluZy1JUHMtZm9yLXIucGF0Y2gKK3Vwc3RyZWFtLzAwOTEtRml4
LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaAor
dXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4
dHJhY3RlZC13LnBhdGNoCit1cHN0cmVhbS8wMDkzLUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2st
dmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0Y2gKK3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYt
MzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaAordXBzdHJl
YW0vMDA5NS1DVkUtMjAyNi0zMzIwNi1UWFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFy
ZS1yLnBhdGNoCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0y
MDI2LTI1NjM2LTEtMi1FUFVCLUlucHV0LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2ggYi9k
ZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg0LUNWRS0yMDI2LTI1NjM2LTEtMi1FUFVCLUlucHV0
LUVuc3VyZS1mb250LW9iZnVzY2F0aW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMC4uOWY5MDZkNzY4YQotLS0gL2Rldi9udWxsCisrKyBiL2RlYmlhbi9wYXRjaGVz
L3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtMS0yLUVQVUItSW5wdXQtRW5zdXJlLWZvbnQt
b2JmdXNjYXRpby5wYXRjaApAQCAtMCwwICsxLDYzIEBACitGcm9tOiBLb3ZpZCBHb3lhbCA8a292
aWRAa292aWRnb3lhbC5uZXQ+CitEYXRlOiBNb24sIDIgRmViIDIwMjYgMDk6NTE6MTggKzA1MzAK
K1N1YmplY3Q6IENWRS0yMDI2LTI1NjM2ICgxLzIpOiBFUFVCIElucHV0OiBFbnN1cmUgZm9udCBv
YmZ1c2NhdGlvbiBwcm9jZXNzaW5nCisgaGFwcGVucyBvbmx5IG9uIGZpbGVzIGZyb20gdGhlIEVQ
VUIKKworRm9yd2FyZGVkOiBub3QtbmVlZGVkCitCdWc6IGh0dHBzOi8vZ2l0aHViLmNvbS9rb3Zp
ZGdveWFsL2NhbGlicmUvc2VjdXJpdHkvYWR2aXNvcmllcy9HSFNBLThyMjYtbTdqNS1obTI5CitP
cmlnaW46IGJhY2twb3J0LCBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJlL2Nv
bW1pdC8yNjdiZmQzNDAyMGE0ZjI5N2MyZGU5Y2MwY2RlNTBlYmU1ZDAyNGQ0CitCdWctRGViaWFu
OiBodHRwczovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTExNDM0
ODQKKworU2lnbmVkLW9mZi1ieTogWU9LT1RBIEhpcm9zaGkgPHlva290YS5oZ21sQGdtYWlsLmNv
bT4KKy0tLQorIHNyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1
dC5weSB8ICA0ICsrKy0KKyBzcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkgICAgICAgICAg
ICAgICAgICAgICAgfCAxNCArKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgMTcgaW5z
ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2NhbGlicmUvZWJv
b2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5IGIvc3JjL2NhbGlicmUvZWJvb2tz
L2NvbnZlcnNpb24vcGx1Z2lucy9lcHViX2lucHV0LnB5CitpbmRleCAyNTA1MTY5Li5mNjJmZWQx
IDEwMDY0NAorLS0tIGEvc3JjL2NhbGlicmUvZWJvb2tzL2NvbnZlcnNpb24vcGx1Z2lucy9lcHVi
X2lucHV0LnB5CisrKysgYi9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2Vw
dWJfaW5wdXQucHkKK0BAIC00NCw2ICs0NCw4IEBAIGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1h
dFBsdWdpbik6CisgICAgICAgICBpbXBvcnQgdXVpZAorIAorICAgICAgICAgZnJvbSBseG1sIGlt
cG9ydCBldHJlZQorKworKyAgICAgICAgZnJvbSBjYWxpYnJlLnV0aWxzLmZpbGVuYW1lcyBpbXBv
cnQgaXNfZXhpc3Rpbmdfc3VicGF0aAorICAgICAgICAgaWRwZl9rZXkgPSBvcGYucmF3X3VuaXF1
ZV9pZGVudGlmaWVyCisgICAgICAgICBpZiBpZHBmX2tleToKKyAgICAgICAgICAgICBpZHBmX2tl
eSA9IHJlLnN1YihyJ1sgXHRcclxuXScsICcnLCBpZHBmX2tleSkKK0BAIC03NCw3ICs3Niw3IEBA
IGNsYXNzIEVQVUJJbnB1dChJbnB1dEZvcm1hdFBsdWdpbik6CisgICAgICAgICAgICAgICAgIHVy
aSA9IGNyLmdldCgnVVJJJykKKyAgICAgICAgICAgICAgICAgcGF0aCA9IG9zLnBhdGguYWJzcGF0
aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKGVuY2ZpbGUpLCAnLi4nLCAqdXJpLnNwbGl0
KCcvJykpKQorICAgICAgICAgICAgICAgICB0a2V5ID0gKGtleSBpZiBhbGdvcml0aG0gPT0gQURP
QkVfT0JGVVNDQVRJT04gZWxzZSBpZHBmX2tleSkKKy0gICAgICAgICAgICAgICAgaWYgKHRrZXkg
YW5kIG9zLnBhdGguZXhpc3RzKHBhdGgpKToKKysgICAgICAgICAgICAgICAgaWYgKHRrZXkgYW5k
IGlzX2V4aXN0aW5nX3N1YnBhdGgocGF0aCwgb3MuZ2V0Y3dkKCkpKToKKyAgICAgICAgICAgICAg
ICAgICAgIHNlbGYuX2VuY3J5cHRlZF9mb250X3VyaXMuYXBwZW5kKHVyaSkKKyAgICAgICAgICAg
ICAgICAgICAgIGRlY3J5cHRfZm9udCh0a2V5LCBwYXRoLCBhbGdvcml0aG0pCisgICAgICAgICAg
ICAgcmV0dXJuIFRydWUKK2RpZmYgLS1naXQgYS9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMu
cHkgYi9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKK2luZGV4IDUxODJmNzUuLjFjYjA3
ZjQgMTAwNjQ0CistLS0gYS9zcmMvY2FsaWJyZS91dGlscy9maWxlbmFtZXMucHkKKysrKyBiL3Ny
Yy9jYWxpYnJlL3V0aWxzL2ZpbGVuYW1lcy5weQorQEAgLTY0NCw2ICs2NDQsMjAgQEAgZGVmIGNv
cHl0cmVlX3VzaW5nX2xpbmtzKHBhdGgsIGRlc3QsIGRlc3RfaXNfcGFyZW50PVRydWUsIGZpbGVj
b3B5ZnVuYz1jb3B5ZmlsZSkKKyAgICAgICAgICAgICAgICAgZmlsZWNvcHlmdW5jKHNyYywgZGYp
CisgCisgCisrZGVmIGlzX2V4aXN0aW5nX3N1YnBhdGgoY2hpbGQ6IHN0ciwgcGFyZW50OiBzdHIp
IC0+IGJvb2w6CisrICAgICcgQ2hlY2sgaWYgY2hpbGQgaXMgdW5kZXIgcGFyZW50LiBJZiBlaXRo
ZXIgY2hpbGQgb3IgcGFyZW50IGRvbnQgZXhpc3QsIHJldHVybnMgRmFsc2UuICcKKysgICAgdHJ5
OgorKyAgICAgICAgcGFyZW50ID0gb3MucGF0aC5yZWFscGF0aChwYXJlbnQsIHN0cmljdD1UcnVl
KSAgIyByZXNvbHZlIHN5bWxpbmtzCisrICAgICAgICBjaGlsZCA9IG9zLnBhdGgucmVhbHBhdGgo
Y2hpbGQsIHN0cmljdD1UcnVlKQorKyAgICBleGNlcHQgT1NFcnJvcjoKKysgICAgICAgIHJldHVy
biBGYWxzZQorKyAgICBwYXJlbnQgPSBvcy5wYXRoLmFic3BhdGgocGFyZW50KQorKyAgICBjaGls
ZCA9IG9zLnBhdGguYWJzcGF0aChjaGlsZCkKKysgICAgaWYgbm90IHBhcmVudC5lbmRzd2l0aChv
cy5zZXApOgorKyAgICAgICAgcGFyZW50ICs9IG9zLnNlcAorKyAgICByZXR1cm4gY2hpbGQuc3Rh
cnRzd2l0aChwYXJlbnQpCisrCisrCisgcm10cmVlID0gc2h1dGlsLnJtdHJlZQorIAorIApkaWZm
IC0tZ2l0IGEvZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NC1DVkUtMjAyNi0yNTYzNi1EUlll
ci5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU2MzYtMi0y
LURSWWVyLnBhdGNoCnNpbWlsYXJpdHkgaW5kZXggODklCnJlbmFtZSBmcm9tIGRlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKcmVuYW1lIHRvIGRl
Ymlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODUtQ1ZFLTIwMjYtMjU2MzYtMi0yLURSWWVyLnBhdGNo
CmluZGV4IGM0ZDA4YWY0NDQuLmUwNTdlYzkzMGMgMTAwNjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVz
L3Vwc3RyZWFtLzAwODQtQ1ZFLTIwMjYtMjU2MzYtRFJZZXIucGF0Y2gKKysrIGIvZGViaWFuL3Bh
dGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0yNTYzNi0yLTItRFJZZXIucGF0Y2gKQEAgLTEs
NiArMSw2IEBACiBGcm9tOiBLb3ZpZCBHb3lhbCA8a292aWRAa292aWRnb3lhbC5uZXQ+CiBEYXRl
OiBNb24sIDIgRmViIDIwMjYgMTE6MjU6MDkgKzA1MzAKLVN1YmplY3Q6IENWRS0yMDI2LTI1NjM2
OiBEUlllcgorU3ViamVjdDogQ1ZFLTIwMjYtMjU2MzYgKDIvMik6IERSWWVyCiAKIEZvcndhcmRl
ZDogbm90LW5lZWRlZAogQnVnOiBodHRwczovL2dpdGh1Yi5jb20va292aWRnb3lhbC9jYWxpYnJl
L3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS04cjI2LW03ajUtaG0yOQpAQCAtMTIsMTAgKzEyLDEw
IEBAIFNpZ25lZC1vZmYtYnk6IFlPS09UQSBIaXJvc2hpIDx5b2tvdGEuaGdtbEBnbWFpbC5jb20+
CiAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIAogZGlm
ZiAtLWdpdCBhL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1
dC5weSBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1Yl9pbnB1dC5w
eQotaW5kZXggMjUwNTE2OS4uZWRmZWJlZSAxMDA2NDQKK2luZGV4IGY2MmZlZDEuLjZiODE5NDkg
MTAwNjQ0CiAtLS0gYS9zcmMvY2FsaWJyZS9lYm9va3MvY29udmVyc2lvbi9wbHVnaW5zL2VwdWJf
aW5wdXQucHkKICsrKyBiL3NyYy9jYWxpYnJlL2Vib29rcy9jb252ZXJzaW9uL3BsdWdpbnMvZXB1
Yl9pbnB1dC5weQotQEAgLTY2LDE1ICs2NiwxNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3Jt
YXRQbHVnaW4pOgorQEAgLTY4LDE1ICs2OCwxNyBAQCBjbGFzcyBFUFVCSW5wdXQoSW5wdXRGb3Jt
YXRQbHVnaW4pOgogIAogICAgICAgICAgdHJ5OgogICAgICAgICAgICAgIHJvb3QgPSBldHJlZS5w
YXJzZShlbmNmaWxlKQpAQCAtMzAsNyArMzAsNyBAQCBpbmRleCAyNTA1MTY5Li5lZGZlYmVlIDEw
MDY0NAogLSAgICAgICAgICAgICAgICBwYXRoID0gb3MucGF0aC5hYnNwYXRoKG9zLnBhdGguam9p
bihvcy5wYXRoLmRpcm5hbWUoZW5jZmlsZSksICcuLicsICp1cmkuc3BsaXQoJy8nKSkpCiArICAg
ICAgICAgICAgICAgIHBhdGggPSBvcy5wYXRoLmFic3BhdGgob3MucGF0aC5qb2luKGJhc2UsICcu
LicsICp1cmkuc3BsaXQoJy8nKSkpCiAgICAgICAgICAgICAgICAgIHRrZXkgPSAoa2V5IGlmIGFs
Z29yaXRobSA9PSBBRE9CRV9PQkZVU0NBVElPTiBlbHNlIGlkcGZfa2V5KQotLSAgICAgICAgICAg
ICAgICBpZiAodGtleSBhbmQgb3MucGF0aC5leGlzdHMocGF0aCkpOgorLSAgICAgICAgICAgICAg
ICBpZiAodGtleSBhbmQgaXNfZXhpc3Rpbmdfc3VicGF0aChwYXRoLCBvcy5nZXRjd2QoKSkpOgog
KyAgICAgICAgICAgICAgICBpZiAodGtleSBhbmQgaXNfZXhpc3Rpbmdfc3VicGF0aChwYXRoLCBj
b250YWluZXJfYmFzZSkpOgogICAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW5jcnlwdGVkX2Zv
bnRfdXJpcy5hcHBlbmQodXJpKQogICAgICAgICAgICAgICAgICAgICAgZGVjcnlwdF9mb250KHRr
ZXksIHBhdGgsIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFt
LzAwODUtQ1ZFLTIwMjYtMjU3MzEtWklQLU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2lu
ZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjU3MzEtWklQ
LU91dHB1dC1DaGFuZ2UtdGhlLXRlbXBsYXRlLWVuZ2luZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4
IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4NS1DVkUtMjAyNi0y
NTczMS1aSVAtT3V0cHV0LUNoYW5nZS10aGUtdGVtcGxhdGUtZW5naW5lLnBhdGNoCnJlbmFtZSB0
byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg2LUNWRS0yMDI2LTI1NzMxLVpJUC1PdXRwdXQt
Q2hhbmdlLXRoZS10ZW1wbGF0ZS1lbmdpbmUucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODYtQ1ZFLTIwMjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMt
YXJlLWV4dHJhY3RlZC5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIw
MjYtMjYwNjQtT0RULUlucHV0LUVuc3VyZS1pbWFnZXMtYXJlLWV4dHJhY3RlZC5wYXRjaApzaW1p
bGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4
Ni1DVkUtMjAyNi0yNjA2NC1PRFQtSW5wdXQtRW5zdXJlLWltYWdlcy1hcmUtZXh0cmFjdGVkLnBh
dGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg3LUNWRS0yMDI2LTI2MDY0
LU9EVC1JbnB1dC1FbnN1cmUtaW1hZ2VzLWFyZS1leHRyYWN0ZWQucGF0Y2gKZGlmZiAtLWdpdCBh
L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODctQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVu
c3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFyZS5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFt
LzAwODgtQ1ZFLTIwMjYtMjYwNjUtUERCLUlucHV0LUVuc3VyZS1leHRyYWN0ZWQtaW1hZ2VzLWFy
ZS5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMv
dXBzdHJlYW0vMDA4Ny1DVkUtMjAyNi0yNjA2NS1QREItSW5wdXQtRW5zdXJlLWV4dHJhY3RlZC1p
bWFnZXMtYXJlLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDg4LUNW
RS0yMDI2LTI2MDY1LVBEQi1JbnB1dC1FbnN1cmUtZXh0cmFjdGVkLWltYWdlcy1hcmUucGF0Y2gK
ZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODgtQ1ZFLTIwMjYtMjc4MTAt
Q29udGVudC1zZXJ2ZXItU2FuaXRpemUtY29udGVudC1kaXNwby5wYXRjaCBiL2RlYmlhbi9wYXRj
aGVzL3Vwc3RyZWFtLzAwODktQ1ZFLTIwMjYtMjc4MTAtQ29udGVudC1zZXJ2ZXItU2FuaXRpemUt
Y29udGVudC1kaXNwby5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGVi
aWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OC1DVkUtMjAyNi0yNzgxMC1Db250ZW50LXNlcnZlci1T
YW5pdGl6ZS1jb250ZW50LWRpc3BvLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0
cmVhbS8wMDg5LUNWRS0yMDI2LTI3ODEwLUNvbnRlbnQtc2VydmVyLVNhbml0aXplLWNvbnRlbnQt
ZGlzcG8ucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwODktQ1ZF
LTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaCBi
L2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTAtQ1ZFLTIwMjYtMjc4MjQtQ29udGVudC1zZXJ2
ZXItV2hlbi1iYW5uaW5nLUlQcy1mb3Itci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVu
YW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA4OS1DVkUtMjAyNi0yNzgyNC1Db250
ZW50LXNlcnZlci1XaGVuLWJhbm5pbmctSVBzLWZvci1yLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4v
cGF0Y2hlcy91cHN0cmVhbS8wMDkwLUNWRS0yMDI2LTI3ODI0LUNvbnRlbnQtc2VydmVyLVdoZW4t
YmFubmluZy1JUHMtZm9yLXIucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry
ZWFtLzAwOTAtRml4LXNlY3VyaXR5LXZ1bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlz
c3Vlcy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTEtRml4LXNlY3VyaXR5LXZ1
bG5lcmFiaWxpdGllcy1hbmQtY29kZS1xdWFsaXR5LWlzc3Vlcy5wYXRjaApzaW1pbGFyaXR5IGlu
ZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5MC1GaXgtc2Vj
dXJpdHktdnVsbmVyYWJpbGl0aWVzLWFuZC1jb2RlLXF1YWxpdHktaXNzdWVzLnBhdGNoCnJlbmFt
ZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkxLUZpeC1zZWN1cml0eS12dWxuZXJhYmls
aXRpZXMtYW5kLWNvZGUtcXVhbGl0eS1pc3N1ZXMucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9w
YXRjaGVzL3Vwc3RyZWFtLzAwOTEtQ1ZFLTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVz
LWFyZS1leHRyYWN0ZWQtdy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZF
LTIwMjYtMzA4NTMtUkItSW5wdXQtRW5zdXJlLWZpbGVzLWFyZS1leHRyYWN0ZWQtdy5wYXRjaApz
aW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0v
MDA5MS1DVkUtMjAyNi0zMDg1My1SQi1JbnB1dC1FbnN1cmUtZmlsZXMtYXJlLWV4dHJhY3RlZC13
LnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkyLUNWRS0yMDI2LTMw
ODUzLVJCLUlucHV0LUVuc3VyZS1maWxlcy1hcmUtZXh0cmFjdGVkLXcucGF0Y2gKZGlmZiAtLWdp
dCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTItQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9v
ay12aWV3ZXItcHJldmVudC1yZWFkaW5nLWJhYy5wYXRjaCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3Ry
ZWFtLzAwOTMtQ1ZFLTIwMjYtMzMyMDUtMS0yLUUtYm9vay12aWV3ZXItcHJldmVudC1yZWFkaW5n
LWJhYy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20gZGViaWFuL3BhdGNo
ZXMvdXBzdHJlYW0vMDA5Mi1DVkUtMjAyNi0zMzIwNS0xLTItRS1ib29rLXZpZXdlci1wcmV2ZW50
LXJlYWRpbmctYmFjLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91cHN0cmVhbS8wMDkz
LUNWRS0yMDI2LTMzMjA1LTEtMi1FLWJvb2stdmlld2VyLXByZXZlbnQtcmVhZGluZy1iYWMucGF0
Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTMtQ1ZFLTIwMjYtMzMy
MDUtMi0yLUUtYm9vay12aWV3ZXItRGlzYWxsb3ctYmFja2dyb3VuZC5wYXRjaCBiL2RlYmlhbi9w
YXRjaGVzL3Vwc3RyZWFtLzAwOTQtQ1ZFLTIwMjYtMzMyMDUtMi0yLUUtYm9vay12aWV3ZXItRGlz
YWxsb3ctYmFja2dyb3VuZC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUKcmVuYW1lIGZyb20g
ZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5My1DVkUtMjAyNi0zMzIwNS0yLTItRS1ib29rLXZp
ZXdlci1EaXNhbGxvdy1iYWNrZ3JvdW5kLnBhdGNoCnJlbmFtZSB0byBkZWJpYW4vcGF0Y2hlcy91
cHN0cmVhbS8wMDk0LUNWRS0yMDI2LTMzMjA1LTItMi1FLWJvb2stdmlld2VyLURpc2FsbG93LWJh
Y2tncm91bmQucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTQt
Q1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRj
aCBiL2RlYmlhbi9wYXRjaGVzL3Vwc3RyZWFtLzAwOTUtQ1ZFLTIwMjYtMzMyMDYtVFhULUlucHV0
LUVuc3VyZS1yZXNvdXJjZS1maWxlcy1hcmUtci5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDEwMCUK
cmVuYW1lIGZyb20gZGViaWFuL3BhdGNoZXMvdXBzdHJlYW0vMDA5NC1DVkUtMjAyNi0zMzIwNi1U
WFQtSW5wdXQtRW5zdXJlLXJlc291cmNlLWZpbGVzLWFyZS1yLnBhdGNoCnJlbmFtZSB0byBkZWJp
YW4vcGF0Y2hlcy91cHN0cmVhbS8wMDk1LUNWRS0yMDI2LTMzMjA2LVRYVC1JbnB1dC1FbnN1cmUt
cmVzb3VyY2UtZmlsZXMtYXJlLXIucGF0Y2gKZGlmZiAtLWdpdCBhL2RlYmlhbi9zYWxzYS1jaS55
bWwgYi9kZWJpYW4vc2Fsc2EtY2kueW1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAuLmY3YjY5OTI5NTUKLS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4vc2Fsc2EtY2kueW1s
CkBAIC0wLDAgKzEsNiBAQAorLS0tCitpbmNsdWRlOgorICAtIGh0dHBzOi8vc2Fsc2EuZGViaWFu
Lm9yZy9zYWxzYS1jaS10ZWFtL3BpcGVsaW5lL3Jhdy9tYXN0ZXIvcmVjaXBlcy9kZWJpYW4ueW1s
CisKK3ZhcmlhYmxlczoKKyAgU0FMU0FfQ0lfRElTQUJMRV9VU0NBTjogMQpkaWZmIC0tZ2l0IGEv
ZGViaWFuL3NvdXJjZS9pbmNsdWRlLWJpbmFyaWVzIGIvZGViaWFuL3NvdXJjZS9pbmNsdWRlLWJp
bmFyaWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAuLjM4OTQ3N2QwZGIK
LS0tIC9kZXYvbnVsbAorKysgYi9kZWJpYW4vc291cmNlL2luY2x1ZGUtYmluYXJpZXMKQEAgLTAs
MCArMSBAQAorZGViaWFuL3Rlc3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVwdWIKZGlmZiAt
LWdpdCBhL2RlYmlhbi90ZXN0cy9jb250cm9sIGIvZGViaWFuL3Rlc3RzL2NvbnRyb2wKaW5kZXgg
Y2NhYjhlNzU3MS4uNGQ5ODdhYjBmZSAxMDA2NDQKLS0tIGEvZGViaWFuL3Rlc3RzL2NvbnRyb2wK
KysrIGIvZGViaWFuL3Rlc3RzL2NvbnRyb2wKQEAgLTI0LDMgKzI0LDcgQEAgUmVzdHJpY3Rpb25z
OiBzdXBlcmZpY2lhbAogVGVzdHM6IGNvbnZlcnQtbWQtZXB1Yi5zaAogQXJjaGl0ZWN0dXJlOiBh
bWQ2NCBhcm02NCBhcm1oZiBpMzg2CiBEZXBlbmRzOiBALCBlcHViY2hlY2sKKworIyBPYmZ1c2Nh
dGVkIGZvbnRzIGNvbnZlcnNpb24gdGVzdCAoRGViaWFuIGJ1ZyAxMTQzNDg0KQorVGVzdHM6IGNv
bnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaAorQXJjaGl0ZWN0dXJlOiBhbWQ2NCBhcm02NCBhcm1o
ZiBpMzg2CmRpZmYgLS1naXQgYS9kZWJpYW4vdGVzdHMvY29udmVydC1vYmZ1c2NhdGVkLWZvbnRz
LnNoIGIvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaApuZXcgZmlsZSBt
b2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwLi42NzkxYmJjNWNjCi0tLSAvZGV2L251bGwKKysr
IGIvZGViaWFuL3Rlc3RzL2NvbnZlcnQtb2JmdXNjYXRlZC1mb250cy5zaApAQCAtMCwwICsxLDE5
IEBACisjIS9iaW4vc2gKKworc2V0IC1ldQorCisjIFF0IGJ1cmZzIHNvbWUgd2FybmluZ3MgdG8g
c3RkZXJyIHdoZW4gaW4gR25vbWUtd2F5bGFuZCBzZXNzaW9uCit1bnNldCBYREdfU0VTU0lPTl9U
WVBFCisKKyMgUXQgb3V0cHV0cyBzb21lIHdhcm5pbmdzIHRvIHN0ZGVyciBpZiBYREdfUlVOVElN
RV9ESVIgaXMgbm90IHNldAorZXhwb3J0IFhER19SVU5USU1FX0RJUj0ke1hER19SVU5USU1FX0RJ
Ujo9L3RtcC9ydW50aW1lLWRlYmNpfQorZWNobyAiIyMjIyBYREdfUlVOVElNRV9ESVI9JHtYREdf
UlVOVElNRV9ESVJ9IgorCisjIGlucHV0IGZpbGUgd2FzIHRha2VuIGZyb20gRVBVQiAzIFNhbXBs
ZXMKKyMgICBodHRwczovL2dpdGh1Yi5jb20vSURQRi9lcHViMy1zYW1wbGVzL3JlbGVhc2VzL2Rv
d25sb2FkLzIwMjMwNzA0L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCisjICAgaHR0cHM6Ly9pZHBm
LmdpdGh1Yi5pby9lcHViMy1zYW1wbGVzLzMwL3NhbXBsZXMuaHRtbAorIyAgIGh0dHBzOi8vZ2l0
aHViLmNvbS9JRFBGL2VwdWIzLXNhbXBsZXMvCitpbnB1dF9maWxlPWRlYmlhbi90ZXN0cy9kYXRh
L3dhc3RlbGFuZC13b2ZmLW9iZi5lcHViCitvdXRwdXRfZmlsZT0ke0FVVE9QS0dURVNUX0FSVElG
QUNUU30vd2FzdGVsYW5kLXdvZmYtb2JmLnR4dAorCitlYm9vay1jb252ZXJ0ICR7aW5wdXRfZmls
ZX0gJHtvdXRwdXRfZmlsZX0KZGlmZiAtLWdpdCBhL2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFu
ZC13b2ZmLW9iZi5lcHViIGIvZGViaWFuL3Rlc3RzL2RhdGEvd2FzdGVsYW5kLXdvZmYtb2JmLmVw
dWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uMmRlYmRmZjYxNgpCaW5h
cnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL2RlYmlhbi90ZXN0cy9kYXRhL3dhc3RlbGFuZC13b2Zm
LW9iZi5lcHViIGRpZmZlcgo=
--000000000000d24aef06585023e7--