NiBuZXcgY29tbWl0cyBpbiBnYWxheHktY2VudHJhbDoKCmh0dHBzOi8vYml0YnVja2V0Lm9yZy9n
YWxheHkvZ2FsYXh5LWNlbnRyYWwvY29tbWl0cy9hOTRiM2E5N2VkN2EvCkNoYW5nZXNldDogICBh
OTRiM2E5N2VkN2EKQnJhbmNoOiAgICAgIHJlbGVhc2VfMTQuMTAKVXNlcjogICAgICAgIG5hdGVm
b28KRGF0ZTogICAgICAgIDIwMTYtMDItMjQgMjA6NDg6MDArMDA6MDAKU3VtbWFyeTogICAgIFJl
bGVhc2UgMTQuMTAuMwpBZmZlY3RlZCAjOiAgMjAgZmlsZXMKCmRpZmYgLXIgZWIxM2QxODIwMWZi
YmY4MzE5ZmIyYjFjMDNhMjcyZWI1NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0K
ODc5MjJmN2U5ZjJhNzA4NjAgbGliL2dhbGF4eS9leGNlcHRpb25zL19faW5pdF9fLnB5Ci0tLSBh
L2xpYi9nYWxheHkvZXhjZXB0aW9ucy9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L2V4Y2Vw
dGlvbnMvX19pbml0X18ucHkKQEAgLTY2LDYgKzY2LDExIEBACiAgICAgZXJyX2NvZGUgPTNEIGVy
cm9yX2NvZGVzLk1BTEZPUk1FRF9JRAo9MjAKPTIwCitjbGFzcyBNYWxmb3JtZWRDb250ZW50cygg
TWVzc2FnZUV4Y2VwdGlvbiApOgorICAgIHN0YXR1c19jb2RlID0zRCA0MDAKKyAgICBlcnJfY29k
ZSA9M0QgZXJyb3JfY29kZXMuTUFMRk9STUVEX0NPTlRFTlRTCisKKwogY2xhc3MgVW5rbm93bkNv
bnRlbnRzVHlwZSggTWVzc2FnZUV4Y2VwdGlvbiApOgogICAgIHN0YXR1c19jb2RlID0zRCA0MDAK
ICAgICBlcnJfY29kZSA9M0QgZXJyb3JfY29kZXMuVU5LTk9XTl9DT05URU5UU19UWVBFCgpkaWZm
IC1yIGViMTNkMTgyMDFmYmJmODMxOWZiMmIxYzAzYTI3MmViNTUxYjdkMjYgLXIgYTk0YjNhOTdl
ZDdhZTY2NzJjOWIxZGM9Cjg3OTIyZjdlOWYyYTcwODYwIGxpYi9nYWxheHkvZXhjZXB0aW9ucy9l
cnJvcl9jb2Rlcy5qc29uCi0tLSBhL2xpYi9nYWxheHkvZXhjZXB0aW9ucy9lcnJvcl9jb2Rlcy5q
c29uCisrKyBiL2xpYi9nYWxheHkvZXhjZXB0aW9ucy9lcnJvcl9jb2Rlcy5qc29uCkBAIC01Niwx
MCArNTYsMTUgQEAKICAgICB9LAogICAgewogICAgICJuYW1lIjogIlVTRVJfVE9PTF9NRVRBX1BB
UkFNRVRFUl9QUk9CTEVNIiwKLSAgICAiY29kZSI6IDQwMDAxMSwKKyAgICAiY29kZSI6IDQwMDAx
MiwKICAgICAibWVzc2FnZSI6ICJTdXBwbGllZCBpbmNvcnJlY3Qgb3IgaW5jb21wYXRpYmxlIHRv
b2wgbWV0YSBwYXJhbWV0ZXJzLiIKICAgIH0sCiAgICB7CisgICAgIm5hbWUiOiAiTUFMRk9STUVE
X0NPTlRFTlRTIiwKKyAgICAiY29kZSI6IDQwMDAxMywKKyAgICAibWVzc2FnZSI6ICJUaGUgY29u
dGVudHMgb2YgdGhlIHJlcXVlc3QgYXJlIG1hbGZvcm1lZC4iCisgICAgfSwKKyAgIHsKICAgICAi
bmFtZSI6ICJVU0VSX0FVVEhFTlRJQ0FUSU9OX0ZBSUxFRCIsCiAgICAgImNvZGUiOiA0MDEwMDEs
CiAgICAgIm1lc3NhZ2UiOiAiQXV0aGVudGljYXRpb24gZmFpbGVkLCBpbnZhbGlkIGNyZWRlbnRp
YWxzIHN1cHBsaWVkLiIKCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcyZWI1
NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAgbGli
L2dhbGF4eS9tb2RlbC9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L21vZGVsL19faW5pdF9f
LnB5CisrKyBiL2xpYi9nYWxheHkvbW9kZWwvX19pbml0X18ucHkKQEAgLTUsMTUgKzUsMTEgQEAK
IHRoZSByZWxhdGlvbnNoaXAgY2FyZGluYWxpdGllcyBhcmUgb2J2aW91cyAoZS5nLiBwcmVmZXIg
RGF0YXNldCB0byBEYXRhKQogIiIiCj0yMAotZnJvbSBnYWxheHkgaW1wb3J0IGVnZ3MKLWVnZ3Mu
cmVxdWlyZSgicGV4cGVjdCIpCi0KIGltcG9ydCBjb2RlY3MKIGltcG9ydCBlcnJubwogaW1wb3J0
IGxvZ2dpbmcKIGltcG9ydCBvcGVyYXRvcgogaW1wb3J0IG9zCi1pbXBvcnQgcGV4cGVjdAogaW1w
b3J0IGpzb24KIGltcG9ydCBzb2NrZXQKIGltcG9ydCB0aW1lCkBAIC0zNjk0LDI3ICszNjkwLDYg
QEAKICAgICAgICAgICAgICAgICB1bnRyYW5zZmVycmVkX2RhdGFzZXRzLmFwcGVuZCggZGF0YXNl
dCApCiAgICAgICAgIHJldHVybiB1bnRyYW5zZmVycmVkX2RhdGFzZXRzCj0yMAotICAgIGRlZiBn
ZXRfdW50cmFuc2ZlcnJlZF9kYXRhc2V0X3NpemUoIHNlbGYsIGZpbGVwYXRoLCBzY3BfY29uZmln
cyApOgotICAgICAgICBkZWYgcHJpbnRfdGlja3MoIGQgKToKLSAgICAgICAgICAgIHBhc3MKLSAg
ICAgICAgZXJyb3JfbXNnID0zRCAnRXJyb3IgZW5jb3VudGVyZWQgaW4gZGV0ZXJtaW5pbmcgdGhl
IGZpbGUgc2l6ZSBvZiAlPQpzIG9uIHRoZSBleHRlcm5hbF9zZXJ2aWNlLicgJSBmaWxlcGF0aAot
ICAgICAgICBpZiBub3Qgc2NwX2NvbmZpZ3NbJ2hvc3QnXSBvciBub3Qgc2NwX2NvbmZpZ3NbJ3Vz
ZXJfbmFtZSddIG9yIG5vdCA9CnNjcF9jb25maWdzWydwYXNzd29yZCddOgotICAgICAgICAgICAg
cmV0dXJuIGVycm9yX21zZwotICAgICAgICBsb2dpbl9zdHIgPTNEICclc0AlcycgJSAoIHNjcF9j
b25maWdzWyd1c2VyX25hbWUnXSwgc2NwX2NvbmZpZ3NbJ2g9Cm9zdCddICkKLSAgICAgICAgY21k
ICA9M0QgJ3NzaCAlcyAiZHUgLXNoIFwnJXNcJyInICUgKCBsb2dpbl9zdHIsIGZpbGVwYXRoICkK
LSAgICAgICAgdHJ5OgotICAgICAgICAgICAgb3V0cHV0ID0zRCBwZXhwZWN0LnJ1biggY21kLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJy5zc3dvcmQ6Kic6
IHNjcF9jb25maWdzWydwYXM9CnN3b3JkJ10rJ1xyXG4nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBleHBlY3QuVElNRU9VVDpwcmludF90aWNrc30sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zRDEwICkKLSAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAgIHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgIyBj
bGVhbnVwIHRoZSBvdXRwdXQgdG8gZ2V0IGp1c3QgdGhlIGZpbGUgc2l6ZQotICAgICAgICByZXR1
cm4gIG91dHB1dC5yZXBsYWNlKCBmaWxlcGF0aCwgJycgKVwKLSAgICAgICAgICAgICAgICAgICAg
ICAucmVwbGFjZSggJ1Bhc3N3b3JkOicsICcnIClcCi0gICAgICAgICAgICAgICAgICAgICAgLnJl
cGxhY2UoICIncyBwYXNzd29yZDoiLCAnJyApXAotICAgICAgICAgICAgICAgICAgICAgIC5yZXBs
YWNlKCBsb2dpbl9zdHIsICcnIClcCi0gICAgICAgICAgICAgICAgICAgICAgLnN0cmlwKCkKICAg
ICBAcHJvcGVydHkKICAgICBkZWYgcnVuX2RldGFpbHMoIHNlbGYgKToKICAgICAgICAgIyBzZWxm
LnJ1bnMgaXMgYSBsaXN0IG9mIFNhbXBsZVJ1bkFzc29jaWF0aW9ucyBvcmRlcmVkIGRlc2NlbmRp
bmcgPQpvbiB1cGRhdGVfdGltZS4KCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNh
MjcyZWI1NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4
NjAgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L29i
amVjdHN0b3JlL19faW5pdF9fLnB5CisrKyBiL2xpYi9nYWxheHkvb2JqZWN0c3RvcmUvX19pbml0
X18ucHkKQEAgLTExLDcgKzExLDcgQEAKIGltcG9ydCB0aHJlYWRpbmcKIGZyb20geG1sLmV0cmVl
IGltcG9ydCBFbGVtZW50VHJlZQo9MjAKLWZyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHVtYXNrX2Zp
eF9wZXJtcywgZm9yY2Vfc3ltbGluaworZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgdW1hc2tfZml4
X3Blcm1zLCBmb3JjZV9zeW1saW5rLCBzYWZlX3JlbHBhdGgKIGZyb20gZ2FsYXh5LmV4Y2VwdGlv
bnMgaW1wb3J0IE9iamVjdEludmFsaWQsIE9iamVjdE5vdEZvdW5kCiBmcm9tIGdhbGF4eS51dGls
LnNsZWVwZXIgaW1wb3J0IFNsZWVwZXIKIGZyb20gZ2FsYXh5LnV0aWwuZGlyZWN0b3J5X2hhc2gg
aW1wb3J0IGRpcmVjdG9yeV9oYXNoX2lkCkBAIC0yNTYsNyArMjU2LDE3IEBACiAgICAgICAgICAg
ICAgICAgICAgICAgICAgdGhlIGNvbXBvc2VkIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgZG9lcyBub3Qg
aW5jbHVkZT0KIGEgaGFzaCBpZAogICAgICAgICAgICAgICAgICAgICAgICAgIChlLmcuLCAvZmls
ZXMvZGF0YXNldF8xMC5kYXQgKG9sZCkgdnMuIC9maWxlcy8wMDA9Ci9kYXRhc2V0XzEwLmRhdCAo
bmV3KSkKICAgICAgICAgIiIiCi0gICAgICAgIGJhc2UgPTNEIHNlbGYuZXh0cmFfZGlycy5nZXQo
YmFzZV9kaXIsIHNlbGYuZmlsZV9wYXRoKQorICAgICAgICBiYXNlID0zRCBvcy5wYXRoLmFic3Bh
dGgoc2VsZi5leHRyYV9kaXJzLmdldChiYXNlX2Rpciwgc2VsZi5maWxlX3A9CmF0aCkpCisgICAg
ICAgICMgZXh0cmFfZGlyIHNob3VsZCBuZXZlciBiZSBjb25zdHJ1Y3RlZCBmcm9tIHByb3ZpZGVk
IGRhdGEgYnV0IGp1c3QKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlcmUgYXJlIG5vIHNoZW5hbm5p
Z2FucyBhZm9vdAorICAgICAgICBpZiBleHRyYV9kaXIgYW5kIGV4dHJhX2RpciAhPTNEIG9zLnBh
dGgubm9ybXBhdGgoZXh0cmFfZGlyKToKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCdleHRyYV9k
aXIgaXMgbm90IG5vcm1hbGl6ZWQ6ICVzJywgZXh0cmFfZGlyKQorICAgICAgICAgICAgcmFpc2Ug
T2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIpCisgICAgICAg
ICMgZW5zdXJlIHRoYXQgYW55IHBhcmVudCBkaXJlY3RvcnkgcmVmZXJlbmNlcyBpbiBhbHRfbmFt
ZSB3b3VsZCBub3QKKyAgICAgICAgIyByZXN1bHQgaW4gYSBwYXRoIG5vdCBjb250YWluZWQgaW4g
dGhlIGRpcmVjdG9yeSBwYXRoIGNvbnN0cnVjdGVkPQogaGVyZQorICAgICAgICBpZiBhbHRfbmFt
ZSBhbmQgbm90IHNhZmVfcmVscGF0aChhbHRfbmFtZSk6CisgICAgICAgICAgICBsb2cud2Fybmlu
ZygnYWx0X25hbWUgd291bGQgbG9jYXRlIHBhdGggb3V0c2lkZSBkaXI6ICVzJywgYWx0Xz0KbmFt
ZSkKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0
IGlzIGludmFsaWQiKQogICAgICAgICBpZiBvbGRfc3R5bGU6CiAgICAgICAgICAgICBpZiBleHRy
YV9kaXIgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgcGF0aCA9M0Qgb3MucGF0aC5qb2lu
KGJhc2UsIGV4dHJhX2RpcikKQEAgLTYyMyw5ICs2MzMsMTAgQEAKICAgICBlbGlmIHN0b3JlID0z
RD0zRCAnaXJvZHMnOgogICAgICAgICBmcm9tIC5yb2RzIGltcG9ydCBJUk9EU09iamVjdFN0b3Jl
CiAgICAgICAgIHJldHVybiBJUk9EU09iamVjdFN0b3JlKGNvbmZpZz0zRGNvbmZpZywgY29uZmln
X3htbD0zRGNvbmZpZ194bWwpCi0gICAgZWxpZiBzdG9yZSA9M0Q9M0QgJ3B1bHNhcic6Ci0gICAg
ICAgIGZyb20gLnB1bHNhciBpbXBvcnQgUHVsc2FyT2JqZWN0U3RvcmUKLSAgICAgICAgcmV0dXJu
IFB1bHNhck9iamVjdFN0b3JlKGNvbmZpZz0zRGNvbmZpZywgY29uZmlnX3htbD0zRGNvbmZpZ194
bWwpCisgICAgIyBEaXNhYmxlIHRoZSBQdWxzYXIgb2JqZWN0IHN0b3JlIGZvciBub3cgdW50aWwg
aXQgcmVjZWl2ZXMgc29tZSBhdHRlbj0KdGlvbgorICAgICMgZWxpZiBzdG9yZSA9M0Q9M0QgJ3B1
bHNhcic6CisgICAgIyAgICBmcm9tIC5wdWxzYXIgaW1wb3J0IFB1bHNhck9iamVjdFN0b3JlCisg
ICAgIyAgICByZXR1cm4gUHVsc2FyT2JqZWN0U3RvcmUoY29uZmlnPTNEY29uZmlnLCBjb25maWdf
eG1sPTNEY29uZmlnX3htbCkKICAgICBlbHNlOgogICAgICAgICBsb2cuZXJyb3IoIlVucmVjb2du
aXplZCBvYmplY3Qgc3RvcmUgZGVmaW5pdGlvbjogezB9Ii5mb3JtYXQoc3RvcmU9CikpCj0yMAoK
ZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgzMTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1yIGE5NGIz
YTk3ZWQ3YWU2NjcyYzliMWRjPQo4NzkyMmY3ZTlmMmE3MDg2MCBsaWIvZ2FsYXh5L29iamVjdHN0
b3JlL3JvZHMucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5CisrKyBiL2xp
Yi9nYWxheHkvb2JqZWN0c3RvcmUvcm9kcy5weQpAQCAtMTIsNyArMTIsOCBAQAogZnJvbSBwb3Np
eHBhdGggaW1wb3J0IGJhc2VuYW1lIGFzIHBhdGhfYmFzZW5hbWUKIGZyb20gcG9zaXhwYXRoIGlt
cG9ydCBkaXJuYW1lIGFzIHBhdGhfZGlybmFtZQo9MjAKLWZyb20gZ2FsYXh5LmV4Y2VwdGlvbnMg
aW1wb3J0IE9iamVjdE5vdEZvdW5kCitmcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmpl
Y3ROb3RGb3VuZCwgT2JqZWN0SW52YWxpZAorZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc2FmZV9y
ZWxwYXRoCiBmcm9tIC4ub2JqZWN0c3RvcmUgaW1wb3J0IERpc2tPYmplY3RTdG9yZSwgT2JqZWN0
U3RvcmUsIGxvY2FsX2V4dHJhX2RpcnMKPTIwCiB0cnk6CkBAIC03MSw2ICs3MiwyMCBAQAogICAg
ICAgICBsb2cuaW5mbyggImlST0RTIGRhdGEgZm9yIHRoaXMgaW5zdGFuY2Ugd2lsbCBiZSBzdG9y
ZWQgaW4gY29sbGVjdGk9Cm9uOiAlcywgcmVzb3VyY2U6ICVzIiwgc2VsZi5yb290X2NvbGxlY3Rp
b25fcGF0aCwgc2VsZi5kZWZhdWx0X3Jlc291cmNlICkKPTIwCiAgICAgZGVmIF9fZ2V0X3JvZHNf
cGF0aCggc2VsZiwgb2JqLCBiYXNlX2Rpcj0zRE5vbmUsIGRpcl9vbmx5PTNERmFsc2UsIGV4dD0K
cmFfZGlyPTNETm9uZSwgZXh0cmFfZGlyX2F0X3Jvb3Q9M0RGYWxzZSwgYWx0X25hbWU9M0ROb25l
LCBzdHJpcF9kYXQ9M0RUcnVlPQosICoqa3dhcmdzICk6CisgICAgICAgICMgZXh0cmFfZGlyIHNo
b3VsZCBuZXZlciBiZSBjb25zdHJ1Y3RlZCBmcm9tIHByb3ZpZGVkIGRhdGEgYnV0IGp1c3QKKyAg
ICAgICAgIyBtYWtlIHN1cmUgdGhlcmUgYXJlIG5vIHNoZW5hbm5pZ2FucyBhZm9vdAorICAgICAg
ICBpZiBleHRyYV9kaXIgYW5kIGV4dHJhX2RpciAhPTNEIG9zLnBhdGgubm9ybXBhdGgoZXh0cmFf
ZGlyKToKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCdleHRyYV9kaXIgaXMgbm90IG5vcm1hbGl6
ZWQ6ICVzJywgZXh0cmFfZGlyKQorICAgICAgICAgICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhl
IHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIpCisgICAgICAgICMgZW5zdXJlIHRoYXQgYW55
IHBhcmVudCBkaXJlY3RvcnkgcmVmZXJlbmNlcyBpbiBhbHRfbmFtZSB3b3VsZCBub3QKKyAgICAg
ICAgIyByZXN1bHQgaW4gYSBwYXRoIG5vdCBjb250YWluZWQgaW4gdGhlIGRpcmVjdG9yeSBwYXRo
IGNvbnN0cnVjdGVkPQogaGVyZQorICAgICAgICBpZiBhbHRfbmFtZToKKyAgICAgICAgICAgIGlm
IG5vdCBzYWZlX3JlbHBhdGgoYWx0X25hbWUpOgorICAgICAgICAgICAgICAgIGxvZy53YXJuaW5n
KCdhbHRfbmFtZSB3b3VsZCBsb2NhdGUgcGF0aCBvdXRzaWRlIGRpcjogJXMnLCA9CmFsdF9uYW1l
KQorICAgICAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2Jq
ZWN0IGlzIGludmFsaWQiKQorICAgICAgICAgICAgIyBhbHRfbmFtZSBjYW4gY29udGFpbiBwYXJl
bnQgZGlyZWN0b3J5IHJlZmVyZW5jZXMsIGJ1dCBpUk9EUyA9CndpbGwKKyAgICAgICAgICAgICMg
bm90IGZvbGxvdyB0aGVtLCBzbyBpZiB0aGV5IGFyZSB2YWxpZCB3ZSBub3JtYWxpemUgdGhlbSBv
dXQKKyAgICAgICAgICAgIGFsdF9uYW1lID0zRCBvcy5wYXRoLm5vcm1wYXRoKGFsdF9uYW1lKQog
ICAgICAgICBwYXRoID0zRCAiIgogICAgICAgICBpZiBleHRyYV9kaXIgaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgICBwYXRoID0zRCBleHRyYV9kaXIKCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5
ZmIyYjFjMDNhMjcyZWI1NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJm
N2U5ZjJhNzA4NjAgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5weQotLS0gYS9saWIvZ2FsYXh5
L29iamVjdHN0b3JlL3MzLnB5CisrKyBiL2xpYi9nYWxheHkvb2JqZWN0c3RvcmUvczMucHkKQEAg
LTEyLDggKzEyLDggQEAKPTIwCiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGltZQo9MjAKLWZy
b20gZ2FsYXh5LmV4Y2VwdGlvbnMgaW1wb3J0IE9iamVjdE5vdEZvdW5kCi1mcm9tIGdhbGF4eS51
dGlsIGltcG9ydCB1bWFza19maXhfcGVybXMKK2Zyb20gZ2FsYXh5LmV4Y2VwdGlvbnMgaW1wb3J0
IE9iamVjdE5vdEZvdW5kLCBPYmplY3RJbnZhbGlkCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCB1
bWFza19maXhfcGVybXMsIHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHkudXRpbC5kaXJlY3Rvcnlf
aGFzaCBpbXBvcnQgZGlyZWN0b3J5X2hhc2hfaWQKIGZyb20gZ2FsYXh5LnV0aWwuc2xlZXBlciBp
bXBvcnQgU2xlZXBlcgogZnJvbSAuczNfbXVsdGlwYXJ0X3VwbG9hZCBpbXBvcnQgbXVsdGlwYXJ0
X3VwbG9hZApAQCAtMTgxLDYgKzE4MSwyMCBAQAogICAgICAgICAgICAgICAgIHVtYXNrX2ZpeF9w
ZXJtcyggcGF0aCwgc2VsZi5jb25maWcudW1hc2ssIDA2NjYsIHNlbGYuY29uZmk9CmcuZ2lkICkK
PTIwCiAgICAgZGVmIF9jb25zdHJ1Y3RfcGF0aChzZWxmLCBvYmosIGRpcl9vbmx5PTNETm9uZSwg
ZXh0cmFfZGlyPTNETm9uZSwgZXh0cj0KYV9kaXJfYXRfcm9vdD0zREZhbHNlLCBhbHRfbmFtZT0z
RE5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVyIGJlIGNv
bnN0cnVjdGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAgICAgICAjIG1ha2Ugc3Vy
ZSB0aGVyZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAgIGlmIGV4dHJhX2RpciBh
bmQgZXh0cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAgICAgICAg
ICAgbG9nLndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBleHRyYV9k
aXIpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVj
dCBpcyBpbnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRpcmVjdG9y
eSByZWZlcmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAgICAjIHJlc3VsdCBpbiBh
IHBhdGggbm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0ZWQ9CiBo
ZXJlCisgICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYgbm90IHNhZmVfcmVscGF0
aChhbHRfbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxk
IGxvY2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUpCisgICAgICAgICAgICAg
ICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIp
CisgICAgICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVudCBkaXJlY3RvcnkgcmVm
ZXJlbmNlcywgYnV0IFMzIHdpbD0KbCBub3QKKyAgICAgICAgICAgICMgZm9sbG93IHRoZW0sIHNv
IGlmIHRoZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91dAorICAgICAgICAgICAgYWx0
X25hbWUgPTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAgICAgICAgIHJlbF9wYXRoID0z
RCBvcy5wYXRoLmpvaW4oKmRpcmVjdG9yeV9oYXNoX2lkKG9iai5pZCkpCiAgICAgICAgIGlmIGV4
dHJhX2RpciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGV4dHJhX2Rpcl9hdF9yb290OgoK
ZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgzMTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1yIGE5NGIz
YTk3ZWQ3YWU2NjcyYzliMWRjPQo4NzkyMmY3ZTlmMmE3MDg2MCBsaWIvZ2FsYXh5L3Rvb2xzL2lt
cF9leHAvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19faW5pdF9f
LnB5CisrKyBiL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC9fX2luaXRfXy5weQpAQCAtNSw2ICs1
LDcgQEAKIGltcG9ydCBqc29uCiBpbXBvcnQgZGF0ZXRpbWUKIGZyb20gZ2FsYXh5IGltcG9ydCBt
b2RlbAorZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgTWFsZm9ybWVkQ29udGVudHMKIGZy
b20gZ2FsYXh5LnRvb2xzLnBhcmFtZXRlcnMuYmFzaWMgaW1wb3J0IFVudmFsaWRhdGVkVmFsdWUK
IGZyb20gZ2FsYXh5LndlYi5mcmFtZXdvcmsuaGVscGVycyBpbXBvcnQgdG9fdW5pY29kZQogZnJv
bSBnYWxheHkubW9kZWwuaXRlbV9hdHRycyBpbXBvcnQgVXNlc0Fubm90YXRpb25zCkBAIC0xODcs
OSArMTg4LDkgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgZGF0YXNldF9hdHRycy5nZXQoJ2V4
cG9ydGVkJywgVHJ1ZSkgPTNEPTNEIFRydWU6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIERv
IHNlY3VyaXR5IGNoZWNrIGFuZCBtb3ZlL2NvcHkgZGF0YXNldCBkYXRhLgogICAgICAgICAgICAg
ICAgICAgICAgICAgdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSA9M0QgXAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG9zLnBhdGguYWJzcGF0aCggb3MucGF0aC5qb2luKCBhcmNoaXZlX2Rpciwg
ZGE9CnRhc2V0X2F0dHJzWydmaWxlX25hbWUnXSApICkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcy5wYXRoLnJlYWxwYXRoKCBvcy5wYXRoLmFic3BhdGgoIG9zLnBhdGguam9pPQpuKCBh
cmNoaXZlX2RpciwgZGF0YXNldF9hdHRyc1snZmlsZV9uYW1lJ10gKSApICkKICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIG5vdCBmaWxlX2luX2RpciggdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSwg
b3MucGF0PQpoLmpvaW4oIGFyY2hpdmVfZGlyLCAiZGF0YXNldHMiICkgKToKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oICJJbnZhbGlkIGRhdGFzZXQgcGF0aDog
JXMiICUgPQp0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lICkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByYWlzZSBNYWxmb3JtZWRDb250ZW50cyggIkludmFsaWQgZGF0YXNldCBwYXRoPQo6ICVz
IiAlIHRlbXBfZGF0YXNldF9maWxlX25hbWUgKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYg
ZGF0YXNldHNfdXNhZ2VfY291bnRzWyB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lIF09CiA9M0Q9M0Qg
MToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaHV0aWwubW92ZSggdGVtcF9kYXRhc2V0
X2ZpbGVfbmFtZSwgaGRhLmZpbGVfPQpuYW1lICkKICAgICAgICAgICAgICAgICAgICAgICAgIGVs
c2U6CkBAIC0zMTMsNiArMzE0LDcgQEAKICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6
CiAgICAgICAgICAgICAgICAgamloYS5qb2Iuc3RkZXJyICs9M0QgIkVycm9yIGNsZWFuaW5nIHVw
IGhpc3RvcnkgaW1wb3J0IGpvYj0KOiAlcyIgJSBlCiAgICAgICAgICAgICAgICAgc2VsZi5zYV9z
ZXNzaW9uLmZsdXNoKCkKKyAgICAgICAgICAgICAgICByYWlzZQo9MjAKPTIwCiBjbGFzcyBKb2JF
eHBvcnRIaXN0b3J5QXJjaGl2ZVdyYXBwZXIoIG9iamVjdCwgVXNlc0hpc3RvcnlNaXhpbiwgVXNl
c0Fubm90YT0KdGlvbnMgKToKCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcy
ZWI1NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAg
bGliL2dhbGF4eS90b29scy9pbXBfZXhwL3VucGFja190YXJfZ3pfYXJjaGl2ZS5weQotLS0gYS9s
aWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAvdW5wYWNrX3Rhcl9nel9hcmNoaXZlLnB5CisrKyBiL2xp
Yi9nYWxheHkvdG9vbHMvaW1wX2V4cC91bnBhY2tfdGFyX2d6X2FyY2hpdmUucHkKQEAgLTYsNiAr
Niw3IEBACiAgICAgLS1bdXJsfGZpbGVdIHNvdXJjZSB0eXBlLCBlaXRoZXIgYSBVUkwgb3IgYSBm
aWxlLgogIiIiCj0yMAoraW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBpbXBvcnQgb3B0cGFyc2UKIGlt
cG9ydCB0YXJmaWxlCkBAIC00Myw2ICs0NCwyMiBAQAogICAgICAgICByZXR1cm4gTm9uZQo9MjAK
PTIwCitkZWYgY2hlY2tfYXJjaGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApOgorICAgICIi
IgorICAgIEVuc3VyZSB0aGF0IGEgdGFyIGFyY2hpdmUgaGFzIG5vIGFic29sdXRlIHBhdGhzIG9y
IHJlbGF0aXZlIHBhdGhzIG91dHM9CmlkZQorICAgIHRoZSBhcmNoaXZlLgorICAgICIiIgorICAg
IHdpdGggdGFyZmlsZS5vcGVuKCBhcmNoaXZlX2ZpbGUsIG1vZGU9M0QncjpneicgKSBhcyBhcmNo
aXZlX2ZwOgorICAgICAgICBmb3IgYXJjX3BhdGggaW4gYXJjaGl2ZV9mcC5nZXRuYW1lcygpOgor
ICAgICAgICAgICAgYXNzZXJ0IG9zLnBhdGgubm9ybXBhdGgoCisgICAgICAgICAgICAgICAgb3Mu
cGF0aC5qb2luKAorICAgICAgICAgICAgICAgICAgICBkZXN0X2RpciwKKyAgICAgICAgICAgICAg
ICAgICAgYXJjX3BhdGgKKyAgICAgICAgICAgICAgICApICkuc3RhcnRzd2l0aCggZGVzdF9kaXIu
cnN0cmlwKG9zLnNlcCkgKyBvcy5zZXAgKSwgXAorICAgICAgICAgICAgICAgICJBcmNoaXZlIG1l
bWJlciB3b3VsZCBleHRyYWN0IG91dHNpZGUgdGFyZ2V0IGRpcmVjdG9yeTogJXM9CiIgJSBhcmNf
cGF0aAorICAgIHJldHVybiBUcnVlCisKKwogZGVmIHVucGFja19hcmNoaXZlKCBhcmNoaXZlX2Zp
bGUsIGRlc3RfZGlyICk6CiAgICAgIiIiCiAgICAgVW5wYWNrIGEgdGFyIGFuZC9vciBnemlwcGVk
IGFyY2hpdmUgaW50byBhIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4KQEAgLTUxLDEzICs2OCw4IEBA
CiAgICAgYXJjaGl2ZV9mcC5leHRyYWN0YWxsKCBwYXRoPTNEZGVzdF9kaXIgKQogICAgIGFyY2hp
dmVfZnAuY2xvc2UoKQo9MjAKLWlmIF9fbmFtZV9fID0zRD0zRCAiX19tYWluX18iOgotICAgICMg
UGFyc2UgY29tbWFuZCBsaW5lLgotICAgIHBhcnNlciA9M0Qgb3B0cGFyc2UuT3B0aW9uUGFyc2Vy
KCkKLSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1VJywgJy0tdXJsJywgZGVzdD0zRCdpc191cmwn
LCBhY3Rpb249M0Qic3RvcmVfdHJ1PQplIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCi0g
ICAgcGFyc2VyLmFkZF9vcHRpb24oICctRicsICctLWZpbGUnLCBkZXN0PTNEJ2lzX2ZpbGUnLCBh
Y3Rpb249M0Qic3RvcmVfdD0KcnVlIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCi0gICAg
cGFyc2VyLmFkZF9vcHRpb24oICctZScsICctLWVuY29kZWQnLCBkZXN0PTNEJ2lzX2I2NGVuY29k
ZWQnLCBhY3Rpb249Cj0zRCJzdG9yZV90cnVlIiwgZGVmYXVsdD0zREZhbHNlLCBoZWxwPTNEJ1Nv
dXJjZSBhbmQgZGVzdGluYXRpb24gZGlyIHZhbHVlcz0KIGFyZSBiYXNlNjQgZW5jb2RlZC4nICkK
LSAgICAob3B0aW9ucywgYXJncykgPTNEIHBhcnNlci5wYXJzZV9hcmdzKCkKKworZGVmIG1haW4o
b3B0aW9ucywgYXJncyk6CiAgICAgaXNfdXJsID0zRCBib29sKCBvcHRpb25zLmlzX3VybCApCiAg
ICAgaXNfZmlsZSA9M0QgYm9vbCggb3B0aW9ucy5pc19maWxlICkKICAgICBhcmNoaXZlX3NvdXJj
ZSwgZGVzdF9kaXIgPTNEIGFyZ3MKQEAgLTY2LDE0ICs3OCwyNSBAQAogICAgICAgICBhcmNoaXZl
X3NvdXJjZSA9M0QgYjY0ZGVjb2RlKCBhcmNoaXZlX3NvdXJjZSApCiAgICAgICAgIGRlc3RfZGly
ID0zRCBiNjRkZWNvZGUoIGRlc3RfZGlyICkKPTIwCisgICAgIyBHZXQgYXJjaGl2ZSBmcm9tIFVS
TC4KKyAgICBpZiBpc191cmw6CisgICAgICAgIGFyY2hpdmVfZmlsZSA9M0QgdXJsX3RvX2ZpbGUo
IGFyY2hpdmVfc291cmNlLCB0ZW1wZmlsZS5OYW1lZFRlbXBvcj0KYXJ5RmlsZSggZGlyPTNEZGVz
dF9kaXIgKS5uYW1lICkKKyAgICBlbGlmIGlzX2ZpbGU6CisgICAgICAgIGFyY2hpdmVfZmlsZSA9
M0QgYXJjaGl2ZV9zb3VyY2UKKworICAgICMgVW5wYWNrIGFyY2hpdmUuCisgICAgY2hlY2tfYXJj
aGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApCisgICAgdW5wYWNrX2FyY2hpdmUoIGFyY2hp
dmVfZmlsZSwgZGVzdF9kaXIgKQorCisKK2lmIF9fbmFtZV9fID0zRD0zRCAiX19tYWluX18iOgor
ICAgICMgUGFyc2UgY29tbWFuZCBsaW5lLgorICAgIHBhcnNlciA9M0Qgb3B0cGFyc2UuT3B0aW9u
UGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1VJywgJy0tdXJsJywgZGVzdD0zRCdp
c191cmwnLCBhY3Rpb249M0Qic3RvcmVfdHJ1PQplIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwu
JyApCisgICAgcGFyc2VyLmFkZF9vcHRpb24oICctRicsICctLWZpbGUnLCBkZXN0PTNEJ2lzX2Zp
bGUnLCBhY3Rpb249M0Qic3RvcmVfdD0KcnVlIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyAp
CisgICAgcGFyc2VyLmFkZF9vcHRpb24oICctZScsICctLWVuY29kZWQnLCBkZXN0PTNEJ2lzX2I2
NGVuY29kZWQnLCBhY3Rpb249Cj0zRCJzdG9yZV90cnVlIiwgZGVmYXVsdD0zREZhbHNlLCBoZWxw
PTNEJ1NvdXJjZSBhbmQgZGVzdGluYXRpb24gZGlyIHZhbHVlcz0KIGFyZSBiYXNlNjQgZW5jb2Rl
ZC4nICkKKyAgICAob3B0aW9ucywgYXJncykgPTNEIHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICB0
cnk6Ci0gICAgICAgICMgR2V0IGFyY2hpdmUgZnJvbSBVUkwuCi0gICAgICAgIGlmIGlzX3VybDoK
LSAgICAgICAgICAgIGFyY2hpdmVfZmlsZSA9M0QgdXJsX3RvX2ZpbGUoIGFyY2hpdmVfc291cmNl
LCB0ZW1wZmlsZS5OYW1lZFRlPQptcG9yYXJ5RmlsZSggZGlyPTNEZGVzdF9kaXIgKS5uYW1lICkK
LSAgICAgICAgZWxpZiBpc19maWxlOgotICAgICAgICAgICAgYXJjaGl2ZV9maWxlID0zRCBhcmNo
aXZlX3NvdXJjZQotCi0gICAgICAgICMgVW5wYWNrIGFyY2hpdmUuCi0gICAgICAgIHVucGFja19h
cmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICkKKyAgICAgICAgbWFpbihvcHRpb25zLCBh
cmdzKQogICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CiAgICAgICAgIHByaW50ICJFcnJvciB1bnBh
Y2tpbmcgdGFyL2d6IGFyY2hpdmU6ICVzIiAlIGUsIHN5cy5zdGRlcnIKCmRpZmYgLXIgZWIxM2Qx
ODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcyZWI1NTFiN2QyNiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5
YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAgbGliL2dhbGF4eS91dGlsL19faW5pdF9fLnB5Ci0tLSBh
L2xpYi9nYWxheHkvdXRpbC9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L3V0aWwvX19pbml0
X18ucHkKQEAgLTI3LDcgKzI3LDcgQEAKPTIwCiBmcm9tIGVtYWlsLk1JTUVUZXh0IGltcG9ydCBN
SU1FVGV4dAo9MjAKLWZyb20gb3MucGF0aCBpbXBvcnQgcmVscGF0aAorZnJvbSBvcy5wYXRoIGlt
cG9ydCByZWxwYXRoLCBub3JtcGF0aAogZnJvbSBoYXNobGliIGltcG9ydCBtZDUKIGZyb20gaXRl
cnRvb2xzIGltcG9ydCBpemlwCj0yMApAQCAtMTE0Myw2ICsxMTQzLDIzIEBACiBkZWYgZ2FsYXh5
X2RpcmVjdG9yeSgpOgogICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgoZ2FsYXh5X3Jvb3RfcGF0
aCkKPTIwCisKK2RlZiBzYWZlX3JlbHBhdGgocGF0aCk6CisgICAgIiIiCisgICAgR2l2ZW4gd2hh
dCB3ZSBleHBlY3QgdG8gYmUgYSByZWxhdGl2ZSBwYXRoLCBkZXRlcm1pbmUgd2hldGhlciB0aGUg
cGF0aAorICAgIHdvdWxkIGV4aXN0IGluc2lkZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisKKyAg
ICA6dHlwZSAgIHBhdGg6ICAgc3RyaW5nCisgICAgOnBhcmFtICBwYXRoOiAgIGEgcGF0aCB0byBj
aGVjaworICAgIDpydHlwZTogICAgICAgICBib29sCisgICAgOnJldHVybnM6ICAgICAgIGBgVHJ1
ZWBgIGlmIHBhdGggaXMgcmVsYXRpdmUgYW5kIGRvZXMgbm90IHJlZmVyZW5jZSBhID0KcGF0aAor
ICAgICAgICBpbiBhIHBhcmVudCBkaXJlY3RvcnksIGBgRmFsc2VgYCBvdGhlcndpc2UuCisgICAg
IiIiCisgICAgaWYgcGF0aC5zdGFydHN3aXRoKG9zLnNlcCkgb3Igbm9ybXBhdGgocGF0aCkuc3Rh
cnRzd2l0aChvcy5wYXJkaXIpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAgICByZXR1cm4gVHJ1
ZQorCisKIGlmIF9fbmFtZV9fID0zRD0zRCAnX19tYWluX18nOgogICAgIGltcG9ydCBkb2N0ZXN0
CiAgICAgZG9jdGVzdC50ZXN0bW9kKHN5cy5tb2R1bGVzW19fbmFtZV9fXSwgdmVyYm9zZT0zREZh
bHNlKQoKZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgzMTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1y
IGE5NGIzYTk3ZWQ3YWU2NjcyYzliMWRjPQo4NzkyMmY3ZTlmMmE3MDg2MCBsaWIvZ2FsYXh5L3dl
YmFwcHMvZ2FsYXh5L2NvbnRyb2xsZXJzL2FkbWluX3Rvb2xzaGVkLnB5Ci0tLSBhL2xpYi9nYWxh
eHkvd2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvYWRtaW5fdG9vbHNoZWQucHkKKysrIGIvbGli
L2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9hZG1pbl90b29sc2hlZC5weQpAQCAt
MzgzLDExICszODMsMTEgQEAKPTIwCiAgICAgQHdlYi5qc29uCiAgICAgQHdlYi5yZXF1aXJlX2Fk
bWluCi0gICAgZGVmIGdldF9maWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywgZmlsZV9wYXRoICk6
CisgICAgZGVmIGdldF9maWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywgZmlsZV9wYXRoLCByZXBv
c2l0b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFucy5yZXNw
b25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFucy5yZXNw
b25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3VjLmdldF9y
ZXBvc2l0b3J5X2ZpbGVfY29udGVudHMoIGZpbGVfcGF0aCApCisgICAgICAgIHJldHVybiBzdWMu
Z2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggdHJhbnMuYXBwLCBmaWxlX3BhdGgsIHJlcD0K
b3NpdG9yeV9pZCApCj0yMAogICAgIEB3ZWIuZXhwb3NlCiAgICAgQHdlYi5yZXF1aXJlX2FkbWlu
CkBAIC05NjAsMTEgKzk2MCwxMSBAQAo9MjAKICAgICBAd2ViLmpzb24KICAgICBAd2ViLnJlcXVp
cmVfYWRtaW4KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xkZXJfcGF0aCAp
OgorICAgIGRlZiBvcGVuX2ZvbGRlciggc2VsZiwgdHJhbnMsIGZvbGRlcl9wYXRoLCByZXBvc2l0
b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFucy5yZXNwb25z
ZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFucy5yZXNwb25z
ZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3VjLm9wZW5fcmVw
b3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRoICkKKyAgICAgICAgcmV0dXJuIHN1Yy5v
cGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCB0cmFucy5hcHAsIGZvbGRlcl9wYXRoLCByPQpl
cG9zaXRvcnlfaWQgKQo9MjAKICAgICBAd2ViLmV4cG9zZQogICAgIEB3ZWIucmVxdWlyZV9hZG1p
bgoKZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgzMTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1yIGE5
NGIzYTk3ZWQ3YWU2NjcyYzliMWRjPQo4NzkyMmY3ZTlmMmE3MDg2MCBsaWIvZ2FsYXh5L3dlYmFw
cHMvZ2FsYXh5L2NvbnRyb2xsZXJzL3JlcXVlc3RzX2FkbWluLnB5Ci0tLSBhL2xpYi9nYWxheHkv
d2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvcmVxdWVzdHNfYWRtaW4ucHkKKysrIGIvbGliL2dh
bGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9yZXF1ZXN0c19hZG1pbi5weQpAQCAtNiwx
MCArNiw3IEBACiBmcm9tIGdhbGF4eSBpbXBvcnQgbW9kZWwsIHV0aWwKIGZyb20gZ2FsYXh5Lndl
Yi5mb3JtX2J1aWxkZXIgaW1wb3J0ICoKIGZyb20gLnJlcXVlc3RzX2NvbW1vbiBpbXBvcnQgUmVx
dWVzdHNHcmlkLCBpbnZhbGlkX2lkX3JlZGlyZWN0Ci1mcm9tIGdhbGF4eSBpbXBvcnQgZWdncwot
ZWdncy5yZXF1aXJlKCJhbXFwIikKLWltcG9ydCBhbXFwCi1pbXBvcnQgbG9nZ2luZywgb3MsIHBl
eHBlY3QsIENvbmZpZ1BhcnNlcgoraW1wb3J0IGxvZ2dpbmcsIG9zLCBDb25maWdQYXJzZXIKPTIw
CiBsb2cgPTNEIGxvZ2dpbmcuZ2V0TG9nZ2VyKCBfX25hbWVfXyApCj0yMApAQCAtMzUxLDE4MiAr
MzQ4LDYgQEAKICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdl
Yi51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlPQpxdWVzdHNfYWRtaW4nLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0zRCdt
YW5hZ2U9Cl9kYXRhc2V0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2lkPTNEc2FtcD0KbGVfaWQgKSApCi0gICAgQHdl
Yi5leHBvc2UKLSAgICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgc2VsZWN0X2RhdGFzZXRz
X3RvX3RyYW5zZmVyKCBzZWxmLCB0cmFucywgKiprd2QgKToKLSAgICAgICAgcGFyYW1zID0zRCB1
dGlsLlBhcmFtcygga3dkICkKLSAgICAgICAgbWVzc2FnZSA9M0QgdXRpbC5yZXN0b3JlX3RleHQo
IHBhcmFtcy5nZXQoICdtZXNzYWdlJywgJycgKSApCi0gICAgICAgIHN0YXR1cyA9M0QgcGFyYW1z
LmdldCggJ3N0YXR1cycsICdkb25lJyApCi0gICAgICAgIHJlcXVlc3RfaWQgPTNEIGt3ZC5nZXQo
ICdyZXF1ZXN0X2lkJywgTm9uZSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2VfaWQgPTNEIGt3
ZC5nZXQoICdleHRlcm5hbF9zZXJ2aWNlX2lkJywgTm9uZSApCi0gICAgICAgIGZpbGVzID0zRCBb
XQotICAgICAgICByZXF1ZXN0ID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2Rl
bC5SZXF1ZXN0ICkuZ2V0KCB0cmE9Cm5zLnNlY3VyaXR5LmRlY29kZV9pZCggcmVxdWVzdF9pZCAp
ICkKLSAgICAgICAgZXh0ZXJuYWxfc2VydmljZSA9M0QgdHJhbnMuc2Ffc2Vzc2lvbi5xdWVyeSgg
dHJhbnMubW9kZWwuRXh0ZXJuYWxTPQplcnZpY2UgKS5nZXQoIHRyYW5zLnNlY3VyaXR5LmRlY29k
ZV9pZCggZXh0ZXJuYWxfc2VydmljZV9pZCApICkKLSAgICAgICAgIyBMb2FkIHRoZSBkYXRhIHRy
YW5zZmVyIHNldHRpbmdzCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5z
ZmVyX3NldHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9z
ZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFf
dHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJh
bnNmZXIgPTNEIHV0aWwucmVzdG9yZV90ZXh0KCBwYXJhbXMuZ2V0KCAnPQpzZWxlY3RlZF9kYXRh
c2V0c190b190cmFuc2ZlcicsICcnICkgKQotICAgICAgICBpZiBzZWxlY3RlZF9kYXRhc2V0c190
b190cmFuc2ZlcjoKLSAgICAgICAgICAgIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyID0z
RCBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlPQpyLnNwbGl0KCcsJykKLSAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyID0zRCBbXQotICAg
ICAgICBzYW1wbGVfaWQgPTNEIGt3ZC5nZXQoICdzYW1wbGVfaWQnLCAnbm9uZScgKQotICAgICAg
ICBzYW1wbGVfaWRfc2VsZWN0X2ZpZWxkID0zRCBzZWxmLl9fYnVpbGRfc2FtcGxlX2lkX3NlbGVj
dF9maWVsZCggdHI9CmFucywgcmVxdWVzdCwgc2FtcGxlX2lkICkKLSAgICAgICAgaWYgc2FtcGxl
X2lkICE9M0QgJ25vbmUnOgotICAgICAgICAgICAgc2FtcGxlID0zRCB0cmFucy5zYV9zZXNzaW9u
LnF1ZXJ5KCB0cmFucy5tb2RlbC5TYW1wbGUgKS5nZXQoIHQ9CnJhbnMuc2VjdXJpdHkuZGVjb2Rl
X2lkKCBzYW1wbGVfaWQgKSApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzYW1wbGUgPTNE
IE5vbmUKLSAgICAgICAgIyBUaGUgX19nZXRfZmlsZXMoKSBtZXRob2QgcmVkaXJlY3RzIGhlcmUg
d2l0aCBhIHN0YXR1cyBvZiAnZXJyb3InPQogYW5kIGEgbWVzc2FnZSBpZiB0aGVyZQotICAgICAg
ICAjIHdhcyBhIHByb2JsZW0gcmV0cmlldmluZyB0aGUgZmlsZXMuCi0gICAgICAgIGlmIHBhcmFt
cy5nZXQoICdzZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0dG9uJywgRmFsc2UgKToKLSAg
ICAgICAgICAgICMgR2V0IHRoZSBzYW1wbGUgdGhhdCB3YXMgc2VxdWVuY2VkIHRvIHByb2R1Y2Ug
dGhlc2UgZGF0YXNldHMuCi0gICAgICAgICAgICBpZiBzYW1wbGVfaWQgPTNEPTNEICdub25lJzoK
LSAgICAgICAgICAgICAgICBkZWwga3dkWyAnc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyX2J1
dHRvbicgXQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdTZWxlY3QgdGhlIHNhbXBsZSB0
aGF0IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHU9CmNlIHRoZSBkYXRhc2V0cyB5b3Ugd2FudCB0byB0
cmFuc2Zlci4nCi0gICAgICAgICAgICAgICAga3dkWyAnbWVzc2FnZScgXSA9M0QgbWVzc2FnZQot
ICAgICAgICAgICAgICAgIGt3ZFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJwotICAgICAgICAgICAg
ICAgIHJldHVybiB0cmFucy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29u
dHJvbGw9CmVyPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0KPTNEJ3NlbGVj
dF9kYXRhc2V0c190b190cmFuc2ZlcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3ZCApICkKLSAgICAgICAgICAg
IGlmIG5vdCBzYW1wbGUubGlicmFyeToKLSAgICAgICAgICAgICAgICAjIERpc3BsYXkgYW4gZXJy
b3IgaWYgYSBzYW1wbGUgaGFzIGJlZW4gc2VsZWN0ZWQgdGhhdAotICAgICAgICAgICAgICAgICMg
aGFzIG5vdCB5ZXQgYmVlbiBhc3NvY2lhdGVkIHdpdGggYSBkZXN0aW5hdGlvbiBsaWJyYXJ5Lgot
ICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdTZWxlY3QgYSB0YXJnZXQgZGF0YSBsaWJyYXJ5
IGFuZCBmb2xkZXIgZm9yIHQ9CmhlIHNhbXBsZSBiZWZvcmUgc2VsZWN0aW5nIHRoZSBkYXRhc2V0
cy4nCi0gICAgICAgICAgICAgICAgc3RhdHVzID0zRCAnZXJyb3InCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9s
bD0KZXI9M0QncmVxdWVzdHNfY29tbW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0KPTNEJ2VkaXRfc2Ft
cGxlcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjbnRybGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlkPTNEdHJhPQpucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQgKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cz0KPTNEc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0KPTNEbWVzc2FnZSApICkKLSAg
ICAgICAgICAgICMgU2F2ZSB0aGUgc2FtcGxlIGRhdGFzZXRzCi0gICAgICAgICAgICBzYW1wbGVf
ZGF0YXNldF9maWxlX25hbWVzID0zRCBzZWxmLl9fY3JlYXRlX3NhbXBsZV9kYXRhc2V0cyggdD0K
cmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlciwgZXh0ZXJuYWxfc2Vy
dmljZSApCi0gICAgICAgICAgICBpZiBzYW1wbGVfZGF0YXNldF9maWxlX25hbWVzOgotICAgICAg
ICAgICAgICAgIG1lc3NhZ2UgPTNEICdEYXRhc2V0cyAoJXMpIGhhdmUgYmVlbiBzZWxlY3RlZCBm
b3Igc2FtcGxlICg9CiVzKScgJSBcCi0gICAgICAgICAgICAgICAgICAgICggc3RyKCBzYW1wbGVf
ZGF0YXNldF9maWxlX25hbWVzIClbMTotMV0ucmVwbGFjZSggIiciLD0KICIiICksIHNhbXBsZS5u
YW1lICkKLSAgICAgICAgICAgIHJldHVybiB0cmFucy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3
ZWIudXJsX2ZvciggY29udHJvbGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PTNEJ21hPQpuYWdlX2RhdGFzZXRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdF9pZD0KPTNEcmVxdWVzdF9pZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2FtcGxlX2lkPTNEPQpzYW1wbGVfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9M0RtZT0Kc3NhZ2Us
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1cz0zRHN0YT0KdHVzICkgKQotICAgICAgICByZXR1cm4gdHJhbnMuZmlsbF90
ZW1wbGF0ZSggJy9hZG1pbi9yZXF1ZXN0cy9zZWxlY3RfZGF0YXNldHNfdG9fdHI9CmFuc2Zlci5t
YWtvJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNudHJsbGVyPTNEJ3Jl
cXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3Q9M0RyZXF1ZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZXJu
YWxfc2VydmljZT0zRGV4dGVybmFsX3NlcnZpY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzY3BfY29uZmlncz0zRHNjcF9jb25maWdzLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2FtcGxlPTNEc2FtcGxlLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2FtcGxlX2lkX3NlbGVjdF9maWVsZD0zRHNhbXBsZV9pZF9zZWw9CmVj
dF9maWVsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0zRHN0
YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9M0RtZXNz
YWdlICkKLSAgICBAd2ViLmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfZGV0YWlscyggc2VsZiwgdHJh
bnMsIHJlcXVlc3RfaWQsIGV4dGVybmFsX3NlcnZpY2VfaWQsIGZvPQpsZGVyX3BhdGggKToKLSAg
ICAgICAgZGVmIHByaW50X3RpY2tzKCBkICk6Ci0gICAgICAgICAgICAjIHBleHBlY3QgdGltZW91
dCBtZXRob2QKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgIyBBdm9pZCBjYWNoaW5nCi0gICAg
ICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCi0gICAg
ICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAgIHJl
cXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3QgKS5n
ZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAgICBl
eHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5F
eHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRlcm5h
bF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0YV90cmFu
c2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9M0QgZXh0ZXJuYWxf
c2VydmljZS5kYXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFsU2VydmljZS5kYXRh
X3RyYW5zZmVyX3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGNtZCAgPTNEICdzc2ggJXNAJXMgImxz
IC1vZ2hwIFwnJXNcJyInICUgKCBzY3BfY29uZmlnc1sgJ3VzZXJfbmFtZT0KJyBdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcF9jb25maWdzWyAn
aG9zdCcgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmb2xkZXJfcGF0aCApCi0gICAgICAgICMgSGFuZGxlIHRoZSBhdXRoZW50aWNhdGlvbiBtZXNz
YWdlIGlmIHNzaCBrZXlzIGFyZSBub3Qgc2V0IC0gdGhlID0KbWVzc2FnZSBpcwotICAgICAgICAj
IHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlIGNvbm5l
Y3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNtZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJ1woeWVzXC9ub1wpXC4q
JyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcu
c3N3b3JkOionIDogc2NwX2NvbmZpZ3NbICdwYXNzd29yPQpkJyBdICsgJ1xyXG4nLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV4cGVjdC5USU1FT1VUIDogcHJpbnRf
dGlja3MgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9M0QxMCApCi0g
ICAgICAgIGZvciBwYXNzd29yZF9zdHIgaW4gWyAnUGFzc3dvcmQ6XHJcbicsICdwYXNzd29yZDpc
clxuJyBdOgotICAgICAgICAgICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBjcmVhdGVkIHVzaW5n
IHNzaCBmcm9tIHRoZSB0cmVlCi0gICAgICAgICAgICBpZiBwYXNzd29yZF9zdHIgaW4gb3V0cHV0
OgotICAgICAgICAgICAgICAgIG91dHB1dCA9M0Qgb3V0cHV0LnJlcGxhY2UoIHBhc3N3b3JkX3N0
ciwgJycgKQotICAgICAgICByZXR1cm4gdW5pY29kZSggb3V0cHV0LnJlcGxhY2UoICdcclxuJywg
Jzxici8+JyApICkKLSAgICBAd2ViLmpzb24KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRy
YW5zLCByZXF1ZXN0X2lkLCBleHRlcm5hbF9zZXJ2aWNlX2lkLCBrZXkgKToKLSAgICAgICAgIyBB
dm9pZCBjYWNoaW5nCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0z
RCAnbm8tY2FjaGUnCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9
M0QgJzAnCi0gICAgICAgIHJlcXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5z
Lm1vZGVsLlJlcXVlc3QgKS5nZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0
X2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1
ZXJ5KCB0cmFucy5tb2RlbC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHku
ZGVjb2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBmb2xkZXJfcGF0aCA9
M0Qga2V5Ci0gICAgICAgIGZpbGVzX2xpc3QgPTNEIHNlbGYuX19nZXRfZmlsZXMoIHRyYW5zLCBy
ZXF1ZXN0LCBleHRlcm5hbF9zZXJ2aWNlLD0KIGZvbGRlcl9wYXRoICkKLSAgICAgICAgZm9sZGVy
X2NvbnRlbnRzID0zRCBbXQotICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXNfbGlzdDoKLSAg
ICAgICAgICAgIGlzX2ZvbGRlciA9M0QgRmFsc2UKLSAgICAgICAgICAgIGlmIGZpbGVuYW1lIGFu
ZCBmaWxlbmFtZVstMV0gPTNEPTNEIG9zLnNlcDoKLSAgICAgICAgICAgICAgICBpc19mb2xkZXIg
PTNEIFRydWUKLSAgICAgICAgICAgIGlmIGZpbGVuYW1lOgotICAgICAgICAgICAgICAgIGZ1bGxf
cGF0aCA9M0Qgb3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUgKQotICAgICAgICAg
ICAgICAgIG5vZGUgPTNEIHsgInRpdGxlIjogZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgImlzRm9sZGVyIjogaXNfZm9sZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICJp
c0xhenkiOiBpc19mb2xkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgInRvb2x0aXAiOiBm
dWxsX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImtleSI6IGZ1bGxfcGF0aCB9Ci0g
ICAgICAgICAgICAgICAgZm9sZGVyX2NvbnRlbnRzLmFwcGVuZCggbm9kZSApCi0gICAgICAgIHJl
dHVybiBmb2xkZXJfY29udGVudHMKLSAgICBkZWYgX19nZXRfZmlsZXMoIHNlbGYsIHRyYW5zLCBy
ZXF1ZXN0LCBleHRlcm5hbF9zZXJ2aWNlLCBmb2xkZXJfcGF0aCApOgotICAgICAgICAjIFJldHJp
ZXZlcyB0aGUgZmlsZW5hbWVzIHRvIGJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHJlbW90ZSBob3N0
LgotICAgICAgICBvayA9M0QgVHJ1ZQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0
YV90cmFuc2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9M0QgZXh0
ZXJuYWxfc2VydmljZS5kYXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFsU2Vydmlj
ZS5kYXRhX3RyYW5zZmVyX3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGlmIG5vdCBzY3BfY29uZmln
c1sgJ2hvc3QnIF0gb3Igbm90IHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdIG9yID0Kbm90IHNj
cF9jb25maWdzWyAncGFzc3dvcmQnIF06Ci0gICAgICAgICAgICBzdGF0dXMgPTNEICdlcnJvcicK
LSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJFcnJvciBpbiBleHRlcm5hbCBzZXJ2aWNlIGxvZ2lu
IGluZm9ybWF0aW9uLiIKLSAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAgICAgICBkZWYgcHJp
bnRfdGlja3MoIGQgKToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgY21kICA9M0QgJ3NzaCAl
c0AlcyAibHMgLXAgXCclc1wnIicgJSAoIHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdPQosIHNj
cF9jb25maWdzWyAnaG9zdCcgXSwgZm9sZGVyX3BhdGggKQotICAgICAgICAjIEhhbmRsZSB0aGUg
YXV0aGVudGljYXRpb24gbWVzc2FnZSBpZiBrZXlzIGFyZSBub3Qgc2V0IC0gdGhlIG1lc3M9CmFn
ZSBpcwotICAgICAgICAjIHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRv
IGNvbnRpbnVlIGNvbm5lY3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4
cGVjdC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsg
J1woeWVzXC9ub1wpXC4qJyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJy5zc3dvcmQ6KicgOiBzY3BfY29uZmlnc1sgJ3Bhc3N3b3JkPQonIF0gKyAn
XHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXhwZWN0LlRJ
TUVPVVQgOiBwcmludF90aWNrcyB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlt
ZW91dD0zRDEwICkKLSAgICAgICAgaWYgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknIGluIG91
dHB1dDoKLSAgICAgICAgICAgIHN0YXR1cyA9M0QgJ2Vycm9yJwotICAgICAgICAgICAgbWVzc2Fn
ZSA9M0QgIk5vIGZvbGRlciBuYW1lZCAoJXMpIGV4aXN0cyBvbiB0aGUgZXh0ZXJuYWwgc2Vydmk9
CmNlLiIgJSBmb2xkZXJfcGF0aAotICAgICAgICAgICAgb2sgPTNEIEZhbHNlCi0gICAgICAgIGlm
IG9rOgotICAgICAgICAgICAgaWYgJ2Fzc3dvcmQ6JyBpbiBvdXRwdXQ6Ci0gICAgICAgICAgICAg
ICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBjcmVhdGVkIHVzaW5nIHNzaCBmcm9tIHRoZSB0cmVl
Ci0gICAgICAgICAgICAgICAgb3V0cHV0X2FzX2xpc3QgPTNEIG91dHB1dC5zcGxpdGxpbmVzKClb
IDE6IF0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0cHV0X2FzX2xpc3Qg
PTNEIG91dHB1dC5zcGxpdGxpbmVzKCkKLSAgICAgICAgICAgIHJldHVybiBvdXRwdXRfYXNfbGlz
dAotICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9m
b3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1ZXN0c19hZG1pbicsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPTNEJ3NlbGVjdD0K
X2RhdGFzZXRzX3RvX3RyYW5zZmVyJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2lkPTNEdHJhPQpucy5zZWN1cml0eS5l
bmNvZGVfaWQoIHJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlPQpfaWQ9M0R0cmFucy5z
ZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2UuaWQgKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzdGF0
dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbWVzc2FnZT0zRG1lc3NhZz0KZSApICkKLSAgICBkZWYgX19jcmVhdGVfc2FtcGxlX2Rh
dGFzZXRzKCBzZWxmLCB0cmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0c190PQpvX3RyYW5z
ZmVyLCBleHRlcm5hbF9zZXJ2aWNlICk6Ci0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9hZF9k
YXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0zRCBl
eHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2
aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2FtcGxlX2RhdGFzZXRf
ZmlsZV9uYW1lcyA9M0QgW10KLSAgICAgICAgaWYgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNm
ZXI6Ci0gICAgICAgICAgICBmb3IgZmlsZXBhdGggaW4gc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJh
bnNmZXI6Ci0gICAgICAgICAgICAgICAgIyBGSVhNRTogaGFuZGxlIGZvbGRlciBzZWxlY3Rpb24g
LSBpZ25vcmUgZm9sZGVycyBmb3Igbm93Ci0gICAgICAgICAgICAgICAgaWYgZmlsZXBhdGhbLTFd
ICE9M0Qgb3Muc2VwOgotICAgICAgICAgICAgICAgICAgICBuYW1lID0zRCBzZWxmLl9fcmVuYW1l
X2RhdGFzZXQoIHNhbXBsZSwgZmlsZXBhdGguc3BsaXQ9CiggJy8nIClbLTFdLCBzY3BfY29uZmln
cyApCi0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9M0QgdHJhbnMuYXBwLm1vZGVsLlNhbXBs
ZURhdGFzZXQudHJhbnNmZXJfc3RhdD0KdXMuTk9UX1NUQVJURUQKLSAgICAgICAgICAgICAgICAg
ICAgc2l6ZSA9M0Qgc2FtcGxlLmdldF91bnRyYW5zZmVycmVkX2RhdGFzZXRfc2l6ZSggZmlsZXBh
PQp0aCwgc2NwX2NvbmZpZ3MgKQotICAgICAgICAgICAgICAgICAgICBzYW1wbGVfZGF0YXNldCA9
M0QgdHJhbnMubW9kZWwuU2FtcGxlRGF0YXNldCggc2FtcGxlPQo9M0RzYW1wbGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZmlsZV9wYXRoPQo9M0RmaWxlcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzPQp0YXR1cywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBuYW1lPTNEbmFtPQplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZz0KPTNEJycsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0z
RHNpej0KZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBleHRlcm5hbF9zPQplcnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlICkK
LSAgICAgICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5hZGQoIHNhbXBsZV9kYXRhc2V0
ICkKLSAgICAgICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAg
ICAgICAgICAgICAgIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMuYXBwZW5kKCBzdHIoIHNhbXBs
ZV9kYXRhc2V0Lj0KbmFtZSApICkKLSAgICAgICAgcmV0dXJuIHNhbXBsZV9kYXRhc2V0X2ZpbGVf
bmFtZXMKICAgICBkZWYgX19yZW5hbWVfZGF0YXNldCggc2VsZiwgc2FtcGxlLCBmaWxlcGF0aCwg
c2NwX2NvbmZpZ3MgKToKICAgICAgICAgbmFtZSA9M0QgZmlsZXBhdGguc3BsaXQoICcvJyApWy0x
XQogICAgICAgICBvcHRpb25zID0zRCBzYW1wbGUucmVxdWVzdC50eXBlLnJlbmFtZV9kYXRhc2V0
X29wdGlvbnMKQEAgLTU2MSw5MCArMzgyLDYgQEAKICAgICAgICAgICAgIGZsdXNoX25lZWRlZCA9
M0QgVHJ1ZQogICAgICAgICBpZiBmbHVzaF9uZWVkZWQ6CiAgICAgICAgICAgICB0cmFucy5zYV9z
ZXNzaW9uLmZsdXNoKCkKLSAgICBkZWYgX19jcmVhdGVfZGF0YV90cmFuc2Zlcl9tZXNzYWdlcygg
c2VsZiwgdHJhbnMsIHNhbXBsZSwgc2VsZWN0ZWRfc2FtPQpwbGVfZGF0YXNldHMgKToKLSAgICAg
ICAgIiIiCi0gICAgICAgIENyZWF0ZXMgdGhlIHhtbCBtZXNzYWdlcyB0byBzZW5kIHRvIHRoZSBy
YWJiaXRtcSBzZXJ2ZXIuIEl0IHJldHVybj0KcyBhIGRpY3Rpb25hcnkgb2YgbWVzc2FnZXMKLSAg
ICAgICAga2V5ZWQgYnkgdGhlIGV4dGVybmFsIHNlcnZpY2UgdXNlZCB0byB0cmFuc2ZlciB0aGUg
ZGF0YXNldHMKLSAgICAgICAgIiIiCi0gICAgICAgICMgQ3JlYXRlIHRoZSB4bWwgbWVzc2FnZSBi
YXNlZCBvbiB0aGUgZm9sbG93aW5nIHRlbXBsYXRlCi0gICAgICAgIHhtbCA9M0QgXAotICAgICAg
ICAgICAgJycnIDxkYXRhX3RyYW5zZmVyPgotICAgICAgICAgICAgICAgICAgICA8Z2FsYXh5X2hv
c3Q+JShHQUxBWFlfSE9TVClzPC9nYWxheHlfaG9zdD4KLSAgICAgICAgICAgICAgICAgICAgPGFw
aV9rZXk+JShBUElfS0VZKXM8L2FwaV9rZXk+Ci0gICAgICAgICAgICAgICAgICAgIDxkYXRhX2hv
c3Q+JShEQVRBX0hPU1QpczwvZGF0YV9ob3N0PgotICAgICAgICAgICAgICAgICAgICA8ZGF0YV91
c2VyPiUoREFUQV9VU0VSKXM8L2RhdGFfdXNlcj4KLSAgICAgICAgICAgICAgICAgICAgPGRhdGFf
cGFzc3dvcmQ+JShEQVRBX1BBU1NXT1JEKXM8L2RhdGFfcGFzc3dvcmQ+Ci0gICAgICAgICAgICAg
ICAgICAgIDxyZXF1ZXN0X2lkPiUoUkVRVUVTVF9JRClzPC9yZXF1ZXN0X2lkPgotICAgICAgICAg
ICAgICAgICAgICA8c2FtcGxlX2lkPiUoU0FNUExFX0lEKXM8L3NhbXBsZV9pZD4KLSAgICAgICAg
ICAgICAgICAgICAgPGxpYnJhcnlfaWQ+JShMSUJSQVJZX0lEKXM8L2xpYnJhcnlfaWQ+Ci0gICAg
ICAgICAgICAgICAgICAgIDxmb2xkZXJfaWQ+JShGT0xERVJfSUQpczwvZm9sZGVyX2lkPgotICAg
ICAgICAgICAgICAgICAgICAlKERBVEFTRVRTKXMKLSAgICAgICAgICAgICAgICA8L2RhdGFfdHJh
bnNmZXI+JycnCi0gICAgICAgIGRhdGFzZXRfeG1sID0zRCBcCi0gICAgICAgICAgICAnJyc8ZGF0
YXNldD4KLSAgICAgICAgICAgICAgICAgICA8ZGF0YXNldF9pZD4lKElEKXM8L2RhdGFzZXRfaWQ+
Ci0gICAgICAgICAgICAgICAgICAgPG5hbWU+JShOQU1FKXM8L25hbWU+Ci0gICAgICAgICAgICAg
ICAgICAgPGZpbGU+JShGSUxFKXM8L2ZpbGU+Ci0gICAgICAgICAgICAgICA8L2RhdGFzZXQ+Jycn
Ci0gICAgICAgICMgSGVyZSB3ZSBncm91cCBhbGwgdGhlIHNhbXBsZV9kYXRhc2V0cyBieSB0aGUg
ZXh0ZXJuYWwgc2VydmljZSB1cz0KZWQgdG8gdHJhbnNmZXIgdGhlbS4KLSAgICAgICAgIyBUaGUg
aWRlYSBpcyB0byBidW5kbGUgdXAgdGhlIHNhbXBsZV9kYXRhc2V0cyB3aGljaCB1c2VzIHRoZSBz
YW1lPQogZXh0ZXJuYWwgc2VydmljZSBhbmQKLSAgICAgICAgIyBzZW5kIGEgc2luZ2xlIEFNUVAg
bWVzc2FnZSB0byB0aGUgZ2FsYXh5X2xpc3RlbmVyCi0gICAgICAgIGRhdGFzZXRfZWxlbWVudHMg
PTNEIHt9Ci0gICAgICAgIGZvciBzYW1wbGVfZGF0YXNldCBpbiBzZWxlY3RlZF9zYW1wbGVfZGF0
YXNldHM6Ci0gICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCBzYW1wbGVfZGF0YXNldC5l
eHRlcm5hbF9zZXJ2aWNlCi0gICAgICAgICAgICBpZiBzYW1wbGVfZGF0YXNldC5zdGF0dXMgPTNE
PTNEIHRyYW5zLmFwcC5tb2RlbC5TYW1wbGVEYXRhc2V0Lj0KdHJhbnNmZXJfc3RhdHVzLk5PVF9T
VEFSVEVEOgotICAgICAgICAgICAgICAgIGlmIG5vdCBkYXRhc2V0X2VsZW1lbnRzLmhhc19rZXko
IGV4dGVybmFsX3NlcnZpY2UgKToKLSAgICAgICAgICAgICAgICAgICAgZGF0YXNldF9lbGVtZW50
c1sgZXh0ZXJuYWxfc2VydmljZSBdID0zRCAnJwotICAgICAgICAgICAgICAgIGRhdGFzZXRfZWxl
bWVudHNbIGV4dGVybmFsX3NlcnZpY2UgXSArPTNEIGRhdGFzZXRfeG1sICUgZGk9CmN0KCBJRD0z
RHN0ciggc2FtcGxlX2RhdGFzZXQuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FPQo9M0RzYW1wbGVf
ZGF0YXNldC5uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEU9Cj0zRHNhbXBsZV9kYXRhc2V0LmZpbGVf
cGF0aCApCi0gICAgICAgICAgICAgICAgIyB1cGRhdGUgdGhlIGRhdGFzZXQgdHJhbnNmZXIgc3Rh
dHVzCi0gICAgICAgICAgICAgICAgc2FtcGxlX2RhdGFzZXQuc3RhdHVzID0zRCB0cmFucy5hcHAu
bW9kZWwuU2FtcGxlRGF0YXNldC50cj0KYW5zZmVyX3N0YXR1cy5JTl9RVUVVRQotICAgICAgICAg
ICAgICAgIHRyYW5zLnNhX3Nlc3Npb24uYWRkKCBzYW1wbGVfZGF0YXNldCApCi0gICAgICAgICAg
ICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICMgRmluYWxseSBwcmVwZW5k
IHRoZSBleHRlcm5hbCBzZXJ2aWNlIGluZm8gdG8gdGhlIHNldHMgb2Ygc2FtcGxlID0KZGF0YXNl
dHMKLSAgICAgICAgbWVzc2FnZXMgPTNEIFtdCi0gICAgICAgIGZvciBleHRlcm5hbF9zZXJ2aWNl
LCBkYXRhc2V0X2VsZW0gaW4gZGF0YXNldF9lbGVtZW50cy5pdGVtcygpOgotICAgICAgICAgICAg
ZXh0ZXJuYWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zICkKLSAg
ICAgICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJb
IHRyYW5zLm1vZGVsLkV4PQp0ZXJuYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQ
IF0KLSAgICAgICAgICAgICMgQ2hlY2sgZGF0YSB0cmFuc2ZlciBzZXR0aW5ncwotICAgICAgICAg
ICAgZXJyX21zZyA9M0Qgc2VsZi5fX3ZhbGlkYXRlX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRy
YW5zLCBzYW09CnBsZS5yZXF1ZXN0LnR5cGUsIHNjcF9jb25maWdzICkKLSAgICAgICAgICAgIGlm
IGVycl9tc2c6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVk
aXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNfYWRtaW4nLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPQo9M0QnbWFuYWdlX2RhdGFzZXRzJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZV9pPQpk
PTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1
cz0KPTNEJ2Vycm9yJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Cj0zRGVycl9tc2cgKSApCi0gICAgICAg
ICAgICBtZXNzYWdlID0zRCB4bWwgJSBkaWN0KCBHQUxBWFlfSE9TVD0zRHRyYW5zLnJlcXVlc3Qu
aG9zdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElfS0VZPTNEdHJhbnMu
dXNlci5hcGlfa2V5c1swXS5rZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
REFUQV9IT1NUPTNEc2NwX2NvbmZpZ3NbICdob3N0JyBdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIERBVEFfVVNFUj0zRHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfUEFTU1dPUkQ9M0RzY3BfY29uZmln
c1sgJ3Bhc3N3b3JkJyA9Cl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVR
VUVTVF9JRD0zRHN0ciggc2FtcGxlLnJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTQU1QTEVfSUQ9M0RzdHIoIHNhbXBsZS5pZCApLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIExJQlJBUllfSUQ9M0RzdHIoIHNhbXBsZS5saWJyYXJ5Lmlk
ICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk9MREVSX0lEPTNEc3RyKCBz
YW1wbGUuZm9sZGVyLmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFU
QVNFVFM9M0RkYXRhc2V0X2VsZW0gKQotICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCBtZXNz
YWdlLnJlcGxhY2UoICdcbicsICcnICkucmVwbGFjZSggJ1xyJywgJyc9CiApICkKLSAgICAgICAg
cmV0dXJuIG1lc3NhZ2VzCi0gICAgZGVmIF9fdmFsaWRhdGVfZGF0YV90cmFuc2Zlcl9zZXR0aW5n
cyggc2VsZiwgdHJhbnMsIHJlcXVlc3RfdHlwZSwgc2NwXz0KY29uZmlncyApOgotICAgICAgICBl
cnJfbXNnID0zRCAnJwotICAgICAgICAjIGNoZWNrIHRoZSBleHRlcm5hbCBzZXJ2aWNlIGxvZ2lu
IGluZm8KLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzLmdldCggJ2hvc3QnLCAnJyApIFwKLSAg
ICAgICAgICAgIG9yIG5vdCBzY3BfY29uZmlncy5nZXQoICd1c2VyX25hbWUnLCAnJyApIFwKLSAg
ICAgICAgICAgIG9yIG5vdCBzY3BfY29uZmlncy5nZXQoICdwYXNzd29yZCcsICcnICk6Ci0gICAg
ICAgICAgICBlcnJfbXNnICs9M0QgIkVycm9yIGluIGV4dGVybmFsIHNlcnZpY2UgbG9naW4gaW5m
b3JtYXRpb24uICIKLSAgICAgICAgaWYgbm90IHRyYW5zLnVzZXIuYXBpX2tleXM6Ci0gICAgICAg
ICAgICBlcnJfbXNnICs9M0QgIlNldCB5b3VyIEFQSSBLZXkgaW4geW91ciBVc2VyIFByZWZlcmVu
Y2VzIHRvIHRyYT0KbnNmZXIgZGF0YXNldHMuICIKLSAgICAgICAgIyBDaGVjayBpZiBsaWJyYXJ5
X2ltcG9ydF9kaXIgaXMgc2V0Ci0gICAgICAgIGlmIG5vdCB0cmFucy5hcHAuY29uZmlnLmxpYnJh
cnlfaW1wb3J0X2RpcjoKLSAgICAgICAgICAgIGVycl9tc2cgPTNEICInVGhlIGxpYnJhcnlfaW1w
b3J0X2Rpcicgc2V0dGluZyBpcyBub3QgY29ycmVjdGx5PQogc2V0IGluIHRoZSBHYWxheHkgY29u
ZmlnIGZpbGUuICIKLSAgICAgICAgIyBDaGVjayB0aGUgUmFiYml0TVEgc2VydmVyIHNldHRpbmdz
IGluIHRoZSBjb25maWcgZmlsZQotICAgICAgICBmb3IgaywgdiBpbiB0cmFucy5hcHAuY29uZmln
LmFtcXAuaXRlbXMoKToKLSAgICAgICAgICAgIGlmIG5vdCB2OgotICAgICAgICAgICAgICAgIGVy
cl9tc2cgKz0zRCAnU2V0IFJhYmJpdE1RIHNlcnZlciBzZXR0aW5ncyBpbiB0aGUgImdhbGF4eV89
CmFtcXAiIHNlY3Rpb24gb2YgdGhlIEdhbGF4eSBjb25maWcgZmlsZSwgc3BlY2lmaWNhbGx5ICIl
cyIgaXMgbm90IHNldC4nICUgawotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIHJldHVy
biBlcnJfbXNnCiAgICAgQHdlYi5leHBvc2UKICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KICAgICBk
ZWYgaW5pdGlhdGVfZGF0YV90cmFuc2Zlciggc2VsZiwgdHJhbnMsIHNhbXBsZV9pZCwgc2FtcGxl
X2RhdGFzZXRzPTNEPQpbXSwgc2FtcGxlX2RhdGFzZXRfaWQ9M0QnJyApOgpAQCAtNjg2LDM1ICs0
MjMsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAgICAgICAgICAgIGV4dGVybmFsX3Nl
cnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAgICAg
ICAgICAgIGV4dGVybmFsX3NlcnZpY2VfdHlwZT0zRGV4dGVybmFsX3NlcnZpY2VfdHlwZSApCiAg
ICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFRPRE86IFVzaW5nIFJhYmJpdE1xIGZvciBub3cs
IGJ1dCBlbGltaW5hdGUgdGhpcyBlbnRpcmUgYmxvYz0KayB3aGVuIHdlIHJlcGxhY2UgUmFiYml0
TXEgd2l0aCBHYWxheHkncwotICAgICAgICAgICAgIyBvd24gbWVzc2FnaW5nIGVuZ2luZS4gIFdl
J3JlIGhvbGRpbmcgb2ZmIG9uIHVzaW5nIHRoZSBuZXcgd2E9CnkgdG8gdHJhbnNmZXIgZmlsZXMg
bWFudWFsbHkgdW50aWwgd2UKLSAgICAgICAgICAgICMgaW1wbGVtZW50IGEgR2FsYXh5LXByb3By
aWV0YXJ5IG1lc3NhZ2luZyBlbmdpbmUgYmVjYXVzZSB0aGUgPQpkZWZlcnJlZCBqb2IgcGx1Z2lu
cyBjdXJyZW50bHkgcGVyZm9ybQotICAgICAgICAgICAgIyBjb25zdGFudCBkYiBoaXRzIHRvIGNo
ZWNrIGZvciBkZWZlcnJlZCBqb2JzIHRoYXQgYXJlIG5vdCBpbiA9CmEgZmluaXNoZWQgc3RhdGUu
Ci0gICAgICAgICAgICAjIENyZWF0ZSB0aGUgbWVzc2FnZQotICAgICAgICAgICAgbWVzc2FnZXMg
PTNEIHNlbGYuX19jcmVhdGVfZGF0YV90cmFuc2Zlcl9tZXNzYWdlcyggdHJhbnMsIHNhbXA9Cmxl
LCBzYW1wbGVfZGF0YXNldHMgKQotICAgICAgICAgICAgIyBTZW5kIHRoZSBtZXNzYWdlcwotICAg
ICAgICAgICAgZm9yIHJtcV9tc2cgaW4gbWVzc2FnZXM6Ci0gICAgICAgICAgICAgICAgdHJ5Ogot
ICAgICAgICAgICAgICAgICAgICBjb25uID0zRCBhbXFwLkNvbm5lY3Rpb24oIGhvc3Q9M0R0cmFu
cy5hcHAuY29uZmlnLmFtcXA9ClsgJ2hvc3QnIF0gKyAiOiIgKyB0cmFucy5hcHAuY29uZmlnLmFt
cXBbICdwb3J0JyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1c2VyaWQ9M0R0cmFucy5hcHAuY29uZmlnLmFtcXA9ClsgJ3VzZXJpZCcgXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ9M0R0cmFucy5hcHAu
Y29uZmlnLmFtPQpxcFsgJ3Bhc3N3b3JkJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB2aXJ0dWFsX2hvc3Q9M0R0cmFucy5hcHAuY29uZmk9CmcuYW1xcFsg
J3ZpcnR1YWxfaG9zdCcgXSkKLSAgICAgICAgICAgICAgICAgICAgY2hhbiA9M0QgY29ubi5jaGFu
bmVsKCkKLSAgICAgICAgICAgICAgICAgICAgbXNnID0zRCBhbXFwLk1lc3NhZ2UoIHJtcV9tc2cs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPTNE
J3RleHQvcGxhaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFw
cGxpY2F0aW9uX2hlYWRlcnM9M0R7ICdtc2dfdHlwZSc9CjogJ2RhdGFfdHJhbnNmZXInIH0gKQot
ICAgICAgICAgICAgICAgICAgICBtc2cucHJvcGVydGllc1sgImRlbGl2ZXJ5X21vZGUiIF0gPTNE
IDIKLSAgICAgICAgICAgICAgICAgICAgY2hhbi5iYXNpY19wdWJsaXNoKCBtc2csCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjaGFuZ2U9M0R0cmFucy5hcHAuY29u
ZmlnLmFtcXBbID0KJ2V4Y2hhbmdlJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJvdXRpbmdfa2V5PTNEdHJhbnMuYXBwLmNvbmZpZy5hbXE9CnBbICdyb3V0aW5n
X2tleScgXSApCi0gICAgICAgICAgICAgICAgICAgIGNoYW4uY2xvc2UoKQotICAgICAgICAgICAg
ICAgICAgICBjb25uLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBl
OgotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0zRCAiRXJyb3Igc2VuZGluZyB0aGUgZGF0
YSB0cmFuc2ZlciBtZXNzYWdlIHQ9Cm8gdGhlIEdhbGF4eSBBTVFQIG1lc3NhZ2UgcXVldWU6PGJy
Lz4lcyIgJSBzdHIoZSkKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0zRCAiZXJyb3IiCi0g
ICAgICAgICAgICBpZiBub3QgbWVzc2FnZToKLSAgICAgICAgICAgICAgICBtZXNzYWdlID0zRCAi
JWkgZGF0YXNldHMgaGF2ZSBiZWVuIHF1ZXVlZCBmb3IgdHJhbnNmZXIgZnJvPQptIHRoZSBleHRl
cm5hbCBzZXJ2aWNlLiIgJSBsZW4oIHNhbXBsZV9kYXRhc2V0cyApCi0gICAgICAgICAgICAgICAg
c3RhdHVzID0zRCAiZG9uZSIKKyAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJNZXNzYWdlIHF1ZXVl
IHRyYW5zZmVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQsIHBsPQplYXNlIHNldCBlbmFibGVfYmV0
YV9qb2JfbWFuYWdlcnMgPTNEIFRydWUgaW4gZ2FsYXh5LmluaSIKKyAgICAgICAgICAgIHN0YXR1
cyA9M0QgImVycm9yIgogICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVj
dCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1ZXN0c19hZG1pbicsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PTNEJ21hbmFnZT0KX2RhdGFzZXRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9M0R0cmFuPQpzLnNlY3VyaXR5LmVu
Y29kZV9pZCggc2FtcGxlLmlkICksCgpkaWZmIC1yIGViMTNkMTgyMDFmYmJmODMxOWZiMmIxYzAz
YTI3MmViNTUxYjdkMjYgLXIgYTk0YjNhOTdlZDdhZTY2NzJjOWIxZGM9Cjg3OTIyZjdlOWYyYTcw
ODYwIGxpYi9nYWxheHkvd2ViYXBwcy90b29sX3NoZWQvY29udHJvbGxlcnMvcmVwb3NpdG9yeS5w
eQotLS0gYS9saWIvZ2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVkL2NvbnRyb2xsZXJzL3JlcG9zaXRv
cnkucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL3Rvb2xfc2hlZC9jb250cm9sbGVycy9yZXBv
c2l0b3J5LnB5CkBAIC0xNjI5LDExICsxNjI5LDExIEBACiAgICAgICAgIHJldHVybiAnJwo9MjAK
ICAgICBAd2ViLmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNlbGYsIHRyYW5zLCBm
aWxlX3BhdGggKToKKyAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNlbGYsIHRyYW5zLCBmaWxl
X3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAgICAgIyBBdm9pZCBjYWNoaW5nCiAgICAgICAg
IHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCiAgICAgICAg
IHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAgIHJldHVy
biBzdWMuZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggZmlsZV9wYXRoICkKKyAgICAgICAg
cmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCB0cmFucy5hcHAsIGZpbGVf
cGF0aCwgcmVwPQpvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBvc2UKICAgICBkZWYgZ2V0
X2Z1bmN0aW9uYWxfdGVzdF9yc3MoIHNlbGYsIHRyYW5zLCAqKmt3ZCApOgpAQCAtMjYwMCwxMSAr
MjYwMCwxMSBAQAogICAgICAgICByZXR1cm4gJycKPTIwCiAgICAgQHdlYi5qc29uCi0gICAgZGVm
IG9wZW5fZm9sZGVyKCBzZWxmLCB0cmFucywgZm9sZGVyX3BhdGggKToKKyAgICBkZWYgb3Blbl9m
b2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICAg
ICAjIEF2b2lkIGNhY2hpbmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21h
J10gPTNEICduby1jYWNoZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJl
cyddID0zRCAnMCcKLSAgICAgICAgcmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9s
ZGVyKCBmb2xkZXJfcGF0aCApCisgICAgICAgIHJldHVybiBzdWMub3Blbl9yZXBvc2l0b3J5X2Zp
bGVzX2ZvbGRlciggdHJhbnMuYXBwLCBmb2xkZXJfcGF0aCwgcj0KZXBvc2l0b3J5X2lkICkKPTIw
CiAgICAgQHdlYi5leHBvc2UKICAgICBkZWYgcHJldmlld190b29sc19pbl9jaGFuZ2VzZXQoIHNl
bGYsIHRyYW5zLCByZXBvc2l0b3J5X2lkLCAqKmt3ZCApOgoKZGlmZiAtciBlYjEzZDE4MjAxZmJi
ZjgzMTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1yIGE5NGIzYTk3ZWQ3YWU2NjcyYzliMWRjPQo4
NzkyMmY3ZTlmMmE3MDg2MCBsaWIvdG9vbF9zaGVkL3Rvb2xzL3Rvb2xfdmVyc2lvbl9tYW5hZ2Vy
LnB5Ci0tLSBhL2xpYi90b29sX3NoZWQvdG9vbHMvdG9vbF92ZXJzaW9uX21hbmFnZXIucHkKKysr
IGIvbGliL3Rvb2xfc2hlZC90b29scy90b29sX3ZlcnNpb25fbWFuYWdlci5weQpAQCAtMSw3ICsx
LDggQEAKIGltcG9ydCBsb2dnaW5nCi1pbXBvcnQgb3MKPTIwCi1mcm9tIGdhbGF4eS5tb2RlbC5v
cm0gaW1wb3J0IGFuZF8KK2Zyb20gZ2FsYXh5IGltcG9ydCBlZ2dzCitlZ2dzLnJlcXVpcmUoJ1NR
TEFsY2hlbXknKQorZnJvbSBzcWxhbGNoZW15IGltcG9ydCBhbmRfLCBvcl8KPTIwCiBmcm9tIHRv
b2xfc2hlZC51dGlsIGltcG9ydCBoZ191dGlsCiBmcm9tIHRvb2xfc2hlZC51dGlsIGltcG9ydCBz
aGVkX3V0aWxfY29tbW9uIGFzIHN1YwpAQCAtMjIsOCArMjMsOCBAQAo9MjAKICAgICBkZWYgZ2V0
X3Rvb2xfdmVyc2lvbl9hc3NvY2lhdGlvbiggc2VsZiwgcGFyZW50X3Rvb2xfdmVyc2lvbiwgdG9v
bF92ZXJzPQppb24gKToKICAgICAgICAgIiIiCi0gICAgICAgIFJldHVybiBhIFRvb2xWZXJzaW9u
QXNzb2NpYXRpb24gaWYgb25lIGV4aXN0cyB0aGF0IGFzc29jaWF0ZXMgdGhlID0KdHdvIHJlY2Vp
dmVkCi0gICAgICAgIHRvb2xfdmVyc2lvbnMgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkg
ZnJvbSBHYWxheHkuCisgICAgICAgIFJldHVybiBhIFRvb2xWZXJzaW9uQXNzb2NpYXRpb24gaWYg
b25lIGV4aXN0cyB0aGF0IGFzc29jaWF0ZXMgdGhlID0KdHdvCisgICAgICAgIHJlY2VpdmVkIHRv
b2xfdmVyc2lvbnMuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgZnJvbSBHYWxheHkuCiAg
ICAgICAgICIiIgogICAgICAgICBjb250ZXh0ID0zRCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLmNv
bnRleHQKICAgICAgICAgcmV0dXJuIGNvbnRleHQucXVlcnkoIHNlbGYuYXBwLmluc3RhbGxfbW9k
ZWwuVG9vbFZlcnNpb25Bc3NvY2lhdGlvPQpuICkgXApAQCAtOTEsNiArOTIsMTYgQEAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv
b2xfc2hlZF9yZXBvPQpzaXRvcnk9M0R0b29sX3NoZWRfcmVwb3NpdG9yeSApCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRleHQuYWRkKCB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50X2lkICkKICAg
ICAgICAgICAgICAgICAgICAgY29udGV4dC5mbHVzaCgpCisgICAgICAgICAgICAgICAgIyBSZW1v
dmUgZXhpc3Rpbmcgd3JvbmcgdG9vbCB2ZXJzaW9uIGFzc29jaWF0aW9ucyBoYXZpbmcKKyAgICAg
ICAgICAgICAgICAjIHRvb2xfdmVyc2lvbl91c2luZ19wYXJlbnRfaWQgYXMgcGFyZW50IG9yCisg
ICAgICAgICAgICAgICAgIyB0b29sX3ZlcnNpb25fdXNpbmdfdG9vbF9ndWlkIGFzIGNoaWxkLgor
ICAgICAgICAgICAgICAgIGNvbnRleHQucXVlcnkoIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwuVG9v
bFZlcnNpb25Bc3NvY2lhdGk9Cm9uICkgXAorICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVy
KCBvcl8oIGFuZF8oIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwuVG9vbFZlcnM9CmlvbkFzc29jaWF0
aW9uLnRhYmxlLmMucGFyZW50X2lkID0zRD0zRCB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50X2lk
LmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXBw
Lmluc3RhbGxfbW9kZWwuVG9vbFZlcnM9CmlvbkFzc29jaWF0aW9uLnRhYmxlLmMudG9vbF9pZCAh
PTNEIHRvb2xfdmVyc2lvbl91c2luZ190b29sX2d1aWQuaWQgKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhbmRfKCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xWZXJz
PQppb25Bc3NvY2lhdGlvbi50YWJsZS5jLnBhcmVudF9pZCAhPTNEIHRvb2xfdmVyc2lvbl91c2lu
Z19wYXJlbnRfaWQuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5Ub29sVmVycz0KaW9uQXNzb2NpYXRpb24udGFibGUu
Yy50b29sX2lkID0zRD0zRCB0b29sX3ZlcnNpb25fdXNpbmdfdG9vbF9ndWlkLmlkICkgKSApPQog
XAorICAgICAgICAgICAgICAgICAgICAgICAuZGVsZXRlKCkKKyAgICAgICAgICAgICAgICBjb250
ZXh0LmZsdXNoKCkKICAgICAgICAgICAgICAgICB0b29sX3ZlcnNpb25fYXNzb2NpYXRpb24gPTNE
IFwKICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfdG9vbF92ZXJzaW9uX2Fzc29jaWF0aW9u
KCB0b29sX3ZlcnNpb25fdXNpbmdfPQpwYXJlbnRfaWQsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF92ZXJzaW9uX3VzaW5nXz0KdG9v
bF9ndWlkICkKCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcyZWI1NTFiN2Qy
NiAtciBhOTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAgbGliL3Rvb2xf
c2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC91dGlsL3No
ZWRfdXRpbF9jb21tb24ucHkKKysrIGIvbGliL3Rvb2xfc2hlZC91dGlsL3NoZWRfdXRpbF9jb21t
b24ucHkKQEAgLTUwOSw5ICs1MDksMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQogICAgICAgICAg
ICAgICBjaGFuZ2VzZXRfcmV2aXNpb249M0R0ZXh0ICkKICAgICByZXR1cm4gcmVwb3NpdG9yeQo9
MjAKLWRlZiBnZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCBmaWxlX3BhdGggKToKK2RlZiBn
ZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCBhcHAsIGZpbGVfcGF0aCwgcmVwb3NpdG9yeV9p
ZCApOgogICAgICIiIlJldHVybiB0aGUgZGlzcGxheS1zYWZlIGNvbnRlbnRzIG9mIGEgcmVwb3Np
dG9yeSBmaWxlIGZvciBkaXNwbGF5IGk9Cm4gYSBicm93c2VyLiIiIgotICAgIGlmIGNoZWNrZXJz
LmlzX2d6aXAoIGZpbGVfcGF0aCApOgorICAgIHNhZmVfc3RyID0zRCAnJworICAgIGlmIG5vdCBp
c19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIGZpbGVfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgorICAg
ICAgICBsb2cud2FybmluZyggJ1JlcXVlc3QgdHJpZXMgdG8gYWNjZXNzIGEgZmlsZSBvdXRzaWRl
IG9mIHRoZSByZXBvc2k9CnRvcnkgbG9jYXRpb24uIEZpbGUgcGF0aDogJXMnLCBmaWxlX3BhdGgg
KQorICAgICAgICByZXR1cm4gJ0ludmFsaWQgZmlsZSBwYXRoJworICAgICMgU3ltbGluayB0YXJn
ZXRzIGFyZSBjaGVja2VkIGJ5IGlzX3BhdGhfd2l0aGluX3JlcG8KKyAgICBpZiBvcy5wYXRoLmlz
bGluayggZmlsZV9wYXRoICk6CisgICAgICAgIHNhZmVfc3RyID0zRCAnbGluayB0bzogJyArIGJh
c2ljX3V0aWwudG9faHRtbF9zdHJpbmcoIG9zLnJlYWRsaW5rKD0KIGZpbGVfcGF0aCApICkKKyAg
ICAgICAgcmV0dXJuIHNhZmVfc3RyCisgICAgZWxpZiBjaGVja2Vycy5pc19nemlwKCBmaWxlX3Bh
dGggKToKICAgICAgICAgcmV0dXJuICc8YnIvPmd6aXAgY29tcHJlc3NlZCBmaWxlPGJyLz4nCiAg
ICAgZWxpZiBjaGVja2Vycy5pc19iejIoIGZpbGVfcGF0aCApOgogICAgICAgICByZXR1cm4gJzxi
ci8+YnoyIGNvbXByZXNzZWQgZmlsZTxici8+JwpAQCAtNTIwLDcgKzUyOCw2IEBACiAgICAgZWxp
ZiBjaGVja2Vycy5jaGVja19iaW5hcnkoIGZpbGVfcGF0aCApOgogICAgICAgICByZXR1cm4gJzxi
ci8+QmluYXJ5IGZpbGU8YnIvPicKICAgICBlbHNlOgotICAgICAgICBzYWZlX3N0ciA9M0QgJycK
ICAgICAgICAgZm9yIGksIGxpbmUgaW4gZW51bWVyYXRlKCBvcGVuKCBmaWxlX3BhdGggKSApOgog
ICAgICAgICAgICAgc2FmZV9zdHIgPTNEICclcyVzJyAlICggc2FmZV9zdHIsIGJhc2ljX3V0aWwu
dG9faHRtbF9zdHJpbmcoIGw9CmluZSApICkKICAgICAgICAgICAgICMgU3RvcCByZWFkaW5nIGFm
dGVyIHN0cmluZyBpcyBsYXJnZXIgdGhhbiBNQVhfQ09OVEVOVF9TSVpFLgpAQCAtNTMwLDYgKzUz
Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgIHV0aWwubmljZV9zaXplKCBNQVhfQ09OVEVOVF9T
SVpFICkKICAgICAgICAgICAgICAgICBzYWZlX3N0ciA9M0QgJyVzJXMnICUgKCBzYWZlX3N0ciwg
bGFyZ2Vfc3RyICkKICAgICAgICAgICAgICAgICBicmVhaworCiAgICAgICAgIGlmIGxlbiggc2Fm
ZV9zdHIgKSA+IGJhc2ljX3V0aWwuTUFYX0RJU1BMQVlfU0laRToKICAgICAgICAgICAgICMgRWxp
bWluYXRlIHRoZSBtaWRkbGUgb2YgdGhlIGZpbGUgdG8gZGlzcGxheSBhIGZpbGUgbm8gbGFyZ2Vy
PQogdGhhbiBiYXNpY191dGlsLk1BWF9ESVNQTEFZX1NJWkUuCiAgICAgICAgICAgICAjIFRoaXMg
bWF5IG5vdCBiZSBpZGVhbCBpZiB0aGUgZmlsZSBpcyBsYXJnZXIgdGhhbiBNQVhfQ09OVEVOVD0K
X1NJWkUuCkBAIC01NTAsOSArNTU4LDYgQEAKICAgICAgICAgIyBTa2lwIC5oZyBkaXJlY3Rvcmll
cwogICAgICAgICBpZiBpdGVtLnN0YXJ0c3dpdGgoICcuaGcnICk6CiAgICAgICAgICAgICBjb250
aW51ZQotICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKCBvcy5wYXRoLmpvaW4oIGZvbGRlcl9wYXRo
LCBpdGVtICkgKToKLSAgICAgICAgICAgICMgQXBwZW5kIGEgJy8nIGNoYXJhY3RlciBzbyB0aGF0
IG91ciBqcXVlcnkgZHluYXRyZWUgd2lsbCBmdW5jPQp0aW9uIHByb3Blcmx5LgotICAgICAgICAg
ICAgaXRlbSA9M0QgJyVzLycgJSBpdGVtCiAgICAgICAgIGNvbnRlbnRzLmFwcGVuZCggaXRlbSAp
CiAgICAgaWYgY29udGVudHM6CiAgICAgICAgIGNvbnRlbnRzLnNvcnQoKQpAQCAtMTAwOCwxMSAr
MTAxMywxNSBAQAogICAgICIiIgogICAgIHJldHVybiBoYXNhdHRyKCBhcHAsICJpbnN0YWxsX21v
ZGVsIiApCj0yMAotZGVmIG9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRo
ICk6CitkZWYgb3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlciggYXBwLCBmb2xkZXJfcGF0aCwg
cmVwb3NpdG9yeV9pZCApOgogICAgICIiIgogICAgIFJldHVybiBhIGxpc3Qgb2YgZGljdGlvbmFy
aWVzLCBlYWNoIG9mIHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uIGZvciA9CmEgZmlsZSBvciBk
aXJlY3RvcnkgY29udGFpbmVkCiAgICAgd2l0aGluIGEgZGlyZWN0b3J5IGluIGEgcmVwb3NpdG9y
eSBmaWxlIGhpZXJhcmNoeS4KICAgICAiIiIKKyAgICAjIFN5bWxpbmsgdGFyZ2V0cyBhcmUgY2hl
Y2tlZCBieSBpc19wYXRoX3dpdGhpbl9yZXBvCisgICAgaWYgbm90IGlzX3BhdGhfd2l0aGluX3Jl
cG8oIGFwcCwgZm9sZGVyX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKKyAgICAgICAgbG9nLndhcm5p
bmcoICdSZXF1ZXN0IHRyaWVzIHRvIGFjY2VzcyBhIGZvbGRlciBvdXRzaWRlIG9mIHRoZSByZXBv
PQpzaXRvcnkgbG9jYXRpb24uIEZvbGRlciBwYXRoOiAlcycsIGZvbGRlcl9wYXRoICkKKyAgICAg
ICAgcmV0dXJuIFtdCiAgICAgdHJ5OgogICAgICAgICBmaWxlc19saXN0ID0zRCBnZXRfcmVwb3Np
dG9yeV9maWxlcyggZm9sZGVyX3BhdGggKQogICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgpAQCAtMTAy
MiwxMCArMTAzMSwxNyBAQAogICAgIGZvbGRlcl9jb250ZW50cyA9M0QgW10KICAgICBmb3IgZmls
ZW5hbWUgaW4gZmlsZXNfbGlzdDoKICAgICAgICAgaXNfZm9sZGVyID0zRCBGYWxzZQotICAgICAg
ICBpZiBmaWxlbmFtZSBhbmQgZmlsZW5hbWVbIC0xIF0gPTNEPTNEIG9zLnNlcDoKLSAgICAgICAg
ICAgIGlzX2ZvbGRlciA9M0QgVHJ1ZQorICAgICAgICBmdWxsX3BhdGggPTNEIG9zLnBhdGguam9p
biggZm9sZGVyX3BhdGgsIGZpbGVuYW1lICkKKyAgICAgICAgaXNfbGluayA9M0Qgb3MucGF0aC5p
c2xpbmsoIGZ1bGxfcGF0aCApCisgICAgICAgIHBhdGhfaXNfd2l0aGluX3JlcG8gPTNEIGlzX3Bh
dGhfd2l0aGluX3JlcG8oIGFwcCwgZnVsbF9wYXRoLCByZXBvcz0KaXRvcnlfaWQgKQorICAgICAg
ICBpZiBpc19saW5rIGFuZCBub3QgcGF0aF9pc193aXRoaW5fcmVwbzoKKyAgICAgICAgICAgIGxv
Zy53YXJuaW5nKCAnVmFsaWQgZm9sZGVyIGNvbnRhaW5zIGEgc3ltbGluayBvdXRzaWRlIG9mIHRo
ZSByPQplcG9zaXRvcnkgbG9jYXRpb24uIExpbmsgZm91bmQgaW46ICcgKyBzdHIoIGZ1bGxfcGF0
aCApICkKICAgICAgICAgaWYgZmlsZW5hbWU6Ci0gICAgICAgICAgICBmdWxsX3BhdGggPTNEIG9z
LnBhdGguam9pbiggZm9sZGVyX3BhdGgsIGZpbGVuYW1lICkKKyAgICAgICAgICAgIGlmIG9zLnBh
dGguaXNkaXIoIGZ1bGxfcGF0aCApIGFuZCBwYXRoX2lzX3dpdGhpbl9yZXBvOgorICAgICAgICAg
ICAgICAgICMgQXBwZW5kIGEgJy8nIGNoYXJhY3RlciBzbyB0aGF0IG91ciBqcXVlcnkgZHluYXRy
ZWUgd2lsbCA9CmZ1bmN0aW9uIHByb3Blcmx5LgorICAgICAgICAgICAgICAgIGZpbGVuYW1lID0z
RCAnJXMvJyAlIGZpbGVuYW1lCisgICAgICAgICAgICAgICAgZnVsbF9wYXRoID0zRCAnJXMvJyAl
IGZ1bGxfcGF0aAorICAgICAgICAgICAgICAgIGlzX2ZvbGRlciA9M0QgVHJ1ZQogICAgICAgICAg
ICAgbm9kZSA9M0QgeyAidGl0bGUiIDogZmlsZW5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAi
aXNGb2xkZXIiIDogaXNfZm9sZGVyLAogICAgICAgICAgICAgICAgICAgICAgImlzTGF6eSIgOiBp
c19mb2xkZXIsCkBAIC0xMDM0LDYgKzEwNTAsMTYgQEAKICAgICAgICAgICAgIGZvbGRlcl9jb250
ZW50cy5hcHBlbmQoIG5vZGUgKQogICAgIHJldHVybiBmb2xkZXJfY29udGVudHMKPTIwCitkZWYg
aXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBwYXRoLCByZXBvc2l0b3J5X2lkICk6CisgICAgIiIi
CisgICAgRGV0ZWN0IHdoZXRoZXIgdGhlIGdpdmVuIHBhdGggaXMgd2l0aGluIHRoZSByZXBvc2l0
b3J5IGZvbGRlIHJvbiB0aGUgZD0KaXNrLgorICAgIFVzZSB0byBmaWx0ZXIgbWFsaWNpb3VzIHN5
bWxpbmtzIHRhcmdldGluZyBvdXRzaWRlIHBhdGhzLgorICAgICIiIgorICAgIHJlcG9fcGF0aCA9
M0Qgb3MucGF0aC5hYnNwYXRoKCBnZXRfcmVwb3NpdG9yeV9ieV9pZCggYXBwLCByZXBvc2l0b3J5
X2k9CmQgKS5yZXBvX3BhdGgoIGFwcCApICkKKyAgICByZXNvbHZlZF9wYXRoID0zRCBvcy5wYXRo
LnJlYWxwYXRoKCBwYXRoICkKKyAgICByZXR1cm4gb3MucGF0aC5jb21tb25wcmVmaXgoIFsgcmVw
b19wYXRoLCByZXNvbHZlZF9wYXRoIF0gKSA9M0Q9M0QgcmVwPQpvX3BhdGgKKworCiBkZWYgcmVw
b3NpdG9yeV93YXNfcHJldmlvdXNseV9pbnN0YWxsZWQoIGFwcCwgdG9vbF9zaGVkX3VybCwgcmVw
b3NpdG9yeV9uYT0KbWUsIHJlcG9faW5mb190dXBsZSwgZnJvbV90aXA9M0RGYWxzZSApOgogICAg
ICIiIgogICAgIEZpbmQgb3V0IGlmIGEgcmVwb3NpdG9yeSBpcyBhbHJlYWR5IGluc3RhbGxlZCBp
bnRvIEdhbGF4eSAtIHRoZXJlIGFyZSA9CnNldmVyYWwgc2NlbmFyaW9zIHdoZXJlIHRoaXMKCmRp
ZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcyZWI1NTFiN2QyNiAtciBhOTRiM2E5
N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAgdGVtcGxhdGVzL2FkbWluL3JlcXVl
c3RzL3NlbGVjdF9kYXRhc2V0c190b190cmFuc2Zlci5tYWtvCi0tLSBhL3RlbXBsYXRlcy9hZG1p
bi9yZXF1ZXN0cy9zZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXIubWFrbworKysgL2Rldi9udWxs
CkBAIC0xLDE0OSArMCwwIEBACi08JWluaGVyaXQgZmlsZT0zRCIvYmFzZS5tYWtvIi8+Ci08JW5h
bWVzcGFjZSBmaWxlPTNEIi9tZXNzYWdlLm1ha28iIGltcG9ydD0zRCJyZW5kZXJfbXNnIiAvPgot
PCVuYW1lc3BhY2UgZmlsZT0zRCIvcmVxdWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvIiBpbXBvcnQ9
M0QicmVuZGVyX3NhbXBsZV89CmRhdGFzZXRzIiAvPgotPCVuYW1lc3BhY2UgZmlsZT0zRCIvcmVx
dWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvIiBpbXBvcnQ9M0QiY29tbW9uX2phdmFzY3I9CmlwdHMi
IC8+Ci0KLTwlZGVmIG5hbWU9M0QiamF2YXNjcmlwdHMoKSI+Ci0gICAke3BhcmVudC5qYXZhc2Ny
aXB0cygpfQotICAgJHtjb21tb25famF2YXNjcmlwdHMoKX0KLTwvJWRlZj4KLQotJHtoLmpzKCAi
bGlicy9qcXVlcnkvanF1ZXJ5LXVpIiwgImxpYnMvanF1ZXJ5L2pxdWVyeS5jb29raWUiLCAibGli
cy9qcXVlcnk9Ci9qcXVlcnkuZHluYXRyZWUiICl9Ci0ke2guY3NzKCAiZHluYXRyZWVfc2tpbi91
aS5keW5hdHJlZSIgKX0KLQotPHNjcmlwdCB0eXBlPTNEInRleHQvamF2YXNjcmlwdCI+Ci0gICAg
JChmdW5jdGlvbigpewotICAgICAgICAkKCIjdHJlZSIpLmFqYXhDb21wbGV0ZShmdW5jdGlvbihl
dmVudCwgWE1MSHR0cFJlcXVlc3QsIGFqYXhPcHRpb249CnMpIHsKLSAgICAgICAgICAgIF9sb2co
ImRlYnVnIiwgImFqYXhDb21wbGV0ZTogJW8iLCB0aGlzKTsgLy8gZG9tIGVsZW1lbnQgbGlzdGVu
PQppbmcKLSAgICAgICAgfSk7Ci0gICAgICAgIC8vIC0tLSBJbml0aWFsaXplIHNhbXBsZSB0cmVl
cwotICAgICAgICAkKCIjdHJlZSIpLmR5bmF0cmVlKHsKLSAgICAgICAgICAgIHRpdGxlOiAiJHtz
Y3BfY29uZmlnc1snZGF0YV9sb2NhdGlvbiddfSIsCi0gICAgICAgICAgICByb290VmlzaWJsZTog
dHJ1ZSwKLSAgICAgICAgICAgIG1pbkV4cGFuZExldmVsOiAwLCAvLyAxOiByb290IG5vZGUgaXMg
bm90IGNvbGxhcHNpYmxlCi0gICAgICAgICAgICBwZXJzaXN0OiBmYWxzZSwKLSAgICAgICAgICAg
IGNoZWNrYm94OiB0cnVlLAotICAgICAgICAgICAgc2VsZWN0TW9kZTogMywKLSAgICAgICAgICAg
IG9uUG9zdEluaXQ6IGZ1bmN0aW9uKGlzUmVsb2FkaW5nLCBpc0Vycm9yKSB7Ci0gICAgICAgICAg
ICAgICAgLy9hbGVydCgicmVsb2FkaW5nOiAiK2lzUmVsb2FkaW5nKyIsIGVycm9yOiIraXNFcnJv
cik7Ci0gICAgICAgICAgICAgICAgbG9nTXNnKCJvblBvc3RJbml0KCVvLCAlbykgLSAlbyIsIGlz
UmVsb2FkaW5nLCBpc0Vycm9yLCB0aD0KaXMpOwotICAgICAgICAgICAgICAgIC8vIFJlLWZpcmUg
b25BY3RpdmF0ZSwgc28gdGhlIHRleHQgaXMgdXBkYXRlZAotICAgICAgICAgICAgICAgIHRoaXMu
cmVhY3RpdmF0ZSgpOwotICAgICAgICAgICAgfSw9MjAKLSAgICAgICAgICAgIGZ4OiB7IGhlaWdo
dDogInRvZ2dsZSIsIGR1cmF0aW9uOiAyMDAgfSwKLSAgICAgICAgICAgIC8vIGluaXRBamF4IGlz
IGhhcmQgdG8gZmFrZSwgc28gd2UgcGFzcyB0aGUgY2hpbGRyZW4gYXMgb2JqZWN0PQogYXJyYXk6
Ci0gICAgICAgICAgICBpbml0QWpheDoge3VybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNE
J3JlcXVlc3RzX2FkbWluJywgYT0KY3Rpb249M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiw9MjAKLSAgICAgICAgICAgICAgICAgICAg
ICAgZGF0YTogeyByZXF1ZXN0X2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlPQpx
dWVzdC5pZCApfSIsIGV4dGVybmFsX3NlcnZpY2VfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29k
ZV9pZCggZXh0ZXJuYWxfc2U9CnJ2aWNlLmlkICl9Iiwga2V5OiAiJHtzY3BfY29uZmlnc1snZGF0
YV9sb2NhdGlvbiddfSIgfSwKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICBvbkxhenlSZWFk
OiBmdW5jdGlvbihkdG5vZGUpewotICAgICAgICAgICAgICAgIGR0bm9kZS5hcHBlbmRBamF4KHsK
LSAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVx
dWVzdHNfYWRtaW4nLCBhY3RpPQpvbj0zRCdvcGVuX2ZvbGRlcicgKX0iLD0yMAotICAgICAgICAg
ICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAotICAgICAgICAgICAgICAgICAgICBkYXRhOiB7
IHJlcXVlc3RfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVxdWU9CnN0LmlkICl9
IiwgZXh0ZXJuYWxfc2VydmljZV9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBleHRl
cm5hbF9zZXJ2aT0KY2UuaWQgKX0iLCBrZXk6IGR0bm9kZS5kYXRhLmtleSB9LAotICAgICAgICAg
ICAgICAgIH0pOwotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIG9uU2VsZWN0OiBmdW5jdGlv
bihzZWxlY3QsIGR0bm9kZSkgewotICAgICAgICAgICAgICAgIC8vIERpc3BsYXkgbGlzdCBvZiBz
ZWxlY3RlZCBub2RlcwotICAgICAgICAgICAgICAgIHZhciBzZWxOb2RlcyA9M0QgZHRub2RlLnRy
ZWUuZ2V0U2VsZWN0ZWROb2RlcygpOwotICAgICAgICAgICAgICAgIC8vIGNvbnZlcnQgdG8gdGl0
bGUva2V5IGFycmF5Ci0gICAgICAgICAgICAgICAgdmFyIHNlbEtleXMgPTNEICQubWFwKHNlbE5v
ZGVzLCBmdW5jdGlvbihub2RlKXsKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUuZGF0
YS5rZXk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuc2Vs
ZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyLnNlbGVjdGVkX2RhdGFzZXRzX3RvXz0KdHJhbnNmZXIu
dmFsdWUgPTNEIHNlbEtleXMuam9pbigiLCIpCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
b25BY3RpdmF0ZTogZnVuY3Rpb24oZHRub2RlKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNlbGwg
PTNEICQoIiNmaWxlX2RldGFpbHMiKTsKLSAgICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRfdmFs
dWU7Ci0gICAgICAgICAgICAgICAgaWYgKGR0bm9kZS5kYXRhLmtleSA9M0Q9M0QgJ3Jvb3QnKSB7
Ci0gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkX3ZhbHVlID0zRCAiJHtzY3BfY29uZmlnc1sn
ZGF0YV9sb2NhdGlvbiddfS8iOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICAgICAgICAgIHNlbGVjdGVkX3ZhbHVlID0zRCBkdG5vZGUuZGF0YS5rZXk7Ci0gICAgICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgICAgICBpZiAoc2VsZWN0ZWRfdmFsdWUuY2hhckF0KHNlbGVj
dGVkX3ZhbHVlLmxlbmd0aC0xKSAhPTNEICcvPQonKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8v
IE1ha2UgYWpheCBjYWxsCi0gICAgICAgICAgICAgICAgICAgICQuYWpheCggewotICAgICAgICAg
ICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAotICAgICAgICAgICAgICAgICAgICAgICAgdXJs
OiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzdHNfYWRtaW4nLCA9CmFjdGlvbj0z
RCdnZXRfZmlsZV9kZXRhaWxzJyApfSIsCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlw
ZTogImpzb24iLAotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyByZXF1ZXN0X2lkOiAi
JHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQocmU9CnF1ZXN0LmlkKX0iLCBleHRlcm5hbF9zZXJ2
aWNlX2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoZXh0ZXJuYWxfc2Vydj0KaWNlLmlk
KX0iLCBmb2xkZXJfcGF0aDogc2VsZWN0ZWRfdmFsdWUgfSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbiAoIGRhdGEgKSB7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY2VsbC5odG1sKCAnPGxhYmVsPicrZGF0YSsnPC9sYWJlbD4nICkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAg
fSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgY2VsbC5odG1sKCAnJyApOwotICAgICAgICAg
ICAgICAgIH07Ci0gICAgICAgICAgICB9LAotICAgICAgICB9KTsKLSAgICB9KTsKLTwvc2NyaXB0
PgotCi08JQotICAgIGlzX2FkbWluID0zRCBjbnRybGxlciA9M0Q9M0QgJ3JlcXVlc3RzX2FkbWlu
JyBhbmQgdHJhbnMudXNlcl9pc19hZG1pbigpCi0gICAgY2FuX3RyYW5zZmVyX2RhdGFzZXRzID0z
RCBpc19hZG1pbiBhbmQgc2FtcGxlLnVudHJhbnNmZXJyZWRfZGF0YXNldF9maT0KbGVzIGFuZCBz
YW1wbGUubGlicmFyeSBhbmQgc2FtcGxlLmZvbGRlcgotJT4KLQotPGJyLz48YnIvPgotPHVsIGNs
YXNzPTNEIm1hbmFnZS10YWJsZS1hY3Rpb25zIj4KLSAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9u
LWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdleHRlPQpybmFsX3Nl
cnZpY2UnLCBhY3Rpb249M0Qndmlld19leHRlcm5hbF9zZXJ2aWNlJywgaWQ9M0R0cmFucy5zZWN1
cml0eS5lbmNvZGU9Cl9pZCggZXh0ZXJuYWxfc2VydmljZS5pZCApICl9Ij5FeHRlcm5hbCBzZXJ2
aWNlIGNvbmZpZ3VyYXRpb248L2E+PC9saT4KLSAgICAlaWYgY2FuX3RyYW5zZmVyX2RhdGFzZXRz
OgotICAgICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJs
X2ZvciggY29udHJvbGxlcj0zRCc9CnJlcXVlc3RzX2FkbWluJywgYWN0aW9uPTNEJ21hbmFnZV9k
YXRhc2V0cycsIGNudHJsbGVyPTNEY250cmxsZXIsIHNhbXBsZV9pZD0KPTNEdHJhbnMuc2VjdXJp
dHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+VHJhbnNmZXIgZGF0YXNldHM8L2E+PC9saT4K
LSAgICAlZW5kaWYKLSAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIk
e2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1PQplc3RzX2NvbW1vbicsIGFjdGlvbj0zRCd2
aWV3X3JlcXVlc3QnLCBjbnRybGxlcj0zRGNudHJsbGVyLCBpZD0zRHRyYW5zLnNlY3U9CnJpdHku
ZW5jb2RlX2lkKCByZXF1ZXN0LmlkICkgKX0iPkJyb3dzZSB0aGlzIHJlcXVlc3Q8L2E+PC9saT4K
LTwvdWw+Ci0KLSVpZiBub3Qgc2FtcGxlOgotICAgIDxici8+Ci0gICAgPGZvbnQgY29sb3I9M0Qi
cmVkIj48Yj48aT5TZWxlY3QgYSBzYW1wbGUgYmVmb3JlIHNlbGVjdGluZyBkYXRhc2V0cyB0bz0K
IHRyYW5zZmVyPC9pPjwvYj48L2ZvbnQ+Ci0gICAgPGJyLz4KLSVlbmRpZgotCi0laWYgcmVxdWVz
dC5zYW1wbGVzX3dpdGhvdXRfbGlicmFyeV9kZXN0aW5hdGlvbnM6Ci0gICAgPHA+Ci0gICAgPGZv
bnQgY29sb3I9M0QicmVkIj48Yj48aT5TZWxlY3QgYSB0YXJnZXQgZGF0YSBsaWJyYXJ5IGFuZCBm
b2xkZXIgZm9yID0KYSBzYW1wbGUgYmVmb3JlIHNlbGVjdGluZyBpdHMgZGF0YXNldHMgdG8gdHJh
bnNmZXIgZnJvbSB0aGUgZXh0ZXJuYWwgc2VydmljPQplPC9pPjwvYj48L2ZvbnQ+Ci0gICAgPC9w
PgotJWVuZGlmCi0KLSVpZiBtZXNzYWdlOgotICAgICR7cmVuZGVyX21zZyggbWVzc2FnZSwgc3Rh
dHVzICl9Ci0lZW5kaWYKLQotPGRpdiBjbGFzcz0zRCJ0b29sRm9ybSI+Ci0gICAgPGRpdiBjbGFz
cz0zRCJ0b29sRm9ybVRpdGxlIj5TZWxlY3QgZGF0YXNldHMgdG8gdHJhbnNmZXIgZnJvbSBkYXRh
IGRpcj0KZWN0b3J5IGNvbmZpZ3VyZWQgZm9yIHRoZSBleHRlcm5hbCBzZXJ2aWNlPC9kaXY+Ci0g
ICAgPGZvcm0gbmFtZT0zRCJzZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXIiIGlkPTNEInNlbGVj
dF9kYXRhc2V0c190b190cj0KYW5zZmVyIiBhY3Rpb249M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xs
ZXI9M0QncmVxdWVzdHNfYWRtaW4nLCBhY3Rpb249M0Qnc2VsPQplY3RfZGF0YXNldHNfdG9fdHJh
bnNmZXInLCBjbnRybGxlcj0zRGNudHJsbGVyLCBleHRlcm5hbF9zZXJ2aWNlX2lkPTNEdHJhbnM9
Ci5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2UuaWQgKSwgcmVxdWVzdF9pZD0z
RHRyYW5zLnNlY3VyaXR5LmVuYz0Kb2RlX2lkKCByZXF1ZXN0LmlkICkpfSIgbWV0aG9kPTNEInBv
c3QiID4KLSAgICAgICAgPGRpdiBjbGFzcz0zRCJmb3JtLXJvdyI+Ci0gICAgICAgICAgICA8bGFi
ZWw+U2FtcGxlOjwvbGFiZWw+Ci0gICAgICAgICAgICAke3NhbXBsZV9pZF9zZWxlY3RfZmllbGQu
Z2V0X2h0bWwoKX0KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9M0QidG9vbFBhcmFtSGVscCIgc3R5
bGU9M0QiY2xlYXI6IGJvdGg7Ij4KLSAgICAgICAgICAgICAgICBTZWxlY3QgdGhlIHNhbXBsZSB0
aGF0IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHVjZSB0aGUgZGF0YXNlPQp0cyB5b3Ugd2FudCB0byB0
cmFuc2Zlci4KLSAgICAgICAgICAgIDwvZGl2PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRp
diBjbGFzcz0zRCJmb3JtLXJvdyIgPgotICAgICAgICAgICAgPGxhYmVsPlNlbGVjdCBkYXRhc2V0
cyBmcm9tIHNvdXJjZSBkYXRhIGxvY2F0aW9uIGRlZmluZWQgaW4gdGg9CmUgZXh0ZXJuYWwgc2Vy
dmljZSBjb25maWd1cmF0aW9uOjwvbGFiZWw+Ci0gICAgICAgICAgICA8ZGl2IGlkPTNEInRyZWUi
ID4KLSAgICAgICAgICAgICAgICBMb2FkaW5nLi4uCi0gICAgICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgICAgIDxpbnB1dCBpZD0zRCJzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlciIgbmFtZT0z
RCJzZWxlY3RlZF9kPQphdGFzZXRzX3RvX3RyYW5zZmVyIiB0eXBlPTNEImhpZGRlbiIgc2l6ZT0z
RDQwIi8+Ci0gICAgICAgICAgICA8ZGl2IGNsYXNzPTNEInRvb2xQYXJhbUhlbHAiIHN0eWxlPTNE
ImNsZWFyOiBib3RoOyI+Ci0gICAgICAgICAgICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAg
ICA8bGk+Q2xpY2sgdGhlIDxiPmV4dGVybmFsIHNlcnZpY2UgY29uZmlndXJhdGlvbjwvYj4gYnU9
CnR0b24gYW5kIGNoYW5nZSB0aGUgPGI+RGF0YSBkaXJlY3Rvcnk8L2I+IHNldHRpbmcgdG8gcmVk
ZWZpbmUgdGhlIHNvdXJjZSBkYT0KdGEgbG9jYXRpb24uPC9saT4KLSAgICAgICAgICAgICAgICAg
ICAgPGxpPlNlbGVjdCBhIGZvbGRlciB0byBzZWxlY3QgYWxsIG9mIHRoZSBpbmRpdmlkdWFsIGZp
PQpsZXMgd2l0aGluIHRoYXQgZm9sZGVyLjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5D
bGljayB0aGUgPGI+U2VsZWN0IGRhdGFzZXRzPC9iPiBidXR0b24gd2hlbiBkZXNpcj0KZWQgZGF0
YXNldCBjaGVjayBib3hlcyBhcmUgY2hlY2tlZC48L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+
Ci0gICAgICAgICAgICA8L2Rpdj4gICAgICAgICAgID0yMAotICAgICAgICA8L2Rpdj4KLSAgICAg
ICAgPGRpdiBjbGFzcz0zRCJmb3JtLXJvdyI+Ci0gICAgICAgICAgICA8ZGl2IGlkPTNEImZpbGVf
ZGV0YWlscyIgY2xhc3M9M0QidG9vbFBhcmFtSGVscCIgc3R5bGU9M0QiY2xlYT0KcjogYm90aDti
YWNrZ3JvdW5kLWNvbG9yOiNGQUZBRkE7Ij48L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDxkaXYgY2xhc3M9M0QiZm9ybS1yb3ciPgotICAgICAgICAgICAgPGlucHV0IHR5cGU9M0Qic3Vi
bWl0IiBuYW1lPTNEInNlbGVjdF9kYXRhc2V0c190b190cmFuc2Zlcl9idXQ9CnRvbiIgdmFsdWU9
M0QiU2VsZWN0IGRhdGFzZXRzIi8+Ci0gICAgICAgIDwvZGl2PgotICAgIDwvZm9ybT4KLTwvZGl2
PgotCi0laWYgc2FtcGxlIGFuZCBzYW1wbGUuZGF0YXNldHM6Ci0gICAgPCUgdGl0bGUgPTNEICdB
bGwgc2VsZWN0ZWQgZGF0YXNldHMgZm9yICIlcyInICUgc2FtcGxlLm5hbWUgJT4KLSAgICA8cC8+
Ci0gICAgJHtyZW5kZXJfc2FtcGxlX2RhdGFzZXRzKCAncmVxdWVzdHNfYWRtaW4nLCBzYW1wbGUs
IHNhbXBsZS5kYXRhc2V0cywgdD0KaXRsZSApfQotJWVuZGlmCgpkaWZmIC1yIGViMTNkMTgyMDFm
YmJmODMxOWZiMmIxYzAzYTI3MmViNTUxYjdkMjYgLXIgYTk0YjNhOTdlZDdhZTY2NzJjOWIxZGM9
Cjg3OTIyZjdlOWYyYTcwODYwIHRlbXBsYXRlcy9hZG1pbi90b29sX3NoZWRfcmVwb3NpdG9yeS9j
b21tb24ubWFrbwotLS0gYS90ZW1wbGF0ZXMvYWRtaW4vdG9vbF9zaGVkX3JlcG9zaXRvcnkvY29t
bW9uLm1ha28KKysrIGIvdGVtcGxhdGVzL2FkbWluL3Rvb2xfc2hlZF9yZXBvc2l0b3J5L2NvbW1v
bi5tYWtvCkBAIC0yMywxNCArMjMsMTYgQEAKICAgICAgICAgICAgICAgICBmeDogeyBoZWlnaHQ6
ICJ0b2dnbGUiLCBkdXJhdGlvbjogMjAwIH0sCiAgICAgICAgICAgICAgICAgLy8gaW5pdEFqYXgg
aXMgaGFyZCB0byBmYWtlLCBzbyB3ZSBwYXNzIHRoZSBjaGlsZHJlbiBhcyBvYj0KamVjdCBhcnJh
eToKICAgICAgICAgICAgICAgICBpbml0QWpheDoge3VybDogIiR7aC51cmxfZm9yKCBjb250cm9s
bGVyPTNEJ2FkbWluX3Rvb2xzaGVkPQonLCBhY3Rpb249M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsPTIwCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiAiJHtkaXJlY3RvcnlfcGF0aHxo
fSIgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiAiJHtkaXJlY3Rvcnlf
cGF0aHxofSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlf
aWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZT0KX2lkKCByZXBvc2l0b3J5LmlkICl9IiB9LAog
ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgb25MYXp5UmVhZDogZnVuY3Rpb24o
ZHRub2RlKXsKICAgICAgICAgICAgICAgICAgICAgZHRub2RlLmFwcGVuZEFqYXgoewotICAgICAg
ICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5f
dG9vbHNoZWQnLCA9CmFjdGlvbj0zRCdvcGVuX2ZvbGRlcicgKX0iLD0yMAorICAgICAgICAgICAg
ICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNo
ZWQnLCA9CmFjdGlvbj0zRCdvcGVuX2ZvbGRlcicgKX0iLAogICAgICAgICAgICAgICAgICAgICAg
ICAgZGF0YVR5cGU6ICJqc29uIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9s
ZGVyX3BhdGg6IGR0bm9kZS5kYXRhLmtleSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0
YTogeyBmb2xkZXJfcGF0aDogZHRub2RlLmRhdGEua2V5LAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXBvc2l0b3J5X2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQ9Cigg
cmVwb3NpdG9yeS5pZCApfSIgfSwKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg
ICAgICAgfSwKICAgICAgICAgICAgICAgICBvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0LCBkdG5v
ZGUpIHsKQEAgLTU1LDcgKzU3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBl
OiAiUE9TVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3Io
IGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNoZT0KZCcsIGFjdGlvbj0zRCdnZXRfZmlsZV9jb250
ZW50cycgKX0iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBmaWxlX3BhdGg6IHNlbGVjdGVk
X3ZhbHVlIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBmaWxlX3BhdGg6
IHNlbGVjdGVkX3ZhbHVlLCByZXBvc2l0b3J5Xz0KaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29k
ZV9pZCggcmVwb3NpdG9yeS5pZCApfSIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dWNjZXNzIDogZnVuY3Rpb24oIGRhdGEgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNlbGwuaHRtbCggJzxsYWJlbD4nK2RhdGErJzwvbGFiZWw+JyApCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQoKZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgzMTlmYjJiMWMwM2EyNzJl
YjU1MWI3ZDI2IC1yIGE5NGIzYTk3ZWQ3YWU2NjcyYzliMWRjPQo4NzkyMmY3ZTlmMmE3MDg2MCB0
ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvCi0tLSBh
L3RlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vY29tbW9uLm1ha28KKysr
IGIvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi9jb21tb24ubWFrbwpA
QCAtMzMzLDcgKzMzMyw2IEBACiAgICAgICAgY2FuX2FkZF9zYW1wbGVzID0zRCBpc191bnN1Ym1p
dHRlZAogICAgIGNhbl9kZWxldGVfc2FtcGxlcyA9M0Qgbm90IGFkZGluZ19uZXdfc2FtcGxlcyBh
bmQgcmVxdWVzdC5zYW1wbGVzIGFuZCA9CiggKCBpc19hZG1pbiBhbmQgbm90IGlzX2NvbXBsZXRl
ICkgb3IgaXNfdW5zdWJtaXR0ZWQgKQogICAgIGNhbl9lZGl0X3NhbXBsZXMgPTNEIHJlcXVlc3Qu
c2FtcGxlcyBhbmQgKCBpc19hZG1pbiBvciBub3QgaXNfY29tcGxldGU9CiApCi0gICAgY2FuX3Nl
bGVjdF9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kIGRpc3BsYXlhYmxlX3NhbXBsZV93aWRnZXRz
IGFuZCAoID0KaXNfc3VibWl0dGVkIG9yIGlzX2NvbXBsZXRlICkKICAgICBjYW5fdHJhbnNmZXJf
ZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCByZXF1ZXN0LnNhbXBsZXMgYW5kIG5vdCByZXF1ZXN0
PQouaXNfcmVqZWN0ZWQKICAgICBkaXNwbGF5X2NoZWNrYm94ZXMgPTNEIG5vdCBhZGRpbmdfbmV3
X3NhbXBsZXMgYW5kICggaXNfY29tcGxldGUgb3IgaXNfPQpyZWplY3RlZCBvciBpc19zdWJtaXR0
ZWQgKQogICAgIGRpc3BsYXlfYmFyX2NvZGUgPTNEIHJlcXVlc3Quc2FtcGxlcyBhbmQgKCBpc19j
b21wbGV0ZSBvciBpc19yZWplY3RlZCA9Cm9yIGlzX3N1Ym1pdHRlZCApCkBAIC00MDcsNyArNDA2
LDcgQEAKICAgICAgICAgICAgICAgICAlZWxpZiBzYW1wbGU6CiAgICAgICAgICAgICAgICAgICAg
IDx0cj48dGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJWlmIHNhbXBsZS5zdGF0ZSBh
bmQgKCBjYW5fc2VsZWN0X2RhdGFzZXRzIG9yID0KY2FuX3RyYW5zZmVyX2RhdGFzZXRzICk6Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJWlmIHNhbXBsZS5zdGF0ZSBhbmQgY2FuX3RyYW5z
ZmVyX2RhdGFzZXRzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIyBBIHNhbXBs
ZSB3aWxsIGhhdmUgYSBzdGF0ZSBvbmx5IGFmdGVyIHQ9CmhlIHJlcXVlc3QgaGFzIGJlZW4gc3Vi
bWl0dGVkLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZW5jb2RlZF9pZCA9M0QgdHJhbnMuc2VjdXJpdHkuZW5j
b2RlX2k9CmQoIHNhbXBsZS5pZCApCkBAIC00MTksMTQgKzQxOCw2IEBACiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0zRCJ2aWV3LWluZm8iIGhyZWY9M0QiJHto
LnVybD0KX2ZvciggY29udHJvbGxlcj0zRCdyZXF1ZXN0c19jb21tb24nLCBhY3Rpb249M0Qndmll
d19zYW1wbGUnLCBjbnRybGxlcj0zRGNuPQp0cmxsZXIsIGlkPTNEdHJhbnMuc2VjdXJpdHkuZW5j
b2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+JHtzYW1wbGUubmFtZSB8IGh9PC89CmE+PC9kaXY+PGRp
diBwb3B1cG1lbnU9M0Qic2FtcGxlLSR7c2FtcGxlLmlkfS1wb3B1cCI+Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAlaWYgY2FuX3NlbGVjdF9kYXRhc2V0czoKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlZm9yIGV4dGVybmFsX3NlcnZpY2UgaW4g
c2FtcGxlLnJlPQpxdWVzdC50eXBlLmdldF9leHRlcm5hbF9zZXJ2aWNlc19mb3JfbWFudWFsX2Rh
dGFfdHJhbnNmZXIoIHRyYW5zICk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDwlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBtZW51X2l0ZW1fbGFiZWwgPTNEICJTZWxlYz0KdCBkYXRhc2V0cyB0byB0cmFuc2ZlciB1
c2luZyAlcyIgJSBleHRlcm5hbF9zZXJ2aWNlLm5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iPQogaHJlZj0zRCIke2gu
dXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdzZWxlY3Rf
ZGF0YXM9CmV0c190b190cmFuc2ZlcicsIGV4dGVybmFsX3NlcnZpY2VfaWQ9M0R0cmFucy5zZWN1
cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsXz0Kc2VydmljZS5pZCApLCByZXF1ZXN0X2lkPTNEdHJh
bnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZXF1ZXN0LmlkICksIHNhbXBsZV9pPQpkPTNEdHJhbnMu
c2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+JHttZW51X2l0ZW1fbGFiZWx9PC9h
PjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWVuZGZvcgot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWVuZGlmCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAlaWYgc2FtcGxlLmRhdGFzZXRzIGFuZCBsZW4oIHNhbXBs
ZS5kYT0KdGFzZXRzICkgPiBsZW4oIHRyYW5zZmVycmVkX2RhdGFzZXRfZmlsZXMgKSBhbmQgc2Ft
cGxlLmxpYnJhcnkgYW5kIHNhbXBsZS5mPQpvbGRlcjoKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlPQpmPTNE
IiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywgYWN0aW9uPTNEJ21h
bmFnZV9kYXRhc2V0cyc9Ciwgc2FtcGxlX2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBz
YW1wbGUuaWQgKSApfSI+TWFuYWdlIHNlbGVjdGVkIGRhdD0KYXNldHM8L2E+PC9saT4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVlbGlmIHNhbXBsZS5kYXRhc2V0cyBhbmQg
bGVuKCBzYW1wbGUuPQpkYXRhc2V0cyApID0zRD0zRCBsZW4oIHRyYW5zZmVycmVkX2RhdGFzZXRf
ZmlsZXMgKToKQEAgLTY2NSw3ICs2NTYsNiBAQAogICAgICAgICAgICAgaXNfYWRtaW4gPTNEIGNu
dHJsbGVyID0zRD0zRCAncmVxdWVzdHNfYWRtaW4nIGFuZCB0cmFucy51c2VyX2k9CnNfYWRtaW4o
KQogICAgICAgICAgICAgaXNfY29tcGxldGUgPTNEIHNhbXBsZS5yZXF1ZXN0LmlzX2NvbXBsZXRl
CiAgICAgICAgICAgICBpc19zdWJtaXR0ZWQgPTNEIHNhbXBsZS5yZXF1ZXN0LmlzX3N1Ym1pdHRl
ZAotICAgICAgICAgICAgY2FuX3NlbGVjdF9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kICggaXNf
Y29tcGxldGUgb3IgaXNfc3VibWk9CnR0ZWQgKQogICAgICAgICAgICAgY2FuX3RyYW5zZmVyX2Rh
dGFzZXRzID0zRCBpc19hZG1pbiBhbmQgc2FtcGxlLnVudHJhbnNmZXJyZWRfZGE9CnRhc2V0X2Zp
bGVzCiAgICAgICAgICU+CiAgICAgICAgICMjIFRoZSB0cmFuc2ZlciBzdGF0dXMgc2hvdWxkIHVw
ZGF0ZSBvbmx5IHdoZW4gdGhlIHJlcXVlc3QgaGFzIGJlZT0KbiBzdWJtaXR0ZWQgb3IgY29tcGxl
dGUKCmRpZmYgLXIgZWIxM2QxODIwMWZiYmY4MzE5ZmIyYjFjMDNhMjcyZWI1NTFiN2QyNiAtciBh
OTRiM2E5N2VkN2FlNjY3MmM5YjFkYz0KODc5MjJmN2U5ZjJhNzA4NjAgdGVtcGxhdGVzL3dlYmFw
cHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi92aWV3X3JlcXVlc3RfaGlzPQp0b3J5Lm1ha28KLS0t
IGEvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi92aWV3X3JlcXVlc3Rf
aGlzdG9yeS5tYWtvCisrKyBiL3RlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21t
b24vdmlld19yZXF1ZXN0X2hpc3RvcnkubWFrbwpAQCAtMTEsNyArMTEsNiBAQAogICAgIGNhbl9h
ZGRfc2FtcGxlcyA9M0QgaXNfdW5zdWJtaXR0ZWQKICAgICBjYW5fZWRpdF9yZXF1ZXN0ID0zRCAo
IGlzX2FkbWluIGFuZCBub3QgaXNfY29tcGxldGUgKSBvciBpc191bnN1Ym1pdHRlZAogICAgIGNh
bl9yZWplY3QgPTNEIGlzX2FkbWluIGFuZCBpc19zdWJtaXR0ZWQKLSAgICBjYW5fc2VsZWN0X2Rh
dGFzZXRzID0zRCBpc19hZG1pbiBhbmQgKCBpc19jb21wbGV0ZSBvciBpc19zdWJtaXR0ZWQgKQog
ICAgIGNhbl9zdWJtaXRfcmVxdWVzdCA9M0QgcmVxdWVzdC5zYW1wbGVzIGFuZCBpc191bnN1Ym1p
dHRlZAogJT4KPTIwCgpkaWZmIC1yIGViMTNkMTgyMDFmYmJmODMxOWZiMmIxYzAzYTI3MmViNTUx
YjdkMjYgLXIgYTk0YjNhOTdlZDdhZTY2NzJjOWIxZGM9Cjg3OTIyZjdlOWYyYTcwODYwIHRlbXBs
YXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmlld19zYW1wbGVfZGF0YT0Kc2V0
cy5tYWtvCi0tLSBhL3RlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmll
d19zYW1wbGVfZGF0YXNldHMubWFrbworKysgYi90ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVx
dWVzdHMvY29tbW9uL3ZpZXdfc2FtcGxlX2RhdGFzZXRzLm1ha28KQEAgLTEyLDcgKzEyLDYgQEAK
ICAgICBpc19hZG1pbiA9M0QgY250cmxsZXIgPTNEPTNEICdyZXF1ZXN0c19hZG1pbicgYW5kIHRy
YW5zLnVzZXJfaXNfYWRtaW4oKQogICAgIGlzX2NvbXBsZXRlID0zRCBzYW1wbGUucmVxdWVzdC5p
c19jb21wbGV0ZQogICAgIGlzX3N1Ym1pdHRlZCA9M0Qgc2FtcGxlLnJlcXVlc3QuaXNfc3VibWl0
dGVkCi0gICAgY2FuX3NlbGVjdF9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kICggaXNfY29tcGxl
dGUgb3IgaXNfc3VibWl0dGVkICkKICAgICBjYW5fdHJhbnNmZXJfZGF0YXNldHMgPTNEIGlzX2Fk
bWluIGFuZCBzYW1wbGUudW50cmFuc2ZlcnJlZF9kYXRhc2V0X2ZpPQpsZXMgYW5kIHNhbXBsZS5s
aWJyYXJ5IGFuZCBzYW1wbGUuZm9sZGVyCiAlPgo9MjAKQEAgLTI0LDkgKzIzLDYgQEAKICAgICAl
ZW5kaWYKICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaWQ9M0Qic2FtcGxlLSR7
c2FtcGxlLmlkfS1wb3B1cCIgY2xhc3M9Cj0zRCJtZW51YnV0dG9uIj5EYXRhc2V0IEFjdGlvbnM8
L2E+PC9saT48ZGl2IHBvcHVwbWVudT0zRCJzYW1wbGUtJHtzYW1wbGUuaT0KZH0tcG9wdXAiPgot
ICAgICAgICAlaWYgY2FuX3NlbGVjdF9kYXRhc2V0czoKLSAgICAgICAgICAgIDxsaT48YSBjbGFz
cz0zRCJhY3Rpb24tYnV0dG9uIiBocmVmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPQo9M0Qn
cmVxdWVzdHNfYWRtaW4nLCBhY3Rpb249M0Qnc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyJywg
Y250cmxsZXI9M0RjbnQ9CnJsbGVyLCBleHRlcm5hbF9zZXJ2aWNlX2lkPTNEdHJhbnMuc2VjdXJp
dHkuZW5jb2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlLmlkID0KKSwgcmVxdWVzdF9pZD0zRHRyYW5z
LnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxlLnJlcXVlc3QuaWQgKSwgc2FtcGxlX2lkPTNEPQp0
cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5pZCApICl9Ij5TZWxlY3QgbW9yZSBkYXRh
c2V0czwvYT48L2xpPgotICAgICAgICAlZW5kaWYKICAgICAgICAgPGxpPjxhIGNsYXNzPTNEImFj
dGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnPQpsaWJyYXJ5
X2NvbW1vbicsIGFjdGlvbj0zRCdicm93c2VfbGlicmFyeScsIGNudHJsbGVyPTNEY250cmxsZXIs
IGlkPTNEdHJhbnM9Ci5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5saWJyYXJ5LmlkICkgKX0i
PlZpZXcgdGFyZ2V0IERhdGEgTGlicmFyeTwvYT48Lz0KbGk+PGxpPjxhIGNsYXNzPTNEImFjdGlv
bi1idXR0b24iIGhyZWY9M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzPQp0c19j
b21tb24nLCBhY3Rpb249M0Qndmlld19yZXF1ZXN0JywgY250cmxsZXI9M0RjbnRybGxlciwgaWQ9
M0R0cmFucy5zZWN1cmk9CnR5LmVuY29kZV9pZCggc2FtcGxlLnJlcXVlc3QuaWQgKSApfSI+QnJv
d3NlIHRoaXMgcmVxdWVzdDwvYT48L2xpPjwvZGl2PgoKZGlmZiAtciBlYjEzZDE4MjAxZmJiZjgz
MTlmYjJiMWMwM2EyNzJlYjU1MWI3ZDI2IC1yIGE5NGIzYTk3ZWQ3YWU2NjcyYzliMWRjPQo4Nzky
MmY3ZTlmMmE3MDg2MCB0ZW1wbGF0ZXMvd2ViYXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21t
b24ubWFrbwotLS0gYS90ZW1wbGF0ZXMvd2ViYXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21t
b24ubWFrbworKysgYi90ZW1wbGF0ZXMvd2ViYXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21t
b24ubWFrbwpAQCAtMjEsMTQgKzIxLDE0IEBACiAgICAgICAgICAgICAgICAgZng6IHsgaGVpZ2h0
OiAidG9nZ2xlIiwgZHVyYXRpb246IDIwMCB9LAogICAgICAgICAgICAgICAgIC8vIGluaXRBamF4
IGlzIGhhcmQgdG8gZmFrZSwgc28gd2UgcGFzcyB0aGUgY2hpbGRyZW4gYXMgb2I9CmplY3QgYXJy
YXk6CiAgICAgICAgICAgICAgICAgaW5pdEFqYXg6IHt1cmw6ICIke2gudXJsX2ZvciggY29udHJv
bGxlcj0zRCdyZXBvc2l0b3J5JywgYT0KY3Rpb249M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsPTIwCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiAiJHtyZXBvc2l0b3J5LnJlcG9fcGF0
aCggdD0KcmFucy5hcHAgKX0iIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlw
ZTogImpzb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0
aDogIiR7cmVwb3NpdG9yeS5yZXBvX3BhdGgoIHQ9CnJhbnMuYXBwICl9IiwgcmVwb3NpdG9yeV9p
ZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZXBvc2l0b3J5LmlkICl9Ij0KICB9LAog
ICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgb25MYXp5UmVhZDogZnVuY3Rpb24o
ZHRub2RlKXsKICAgICAgICAgICAgICAgICAgICAgZHRub2RlLmFwcGVuZEFqYXgoewotICAgICAg
ICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVwb3Np
dG9yeScsIGFjdGk9Cm9uPTNEJ29wZW5fZm9sZGVyJyApfSIsPTIwCisgICAgICAgICAgICAgICAg
ICAgICAgICB1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXBvc2l0b3J5JywgYWN0
aT0Kb249M0Qnb3Blbl9mb2xkZXInICl9IiwKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFU
eXBlOiAianNvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRo
OiBkdG5vZGUuZGF0YS5rZXkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9s
ZGVyX3BhdGg6IGR0bm9kZS5kYXRhLmtleSwgcmVwb3NpdG9yeV9pPQpkOiAiJHt0cmFucy5zZWN1
cml0eS5lbmNvZGVfaWQoIHJlcG9zaXRvcnkuaWQgKX0iICB9LAogICAgICAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIG9uU2VsZWN0OiBmdW5j
dGlvbihzZWxlY3QsIGR0bm9kZSkgewpAQCAtNjEsNyArNjEsNyBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXBvc2l0b3J5JywgPQphY3Rpb249M0Qn
Z2V0X2ZpbGVfY29udGVudHMnICl9IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh
VHlwZTogImpzb24iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZmlsZV9w
YXRoOiBzZWxlY3RlZF92YWx1ZSB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6
IHsgZmlsZV9wYXRoOiBzZWxlY3RlZF92YWx1ZSwgcmVwb3NpdG9yeV89CmlkOiAiJHt0cmFucy5z
ZWN1cml0eS5lbmNvZGVfaWQoIHJlcG9zaXRvcnkuaWQgKX0iIH0sCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uICggZGF0YSApIHsKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgY2VsbC5odG1sKCAnPGxhYmVsPicrZGF0YSsnPC9sYWJlbD4nICkK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL2dh
bGF4eS9nYWxheHktY2VudHJhbC9jb21taXRzLzdjYThmMGVjYjJhZS8KQ2hhbmdlc2V0OiAgIDdj
YThmMGVjYjJhZQpCcmFuY2g6ICAgICAgcmVsZWFzZV8xNS4wMQpVc2VyOiAgICAgICAgbmF0ZWZv
bwpEYXRlOiAgICAgICAgMjAxNi0wMi0yNCAyMDo1MDowNiswMDowMApTdW1tYXJ5OiAgICAgUmVs
ZWFzZSAxNS4wMS40CkFmZmVjdGVkICM6ICAyNiBmaWxlcwoKZGlmZiAtciBjMWNjNzZmYTNkNjZl
ZmIwNzBmMTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpm
ZDA5Y2NhZTQ4MTk0MGE0OSBsaWIvZ2FsYXh5L2V4Y2VwdGlvbnMvX19pbml0X18ucHkKLS0tIGEv
bGliL2dhbGF4eS9leGNlcHRpb25zL19faW5pdF9fLnB5CisrKyBiL2xpYi9nYWxheHkvZXhjZXB0
aW9ucy9fX2luaXRfXy5weQpAQCAtNjYsNiArNjYsMTEgQEAKICAgICBlcnJfY29kZSA9M0QgZXJy
b3JfY29kZXMuTUFMRk9STUVEX0lECj0yMAo9MjAKK2NsYXNzIE1hbGZvcm1lZENvbnRlbnRzKCBN
ZXNzYWdlRXhjZXB0aW9uICk6CisgICAgc3RhdHVzX2NvZGUgPTNEIDQwMAorICAgIGVycl9jb2Rl
ID0zRCBlcnJvcl9jb2Rlcy5NQUxGT1JNRURfQ09OVEVOVFMKKworCiBjbGFzcyBVbmtub3duQ29u
dGVudHNUeXBlKCBNZXNzYWdlRXhjZXB0aW9uICk6CiAgICAgc3RhdHVzX2NvZGUgPTNEIDQwMAog
ICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rlcy5VTktOT1dOX0NPTlRFTlRTX1RZUEUKCmRpZmYg
LXIgYzFjYzc2ZmEzZDY2ZWZiMDcwZjE5NjMxNTFjNGFjMGNhZTA0OGYzZiAtciA3Y2E4ZjBlY2Iy
YWU4YjFiYTJiNTNlMT0KZmQwOWNjYWU0ODE5NDBhNDkgbGliL2dhbGF4eS9leGNlcHRpb25zL2Vy
cm9yX2NvZGVzLmpzb24KLS0tIGEvbGliL2dhbGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpz
b24KKysrIGIvbGliL2dhbGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KQEAgLTU2LDEw
ICs1NiwxNSBAQAogICAgIH0sCiAgICB7CiAgICAgIm5hbWUiOiAiVVNFUl9UT09MX01FVEFfUEFS
QU1FVEVSX1BST0JMRU0iLAotICAgICJjb2RlIjogNDAwMDExLAorICAgICJjb2RlIjogNDAwMDEy
LAogICAgICJtZXNzYWdlIjogIlN1cHBsaWVkIGluY29ycmVjdCBvciBpbmNvbXBhdGlibGUgdG9v
bCBtZXRhIHBhcmFtZXRlcnMuIgogICAgfSwKICAgIHsKKyAgICAibmFtZSI6ICJNQUxGT1JNRURf
Q09OVEVOVFMiLAorICAgICJjb2RlIjogNDAwMDEzLAorICAgICJtZXNzYWdlIjogIlRoZSBjb250
ZW50cyBvZiB0aGUgcmVxdWVzdCBhcmUgbWFsZm9ybWVkLiIKKyAgICB9LAorICAgewogICAgICJu
YW1lIjogIlVTRVJfQVVUSEVOVElDQVRJT05fRkFJTEVEIiwKICAgICAiY29kZSI6IDQwMTAwMSwK
ICAgICAibWVzc2FnZSI6ICJBdXRoZW50aWNhdGlvbiBmYWlsZWQsIGludmFsaWQgY3JlZGVudGlh
bHMgc3VwcGxpZWQuIgoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBmMTk2MzE1MWM0YWMwY2Fl
MDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0OSBsaWIv
Z2FsYXh5L21vZGVsL19faW5pdF9fLnB5Ci0tLSBhL2xpYi9nYWxheHkvbW9kZWwvX19pbml0X18u
cHkKKysrIGIvbGliL2dhbGF4eS9tb2RlbC9fX2luaXRfXy5weQpAQCAtNSwxNSArNSwxMSBAQAog
dGhlIHJlbGF0aW9uc2hpcCBjYXJkaW5hbGl0aWVzIGFyZSBvYnZpb3VzIChlLmcuIHByZWZlciBE
YXRhc2V0IHRvIERhdGEpCiAiIiIKPTIwCi1mcm9tIGdhbGF4eSBpbXBvcnQgZWdncwotZWdncy5y
ZXF1aXJlKCJwZXhwZWN0IikKLQogaW1wb3J0IGNvZGVjcwogaW1wb3J0IGVycm5vCiBpbXBvcnQg
bG9nZ2luZwogaW1wb3J0IG9wZXJhdG9yCiBpbXBvcnQgb3MKLWltcG9ydCBwZXhwZWN0CiBpbXBv
cnQganNvbgogaW1wb3J0IHNvY2tldAogaW1wb3J0IHRpbWUKQEAgLTM4NTgsMjcgKzM4NTQsNiBA
QAogICAgICAgICAgICAgICAgIHVudHJhbnNmZXJyZWRfZGF0YXNldHMuYXBwZW5kKCBkYXRhc2V0
ICkKICAgICAgICAgcmV0dXJuIHVudHJhbnNmZXJyZWRfZGF0YXNldHMKPTIwCi0gICAgZGVmIGdl
dF91bnRyYW5zZmVycmVkX2RhdGFzZXRfc2l6ZSggc2VsZiwgZmlsZXBhdGgsIHNjcF9jb25maWdz
ICk6Ci0gICAgICAgIGRlZiBwcmludF90aWNrcyggZCApOgotICAgICAgICAgICAgcGFzcwotICAg
ICAgICBlcnJvcl9tc2cgPTNEICdFcnJvciBlbmNvdW50ZXJlZCBpbiBkZXRlcm1pbmluZyB0aGUg
ZmlsZSBzaXplIG9mICU9CnMgb24gdGhlIGV4dGVybmFsX3NlcnZpY2UuJyAlIGZpbGVwYXRoCi0g
ICAgICAgIGlmIG5vdCBzY3BfY29uZmlnc1snaG9zdCddIG9yIG5vdCBzY3BfY29uZmlnc1sndXNl
cl9uYW1lJ10gb3Igbm90ID0Kc2NwX2NvbmZpZ3NbJ3Bhc3N3b3JkJ106Ci0gICAgICAgICAgICBy
ZXR1cm4gZXJyb3JfbXNnCi0gICAgICAgIGxvZ2luX3N0ciA9M0QgJyVzQCVzJyAlICggc2NwX2Nv
bmZpZ3NbJ3VzZXJfbmFtZSddLCBzY3BfY29uZmlnc1snaD0Kb3N0J10gKQotICAgICAgICBjbWQg
ID0zRCAnc3NoICVzICJkdSAtc2ggXCclc1wnIicgJSAoIGxvZ2luX3N0ciwgZmlsZXBhdGggKQot
ICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvdXRwdXQgPTNEIHBleHBlY3QucnVuKCBjbWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRzPTNEeyAnLnNzd29yZDoqJzog
c2NwX2NvbmZpZ3NbJ3Bhcz0Kc3dvcmQnXSsnXHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGV4cGVjdC5USU1FT1VUOnByaW50X3RpY2tzfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTNEMTAgKQotICAgICAgICBleGNl
cHQgRXhjZXB0aW9uOgotICAgICAgICAgICAgcmV0dXJuIGVycm9yX21zZwotICAgICAgICAjIGNs
ZWFudXAgdGhlIG91dHB1dCB0byBnZXQganVzdCB0aGUgZmlsZSBzaXplCi0gICAgICAgIHJldHVy
biAgb3V0cHV0LnJlcGxhY2UoIGZpbGVwYXRoLCAnJyApXAotICAgICAgICAgICAgICAgICAgICAg
IC5yZXBsYWNlKCAnUGFzc3dvcmQ6JywgJycgKVwKLSAgICAgICAgICAgICAgICAgICAgICAucmVw
bGFjZSggIidzIHBhc3N3b3JkOiIsICcnIClcCi0gICAgICAgICAgICAgICAgICAgICAgLnJlcGxh
Y2UoIGxvZ2luX3N0ciwgJycgKVwKLSAgICAgICAgICAgICAgICAgICAgICAuc3RyaXAoKQogICAg
IEBwcm9wZXJ0eQogICAgIGRlZiBydW5fZGV0YWlscyggc2VsZiApOgogICAgICAgICAjIHNlbGYu
cnVucyBpcyBhIGxpc3Qgb2YgU2FtcGxlUnVuQXNzb2NpYXRpb25zIG9yZGVyZWQgZGVzY2VuZGlu
ZyA9Cm9uIHVwZGF0ZV90aW1lLgoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBmMTk2MzE1MWM0
YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0
OSBsaWIvZ2FsYXh5L29iamVjdHN0b3JlL19faW5pdF9fLnB5Ci0tLSBhL2xpYi9nYWxheHkvb2Jq
ZWN0c3RvcmUvX19pbml0X18ucHkKKysrIGIvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9fX2luaXRf
Xy5weQpAQCAtMTEsNyArMTEsNyBAQAogaW1wb3J0IHRocmVhZGluZwogZnJvbSB4bWwuZXRyZWUg
aW1wb3J0IEVsZW1lbnRUcmVlCj0yMAotZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgdW1hc2tfZml4
X3Blcm1zLCBmb3JjZV9zeW1saW5rCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCB1bWFza19maXhf
cGVybXMsIGZvcmNlX3N5bWxpbmssIHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHkuZXhjZXB0aW9u
cyBpbXBvcnQgT2JqZWN0SW52YWxpZCwgT2JqZWN0Tm90Rm91bmQKIGZyb20gZ2FsYXh5LnV0aWwu
c2xlZXBlciBpbXBvcnQgU2xlZXBlcgogZnJvbSBnYWxheHkudXRpbC5kaXJlY3RvcnlfaGFzaCBp
bXBvcnQgZGlyZWN0b3J5X2hhc2hfaWQKQEAgLTI1Niw3ICsyNTYsMTcgQEAKICAgICAgICAgICAg
ICAgICAgICAgICAgICB0aGUgY29tcG9zZWQgZGlyZWN0b3J5IHN0cnVjdHVyZSBkb2VzIG5vdCBp
bmNsdWRlPQogYSBoYXNoIGlkCiAgICAgICAgICAgICAgICAgICAgICAgICAgKGUuZy4sIC9maWxl
cy9kYXRhc2V0XzEwLmRhdCAob2xkKSB2cy4gL2ZpbGVzLzAwMD0KL2RhdGFzZXRfMTAuZGF0IChu
ZXcpKQogICAgICAgICAiIiIKLSAgICAgICAgYmFzZSA9M0Qgc2VsZi5leHRyYV9kaXJzLmdldChi
YXNlX2Rpciwgc2VsZi5maWxlX3BhdGgpCisgICAgICAgIGJhc2UgPTNEIG9zLnBhdGguYWJzcGF0
aChzZWxmLmV4dHJhX2RpcnMuZ2V0KGJhc2VfZGlyLCBzZWxmLmZpbGVfcD0KYXRoKSkKKyAgICAg
ICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVyIGJlIGNvbnN0cnVjdGVkIGZyb20gcHJvdmlkZWQg
ZGF0YSBidXQganVzdAorICAgICAgICAjIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gc2hlbmFubmln
YW5zIGFmb290CisgICAgICAgIGlmIGV4dHJhX2RpciBhbmQgZXh0cmFfZGlyICE9M0Qgb3MucGF0
aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2V4dHJhX2Rp
ciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBleHRyYV9kaXIpCisgICAgICAgICAgICByYWlzZSBP
YmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKKyAgICAgICAg
IyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRpcmVjdG9yeSByZWZlcmVuY2VzIGluIGFsdF9uYW1l
IHdvdWxkIG5vdAorICAgICAgICAjIHJlc3VsdCBpbiBhIHBhdGggbm90IGNvbnRhaW5lZCBpbiB0
aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0ZWQ9CiBoZXJlCisgICAgICAgIGlmIGFsdF9uYW1l
IGFuZCBub3Qgc2FmZV9yZWxwYXRoKGFsdF9uYW1lKToKKyAgICAgICAgICAgIGxvZy53YXJuaW5n
KCdhbHRfbmFtZSB3b3VsZCBsb2NhdGUgcGF0aCBvdXRzaWRlIGRpcjogJXMnLCBhbHRfPQpuYW1l
KQorICAgICAgICAgICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3Qg
aXMgaW52YWxpZCIpCiAgICAgICAgIGlmIG9sZF9zdHlsZToKICAgICAgICAgICAgIGlmIGV4dHJh
X2RpciBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICBwYXRoID0zRCBvcy5wYXRoLmpvaW4o
YmFzZSwgZXh0cmFfZGlyKQpAQCAtNjIzLDkgKzYzMywxMCBAQAogICAgIGVsaWYgc3RvcmUgPTNE
PTNEICdpcm9kcyc6CiAgICAgICAgIGZyb20gLnJvZHMgaW1wb3J0IElST0RTT2JqZWN0U3RvcmUK
ICAgICAgICAgcmV0dXJuIElST0RTT2JqZWN0U3RvcmUoY29uZmlnPTNEY29uZmlnLCBjb25maWdf
eG1sPTNEY29uZmlnX3htbCkKLSAgICBlbGlmIHN0b3JlID0zRD0zRCAncHVsc2FyJzoKLSAgICAg
ICAgZnJvbSAucHVsc2FyIGltcG9ydCBQdWxzYXJPYmplY3RTdG9yZQotICAgICAgICByZXR1cm4g
UHVsc2FyT2JqZWN0U3RvcmUoY29uZmlnPTNEY29uZmlnLCBjb25maWdfeG1sPTNEY29uZmlnX3ht
bCkKKyAgICAjIERpc2FibGUgdGhlIFB1bHNhciBvYmplY3Qgc3RvcmUgZm9yIG5vdyB1bnRpbCBp
dCByZWNlaXZlcyBzb21lIGF0dGVuPQp0aW9uCisgICAgIyBlbGlmIHN0b3JlID0zRD0zRCAncHVs
c2FyJzoKKyAgICAjICAgIGZyb20gLnB1bHNhciBpbXBvcnQgUHVsc2FyT2JqZWN0U3RvcmUKKyAg
ICAjICAgIHJldHVybiBQdWxzYXJPYmplY3RTdG9yZShjb25maWc9M0Rjb25maWcsIGNvbmZpZ194
bWw9M0Rjb25maWdfeG1sKQogICAgIGVsc2U6CiAgICAgICAgIGxvZy5lcnJvcigiVW5yZWNvZ25p
emVkIG9iamVjdCBzdG9yZSBkZWZpbml0aW9uOiB7MH0iLmZvcm1hdChzdG9yZT0KKSkKPTIwCgpk
aWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYw
ZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi9nYWxheHkvb2JqZWN0c3Rv
cmUvcm9kcy5weQotLS0gYS9saWIvZ2FsYXh5L29iamVjdHN0b3JlL3JvZHMucHkKKysrIGIvbGli
L2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5CkBAIC0xMiw3ICsxMiw4IEBACiBmcm9tIHBvc2l4
cGF0aCBpbXBvcnQgYmFzZW5hbWUgYXMgcGF0aF9iYXNlbmFtZQogZnJvbSBwb3NpeHBhdGggaW1w
b3J0IGRpcm5hbWUgYXMgcGF0aF9kaXJuYW1lCj0yMAotZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBp
bXBvcnQgT2JqZWN0Tm90Rm91bmQKK2Zyb20gZ2FsYXh5LmV4Y2VwdGlvbnMgaW1wb3J0IE9iamVj
dE5vdEZvdW5kLCBPYmplY3RJbnZhbGlkCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCBzYWZlX3Jl
bHBhdGgKIGZyb20gLi5vYmplY3RzdG9yZSBpbXBvcnQgRGlza09iamVjdFN0b3JlLCBPYmplY3RT
dG9yZSwgbG9jYWxfZXh0cmFfZGlycwo9MjAKIHRyeToKQEAgLTcxLDYgKzcyLDIwIEBACiAgICAg
ICAgIGxvZy5pbmZvKCAiaVJPRFMgZGF0YSBmb3IgdGhpcyBpbnN0YW5jZSB3aWxsIGJlIHN0b3Jl
ZCBpbiBjb2xsZWN0aT0Kb246ICVzLCByZXNvdXJjZTogJXMiLCBzZWxmLnJvb3RfY29sbGVjdGlv
bl9wYXRoLCBzZWxmLmRlZmF1bHRfcmVzb3VyY2UgKQo9MjAKICAgICBkZWYgX19nZXRfcm9kc19w
YXRoKCBzZWxmLCBvYmosIGJhc2VfZGlyPTNETm9uZSwgZGlyX29ubHk9M0RGYWxzZSwgZXh0PQpy
YV9kaXI9M0ROb25lLCBleHRyYV9kaXJfYXRfcm9vdD0zREZhbHNlLCBhbHRfbmFtZT0zRE5vbmUs
IHN0cmlwX2RhdD0zRFRydWU9CiwgKiprd2FyZ3MgKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hv
dWxkIG5ldmVyIGJlIGNvbnN0cnVjdGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAg
ICAgICAjIG1ha2Ugc3VyZSB0aGVyZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAg
IGlmIGV4dHJhX2RpciBhbmQgZXh0cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9k
aXIpOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXpl
ZDogJXMnLCBleHRyYV9kaXIpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUg
cmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkg
cGFyZW50IGRpcmVjdG9yeSByZWZlcmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAg
ICAjIHJlc3VsdCBpbiBhIHBhdGggbm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGgg
Y29uc3RydWN0ZWQ9CiBoZXJlCisgICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYg
bm90IHNhZmVfcmVscGF0aChhbHRfbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmco
J2FsdF9uYW1lIHdvdWxkIGxvY2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUp
CisgICAgICAgICAgICAgICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmpl
Y3QgaXMgaW52YWxpZCIpCisgICAgICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVu
dCBkaXJlY3RvcnkgcmVmZXJlbmNlcywgYnV0IGlST0RTID0Kd2lsbAorICAgICAgICAgICAgIyBu
b3QgZm9sbG93IHRoZW0sIHNvIGlmIHRoZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91
dAorICAgICAgICAgICAgYWx0X25hbWUgPTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAg
ICAgICAgIHBhdGggPTNEICIiCiAgICAgICAgIGlmIGV4dHJhX2RpciBpcyBub3QgTm9uZToKICAg
ICAgICAgICAgIHBhdGggPTNEIGV4dHJhX2RpcgoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBm
MTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2Nh
ZTQ4MTk0MGE0OSBsaWIvZ2FsYXh5L29iamVjdHN0b3JlL3MzLnB5Ci0tLSBhL2xpYi9nYWxheHkv
b2JqZWN0c3RvcmUvczMucHkKKysrIGIvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5weQpAQCAt
MTIsOCArMTIsOCBAQAo9MjAKIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCj0yMAotZnJv
bSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQKLWZyb20gZ2FsYXh5LnV0
aWwgaW1wb3J0IHVtYXNrX2ZpeF9wZXJtcworZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQg
T2JqZWN0Tm90Rm91bmQsIE9iamVjdEludmFsaWQKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHVt
YXNrX2ZpeF9wZXJtcywgc2FmZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS51dGlsLmRpcmVjdG9yeV9o
YXNoIGltcG9ydCBkaXJlY3RvcnlfaGFzaF9pZAogZnJvbSBnYWxheHkudXRpbC5zbGVlcGVyIGlt
cG9ydCBTbGVlcGVyCiBmcm9tIC5zM19tdWx0aXBhcnRfdXBsb2FkIGltcG9ydCBtdWx0aXBhcnRf
dXBsb2FkCkBAIC0xODksNiArMTg5LDIwIEBACiAgICAgICAgICAgICAgICAgdW1hc2tfZml4X3Bl
cm1zKCBwYXRoLCBzZWxmLmNvbmZpZy51bWFzaywgMDY2Niwgc2VsZi5jb25maT0KZy5naWQgKQo9
MjAKICAgICBkZWYgX2NvbnN0cnVjdF9wYXRoKHNlbGYsIG9iaiwgZGlyX29ubHk9M0ROb25lLCBl
eHRyYV9kaXI9M0ROb25lLCBleHRyPQphX2Rpcl9hdF9yb290PTNERmFsc2UsIGFsdF9uYW1lPTNE
Tm9uZSwgKiprd2FyZ3MpOgorICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUgY29u
c3RydWN0ZWQgZnJvbSBwcm92aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBzdXJl
IHRoZXJlIGFyZSBubyBzaGVuYW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGlyIGFu
ZCBleHRyYV9kaXIgIT0zRCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAgICAg
ICBsb2cud2FybmluZygnZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJhX2Rp
cikKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0
IGlzIGludmFsaWQiKQorICAgICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0b3J5
IHJlZmVyZW5jZXMgaW4gYWx0X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGluIGEg
cGF0aCBub3QgY29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0KIGhl
cmUKKyAgICAgICAgaWYgYWx0X25hbWU6CisgICAgICAgICAgICBpZiBub3Qgc2FmZV9yZWxwYXRo
KGFsdF9uYW1lKToKKyAgICAgICAgICAgICAgICBsb2cud2FybmluZygnYWx0X25hbWUgd291bGQg
bG9jYXRlIHBhdGggb3V0c2lkZSBkaXI6ICVzJywgPQphbHRfbmFtZSkKKyAgICAgICAgICAgICAg
ICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikK
KyAgICAgICAgICAgICMgYWx0X25hbWUgY2FuIGNvbnRhaW4gcGFyZW50IGRpcmVjdG9yeSByZWZl
cmVuY2VzLCBidXQgUzMgd2lsPQpsIG5vdAorICAgICAgICAgICAgIyBmb2xsb3cgdGhlbSwgc28g
aWYgdGhleSBhcmUgdmFsaWQgd2Ugbm9ybWFsaXplIHRoZW0gb3V0CisgICAgICAgICAgICBhbHRf
bmFtZSA9M0Qgb3MucGF0aC5ub3JtcGF0aChhbHRfbmFtZSkKICAgICAgICAgcmVsX3BhdGggPTNE
IG9zLnBhdGguam9pbigqZGlyZWN0b3J5X2hhc2hfaWQob2JqLmlkKSkKICAgICAgICAgaWYgZXh0
cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgaWYgZXh0cmFfZGlyX2F0X3Jvb3Q6Cgpk
aWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYw
ZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi9nYWxheHkvdG9vbHMvaW1w
X2V4cC9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAvX19pbml0X18u
cHkKKysrIGIvbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19faW5pdF9fLnB5CkBAIC01LDYgKzUs
NyBAQAogaW1wb3J0IGpzb24KIGltcG9ydCBkYXRldGltZQogZnJvbSBnYWxheHkgaW1wb3J0IG1v
ZGVsCitmcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBNYWxmb3JtZWRDb250ZW50cwogZnJv
bSBnYWxheHkudG9vbHMucGFyYW1ldGVycy5iYXNpYyBpbXBvcnQgVW52YWxpZGF0ZWRWYWx1ZQog
ZnJvbSBnYWxheHkud2ViLmZyYW1ld29yay5oZWxwZXJzIGltcG9ydCB0b191bmljb2RlCiBmcm9t
IGdhbGF4eS5tb2RlbC5pdGVtX2F0dHJzIGltcG9ydCBVc2VzQW5ub3RhdGlvbnMKQEAgLTE4Nyw5
ICsxODgsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiBkYXRhc2V0X2F0dHJzLmdldCgnZXhw
b3J0ZWQnLCBUcnVlKSA9M0Q9M0QgVHJ1ZToKICAgICAgICAgICAgICAgICAgICAgICAgICMgRG8g
c2VjdXJpdHkgY2hlY2sgYW5kIG1vdmUvY29weSBkYXRhc2V0IGRhdGEuCiAgICAgICAgICAgICAg
ICAgICAgICAgICB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lID0zRCBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3MucGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaW4oIGFyY2hpdmVfZGlyLCBk
YT0KdGFzZXRfYXR0cnNbJ2ZpbGVfbmFtZSddICkgKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG9zLnBhdGgucmVhbHBhdGgoIG9zLnBhdGguYWJzcGF0aCggb3MucGF0aC5qb2k9Cm4oIGFy
Y2hpdmVfZGlyLCBkYXRhc2V0X2F0dHJzWydmaWxlX25hbWUnXSApICkgKQogICAgICAgICAgICAg
ICAgICAgICAgICAgaWYgbm90IGZpbGVfaW5fZGlyKCB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lLCBv
cy5wYXQ9Cmguam9pbiggYXJjaGl2ZV9kaXIsICJkYXRhc2V0cyIgKSApOgotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbiggIkludmFsaWQgZGF0YXNldCBwYXRoOiAl
cyIgJSA9CnRlbXBfZGF0YXNldF9maWxlX25hbWUgKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJhaXNlIE1hbGZvcm1lZENvbnRlbnRzKCAiSW52YWxpZCBkYXRhc2V0IHBhdGg9CjogJXMi
ICUgdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSApCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBk
YXRhc2V0c191c2FnZV9jb3VudHNbIHRlbXBfZGF0YXNldF9maWxlX25hbWUgXT0KID0zRD0zRCAx
OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNodXRpbC5tb3ZlKCB0ZW1wX2RhdGFzZXRf
ZmlsZV9uYW1lLCBoZGEuZmlsZV89Cm5hbWUgKQogICAgICAgICAgICAgICAgICAgICAgICAgZWxz
ZToKQEAgLTMxMyw2ICszMTQsNyBAQAogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToK
ICAgICAgICAgICAgICAgICBqaWhhLmpvYi5zdGRlcnIgKz0zRCAiRXJyb3IgY2xlYW5pbmcgdXAg
aGlzdG9yeSBpbXBvcnQgam9iPQo6ICVzIiAlIGUKICAgICAgICAgICAgICAgICBzZWxmLnNhX3Nl
c3Npb24uZmx1c2goKQorICAgICAgICAgICAgICAgIHJhaXNlCj0yMAo9MjAKIGNsYXNzIEpvYkV4
cG9ydEhpc3RvcnlBcmNoaXZlV3JhcHBlciggb2JqZWN0LCBVc2VzSGlzdG9yeU1peGluLCBVc2Vz
QW5ub3RhPQp0aW9ucyApOgoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBmMTk2MzE1MWM0YWMw
Y2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0OSBs
aWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAvdW5wYWNrX3Rhcl9nel9hcmNoaXZlLnB5Ci0tLSBhL2xp
Yi9nYWxheHkvdG9vbHMvaW1wX2V4cC91bnBhY2tfdGFyX2d6X2FyY2hpdmUucHkKKysrIGIvbGli
L2dhbGF4eS90b29scy9pbXBfZXhwL3VucGFja190YXJfZ3pfYXJjaGl2ZS5weQpAQCAtNiw2ICs2
LDcgQEAKICAgICAtLVt1cmx8ZmlsZV0gc291cmNlIHR5cGUsIGVpdGhlciBhIFVSTCBvciBhIGZp
bGUuCiAiIiIKPTIwCitpbXBvcnQgb3MKIGltcG9ydCBzeXMKIGltcG9ydCBvcHRwYXJzZQogaW1w
b3J0IHRhcmZpbGUKQEAgLTQzLDYgKzQ0LDIyIEBACiAgICAgICAgIHJldHVybiBOb25lCj0yMAo9
MjAKK2RlZiBjaGVja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICk6CisgICAgIiIi
CisgICAgRW5zdXJlIHRoYXQgYSB0YXIgYXJjaGl2ZSBoYXMgbm8gYWJzb2x1dGUgcGF0aHMgb3Ig
cmVsYXRpdmUgcGF0aHMgb3V0cz0KaWRlCisgICAgdGhlIGFyY2hpdmUuCisgICAgIiIiCisgICAg
d2l0aCB0YXJmaWxlLm9wZW4oIGFyY2hpdmVfZmlsZSwgbW9kZT0zRCdyOmd6JyApIGFzIGFyY2hp
dmVfZnA6CisgICAgICAgIGZvciBhcmNfcGF0aCBpbiBhcmNoaXZlX2ZwLmdldG5hbWVzKCk6Cisg
ICAgICAgICAgICBhc3NlcnQgb3MucGF0aC5ub3JtcGF0aCgKKyAgICAgICAgICAgICAgICBvcy5w
YXRoLmpvaW4oCisgICAgICAgICAgICAgICAgICAgIGRlc3RfZGlyLAorICAgICAgICAgICAgICAg
ICAgICBhcmNfcGF0aAorICAgICAgICAgICAgICAgICkgKS5zdGFydHN3aXRoKCBkZXN0X2Rpci5y
c3RyaXAob3Muc2VwKSArIG9zLnNlcCApLCBcCisgICAgICAgICAgICAgICAgIkFyY2hpdmUgbWVt
YmVyIHdvdWxkIGV4dHJhY3Qgb3V0c2lkZSB0YXJnZXQgZGlyZWN0b3J5OiAlcz0KIiAlIGFyY19w
YXRoCisgICAgcmV0dXJuIFRydWUKKworCiBkZWYgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmls
ZSwgZGVzdF9kaXIgKToKICAgICAiIiIKICAgICBVbnBhY2sgYSB0YXIgYW5kL29yIGd6aXBwZWQg
YXJjaGl2ZSBpbnRvIGEgZGVzdGluYXRpb24gZGlyZWN0b3J5LgpAQCAtNTEsMTMgKzY4LDggQEAK
ICAgICBhcmNoaXZlX2ZwLmV4dHJhY3RhbGwoIHBhdGg9M0RkZXN0X2RpciApCiAgICAgYXJjaGl2
ZV9mcC5jbG9zZSgpCj0yMAotaWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6Ci0gICAgIyBQ
YXJzZSBjb21tYW5kIGxpbmUuCi0gICAgcGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25QYXJzZXIo
KQotICAgIHBhcnNlci5hZGRfb3B0aW9uKCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lzX3VybCcs
IGFjdGlvbj0zRCJzdG9yZV90cnU9CmUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAg
ICBwYXJzZXIuYWRkX29wdGlvbiggJy1GJywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmlsZScsIGFj
dGlvbj0zRCJzdG9yZV90PQpydWUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAgICBw
YXJzZXIuYWRkX29wdGlvbiggJy1lJywgJy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0ZW5jb2Rl
ZCcsIGFjdGlvbj0KPTNEInN0b3JlX3RydWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9M0QnU291
cmNlIGFuZCBkZXN0aW5hdGlvbiBkaXIgdmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVkLicgKQot
ICAgIChvcHRpb25zLCBhcmdzKSA9M0QgcGFyc2VyLnBhcnNlX2FyZ3MoKQorCitkZWYgbWFpbihv
cHRpb25zLCBhcmdzKToKICAgICBpc191cmwgPTNEIGJvb2woIG9wdGlvbnMuaXNfdXJsICkKICAg
ICBpc19maWxlID0zRCBib29sKCBvcHRpb25zLmlzX2ZpbGUgKQogICAgIGFyY2hpdmVfc291cmNl
LCBkZXN0X2RpciA9M0QgYXJncwpAQCAtNjYsMTQgKzc4LDI1IEBACiAgICAgICAgIGFyY2hpdmVf
c291cmNlID0zRCBiNjRkZWNvZGUoIGFyY2hpdmVfc291cmNlICkKICAgICAgICAgZGVzdF9kaXIg
PTNEIGI2NGRlY29kZSggZGVzdF9kaXIgKQo9MjAKKyAgICAjIEdldCBhcmNoaXZlIGZyb20gVVJM
LgorICAgIGlmIGlzX3VybDoKKyAgICAgICAgYXJjaGl2ZV9maWxlID0zRCB1cmxfdG9fZmlsZSgg
YXJjaGl2ZV9zb3VyY2UsIHRlbXBmaWxlLk5hbWVkVGVtcG9yPQphcnlGaWxlKCBkaXI9M0RkZXN0
X2RpciApLm5hbWUgKQorICAgIGVsaWYgaXNfZmlsZToKKyAgICAgICAgYXJjaGl2ZV9maWxlID0z
RCBhcmNoaXZlX3NvdXJjZQorCisgICAgIyBVbnBhY2sgYXJjaGl2ZS4KKyAgICBjaGVja19hcmNo
aXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICkKKyAgICB1bnBhY2tfYXJjaGl2ZSggYXJjaGl2
ZV9maWxlLCBkZXN0X2RpciApCisKKworaWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6Cisg
ICAgIyBQYXJzZSBjb21tYW5kIGxpbmUuCisgICAgcGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25Q
YXJzZXIoKQorICAgIHBhcnNlci5hZGRfb3B0aW9uKCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lz
X3VybCcsIGFjdGlvbj0zRCJzdG9yZV90cnU9CmUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4n
ICkKKyAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1GJywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmls
ZScsIGFjdGlvbj0zRCJzdG9yZV90PQpydWUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkK
KyAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1lJywgJy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0
ZW5jb2RlZCcsIGFjdGlvbj0KPTNEInN0b3JlX3RydWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9
M0QnU291cmNlIGFuZCBkZXN0aW5hdGlvbiBkaXIgdmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVk
LicgKQorICAgIChvcHRpb25zLCBhcmdzKSA9M0QgcGFyc2VyLnBhcnNlX2FyZ3MoKQogICAgIHRy
eToKLSAgICAgICAgIyBHZXQgYXJjaGl2ZSBmcm9tIFVSTC4KLSAgICAgICAgaWYgaXNfdXJsOgot
ICAgICAgICAgICAgYXJjaGl2ZV9maWxlID0zRCB1cmxfdG9fZmlsZSggYXJjaGl2ZV9zb3VyY2Us
IHRlbXBmaWxlLk5hbWVkVGU9Cm1wb3JhcnlGaWxlKCBkaXI9M0RkZXN0X2RpciApLm5hbWUgKQot
ICAgICAgICBlbGlmIGlzX2ZpbGU6Ci0gICAgICAgICAgICBhcmNoaXZlX2ZpbGUgPTNEIGFyY2hp
dmVfc291cmNlCi0KLSAgICAgICAgIyBVbnBhY2sgYXJjaGl2ZS4KLSAgICAgICAgdW5wYWNrX2Fy
Y2hpdmUoIGFyY2hpdmVfZmlsZSwgZGVzdF9kaXIgKQorICAgICAgICBtYWluKG9wdGlvbnMsIGFy
Z3MpCiAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKICAgICAgICAgcHJpbnQgIkVycm9yIHVucGFj
a2luZyB0YXIvZ3ogYXJjaGl2ZTogJXMiICUgZSwgc3lzLnN0ZGVycgoKZGlmZiAtciBjMWNjNzZm
YTNkNjZlZmIwNzBmMTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1
M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0OSBsaWIvZ2FsYXh5L3V0aWwvX19pbml0X18ucHkKLS0tIGEv
bGliL2dhbGF4eS91dGlsL19faW5pdF9fLnB5CisrKyBiL2xpYi9nYWxheHkvdXRpbC9fX2luaXRf
Xy5weQpAQCAtMjcsNyArMjcsNyBAQAo9MjAKIGZyb20gZW1haWwuTUlNRVRleHQgaW1wb3J0IE1J
TUVUZXh0Cj0yMAotZnJvbSBvcy5wYXRoIGltcG9ydCByZWxwYXRoCitmcm9tIG9zLnBhdGggaW1w
b3J0IHJlbHBhdGgsIG5vcm1wYXRoCiBmcm9tIGhhc2hsaWIgaW1wb3J0IG1kNQogZnJvbSBpdGVy
dG9vbHMgaW1wb3J0IGl6aXAKPTIwCkBAIC0xMTQzLDYgKzExNDMsMjMgQEAKIGRlZiBnYWxheHlf
ZGlyZWN0b3J5KCk6CiAgICAgcmV0dXJuIG9zLnBhdGguYWJzcGF0aChnYWxheHlfcm9vdF9wYXRo
KQo9MjAKKworZGVmIHNhZmVfcmVscGF0aChwYXRoKToKKyAgICAiIiIKKyAgICBHaXZlbiB3aGF0
IHdlIGV4cGVjdCB0byBiZSBhIHJlbGF0aXZlIHBhdGgsIGRldGVybWluZSB3aGV0aGVyIHRoZSBw
YXRoCisgICAgd291bGQgZXhpc3QgaW5zaWRlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KKworICAg
IDp0eXBlICAgcGF0aDogICBzdHJpbmcKKyAgICA6cGFyYW0gIHBhdGg6ICAgYSBwYXRoIHRvIGNo
ZWNrCisgICAgOnJ0eXBlOiAgICAgICAgIGJvb2wKKyAgICA6cmV0dXJuczogICAgICAgYGBUcnVl
YGAgaWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZG9lcyBub3QgcmVmZXJlbmNlIGEgPQpwYXRoCisg
ICAgICAgIGluIGEgcGFyZW50IGRpcmVjdG9yeSwgYGBGYWxzZWBgIG90aGVyd2lzZS4KKyAgICAi
IiIKKyAgICBpZiBwYXRoLnN0YXJ0c3dpdGgob3Muc2VwKSBvciBub3JtcGF0aChwYXRoKS5zdGFy
dHN3aXRoKG9zLnBhcmRpcik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBUcnVl
CisKKwogaWYgX19uYW1lX18gPTNEPTNEICdfX21haW5fXyc6CiAgICAgaW1wb3J0IGRvY3Rlc3QK
ICAgICBkb2N0ZXN0LnRlc3Rtb2Qoc3lzLm1vZHVsZXNbX19uYW1lX19dLCB2ZXJib3NlPTNERmFs
c2UpCgpkaWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIg
N2NhOGYwZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi9nYWxheHkvd2Vi
YXBwcy9nYWxheHkvYXBpL3Rvb2xzLnB5Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkv
YXBpL3Rvb2xzLnB5CisrKyBiL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvYXBpL3Rvb2xzLnB5
CkBAIC03NywxNCArNzcsMTQgQEAKICAgID0yMAogICAgIEBfZnV0dXJlX2V4cG9zZV9hcGkKICAg
ICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgcmVsb2FkKCBzZWxmLCB0cmFucywgdG9vbF9p
ZCwgKiprd2QgKToKKyAgICBkZWYgcmVsb2FkKCBzZWxmLCB0cmFucywgaWQsICoqa3dkICk6CiAg
ICAgICAgICIiIgogICAgICAgICBHRVQgL2FwaS90b29scy97dG9vbF9pZH0vcmVsb2FkCiAgICAg
ICAgIFJlbG9hZCBzcGVjaWZpZWQgdG9vbC4KICAgICAgICAgIiIiCiAgICAgICAgIHRvb2xib3gg
PTNEIHRyYW5zLmFwcC50b29sYm94Ci0gICAgICAgIGdhbGF4eS5xdWV1ZV93b3JrZXIuc2VuZF9j
b250cm9sX3Rhc2soIHRyYW5zLCAncmVsb2FkX3Rvb2wnLCBub29wXz0Kc2VsZj0zRFRydWUsIGt3
YXJncz0zRHsgJ3Rvb2xfaWQnOiB0b29sX2lkIH0gKQotICAgICAgICBtZXNzYWdlLCBzdGF0dXMg
PTNEIHRyYW5zLmFwcC50b29sYm94LnJlbG9hZF90b29sX2J5X2lkKCB0b29sX2lkICkKKyAgICAg
ICAgZ2FsYXh5LnF1ZXVlX3dvcmtlci5zZW5kX2NvbnRyb2xfdGFzayggdHJhbnMsICdyZWxvYWRf
dG9vbCcsIG5vb3BfPQpzZWxmPTNEVHJ1ZSwga3dhcmdzPTNEeyAndG9vbF9pZCc6IGlkIH0gKQor
ICAgICAgICBtZXNzYWdlLCBzdGF0dXMgPTNEIHRyYW5zLmFwcC50b29sYm94LnJlbG9hZF90b29s
X2J5X2lkKCBpZCApCiAgICAgICAgIHJldHVybiB7IHN0YXR1czogbWVzc2FnZSB9Cj0yMAogICAg
IEBfZnV0dXJlX2V4cG9zZV9hcGlfYW5vbnltb3VzCgpkaWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3
MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYwZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDlj
Y2FlNDgxOTQwYTQ5IGxpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvYWRtaW5f
dG9vbHNoZWQucHkKLS0tIGEvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9h
ZG1pbl90b29sc2hlZC5weQorKysgYi9saWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xs
ZXJzL2FkbWluX3Rvb2xzaGVkLnB5CkBAIC0zODMsMTEgKzM4MywxMSBAQAo9MjAKICAgICBAd2Vi
Lmpzb24KICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMo
IHNlbGYsIHRyYW5zLCBmaWxlX3BhdGggKToKKyAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNl
bGYsIHRyYW5zLCBmaWxlX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAgICAgIyBBdm9pZCBj
YWNoaW5nCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8t
Y2FjaGUnCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAn
Ci0gICAgICAgIHJldHVybiBzdWMuZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggZmlsZV9w
YXRoICkKKyAgICAgICAgcmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCB0
cmFucy5hcHAsIGZpbGVfcGF0aCwgcmVwPQpvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBv
c2UKICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KQEAgLTk2MCwxMSArOTYwLDExIEBACj0yMAogICAg
IEB3ZWIuanNvbgogICAgIEB3ZWIucmVxdWlyZV9hZG1pbgotICAgIGRlZiBvcGVuX2ZvbGRlcigg
c2VsZiwgdHJhbnMsIGZvbGRlcl9wYXRoICk6CisgICAgZGVmIG9wZW5fZm9sZGVyKCBzZWxmLCB0
cmFucywgZm9sZGVyX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAgICAgIyBBdm9pZCBjYWNo
aW5nCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2Fj
aGUnCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0g
ICAgICAgIHJldHVybiBzdWMub3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlciggZm9sZGVyX3Bh
dGggKQorICAgICAgICByZXR1cm4gc3VjLm9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIHRy
YW5zLmFwcCwgZm9sZGVyX3BhdGgsIHI9CmVwb3NpdG9yeV9pZCApCj0yMAogICAgIEB3ZWIuZXhw
b3NlCiAgICAgQHdlYi5yZXF1aXJlX2FkbWluCgpkaWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYx
OTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYwZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2Fl
NDgxOTQwYTQ5IGxpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvcmVxdWVzdHNf
YWRtaW4ucHkKLS0tIGEvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9yZXF1
ZXN0c19hZG1pbi5weQorKysgYi9saWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xsZXJz
L3JlcXVlc3RzX2FkbWluLnB5CkBAIC02LDEwICs2LDcgQEAKIGZyb20gZ2FsYXh5IGltcG9ydCBt
b2RlbCwgdXRpbAogZnJvbSBnYWxheHkud2ViLmZvcm1fYnVpbGRlciBpbXBvcnQgKgogZnJvbSAu
cmVxdWVzdHNfY29tbW9uIGltcG9ydCBSZXF1ZXN0c0dyaWQsIGludmFsaWRfaWRfcmVkaXJlY3QK
LWZyb20gZ2FsYXh5IGltcG9ydCBlZ2dzCi1lZ2dzLnJlcXVpcmUoImFtcXAiKQotaW1wb3J0IGFt
cXAKLWltcG9ydCBsb2dnaW5nLCBvcywgcGV4cGVjdCwgQ29uZmlnUGFyc2VyCitpbXBvcnQgbG9n
Z2luZywgb3MsIENvbmZpZ1BhcnNlcgo9MjAKIGxvZyA9M0QgbG9nZ2luZy5nZXRMb2dnZXIoIF9f
bmFtZV9fICkKPTIwCkBAIC0zNTEsMTgyICszNDgsNiBAQAogICAgICAgICByZXR1cm4gdHJhbnMu
cmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1
ZXN0c19hZG1pbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uPTNEJ21hbmFnZT0KX2RhdGFzZXRzJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9
M0RzYW1wPQpsZV9pZCApICkKLSAgICBAd2ViLmV4cG9zZQotICAgIEB3ZWIucmVxdWlyZV9hZG1p
bgotICAgIGRlZiBzZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXIoIHNlbGYsIHRyYW5zLCAqKmt3
ZCApOgotICAgICAgICBwYXJhbXMgPTNEIHV0aWwuUGFyYW1zKCBrd2QgKQotICAgICAgICBtZXNz
YWdlID0zRCB1dGlsLnJlc3RvcmVfdGV4dCggcGFyYW1zLmdldCggJ21lc3NhZ2UnLCAnJyApICkK
LSAgICAgICAgc3RhdHVzID0zRCBwYXJhbXMuZ2V0KCAnc3RhdHVzJywgJ2RvbmUnICkKLSAgICAg
ICAgcmVxdWVzdF9pZCA9M0Qga3dkLmdldCggJ3JlcXVlc3RfaWQnLCBOb25lICkKLSAgICAgICAg
ZXh0ZXJuYWxfc2VydmljZV9pZCA9M0Qga3dkLmdldCggJ2V4dGVybmFsX3NlcnZpY2VfaWQnLCBO
b25lICkKLSAgICAgICAgZmlsZXMgPTNEIFtdCi0gICAgICAgIHJlcXVlc3QgPTNEIHRyYW5zLnNh
X3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3QgKS5nZXQoIHRyYT0KbnMuc2VjdXJp
dHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0z
RCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5FeHRlcm5hbFM9CmVydmljZSAp
LmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlX2lkICkgKQot
ICAgICAgICAjIExvYWQgdGhlIGRhdGEgdHJhbnNmZXIgc2V0dGluZ3MKLSAgICAgICAgZXh0ZXJu
YWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zICkKLSAgICAgICAg
c2NwX2NvbmZpZ3MgPTNEIGV4dGVybmFsX3NlcnZpY2UuZGF0YV90cmFuc2ZlclsgdHJhbnMubW9k
ZWwuRXh0ZXJuPQphbFNlcnZpY2UuZGF0YV90cmFuc2Zlcl9wcm90b2NvbC5TQ1AgXQotICAgICAg
ICBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlciA9M0QgdXRpbC5yZXN0b3JlX3RleHQoIHBh
cmFtcy5nZXQoICc9CnNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyJywgJycgKSApCi0gICAg
ICAgIGlmIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyOgotICAgICAgICAgICAgc2VsZWN0
ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXIgPTNEIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmU9
CnIuc3BsaXQoJywnKQotICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZWN0ZWRfZGF0YXNl
dHNfdG9fdHJhbnNmZXIgPTNEIFtdCi0gICAgICAgIHNhbXBsZV9pZCA9M0Qga3dkLmdldCggJ3Nh
bXBsZV9pZCcsICdub25lJyApCi0gICAgICAgIHNhbXBsZV9pZF9zZWxlY3RfZmllbGQgPTNEIHNl
bGYuX19idWlsZF9zYW1wbGVfaWRfc2VsZWN0X2ZpZWxkKCB0cj0KYW5zLCByZXF1ZXN0LCBzYW1w
bGVfaWQgKQotICAgICAgICBpZiBzYW1wbGVfaWQgIT0zRCAnbm9uZSc6Ci0gICAgICAgICAgICBz
YW1wbGUgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlNhbXBsZSApLmdl
dCggdD0KcmFucy5zZWN1cml0eS5kZWNvZGVfaWQoIHNhbXBsZV9pZCApICkKLSAgICAgICAgZWxz
ZToKLSAgICAgICAgICAgIHNhbXBsZSA9M0QgTm9uZQotICAgICAgICAjIFRoZSBfX2dldF9maWxl
cygpIG1ldGhvZCByZWRpcmVjdHMgaGVyZSB3aXRoIGEgc3RhdHVzIG9mICdlcnJvcic9CiBhbmQg
YSBtZXNzYWdlIGlmIHRoZXJlCi0gICAgICAgICMgd2FzIGEgcHJvYmxlbSByZXRyaWV2aW5nIHRo
ZSBmaWxlcy4KLSAgICAgICAgaWYgcGFyYW1zLmdldCggJ3NlbGVjdF9kYXRhc2V0c190b190cmFu
c2Zlcl9idXR0b24nLCBGYWxzZSApOgotICAgICAgICAgICAgIyBHZXQgdGhlIHNhbXBsZSB0aGF0
IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHVjZSB0aGVzZSBkYXRhc2V0cy4KLSAgICAgICAgICAgIGlm
IHNhbXBsZV9pZCA9M0Q9M0QgJ25vbmUnOgotICAgICAgICAgICAgICAgIGRlbCBrd2RbICdzZWxl
Y3RfZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0dG9uJyBdCi0gICAgICAgICAgICAgICAgbWVzc2Fn
ZSA9M0QgJ1NlbGVjdCB0aGUgc2FtcGxlIHRoYXQgd2FzIHNlcXVlbmNlZCB0byBwcm9kdT0KY2Ug
dGhlIGRhdGFzZXRzIHlvdSB3YW50IHRvIHRyYW5zZmVyLicKLSAgICAgICAgICAgICAgICBrd2Rb
ICdtZXNzYWdlJyBdID0zRCBtZXNzYWdlCi0gICAgICAgICAgICAgICAga3dkWyAnc3RhdHVzJyBd
ID0zRCAnZXJyb3InCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRf
cmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNfYWRtaW4nLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWN0aW9uPQo9M0Qnc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyJywKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICoqa3dkICkgKQotICAgICAgICAgICAgaWYgbm90IHNhbXBsZS5saWJyYXJ5OgotICAgICAg
ICAgICAgICAgICMgRGlzcGxheSBhbiBlcnJvciBpZiBhIHNhbXBsZSBoYXMgYmVlbiBzZWxlY3Rl
ZCB0aGF0Ci0gICAgICAgICAgICAgICAgIyBoYXMgbm90IHlldCBiZWVuIGFzc29jaWF0ZWQgd2l0
aCBhIGRlc3RpbmF0aW9uIGxpYnJhcnkuCi0gICAgICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ1Nl
bGVjdCBhIHRhcmdldCBkYXRhIGxpYnJhcnkgYW5kIGZvbGRlciBmb3IgdD0KaGUgc2FtcGxlIGJl
Zm9yZSBzZWxlY3RpbmcgdGhlIGRhdGFzZXRzLicKLSAgICAgICAgICAgICAgICBzdGF0dXMgPTNE
ICdlcnJvcicKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRp
cmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsPQplcj0zRCdyZXF1ZXN0c19jb21tb24nLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPQo9M0QnZWRpdF9zYW1wbGVzJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNudHJsbGVyPQo9M0Qn
cmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9M0R0cmE9Cm5zLnNlY3VyaXR5LmVuY29kZV9p
ZCggcmVxdWVzdC5pZCApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPQo9M0RzdGF0dXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBt
ZXNzYWdlPQo9M0RtZXNzYWdlICkgKQotICAgICAgICAgICAgIyBTYXZlIHRoZSBzYW1wbGUgZGF0
YXNldHMKLSAgICAgICAgICAgIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMgPTNEIHNlbGYuX19j
cmVhdGVfc2FtcGxlX2RhdGFzZXRzKCB0PQpyYW5zLCBzYW1wbGUsIHNlbGVjdGVkX2RhdGFzZXRz
X3RvX3RyYW5zZmVyLCBleHRlcm5hbF9zZXJ2aWNlICkKLSAgICAgICAgICAgIGlmIHNhbXBsZV9k
YXRhc2V0X2ZpbGVfbmFtZXM6Ci0gICAgICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ0RhdGFzZXRz
ICglcykgaGF2ZSBiZWVuIHNlbGVjdGVkIGZvciBzYW1wbGUgKD0KJXMpJyAlIFwKLSAgICAgICAg
ICAgICAgICAgICAgKCBzdHIoIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMgKVsxOi0xXS5yZXBs
YWNlKCAiJyIsPQogIiIgKSwgc2FtcGxlLm5hbWUgKQotICAgICAgICAgICAgcmV0dXJuIHRyYW5z
LnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbGVyPQo9M0QncmVx
dWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249M0QnbWE9Cm5hZ2VfZGF0YXNldHMnLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXF1ZXN0X2lkPQo9M0RyZXF1ZXN0X2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9M0Q9CnNhbXBsZV9pZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgbWVzc2FnZT0zRG1lPQpzc2FnZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTNEc3RhPQp0dXMgKSApCi0g
ICAgICAgIHJldHVybiB0cmFucy5maWxsX3RlbXBsYXRlKCAnL2FkbWluL3JlcXVlc3RzL3NlbGVj
dF9kYXRhc2V0c190b190cj0KYW5zZmVyLm1ha28nLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY250cmxsZXI9M0QncmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdD0zRHJlcXVlc3QsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlPTNEZXh0ZXJuYWxfc2VydmljZSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcF9jb25maWdzPTNEc2NwX2Nv
bmZpZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGU9M0RzYW1w
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWRfc2VsZWN0
X2ZpZWxkPTNEc2FtcGxlX2lkX3NlbD0KZWN0X2ZpZWxkLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdHVzPTNEc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgbWVzc2FnZT0zRG1lc3NhZ2UgKQotICAgIEB3ZWIuanNvbgotICAgIGRlZiBn
ZXRfZmlsZV9kZXRhaWxzKCBzZWxmLCB0cmFucywgcmVxdWVzdF9pZCwgZXh0ZXJuYWxfc2Vydmlj
ZV9pZCwgZm89CmxkZXJfcGF0aCApOgotICAgICAgICBkZWYgcHJpbnRfdGlja3MoIGQgKToKLSAg
ICAgICAgICAgICMgcGV4cGVjdCB0aW1lb3V0IG1ldGhvZAotICAgICAgICAgICAgcGFzcwotICAg
ICAgICAjIEF2b2lkIGNhY2hpbmcKLSAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJh
Z21hJ10gPTNEICduby1jYWNoZScKLSAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhw
aXJlcyddID0zRCAnMCcKLSAgICAgICAgcmVxdWVzdCA9M0QgdHJhbnMuc2Ffc2Vzc2lvbi5xdWVy
eSggdHJhbnMubW9kZWwuUmVxdWVzdCApLmdldCggdHJhPQpucy5zZWN1cml0eS5kZWNvZGVfaWQo
IHJlcXVlc3RfaWQgKSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UgPTNEIHRyYW5zLnNhX3Nl
c3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLkV4dGVybmFsUz0KZXJ2aWNlICkuZ2V0KCB0cmFucy5z
ZWN1cml0eS5kZWNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2VfaWQgKSApCi0gICAgICAgIGV4dGVy
bmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0cmFucyApCi0gICAgICAg
IHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1v
ZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAg
ICAgY21kICA9M0QgJ3NzaCAlc0AlcyAibHMgLW9naHAgXCclc1wnIicgJSAoIHNjcF9jb25maWdz
WyAndXNlcl9uYW1lPQonIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc2NwX2NvbmZpZ3NbICdob3N0JyBdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGRlcl9wYXRoICkKLSAgICAgICAgIyBIYW5k
bGUgdGhlIGF1dGhlbnRpY2F0aW9uIG1lc3NhZ2UgaWYgc3NoIGtleXMgYXJlIG5vdCBzZXQgLSB0
aGUgPQptZXNzYWdlIGlzCi0gICAgICAgICMgc29tZXRoaW5nIGxpa2U6ICJBcmUgeW91IHN1cmUg
eW91IHdhbnQgdG8gY29udGludWUgY29ubmVjdGluZyAoeT0KZXMvbm8pLiIKLSAgICAgICAgb3V0
cHV0ID0zRCBwZXhwZWN0LnJ1biggY21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZXZlbnRzPTNEeyAnXCh5ZXNcL25vXClcLionIDogJ3llc1xyXG4nLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy5zc3dvcmQ6KicgOiBzY3BfY29uZmlnc1sgJ3Bhc3N3
b3I9CmQnIF0gKyAnXHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZXhwZWN0LlRJTUVPVVQgOiBwcmludF90aWNrcyB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGltZW91dD0zRDEwICkKLSAgICAgICAgZm9yIHBhc3N3b3JkX3N0ciBpbiBbICdQ
YXNzd29yZDpcclxuJywgJ3Bhc3N3b3JkOlxyXG4nIF06Ci0gICAgICAgICAgICAjIEVsaW1pbmF0
ZSB0aGUgb3V0cHV0IGNyZWF0ZWQgdXNpbmcgc3NoIGZyb20gdGhlIHRyZWUKLSAgICAgICAgICAg
IGlmIHBhc3N3b3JkX3N0ciBpbiBvdXRwdXQ6Ci0gICAgICAgICAgICAgICAgb3V0cHV0ID0zRCBv
dXRwdXQucmVwbGFjZSggcGFzc3dvcmRfc3RyLCAnJyApCi0gICAgICAgIHJldHVybiB1bmljb2Rl
KCBvdXRwdXQucmVwbGFjZSggJ1xyXG4nLCAnPGJyLz4nICkgKQotICAgIEB3ZWIuanNvbgotICAg
IGRlZiBvcGVuX2ZvbGRlciggc2VsZiwgdHJhbnMsIHJlcXVlc3RfaWQsIGV4dGVybmFsX3NlcnZp
Y2VfaWQsIGtleSApOgotICAgICAgICAjIEF2b2lkIGNhY2hpbmcKLSAgICAgICAgdHJhbnMucmVz
cG9uc2UuaGVhZGVyc1snUHJhZ21hJ10gPTNEICduby1jYWNoZScKLSAgICAgICAgdHJhbnMucmVz
cG9uc2UuaGVhZGVyc1snRXhwaXJlcyddID0zRCAnMCcKLSAgICAgICAgcmVxdWVzdCA9M0QgdHJh
bnMuc2Ffc2Vzc2lvbi5xdWVyeSggdHJhbnMubW9kZWwuUmVxdWVzdCApLmdldCggdHJhPQpucy5z
ZWN1cml0eS5kZWNvZGVfaWQoIHJlcXVlc3RfaWQgKSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZp
Y2UgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLkV4dGVybmFsUz0KZXJ2
aWNlICkuZ2V0KCB0cmFucy5zZWN1cml0eS5kZWNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2VfaWQg
KSApCi0gICAgICAgIGZvbGRlcl9wYXRoID0zRCBrZXkKLSAgICAgICAgZmlsZXNfbGlzdCA9M0Qg
c2VsZi5fX2dldF9maWxlcyggdHJhbnMsIHJlcXVlc3QsIGV4dGVybmFsX3NlcnZpY2UsPQogZm9s
ZGVyX3BhdGggKQotICAgICAgICBmb2xkZXJfY29udGVudHMgPTNEIFtdCi0gICAgICAgIGZvciBm
aWxlbmFtZSBpbiBmaWxlc19saXN0OgotICAgICAgICAgICAgaXNfZm9sZGVyID0zRCBGYWxzZQot
ICAgICAgICAgICAgaWYgZmlsZW5hbWUgYW5kIGZpbGVuYW1lWy0xXSA9M0Q9M0Qgb3Muc2VwOgot
ICAgICAgICAgICAgICAgIGlzX2ZvbGRlciA9M0QgVHJ1ZQotICAgICAgICAgICAgaWYgZmlsZW5h
bWU6Ci0gICAgICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5wYXRoLmpvaW4oIGZvbGRlcl9w
YXRoLCBmaWxlbmFtZSApCi0gICAgICAgICAgICAgICAgbm9kZSA9M0QgeyAidGl0bGUiOiBmaWxl
bmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAiaXNGb2xkZXIiOiBpc19mb2xkZXIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgImlzTGF6eSI6IGlzX2ZvbGRlciwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAidG9vbHRpcCI6IGZ1bGxfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAia2V5IjogZnVsbF9wYXRoIH0KLSAgICAgICAgICAgICAgICBmb2xkZXJfY29udGVudHMu
YXBwZW5kKCBub2RlICkKLSAgICAgICAgcmV0dXJuIGZvbGRlcl9jb250ZW50cwotICAgIGRlZiBf
X2dldF9maWxlcyggc2VsZiwgdHJhbnMsIHJlcXVlc3QsIGV4dGVybmFsX3NlcnZpY2UsIGZvbGRl
cl9wYXRoICk6Ci0gICAgICAgICMgUmV0cmlldmVzIHRoZSBmaWxlbmFtZXMgdG8gYmUgdHJhbnNm
ZXJyZWQgZnJvbSB0aGUgcmVtb3RlIGhvc3QuCi0gICAgICAgIG9rID0zRCBUcnVlCi0gICAgICAg
IGV4dGVybmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0cmFucyApCi0g
ICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRy
YW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0K
LSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzWyAnaG9zdCcgXSBvciBub3Qgc2NwX2NvbmZpZ3Nb
ICd1c2VyX25hbWUnIF0gb3IgPQpub3Qgc2NwX2NvbmZpZ3NbICdwYXNzd29yZCcgXToKLSAgICAg
ICAgICAgIHN0YXR1cyA9M0QgJ2Vycm9yJwotICAgICAgICAgICAgbWVzc2FnZSA9M0QgIkVycm9y
IGluIGV4dGVybmFsIHNlcnZpY2UgbG9naW4gaW5mb3JtYXRpb24uIgotICAgICAgICAgICAgb2sg
PTNEIEZhbHNlCi0gICAgICAgIGRlZiBwcmludF90aWNrcyggZCApOgotICAgICAgICAgICAgcGFz
cwotICAgICAgICBjbWQgID0zRCAnc3NoICVzQCVzICJscyAtcCBcJyVzXCciJyAlICggc2NwX2Nv
bmZpZ3NbICd1c2VyX25hbWUnIF09Ciwgc2NwX2NvbmZpZ3NbICdob3N0JyBdLCBmb2xkZXJfcGF0
aCApCi0gICAgICAgICMgSGFuZGxlIHRoZSBhdXRoZW50aWNhdGlvbiBtZXNzYWdlIGlmIGtleXMg
YXJlIG5vdCBzZXQgLSB0aGUgbWVzcz0KYWdlIGlzCi0gICAgICAgICMgc29tZXRoaW5nIGxpa2U6
ICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWUgY29ubmVjdGluZyAoeT0KZXMvbm8p
LiIKLSAgICAgICAgb3V0cHV0ID0zRCBwZXhwZWN0LnJ1biggY21kLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZXZlbnRzPTNEeyAnXCh5ZXNcL25vXClcLionIDogJ3llc1xyXG4nLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLnNzd29yZDoqJyA6IHNjcF9j
b25maWdzWyAncGFzc3dvcmQ9CicgXSArICdcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHBleHBlY3QuVElNRU9VVCA6IHByaW50X3RpY2tzIH0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTNEMTAgKQotICAgICAgICBpZiAnTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeScgaW4gb3V0cHV0OgotICAgICAgICAgICAgc3RhdHVzID0zRCAn
ZXJyb3InCi0gICAgICAgICAgICBtZXNzYWdlID0zRCAiTm8gZm9sZGVyIG5hbWVkICglcykgZXhp
c3RzIG9uIHRoZSBleHRlcm5hbCBzZXJ2aT0KY2UuIiAlIGZvbGRlcl9wYXRoCi0gICAgICAgICAg
ICBvayA9M0QgRmFsc2UKLSAgICAgICAgaWYgb2s6Ci0gICAgICAgICAgICBpZiAnYXNzd29yZDon
IGluIG91dHB1dDoKLSAgICAgICAgICAgICAgICAjIEVsaW1pbmF0ZSB0aGUgb3V0cHV0IGNyZWF0
ZWQgdXNpbmcgc3NoIGZyb20gdGhlIHRyZWUKLSAgICAgICAgICAgICAgICBvdXRwdXRfYXNfbGlz
dCA9M0Qgb3V0cHV0LnNwbGl0bGluZXMoKVsgMTogXQotICAgICAgICAgICAgZWxzZToKLSAgICAg
ICAgICAgICAgICBvdXRwdXRfYXNfbGlzdCA9M0Qgb3V0cHV0LnNwbGl0bGluZXMoKQotICAgICAg
ICAgICAgcmV0dXJuIG91dHB1dF9hc19saXN0Ci0gICAgICAgIHJldHVybiB0cmFucy5yZXNwb25z
ZS5zZW5kX3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZT0KcXVlc3RzX2Fk
bWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBhY3Rpb249M0Qnc2VsZWN0PQpfZGF0YXNldHNfdG9fdHJhbnNmZXInLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVl
c3RfaWQ9M0R0cmE9Cm5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVxdWVzdC5pZCApLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVy
bmFsX3NlcnZpY2U9Cl9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggZXh0ZXJuYWxfc2Vy
dmljZS5pZCApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXR1cz0zRHN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPTNEbWVzc2FnPQplICkgKQot
ICAgIGRlZiBfX2NyZWF0ZV9zYW1wbGVfZGF0YXNldHMoIHNlbGYsIHRyYW5zLCBzYW1wbGUsIHNl
bGVjdGVkX2RhdGFzZXRzX3Q9Cm9fdHJhbnNmZXIsIGV4dGVybmFsX3NlcnZpY2UgKToKLSAgICAg
ICAgZXh0ZXJuYWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zICkK
LSAgICAgICAgc2NwX2NvbmZpZ3MgPTNEIGV4dGVybmFsX3NlcnZpY2UuZGF0YV90cmFuc2Zlclsg
dHJhbnMubW9kZWwuRXh0ZXJuPQphbFNlcnZpY2UuZGF0YV90cmFuc2Zlcl9wcm90b2NvbC5TQ1Ag
XQotICAgICAgICBzYW1wbGVfZGF0YXNldF9maWxlX25hbWVzID0zRCBbXQotICAgICAgICBpZiBz
ZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlcjoKLSAgICAgICAgICAgIGZvciBmaWxlcGF0aCBp
biBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlcjoKLSAgICAgICAgICAgICAgICAjIEZJWE1F
OiBoYW5kbGUgZm9sZGVyIHNlbGVjdGlvbiAtIGlnbm9yZSBmb2xkZXJzIGZvciBub3cKLSAgICAg
ICAgICAgICAgICBpZiBmaWxlcGF0aFstMV0gIT0zRCBvcy5zZXA6Ci0gICAgICAgICAgICAgICAg
ICAgIG5hbWUgPTNEIHNlbGYuX19yZW5hbWVfZGF0YXNldCggc2FtcGxlLCBmaWxlcGF0aC5zcGxp
dD0KKCAnLycgKVstMV0sIHNjcF9jb25maWdzICkKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVz
ID0zRCB0cmFucy5hcHAubW9kZWwuU2FtcGxlRGF0YXNldC50cmFuc2Zlcl9zdGF0PQp1cy5OT1Rf
U1RBUlRFRAotICAgICAgICAgICAgICAgICAgICBzaXplID0zRCBzYW1wbGUuZ2V0X3VudHJhbnNm
ZXJyZWRfZGF0YXNldF9zaXplKCBmaWxlcGE9CnRoLCBzY3BfY29uZmlncyApCi0gICAgICAgICAg
ICAgICAgICAgIHNhbXBsZV9kYXRhc2V0ID0zRCB0cmFucy5tb2RlbC5TYW1wbGVEYXRhc2V0KCBz
YW1wbGU9Cj0zRHNhbXBsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlX3BhdGg9Cj0zRGZpbGVwYXRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cz0zRHM9CnRhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9M0RuYW09CmUsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jf
bXNnPQo9M0QnJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzaXplPTNEc2l6PQplLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dGVybmFsX3M9CmVy
dmljZT0zRGV4dGVybmFsX3NlcnZpY2UgKQotICAgICAgICAgICAgICAgICAgICB0cmFucy5zYV9z
ZXNzaW9uLmFkZCggc2FtcGxlX2RhdGFzZXQgKQotICAgICAgICAgICAgICAgICAgICB0cmFucy5z
YV9zZXNzaW9uLmZsdXNoKCkKLSAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2RhdGFzZXRfZmls
ZV9uYW1lcy5hcHBlbmQoIHN0ciggc2FtcGxlX2RhdGFzZXQuPQpuYW1lICkgKQotICAgICAgICBy
ZXR1cm4gc2FtcGxlX2RhdGFzZXRfZmlsZV9uYW1lcwogICAgIGRlZiBfX3JlbmFtZV9kYXRhc2V0
KCBzZWxmLCBzYW1wbGUsIGZpbGVwYXRoLCBzY3BfY29uZmlncyApOgogICAgICAgICBuYW1lID0z
RCBmaWxlcGF0aC5zcGxpdCggJy8nIClbLTFdCiAgICAgICAgIG9wdGlvbnMgPTNEIHNhbXBsZS5y
ZXF1ZXN0LnR5cGUucmVuYW1lX2RhdGFzZXRfb3B0aW9ucwpAQCAtNTYxLDkwICszODIsNiBAQAog
ICAgICAgICAgICAgZmx1c2hfbmVlZGVkID0zRCBUcnVlCiAgICAgICAgIGlmIGZsdXNoX25lZWRl
ZDoKICAgICAgICAgICAgIHRyYW5zLnNhX3Nlc3Npb24uZmx1c2goKQotICAgIGRlZiBfX2NyZWF0
ZV9kYXRhX3RyYW5zZmVyX21lc3NhZ2VzKCBzZWxmLCB0cmFucywgc2FtcGxlLCBzZWxlY3RlZF9z
YW09CnBsZV9kYXRhc2V0cyApOgotICAgICAgICAiIiIKLSAgICAgICAgQ3JlYXRlcyB0aGUgeG1s
IG1lc3NhZ2VzIHRvIHNlbmQgdG8gdGhlIHJhYmJpdG1xIHNlcnZlci4gSXQgcmV0dXJuPQpzIGEg
ZGljdGlvbmFyeSBvZiBtZXNzYWdlcwotICAgICAgICBrZXllZCBieSB0aGUgZXh0ZXJuYWwgc2Vy
dmljZSB1c2VkIHRvIHRyYW5zZmVyIHRoZSBkYXRhc2V0cwotICAgICAgICAiIiIKLSAgICAgICAg
IyBDcmVhdGUgdGhlIHhtbCBtZXNzYWdlIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgdGVtcGxhdGUK
LSAgICAgICAgeG1sID0zRCBcCi0gICAgICAgICAgICAnJycgPGRhdGFfdHJhbnNmZXI+Ci0gICAg
ICAgICAgICAgICAgICAgIDxnYWxheHlfaG9zdD4lKEdBTEFYWV9IT1NUKXM8L2dhbGF4eV9ob3N0
PgotICAgICAgICAgICAgICAgICAgICA8YXBpX2tleT4lKEFQSV9LRVkpczwvYXBpX2tleT4KLSAg
ICAgICAgICAgICAgICAgICAgPGRhdGFfaG9zdD4lKERBVEFfSE9TVClzPC9kYXRhX2hvc3Q+Ci0g
ICAgICAgICAgICAgICAgICAgIDxkYXRhX3VzZXI+JShEQVRBX1VTRVIpczwvZGF0YV91c2VyPgot
ICAgICAgICAgICAgICAgICAgICA8ZGF0YV9wYXNzd29yZD4lKERBVEFfUEFTU1dPUkQpczwvZGF0
YV9wYXNzd29yZD4KLSAgICAgICAgICAgICAgICAgICAgPHJlcXVlc3RfaWQ+JShSRVFVRVNUX0lE
KXM8L3JlcXVlc3RfaWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxzYW1wbGVfaWQ+JShTQU1QTEVf
SUQpczwvc2FtcGxlX2lkPgotICAgICAgICAgICAgICAgICAgICA8bGlicmFyeV9pZD4lKExJQlJB
UllfSUQpczwvbGlicmFyeV9pZD4KLSAgICAgICAgICAgICAgICAgICAgPGZvbGRlcl9pZD4lKEZP
TERFUl9JRClzPC9mb2xkZXJfaWQ+Ci0gICAgICAgICAgICAgICAgICAgICUoREFUQVNFVFMpcwot
ICAgICAgICAgICAgICAgIDwvZGF0YV90cmFuc2Zlcj4nJycKLSAgICAgICAgZGF0YXNldF94bWwg
PTNEIFwKLSAgICAgICAgICAgICcnJzxkYXRhc2V0PgotICAgICAgICAgICAgICAgICAgIDxkYXRh
c2V0X2lkPiUoSUQpczwvZGF0YXNldF9pZD4KLSAgICAgICAgICAgICAgICAgICA8bmFtZT4lKE5B
TUUpczwvbmFtZT4KLSAgICAgICAgICAgICAgICAgICA8ZmlsZT4lKEZJTEUpczwvZmlsZT4KLSAg
ICAgICAgICAgICAgIDwvZGF0YXNldD4nJycKLSAgICAgICAgIyBIZXJlIHdlIGdyb3VwIGFsbCB0
aGUgc2FtcGxlX2RhdGFzZXRzIGJ5IHRoZSBleHRlcm5hbCBzZXJ2aWNlIHVzPQplZCB0byB0cmFu
c2ZlciB0aGVtLgotICAgICAgICAjIFRoZSBpZGVhIGlzIHRvIGJ1bmRsZSB1cCB0aGUgc2FtcGxl
X2RhdGFzZXRzIHdoaWNoIHVzZXMgdGhlIHNhbWU9CiBleHRlcm5hbCBzZXJ2aWNlIGFuZAotICAg
ICAgICAjIHNlbmQgYSBzaW5nbGUgQU1RUCBtZXNzYWdlIHRvIHRoZSBnYWxheHlfbGlzdGVuZXIK
LSAgICAgICAgZGF0YXNldF9lbGVtZW50cyA9M0Qge30KLSAgICAgICAgZm9yIHNhbXBsZV9kYXRh
c2V0IGluIHNlbGVjdGVkX3NhbXBsZV9kYXRhc2V0czoKLSAgICAgICAgICAgIGV4dGVybmFsX3Nl
cnZpY2UgPTNEIHNhbXBsZV9kYXRhc2V0LmV4dGVybmFsX3NlcnZpY2UKLSAgICAgICAgICAgIGlm
IHNhbXBsZV9kYXRhc2V0LnN0YXR1cyA9M0Q9M0QgdHJhbnMuYXBwLm1vZGVsLlNhbXBsZURhdGFz
ZXQuPQp0cmFuc2Zlcl9zdGF0dXMuTk9UX1NUQVJURUQ6Ci0gICAgICAgICAgICAgICAgaWYgbm90
IGRhdGFzZXRfZWxlbWVudHMuaGFzX2tleSggZXh0ZXJuYWxfc2VydmljZSApOgotICAgICAgICAg
ICAgICAgICAgICBkYXRhc2V0X2VsZW1lbnRzWyBleHRlcm5hbF9zZXJ2aWNlIF0gPTNEICcnCi0g
ICAgICAgICAgICAgICAgZGF0YXNldF9lbGVtZW50c1sgZXh0ZXJuYWxfc2VydmljZSBdICs9M0Qg
ZGF0YXNldF94bWwgJSBkaT0KY3QoIElEPTNEc3RyKCBzYW1wbGVfZGF0YXNldC5pZCApLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE5BTUU9Cj0zRHNhbXBsZV9kYXRhc2V0Lm5hbWUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRklM
RT0KPTNEc2FtcGxlX2RhdGFzZXQuZmlsZV9wYXRoICkKLSAgICAgICAgICAgICAgICAjIHVwZGF0
ZSB0aGUgZGF0YXNldCB0cmFuc2ZlciBzdGF0dXMKLSAgICAgICAgICAgICAgICBzYW1wbGVfZGF0
YXNldC5zdGF0dXMgPTNEIHRyYW5zLmFwcC5tb2RlbC5TYW1wbGVEYXRhc2V0LnRyPQphbnNmZXJf
c3RhdHVzLklOX1FVRVVFCi0gICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5hZGQoIHNh
bXBsZV9kYXRhc2V0ICkKLSAgICAgICAgICAgICAgICB0cmFucy5zYV9zZXNzaW9uLmZsdXNoKCkK
LSAgICAgICAgIyBGaW5hbGx5IHByZXBlbmQgdGhlIGV4dGVybmFsIHNlcnZpY2UgaW5mbyB0byB0
aGUgc2V0cyBvZiBzYW1wbGUgPQpkYXRhc2V0cwotICAgICAgICBtZXNzYWdlcyA9M0QgW10KLSAg
ICAgICAgZm9yIGV4dGVybmFsX3NlcnZpY2UsIGRhdGFzZXRfZWxlbSBpbiBkYXRhc2V0X2VsZW1l
bnRzLml0ZW1zKCk6Ci0gICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0YV90cmFu
c2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICAgICAgc2NwX2NvbmZpZ3MgPTNEIGV4dGVy
bmFsX3NlcnZpY2UuZGF0YV90cmFuc2ZlclsgdHJhbnMubW9kZWwuRXg9CnRlcm5hbFNlcnZpY2Uu
ZGF0YV90cmFuc2Zlcl9wcm90b2NvbC5TQ1AgXQotICAgICAgICAgICAgIyBDaGVjayBkYXRhIHRy
YW5zZmVyIHNldHRpbmdzCi0gICAgICAgICAgICBlcnJfbXNnID0zRCBzZWxmLl9fdmFsaWRhdGVf
ZGF0YV90cmFuc2Zlcl9zZXR0aW5ncyggdHJhbnMsIHNhbT0KcGxlLnJlcXVlc3QudHlwZSwgc2Nw
X2NvbmZpZ3MgKQotICAgICAgICAgICAgaWYgZXJyX21zZzoKLSAgICAgICAgICAgICAgICByZXR1
cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsPQpl
cj0zRCdyZXF1ZXN0c19hZG1pbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249Cj0zRCdtYW5hZ2VfZGF0YXNl
dHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc2FtcGxlX2k9CmQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNh
bXBsZS5pZCApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPQo9M0QnZXJyb3InLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2Fn
ZT0KPTNEZXJyX21zZyApICkKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEIHhtbCAlIGRpY3QoIEdB
TEFYWV9IT1NUPTNEdHJhbnMucmVxdWVzdC5ob3N0LAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEFQSV9LRVk9M0R0cmFucy51c2VyLmFwaV9rZXlzWzBdLmtleSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBEQVRBX0hPU1Q9M0RzY3BfY29uZmlnc1sgJ2hvc3Qn
IF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUQV9VU0VSPTNEc2NwX2Nv
bmZpZ3NbICd1c2VyX25hbWUnIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
REFUQV9QQVNTV09SRD0zRHNjcF9jb25maWdzWyAncGFzc3dvcmQnID0KXSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSRVFVRVNUX0lEPTNEc3RyKCBzYW1wbGUucmVxdWVzdC5p
ZCApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNBTVBMRV9JRD0zRHN0cigg
c2FtcGxlLmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTElCUkFSWV9J
RD0zRHN0ciggc2FtcGxlLmxpYnJhcnkuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBGT0xERVJfSUQ9M0RzdHIoIHNhbXBsZS5mb2xkZXIuaWQgKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBEQVRBU0VUUz0zRGRhdGFzZXRfZWxlbSApCi0gICAgICAg
ICAgICBtZXNzYWdlcy5hcHBlbmQoIG1lc3NhZ2UucmVwbGFjZSggJ1xuJywgJycgKS5yZXBsYWNl
KCAnXHInLCAnJz0KICkgKQotICAgICAgICByZXR1cm4gbWVzc2FnZXMKLSAgICBkZWYgX192YWxp
ZGF0ZV9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCBzZWxmLCB0cmFucywgcmVxdWVzdF90eXBlLCBz
Y3BfPQpjb25maWdzICk6Ci0gICAgICAgIGVycl9tc2cgPTNEICcnCi0gICAgICAgICMgY2hlY2sg
dGhlIGV4dGVybmFsIHNlcnZpY2UgbG9naW4gaW5mbwotICAgICAgICBpZiBub3Qgc2NwX2NvbmZp
Z3MuZ2V0KCAnaG9zdCcsICcnICkgXAotICAgICAgICAgICAgb3Igbm90IHNjcF9jb25maWdzLmdl
dCggJ3VzZXJfbmFtZScsICcnICkgXAotICAgICAgICAgICAgb3Igbm90IHNjcF9jb25maWdzLmdl
dCggJ3Bhc3N3b3JkJywgJycgKToKLSAgICAgICAgICAgIGVycl9tc2cgKz0zRCAiRXJyb3IgaW4g
ZXh0ZXJuYWwgc2VydmljZSBsb2dpbiBpbmZvcm1hdGlvbi4gIgotICAgICAgICBpZiBub3QgdHJh
bnMudXNlci5hcGlfa2V5czoKLSAgICAgICAgICAgIGVycl9tc2cgKz0zRCAiU2V0IHlvdXIgQVBJ
IEtleSBpbiB5b3VyIFVzZXIgUHJlZmVyZW5jZXMgdG8gdHJhPQpuc2ZlciBkYXRhc2V0cy4gIgot
ICAgICAgICAjIENoZWNrIGlmIGxpYnJhcnlfaW1wb3J0X2RpciBpcyBzZXQKLSAgICAgICAgaWYg
bm90IHRyYW5zLmFwcC5jb25maWcubGlicmFyeV9pbXBvcnRfZGlyOgotICAgICAgICAgICAgZXJy
X21zZyA9M0QgIidUaGUgbGlicmFyeV9pbXBvcnRfZGlyJyBzZXR0aW5nIGlzIG5vdCBjb3JyZWN0
bHk9CiBzZXQgaW4gdGhlIEdhbGF4eSBjb25maWcgZmlsZS4gIgotICAgICAgICAjIENoZWNrIHRo
ZSBSYWJiaXRNUSBzZXJ2ZXIgc2V0dGluZ3MgaW4gdGhlIGNvbmZpZyBmaWxlCi0gICAgICAgIGZv
ciBrLCB2IGluIHRyYW5zLmFwcC5jb25maWcuYW1xcC5pdGVtcygpOgotICAgICAgICAgICAgaWYg
bm90IHY6Ci0gICAgICAgICAgICAgICAgZXJyX21zZyArPTNEICdTZXQgUmFiYml0TVEgc2VydmVy
IHNldHRpbmdzIGluIHRoZSAiZ2FsYXh5Xz0KYW1xcCIgc2VjdGlvbiBvZiB0aGUgR2FsYXh5IGNv
bmZpZyBmaWxlLCBzcGVjaWZpY2FsbHkgIiVzIiBpcyBub3Qgc2V0LicgJSBrCi0gICAgICAgICAg
ICAgICAgYnJlYWsKLSAgICAgICAgcmV0dXJuIGVycl9tc2cKICAgICBAd2ViLmV4cG9zZQogICAg
IEB3ZWIucmVxdWlyZV9hZG1pbgogICAgIGRlZiBpbml0aWF0ZV9kYXRhX3RyYW5zZmVyKCBzZWxm
LCB0cmFucywgc2FtcGxlX2lkLCBzYW1wbGVfZGF0YXNldHM9M0Q9CltdLCBzYW1wbGVfZGF0YXNl
dF9pZD0zRCcnICk6CkBAIC02ODYsMzUgKzQyMyw4IEBACiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KICAg
ICAgICAgICAgICAgICAgZXh0ZXJuYWxfc2VydmljZT0zRGV4dGVybmFsX3NlcnZpY2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgID0KICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxfc2VydmljZV90eXBlPTNE
ZXh0ZXJuYWxfc2VydmljZV90eXBlICkKICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgVE9E
TzogVXNpbmcgUmFiYml0TXEgZm9yIG5vdywgYnV0IGVsaW1pbmF0ZSB0aGlzIGVudGlyZSBibG9j
PQprIHdoZW4gd2UgcmVwbGFjZSBSYWJiaXRNcSB3aXRoIEdhbGF4eSdzCi0gICAgICAgICAgICAj
IG93biBtZXNzYWdpbmcgZW5naW5lLiAgV2UncmUgaG9sZGluZyBvZmYgb24gdXNpbmcgdGhlIG5l
dyB3YT0KeSB0byB0cmFuc2ZlciBmaWxlcyBtYW51YWxseSB1bnRpbCB3ZQotICAgICAgICAgICAg
IyBpbXBsZW1lbnQgYSBHYWxheHktcHJvcHJpZXRhcnkgbWVzc2FnaW5nIGVuZ2luZSBiZWNhdXNl
IHRoZSA9CmRlZmVycmVkIGpvYiBwbHVnaW5zIGN1cnJlbnRseSBwZXJmb3JtCi0gICAgICAgICAg
ICAjIGNvbnN0YW50IGRiIGhpdHMgdG8gY2hlY2sgZm9yIGRlZmVycmVkIGpvYnMgdGhhdCBhcmUg
bm90IGluID0KYSBmaW5pc2hlZCBzdGF0ZS4KLSAgICAgICAgICAgICMgQ3JlYXRlIHRoZSBtZXNz
YWdlCi0gICAgICAgICAgICBtZXNzYWdlcyA9M0Qgc2VsZi5fX2NyZWF0ZV9kYXRhX3RyYW5zZmVy
X21lc3NhZ2VzKCB0cmFucywgc2FtcD0KbGUsIHNhbXBsZV9kYXRhc2V0cyApCi0gICAgICAgICAg
ICAjIFNlbmQgdGhlIG1lc3NhZ2VzCi0gICAgICAgICAgICBmb3Igcm1xX21zZyBpbiBtZXNzYWdl
czoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIGNvbm4gPTNEIGFt
cXAuQ29ubmVjdGlvbiggaG9zdD0zRHRyYW5zLmFwcC5jb25maWcuYW1xcD0KWyAnaG9zdCcgXSAr
ICI6IiArIHRyYW5zLmFwcC5jb25maWcuYW1xcFsgJ3BvcnQnIF0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJpZD0zRHRyYW5zLmFwcC5jb25maWcuYW1x
cD0KWyAndXNlcmlkJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBwYXNzd29yZD0zRHRyYW5zLmFwcC5jb25maWcuYW09CnFwWyAncGFzc3dvcmQnIF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnR1YWxfaG9zdD0z
RHRyYW5zLmFwcC5jb25maT0KZy5hbXFwWyAndmlydHVhbF9ob3N0JyBdKQotICAgICAgICAgICAg
ICAgICAgICBjaGFuID0zRCBjb25uLmNoYW5uZWwoKQotICAgICAgICAgICAgICAgICAgICBtc2cg
PTNEIGFtcXAuTWVzc2FnZSggcm1xX21zZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb250ZW50X3R5cGU9M0QndGV4dC9wbGFpbicsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25faGVhZGVycz0zRHsgJ21zZ190eXBl
Jz0KOiAnZGF0YV90cmFuc2ZlcicgfSApCi0gICAgICAgICAgICAgICAgICAgIG1zZy5wcm9wZXJ0
aWVzWyAiZGVsaXZlcnlfbW9kZSIgXSA9M0QgMgotICAgICAgICAgICAgICAgICAgICBjaGFuLmJh
c2ljX3B1Ymxpc2goIG1zZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleGNoYW5nZT0zRHRyYW5zLmFwcC5jb25maWcuYW1xcFsgPQonZXhjaGFuZ2UnIF0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGluZ19rZXk9M0R0cmFucy5h
cHAuY29uZmlnLmFtcT0KcFsgJ3JvdXRpbmdfa2V5JyBdICkKLSAgICAgICAgICAgICAgICAgICAg
Y2hhbi5jbG9zZSgpCi0gICAgICAgICAgICAgICAgICAgIGNvbm4uY2xvc2UoKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6Ci0gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2Ug
PTNEICJFcnJvciBzZW5kaW5nIHRoZSBkYXRhIHRyYW5zZmVyIG1lc3NhZ2UgdD0KbyB0aGUgR2Fs
YXh5IEFNUVAgbWVzc2FnZSBxdWV1ZTo8YnIvPiVzIiAlIHN0cihlKQotICAgICAgICAgICAgICAg
ICAgICBzdGF0dXMgPTNEICJlcnJvciIKLSAgICAgICAgICAgIGlmIG5vdCBtZXNzYWdlOgotICAg
ICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICIlaSBkYXRhc2V0cyBoYXZlIGJlZW4gcXVldWVkIGZv
ciB0cmFuc2ZlciBmcm89Cm0gdGhlIGV4dGVybmFsIHNlcnZpY2UuIiAlIGxlbiggc2FtcGxlX2Rh
dGFzZXRzICkKLSAgICAgICAgICAgICAgICBzdGF0dXMgPTNEICJkb25lIgorICAgICAgICAgICAg
bWVzc2FnZSA9M0QgIk1lc3NhZ2UgcXVldWUgdHJhbnNmZXIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRl
ZCwgcGw9CmVhc2Ugc2V0IGVuYWJsZV9iZXRhX2pvYl9tYW5hZ2VycyA9M0QgVHJ1ZSBpbiBnYWxh
eHkuaW5pIgorICAgICAgICAgICAgc3RhdHVzID0zRCAiZXJyb3IiCiAgICAgICAgIHJldHVybiB0
cmFucy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29udHJvbGxlcj0zRCdy
ZT0KcXVlc3RzX2FkbWluJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBhY3Rpb249M0QnbWFuYWdlPQpfZGF0YXNldHMnLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBs
ZV9pZD0zRHRyYW49CnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSwKCmRpZmYgLXIg
YzFjYzc2ZmEzZDY2ZWZiMDcwZjE5NjMxNTFjNGFjMGNhZTA0OGYzZiAtciA3Y2E4ZjBlY2IyYWU4
YjFiYTJiNTNlMT0KZmQwOWNjYWU0ODE5NDBhNDkgbGliL2dhbGF4eS93ZWJhcHBzL3Rvb2xfc2hl
ZC9jb250cm9sbGVycy9yZXBvc2l0b3J5LnB5Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy90b29s
X3NoZWQvY29udHJvbGxlcnMvcmVwb3NpdG9yeS5weQorKysgYi9saWIvZ2FsYXh5L3dlYmFwcHMv
dG9vbF9zaGVkL2NvbnRyb2xsZXJzL3JlcG9zaXRvcnkucHkKQEAgLTE2MjksMTEgKzE2MjksMTEg
QEAKICAgICAgICAgcmV0dXJuICcnCj0yMAogICAgIEB3ZWIuanNvbgotICAgIGRlZiBnZXRfZmls
ZV9jb250ZW50cyggc2VsZiwgdHJhbnMsIGZpbGVfcGF0aCApOgorICAgIGRlZiBnZXRfZmlsZV9j
b250ZW50cyggc2VsZiwgdHJhbnMsIGZpbGVfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICAg
ICAjIEF2b2lkIGNhY2hpbmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21h
J10gPTNEICduby1jYWNoZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJl
cyddID0zRCAnMCcKLSAgICAgICAgcmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRl
bnRzKCBmaWxlX3BhdGggKQorICAgICAgICByZXR1cm4gc3VjLmdldF9yZXBvc2l0b3J5X2ZpbGVf
Y29udGVudHMoIHRyYW5zLmFwcCwgZmlsZV9wYXRoLCByZXA9Cm9zaXRvcnlfaWQgKQo9MjAKICAg
ICBAd2ViLmV4cG9zZQogICAgIGRlZiBnZXRfZnVuY3Rpb25hbF90ZXN0X3Jzcyggc2VsZiwgdHJh
bnMsICoqa3dkICk6CkBAIC0yNjAzLDExICsyNjAzLDExIEBACiAgICAgICAgIHJldHVybiAnJwo9
MjAKICAgICBAd2ViLmpzb24KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xk
ZXJfcGF0aCApOgorICAgIGRlZiBvcGVuX2ZvbGRlciggc2VsZiwgdHJhbnMsIGZvbGRlcl9wYXRo
LCByZXBvc2l0b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3Vj
Lm9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRoICkKKyAgICAgICAgcmV0
dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCB0cmFucy5hcHAsIGZvbGRlcl9w
YXRoLCByPQplcG9zaXRvcnlfaWQgKQo9MjAKICAgICBAd2ViLmV4cG9zZQogICAgIGRlZiBwcmV2
aWV3X3Rvb2xzX2luX2NoYW5nZXNldCggc2VsZiwgdHJhbnMsIHJlcG9zaXRvcnlfaWQsICoqa3dk
ICk6CgpkaWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIg
N2NhOGYwZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi9nYWxheHkvd2Vi
YXBwcy90b29sX3NoZWQvZnJhbWV3b3JrL21pZGRsZXdhcmUvaGcucHkKLS0tIGEvbGliL2dhbGF4
eS93ZWJhcHBzL3Rvb2xfc2hlZC9mcmFtZXdvcmsvbWlkZGxld2FyZS9oZy5weQorKysgYi9saWIv
Z2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVkL2ZyYW1ld29yay9taWRkbGV3YXJlL2hnLnB5CkBAIC05
LDcgKzksNyBAQAogZnJvbSBwYXN0ZS5odHRwaGVhZGVycyBpbXBvcnQgQVVUSF9UWVBFCiBmcm9t
IHBhc3RlLmh0dHBoZWFkZXJzIGltcG9ydCBSRU1PVEVfVVNFUgo9MjAKLWZyb20gZ2FsYXh5LnV0
aWwgaW1wb3J0IGFzYm9vbAorZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgYXNib29sLCBzYWZlX3Jl
bHBhdGgKIGZyb20gZ2FsYXh5LnV0aWwuaGFzaF91dGlsIGltcG9ydCBuZXdfc2VjdXJlX2hhc2gK
IGZyb20gdG9vbF9zaGVkLnV0aWwgaW1wb3J0IGhnX3V0aWwKIGltcG9ydCB0b29sX3NoZWQucmVw
b3NpdG9yeV90eXBlcy51dGlsIGFzIHJ0X3V0aWwKQEAgLTExMyw3ICsxMTMsMTEgQEAKICAgICAg
ICAgICAgICAgICAgICAgZmgud3JpdGUoIGNodW5rICkKICAgICAgICAgICAgICAgICBmaC5jbG9z
ZSgpCiAgICAgICAgICAgICAgICAgZmggPTNEIG9wZW4oIHRtcF9maWxlbmFtZSwgJ3JiJyApCi0g
ICAgICAgICAgICAgICAgY2hhbmdlc2V0X2dyb3VwcyA9M0QganNvbi5sb2FkcyggaGdfdXRpbC5i
dW5kbGVfdG9fanNvbiggZj0KaCApICkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAg
ICAgICAgICAgIGNoYW5nZXNldF9ncm91cHMgPTNEIGpzb24ubG9hZHMoIGhnX3V0aWwuYnVuZGxl
X3RvX2pzbz0KbiggZmggKSApCisgICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9y
OgorICAgICAgICAgICAgICAgICAgICBtc2cgPTNEICdZb3VyIHZlcnNpb24gb2YgTWVyY3VyaWFs
IGlzIG5vdCBzdXBwb3J0ZWQuIFA9CmxlYXNlIHVzZSBhIHZlcnNpb24gPCAzLjUnCisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiBzZWxmLl9fZGlzcGxheV9leGNlcHRpb25fcmVtb3RlbHkoIHN0
YXJ0X3Jlc3Bvbj0Kc2UsIG1zZyApCiAgICAgICAgICAgICAgICAgZmguY2xvc2UoKQogICAgICAg
ICAgICAgICAgIHRyeToKICAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKCB0bXBfZmlsZW5h
bWUgKQpAQCAtMTIyLDYgKzEyNiwxOSBAQAogICAgICAgICAgICAgICAgIGlmIGNoYW5nZXNldF9n
cm91cHM6CiAgICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgdGhlIHJlcG9zaXRvcnkgdHlwZSB0
byBtYWtlIHN1cmUgaW5hcHByb3ByaWF0ZT0KIGZpbGVzIGFyZSBub3QgYmVpbmcgcHVzaGVkLgog
ICAgICAgICAgICAgICAgICAgICBpZiAnUEFUSF9JTkZPJyBpbiBlbnZpcm9uOgorICAgICAgICAg
ICAgICAgICAgICAgICAgIyBFbnN1cmUgdGhlcmUgYXJlIG5vIHN5bWxpbmtzIHdpdGggdGFyZ2V0
cyBvdXRzaWQ9CmUgdGhlIHJlcG8KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBlbnRyeSBp
biBjaGFuZ2VzZXRfZ3JvdXBzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbigg
ZW50cnkgKSA9M0Q9M0QgMjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5h
bWUsIGNoYW5nZV9saXN0ID0zRCBlbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpZiBub3QgaXNpbnN0YW5jZShjaGFuZ2VfbGlzdCwgbGlzdCk6CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFuZ2VfbGlzdCA9M0QgW2NoYW5nZV9saXN0XQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgY2hhbmdlIGluIGNoYW5nZV9saXN0OgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBhdGNoIGluIGNoYW5nZVsnZGF0
YSddOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCA9M0Qg
cGF0Y2hbJ2Jsb2NrJ10uc3RyaXAoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlmICggKCBwYXRjaFsnZW5kJ10gLSBwYXRjaFsnc3RhcnQ9CiddID0zRD0zRCAwICkg
YW5kIG5vdCBzYWZlX3JlbHBhdGgoIHRhcmdldCApICk6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1zZyA9M0QgIkNoYW5nZXMgaW5jbHVkZSBhIHN5bT0KbGlu
ayBvdXRzaWRlIG9mIHRoZSByZXBvc2l0b3J5OiAlcyAtPiAlcyIgJSAoIGZpbGVuYW1lLCB0YXJn
ZXQgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2cud2Fy
bmluZyggbXNnICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIHNlbGYuX19kaXNwbGF5X2V4Y2VwdGlvPQpuX3JlbW90ZWx5KCBzdGFydF9yZXNwb25z
ZSwgbXNnICkKICAgICAgICAgICAgICAgICAgICAgICAgICMgSW5zdGFudGlhdGUgYSBkYXRhYmFz
ZSBjb25uZWN0aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUgPTNEIHNxbGFsY2hl
bXkuY3JlYXRlX2VuZ2luZSggc2VsZi5kYl91cmwgKQogICAgICAgICAgICAgICAgICAgICAgICAg
Y29ubmVjdGlvbiA9M0QgZW5naW5lLmNvbm5lY3QoKQoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIw
NzBmMTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5
Y2NhZTQ4MTk0MGE0OSBsaWIvZ2FsYXh5L3dvcmtmbG93L3JlbmRlci5weQotLS0gYS9saWIvZ2Fs
YXh5L3dvcmtmbG93L3JlbmRlci5weQorKysgYi9saWIvZ2FsYXh5L3dvcmtmbG93L3JlbmRlci5w
eQpAQCAtMzQsOCArMzQsOCBAQAogICAgICAgICBjYW52YXMuYXBwZW5kKCBzZWxmLmJveGVzICkK
ICAgICAgICAgY2FudmFzLmFwcGVuZCggc2VsZi50ZXh0ICkKICAgICAgICAgd2lkdGgsIGhlaWdo
dCA9M0QgKCBtYXhfeCArIG1heF93aWR0aCArIDUwICksIG1heF95ICsgMzAwCi0gICAgICAgIGNh
bnZhc1sgJ3dpZHRoJyBdID0zRCAiJXMgcHgiICUgd2lkdGgKLSAgICAgICAgY2FudmFzWyAnaGVp
Z2h0JyBdID0zRCAiJXMgcHgiICUgaGVpZ2h0CisgICAgICAgIGNhbnZhc1sgJ3dpZHRoJyBdID0z
RCAiJXNweCIgJSB3aWR0aAorICAgICAgICBjYW52YXNbICdoZWlnaHQnIF0gPTNEICIlc3B4IiAl
IGhlaWdodAogICAgICAgICBjYW52YXNbICd2aWV3Qm94JyBdID0zRCAiMCAwICVzICVzIiAlICgg
d2lkdGgsIGhlaWdodCApCj0yMAogICAgIGRlZiBhZGRfYm94ZXMoIHNlbGYsIHN0ZXBfZGljdCwg
d2lkdGgsIG5hbWVfZmlsbCApOgpAQCAtMTIwLDcgKzEyMCw3IEBACiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGp1c3RlZFsgMSBdIC0gbWFyZ2luLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fY29vcmRzWyAwIF0g
LSAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluX2Nv
b3Jkc1sgMSBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YXJyb3dfZW5kPTNEInRydWUiICkuU1ZHKCkgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXJyb3dfZW5kPTNEImNvbm5fJXMiICUgKGxlbig9CnNlbGYuY29u
bmVjdG9ycy5rZXlzKCkpICsgMSkgKS5TVkcoKSApCj0yMAogICAgIGRlZiBhZGRfc3RlcHMoIHNl
bGYsIGhpZ2hsaWdodF9lcnJvcnM9M0RGYWxzZSApOgogICAgICAgICAjIE9ubHkgaGlnaGxpZ2h0
IG1pc3NpbmcgdG9vbHMgaWYgZGlzcGxheWluZyBpbiB0aGUgdG9vbCBzaGVkLgoKZGlmZiAtciBj
MWNjNzZmYTNkNjZlZmIwNzBmMTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThi
MWJhMmI1M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0OSBsaWIvdG9vbF9zaGVkL2NhcHN1bGUvY2Fwc3Vs
ZV9tYW5hZ2VyLnB5Ci0tLSBhL2xpYi90b29sX3NoZWQvY2Fwc3VsZS9jYXBzdWxlX21hbmFnZXIu
cHkKKysrIGIvbGliL3Rvb2xfc2hlZC9jYXBzdWxlL2NhcHN1bGVfbWFuYWdlci5weQpAQCAtMTIs
NiArMTIsNyBAQAogZnJvbSBnYWxheHkubW9kZWwub3JtIGltcG9ydCBhbmRfCiBmcm9tIGdhbGF4
eS51dGlsIGltcG9ydCBhc2Jvb2wKIGZyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IENIVU5LX1NJWkUK
K2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHkudXRpbC5v
ZGljdCBpbXBvcnQgb2RpY3QKPTIwCiBmcm9tIHRvb2xfc2hlZC5kZXBlbmRlbmNpZXMucmVwb3Np
dG9yeS5yZWxhdGlvbl9idWlsZGVyIGltcG9ydCBSZWxhdGlvbkJ1aT0KbGRlcgpAQCAtNzI3LDI5
ICs3MjgsMTYgQEAKICAgICAgICAgcmVwbyA9M0QgaGdfdXRpbC5nZXRfcmVwb19mb3JfcmVwb3Np
dG9yeSggc2VsZi5hcHAsIHJlcG9zaXRvcnk9M0ROPQpvbmUsIHJlcG9fcGF0aD0zRHJlcG9fZGly
LCBjcmVhdGU9M0RGYWxzZSApCiAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCA9M0Qg
MAogICAgICAgICB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVkID0zRCAwCi0gICAgICAgIG9rLCBl
cnJvcl9tZXNzYWdlID0zRCBjb21taXRfdXRpbC5jaGVja19hcmNoaXZlKCByZXBvc2l0b3J5LCBh
cmNoaT0KdmUgKQotICAgICAgICBpZiBvazoKKyAgICAgICAgY2hlY2tfcmVzdWx0cyA9M0QgY29t
bWl0X3V0aWwuY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgYXJjaGl2ZSApCisgICAgICAgICMg
V2UgZmlsdGVyIG91dCB1bmRlc2lyYWJsZSBmaWxlcyBidXQgZmFpbCBvbiB1bmRlc3JpYWJsZSBk
aXJzLiBOb3QKKyAgICAgICAgIyBzdXJlIHdoeSwganVzdCB0cnlpbmcgdG8gbWFpbnRhaW4gdGhl
IHNhbWUgYmVoYXZpb3IgYXMgYmVmb3JlLiAtPQpuYXRlCisgICAgICAgIGlmIG5vdCBjaGVja19y
ZXN1bHRzLmludmFsaWQgYW5kIG5vdCBjaGVja19yZXN1bHRzLnVuZGVzaXJhYmxlX2Rpcj0KczoK
ICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5hYnNwYXRoKCByZXBvX2RpciApCi0g
ICAgICAgICAgICBmaWxlbmFtZXNfaW5fYXJjaGl2ZSA9M0QgW10KLSAgICAgICAgICAgIGZvciB0
YXJpbmZvX29iaiBpbiBhcmNoaXZlLmdldG1lbWJlcnMoKToKLSAgICAgICAgICAgICAgICAjIENo
ZWNrIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBpbiB0aGUgYXJjaGl2ZS4KLSAgICAgICAgICAgICAg
ICBvayA9M0Qgb3MucGF0aC5iYXNlbmFtZSggdGFyaW5mb19vYmoubmFtZSApIG5vdCBpbiBjb21t
aXRfPQp1dGlsLlVOREVTSVJBQkxFX0ZJTEVTCi0gICAgICAgICAgICAgICAgaWYgb2s6Ci0gICAg
ICAgICAgICAgICAgICAgIGZvciBmaWxlX3BhdGhfaXRlbSBpbiB0YXJpbmZvX29iai5uYW1lLnNw
bGl0KCAnLycgKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGZpbGVfcGF0aF9pdGVtIGlu
IGNvbW1pdF91dGlsLlVOREVTSVJBQkxFX0RJUlM6Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdW5kZXNpcmFibGVfZGlyc19yZW1vdmVkICs9M0QgMQotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGVycm9yX21lc3NhZ2UgPTNEICdJbXBvcnQgZmFpbGVkOiBpbnZhbGlkIGZpbGU9CiBw
YXRoIDxiPiVzPC9iPiBpbiBhcmNoaXZlIDxiPiVzPC9iPicgJSBcCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICggc3RyKCBmaWxlX3BhdGhfaXRlbSApLCBzdHIoIGFyY2hpdmVfZmls
ZT0KX25hbWUgKSApCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAn
b2snIF0gPTNEIEZhbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0c19kaWN0
WyAnZXJyb3JfbWVzc2FnZScgXSArPTNEIGVycm9yX21lcz0Kc2FnZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJldHVybiByZXN1bHRzX2RpY3QKLSAgICAgICAgICAgICAgICAgICAgZmls
ZW5hbWVzX2luX2FyY2hpdmUuYXBwZW5kKCB0YXJpbmZvX29iai5uYW1lICkKLSAgICAgICAgICAg
ICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVk
ICs9M0QgMQogICAgICAgICAgICAgIyBFeHRyYWN0IHRoZSB1cGxvYWRlZCBhcmNoaXZlIHRvIHRo
ZSByZXBvc2l0b3J5IHJvb3QuCi0gICAgICAgICAgICBhcmNoaXZlLmV4dHJhY3RhbGwoIHBhdGg9
M0RmdWxsX3BhdGggKQorICAgICAgICAgICAgYXJjaGl2ZS5leHRyYWN0YWxsKCBwYXRoPTNEZnVs
bF9wYXRoLCBtZW1iZXJzPTNEY2hlY2tfcmVzdWx0cy49CnZhbGlkICkKICAgICAgICAgICAgIGFy
Y2hpdmUuY2xvc2UoKQotICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVuYW1lc19pbl9h
cmNoaXZlOgorICAgICAgICAgICAgZm9yIHRhcl9tZW1iZXIgaW4gY2hlY2tfcmVzdWx0cy52YWxp
ZDoKKyAgICAgICAgICAgICAgICBmaWxlbmFtZSA9M0QgdGFyX21lbWJlci5uYW1lCiAgICAgICAg
ICAgICAgICAgdXBsb2FkZWRfZmlsZV9uYW1lID0zRCBvcy5wYXRoLmpvaW4oIGZ1bGxfcGF0aCwg
ZmlsZW5hbWUgKQogICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguc3BsaXQoIHVwbG9hZGVkX2Zp
bGVfbmFtZSApWyAtMSBdID0zRD0zRCBydF91dGk9CmwuUkVQT1NJVE9SWV9ERVBFTkRFTkNZX0RF
RklOSVRJT05fRklMRU5BTUU6CiAgICAgICAgICAgICAgICAgICAgICMgSW5zcGVjdCB0aGUgY29u
dGVudHMgb2YgdGhlIGZpbGUgdG8gc2VlIGlmIHRvb2xzaGVkID0Kb3IgY2hhbmdlc2V0X3Jldmlz
aW9uIGF0dHJpYnV0ZXMKQEAgLTc3Niw2ICs3NjQsOSBAQAogICAgICAgICAgICAgbmV3X3JlcG9f
YWxlcnQgPTNEIFRydWUKICAgICAgICAgICAgICMgU2luY2UgdGhlIHJlcG9zaXRvcnkgaXMgbmV3
LCB0aGUgZm9sbG93aW5nIG11c3QgYmUgRmFsc2UuCiAgICAgICAgICAgICByZW1vdmVfcmVwb19m
aWxlc19ub3RfaW5fdGFyID0zRCBGYWxzZQorICAgICAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hp
dmUgPTNEIFsgbWVtYmVyLm5hbWUgZm9yIG1lbWJlciBpbiBjaGVja19yZXM9CnVsdHMudmFsaWQg
XQorICAgICAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgbGVuKCBjaGVja19y
ZXN1bHRzLnVuZGVzaXJhYmxlX2Y9CmlsZXMgKQorICAgICAgICAgICAgdW5kZXNpcmFibGVfZGly
c19yZW1vdmVkID0zRCAwCiAgICAgICAgICAgICBvaywgZXJyb3JfbWVzc2FnZSwgZmlsZXNfdG9f
cmVtb3ZlLCBjb250ZW50X2FsZXJ0X3N0ciwgdW5kZXNpcj0KYWJsZV9kaXJzX3JlbW92ZWQsIHVu
ZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIFwKICAgICAgICAgICAgICAgICBjb21taXRfdXRp
bC5oYW5kbGVfZGlyZWN0b3J5X2NoYW5nZXMoIHNlbGYuYXBwLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5ob3N0LApAQCAtODA2LDcg
Kzc5NywxMyBAQAogICAgICAgICBlbHNlOgogICAgICAgICAgICAgYXJjaGl2ZS5jbG9zZSgpCiAg
ICAgICAgICAgICByZXN1bHRzX2RpY3RbICdvaycgXSA9M0QgRmFsc2UKLSAgICAgICAgICAgIHJl
c3VsdHNfZGljdFsgJ2Vycm9yX21lc3NhZ2UnIF0gKz0zRCBlcnJvcl9tZXNzYWdlCisgICAgICAg
ICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgJ0NhcHN1bGUgZXJyb3Jz
IHdlcmUgZm91bj0KZDogJworICAgICAgICAgICAgaWYgY2hlY2tfcmVzdWx0cy5pbnZhbGlkOgor
ICAgICAgICAgICAgICAgIHJlc3VsdHNfZGljdFsgJ2Vycm9yX21lc3NhZ2UnIF0gKz0zRCAnJXMg
SW52YWxpZCBmaWxlcyB3ZXI9CmU6ICVzLicgJSAoCisgICAgICAgICAgICAgICAgICAgICcgJy5q
b2luKCBjaGVja19yZXN1bHRzLmVycm9ycyApLCAnLCAnLmpvaW4oIGNoZWNrX3Jlcz0KdWx0cy5p
bnZhbGlkICkgKQorICAgICAgICAgICAgaWYgY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9kaXJz
OgorICAgICAgICAgICAgICAgIHJlc3VsdHNfZGljdFsgJ2Vycm9yX21lc3NhZ2UnIF0gKz0zRCAn
IFVuZGVzaXJhYmxlIGRpcmVjdG89CnJpZXMgd2VyZTogJXMuJyAlICgKKyAgICAgICAgICAgICAg
ICAgICAgJywgJy5qb2luKCBjaGVja19yZXN1bHRzLnVuZGVzaXJhYmxlX2RpcnMgKSApCiAgICAg
ICAgIHJldHVybiByZXN1bHRzX2RpY3QKPTIwCiAgICAgZGVmIHVwbG9hZF9jYXBzdWxlKCBzZWxm
LCAqKmt3ZCApOgpAQCAtODYzLDYgKzg2MCwxMiBAQAogICAgICAgICAgICAgICAgIHJldHVybl9k
aWN0WyAnc3RhdHVzJyBdID0zRCAnZXJyb3InCiAgICAgICAgICAgICAgICAgdXBsb2FkZWRfZmls
ZS5jbG9zZSgpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHJldHVybl9kaWN0CisgICAgICAgICAg
ICBpZiBub3Qgc2VsZi52YWxpZGF0ZV9hcmNoaXZlX3BhdGhzKCB0YXJfYXJjaGl2ZSApOgorICAg
ICAgICAgICAgICAgIHJldHVybl9kaWN0WyAnc3RhdHVzJyBdID0zRCAnZXJyb3InCisgICAgICAg
ICAgICAgICAgcmV0dXJuX2RpY3RbICdtZXNzYWdlJyBdID0zRCAoICdUaGlzIGNhcHN1bGUgY29u
dGFpbnMgYW4gaT0KbnZhbGlkIG1lbWJlciB0eXBlICcKKyAgICAgICAgICAgICAgICAgICAgJ29y
IGEgZmlsZSBvdXRzaWRlIHRoZSBhcmNoaXZlIHBhdGguJyApCisgICAgICAgICAgICAgICAgdXBs
b2FkZWRfZmlsZS5jbG9zZSgpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJldHVybl9kaWN0CiAg
ICAgICAgICAgICByZXR1cm5fZGljdFsgJ3Rhcl9hcmNoaXZlJyBdID0zRCB0YXJfYXJjaGl2ZQog
ICAgICAgICAgICAgcmV0dXJuX2RpY3RbICdjYXBzdWxlX2ZpbGVfbmFtZScgXSA9M0QgdXBsb2Fk
ZWRfZmlsZV9maWxlbmFtZQogICAgICAgICAgICAgdXBsb2FkZWRfZmlsZS5jbG9zZSgpCkBAIC04
NzIsNiArODc1LDE4IEBACiAgICAgICAgICAgICByZXR1cm4gcmV0dXJuX2RpY3QKICAgICAgICAg
cmV0dXJuIHJldHVybl9kaWN0Cj0yMAorICAgIGRlZiB2YWxpZGF0ZV9hcmNoaXZlX3BhdGhzKCBz
ZWxmLCB0YXJfYXJjaGl2ZSApOgorICAgICAgICAnJycKKyAgICAgICAgSW5zcGVjdCB0aGUgYXJj
aGl2ZSBjb250ZW50cyB0byBlbnN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gcmlza3kgc3ltPQpsaW5r
cy4KKyAgICAgICAgUmV0dXJucyBUcnVlIGlmIGEgc3VzcGljaW91cyBwYXRoIGlzIGZvdW5kLgor
ICAgICAgICAnJycKKyAgICAgICAgZm9yIG1lbWJlciBpbiB0YXJfYXJjaGl2ZS5nZXRtZW1iZXJz
KCk6CisgICAgICAgICAgICBpZiBub3QgKCBtZW1iZXIuaXNkaXIoKSBvciBtZW1iZXIuaXNmaWxl
KCkgb3IgbWVtYmVyLmlzbG5rKCkgKToKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAg
ICAgICAgICAgIGVsaWYgbm90IHNhZmVfcmVscGF0aCggbWVtYmVyLm5hbWUgKToKKyAgICAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UKKyAgICAgICAgcmV0dXJuIFRydWUKKwogICAgIGRlZiB2YWxp
ZGF0ZV9jYXBzdWxlKCBzZWxmLCAqKmt3ZCApOgogICAgICAgICAiIiIKICAgICAgICAgSW5zcGVj
dCB0aGUgdXBsb2FkZWQgY2Fwc3VsZSdzIG1hbmlmZXN0IGFuZCBpdHMgY29udGFpbmVkIGZpbGVz
IHRvPQogZW5zdXJlIGl0IGlzIGEgdmFsaWQKCmRpZmYgLXIgYzFjYzc2ZmEzZDY2ZWZiMDcwZjE5
NjMxNTFjNGFjMGNhZTA0OGYzZiAtciA3Y2E4ZjBlY2IyYWU4YjFiYTJiNTNlMT0KZmQwOWNjYWU0
ODE5NDBhNDkgbGliL3Rvb2xfc2hlZC90b29scy90b29sX3ZlcnNpb25fbWFuYWdlci5weQotLS0g
YS9saWIvdG9vbF9zaGVkL3Rvb2xzL3Rvb2xfdmVyc2lvbl9tYW5hZ2VyLnB5CisrKyBiL2xpYi90
b29sX3NoZWQvdG9vbHMvdG9vbF92ZXJzaW9uX21hbmFnZXIucHkKQEAgLTEsNyArMSw4IEBACiBp
bXBvcnQgbG9nZ2luZwotaW1wb3J0IG9zCj0yMAotZnJvbSBnYWxheHkubW9kZWwub3JtIGltcG9y
dCBhbmRfCitmcm9tIGdhbGF4eSBpbXBvcnQgZWdncworZWdncy5yZXF1aXJlKCdTUUxBbGNoZW15
JykKK2Zyb20gc3FsYWxjaGVteSBpbXBvcnQgYW5kXywgb3JfCj0yMAogZnJvbSB0b29sX3NoZWQu
dXRpbCBpbXBvcnQgaGdfdXRpbAogZnJvbSB0b29sX3NoZWQudXRpbCBpbXBvcnQgc2hlZF91dGls
X2NvbW1vbiBhcyBzdWMKQEAgLTIyLDggKzIzLDggQEAKPTIwCiAgICAgZGVmIGdldF90b29sX3Zl
cnNpb25fYXNzb2NpYXRpb24oIHNlbGYsIHBhcmVudF90b29sX3ZlcnNpb24sIHRvb2xfdmVycz0K
aW9uICk6CiAgICAgICAgICIiIgotICAgICAgICBSZXR1cm4gYSBUb29sVmVyc2lvbkFzc29jaWF0
aW9uIGlmIG9uZSBleGlzdHMgdGhhdCBhc3NvY2lhdGVzIHRoZSA9CnR3byByZWNlaXZlZAotICAg
ICAgICB0b29sX3ZlcnNpb25zICBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGZyb20gR2Fs
YXh5LgorICAgICAgICBSZXR1cm4gYSBUb29sVmVyc2lvbkFzc29jaWF0aW9uIGlmIG9uZSBleGlz
dHMgdGhhdCBhc3NvY2lhdGVzIHRoZSA9CnR3bworICAgICAgICByZWNlaXZlZCB0b29sX3ZlcnNp
b25zLiBUaGlzIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbmx5IGZyb20gR2FsYXh5LgogICAgICAgICAi
IiIKICAgICAgICAgY29udGV4dCA9M0Qgc2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5jb250ZXh0CiAg
ICAgICAgIHJldHVybiBjb250ZXh0LnF1ZXJ5KCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xW
ZXJzaW9uQXNzb2NpYXRpbz0KbiApIFwKQEAgLTkxLDYgKzkyLDE2IEBACiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sX3NoZWRf
cmVwbz0Kc2l0b3J5PTNEdG9vbF9zaGVkX3JlcG9zaXRvcnkgKQogICAgICAgICAgICAgICAgICAg
ICBjb250ZXh0LmFkZCggdG9vbF92ZXJzaW9uX3VzaW5nX3BhcmVudF9pZCApCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnRleHQuZmx1c2goKQorICAgICAgICAgICAgICAgICMgUmVtb3ZlIGV4aXN0
aW5nIHdyb25nIHRvb2wgdmVyc2lvbiBhc3NvY2lhdGlvbnMgaGF2aW5nCisgICAgICAgICAgICAg
ICAgIyB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50X2lkIGFzIHBhcmVudCBvcgorICAgICAgICAg
ICAgICAgICMgdG9vbF92ZXJzaW9uX3VzaW5nX3Rvb2xfZ3VpZCBhcyBjaGlsZC4KKyAgICAgICAg
ICAgICAgICBjb250ZXh0LnF1ZXJ5KCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xWZXJzaW9u
QXNzb2NpYXRpPQpvbiApIFwKKyAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlciggb3JfKCBh
bmRfKCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xWZXJzPQppb25Bc3NvY2lhdGlvbi50YWJs
ZS5jLnBhcmVudF9pZCA9M0Q9M0QgdG9vbF92ZXJzaW9uX3VzaW5nX3BhcmVudF9pZC5pZCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFwcC5pbnN0YWxs
X21vZGVsLlRvb2xWZXJzPQppb25Bc3NvY2lhdGlvbi50YWJsZS5jLnRvb2xfaWQgIT0zRCB0b29s
X3ZlcnNpb25fdXNpbmdfdG9vbF9ndWlkLmlkICksCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgYW5kXyggc2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5Ub29sVmVycz0KaW9uQXNz
b2NpYXRpb24udGFibGUuYy5wYXJlbnRfaWQgIT0zRCB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50
X2lkLmlkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
YXBwLmluc3RhbGxfbW9kZWwuVG9vbFZlcnM9CmlvbkFzc29jaWF0aW9uLnRhYmxlLmMudG9vbF9p
ZCA9M0Q9M0QgdG9vbF92ZXJzaW9uX3VzaW5nX3Rvb2xfZ3VpZC5pZCApICkgKT0KIFwKKyAgICAg
ICAgICAgICAgICAgICAgICAgLmRlbGV0ZSgpCisgICAgICAgICAgICAgICAgY29udGV4dC5mbHVz
aCgpCiAgICAgICAgICAgICAgICAgdG9vbF92ZXJzaW9uX2Fzc29jaWF0aW9uID0zRCBcCiAgICAg
ICAgICAgICAgICAgICAgIHNlbGYuZ2V0X3Rvb2xfdmVyc2lvbl9hc3NvY2lhdGlvbiggdG9vbF92
ZXJzaW9uX3VzaW5nXz0KcGFyZW50X2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xfdmVyc2lvbl91c2luZ189CnRvb2xfZ3VpZCAp
CgpkaWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2Nh
OGYwZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi90b29sX3NoZWQvdXRp
bC9jb21taXRfdXRpbC5weQotLS0gYS9saWIvdG9vbF9zaGVkL3V0aWwvY29tbWl0X3V0aWwucHkK
KysrIGIvbGliL3Rvb2xfc2hlZC91dGlsL2NvbW1pdF91dGlsLnB5CkBAIC00LDggKzQsMTAgQEAK
IGltcG9ydCBvcwogaW1wb3J0IHNodXRpbAogaW1wb3J0IHRlbXBmaWxlCitmcm9tIGNvbGxlY3Rp
b25zIGltcG9ydCBuYW1lZHR1cGxlCj0yMAogZnJvbSBnYWxheHkuZGF0YXR5cGVzIGltcG9ydCBj
aGVja2VycworZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc2FmZV9yZWxwYXRoCj0yMAogZnJvbSB0
b29sX3NoZWQudG9vbHMgaW1wb3J0IGRhdGFfdGFibGVfbWFuYWdlcgo9MjAKQEAgLTIxLDMwICsy
Myw0NCBAQAogVU5ERVNJUkFCTEVfRklMRVMgPTNEIFsgJy5oZ19hcmNoaXZhbC50eHQnLCAnaGdy
YycsICcuRFNfU3RvcmUnIF0KPTIwCiBkZWYgY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgYXJj
aGl2ZSApOgorICAgIHZhbGlkID0zRCBbXQorICAgIGludmFsaWQgPTNEIFtdCisgICAgZXJyb3Jz
ID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2ZpbGVzID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2Rp
cnMgPTNEIFtdCiAgICAgZm9yIG1lbWJlciBpbiBhcmNoaXZlLmdldG1lbWJlcnMoKToKICAgICAg
ICAgIyBBbGxvdyByZWd1bGFyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBvbmx5CiAgICAgICAgIGlm
IG5vdCAoIG1lbWJlci5pc2RpcigpIG9yIG1lbWJlci5pc2ZpbGUoKSBvciBtZW1iZXIuaXNsbmso
KSApOgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5
IGluY2x1ZGUgcmVndWxhciBkaXJlY3Q9Cm9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlu
a3MsIGRldmljZXMsIGV0YykuICAiCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgIlRoZSBwcm9i
bGVtYXRpYyBtZW1iZXIgaW4gdGhpcyBhcmNoaXZlIGlzICVzLCIgJT0KIHN0ciggbWVtYmVyLm5h
bWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAgICAgIGZvciBpdGVt
IGluIFsgJy5oZycsICcuLicsICcvJyBdOgotICAgICAgICAgICAgaWYgbWVtYmVyLm5hbWUuc3Rh
cnRzd2l0aCggaXRlbSApOgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBh
cmNoaXZlcyBjYW5ub3QgY29udGFpbiAuaGcgZGlyZWN0b3I9CmllcywgYWJzb2x1dGUgZmlsZW5h
bWVzIHN0YXJ0aW5nIHdpdGggJy8nLCBvciBmaWxlbmFtZXMgd2l0aCB0d28gZG90cyAnLi4nLj0K
ICAiCi0gICAgICAgICAgICAgICAgbWVzc2FnZSArPTNEICJUaGUgcHJvYmxlbWF0aWMgbWVtYmVy
IGluIHRoaXMgYXJjaGl2ZSBpcyAlcz0KLiIgJSBzdHIoIG1lbWJlci5uYW1lICkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UsIG1lc3NhZ2UKLSAgICAgICAgaWYgbWVtYmVyLm5hbWUgaW4g
WyAnaGdyYycgXToKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBhcmNoaXZlcyBj
YW5ub3QgY29udGFpbiBoZ3JjIGZpbGVzLiAgIgotICAgICAgICAgICAgbWVzc2FnZSArPTNEICJU
aGUgcHJvYmxlbWF0aWMgbWVtYmVyIGluIHRoaXMgYXJjaGl2ZSBpcyAlcy4iICU9CiBzdHIoIG1l
bWJlci5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAg
ICAgZXJyb3JzLmFwcGVuZCggIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5IGluY2x1ZGUgcmVn
dWxhciBkaXI9CmVjdG9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlua3MsIGRldmljZXMs
IGV0YykuIiApCisgICAgICAgICAgICBpbnZhbGlkLmFwcGVuZCggbWVtYmVyICkKKyAgICAgICAg
ICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBzYWZlX3JlbHBhdGgoIG1lbWJlci5uYW1lICk6
CisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAiVXBsb2FkZWQgYXJjaGl2ZXMgY2Fubm90IGNv
bnRhaW4gZmlsZXMgdGhhdCB3bz0KdWxkIGV4dHJhY3Qgb3V0c2lkZSBvZiB0aGUgYXJjaGl2ZS4i
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZSggbWVtYmVyLm5hbWUgKSBpbiBVTkRF
U0lSQUJMRV9GSUxFUzoKKyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzLmFwcGVuZCggbWVt
YmVyICkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGhlYWQgPTNEIHRhaWwgPTNEIG1l
bWJlci5uYW1lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIHRhaWw6CisgICAgICAg
ICAgICAgICAgaGVhZCwgdGFpbCA9M0Qgb3MucGF0aC5zcGxpdChoZWFkKQorICAgICAgICAgICAg
ICAgIGlmIHRhaWwgaW4gVU5ERVNJUkFCTEVfRElSUzoKKyAgICAgICAgICAgICAgICAgICAgdW5k
ZXNpcmFibGVfZGlycy5hcHBlbmQoIG1lbWJlciApCisgICAgICAgICAgICAgICAgICAgIGFzc2Vy
dCBGYWxzZQorICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6CisgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5LnR5cGUgPTNEPTNEIHJ0X3V0aWwuUkVQT1NJVE9S
WV9TVUlURV9ERUZJTklUSU9OIGFuZCA9Cm1lbWJlci5uYW1lICE9M0QgcnRfdXRpbC5SRVBPU0lU
T1JZX0RFUEVOREVOQ1lfREVGSU5JVElPTl9GSUxFTkFNRToKLSAgICAgICAgICAgIG1lc3NhZ2Ug
PTNEICdSZXBvc2l0b3JpZXMgb2YgdHlwZSA8Yj5SZXBvc2l0b3J5IHN1aXRlIGRlZmluaXRpPQpv
bjwvYj4gY2FuIGNvbnRhaW4gb25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnJlcG9zaXRvcnlf
ZGVwZW5kZW5jaWVzLnhtbDw9Ci9iPi4nCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgJ1RoaXMg
YXJjaGl2ZSBjb250YWlucyBhIG1lbWJlciBuYW1lZCAlcy4nICUgc3RyKD0KIG1lbWJlci5uYW1l
ICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAgICAgZXJyb3Jz
LmFwcGVuZCggJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlJlcG9zaXRvcnkgc3VpdGUgZGVmaW49
Cml0aW9uPC9iPiBjYW4gY29udGFpbiBvbmx5IGEgc2luZ2xlIGZpbGUgbmFtZWQgPGI+cmVwb3Np
dG9yeV9kZXBlbmRlbmNpZXMueD0KbWw8L2I+LicgKQorICAgICAgICAgICAgaW52YWxpZC5hcHBl
bmQoIG1lbWJlciApCisgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5
LnR5cGUgPTNEPTNEIHJ0X3V0aWwuVE9PTF9ERVBFTkRFTkNZX0RFRklOSVRJT04gYW5kIG09CmVt
YmVyLm5hbWUgIT0zRCBydF91dGlsLlRPT0xfREVQRU5ERU5DWV9ERUZJTklUSU9OX0ZJTEVOQU1F
OgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlRvb2wg
ZGVwZW5kZW5jeSBkZWZpbml0aW89Cm48L2I+IGNhbiBjb250YWluIG9ubHkgYSBzaW5nbGUgZmls
ZSBuYW1lZCA8Yj50b29sX2RlcGVuZGVuY2llcy54bWw8L2I+LicKLSAgICAgICAgICAgIG1lc3Nh
Z2UgKz0zRCAnVGhpcyBhcmNoaXZlIGNvbnRhaW5zIGEgbWVtYmVyIG5hbWVkICVzLicgJSBzdHIo
PQogbWVtYmVyLm5hbWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAg
cmV0dXJuIFRydWUsICcnCisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAnUmVwb3NpdG9yaWVz
IG9mIHR5cGUgPGI+VG9vbCBkZXBlbmRlbmN5IGRlZmluaT0KdGlvbjwvYj4gY2FuIGNvbnRhaW4g
b25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnRvb2xfZGVwZW5kZW5jaWVzLnhtbDwvYj4uPQon
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgdmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgIEFyY2hpdmVDaGVja1Jl
c3VsdHMgPTNEIG5hbWVkdHVwbGUoICdBcmNoaXZlQ2hlY2tSZXN1bHRzJywgWyAndmFsaWQnLCA9
CidpbnZhbGlkJywgJ3VuZGVzaXJhYmxlX2ZpbGVzJywgJ3VuZGVzaXJhYmxlX2RpcnMnLCAnZXJy
b3JzJyBdICkKKyAgICByZXR1cm4gQXJjaGl2ZUNoZWNrUmVzdWx0cyggdmFsaWQsIGludmFsaWQs
IHVuZGVzaXJhYmxlX2ZpbGVzLCB1bmRlc2lyPQphYmxlX2RpcnMsIGVycm9ycyApCj0yMAogZGVm
IGNoZWNrX2ZpbGVfY29udGVudHNfZm9yX2VtYWlsX2FsZXJ0cyggYXBwICk6CiAgICAgIiIiCgpk
aWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYw
ZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IGxpYi90b29sX3NoZWQvdXRpbC9y
ZXBvc2l0b3J5X2NvbnRlbnRfdXRpbC5weQotLS0gYS9saWIvdG9vbF9zaGVkL3V0aWwvcmVwb3Np
dG9yeV9jb250ZW50X3V0aWwucHkKKysrIGIvbGliL3Rvb2xfc2hlZC91dGlsL3JlcG9zaXRvcnlf
Y29udGVudF91dGlsLnB5CkBAIC0xNSwzMSArMTUsMjMgQEAKICAgICBoZ191dGlsLmdldF9yZXBv
X2Zvcl9yZXBvc2l0b3J5KCB0cmFucy5hcHAsIHJlcG9zaXRvcnk9M0ROb25lLCByZXBvX3BhPQp0
aD0zRHJlcG9fZGlyLCBjcmVhdGU9M0RGYWxzZSApCiAgICAgdW5kZXNpcmFibGVfZGlyc19yZW1v
dmVkID0zRCAwCiAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgMAotICAgIG9rLCBt
ZXNzYWdlID0zRCBjb21taXRfdXRpbC5jaGVja19hcmNoaXZlKCByZXBvc2l0b3J5LCB0YXIgKQot
ICAgIGlmIG5vdCBvazoKKyAgICBjaGVja19yZXN1bHRzID0zRCBjb21taXRfdXRpbC5jaGVja19h
cmNoaXZlKCByZXBvc2l0b3J5LCB0YXIgKQorICAgIGlmIGNoZWNrX3Jlc3VsdHMuaW52YWxpZDoK
ICAgICAgICAgdGFyLmNsb3NlKCkKICAgICAgICAgdXBsb2FkZWRfZmlsZS5jbG9zZSgpCi0gICAg
ICAgIHJldHVybiBvaywgbWVzc2FnZSwgW10sICcnLCB1bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQs
IHVuZGVzaXJhYmxlXz0KZmlsZXNfcmVtb3ZlZAorICAgICAgICBtZXNzYWdlID0zRCAnJXMgSW52
YWxpZCBwYXRocyB3ZXJlOiAlcycgJSAoCisgICAgICAgICAgICAnICcuam9pbiggY2hlY2tfcmVz
dWx0cy5lcnJvcnMgKSwgJywgJy5qb2luKCBjaGVja19yZXN1bHRzLmludj0KYWxpZCApICkKKyAg
ICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlLCBbXSwgJycsIHVuZGVzaXJhYmxlX2RpcnNfcmVt
b3ZlZCwgdW5kZXNpcmFiPQpsZV9maWxlc19yZW1vdmVkCiAgICAgZWxzZToKICAgICAgICAgaWYg
dXBsb2FkX3BvaW50IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5w
YXRoLmFic3BhdGgoIG9zLnBhdGguam9pbiggcmVwb19kaXIsIHVwbG9hZF89CnBvaW50ICkgKQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5wYXRoLmFic3BhdGgo
IHJlcG9fZGlyICkKLSAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFtdCi0gICAgICAg
IGZvciB0YXJpbmZvX29iaiBpbiB0YXIuZ2V0bWVtYmVycygpOgotICAgICAgICAgICAgb2sgPTNE
IG9zLnBhdGguYmFzZW5hbWUoIHRhcmluZm9fb2JqLm5hbWUgKSBub3QgaW4gY29tbWl0X3V0aWw9
Ci5VTkRFU0lSQUJMRV9GSUxFUwotICAgICAgICAgICAgaWYgb2s6Ci0gICAgICAgICAgICAgICAg
Zm9yIGZpbGVfcGF0aF9pdGVtIGluIHRhcmluZm9fb2JqLm5hbWUuc3BsaXQoICcvJyApOgotICAg
ICAgICAgICAgICAgICAgICBpZiBmaWxlX3BhdGhfaXRlbSBpbiBjb21taXRfdXRpbC5VTkRFU0lS
QUJMRV9ESVJTOgotICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXNpcmFibGVfZGlyc19yZW1v
dmVkICs9M0QgMQotICAgICAgICAgICAgICAgICAgICAgICAgb2sgPTNEIEZhbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVkICs9M0QgMQotICAgICAgICAgICAgaWYgb2s6Ci0g
ICAgICAgICAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUuYXBwZW5kKCB0YXJpbmZvX29iai5u
YW1lICkKKyAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgbGVuKCBjaGVja19y
ZXN1bHRzLnVuZGVzaXJhYmxlX2ZpbGVzPQogKQorICAgICAgICB1bmRlc2lyYWJsZV9kaXJzX3Jl
bW92ZWQgPTNEIGxlbiggY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9kaXJzICkKKyAgICAgICAg
ZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFsgdGkubmFtZSBmb3IgdGkgaW4gY2hlY2tfcmVzdWx0
cy52YWxpZCBdCiAgICAgICAgICMgRXh0cmFjdCB0aGUgdXBsb2FkZWQgdGFyIHRvIHRoZSBsb2Fk
X3BvaW50IHdpdGhpbiB0aGUgcmVwb3NpdG9yeT0KIGhpZXJhcmNoeS4KLSAgICAgICAgdGFyLmV4
dHJhY3RhbGwoIHBhdGg9M0RmdWxsX3BhdGggKQorICAgICAgICB0YXIuZXh0cmFjdGFsbCggcGF0
aD0zRGZ1bGxfcGF0aCwgbWVtYmVycz0zRGNoZWNrX3Jlc3VsdHMudmFsaWQgKQogICAgICAgICB0
YXIuY2xvc2UoKQogICAgICAgICB1cGxvYWRlZF9maWxlLmNsb3NlKCkKICAgICAgICAgZm9yIGZp
bGVuYW1lIGluIGZpbGVuYW1lc19pbl9hcmNoaXZlOgoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIw
NzBmMTk2MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5
Y2NhZTQ4MTk0MGE0OSBsaWIvdG9vbF9zaGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQotLS0g
YS9saWIvdG9vbF9zaGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQorKysgYi9saWIvdG9vbF9z
aGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQpAQCAtNTA5LDkgKzUwOSwxNyBAQAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9CiAgICAgICAgICAgICAgIGNoYW5nZXNldF9yZXZpc2lvbj0zRHRleHQgKQog
ICAgIHJldHVybiByZXBvc2l0b3J5Cj0yMAotZGVmIGdldF9yZXBvc2l0b3J5X2ZpbGVfY29udGVu
dHMoIGZpbGVfcGF0aCApOgorZGVmIGdldF9yZXBvc2l0b3J5X2ZpbGVfY29udGVudHMoIGFwcCwg
ZmlsZV9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAgIiIiUmV0dXJuIHRoZSBkaXNwbGF5LXNh
ZmUgY29udGVudHMgb2YgYSByZXBvc2l0b3J5IGZpbGUgZm9yIGRpc3BsYXkgaT0KbiBhIGJyb3dz
ZXIuIiIiCi0gICAgaWYgY2hlY2tlcnMuaXNfZ3ppcCggZmlsZV9wYXRoICk6CisgICAgc2FmZV9z
dHIgPTNEICcnCisgICAgaWYgbm90IGlzX3BhdGhfd2l0aGluX3JlcG8oIGFwcCwgZmlsZV9wYXRo
LCByZXBvc2l0b3J5X2lkICk6CisgICAgICAgIGxvZy53YXJuaW5nKCAnUmVxdWVzdCB0cmllcyB0
byBhY2Nlc3MgYSBmaWxlIG91dHNpZGUgb2YgdGhlIHJlcG9zaT0KdG9yeSBsb2NhdGlvbi4gRmls
ZSBwYXRoOiAlcycsIGZpbGVfcGF0aCApCisgICAgICAgIHJldHVybiAnSW52YWxpZCBmaWxlIHBh
dGgnCisgICAgIyBTeW1saW5rIHRhcmdldHMgYXJlIGNoZWNrZWQgYnkgaXNfcGF0aF93aXRoaW5f
cmVwbworICAgIGlmIG9zLnBhdGguaXNsaW5rKCBmaWxlX3BhdGggKToKKyAgICAgICAgc2FmZV9z
dHIgPTNEICdsaW5rIHRvOiAnICsgYmFzaWNfdXRpbC50b19odG1sX3N0cmluZyggb3MucmVhZGxp
bmsoPQogZmlsZV9wYXRoICkgKQorICAgICAgICByZXR1cm4gc2FmZV9zdHIKKyAgICBlbGlmIGNo
ZWNrZXJzLmlzX2d6aXAoIGZpbGVfcGF0aCApOgogICAgICAgICByZXR1cm4gJzxici8+Z3ppcCBj
b21wcmVzc2VkIGZpbGU8YnIvPicKICAgICBlbGlmIGNoZWNrZXJzLmlzX2J6MiggZmlsZV9wYXRo
ICk6CiAgICAgICAgIHJldHVybiAnPGJyLz5iejIgY29tcHJlc3NlZCBmaWxlPGJyLz4nCkBAIC01
MjAsNyArNTI4LDYgQEAKICAgICBlbGlmIGNoZWNrZXJzLmNoZWNrX2JpbmFyeSggZmlsZV9wYXRo
ICk6CiAgICAgICAgIHJldHVybiAnPGJyLz5CaW5hcnkgZmlsZTxici8+JwogICAgIGVsc2U6Ci0g
ICAgICAgIHNhZmVfc3RyID0zRCAnJwogICAgICAgICBmb3IgaSwgbGluZSBpbiBlbnVtZXJhdGUo
IG9wZW4oIGZpbGVfcGF0aCApICk6CiAgICAgICAgICAgICBzYWZlX3N0ciA9M0QgJyVzJXMnICUg
KCBzYWZlX3N0ciwgYmFzaWNfdXRpbC50b19odG1sX3N0cmluZyggbD0KaW5lICkgKQogICAgICAg
ICAgICAgIyBTdG9wIHJlYWRpbmcgYWZ0ZXIgc3RyaW5nIGlzIGxhcmdlciB0aGFuIE1BWF9DT05U
RU5UX1NJWkUuCkBAIC01MzAsNiArNTM3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgdXRpbC5u
aWNlX3NpemUoIE1BWF9DT05URU5UX1NJWkUgKQogICAgICAgICAgICAgICAgIHNhZmVfc3RyID0z
RCAnJXMlcycgJSAoIHNhZmVfc3RyLCBsYXJnZV9zdHIgKQogICAgICAgICAgICAgICAgIGJyZWFr
CisKICAgICAgICAgaWYgbGVuKCBzYWZlX3N0ciApID4gYmFzaWNfdXRpbC5NQVhfRElTUExBWV9T
SVpFOgogICAgICAgICAgICAgIyBFbGltaW5hdGUgdGhlIG1pZGRsZSBvZiB0aGUgZmlsZSB0byBk
aXNwbGF5IGEgZmlsZSBubyBsYXJnZXI9CiB0aGFuIGJhc2ljX3V0aWwuTUFYX0RJU1BMQVlfU0la
RS4KICAgICAgICAgICAgICMgVGhpcyBtYXkgbm90IGJlIGlkZWFsIGlmIHRoZSBmaWxlIGlzIGxh
cmdlciB0aGFuIE1BWF9DT05URU5UPQpfU0laRS4KQEAgLTU1MCw5ICs1NTgsNiBAQAogICAgICAg
ICAjIFNraXAgLmhnIGRpcmVjdG9yaWVzCiAgICAgICAgIGlmIGl0ZW0uc3RhcnRzd2l0aCggJy5o
ZycgKToKICAgICAgICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGlmIG9zLnBhdGguaXNkaXIoIG9z
LnBhdGguam9pbiggZm9sZGVyX3BhdGgsIGl0ZW0gKSApOgotICAgICAgICAgICAgIyBBcHBlbmQg
YSAnLycgY2hhcmFjdGVyIHNvIHRoYXQgb3VyIGpxdWVyeSBkeW5hdHJlZSB3aWxsIGZ1bmM9CnRp
b24gcHJvcGVybHkuCi0gICAgICAgICAgICBpdGVtID0zRCAnJXMvJyAlIGl0ZW0KICAgICAgICAg
Y29udGVudHMuYXBwZW5kKCBpdGVtICkKICAgICBpZiBjb250ZW50czoKICAgICAgICAgY29udGVu
dHMuc29ydCgpCkBAIC0xMDA4LDExICsxMDEzLDE1IEBACiAgICAgIiIiCiAgICAgcmV0dXJuIGhh
c2F0dHIoIGFwcCwgImluc3RhbGxfbW9kZWwiICkKPTIwCi1kZWYgb3Blbl9yZXBvc2l0b3J5X2Zp
bGVzX2ZvbGRlciggZm9sZGVyX3BhdGggKToKK2RlZiBvcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9s
ZGVyKCBhcHAsIGZvbGRlcl9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAgIiIiCiAgICAgUmV0
dXJuIGEgbGlzdCBvZiBkaWN0aW9uYXJpZXMsIGVhY2ggb2Ygd2hpY2ggY29udGFpbnMgaW5mb3Jt
YXRpb24gZm9yID0KYSBmaWxlIG9yIGRpcmVjdG9yeSBjb250YWluZWQKICAgICB3aXRoaW4gYSBk
aXJlY3RvcnkgaW4gYSByZXBvc2l0b3J5IGZpbGUgaGllcmFyY2h5LgogICAgICIiIgorICAgICMg
U3ltbGluayB0YXJnZXRzIGFyZSBjaGVja2VkIGJ5IGlzX3BhdGhfd2l0aGluX3JlcG8KKyAgICBp
ZiBub3QgaXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9p
ZCApOgorICAgICAgICBsb2cud2FybmluZyggJ1JlcXVlc3QgdHJpZXMgdG8gYWNjZXNzIGEgZm9s
ZGVyIG91dHNpZGUgb2YgdGhlIHJlcG89CnNpdG9yeSBsb2NhdGlvbi4gRm9sZGVyIHBhdGg6ICVz
JywgZm9sZGVyX3BhdGggKQorICAgICAgICByZXR1cm4gW10KICAgICB0cnk6CiAgICAgICAgIGZp
bGVzX2xpc3QgPTNEIGdldF9yZXBvc2l0b3J5X2ZpbGVzKCBmb2xkZXJfcGF0aCApCiAgICAgZXhj
ZXB0IE9TRXJyb3IsIGU6CkBAIC0xMDIyLDEwICsxMDMxLDE3IEBACiAgICAgZm9sZGVyX2NvbnRl
bnRzID0zRCBbXQogICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlc19saXN0OgogICAgICAgICBpc19m
b2xkZXIgPTNEIEZhbHNlCi0gICAgICAgIGlmIGZpbGVuYW1lIGFuZCBmaWxlbmFtZVsgLTEgXSA9
M0Q9M0Qgb3Muc2VwOgotICAgICAgICAgICAgaXNfZm9sZGVyID0zRCBUcnVlCisgICAgICAgIGZ1
bGxfcGF0aCA9M0Qgb3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUgKQorICAgICAg
ICBpc19saW5rID0zRCBvcy5wYXRoLmlzbGluayggZnVsbF9wYXRoICkKKyAgICAgICAgcGF0aF9p
c193aXRoaW5fcmVwbyA9M0QgaXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBmdWxsX3BhdGgsIHJl
cG9zPQppdG9yeV9pZCApCisgICAgICAgIGlmIGlzX2xpbmsgYW5kIG5vdCBwYXRoX2lzX3dpdGhp
bl9yZXBvOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoICdWYWxpZCBmb2xkZXIgY29udGFpbnMg
YSBzeW1saW5rIG91dHNpZGUgb2YgdGhlIHI9CmVwb3NpdG9yeSBsb2NhdGlvbi4gTGluayBmb3Vu
ZCBpbjogJyArIHN0ciggZnVsbF9wYXRoICkgKQogICAgICAgICBpZiBmaWxlbmFtZToKLSAgICAg
ICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUg
KQorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpciggZnVsbF9wYXRoICkgYW5kIHBhdGhfaXNf
d2l0aGluX3JlcG86CisgICAgICAgICAgICAgICAgIyBBcHBlbmQgYSAnLycgY2hhcmFjdGVyIHNv
IHRoYXQgb3VyIGpxdWVyeSBkeW5hdHJlZSB3aWxsID0KZnVuY3Rpb24gcHJvcGVybHkuCisgICAg
ICAgICAgICAgICAgZmlsZW5hbWUgPTNEICclcy8nICUgZmlsZW5hbWUKKyAgICAgICAgICAgICAg
ICBmdWxsX3BhdGggPTNEICclcy8nICUgZnVsbF9wYXRoCisgICAgICAgICAgICAgICAgaXNfZm9s
ZGVyID0zRCBUcnVlCiAgICAgICAgICAgICBub2RlID0zRCB7ICJ0aXRsZSIgOiBmaWxlbmFtZSwK
ICAgICAgICAgICAgICAgICAgICAgICJpc0ZvbGRlciIgOiBpc19mb2xkZXIsCiAgICAgICAgICAg
ICAgICAgICAgICAiaXNMYXp5IiA6IGlzX2ZvbGRlciwKQEAgLTEwMzQsNiArMTA1MCwxNiBAQAog
ICAgICAgICAgICAgZm9sZGVyX2NvbnRlbnRzLmFwcGVuZCggbm9kZSApCiAgICAgcmV0dXJuIGZv
bGRlcl9jb250ZW50cwo9MjAKK2RlZiBpc19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIHBhdGgsIHJl
cG9zaXRvcnlfaWQgKToKKyAgICAiIiIKKyAgICBEZXRlY3Qgd2hldGhlciB0aGUgZ2l2ZW4gcGF0
aCBpcyB3aXRoaW4gdGhlIHJlcG9zaXRvcnkgZm9sZGUgcm9uIHRoZSBkPQppc2suCisgICAgVXNl
IHRvIGZpbHRlciBtYWxpY2lvdXMgc3ltbGlua3MgdGFyZ2V0aW5nIG91dHNpZGUgcGF0aHMuCisg
ICAgIiIiCisgICAgcmVwb19wYXRoID0zRCBvcy5wYXRoLmFic3BhdGgoIGdldF9yZXBvc2l0b3J5
X2J5X2lkKCBhcHAsIHJlcG9zaXRvcnlfaT0KZCApLnJlcG9fcGF0aCggYXBwICkgKQorICAgIHJl
c29sdmVkX3BhdGggPTNEIG9zLnBhdGgucmVhbHBhdGgoIHBhdGggKQorICAgIHJldHVybiBvcy5w
YXRoLmNvbW1vbnByZWZpeCggWyByZXBvX3BhdGgsIHJlc29sdmVkX3BhdGggXSApID0zRD0zRCBy
ZXA9Cm9fcGF0aAorCisKIGRlZiByZXBvc2l0b3J5X3dhc19wcmV2aW91c2x5X2luc3RhbGxlZCgg
YXBwLCB0b29sX3NoZWRfdXJsLCByZXBvc2l0b3J5X25hPQptZSwgcmVwb19pbmZvX3R1cGxlLCBm
cm9tX3RpcD0zREZhbHNlICk6CiAgICAgIiIiCiAgICAgRmluZCBvdXQgaWYgYSByZXBvc2l0b3J5
IGlzIGFscmVhZHkgaW5zdGFsbGVkIGludG8gR2FsYXh5IC0gdGhlcmUgYXJlID0Kc2V2ZXJhbCBz
Y2VuYXJpb3Mgd2hlcmUgdGhpcwoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBmMTk2MzE1MWM0
YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2NhZTQ4MTk0MGE0
OSB0ZW1wbGF0ZXMvYWRtaW4vcmVxdWVzdHMvc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyLm1h
a28KLS0tIGEvdGVtcGxhdGVzL2FkbWluL3JlcXVlc3RzL3NlbGVjdF9kYXRhc2V0c190b190cmFu
c2Zlci5tYWtvCisrKyAvZGV2L251bGwKQEAgLTEsMTQ5ICswLDAgQEAKLTwlaW5oZXJpdCBmaWxl
PTNEIi9iYXNlLm1ha28iLz4KLTwlbmFtZXNwYWNlIGZpbGU9M0QiL21lc3NhZ2UubWFrbyIgaW1w
b3J0PTNEInJlbmRlcl9tc2ciIC8+Ci08JW5hbWVzcGFjZSBmaWxlPTNEIi9yZXF1ZXN0cy9jb21t
b24vY29tbW9uLm1ha28iIGltcG9ydD0zRCJyZW5kZXJfc2FtcGxlXz0KZGF0YXNldHMiIC8+Ci08
JW5hbWVzcGFjZSBmaWxlPTNEIi9yZXF1ZXN0cy9jb21tb24vY29tbW9uLm1ha28iIGltcG9ydD0z
RCJjb21tb25famF2YXNjcj0KaXB0cyIgLz4KLQotPCVkZWYgbmFtZT0zRCJqYXZhc2NyaXB0cygp
Ij4KLSAgICR7cGFyZW50LmphdmFzY3JpcHRzKCl9Ci0gICAke2NvbW1vbl9qYXZhc2NyaXB0cygp
fQotPC8lZGVmPgotCi0ke2guanMoICJsaWJzL2pxdWVyeS9qcXVlcnktdWkiLCAibGlicy9qcXVl
cnkvanF1ZXJ5LmNvb2tpZSIsICJsaWJzL2pxdWVyeT0KL2pxdWVyeS5keW5hdHJlZSIgKX0KLSR7
aC5jc3MoICJkeW5hdHJlZV9za2luL3VpLmR5bmF0cmVlIiApfQotCi08c2NyaXB0IHR5cGU9M0Qi
dGV4dC9qYXZhc2NyaXB0Ij4KLSAgICAkKGZ1bmN0aW9uKCl7Ci0gICAgICAgICQoIiN0cmVlIiku
YWpheENvbXBsZXRlKGZ1bmN0aW9uKGV2ZW50LCBYTUxIdHRwUmVxdWVzdCwgYWpheE9wdGlvbj0K
cykgewotICAgICAgICAgICAgX2xvZygiZGVidWciLCAiYWpheENvbXBsZXRlOiAlbyIsIHRoaXMp
OyAvLyBkb20gZWxlbWVudCBsaXN0ZW49CmluZwotICAgICAgICB9KTsKLSAgICAgICAgLy8gLS0t
IEluaXRpYWxpemUgc2FtcGxlIHRyZWVzCi0gICAgICAgICQoIiN0cmVlIikuZHluYXRyZWUoewot
ICAgICAgICAgICAgdGl0bGU6ICIke3NjcF9jb25maWdzWydkYXRhX2xvY2F0aW9uJ119IiwKLSAg
ICAgICAgICAgIHJvb3RWaXNpYmxlOiB0cnVlLAotICAgICAgICAgICAgbWluRXhwYW5kTGV2ZWw6
IDAsIC8vIDE6IHJvb3Qgbm9kZSBpcyBub3QgY29sbGFwc2libGUKLSAgICAgICAgICAgIHBlcnNp
c3Q6IGZhbHNlLAotICAgICAgICAgICAgY2hlY2tib3g6IHRydWUsCi0gICAgICAgICAgICBzZWxl
Y3RNb2RlOiAzLAotICAgICAgICAgICAgb25Qb3N0SW5pdDogZnVuY3Rpb24oaXNSZWxvYWRpbmcs
IGlzRXJyb3IpIHsKLSAgICAgICAgICAgICAgICAvL2FsZXJ0KCJyZWxvYWRpbmc6ICIraXNSZWxv
YWRpbmcrIiwgZXJyb3I6Iitpc0Vycm9yKTsKLSAgICAgICAgICAgICAgICBsb2dNc2coIm9uUG9z
dEluaXQoJW8sICVvKSAtICVvIiwgaXNSZWxvYWRpbmcsIGlzRXJyb3IsIHRoPQppcyk7Ci0gICAg
ICAgICAgICAgICAgLy8gUmUtZmlyZSBvbkFjdGl2YXRlLCBzbyB0aGUgdGV4dCBpcyB1cGRhdGVk
Ci0gICAgICAgICAgICAgICAgdGhpcy5yZWFjdGl2YXRlKCk7Ci0gICAgICAgICAgICB9LD0yMAot
ICAgICAgICAgICAgZng6IHsgaGVpZ2h0OiAidG9nZ2xlIiwgZHVyYXRpb246IDIwMCB9LAotICAg
ICAgICAgICAgLy8gaW5pdEFqYXggaXMgaGFyZCB0byBmYWtlLCBzbyB3ZSBwYXNzIHRoZSBjaGls
ZHJlbiBhcyBvYmplY3Q9CiBhcnJheToKLSAgICAgICAgICAgIGluaXRBamF4OiB7dXJsOiAiJHto
LnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzdHNfYWRtaW4nLCBhPQpjdGlvbj0zRCdvcGVu
X2ZvbGRlcicgKX0iLAotICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLD0y
MAotICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IHJlcXVlc3RfaWQ6ICIke3RyYW5zLnNl
Y3VyaXR5LmVuY29kZV9pZCggcmU9CnF1ZXN0LmlkICl9IiwgZXh0ZXJuYWxfc2VydmljZV9pZDog
IiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBleHRlcm5hbF9zZT0KcnZpY2UuaWQgKX0iLCBr
ZXk6ICIke3NjcF9jb25maWdzWydkYXRhX2xvY2F0aW9uJ119IiB9LAotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIG9uTGF6eVJlYWQ6IGZ1bmN0aW9uKGR0bm9kZSl7Ci0gICAgICAgICAgICAg
ICAgZHRub2RlLmFwcGVuZEFqYXgoewotICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJs
X2ZvciggY29udHJvbGxlcj0zRCdyZXF1ZXN0c19hZG1pbicsIGFjdGk9Cm9uPTNEJ29wZW5fZm9s
ZGVyJyApfSIsPTIwCi0gICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCi0gICAg
ICAgICAgICAgICAgICAgIGRhdGE6IHsgcmVxdWVzdF9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5j
b2RlX2lkKCByZXF1ZT0Kc3QuaWQgKX0iLCBleHRlcm5hbF9zZXJ2aWNlX2lkOiAiJHt0cmFucy5z
ZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsX3NlcnZpPQpjZS5pZCApfSIsIGtleTogZHRub2Rl
LmRhdGEua2V5IH0sCi0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9LAotICAgICAg
ICAgICAgb25TZWxlY3Q6IGZ1bmN0aW9uKHNlbGVjdCwgZHRub2RlKSB7Ci0gICAgICAgICAgICAg
ICAgLy8gRGlzcGxheSBsaXN0IG9mIHNlbGVjdGVkIG5vZGVzCi0gICAgICAgICAgICAgICAgdmFy
IHNlbE5vZGVzID0zRCBkdG5vZGUudHJlZS5nZXRTZWxlY3RlZE5vZGVzKCk7Ci0gICAgICAgICAg
ICAgICAgLy8gY29udmVydCB0byB0aXRsZS9rZXkgYXJyYXkKLSAgICAgICAgICAgICAgICB2YXIg
c2VsS2V5cyA9M0QgJC5tYXAoc2VsTm9kZXMsIGZ1bmN0aW9uKG5vZGUpewotICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gbm9kZS5kYXRhLmtleTsKLSAgICAgICAgICAgICAgICB9KTsKLSAgICAg
ICAgICAgICAgICBkb2N1bWVudC5zZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXIuc2VsZWN0ZWRf
ZGF0YXNldHNfdG9fPQp0cmFuc2Zlci52YWx1ZSA9M0Qgc2VsS2V5cy5qb2luKCIsIikKLSAgICAg
ICAgICAgIH0sCi0gICAgICAgICAgICBvbkFjdGl2YXRlOiBmdW5jdGlvbihkdG5vZGUpIHsKLSAg
ICAgICAgICAgICAgICB2YXIgY2VsbCA9M0QgJCgiI2ZpbGVfZGV0YWlscyIpOwotICAgICAgICAg
ICAgICAgIHZhciBzZWxlY3RlZF92YWx1ZTsKLSAgICAgICAgICAgICAgICBpZiAoZHRub2RlLmRh
dGEua2V5ID0zRD0zRCAncm9vdCcpIHsKLSAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRfdmFs
dWUgPTNEICIke3NjcF9jb25maWdzWydkYXRhX2xvY2F0aW9uJ119LyI7Ci0gICAgICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRfdmFsdWUgPTNEIGR0bm9k
ZS5kYXRhLmtleTsKLSAgICAgICAgICAgICAgICB9OwotICAgICAgICAgICAgICAgIGlmIChzZWxl
Y3RlZF92YWx1ZS5jaGFyQXQoc2VsZWN0ZWRfdmFsdWUubGVuZ3RoLTEpICE9M0QgJy89CicpIHsK
LSAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBhamF4IGNhbGwKLSAgICAgICAgICAgICAgICAg
ICAgJC5hamF4KCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsCi0gICAg
ICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1
ZXN0c19hZG1pbicsID0KYWN0aW9uPTNEJ2dldF9maWxlX2RldGFpbHMnICl9IiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICBkYXRhOiB7IHJlcXVlc3RfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZChyZT0KcXVl
c3QuaWQpfSIsIGV4dGVybmFsX3NlcnZpY2VfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9p
ZChleHRlcm5hbF9zZXJ2PQppY2UuaWQpfSIsIGZvbGRlcl9wYXRoOiBzZWxlY3RlZF92YWx1ZSB9
LAotICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0aW9uICggZGF0YSApIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmh0bWwoICc8bGFiZWw+JytkYXRhKyc8
L2xhYmVsPicgKQotICAgICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgICAg
ICB9KTsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBjZWxs
Lmh0bWwoICcnICk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIH0sCi0gICAgICAg
IH0pOwotICAgIH0pOwotPC9zY3JpcHQ+Ci0KLTwlCi0gICAgaXNfYWRtaW4gPTNEIGNudHJsbGVy
ID0zRD0zRCAncmVxdWVzdHNfYWRtaW4nIGFuZCB0cmFucy51c2VyX2lzX2FkbWluKCkKLSAgICBj
YW5fdHJhbnNmZXJfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCBzYW1wbGUudW50cmFuc2ZlcnJl
ZF9kYXRhc2V0X2ZpPQpsZXMgYW5kIHNhbXBsZS5saWJyYXJ5IGFuZCBzYW1wbGUuZm9sZGVyCi0l
PgotCi08YnIvPjxici8+Ci08dWwgY2xhc3M9M0QibWFuYWdlLXRhYmxlLWFjdGlvbnMiPgotICAg
IDxsaT48YSBjbGFzcz0zRCJhY3Rpb24tYnV0dG9uIiBocmVmPTNEIiR7aC51cmxfZm9yKCBjb250
cm9sbGVyPTNEJ2V4dGU9CnJuYWxfc2VydmljZScsIGFjdGlvbj0zRCd2aWV3X2V4dGVybmFsX3Nl
cnZpY2UnLCBpZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZT0KX2lkKCBleHRlcm5hbF9zZXJ2aWNl
LmlkICkgKX0iPkV4dGVybmFsIHNlcnZpY2UgY29uZmlndXJhdGlvbjwvYT48L2xpPgotICAgICVp
ZiBjYW5fdHJhbnNmZXJfZGF0YXNldHM6Ci0gICAgICAgIDxsaT48YSBjbGFzcz0zRCJhY3Rpb24t
YnV0dG9uIiBocmVmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJz0KcmVxdWVzdHNfYWRt
aW4nLCBhY3Rpb249M0QnbWFuYWdlX2RhdGFzZXRzJywgY250cmxsZXI9M0RjbnRybGxlciwgc2Ft
cGxlX2lkPQo9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5pZCApICl9Ij5UcmFu
c2ZlciBkYXRhc2V0czwvYT48L2xpPgotICAgICVlbmRpZgotICAgIDxsaT48YSBjbGFzcz0zRCJh
Y3Rpb24tYnV0dG9uIiBocmVmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXU9CmVz
dHNfY29tbW9uJywgYWN0aW9uPTNEJ3ZpZXdfcmVxdWVzdCcsIGNudHJsbGVyPTNEY250cmxsZXIs
IGlkPTNEdHJhbnMuc2VjdT0Kcml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQgKSApfSI+QnJvd3Nl
IHRoaXMgcmVxdWVzdDwvYT48L2xpPgotPC91bD4KLQotJWlmIG5vdCBzYW1wbGU6Ci0gICAgPGJy
Lz4KLSAgICA8Zm9udCBjb2xvcj0zRCJyZWQiPjxiPjxpPlNlbGVjdCBhIHNhbXBsZSBiZWZvcmUg
c2VsZWN0aW5nIGRhdGFzZXRzIHRvPQogdHJhbnNmZXI8L2k+PC9iPjwvZm9udD4KLSAgICA8YnIv
PgotJWVuZGlmCi0KLSVpZiByZXF1ZXN0LnNhbXBsZXNfd2l0aG91dF9saWJyYXJ5X2Rlc3RpbmF0
aW9uczoKLSAgICA8cD4KLSAgICA8Zm9udCBjb2xvcj0zRCJyZWQiPjxiPjxpPlNlbGVjdCBhIHRh
cmdldCBkYXRhIGxpYnJhcnkgYW5kIGZvbGRlciBmb3IgPQphIHNhbXBsZSBiZWZvcmUgc2VsZWN0
aW5nIGl0cyBkYXRhc2V0cyB0byB0cmFuc2ZlciBmcm9tIHRoZSBleHRlcm5hbCBzZXJ2aWM9CmU8
L2k+PC9iPjwvZm9udD4KLSAgICA8L3A+Ci0lZW5kaWYKLQotJWlmIG1lc3NhZ2U6Ci0gICAgJHty
ZW5kZXJfbXNnKCBtZXNzYWdlLCBzdGF0dXMgKX0KLSVlbmRpZgotCi08ZGl2IGNsYXNzPTNEInRv
b2xGb3JtIj4KLSAgICA8ZGl2IGNsYXNzPTNEInRvb2xGb3JtVGl0bGUiPlNlbGVjdCBkYXRhc2V0
cyB0byB0cmFuc2ZlciBmcm9tIGRhdGEgZGlyPQplY3RvcnkgY29uZmlndXJlZCBmb3IgdGhlIGV4
dGVybmFsIHNlcnZpY2U8L2Rpdj4KLSAgICA8Zm9ybSBuYW1lPTNEInNlbGVjdF9kYXRhc2V0c190
b190cmFuc2ZlciIgaWQ9M0Qic2VsZWN0X2RhdGFzZXRzX3RvX3RyPQphbnNmZXIiIGFjdGlvbj0z
RCIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdz
ZWw9CmVjdF9kYXRhc2V0c190b190cmFuc2ZlcicsIGNudHJsbGVyPTNEY250cmxsZXIsIGV4dGVy
bmFsX3NlcnZpY2VfaWQ9M0R0cmFucz0KLnNlY3VyaXR5LmVuY29kZV9pZCggZXh0ZXJuYWxfc2Vy
dmljZS5pZCApLCByZXF1ZXN0X2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jPQpvZGVfaWQoIHJlcXVl
c3QuaWQgKSl9IiBtZXRob2Q9M0QicG9zdCIgPgotICAgICAgICA8ZGl2IGNsYXNzPTNEImZvcm0t
cm93Ij4KLSAgICAgICAgICAgIDxsYWJlbD5TYW1wbGU6PC9sYWJlbD4KLSAgICAgICAgICAgICR7
c2FtcGxlX2lkX3NlbGVjdF9maWVsZC5nZXRfaHRtbCgpfQotICAgICAgICAgICAgPGRpdiBjbGFz
cz0zRCJ0b29sUGFyYW1IZWxwIiBzdHlsZT0zRCJjbGVhcjogYm90aDsiPgotICAgICAgICAgICAg
ICAgIFNlbGVjdCB0aGUgc2FtcGxlIHRoYXQgd2FzIHNlcXVlbmNlZCB0byBwcm9kdWNlIHRoZSBk
YXRhc2U9CnRzIHlvdSB3YW50IHRvIHRyYW5zZmVyLgotICAgICAgICAgICAgPC9kaXY+Ci0gICAg
ICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPTNEImZvcm0tcm93IiA+Ci0gICAgICAgICAg
ICA8bGFiZWw+U2VsZWN0IGRhdGFzZXRzIGZyb20gc291cmNlIGRhdGEgbG9jYXRpb24gZGVmaW5l
ZCBpbiB0aD0KZSBleHRlcm5hbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb246PC9sYWJlbD4KLSAgICAg
ICAgICAgIDxkaXYgaWQ9M0QidHJlZSIgPgotICAgICAgICAgICAgICAgIExvYWRpbmcuLi4KLSAg
ICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPGlucHV0IGlkPTNEInNlbGVjdGVkX2RhdGFz
ZXRzX3RvX3RyYW5zZmVyIiBuYW1lPTNEInNlbGVjdGVkX2Q9CmF0YXNldHNfdG9fdHJhbnNmZXIi
IHR5cGU9M0QiaGlkZGVuIiBzaXplPTNENDAiLz4KLSAgICAgICAgICAgIDxkaXYgY2xhc3M9M0Qi
dG9vbFBhcmFtSGVscCIgc3R5bGU9M0QiY2xlYXI6IGJvdGg7Ij4KLSAgICAgICAgICAgICAgICA8
dWw+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5DbGljayB0aGUgPGI+ZXh0ZXJuYWwgc2Vydmlj
ZSBjb25maWd1cmF0aW9uPC9iPiBidT0KdHRvbiBhbmQgY2hhbmdlIHRoZSA8Yj5EYXRhIGRpcmVj
dG9yeTwvYj4gc2V0dGluZyB0byByZWRlZmluZSB0aGUgc291cmNlIGRhPQp0YSBsb2NhdGlvbi48
L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+U2VsZWN0IGEgZm9sZGVyIHRvIHNlbGVjdCBh
bGwgb2YgdGhlIGluZGl2aWR1YWwgZmk9CmxlcyB3aXRoaW4gdGhhdCBmb2xkZXIuPC9saT4KLSAg
ICAgICAgICAgICAgICAgICAgPGxpPkNsaWNrIHRoZSA8Yj5TZWxlY3QgZGF0YXNldHM8L2I+IGJ1
dHRvbiB3aGVuIGRlc2lyPQplZCBkYXRhc2V0IGNoZWNrIGJveGVzIGFyZSBjaGVja2VkLjwvbGk+
Ci0gICAgICAgICAgICAgICAgPC91bD4KLSAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICAgPTIw
Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPTNEImZvcm0tcm93Ij4KLSAgICAg
ICAgICAgIDxkaXYgaWQ9M0QiZmlsZV9kZXRhaWxzIiBjbGFzcz0zRCJ0b29sUGFyYW1IZWxwIiBz
dHlsZT0zRCJjbGVhPQpyOiBib3RoO2JhY2tncm91bmQtY29sb3I6I0ZBRkFGQTsiPjwvZGl2Pgot
ICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0zRCJmb3JtLXJvdyI+Ci0gICAgICAg
ICAgICA8aW5wdXQgdHlwZT0zRCJzdWJtaXQiIG5hbWU9M0Qic2VsZWN0X2RhdGFzZXRzX3RvX3Ry
YW5zZmVyX2J1dD0KdG9uIiB2YWx1ZT0zRCJTZWxlY3QgZGF0YXNldHMiLz4KLSAgICAgICAgPC9k
aXY+Ci0gICAgPC9mb3JtPgotPC9kaXY+Ci0KLSVpZiBzYW1wbGUgYW5kIHNhbXBsZS5kYXRhc2V0
czoKLSAgICA8JSB0aXRsZSA9M0QgJ0FsbCBzZWxlY3RlZCBkYXRhc2V0cyBmb3IgIiVzIicgJSBz
YW1wbGUubmFtZSAlPgotICAgIDxwLz4KLSAgICAke3JlbmRlcl9zYW1wbGVfZGF0YXNldHMoICdy
ZXF1ZXN0c19hZG1pbicsIHNhbXBsZSwgc2FtcGxlLmRhdGFzZXRzLCB0PQppdGxlICl9Ci0lZW5k
aWYKCmRpZmYgLXIgYzFjYzc2ZmEzZDY2ZWZiMDcwZjE5NjMxNTFjNGFjMGNhZTA0OGYzZiAtciA3
Y2E4ZjBlY2IyYWU4YjFiYTJiNTNlMT0KZmQwOWNjYWU0ODE5NDBhNDkgdGVtcGxhdGVzL2FkbWlu
L3Rvb2xfc2hlZF9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCi0tLSBhL3RlbXBsYXRlcy9hZG1pbi90
b29sX3NoZWRfcmVwb3NpdG9yeS9jb21tb24ubWFrbworKysgYi90ZW1wbGF0ZXMvYWRtaW4vdG9v
bF9zaGVkX3JlcG9zaXRvcnkvY29tbW9uLm1ha28KQEAgLTIzLDE0ICsyMywxNiBAQAogICAgICAg
ICAgICAgICAgIGZ4OiB7IGhlaWdodDogInRvZ2dsZSIsIGR1cmF0aW9uOiAyMDAgfSwKICAgICAg
ICAgICAgICAgICAvLyBpbml0QWpheCBpcyBoYXJkIHRvIGZha2UsIHNvIHdlIHBhc3MgdGhlIGNo
aWxkcmVuIGFzIG9iPQpqZWN0IGFycmF5OgogICAgICAgICAgICAgICAgIGluaXRBamF4OiB7dXJs
OiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNoZWQ9CicsIGFjdGlvbj0z
RCdvcGVuX2ZvbGRlcicgKX0iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6
ICJqc29uIiw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3Bh
dGg6ICIke2RpcmVjdG9yeV9wYXRofGh9IiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YVR5cGU6ICJqc29uIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9s
ZGVyX3BhdGg6ICIke2RpcmVjdG9yeV9wYXRofGh9IiwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmVwb3NpdG9yeV9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlPQpfaWQo
IHJlcG9zaXRvcnkuaWQgKX0iIH0sCiAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAg
ICBvbkxhenlSZWFkOiBmdW5jdGlvbihkdG5vZGUpewogICAgICAgICAgICAgICAgICAgICBkdG5v
ZGUuYXBwZW5kQWpheCh7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2Zv
ciggY29udHJvbGxlcj0zRCdhZG1pbl90b29sc2hlZCcsID0KYWN0aW9uPTNEJ29wZW5fZm9sZGVy
JyApfSIsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2ZvciggY29u
dHJvbGxlcj0zRCdhZG1pbl90b29sc2hlZCcsID0KYWN0aW9uPTNEJ29wZW5fZm9sZGVyJyApfSIs
CiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogZHRub2RlLmRhdGEua2V5IH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiBkdG5vZGUuZGF0YS5rZXks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlfaWQ6ICIke3RyYW5z
LnNlY3VyaXR5LmVuY29kZV9pZD0KKCByZXBvc2l0b3J5LmlkICl9IiB9LAogICAgICAgICAgICAg
ICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIG9uU2VsZWN0
OiBmdW5jdGlvbihzZWxlY3QsIGR0bm9kZSkgewpAQCAtNTUsNyArNTcsNyBAQAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdhZG1pbl90b29sc2hlPQpkJywg
YWN0aW9uPTNEJ2dldF9maWxlX2NvbnRlbnRzJyApfSIsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGF0YVR5cGU6ICJqc29uIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh
OiB7IGZpbGVfcGF0aDogc2VsZWN0ZWRfdmFsdWUgfSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkYXRhOiB7IGZpbGVfcGF0aDogc2VsZWN0ZWRfdmFsdWUsIHJlcG9zaXRvcnlfPQppZDog
IiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZXBvc2l0b3J5LmlkICl9IiB9LAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbiggZGF0YSApIHsKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC5odG1sKCAnPGxhYmVsPicrZGF0YSsnPC9s
YWJlbD4nICkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgpkaWZmIC1yIGMxY2M3NmZh
M2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYwZWNiMmFlOGIxYmEyYjUz
ZTE9CmZkMDljY2FlNDgxOTQwYTQ5IHRlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9j
b21tb24vY29tbW9uLm1ha28KLS0tIGEvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3Rz
L2NvbW1vbi9jb21tb24ubWFrbworKysgYi90ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVz
dHMvY29tbW9uL2NvbW1vbi5tYWtvCkBAIC0zMzMsNyArMzMzLDYgQEAKICAgICAgICBjYW5fYWRk
X3NhbXBsZXMgPTNEIGlzX3Vuc3VibWl0dGVkCiAgICAgY2FuX2RlbGV0ZV9zYW1wbGVzID0zRCBu
b3QgYWRkaW5nX25ld19zYW1wbGVzIGFuZCByZXF1ZXN0LnNhbXBsZXMgYW5kID0KKCAoIGlzX2Fk
bWluIGFuZCBub3QgaXNfY29tcGxldGUgKSBvciBpc191bnN1Ym1pdHRlZCApCiAgICAgY2FuX2Vk
aXRfc2FtcGxlcyA9M0QgcmVxdWVzdC5zYW1wbGVzIGFuZCAoIGlzX2FkbWluIG9yIG5vdCBpc19j
b21wbGV0ZT0KICkKLSAgICBjYW5fc2VsZWN0X2RhdGFzZXRzID0zRCBpc19hZG1pbiBhbmQgZGlz
cGxheWFibGVfc2FtcGxlX3dpZGdldHMgYW5kICggPQppc19zdWJtaXR0ZWQgb3IgaXNfY29tcGxl
dGUgKQogICAgIGNhbl90cmFuc2Zlcl9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kIHJlcXVlc3Qu
c2FtcGxlcyBhbmQgbm90IHJlcXVlc3Q9Ci5pc19yZWplY3RlZAogICAgIGRpc3BsYXlfY2hlY2ti
b3hlcyA9M0Qgbm90IGFkZGluZ19uZXdfc2FtcGxlcyBhbmQgKCBpc19jb21wbGV0ZSBvciBpc189
CnJlamVjdGVkIG9yIGlzX3N1Ym1pdHRlZCApCiAgICAgZGlzcGxheV9iYXJfY29kZSA9M0QgcmVx
dWVzdC5zYW1wbGVzIGFuZCAoIGlzX2NvbXBsZXRlIG9yIGlzX3JlamVjdGVkID0Kb3IgaXNfc3Vi
bWl0dGVkICkKQEAgLTQwNyw3ICs0MDYsNyBAQAogICAgICAgICAgICAgICAgICVlbGlmIHNhbXBs
ZToKICAgICAgICAgICAgICAgICAgICAgPHRyPjx0ZD4KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAlaWYgc2FtcGxlLnN0YXRlIGFuZCAoIGNhbl9zZWxlY3RfZGF0YXNldHMgb3IgPQpjYW5f
dHJhbnNmZXJfZGF0YXNldHMgKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlaWYgc2Ft
cGxlLnN0YXRlIGFuZCBjYW5fdHJhbnNmZXJfZGF0YXNldHM6CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICMjIEEgc2FtcGxlIHdpbGwgaGF2ZSBhIHN0YXRlIG9ubHkgYWZ0ZXIgdD0K
aGUgcmVxdWVzdCBoYXMgYmVlbiBzdWJtaXR0ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDwlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmNvZGVkX2lk
ID0zRCB0cmFucy5zZWN1cml0eS5lbmNvZGVfaT0KZCggc2FtcGxlLmlkICkKQEAgLTQxOSwxNCAr
NDE4LDYgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPTNE
InZpZXctaW5mbyIgaHJlZj0zRCIke2gudXJsPQpfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3Rz
X2NvbW1vbicsIGFjdGlvbj0zRCd2aWV3X3NhbXBsZScsIGNudHJsbGVyPTNEY249CnRybGxlciwg
aWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5pZCApICl9Ij4ke3NhbXBsZS5u
YW1lIHwgaH08Lz0KYT48L2Rpdj48ZGl2IHBvcHVwbWVudT0zRCJzYW1wbGUtJHtzYW1wbGUuaWR9
LXBvcHVwIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVpZiBjYW5fc2Vs
ZWN0X2RhdGFzZXRzOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVm
b3IgZXh0ZXJuYWxfc2VydmljZSBpbiBzYW1wbGUucmU9CnF1ZXN0LnR5cGUuZ2V0X2V4dGVybmFs
X3NlcnZpY2VzX2Zvcl9tYW51YWxfZGF0YV90cmFuc2ZlciggdHJhbnMgKToKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCUKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnVfaXRlbV9sYWJlbCA9M0QgIlNlbGVjPQp0
IGRhdGFzZXRzIHRvIHRyYW5zZmVyIHVzaW5nICVzIiAlIGV4dGVybmFsX3NlcnZpY2UubmFtZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlPgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9u
LWJ1dHRvbiI9CiBocmVmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3RzX2Fk
bWluJywgYWN0aW9uPTNEJ3NlbGVjdF9kYXRhcz0KZXRzX3RvX3RyYW5zZmVyJywgZXh0ZXJuYWxf
c2VydmljZV9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggZXh0ZXJuYWxfPQpzZXJ2aWNl
LmlkICksIHJlcXVlc3RfaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQg
KSwgc2FtcGxlX2k9CmQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5pZCApICl9
Ij4ke21lbnVfaXRlbV9sYWJlbH08L2E+PC9saT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAlZW5kZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAlZW5kaWYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVpZiBzYW1wbGUu
ZGF0YXNldHMgYW5kIGxlbiggc2FtcGxlLmRhPQp0YXNldHMgKSA+IGxlbiggdHJhbnNmZXJyZWRf
ZGF0YXNldF9maWxlcyApIGFuZCBzYW1wbGUubGlicmFyeSBhbmQgc2FtcGxlLmY9Cm9sZGVyOgog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz0zRCJh
Y3Rpb24tYnV0dG9uIiBocmU9CmY9M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVz
dHNfYWRtaW4nLCBhY3Rpb249M0QnbWFuYWdlX2RhdGFzZXRzJz0KLCBzYW1wbGVfaWQ9M0R0cmFu
cy5zZWN1cml0eS5lbmNvZGVfaWQoIHNhbXBsZS5pZCApICl9Ij5NYW5hZ2Ugc2VsZWN0ZWQgZGF0
PQphc2V0czwvYT48L2xpPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJWVs
aWYgc2FtcGxlLmRhdGFzZXRzIGFuZCBsZW4oIHNhbXBsZS49CmRhdGFzZXRzICkgPTNEPTNEIGxl
biggdHJhbnNmZXJyZWRfZGF0YXNldF9maWxlcyApOgpAQCAtNjY1LDcgKzY1Niw2IEBACiAgICAg
ICAgICAgICBpc19hZG1pbiA9M0QgY250cmxsZXIgPTNEPTNEICdyZXF1ZXN0c19hZG1pbicgYW5k
IHRyYW5zLnVzZXJfaT0Kc19hZG1pbigpCiAgICAgICAgICAgICBpc19jb21wbGV0ZSA9M0Qgc2Ft
cGxlLnJlcXVlc3QuaXNfY29tcGxldGUKICAgICAgICAgICAgIGlzX3N1Ym1pdHRlZCA9M0Qgc2Ft
cGxlLnJlcXVlc3QuaXNfc3VibWl0dGVkCi0gICAgICAgICAgICBjYW5fc2VsZWN0X2RhdGFzZXRz
ID0zRCBpc19hZG1pbiBhbmQgKCBpc19jb21wbGV0ZSBvciBpc19zdWJtaT0KdHRlZCApCiAgICAg
ICAgICAgICBjYW5fdHJhbnNmZXJfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCBzYW1wbGUudW50
cmFuc2ZlcnJlZF9kYT0KdGFzZXRfZmlsZXMKICAgICAgICAgJT4KICAgICAgICAgIyMgVGhlIHRy
YW5zZmVyIHN0YXR1cyBzaG91bGQgdXBkYXRlIG9ubHkgd2hlbiB0aGUgcmVxdWVzdCBoYXMgYmVl
PQpuIHN1Ym1pdHRlZCBvciBjb21wbGV0ZQoKZGlmZiAtciBjMWNjNzZmYTNkNjZlZmIwNzBmMTk2
MzE1MWM0YWMwY2FlMDQ4ZjNmIC1yIDdjYThmMGVjYjJhZThiMWJhMmI1M2UxPQpmZDA5Y2NhZTQ4
MTk0MGE0OSB0ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL3ZpZXdfcmVx
dWVzdF9oaXM9CnRvcnkubWFrbwotLS0gYS90ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVz
dHMvY29tbW9uL3ZpZXdfcmVxdWVzdF9oaXN0b3J5Lm1ha28KKysrIGIvdGVtcGxhdGVzL3dlYmFw
cHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi92aWV3X3JlcXVlc3RfaGlzdG9yeS5tYWtvCkBAIC0x
MSw3ICsxMSw2IEBACiAgICAgY2FuX2FkZF9zYW1wbGVzID0zRCBpc191bnN1Ym1pdHRlZAogICAg
IGNhbl9lZGl0X3JlcXVlc3QgPTNEICggaXNfYWRtaW4gYW5kIG5vdCBpc19jb21wbGV0ZSApIG9y
IGlzX3Vuc3VibWl0dGVkCiAgICAgY2FuX3JlamVjdCA9M0QgaXNfYWRtaW4gYW5kIGlzX3N1Ym1p
dHRlZAotICAgIGNhbl9zZWxlY3RfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCAoIGlzX2NvbXBs
ZXRlIG9yIGlzX3N1Ym1pdHRlZCApCiAgICAgY2FuX3N1Ym1pdF9yZXF1ZXN0ID0zRCByZXF1ZXN0
LnNhbXBsZXMgYW5kIGlzX3Vuc3VibWl0dGVkCiAlPgo9MjAKCmRpZmYgLXIgYzFjYzc2ZmEzZDY2
ZWZiMDcwZjE5NjMxNTFjNGFjMGNhZTA0OGYzZiAtciA3Y2E4ZjBlY2IyYWU4YjFiYTJiNTNlMT0K
ZmQwOWNjYWU0ODE5NDBhNDkgdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1v
bi92aWV3X3NhbXBsZV9kYXRhPQpzZXRzLm1ha28KLS0tIGEvdGVtcGxhdGVzL3dlYmFwcHMvZ2Fs
YXh5L3JlcXVlc3RzL2NvbW1vbi92aWV3X3NhbXBsZV9kYXRhc2V0cy5tYWtvCisrKyBiL3RlbXBs
YXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmlld19zYW1wbGVfZGF0YXNldHMu
bWFrbwpAQCAtMTIsNyArMTIsNiBAQAogICAgIGlzX2FkbWluID0zRCBjbnRybGxlciA9M0Q9M0Qg
J3JlcXVlc3RzX2FkbWluJyBhbmQgdHJhbnMudXNlcl9pc19hZG1pbigpCiAgICAgaXNfY29tcGxl
dGUgPTNEIHNhbXBsZS5yZXF1ZXN0LmlzX2NvbXBsZXRlCiAgICAgaXNfc3VibWl0dGVkID0zRCBz
YW1wbGUucmVxdWVzdC5pc19zdWJtaXR0ZWQKLSAgICBjYW5fc2VsZWN0X2RhdGFzZXRzID0zRCBp
c19hZG1pbiBhbmQgKCBpc19jb21wbGV0ZSBvciBpc19zdWJtaXR0ZWQgKQogICAgIGNhbl90cmFu
c2Zlcl9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kIHNhbXBsZS51bnRyYW5zZmVycmVkX2RhdGFz
ZXRfZmk9CmxlcyBhbmQgc2FtcGxlLmxpYnJhcnkgYW5kIHNhbXBsZS5mb2xkZXIKICU+Cj0yMApA
QCAtMjQsOSArMjMsNiBAQAogICAgICVlbmRpZgogICAgIDxsaT48YSBjbGFzcz0zRCJhY3Rpb24t
YnV0dG9uIiBpZD0zRCJzYW1wbGUtJHtzYW1wbGUuaWR9LXBvcHVwIiBjbGFzcz0KPTNEIm1lbnVi
dXR0b24iPkRhdGFzZXQgQWN0aW9uczwvYT48L2xpPjxkaXYgcG9wdXBtZW51PTNEInNhbXBsZS0k
e3NhbXBsZS5pPQpkfS1wb3B1cCI+Ci0gICAgICAgICVpZiBjYW5fc2VsZWN0X2RhdGFzZXRzOgot
ICAgICAgICAgICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVy
bF9mb3IoIGNvbnRyb2xsZXI9Cj0zRCdyZXF1ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdzZWxlY3Rf
ZGF0YXNldHNfdG9fdHJhbnNmZXInLCBjbnRybGxlcj0zRGNudD0KcmxsZXIsIGV4dGVybmFsX3Nl
cnZpY2VfaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2UuaWQg
PQopLCByZXF1ZXN0X2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUucmVxdWVz
dC5pZCApLCBzYW1wbGVfaWQ9M0Q9CnRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxlLmlk
ICkgKX0iPlNlbGVjdCBtb3JlIGRhdGFzZXRzPC9hPjwvbGk+Ci0gICAgICAgICVlbmRpZgogICAg
ICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2Zvcigg
Y29udHJvbGxlcj0zRCc9CmxpYnJhcnlfY29tbW9uJywgYWN0aW9uPTNEJ2Jyb3dzZV9saWJyYXJ5
JywgY250cmxsZXI9M0RjbnRybGxlciwgaWQ9M0R0cmFucz0KLnNlY3VyaXR5LmVuY29kZV9pZCgg
c2FtcGxlLmxpYnJhcnkuaWQgKSApfSI+VmlldyB0YXJnZXQgRGF0YSBMaWJyYXJ5PC9hPjwvPQps
aT48bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2ZvciggY29u
dHJvbGxlcj0zRCdyZXF1ZXM9CnRzX2NvbW1vbicsIGFjdGlvbj0zRCd2aWV3X3JlcXVlc3QnLCBj
bnRybGxlcj0zRGNudHJsbGVyLCBpZD0zRHRyYW5zLnNlY3VyaT0KdHkuZW5jb2RlX2lkKCBzYW1w
bGUucmVxdWVzdC5pZCApICl9Ij5Ccm93c2UgdGhpcyByZXF1ZXN0PC9hPjwvbGk+PC9kaXY+Cgpk
aWZmIC1yIGMxY2M3NmZhM2Q2NmVmYjA3MGYxOTYzMTUxYzRhYzBjYWUwNDhmM2YgLXIgN2NhOGYw
ZWNiMmFlOGIxYmEyYjUzZTE9CmZkMDljY2FlNDgxOTQwYTQ5IHRlbXBsYXRlcy93ZWJhcHBzL3Rv
b2xfc2hlZC9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCi0tLSBhL3RlbXBsYXRlcy93ZWJhcHBzL3Rv
b2xfc2hlZC9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCisrKyBiL3RlbXBsYXRlcy93ZWJhcHBzL3Rv
b2xfc2hlZC9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCkBAIC0yMSwxNCArMjEsMTQgQEAKICAgICAg
ICAgICAgICAgICBmeDogeyBoZWlnaHQ6ICJ0b2dnbGUiLCBkdXJhdGlvbjogMjAwIH0sCiAgICAg
ICAgICAgICAgICAgLy8gaW5pdEFqYXggaXMgaGFyZCB0byBmYWtlLCBzbyB3ZSBwYXNzIHRoZSBj
aGlsZHJlbiBhcyBvYj0KamVjdCBhcnJheToKICAgICAgICAgICAgICAgICBpbml0QWpheDoge3Vy
bDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcG9zaXRvcnknLCBhPQpjdGlvbj0zRCdv
cGVuX2ZvbGRlcicgKX0iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJq
c29uIiw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3BhdGg6
ICIke3JlcG9zaXRvcnkucmVwb19wYXRoKCB0PQpyYW5zLmFwcCApfSIgfSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiAiJHtyZXBvc2l0b3J5LnJlcG9fcGF0aCggdD0KcmFu
cy5hcHAgKX0iLCByZXBvc2l0b3J5X2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJl
cG9zaXRvcnkuaWQgKX0iPQogIH0sCiAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAg
ICBvbkxhenlSZWFkOiBmdW5jdGlvbihkdG5vZGUpewogICAgICAgICAgICAgICAgICAgICBkdG5v
ZGUuYXBwZW5kQWpheCh7Ci0gICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2Zv
ciggY29udHJvbGxlcj0zRCdyZXBvc2l0b3J5JywgYWN0aT0Kb249M0Qnb3Blbl9mb2xkZXInICl9
Iiw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9s
bGVyPTNEJ3JlcG9zaXRvcnknLCBhY3RpPQpvbj0zRCdvcGVuX2ZvbGRlcicgKX0iLAogICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGRhdGE6IHsgZm9sZGVyX3BhdGg6IGR0bm9kZS5kYXRhLmtleSB9LAorICAgICAgICAgICAg
ICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogZHRub2RlLmRhdGEua2V5LCByZXBvc2l0
b3J5X2k9CmQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVwb3NpdG9yeS5pZCApfSIg
IH0sCiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgb25TZWxlY3Q6IGZ1bmN0aW9uKHNlbGVjdCwgZHRub2RlKSB7CkBAIC02MSw3ICs2
MSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3Jl
cG9zaXRvcnknLCA9CmFjdGlvbj0zRCdnZXRfZmlsZV9jb250ZW50cycgKX0iLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGF0YTogeyBmaWxlX3BhdGg6IHNlbGVjdGVkX3ZhbHVlIH0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZGF0YTogeyBmaWxlX3BhdGg6IHNlbGVjdGVkX3ZhbHVlLCByZXBv
c2l0b3J5Xz0KaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVwb3NpdG9yeS5pZCAp
fSIgfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzIDogZnVuY3Rpb24gKCBk
YXRhICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmh0bWwoICc8bGFi
ZWw+JytkYXRhKyc8L2xhYmVsPicgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCgpo
dHRwczovL2JpdGJ1Y2tldC5vcmcvZ2FsYXh5L2dhbGF4eS1jZW50cmFsL2NvbW1pdHMvN2RkYjQx
ZGNiMmIyLwpDaGFuZ2VzZXQ6ICAgN2RkYjQxZGNiMmIyCkJyYW5jaDogICAgICByZWxlYXNlXzE1
LjAzClVzZXI6ICAgICAgICBuYXRlZm9vCkRhdGU6ICAgICAgICAyMDE2LTAyLTI0IDIwOjUzOjM1
KzAwOjAwClN1bW1hcnk6ICAgICBSZWxlYXNlIDE1LjAzLjQKQWZmZWN0ZWQgIzogIDI3IGZpbGVz
CgpkaWZmIC1yIDFmMzQwNzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2Rk
YjQxZGNiMmIyZTRkM2E2ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvZXhjZXB0
aW9ucy9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L2V4Y2VwdGlvbnMvX19pbml0X18ucHkK
KysrIGIvbGliL2dhbGF4eS9leGNlcHRpb25zL19faW5pdF9fLnB5CkBAIC03MSw2ICs3MSwxMSBA
QAogICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rlcy5NQUxGT1JNRURfSUQKPTIwCj0yMAorY2xh
c3MgTWFsZm9ybWVkQ29udGVudHMoIE1lc3NhZ2VFeGNlcHRpb24gKToKKyAgICBzdGF0dXNfY29k
ZSA9M0QgNDAwCisgICAgZXJyX2NvZGUgPTNEIGVycm9yX2NvZGVzLk1BTEZPUk1FRF9DT05URU5U
UworCisKIGNsYXNzIFVua25vd25Db250ZW50c1R5cGUoIE1lc3NhZ2VFeGNlcHRpb24gKToKICAg
ICBzdGF0dXNfY29kZSA9M0QgNDAwCiAgICAgZXJyX2NvZGUgPTNEIGVycm9yX2NvZGVzLlVOS05P
V05fQ09OVEVOVFNfVFlQRQoKZGlmZiAtciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJj
MzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBs
aWIvZ2FsYXh5L2V4Y2VwdGlvbnMvZXJyb3JfY29kZXMuanNvbgotLS0gYS9saWIvZ2FsYXh5L2V4
Y2VwdGlvbnMvZXJyb3JfY29kZXMuanNvbgorKysgYi9saWIvZ2FsYXh5L2V4Y2VwdGlvbnMvZXJy
b3JfY29kZXMuanNvbgpAQCAtNjEsMTAgKzYxLDE1IEBACiAgICAgfSwKICAgIHsKICAgICAibmFt
ZSI6ICJVU0VSX1RPT0xfTUVUQV9QQVJBTUVURVJfUFJPQkxFTSIsCi0gICAgImNvZGUiOiA0MDAw
MTEsCisgICAgImNvZGUiOiA0MDAwMTIsCiAgICAgIm1lc3NhZ2UiOiAiU3VwcGxpZWQgaW5jb3Jy
ZWN0IG9yIGluY29tcGF0aWJsZSB0b29sIG1ldGEgcGFyYW1ldGVycy4iCiAgICB9LAogICAgewor
ICAgICJuYW1lIjogIk1BTEZPUk1FRF9DT05URU5UUyIsCisgICAgImNvZGUiOiA0MDAwMTMsCisg
ICAgIm1lc3NhZ2UiOiAiVGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0IGFyZSBtYWxmb3JtZWQu
IgorICAgIH0sCisgICB7CiAgICAgIm5hbWUiOiAiVVNFUl9BVVRIRU5USUNBVElPTl9GQUlMRUQi
LAogICAgICJjb2RlIjogNDAxMDAxLAogICAgICJtZXNzYWdlIjogIkF1dGhlbnRpY2F0aW9uIGZh
aWxlZCwgaW52YWxpZCBjcmVkZW50aWFscyBzdXBwbGllZC4iCgpkaWZmIC1yIDFmMzQwNzJkNDcz
Zjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2ZjgzNGQ9
CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvbW9kZWwvX19pbml0X18ucHkKLS0tIGEvbGli
L2dhbGF4eS9tb2RlbC9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L21vZGVsL19faW5pdF9f
LnB5CkBAIC01LDE1ICs1LDExIEBACiB0aGUgcmVsYXRpb25zaGlwIGNhcmRpbmFsaXRpZXMgYXJl
IG9idmlvdXMgKGUuZy4gcHJlZmVyIERhdGFzZXQgdG8gRGF0YSkKICIiIgo9MjAKLWZyb20gZ2Fs
YXh5IGltcG9ydCBlZ2dzCi1lZ2dzLnJlcXVpcmUoInBleHBlY3QiKQotCiBpbXBvcnQgY29kZWNz
CiBpbXBvcnQgZXJybm8KIGltcG9ydCBsb2dnaW5nCiBpbXBvcnQgb3BlcmF0b3IKIGltcG9ydCBv
cwotaW1wb3J0IHBleHBlY3QKIGltcG9ydCBqc29uCiBpbXBvcnQgc29ja2V0CiBpbXBvcnQgdGlt
ZQpAQCAtMzkzNywyNyArMzkzMyw2IEBACiAgICAgICAgICAgICAgICAgdW50cmFuc2ZlcnJlZF9k
YXRhc2V0cy5hcHBlbmQoIGRhdGFzZXQgKQogICAgICAgICByZXR1cm4gdW50cmFuc2ZlcnJlZF9k
YXRhc2V0cwo9MjAKLSAgICBkZWYgZ2V0X3VudHJhbnNmZXJyZWRfZGF0YXNldF9zaXplKCBzZWxm
LCBmaWxlcGF0aCwgc2NwX2NvbmZpZ3MgKToKLSAgICAgICAgZGVmIHByaW50X3RpY2tzKCBkICk6
Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVycm9yX21zZyA9M0QgJ0Vycm9yIGVuY291bnRl
cmVkIGluIGRldGVybWluaW5nIHRoZSBmaWxlIHNpemUgb2YgJT0KcyBvbiB0aGUgZXh0ZXJuYWxf
c2VydmljZS4nICUgZmlsZXBhdGgKLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzWydob3N0J10g
b3Igbm90IHNjcF9jb25maWdzWyd1c2VyX25hbWUnXSBvciBub3QgPQpzY3BfY29uZmlnc1sncGFz
c3dvcmQnXToKLSAgICAgICAgICAgIHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgbG9naW5fc3Ry
ID0zRCAnJXNAJXMnICUgKCBzY3BfY29uZmlnc1sndXNlcl9uYW1lJ10sIHNjcF9jb25maWdzWydo
PQpvc3QnXSApCi0gICAgICAgIGNtZCAgPTNEICdzc2ggJXMgImR1IC1zaCBcJyVzXCciJyAlICgg
bG9naW5fc3RyLCBmaWxlcGF0aCApCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1dCA9
M0QgcGV4cGVjdC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl
dmVudHM9M0R7ICcuc3N3b3JkOionOiBzY3BfY29uZmlnc1sncGFzPQpzd29yZCddKydcclxuJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXhwZWN0LlRJTUVP
VVQ6cHJpbnRfdGlja3N9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv
dXQ9M0QxMCApCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4g
ZXJyb3JfbXNnCi0gICAgICAgICMgY2xlYW51cCB0aGUgb3V0cHV0IHRvIGdldCBqdXN0IHRoZSBm
aWxlIHNpemUKLSAgICAgICAgcmV0dXJuICBvdXRwdXQucmVwbGFjZSggZmlsZXBhdGgsICcnIClc
Ci0gICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICdQYXNzd29yZDonLCAnJyApXAotICAg
ICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCAiJ3MgcGFzc3dvcmQ6IiwgJycgKVwKLSAgICAg
ICAgICAgICAgICAgICAgICAucmVwbGFjZSggbG9naW5fc3RyLCAnJyApXAotICAgICAgICAgICAg
ICAgICAgICAgIC5zdHJpcCgpCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHJ1bl9kZXRhaWxzKCBz
ZWxmICk6CiAgICAgICAgICMgc2VsZi5ydW5zIGlzIGEgbGlzdCBvZiBTYW1wbGVSdW5Bc3NvY2lh
dGlvbnMgb3JkZXJlZCBkZXNjZW5kaW5nID0Kb24gdXBkYXRlX3RpbWUuCgpkaWZmIC1yIDFmMzQw
NzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2
ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvb2JqZWN0c3RvcmUvX19pbml0X18u
cHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9fX2luaXRfXy5weQorKysgYi9saWIvZ2Fs
YXh5L29iamVjdHN0b3JlL19faW5pdF9fLnB5CkBAIC0xMSw3ICsxMSw3IEBACiBpbXBvcnQgdGhy
ZWFkaW5nCiBmcm9tIHhtbC5ldHJlZSBpbXBvcnQgRWxlbWVudFRyZWUKPTIwCi1mcm9tIGdhbGF4
eS51dGlsIGltcG9ydCB1bWFza19maXhfcGVybXMsIGZvcmNlX3N5bWxpbmsKK2Zyb20gZ2FsYXh5
LnV0aWwgaW1wb3J0IHVtYXNrX2ZpeF9wZXJtcywgZm9yY2Vfc3ltbGluaywgc2FmZV9yZWxwYXRo
CiBmcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3RJbnZhbGlkLCBPYmplY3ROb3RG
b3VuZAogZnJvbSBnYWxheHkudXRpbC5zbGVlcGVyIGltcG9ydCBTbGVlcGVyCiBmcm9tIGdhbGF4
eS51dGlsLmRpcmVjdG9yeV9oYXNoIGltcG9ydCBkaXJlY3RvcnlfaGFzaF9pZApAQCAtMjU2LDcg
KzI1NiwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21wb3NlZCBkaXJlY3Rv
cnkgc3RydWN0dXJlIGRvZXMgbm90IGluY2x1ZGU9CiBhIGhhc2ggaWQKICAgICAgICAgICAgICAg
ICAgICAgICAgICAoZS5nLiwgL2ZpbGVzL2RhdGFzZXRfMTAuZGF0IChvbGQpIHZzLiAvZmlsZXMv
MDAwPQovZGF0YXNldF8xMC5kYXQgKG5ldykpCiAgICAgICAgICIiIgotICAgICAgICBiYXNlID0z
RCBzZWxmLmV4dHJhX2RpcnMuZ2V0KGJhc2VfZGlyLCBzZWxmLmZpbGVfcGF0aCkKKyAgICAgICAg
YmFzZSA9M0Qgb3MucGF0aC5hYnNwYXRoKHNlbGYuZXh0cmFfZGlycy5nZXQoYmFzZV9kaXIsIHNl
bGYuZmlsZV9wPQphdGgpKQorICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUgY29u
c3RydWN0ZWQgZnJvbSBwcm92aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBzdXJl
IHRoZXJlIGFyZSBubyBzaGVuYW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGlyIGFu
ZCBleHRyYV9kaXIgIT0zRCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAgICAg
ICBsb2cud2FybmluZygnZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJhX2Rp
cikKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0
IGlzIGludmFsaWQiKQorICAgICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0b3J5
IHJlZmVyZW5jZXMgaW4gYWx0X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGluIGEg
cGF0aCBub3QgY29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0KIGhl
cmUKKyAgICAgICAgaWYgYWx0X25hbWUgYW5kIG5vdCBzYWZlX3JlbHBhdGgoYWx0X25hbWUpOgor
ICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxkIGxvY2F0ZSBwYXRoIG91dHNp
ZGUgZGlyOiAlcycsIGFsdF89Cm5hbWUpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlk
KCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKICAgICAgICAgaWYgb2xkX3N0eWxl
OgogICAgICAgICAgICAgaWYgZXh0cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgICAg
IHBhdGggPTNEIG9zLnBhdGguam9pbihiYXNlLCBleHRyYV9kaXIpCkBAIC02MjMsOSArNjMzLDEw
IEBACiAgICAgZWxpZiBzdG9yZSA9M0Q9M0QgJ2lyb2RzJzoKICAgICAgICAgZnJvbSAucm9kcyBp
bXBvcnQgSVJPRFNPYmplY3RTdG9yZQogICAgICAgICByZXR1cm4gSVJPRFNPYmplY3RTdG9yZShj
b25maWc9M0Rjb25maWcsIGNvbmZpZ194bWw9M0Rjb25maWdfeG1sKQotICAgIGVsaWYgc3RvcmUg
PTNEPTNEICdwdWxzYXInOgotICAgICAgICBmcm9tIC5wdWxzYXIgaW1wb3J0IFB1bHNhck9iamVj
dFN0b3JlCi0gICAgICAgIHJldHVybiBQdWxzYXJPYmplY3RTdG9yZShjb25maWc9M0Rjb25maWcs
IGNvbmZpZ194bWw9M0Rjb25maWdfeG1sKQorICAgICMgRGlzYWJsZSB0aGUgUHVsc2FyIG9iamVj
dCBzdG9yZSBmb3Igbm93IHVudGlsIGl0IHJlY2VpdmVzIHNvbWUgYXR0ZW49CnRpb24KKyAgICAj
IGVsaWYgc3RvcmUgPTNEPTNEICdwdWxzYXInOgorICAgICMgICAgZnJvbSAucHVsc2FyIGltcG9y
dCBQdWxzYXJPYmplY3RTdG9yZQorICAgICMgICAgcmV0dXJuIFB1bHNhck9iamVjdFN0b3JlKGNv
bmZpZz0zRGNvbmZpZywgY29uZmlnX3htbD0zRGNvbmZpZ194bWwpCiAgICAgZWxzZToKICAgICAg
ICAgbG9nLmVycm9yKCJVbnJlY29nbml6ZWQgb2JqZWN0IHN0b3JlIGRlZmluaXRpb246IHswfSIu
Zm9ybWF0KHN0b3JlPQopKQo9MjAKCmRpZmYgLXIgMWYzNDA3MmQ0NzNmODcxYjkwYmYxYjJiY2M2
YTcyYzMyMjQyMDAxZCAtciA3ZGRiNDFkY2IyYjJlNGQzYTZmODM0ZD0KM2RkMTE0MjZmMjZmYjc5
MDIgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5Ci0tLSBhL2xpYi9nYWxheHkvb2JqZWN0
c3RvcmUvcm9kcy5weQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0b3JlL3JvZHMucHkKQEAgLTEy
LDcgKzEyLDggQEAKIGZyb20gcG9zaXhwYXRoIGltcG9ydCBiYXNlbmFtZSBhcyBwYXRoX2Jhc2Vu
YW1lCiBmcm9tIHBvc2l4cGF0aCBpbXBvcnQgZGlybmFtZSBhcyBwYXRoX2Rpcm5hbWUKPTIwCi1m
cm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3ROb3RGb3VuZAorZnJvbSBnYWxheHku
ZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQsIE9iamVjdEludmFsaWQKK2Zyb20gZ2Fs
YXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVscGF0aAogZnJvbSAuLm9iamVjdHN0b3JlIGltcG9ydCBE
aXNrT2JqZWN0U3RvcmUsIE9iamVjdFN0b3JlLCBsb2NhbF9leHRyYV9kaXJzCj0yMAogdHJ5OgpA
QCAtNzEsNiArNzIsMjAgQEAKICAgICAgICAgbG9nLmluZm8oICJpUk9EUyBkYXRhIGZvciB0aGlz
IGluc3RhbmNlIHdpbGwgYmUgc3RvcmVkIGluIGNvbGxlY3RpPQpvbjogJXMsIHJlc291cmNlOiAl
cyIsIHNlbGYucm9vdF9jb2xsZWN0aW9uX3BhdGgsIHNlbGYuZGVmYXVsdF9yZXNvdXJjZSApCj0y
MAogICAgIGRlZiBfX2dldF9yb2RzX3BhdGgoIHNlbGYsIG9iaiwgYmFzZV9kaXI9M0ROb25lLCBk
aXJfb25seT0zREZhbHNlLCBleHQ9CnJhX2Rpcj0zRE5vbmUsIGV4dHJhX2Rpcl9hdF9yb290PTNE
RmFsc2UsIGFsdF9uYW1lPTNETm9uZSwgc3RyaXBfZGF0PTNEVHJ1ZT0KLCAqKmt3YXJncyApOgor
ICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUgY29uc3RydWN0ZWQgZnJvbSBwcm92
aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBzdXJlIHRoZXJlIGFyZSBubyBzaGVu
YW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGlyIGFuZCBleHRyYV9kaXIgIT0zRCBv
cy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAgICAgICBsb2cud2FybmluZygnZXh0
cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJhX2RpcikKKyAgICAgICAgICAgIHJh
aXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGludmFsaWQiKQorICAg
ICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0b3J5IHJlZmVyZW5jZXMgaW4gYWx0
X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGluIGEgcGF0aCBub3QgY29udGFpbmVk
IGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0KIGhlcmUKKyAgICAgICAgaWYgYWx0
X25hbWU6CisgICAgICAgICAgICBpZiBub3Qgc2FmZV9yZWxwYXRoKGFsdF9uYW1lKToKKyAgICAg
ICAgICAgICAgICBsb2cud2FybmluZygnYWx0X25hbWUgd291bGQgbG9jYXRlIHBhdGggb3V0c2lk
ZSBkaXI6ICVzJywgPQphbHRfbmFtZSkKKyAgICAgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZh
bGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKKyAgICAgICAgICAgICMgYWx0
X25hbWUgY2FuIGNvbnRhaW4gcGFyZW50IGRpcmVjdG9yeSByZWZlcmVuY2VzLCBidXQgaVJPRFMg
PQp3aWxsCisgICAgICAgICAgICAjIG5vdCBmb2xsb3cgdGhlbSwgc28gaWYgdGhleSBhcmUgdmFs
aWQgd2Ugbm9ybWFsaXplIHRoZW0gb3V0CisgICAgICAgICAgICBhbHRfbmFtZSA9M0Qgb3MucGF0
aC5ub3JtcGF0aChhbHRfbmFtZSkKICAgICAgICAgcGF0aCA9M0QgIiIKICAgICAgICAgaWYgZXh0
cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcGF0aCA9M0QgZXh0cmFfZGlyCgpkaWZm
IC1yIDFmMzQwNzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNi
MmIyZTRkM2E2ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvb2JqZWN0c3RvcmUv
czMucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5weQorKysgYi9saWIvZ2FsYXh5
L29iamVjdHN0b3JlL3MzLnB5CkBAIC0xMiw4ICsxMiw4IEBACj0yMAogZnJvbSBkYXRldGltZSBp
bXBvcnQgZGF0ZXRpbWUKPTIwCi1mcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3RO
b3RGb3VuZAotZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc3RyaW5nX2FzX2Jvb2wsIHVtYXNrX2Zp
eF9wZXJtcworZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQsIE9i
amVjdEludmFsaWQKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHN0cmluZ19hc19ib29sLCB1bWFz
a19maXhfcGVybXMsIHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHkudXRpbC5kaXJlY3RvcnlfaGFz
aCBpbXBvcnQgZGlyZWN0b3J5X2hhc2hfaWQKIGZyb20gZ2FsYXh5LnV0aWwuc2xlZXBlciBpbXBv
cnQgU2xlZXBlcgogZnJvbSAuczNfbXVsdGlwYXJ0X3VwbG9hZCBpbXBvcnQgbXVsdGlwYXJ0X3Vw
bG9hZApAQCAtMjAxLDYgKzIwMSwyMCBAQAogICAgICAgICAgICAgICAgIHVtYXNrX2ZpeF9wZXJt
cyggcGF0aCwgc2VsZi5jb25maWcudW1hc2ssIDA2NjYsIHNlbGYuY29uZmk9CmcuZ2lkICkKPTIw
CiAgICAgZGVmIF9jb25zdHJ1Y3RfcGF0aChzZWxmLCBvYmosIGRpcl9vbmx5PTNETm9uZSwgZXh0
cmFfZGlyPTNETm9uZSwgZXh0cj0KYV9kaXJfYXRfcm9vdD0zREZhbHNlLCBhbHRfbmFtZT0zRE5v
bmUsICoqa3dhcmdzKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVyIGJlIGNvbnN0
cnVjdGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAgICAgICAjIG1ha2Ugc3VyZSB0
aGVyZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAgIGlmIGV4dHJhX2RpciBhbmQg
ZXh0cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAgICAgICAgICAg
bG9nLndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBleHRyYV9kaXIp
CisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBp
cyBpbnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRpcmVjdG9yeSBy
ZWZlcmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAgICAjIHJlc3VsdCBpbiBhIHBh
dGggbm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0ZWQ9CiBoZXJl
CisgICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYgbm90IHNhZmVfcmVscGF0aChh
bHRfbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxkIGxv
Y2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUpCisgICAgICAgICAgICAgICAg
cmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIpCisg
ICAgICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVudCBkaXJlY3RvcnkgcmVmZXJl
bmNlcywgYnV0IFMzIHdpbD0KbCBub3QKKyAgICAgICAgICAgICMgZm9sbG93IHRoZW0sIHNvIGlm
IHRoZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91dAorICAgICAgICAgICAgYWx0X25h
bWUgPTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAgICAgICAgIHJlbF9wYXRoID0zRCBv
cy5wYXRoLmpvaW4oKmRpcmVjdG9yeV9oYXNoX2lkKG9iai5pZCkpCiAgICAgICAgIGlmIGV4dHJh
X2RpciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGV4dHJhX2Rpcl9hdF9yb290OgoKZGlm
ZiAtciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRj
YjJiMmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBsaWIvZ2FsYXh5L3Rvb2xzL2ltcF9l
eHAvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19faW5pdF9fLnB5
CisrKyBiL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC9fX2luaXRfXy5weQpAQCAtNSw2ICs1LDcg
QEAKIGltcG9ydCBqc29uCiBpbXBvcnQgZGF0ZXRpbWUKIGZyb20gZ2FsYXh5IGltcG9ydCBtb2Rl
bAorZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgTWFsZm9ybWVkQ29udGVudHMKIGZyb20g
Z2FsYXh5Lm1vZGVsLml0ZW1fYXR0cnMgaW1wb3J0IFVzZXNBbm5vdGF0aW9ucwogZnJvbSBnYWxh
eHkubW9kZWwub3JtIGltcG9ydCBlYWdlcmxvYWQsIGVhZ2VybG9hZF9hbGwKIGZyb20gZ2FsYXh5
LnRvb2xzLnBhcmFtZXRlcnMuYmFzaWMgaW1wb3J0IFVudmFsaWRhdGVkVmFsdWUKQEAgLTE5MCw5
ICsxOTEsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiBkYXRhc2V0X2F0dHJzLmdldCgnZXhw
b3J0ZWQnLCBUcnVlKSBpcyBUcnVlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBEbyBzZWN1
cml0eSBjaGVjayBhbmQgbW92ZS9jb3B5IGRhdGFzZXQgZGF0YS4KICAgICAgICAgICAgICAgICAg
ICAgICAgIHRlbXBfZGF0YXNldF9maWxlX25hbWUgPTNEIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBvcy5wYXRoLmFic3BhdGgoIG9zLnBhdGguam9pbiggYXJjaGl2ZV9kaXIsIGRhPQp0
YXNldF9hdHRyc1snZmlsZV9uYW1lJ10gKSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
b3MucGF0aC5yZWFscGF0aCggb3MucGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaT0KbiggYXJjaGl2
ZV9kaXIsIGRhdGFzZXRfYXR0cnNbJ2ZpbGVfbmFtZSddICkgKSApCiAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiBub3QgZmlsZV9pbl9kaXIoIHRlbXBfZGF0YXNldF9maWxlX25hbWUsIG9zLnBh
dD0KaC5qb2luKCBhcmNoaXZlX2RpciwgImRhdGFzZXRzIiApICk6Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCAiSW52YWxpZCBkYXRhc2V0IHBhdGg6ICVzIiAl
ID0KdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cmFpc2UgTWFsZm9ybWVkQ29udGVudHMoICJJbnZhbGlkIGRhdGFzZXQgcGF0aD0KOiAlcyIgJSB0
ZW1wX2RhdGFzZXRfZmlsZV9uYW1lICkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRhdGFz
ZXRzX3VzYWdlX2NvdW50c1sgdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSBdPQogPTNEPTNEIDE6CiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLm1vdmUoIHRlbXBfZGF0YXNldF9maWxl
X25hbWUsIGhkYS5maWxlXz0KbmFtZSApCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgpA
QCAtMzE0LDYgKzMxNSw3IEBACiAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgogICAg
ICAgICAgICAgICAgIGppaGEuam9iLnN0ZGVyciArPTNEICJFcnJvciBjbGVhbmluZyB1cCBoaXN0
b3J5IGltcG9ydCBqb2I9CjogJXMiICUgZQogICAgICAgICAgICAgICAgIHNlbGYuc2Ffc2Vzc2lv
bi5mbHVzaCgpCisgICAgICAgICAgICAgICAgcmFpc2UKPTIwCj0yMAogY2xhc3MgSm9iRXhwb3J0
SGlzdG9yeUFyY2hpdmVXcmFwcGVyKCBvYmplY3QsIFVzZXNBbm5vdGF0aW9ucyApOgoKZGlmZiAt
ciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJi
MmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBsaWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAv
dW5wYWNrX3Rhcl9nel9hcmNoaXZlLnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC91
bnBhY2tfdGFyX2d6X2FyY2hpdmUucHkKKysrIGIvbGliL2dhbGF4eS90b29scy9pbXBfZXhwL3Vu
cGFja190YXJfZ3pfYXJjaGl2ZS5weQpAQCAtNiw2ICs2LDcgQEAKICAgICAtLVt1cmx8ZmlsZV0g
c291cmNlIHR5cGUsIGVpdGhlciBhIFVSTCBvciBhIGZpbGUuCiAiIiIKPTIwCitpbXBvcnQgb3MK
IGltcG9ydCBzeXMKIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IHRhcmZpbGUKQEAgLTQzLDYgKzQ0
LDIyIEBACiAgICAgICAgIHJldHVybiBOb25lCj0yMAo9MjAKK2RlZiBjaGVja19hcmNoaXZlKCBh
cmNoaXZlX2ZpbGUsIGRlc3RfZGlyICk6CisgICAgIiIiCisgICAgRW5zdXJlIHRoYXQgYSB0YXIg
YXJjaGl2ZSBoYXMgbm8gYWJzb2x1dGUgcGF0aHMgb3IgcmVsYXRpdmUgcGF0aHMgb3V0cz0KaWRl
CisgICAgdGhlIGFyY2hpdmUuCisgICAgIiIiCisgICAgd2l0aCB0YXJmaWxlLm9wZW4oIGFyY2hp
dmVfZmlsZSwgbW9kZT0zRCdyOmd6JyApIGFzIGFyY2hpdmVfZnA6CisgICAgICAgIGZvciBhcmNf
cGF0aCBpbiBhcmNoaXZlX2ZwLmdldG5hbWVzKCk6CisgICAgICAgICAgICBhc3NlcnQgb3MucGF0
aC5ub3JtcGF0aCgKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oCisgICAgICAgICAgICAg
ICAgICAgIGRlc3RfZGlyLAorICAgICAgICAgICAgICAgICAgICBhcmNfcGF0aAorICAgICAgICAg
ICAgICAgICkgKS5zdGFydHN3aXRoKCBkZXN0X2Rpci5yc3RyaXAob3Muc2VwKSArIG9zLnNlcCAp
LCBcCisgICAgICAgICAgICAgICAgIkFyY2hpdmUgbWVtYmVyIHdvdWxkIGV4dHJhY3Qgb3V0c2lk
ZSB0YXJnZXQgZGlyZWN0b3J5OiAlcz0KIiAlIGFyY19wYXRoCisgICAgcmV0dXJuIFRydWUKKwor
CiBkZWYgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmlsZSwgZGVzdF9kaXIgKToKICAgICAiIiIK
ICAgICBVbnBhY2sgYSB0YXIgYW5kL29yIGd6aXBwZWQgYXJjaGl2ZSBpbnRvIGEgZGVzdGluYXRp
b24gZGlyZWN0b3J5LgpAQCAtNTEsMTMgKzY4LDggQEAKICAgICBhcmNoaXZlX2ZwLmV4dHJhY3Rh
bGwoIHBhdGg9M0RkZXN0X2RpciApCiAgICAgYXJjaGl2ZV9mcC5jbG9zZSgpCj0yMAotaWYgX19u
YW1lX18gPTNEPTNEICJfX21haW5fXyI6Ci0gICAgIyBQYXJzZSBjb21tYW5kIGxpbmUuCi0gICAg
cGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQotICAgIHBhcnNlci5hZGRfb3B0aW9u
KCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lzX3VybCcsIGFjdGlvbj0zRCJzdG9yZV90cnU9CmUi
LCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1G
JywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmlsZScsIGFjdGlvbj0zRCJzdG9yZV90PQpydWUiLCBo
ZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1lJywg
Jy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0ZW5jb2RlZCcsIGFjdGlvbj0KPTNEInN0b3JlX3Ry
dWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9M0QnU291cmNlIGFuZCBkZXN0aW5hdGlvbiBkaXIg
dmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVkLicgKQotICAgIChvcHRpb25zLCBhcmdzKSA9M0Qg
cGFyc2VyLnBhcnNlX2FyZ3MoKQorCitkZWYgbWFpbihvcHRpb25zLCBhcmdzKToKICAgICBpc191
cmwgPTNEIGJvb2woIG9wdGlvbnMuaXNfdXJsICkKICAgICBpc19maWxlID0zRCBib29sKCBvcHRp
b25zLmlzX2ZpbGUgKQogICAgIGFyY2hpdmVfc291cmNlLCBkZXN0X2RpciA9M0QgYXJncwpAQCAt
NjYsMTQgKzc4LDI1IEBACiAgICAgICAgIGFyY2hpdmVfc291cmNlID0zRCBiNjRkZWNvZGUoIGFy
Y2hpdmVfc291cmNlICkKICAgICAgICAgZGVzdF9kaXIgPTNEIGI2NGRlY29kZSggZGVzdF9kaXIg
KQo9MjAKKyAgICAjIEdldCBhcmNoaXZlIGZyb20gVVJMLgorICAgIGlmIGlzX3VybDoKKyAgICAg
ICAgYXJjaGl2ZV9maWxlID0zRCB1cmxfdG9fZmlsZSggYXJjaGl2ZV9zb3VyY2UsIHRlbXBmaWxl
Lk5hbWVkVGVtcG9yPQphcnlGaWxlKCBkaXI9M0RkZXN0X2RpciApLm5hbWUgKQorICAgIGVsaWYg
aXNfZmlsZToKKyAgICAgICAgYXJjaGl2ZV9maWxlID0zRCBhcmNoaXZlX3NvdXJjZQorCisgICAg
IyBVbnBhY2sgYXJjaGl2ZS4KKyAgICBjaGVja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3Rf
ZGlyICkKKyAgICB1bnBhY2tfYXJjaGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApCisKKwor
aWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6CisgICAgIyBQYXJzZSBjb21tYW5kIGxpbmUu
CisgICAgcGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQorICAgIHBhcnNlci5hZGRf
b3B0aW9uKCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lzX3VybCcsIGFjdGlvbj0zRCJzdG9yZV90
cnU9CmUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKKyAgICBwYXJzZXIuYWRkX29wdGlv
biggJy1GJywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmlsZScsIGFjdGlvbj0zRCJzdG9yZV90PQpy
dWUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKKyAgICBwYXJzZXIuYWRkX29wdGlvbigg
Jy1lJywgJy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0ZW5jb2RlZCcsIGFjdGlvbj0KPTNEInN0
b3JlX3RydWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9M0QnU291cmNlIGFuZCBkZXN0aW5hdGlv
biBkaXIgdmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVkLicgKQorICAgIChvcHRpb25zLCBhcmdz
KSA9M0QgcGFyc2VyLnBhcnNlX2FyZ3MoKQogICAgIHRyeToKLSAgICAgICAgIyBHZXQgYXJjaGl2
ZSBmcm9tIFVSTC4KLSAgICAgICAgaWYgaXNfdXJsOgotICAgICAgICAgICAgYXJjaGl2ZV9maWxl
ID0zRCB1cmxfdG9fZmlsZSggYXJjaGl2ZV9zb3VyY2UsIHRlbXBmaWxlLk5hbWVkVGU9Cm1wb3Jh
cnlGaWxlKCBkaXI9M0RkZXN0X2RpciApLm5hbWUgKQotICAgICAgICBlbGlmIGlzX2ZpbGU6Ci0g
ICAgICAgICAgICBhcmNoaXZlX2ZpbGUgPTNEIGFyY2hpdmVfc291cmNlCi0KLSAgICAgICAgIyBV
bnBhY2sgYXJjaGl2ZS4KLSAgICAgICAgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmlsZSwgZGVz
dF9kaXIgKQorICAgICAgICBtYWluKG9wdGlvbnMsIGFyZ3MpCiAgICAgZXhjZXB0IEV4Y2VwdGlv
biwgZToKICAgICAgICAgcHJpbnQgIkVycm9yIHVucGFja2luZyB0YXIvZ3ogYXJjaGl2ZTogJXMi
ICUgZSwgc3lzLnN0ZGVycgoKZGlmZiAtciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJj
MzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBs
aWIvZ2FsYXh5L3V0aWwvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS91dGlsL19faW5pdF9f
LnB5CisrKyBiL2xpYi9nYWxheHkvdXRpbC9fX2luaXRfXy5weQpAQCAtMjgsNyArMjgsNyBAQAo9
MjAKIGZyb20gZW1haWwuTUlNRVRleHQgaW1wb3J0IE1JTUVUZXh0Cj0yMAotZnJvbSBvcy5wYXRo
IGltcG9ydCByZWxwYXRoCitmcm9tIG9zLnBhdGggaW1wb3J0IHJlbHBhdGgsIG5vcm1wYXRoCiBm
cm9tIGhhc2hsaWIgaW1wb3J0IG1kNQogZnJvbSBpdGVydG9vbHMgaW1wb3J0IGl6aXAKPTIwCkBA
IC0xMjQzLDYgKzEyNDMsMjMgQEAKIGRlZiBnYWxheHlfZGlyZWN0b3J5KCk6CiAgICAgcmV0dXJu
IG9zLnBhdGguYWJzcGF0aChnYWxheHlfcm9vdF9wYXRoKQo9MjAKKworZGVmIHNhZmVfcmVscGF0
aChwYXRoKToKKyAgICAiIiIKKyAgICBHaXZlbiB3aGF0IHdlIGV4cGVjdCB0byBiZSBhIHJlbGF0
aXZlIHBhdGgsIGRldGVybWluZSB3aGV0aGVyIHRoZSBwYXRoCisgICAgd291bGQgZXhpc3QgaW5z
aWRlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KKworICAgIDp0eXBlICAgcGF0aDogICBzdHJpbmcK
KyAgICA6cGFyYW0gIHBhdGg6ICAgYSBwYXRoIHRvIGNoZWNrCisgICAgOnJ0eXBlOiAgICAgICAg
IGJvb2wKKyAgICA6cmV0dXJuczogICAgICAgYGBUcnVlYGAgaWYgcGF0aCBpcyByZWxhdGl2ZSBh
bmQgZG9lcyBub3QgcmVmZXJlbmNlIGEgPQpwYXRoCisgICAgICAgIGluIGEgcGFyZW50IGRpcmVj
dG9yeSwgYGBGYWxzZWBgIG90aGVyd2lzZS4KKyAgICAiIiIKKyAgICBpZiBwYXRoLnN0YXJ0c3dp
dGgob3Muc2VwKSBvciBub3JtcGF0aChwYXRoKS5zdGFydHN3aXRoKG9zLnBhcmRpcik6CisgICAg
ICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBUcnVlCisKKwogaWYgX19uYW1lX18gPTNEPTNE
ICdfX21haW5fXyc6CiAgICAgaW1wb3J0IGRvY3Rlc3QKICAgICBkb2N0ZXN0LnRlc3Rtb2Qoc3lz
Lm1vZHVsZXNbX19uYW1lX19dLCB2ZXJib3NlPTNERmFsc2UpCgpkaWZmIC1yIDFmMzQwNzJkNDcz
Zjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2ZjgzNGQ9
CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvdmVyc2lvbi5weQotLS0gYS9saWIvZ2FsYXh5
L3ZlcnNpb24ucHkKKysrIGIvbGliL2dhbGF4eS92ZXJzaW9uLnB5CkBAIC0xLDMgKzEsMyBAQAog
VkVSU0lPTl9NQUpPUiA9M0QgIjE1LjAzIgotVkVSU0lPTl9NSU5PUiA9M0QgIjMiCitWRVJTSU9O
X01JTk9SID0zRCAiNCIKIFZFUlNJT04gPTNEIFZFUlNJT05fTUFKT1IgKyAoJy4nICsgVkVSU0lP
Tl9NSU5PUiBpZiBWRVJTSU9OX01JTk9SIGVsc2UgJycpCgpkaWZmIC1yIDFmMzQwNzJkNDczZjg3
MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2ZjgzNGQ9CjNk
ZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvYXBpL3Rvb2xzLnB5Ci0t
LSBhL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvYXBpL3Rvb2xzLnB5CisrKyBiL2xpYi9nYWxh
eHkvd2ViYXBwcy9nYWxheHkvYXBpL3Rvb2xzLnB5CkBAIC04NSwxNCArODUsMTQgQEAKPTIwCiAg
ICAgQF9mdXR1cmVfZXhwb3NlX2FwaQogICAgIEB3ZWIucmVxdWlyZV9hZG1pbgotICAgIGRlZiBy
ZWxvYWQoIHNlbGYsIHRyYW5zLCB0b29sX2lkLCAqKmt3ZCApOgorICAgIGRlZiByZWxvYWQoIHNl
bGYsIHRyYW5zLCBpZCwgKiprd2QgKToKICAgICAgICAgIiIiCiAgICAgICAgIEdFVCAvYXBpL3Rv
b2xzL3t0b29sX2lkfS9yZWxvYWQKICAgICAgICAgUmVsb2FkIHNwZWNpZmllZCB0b29sLgogICAg
ICAgICAiIiIKICAgICAgICAgdG9vbGJveCA9M0QgdHJhbnMuYXBwLnRvb2xib3gKLSAgICAgICAg
Z2FsYXh5LnF1ZXVlX3dvcmtlci5zZW5kX2NvbnRyb2xfdGFzayggdHJhbnMsICdyZWxvYWRfdG9v
bCcsIG5vb3BfPQpzZWxmPTNEVHJ1ZSwga3dhcmdzPTNEeyAndG9vbF9pZCc6IHRvb2xfaWQgfSAp
Ci0gICAgICAgIG1lc3NhZ2UsIHN0YXR1cyA9M0QgdHJhbnMuYXBwLnRvb2xib3gucmVsb2FkX3Rv
b2xfYnlfaWQoIHRvb2xfaWQgKQorICAgICAgICBnYWxheHkucXVldWVfd29ya2VyLnNlbmRfY29u
dHJvbF90YXNrKCB0cmFucywgJ3JlbG9hZF90b29sJywgbm9vcF89CnNlbGY9M0RUcnVlLCBrd2Fy
Z3M9M0R7ICd0b29sX2lkJzogaWQgfSApCisgICAgICAgIG1lc3NhZ2UsIHN0YXR1cyA9M0QgdHJh
bnMuYXBwLnRvb2xib3gucmVsb2FkX3Rvb2xfYnlfaWQoIGlkICkKICAgICAgICAgcmV0dXJuIHsg
c3RhdHVzOiBtZXNzYWdlIH0KPTIwCiAgICAgQF9mdXR1cmVfZXhwb3NlX2FwaQoKZGlmZiAtciAx
ZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0
ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBsaWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2Nv
bnRyb2xsZXJzL2FkbWluX3Rvb2xzaGVkLnB5Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxh
eHkvY29udHJvbGxlcnMvYWRtaW5fdG9vbHNoZWQucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBz
L2dhbGF4eS9jb250cm9sbGVycy9hZG1pbl90b29sc2hlZC5weQpAQCAtMzg0LDExICszODQsMTEg
QEAKPTIwCiAgICAgQHdlYi5qc29uCiAgICAgQHdlYi5yZXF1aXJlX2FkbWluCi0gICAgZGVmIGdl
dF9maWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywgZmlsZV9wYXRoICk6CisgICAgZGVmIGdldF9m
aWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywgZmlsZV9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAg
ICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydQ
cmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydF
eHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3VjLmdldF9yZXBvc2l0b3J5X2ZpbGVf
Y29udGVudHMoIGZpbGVfcGF0aCApCisgICAgICAgIHJldHVybiBzdWMuZ2V0X3JlcG9zaXRvcnlf
ZmlsZV9jb250ZW50cyggdHJhbnMuYXBwLCBmaWxlX3BhdGgsIHJlcD0Kb3NpdG9yeV9pZCApCj0y
MAogICAgIEB3ZWIuZXhwb3NlCiAgICAgQHdlYi5yZXF1aXJlX2FkbWluCkBAIC05NjEsMTEgKzk2
MSwxMSBAQAo9MjAKICAgICBAd2ViLmpzb24KICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBk
ZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xkZXJfcGF0aCApOgorICAgIGRlZiBvcGVu
X2ZvbGRlciggc2VsZiwgdHJhbnMsIGZvbGRlcl9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAg
ICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydQcmFn
bWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydFeHBp
cmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3VjLm9wZW5fcmVwb3NpdG9yeV9maWxlc19m
b2xkZXIoIGZvbGRlcl9wYXRoICkKKyAgICAgICAgcmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlf
ZmlsZXNfZm9sZGVyKCB0cmFucy5hcHAsIGZvbGRlcl9wYXRoLCByPQplcG9zaXRvcnlfaWQgKQo9
MjAKICAgICBAd2ViLmV4cG9zZQogICAgIEB3ZWIucmVxdWlyZV9hZG1pbgoKZGlmZiAtciAxZjM0
MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0ZDNh
NmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiBsaWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRy
b2xsZXJzL3JlcXVlc3RzX2FkbWluLnB5Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkv
Y29udHJvbGxlcnMvcmVxdWVzdHNfYWRtaW4ucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL2dh
bGF4eS9jb250cm9sbGVycy9yZXF1ZXN0c19hZG1pbi5weQpAQCAtNiwxMCArNiw3IEBACiBmcm9t
IGdhbGF4eSBpbXBvcnQgbW9kZWwsIHV0aWwKIGZyb20gZ2FsYXh5LndlYi5mb3JtX2J1aWxkZXIg
aW1wb3J0ICoKIGZyb20gLnJlcXVlc3RzX2NvbW1vbiBpbXBvcnQgUmVxdWVzdHNHcmlkLCBpbnZh
bGlkX2lkX3JlZGlyZWN0Ci1mcm9tIGdhbGF4eSBpbXBvcnQgZWdncwotZWdncy5yZXF1aXJlKCJh
bXFwIikKLWltcG9ydCBhbXFwCi1pbXBvcnQgbG9nZ2luZywgb3MsIHBleHBlY3QsIENvbmZpZ1Bh
cnNlcgoraW1wb3J0IGxvZ2dpbmcsIG9zLCBDb25maWdQYXJzZXIKPTIwCiBsb2cgPTNEIGxvZ2dp
bmcuZ2V0TG9nZ2VyKCBfX25hbWVfXyApCj0yMApAQCAtMzUxLDE4MiArMzQ4LDYgQEAKICAgICAg
ICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250
cm9sbGVyPTNEJ3JlPQpxdWVzdHNfYWRtaW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0zRCdtYW5hZ2U9Cl9kYXRhc2V0
cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2FtcGxlX2lkPTNEc2FtcD0KbGVfaWQgKSApCi0gICAgQHdlYi5leHBvc2UKLSAgICBA
d2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyKCBz
ZWxmLCB0cmFucywgKiprd2QgKToKLSAgICAgICAgcGFyYW1zID0zRCB1dGlsLlBhcmFtcygga3dk
ICkKLSAgICAgICAgbWVzc2FnZSA9M0QgdXRpbC5yZXN0b3JlX3RleHQoIHBhcmFtcy5nZXQoICdt
ZXNzYWdlJywgJycgKSApCi0gICAgICAgIHN0YXR1cyA9M0QgcGFyYW1zLmdldCggJ3N0YXR1cycs
ICdkb25lJyApCi0gICAgICAgIHJlcXVlc3RfaWQgPTNEIGt3ZC5nZXQoICdyZXF1ZXN0X2lkJywg
Tm9uZSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2VfaWQgPTNEIGt3ZC5nZXQoICdleHRlcm5h
bF9zZXJ2aWNlX2lkJywgTm9uZSApCi0gICAgICAgIGZpbGVzID0zRCBbXQotICAgICAgICByZXF1
ZXN0ID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5SZXF1ZXN0ICkuZ2V0
KCB0cmE9Cm5zLnNlY3VyaXR5LmRlY29kZV9pZCggcmVxdWVzdF9pZCApICkKLSAgICAgICAgZXh0
ZXJuYWxfc2VydmljZSA9M0QgdHJhbnMuc2Ffc2Vzc2lvbi5xdWVyeSggdHJhbnMubW9kZWwuRXh0
ZXJuYWxTPQplcnZpY2UgKS5nZXQoIHRyYW5zLnNlY3VyaXR5LmRlY29kZV9pZCggZXh0ZXJuYWxf
c2VydmljZV9pZCApICkKLSAgICAgICAgIyBMb2FkIHRoZSBkYXRhIHRyYW5zZmVyIHNldHRpbmdz
Ci0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0
cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJh
bnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9j
b2wuU0NQIF0KLSAgICAgICAgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXIgPTNEIHV0aWwu
cmVzdG9yZV90ZXh0KCBwYXJhbXMuZ2V0KCAnPQpzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2Zl
cicsICcnICkgKQotICAgICAgICBpZiBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlcjoKLSAg
ICAgICAgICAgIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyID0zRCBzZWxlY3RlZF9kYXRh
c2V0c190b190cmFuc2ZlPQpyLnNwbGl0KCcsJykKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAg
IHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyID0zRCBbXQotICAgICAgICBzYW1wbGVfaWQg
PTNEIGt3ZC5nZXQoICdzYW1wbGVfaWQnLCAnbm9uZScgKQotICAgICAgICBzYW1wbGVfaWRfc2Vs
ZWN0X2ZpZWxkID0zRCBzZWxmLl9fYnVpbGRfc2FtcGxlX2lkX3NlbGVjdF9maWVsZCggdHI9CmFu
cywgcmVxdWVzdCwgc2FtcGxlX2lkICkKLSAgICAgICAgaWYgc2FtcGxlX2lkICE9M0QgJ25vbmUn
OgotICAgICAgICAgICAgc2FtcGxlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5t
b2RlbC5TYW1wbGUgKS5nZXQoIHQ9CnJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBzYW1wbGVfaWQg
KSApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBzYW1wbGUgPTNEIE5vbmUKLSAgICAgICAg
IyBUaGUgX19nZXRfZmlsZXMoKSBtZXRob2QgcmVkaXJlY3RzIGhlcmUgd2l0aCBhIHN0YXR1cyBv
ZiAnZXJyb3InPQogYW5kIGEgbWVzc2FnZSBpZiB0aGVyZQotICAgICAgICAjIHdhcyBhIHByb2Js
ZW0gcmV0cmlldmluZyB0aGUgZmlsZXMuCi0gICAgICAgIGlmIHBhcmFtcy5nZXQoICdzZWxlY3Rf
ZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0dG9uJywgRmFsc2UgKToKLSAgICAgICAgICAgICMgR2V0
IHRoZSBzYW1wbGUgdGhhdCB3YXMgc2VxdWVuY2VkIHRvIHByb2R1Y2UgdGhlc2UgZGF0YXNldHMu
Ci0gICAgICAgICAgICBpZiBzYW1wbGVfaWQgPTNEPTNEICdub25lJzoKLSAgICAgICAgICAgICAg
ICBkZWwga3dkWyAnc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyX2J1dHRvbicgXQotICAgICAg
ICAgICAgICAgIG1lc3NhZ2UgPTNEICdTZWxlY3QgdGhlIHNhbXBsZSB0aGF0IHdhcyBzZXF1ZW5j
ZWQgdG8gcHJvZHU9CmNlIHRoZSBkYXRhc2V0cyB5b3Ugd2FudCB0byB0cmFuc2Zlci4nCi0gICAg
ICAgICAgICAgICAga3dkWyAnbWVzc2FnZScgXSA9M0QgbWVzc2FnZQotICAgICAgICAgICAgICAg
IGt3ZFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJwotICAgICAgICAgICAgICAgIHJldHVybiB0cmFu
cy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29udHJvbGw9CmVyPTNEJ3Jl
cXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0KPTNEJ3NlbGVjdF9kYXRhc2V0c190b190
cmFuc2ZlcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAqKmt3ZCApICkKLSAgICAgICAgICAgIGlmIG5vdCBzYW1wbGUu
bGlicmFyeToKLSAgICAgICAgICAgICAgICAjIERpc3BsYXkgYW4gZXJyb3IgaWYgYSBzYW1wbGUg
aGFzIGJlZW4gc2VsZWN0ZWQgdGhhdAotICAgICAgICAgICAgICAgICMgaGFzIG5vdCB5ZXQgYmVl
biBhc3NvY2lhdGVkIHdpdGggYSBkZXN0aW5hdGlvbiBsaWJyYXJ5LgotICAgICAgICAgICAgICAg
IG1lc3NhZ2UgPTNEICdTZWxlY3QgYSB0YXJnZXQgZGF0YSBsaWJyYXJ5IGFuZCBmb2xkZXIgZm9y
IHQ9CmhlIHNhbXBsZSBiZWZvcmUgc2VsZWN0aW5nIHRoZSBkYXRhc2V0cy4nCi0gICAgICAgICAg
ICAgICAgc3RhdHVzID0zRCAnZXJyb3InCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJl
c3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVz
dHNfY29tbW9uJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0KPTNEJ2VkaXRfc2FtcGxlcycsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjbnRybGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPTNEdHJhPQpucy5z
ZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0KPTNEc3Rh
dHVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbWVzc2FnZT0KPTNEbWVzc2FnZSApICkKLSAgICAgICAgICAgICMgU2F2
ZSB0aGUgc2FtcGxlIGRhdGFzZXRzCi0gICAgICAgICAgICBzYW1wbGVfZGF0YXNldF9maWxlX25h
bWVzID0zRCBzZWxmLl9fY3JlYXRlX3NhbXBsZV9kYXRhc2V0cyggdD0KcmFucywgc2FtcGxlLCBz
ZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlciwgZXh0ZXJuYWxfc2VydmljZSApCi0gICAgICAg
ICAgICBpZiBzYW1wbGVfZGF0YXNldF9maWxlX25hbWVzOgotICAgICAgICAgICAgICAgIG1lc3Nh
Z2UgPTNEICdEYXRhc2V0cyAoJXMpIGhhdmUgYmVlbiBzZWxlY3RlZCBmb3Igc2FtcGxlICg9CiVz
KScgJSBcCi0gICAgICAgICAgICAgICAgICAgICggc3RyKCBzYW1wbGVfZGF0YXNldF9maWxlX25h
bWVzIClbMTotMV0ucmVwbGFjZSggIiciLD0KICIiICksIHNhbXBsZS5uYW1lICkKLSAgICAgICAg
ICAgIHJldHVybiB0cmFucy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29u
dHJvbGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPTNEJ21hPQpuYWdlX2Rh
dGFzZXRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmVxdWVzdF9pZD0KPTNEcmVxdWVzdF9pZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2lk
PTNEPQpzYW1wbGVfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9M0RtZT0Kc3NhZ2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0z
RHN0YT0KdHVzICkgKQotICAgICAgICByZXR1cm4gdHJhbnMuZmlsbF90ZW1wbGF0ZSggJy9hZG1p
bi9yZXF1ZXN0cy9zZWxlY3RfZGF0YXNldHNfdG9fdHI9CmFuc2Zlci5tYWtvJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNudHJsbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVlc3Q9M0RyZXF1ZXN0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxfc2VydmljZT0zRGV4
dGVybmFsX3NlcnZpY2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3Bf
Y29uZmlncz0zRHNjcF9jb25maWdzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgc2FtcGxlPTNEc2FtcGxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2FtcGxlX2lkX3NlbGVjdF9maWVsZD0zRHNhbXBsZV9pZF9zZWw9CmVjdF9maWVsZCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0zRHN0YXR1cywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9M0RtZXNzYWdlICkKLSAgICBAd2Vi
Lmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfZGV0YWlscyggc2VsZiwgdHJhbnMsIHJlcXVlc3RfaWQs
IGV4dGVybmFsX3NlcnZpY2VfaWQsIGZvPQpsZGVyX3BhdGggKToKLSAgICAgICAgZGVmIHByaW50
X3RpY2tzKCBkICk6Ci0gICAgICAgICAgICAjIHBleHBlY3QgdGltZW91dCBtZXRob2QKLSAgICAg
ICAgICAgIHBhc3MKLSAgICAgICAgIyBBdm9pZCBjYWNoaW5nCi0gICAgICAgIHRyYW5zLnJlc3Bv
bnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCi0gICAgICAgIHRyYW5zLnJlc3Bv
bnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAgIHJlcXVlc3QgPTNEIHRyYW5z
LnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3QgKS5nZXQoIHRyYT0KbnMuc2Vj
dXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNl
ID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5FeHRlcm5hbFM9CmVydmlj
ZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlX2lkICkg
KQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0YV90cmFuc2Zlcl9zZXR0aW5ncygg
dHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9M0QgZXh0ZXJuYWxfc2VydmljZS5kYXRhX3Ry
YW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFsU2VydmljZS5kYXRhX3RyYW5zZmVyX3Byb3Rv
Y29sLlNDUCBdCi0gICAgICAgIGNtZCAgPTNEICdzc2ggJXNAJXMgImxzIC1vZ2hwIFwnJXNcJyIn
ICUgKCBzY3BfY29uZmlnc1sgJ3VzZXJfbmFtZT0KJyBdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcF9jb25maWdzWyAnaG9zdCcgXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xkZXJfcGF0aCAp
Ci0gICAgICAgICMgSGFuZGxlIHRoZSBhdXRoZW50aWNhdGlvbiBtZXNzYWdlIGlmIHNzaCBrZXlz
IGFyZSBub3Qgc2V0IC0gdGhlID0KbWVzc2FnZSBpcwotICAgICAgICAjIHNvbWV0aGluZyBsaWtl
OiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlIGNvbm5lY3RpbmcgKHk9CmVzL25v
KS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJ1woeWVzXC9ub1wpXC4qJyA6ICd5ZXNcclxuJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuc3N3b3JkOionIDogc2Nw
X2NvbmZpZ3NbICdwYXNzd29yPQpkJyBdICsgJ1xyXG4nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgcGV4cGVjdC5USU1FT1VUIDogcHJpbnRfdGlja3MgfSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9M0QxMCApCi0gICAgICAgIGZvciBwYXNz
d29yZF9zdHIgaW4gWyAnUGFzc3dvcmQ6XHJcbicsICdwYXNzd29yZDpcclxuJyBdOgotICAgICAg
ICAgICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBjcmVhdGVkIHVzaW5nIHNzaCBmcm9tIHRoZSB0
cmVlCi0gICAgICAgICAgICBpZiBwYXNzd29yZF9zdHIgaW4gb3V0cHV0OgotICAgICAgICAgICAg
ICAgIG91dHB1dCA9M0Qgb3V0cHV0LnJlcGxhY2UoIHBhc3N3b3JkX3N0ciwgJycgKQotICAgICAg
ICByZXR1cm4gdW5pY29kZSggb3V0cHV0LnJlcGxhY2UoICdcclxuJywgJzxici8+JyApICkKLSAg
ICBAd2ViLmpzb24KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCByZXF1ZXN0X2lk
LCBleHRlcm5hbF9zZXJ2aWNlX2lkLCBrZXkgKToKLSAgICAgICAgIyBBdm9pZCBjYWNoaW5nCi0g
ICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCi0g
ICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAg
IHJlcXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3Qg
KS5nZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAg
ICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2Rl
bC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRl
cm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBmb2xkZXJfcGF0aCA9M0Qga2V5Ci0gICAgICAg
IGZpbGVzX2xpc3QgPTNEIHNlbGYuX19nZXRfZmlsZXMoIHRyYW5zLCByZXF1ZXN0LCBleHRlcm5h
bF9zZXJ2aWNlLD0KIGZvbGRlcl9wYXRoICkKLSAgICAgICAgZm9sZGVyX2NvbnRlbnRzID0zRCBb
XQotICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmlsZXNfbGlzdDoKLSAgICAgICAgICAgIGlzX2Zv
bGRlciA9M0QgRmFsc2UKLSAgICAgICAgICAgIGlmIGZpbGVuYW1lIGFuZCBmaWxlbmFtZVstMV0g
PTNEPTNEIG9zLnNlcDoKLSAgICAgICAgICAgICAgICBpc19mb2xkZXIgPTNEIFRydWUKLSAgICAg
ICAgICAgIGlmIGZpbGVuYW1lOgotICAgICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0
aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUgKQotICAgICAgICAgICAgICAgIG5vZGUgPTNE
IHsgInRpdGxlIjogZmlsZW5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImlzRm9sZGVy
IjogaXNfZm9sZGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICJpc0xhenkiOiBpc19mb2xk
ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgInRvb2x0aXAiOiBmdWxsX3BhdGgsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgImtleSI6IGZ1bGxfcGF0aCB9Ci0gICAgICAgICAgICAgICAg
Zm9sZGVyX2NvbnRlbnRzLmFwcGVuZCggbm9kZSApCi0gICAgICAgIHJldHVybiBmb2xkZXJfY29u
dGVudHMKLSAgICBkZWYgX19nZXRfZmlsZXMoIHNlbGYsIHRyYW5zLCByZXF1ZXN0LCBleHRlcm5h
bF9zZXJ2aWNlLCBmb2xkZXJfcGF0aCApOgotICAgICAgICAjIFJldHJpZXZlcyB0aGUgZmlsZW5h
bWVzIHRvIGJlIHRyYW5zZmVycmVkIGZyb20gdGhlIHJlbW90ZSBob3N0LgotICAgICAgICBvayA9
M0QgVHJ1ZQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0YV90cmFuc2Zlcl9zZXR0
aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9M0QgZXh0ZXJuYWxfc2VydmljZS5k
YXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFsU2VydmljZS5kYXRhX3RyYW5zZmVy
X3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGlmIG5vdCBzY3BfY29uZmlnc1sgJ2hvc3QnIF0gb3Ig
bm90IHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdIG9yID0Kbm90IHNjcF9jb25maWdzWyAncGFz
c3dvcmQnIF06Ci0gICAgICAgICAgICBzdGF0dXMgPTNEICdlcnJvcicKLSAgICAgICAgICAgIG1l
c3NhZ2UgPTNEICJFcnJvciBpbiBleHRlcm5hbCBzZXJ2aWNlIGxvZ2luIGluZm9ybWF0aW9uLiIK
LSAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAgICAgICBkZWYgcHJpbnRfdGlja3MoIGQgKToK
LSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgY21kICA9M0QgJ3NzaCAlc0AlcyAibHMgLXAgXCcl
c1wnIicgJSAoIHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdPQosIHNjcF9jb25maWdzWyAnaG9z
dCcgXSwgZm9sZGVyX3BhdGggKQotICAgICAgICAjIEhhbmRsZSB0aGUgYXV0aGVudGljYXRpb24g
bWVzc2FnZSBpZiBrZXlzIGFyZSBub3Qgc2V0IC0gdGhlIG1lc3M9CmFnZSBpcwotICAgICAgICAj
IHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlIGNvbm5l
Y3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNtZCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJ1woeWVzXC9ub1wpXC4q
JyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy5z
c3dvcmQ6KicgOiBzY3BfY29uZmlnc1sgJ3Bhc3N3b3JkPQonIF0gKyAnXHJcbicsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXhwZWN0LlRJTUVPVVQgOiBwcmludF90
aWNrcyB9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0zRDEwICkKLSAg
ICAgICAgaWYgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnknIGluIG91dHB1dDoKLSAgICAgICAg
ICAgIHN0YXR1cyA9M0QgJ2Vycm9yJwotICAgICAgICAgICAgbWVzc2FnZSA9M0QgIk5vIGZvbGRl
ciBuYW1lZCAoJXMpIGV4aXN0cyBvbiB0aGUgZXh0ZXJuYWwgc2Vydmk9CmNlLiIgJSBmb2xkZXJf
cGF0aAotICAgICAgICAgICAgb2sgPTNEIEZhbHNlCi0gICAgICAgIGlmIG9rOgotICAgICAgICAg
ICAgaWYgJ2Fzc3dvcmQ6JyBpbiBvdXRwdXQ6Ci0gICAgICAgICAgICAgICAgIyBFbGltaW5hdGUg
dGhlIG91dHB1dCBjcmVhdGVkIHVzaW5nIHNzaCBmcm9tIHRoZSB0cmVlCi0gICAgICAgICAgICAg
ICAgb3V0cHV0X2FzX2xpc3QgPTNEIG91dHB1dC5zcGxpdGxpbmVzKClbIDE6IF0KLSAgICAgICAg
ICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0cHV0X2FzX2xpc3QgPTNEIG91dHB1dC5zcGxp
dGxpbmVzKCkKLSAgICAgICAgICAgIHJldHVybiBvdXRwdXRfYXNfbGlzdAotICAgICAgICByZXR1
cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9
M0QncmU9CnF1ZXN0c19hZG1pbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPTNEJ3NlbGVjdD0KX2RhdGFzZXRzX3RvX3Ry
YW5zZmVyJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXF1ZXN0X2lkPTNEdHJhPQpucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVl
c3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlPQpfaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVf
aWQoIGV4dGVybmFsX3NlcnZpY2UuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzdGF0dXMsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0z
RG1lc3NhZz0KZSApICkKLSAgICBkZWYgX19jcmVhdGVfc2FtcGxlX2RhdGFzZXRzKCBzZWxmLCB0
cmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0c190PQpvX3RyYW5zZmVyLCBleHRlcm5hbF9z
ZXJ2aWNlICk6Ci0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3Nl
dHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNl
LmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNm
ZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2FtcGxlX2RhdGFzZXRfZmlsZV9uYW1lcyA9M0Qg
W10KLSAgICAgICAgaWYgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXI6Ci0gICAgICAgICAg
ICBmb3IgZmlsZXBhdGggaW4gc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXI6Ci0gICAgICAg
ICAgICAgICAgIyBGSVhNRTogaGFuZGxlIGZvbGRlciBzZWxlY3Rpb24gLSBpZ25vcmUgZm9sZGVy
cyBmb3Igbm93Ci0gICAgICAgICAgICAgICAgaWYgZmlsZXBhdGhbLTFdICE9M0Qgb3Muc2VwOgot
ICAgICAgICAgICAgICAgICAgICBuYW1lID0zRCBzZWxmLl9fcmVuYW1lX2RhdGFzZXQoIHNhbXBs
ZSwgZmlsZXBhdGguc3BsaXQ9CiggJy8nIClbLTFdLCBzY3BfY29uZmlncyApCi0gICAgICAgICAg
ICAgICAgICAgIHN0YXR1cyA9M0QgdHJhbnMuYXBwLm1vZGVsLlNhbXBsZURhdGFzZXQudHJhbnNm
ZXJfc3RhdD0KdXMuTk9UX1NUQVJURUQKLSAgICAgICAgICAgICAgICAgICAgc2l6ZSA9M0Qgc2Ft
cGxlLmdldF91bnRyYW5zZmVycmVkX2RhdGFzZXRfc2l6ZSggZmlsZXBhPQp0aCwgc2NwX2NvbmZp
Z3MgKQotICAgICAgICAgICAgICAgICAgICBzYW1wbGVfZGF0YXNldCA9M0QgdHJhbnMubW9kZWwu
U2FtcGxlRGF0YXNldCggc2FtcGxlPQo9M0RzYW1wbGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoPQo9M0Rm
aWxlcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzPQp0YXR1cywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPTNEbmFtPQpl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yX21zZz0KPTNEJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0zRHNpej0KZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleHRlcm5hbF9zPQplcnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlICkKLSAgICAgICAgICAgICAg
ICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5hZGQoIHNhbXBsZV9kYXRhc2V0ICkKLSAgICAgICAgICAg
ICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICAgICAgICAgICAgIHNh
bXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMuYXBwZW5kKCBzdHIoIHNhbXBsZV9kYXRhc2V0Lj0KbmFt
ZSApICkKLSAgICAgICAgcmV0dXJuIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMKICAgICBkZWYg
X19yZW5hbWVfZGF0YXNldCggc2VsZiwgc2FtcGxlLCBmaWxlcGF0aCwgc2NwX2NvbmZpZ3MgKToK
ICAgICAgICAgbmFtZSA9M0QgZmlsZXBhdGguc3BsaXQoICcvJyApWy0xXQogICAgICAgICBvcHRp
b25zID0zRCBzYW1wbGUucmVxdWVzdC50eXBlLnJlbmFtZV9kYXRhc2V0X29wdGlvbnMKQEAgLTU2
MSw5MCArMzgyLDYgQEAKICAgICAgICAgICAgIGZsdXNoX25lZWRlZCA9M0QgVHJ1ZQogICAgICAg
ICBpZiBmbHVzaF9uZWVkZWQ6CiAgICAgICAgICAgICB0cmFucy5zYV9zZXNzaW9uLmZsdXNoKCkK
LSAgICBkZWYgX19jcmVhdGVfZGF0YV90cmFuc2Zlcl9tZXNzYWdlcyggc2VsZiwgdHJhbnMsIHNh
bXBsZSwgc2VsZWN0ZWRfc2FtPQpwbGVfZGF0YXNldHMgKToKLSAgICAgICAgIiIiCi0gICAgICAg
IENyZWF0ZXMgdGhlIHhtbCBtZXNzYWdlcyB0byBzZW5kIHRvIHRoZSByYWJiaXRtcSBzZXJ2ZXIu
IEl0IHJldHVybj0KcyBhIGRpY3Rpb25hcnkgb2YgbWVzc2FnZXMKLSAgICAgICAga2V5ZWQgYnkg
dGhlIGV4dGVybmFsIHNlcnZpY2UgdXNlZCB0byB0cmFuc2ZlciB0aGUgZGF0YXNldHMKLSAgICAg
ICAgIiIiCi0gICAgICAgICMgQ3JlYXRlIHRoZSB4bWwgbWVzc2FnZSBiYXNlZCBvbiB0aGUgZm9s
bG93aW5nIHRlbXBsYXRlCi0gICAgICAgIHhtbCA9M0QgXAotICAgICAgICAgICAgJycnIDxkYXRh
X3RyYW5zZmVyPgotICAgICAgICAgICAgICAgICAgICA8Z2FsYXh5X2hvc3Q+JShHQUxBWFlfSE9T
VClzPC9nYWxheHlfaG9zdD4KLSAgICAgICAgICAgICAgICAgICAgPGFwaV9rZXk+JShBUElfS0VZ
KXM8L2FwaV9rZXk+Ci0gICAgICAgICAgICAgICAgICAgIDxkYXRhX2hvc3Q+JShEQVRBX0hPU1Qp
czwvZGF0YV9ob3N0PgotICAgICAgICAgICAgICAgICAgICA8ZGF0YV91c2VyPiUoREFUQV9VU0VS
KXM8L2RhdGFfdXNlcj4KLSAgICAgICAgICAgICAgICAgICAgPGRhdGFfcGFzc3dvcmQ+JShEQVRB
X1BBU1NXT1JEKXM8L2RhdGFfcGFzc3dvcmQ+Ci0gICAgICAgICAgICAgICAgICAgIDxyZXF1ZXN0
X2lkPiUoUkVRVUVTVF9JRClzPC9yZXF1ZXN0X2lkPgotICAgICAgICAgICAgICAgICAgICA8c2Ft
cGxlX2lkPiUoU0FNUExFX0lEKXM8L3NhbXBsZV9pZD4KLSAgICAgICAgICAgICAgICAgICAgPGxp
YnJhcnlfaWQ+JShMSUJSQVJZX0lEKXM8L2xpYnJhcnlfaWQ+Ci0gICAgICAgICAgICAgICAgICAg
IDxmb2xkZXJfaWQ+JShGT0xERVJfSUQpczwvZm9sZGVyX2lkPgotICAgICAgICAgICAgICAgICAg
ICAlKERBVEFTRVRTKXMKLSAgICAgICAgICAgICAgICA8L2RhdGFfdHJhbnNmZXI+JycnCi0gICAg
ICAgIGRhdGFzZXRfeG1sID0zRCBcCi0gICAgICAgICAgICAnJyc8ZGF0YXNldD4KLSAgICAgICAg
ICAgICAgICAgICA8ZGF0YXNldF9pZD4lKElEKXM8L2RhdGFzZXRfaWQ+Ci0gICAgICAgICAgICAg
ICAgICAgPG5hbWU+JShOQU1FKXM8L25hbWU+Ci0gICAgICAgICAgICAgICAgICAgPGZpbGU+JShG
SUxFKXM8L2ZpbGU+Ci0gICAgICAgICAgICAgICA8L2RhdGFzZXQ+JycnCi0gICAgICAgICMgSGVy
ZSB3ZSBncm91cCBhbGwgdGhlIHNhbXBsZV9kYXRhc2V0cyBieSB0aGUgZXh0ZXJuYWwgc2Vydmlj
ZSB1cz0KZWQgdG8gdHJhbnNmZXIgdGhlbS4KLSAgICAgICAgIyBUaGUgaWRlYSBpcyB0byBidW5k
bGUgdXAgdGhlIHNhbXBsZV9kYXRhc2V0cyB3aGljaCB1c2VzIHRoZSBzYW1lPQogZXh0ZXJuYWwg
c2VydmljZSBhbmQKLSAgICAgICAgIyBzZW5kIGEgc2luZ2xlIEFNUVAgbWVzc2FnZSB0byB0aGUg
Z2FsYXh5X2xpc3RlbmVyCi0gICAgICAgIGRhdGFzZXRfZWxlbWVudHMgPTNEIHt9Ci0gICAgICAg
IGZvciBzYW1wbGVfZGF0YXNldCBpbiBzZWxlY3RlZF9zYW1wbGVfZGF0YXNldHM6Ci0gICAgICAg
ICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCBzYW1wbGVfZGF0YXNldC5leHRlcm5hbF9zZXJ2aWNl
Ci0gICAgICAgICAgICBpZiBzYW1wbGVfZGF0YXNldC5zdGF0dXMgPTNEPTNEIHRyYW5zLmFwcC5t
b2RlbC5TYW1wbGVEYXRhc2V0Lj0KdHJhbnNmZXJfc3RhdHVzLk5PVF9TVEFSVEVEOgotICAgICAg
ICAgICAgICAgIGlmIG5vdCBkYXRhc2V0X2VsZW1lbnRzLmhhc19rZXkoIGV4dGVybmFsX3NlcnZp
Y2UgKToKLSAgICAgICAgICAgICAgICAgICAgZGF0YXNldF9lbGVtZW50c1sgZXh0ZXJuYWxfc2Vy
dmljZSBdID0zRCAnJwotICAgICAgICAgICAgICAgIGRhdGFzZXRfZWxlbWVudHNbIGV4dGVybmFs
X3NlcnZpY2UgXSArPTNEIGRhdGFzZXRfeG1sICUgZGk9CmN0KCBJRD0zRHN0ciggc2FtcGxlX2Rh
dGFzZXQuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1FPQo9M0RzYW1wbGVfZGF0YXNldC5uYW1lLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEZJTEU9Cj0zRHNhbXBsZV9kYXRhc2V0LmZpbGVfcGF0aCApCi0gICAgICAg
ICAgICAgICAgIyB1cGRhdGUgdGhlIGRhdGFzZXQgdHJhbnNmZXIgc3RhdHVzCi0gICAgICAgICAg
ICAgICAgc2FtcGxlX2RhdGFzZXQuc3RhdHVzID0zRCB0cmFucy5hcHAubW9kZWwuU2FtcGxlRGF0
YXNldC50cj0KYW5zZmVyX3N0YXR1cy5JTl9RVUVVRQotICAgICAgICAgICAgICAgIHRyYW5zLnNh
X3Nlc3Npb24uYWRkKCBzYW1wbGVfZGF0YXNldCApCi0gICAgICAgICAgICAgICAgdHJhbnMuc2Ff
c2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICMgRmluYWxseSBwcmVwZW5kIHRoZSBleHRlcm5hbCBz
ZXJ2aWNlIGluZm8gdG8gdGhlIHNldHMgb2Ygc2FtcGxlID0KZGF0YXNldHMKLSAgICAgICAgbWVz
c2FnZXMgPTNEIFtdCi0gICAgICAgIGZvciBleHRlcm5hbF9zZXJ2aWNlLCBkYXRhc2V0X2VsZW0g
aW4gZGF0YXNldF9lbGVtZW50cy5pdGVtcygpOgotICAgICAgICAgICAgZXh0ZXJuYWxfc2Vydmlj
ZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zICkKLSAgICAgICAgICAgIHNjcF9j
b25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4
PQp0ZXJuYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgICAg
ICMgQ2hlY2sgZGF0YSB0cmFuc2ZlciBzZXR0aW5ncwotICAgICAgICAgICAgZXJyX21zZyA9M0Qg
c2VsZi5fX3ZhbGlkYXRlX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zLCBzYW09CnBsZS5y
ZXF1ZXN0LnR5cGUsIHNjcF9jb25maWdzICkKLSAgICAgICAgICAgIGlmIGVycl9tc2c6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxf
Zm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPQo9
M0QnbWFuYWdlX2RhdGFzZXRzJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsZV9pPQpkPTNEdHJhbnMuc2VjdXJp
dHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz0KPTNEJ2Vycm9yJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIG1lc3NhZ2U9Cj0zRGVycl9tc2cgKSApCi0gICAgICAgICAgICBtZXNzYWdlID0z
RCB4bWwgJSBkaWN0KCBHQUxBWFlfSE9TVD0zRHRyYW5zLnJlcXVlc3QuaG9zdCwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBBUElfS0VZPTNEdHJhbnMudXNlci5hcGlfa2V5c1sw
XS5rZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUQV9IT1NUPTNEc2Nw
X2NvbmZpZ3NbICdob3N0JyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERB
VEFfVVNFUj0zRHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIERBVEFfUEFTU1dPUkQ9M0RzY3BfY29uZmlnc1sgJ3Bhc3N3b3JkJyA9
Cl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUkVRVUVTVF9JRD0zRHN0cigg
c2FtcGxlLnJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
QU1QTEVfSUQ9M0RzdHIoIHNhbXBsZS5pZCApLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIExJQlJBUllfSUQ9M0RzdHIoIHNhbXBsZS5saWJyYXJ5LmlkICksCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRk9MREVSX0lEPTNEc3RyKCBzYW1wbGUuZm9sZGVyLmlk
ICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgREFUQVNFVFM9M0RkYXRhc2V0
X2VsZW0gKQotICAgICAgICAgICAgbWVzc2FnZXMuYXBwZW5kKCBtZXNzYWdlLnJlcGxhY2UoICdc
bicsICcnICkucmVwbGFjZSggJ1xyJywgJyc9CiApICkKLSAgICAgICAgcmV0dXJuIG1lc3NhZ2Vz
Ci0gICAgZGVmIF9fdmFsaWRhdGVfZGF0YV90cmFuc2Zlcl9zZXR0aW5ncyggc2VsZiwgdHJhbnMs
IHJlcXVlc3RfdHlwZSwgc2NwXz0KY29uZmlncyApOgotICAgICAgICBlcnJfbXNnID0zRCAnJwot
ICAgICAgICAjIGNoZWNrIHRoZSBleHRlcm5hbCBzZXJ2aWNlIGxvZ2luIGluZm8KLSAgICAgICAg
aWYgbm90IHNjcF9jb25maWdzLmdldCggJ2hvc3QnLCAnJyApIFwKLSAgICAgICAgICAgIG9yIG5v
dCBzY3BfY29uZmlncy5nZXQoICd1c2VyX25hbWUnLCAnJyApIFwKLSAgICAgICAgICAgIG9yIG5v
dCBzY3BfY29uZmlncy5nZXQoICdwYXNzd29yZCcsICcnICk6Ci0gICAgICAgICAgICBlcnJfbXNn
ICs9M0QgIkVycm9yIGluIGV4dGVybmFsIHNlcnZpY2UgbG9naW4gaW5mb3JtYXRpb24uICIKLSAg
ICAgICAgaWYgbm90IHRyYW5zLnVzZXIuYXBpX2tleXM6Ci0gICAgICAgICAgICBlcnJfbXNnICs9
M0QgIlNldCB5b3VyIEFQSSBLZXkgaW4geW91ciBVc2VyIFByZWZlcmVuY2VzIHRvIHRyYT0KbnNm
ZXIgZGF0YXNldHMuICIKLSAgICAgICAgIyBDaGVjayBpZiBsaWJyYXJ5X2ltcG9ydF9kaXIgaXMg
c2V0Ci0gICAgICAgIGlmIG5vdCB0cmFucy5hcHAuY29uZmlnLmxpYnJhcnlfaW1wb3J0X2RpcjoK
LSAgICAgICAgICAgIGVycl9tc2cgPTNEICInVGhlIGxpYnJhcnlfaW1wb3J0X2Rpcicgc2V0dGlu
ZyBpcyBub3QgY29ycmVjdGx5PQogc2V0IGluIHRoZSBHYWxheHkgY29uZmlnIGZpbGUuICIKLSAg
ICAgICAgIyBDaGVjayB0aGUgUmFiYml0TVEgc2VydmVyIHNldHRpbmdzIGluIHRoZSBjb25maWcg
ZmlsZQotICAgICAgICBmb3IgaywgdiBpbiB0cmFucy5hcHAuY29uZmlnLmFtcXAuaXRlbXMoKToK
LSAgICAgICAgICAgIGlmIG5vdCB2OgotICAgICAgICAgICAgICAgIGVycl9tc2cgKz0zRCAnU2V0
IFJhYmJpdE1RIHNlcnZlciBzZXR0aW5ncyBpbiB0aGUgImdhbGF4eV89CmFtcXAiIHNlY3Rpb24g
b2YgdGhlIEdhbGF4eSBjb25maWcgZmlsZSwgc3BlY2lmaWNhbGx5ICIlcyIgaXMgbm90IHNldC4n
ICUgawotICAgICAgICAgICAgICAgIGJyZWFrCi0gICAgICAgIHJldHVybiBlcnJfbXNnCiAgICAg
QHdlYi5leHBvc2UKICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KICAgICBkZWYgaW5pdGlhdGVfZGF0
YV90cmFuc2Zlciggc2VsZiwgdHJhbnMsIHNhbXBsZV9pZCwgc2FtcGxlX2RhdGFzZXRzPTNEPQpb
XSwgc2FtcGxlX2RhdGFzZXRfaWQ9M0QnJyApOgpAQCAtNjg2LDM1ICs0MjMsOCBAQAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA9CiAgICAgICAgICAgICAgICAgIGV4dGVybmFsX3NlcnZpY2U9M0RleHRlcm5h
bF9zZXJ2aWNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAgICAgICAgICAgIGV4dGVybmFs
X3NlcnZpY2VfdHlwZT0zRGV4dGVybmFsX3NlcnZpY2VfdHlwZSApCiAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAjIFRPRE86IFVzaW5nIFJhYmJpdE1xIGZvciBub3csIGJ1dCBlbGltaW5hdGUg
dGhpcyBlbnRpcmUgYmxvYz0KayB3aGVuIHdlIHJlcGxhY2UgUmFiYml0TXEgd2l0aCBHYWxheHkn
cwotICAgICAgICAgICAgIyBvd24gbWVzc2FnaW5nIGVuZ2luZS4gIFdlJ3JlIGhvbGRpbmcgb2Zm
IG9uIHVzaW5nIHRoZSBuZXcgd2E9CnkgdG8gdHJhbnNmZXIgZmlsZXMgbWFudWFsbHkgdW50aWwg
d2UKLSAgICAgICAgICAgICMgaW1wbGVtZW50IGEgR2FsYXh5LXByb3ByaWV0YXJ5IG1lc3NhZ2lu
ZyBlbmdpbmUgYmVjYXVzZSB0aGUgPQpkZWZlcnJlZCBqb2IgcGx1Z2lucyBjdXJyZW50bHkgcGVy
Zm9ybQotICAgICAgICAgICAgIyBjb25zdGFudCBkYiBoaXRzIHRvIGNoZWNrIGZvciBkZWZlcnJl
ZCBqb2JzIHRoYXQgYXJlIG5vdCBpbiA9CmEgZmluaXNoZWQgc3RhdGUuCi0gICAgICAgICAgICAj
IENyZWF0ZSB0aGUgbWVzc2FnZQotICAgICAgICAgICAgbWVzc2FnZXMgPTNEIHNlbGYuX19jcmVh
dGVfZGF0YV90cmFuc2Zlcl9tZXNzYWdlcyggdHJhbnMsIHNhbXA9CmxlLCBzYW1wbGVfZGF0YXNl
dHMgKQotICAgICAgICAgICAgIyBTZW5kIHRoZSBtZXNzYWdlcwotICAgICAgICAgICAgZm9yIHJt
cV9tc2cgaW4gbWVzc2FnZXM6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAg
ICAgICBjb25uID0zRCBhbXFwLkNvbm5lY3Rpb24oIGhvc3Q9M0R0cmFucy5hcHAuY29uZmlnLmFt
cXA9ClsgJ2hvc3QnIF0gKyAiOiIgKyB0cmFucy5hcHAuY29uZmlnLmFtcXBbICdwb3J0JyBdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyaWQ9M0R0cmFu
cy5hcHAuY29uZmlnLmFtcXA9ClsgJ3VzZXJpZCcgXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ9M0R0cmFucy5hcHAuY29uZmlnLmFtPQpxcFsg
J3Bhc3N3b3JkJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2aXJ0dWFsX2hvc3Q9M0R0cmFucy5hcHAuY29uZmk9CmcuYW1xcFsgJ3ZpcnR1YWxfaG9zdCcg
XSkKLSAgICAgICAgICAgICAgICAgICAgY2hhbiA9M0QgY29ubi5jaGFubmVsKCkKLSAgICAgICAg
ICAgICAgICAgICAgbXNnID0zRCBhbXFwLk1lc3NhZ2UoIHJtcV9tc2csCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPTNEJ3RleHQvcGxhaW4nLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uX2hlYWRl
cnM9M0R7ICdtc2dfdHlwZSc9CjogJ2RhdGFfdHJhbnNmZXInIH0gKQotICAgICAgICAgICAgICAg
ICAgICBtc2cucHJvcGVydGllc1sgImRlbGl2ZXJ5X21vZGUiIF0gPTNEIDIKLSAgICAgICAgICAg
ICAgICAgICAgY2hhbi5iYXNpY19wdWJsaXNoKCBtc2csCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgZXhjaGFuZ2U9M0R0cmFucy5hcHAuY29uZmlnLmFtcXBbID0KJ2V4
Y2hhbmdlJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRp
bmdfa2V5PTNEdHJhbnMuYXBwLmNvbmZpZy5hbXE9CnBbICdyb3V0aW5nX2tleScgXSApCi0gICAg
ICAgICAgICAgICAgICAgIGNoYW4uY2xvc2UoKQotICAgICAgICAgICAgICAgICAgICBjb25uLmNs
b3NlKCkKLSAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgotICAgICAgICAgICAg
ICAgICAgICBtZXNzYWdlID0zRCAiRXJyb3Igc2VuZGluZyB0aGUgZGF0YSB0cmFuc2ZlciBtZXNz
YWdlIHQ9Cm8gdGhlIEdhbGF4eSBBTVFQIG1lc3NhZ2UgcXVldWU6PGJyLz4lcyIgJSBzdHIoZSkK
LSAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0zRCAiZXJyb3IiCi0gICAgICAgICAgICBpZiBu
b3QgbWVzc2FnZToKLSAgICAgICAgICAgICAgICBtZXNzYWdlID0zRCAiJWkgZGF0YXNldHMgaGF2
ZSBiZWVuIHF1ZXVlZCBmb3IgdHJhbnNmZXIgZnJvPQptIHRoZSBleHRlcm5hbCBzZXJ2aWNlLiIg
JSBsZW4oIHNhbXBsZV9kYXRhc2V0cyApCi0gICAgICAgICAgICAgICAgc3RhdHVzID0zRCAiZG9u
ZSIKKyAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJNZXNzYWdlIHF1ZXVlIHRyYW5zZmVyIGlzIG5v
IGxvbmdlciBzdXBwb3J0ZWQsIHBsPQplYXNlIHNldCBlbmFibGVfYmV0YV9qb2JfbWFuYWdlcnMg
PTNEIFRydWUgaW4gZ2FsYXh5LmluaSIKKyAgICAgICAgICAgIHN0YXR1cyA9M0QgImVycm9yIgog
ICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3Io
IGNvbnRyb2xsZXI9M0QncmU9CnF1ZXN0c19hZG1pbicsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPTNEJ21hbmFnZT0KX2Rh
dGFzZXRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzYW1wbGVfaWQ9M0R0cmFuPQpzLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxl
LmlkICksCgpkaWZmIC1yIDFmMzQwNzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQg
LXIgN2RkYjQxZGNiMmIyZTRkM2E2ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi9nYWxheHkv
d2ViYXBwcy90b29sX3NoZWQvY29udHJvbGxlcnMvcmVwb3NpdG9yeS5weQotLS0gYS9saWIvZ2Fs
YXh5L3dlYmFwcHMvdG9vbF9zaGVkL2NvbnRyb2xsZXJzL3JlcG9zaXRvcnkucHkKKysrIGIvbGli
L2dhbGF4eS93ZWJhcHBzL3Rvb2xfc2hlZC9jb250cm9sbGVycy9yZXBvc2l0b3J5LnB5CkBAIC0x
NjM1LDExICsxNjM1LDExIEBACiAgICAgICAgIHJldHVybiAnJwo9MjAKICAgICBAd2ViLmpzb24K
LSAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNlbGYsIHRyYW5zLCBmaWxlX3BhdGggKToKKyAg
ICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNlbGYsIHRyYW5zLCBmaWxlX3BhdGgsIHJlcG9zaXRv
cnlfaWQgKToKICAgICAgICAgIyBBdm9pZCBjYWNoaW5nCiAgICAgICAgIHRyYW5zLnJlc3BvbnNl
LmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCiAgICAgICAgIHRyYW5zLnJlc3BvbnNl
LmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAgIHJldHVybiBzdWMuZ2V0X3JlcG9z
aXRvcnlfZmlsZV9jb250ZW50cyggZmlsZV9wYXRoICkKKyAgICAgICAgcmV0dXJuIHN1Yy5nZXRf
cmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCB0cmFucy5hcHAsIGZpbGVfcGF0aCwgcmVwPQpvc2l0
b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBvc2UKICAgICBkZWYgZ2V0X2Z1bmN0aW9uYWxfdGVz
dF9yc3MoIHNlbGYsIHRyYW5zLCAqKmt3ZCApOgpAQCAtMjYxOSwxMSArMjYxOSwxMSBAQAogICAg
ICAgICByZXR1cm4gJycKPTIwCiAgICAgQHdlYi5qc29uCi0gICAgZGVmIG9wZW5fZm9sZGVyKCBz
ZWxmLCB0cmFucywgZm9sZGVyX3BhdGggKToKKyAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRy
YW5zLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICAgICAjIEF2b2lkIGNhY2hp
bmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21hJ10gPTNEICduby1jYWNo
ZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJlcyddID0zRCAnMCcKLSAg
ICAgICAgcmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCBmb2xkZXJfcGF0
aCApCisgICAgICAgIHJldHVybiBzdWMub3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlciggdHJh
bnMuYXBwLCBmb2xkZXJfcGF0aCwgcj0KZXBvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBv
c2UKICAgICBkZWYgcHJldmlld190b29sc19pbl9jaGFuZ2VzZXQoIHNlbGYsIHRyYW5zLCByZXBv
c2l0b3J5X2lkLCAqKmt3ZCApOgoKZGlmZiAtciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZh
NzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkw
MiBsaWIvZ2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVkL2ZyYW1ld29yay9taWRkbGV3YXJlL2hnLnB5
Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy90b29sX3NoZWQvZnJhbWV3b3JrL21pZGRsZXdhcmUv
aGcucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL3Rvb2xfc2hlZC9mcmFtZXdvcmsvbWlkZGxl
d2FyZS9oZy5weQpAQCAtOSw3ICs5LDcgQEAKIGZyb20gcGFzdGUuaHR0cGhlYWRlcnMgaW1wb3J0
IEFVVEhfVFlQRQogZnJvbSBwYXN0ZS5odHRwaGVhZGVycyBpbXBvcnQgUkVNT1RFX1VTRVIKPTIw
Ci1mcm9tIGdhbGF4eS51dGlsIGltcG9ydCBhc2Jvb2wKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0
IGFzYm9vbCwgc2FmZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS51dGlsLmhhc2hfdXRpbCBpbXBvcnQg
bmV3X3NlY3VyZV9oYXNoCiBmcm9tIHRvb2xfc2hlZC51dGlsIGltcG9ydCBoZ191dGlsCiBpbXBv
cnQgdG9vbF9zaGVkLnJlcG9zaXRvcnlfdHlwZXMudXRpbCBhcyBydF91dGlsCkBAIC0xMTMsNyAr
MTEzLDExIEBACiAgICAgICAgICAgICAgICAgICAgIGZoLndyaXRlKCBjaHVuayApCiAgICAgICAg
ICAgICAgICAgZmguY2xvc2UoKQogICAgICAgICAgICAgICAgIGZoID0zRCBvcGVuKCB0bXBfZmls
ZW5hbWUsICdyYicgKQotICAgICAgICAgICAgICAgIGNoYW5nZXNldF9ncm91cHMgPTNEIGpzb24u
bG9hZHMoIGhnX3V0aWwuYnVuZGxlX3RvX2pzb24oIGY9CmggKSApCisgICAgICAgICAgICAgICAg
dHJ5OgorICAgICAgICAgICAgICAgICAgICBjaGFuZ2VzZXRfZ3JvdXBzID0zRCBqc29uLmxvYWRz
KCBoZ191dGlsLmJ1bmRsZV90b19qc289Cm4oIGZoICkgKQorICAgICAgICAgICAgICAgIGV4Y2Vw
dCBBdHRyaWJ1dGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgbXNnID0zRCAnWW91ciB2ZXJz
aW9uIG9mIE1lcmN1cmlhbCBpcyBub3Qgc3VwcG9ydGVkLiBQPQpsZWFzZSB1c2UgYSB2ZXJzaW9u
IDwgMy41JworICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fX2Rpc3BsYXlfZXhjZXB0
aW9uX3JlbW90ZWx5KCBzdGFydF9yZXNwb249CnNlLCBtc2cgKQogICAgICAgICAgICAgICAgIGZo
LmNsb3NlKCkKICAgICAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIG9zLnVu
bGluayggdG1wX2ZpbGVuYW1lICkKQEAgLTEyMiw2ICsxMjYsMTkgQEAKICAgICAgICAgICAgICAg
ICBpZiBjaGFuZ2VzZXRfZ3JvdXBzOgogICAgICAgICAgICAgICAgICAgICAjIENoZWNrIHRoZSBy
ZXBvc2l0b3J5IHR5cGUgdG8gbWFrZSBzdXJlIGluYXBwcm9wcmlhdGU9CiBmaWxlcyBhcmUgbm90
IGJlaW5nIHB1c2hlZC4KICAgICAgICAgICAgICAgICAgICAgaWYgJ1BBVEhfSU5GTycgaW4gZW52
aXJvbjoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgRW5zdXJlIHRoZXJlIGFyZSBubyBzeW1s
aW5rcyB3aXRoIHRhcmdldHMgb3V0c2lkPQplIHRoZSByZXBvCisgICAgICAgICAgICAgICAgICAg
ICAgICBmb3IgZW50cnkgaW4gY2hhbmdlc2V0X2dyb3VwczoKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZiBsZW4oIGVudHJ5ICkgPTNEPTNEIDI6CisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGZpbGVuYW1lLCBjaGFuZ2VfbGlzdCA9M0QgZW50cnkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoY2hhbmdlX2xpc3QsIGxpc3QpOgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlX2xpc3QgPTNEIFtjaGFu
Z2VfbGlzdF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNoYW5nZSBpbiBj
aGFuZ2VfbGlzdDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBwYXRj
aCBpbiBjaGFuZ2VbJ2RhdGEnXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB0YXJnZXQgPTNEIHBhdGNoWydibG9jayddLnN0cmlwKCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZiAoICggcGF0Y2hbJ2VuZCddIC0gcGF0Y2hbJ3N0YXJ0
PQonXSA9M0Q9M0QgMCApIGFuZCBub3Qgc2FmZV9yZWxwYXRoKCB0YXJnZXQgKSApOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgPTNEICJDaGFuZ2VzIGlu
Y2x1ZGUgYSBzeW09Cmxpbmsgb3V0c2lkZSBvZiB0aGUgcmVwb3NpdG9yeTogJXMgLT4gJXMiICUg
KCBmaWxlbmFtZSwgdGFyZ2V0ICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbG9nLndhcm5pbmcoIG1zZyApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLl9fZGlzcGxheV9leGNlcHRpbz0Kbl9yZW1vdGVs
eSggc3RhcnRfcmVzcG9uc2UsIG1zZyApCiAgICAgICAgICAgICAgICAgICAgICAgICAjIEluc3Rh
bnRpYXRlIGEgZGF0YWJhc2UgY29ubmVjdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgZW5n
aW5lID0zRCBzcWxhbGNoZW15LmNyZWF0ZV9lbmdpbmUoIHNlbGYuZGJfdXJsICkKICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24gPTNEIGVuZ2luZS5jb25uZWN0KCkKCmRpZmYgLXIg
MWYzNDA3MmQ0NzNmODcxYjkwYmYxYjJiY2M2YTcyYzMyMjQyMDAxZCAtciA3ZGRiNDFkY2IyYjJl
NGQzYTZmODM0ZD0KM2RkMTE0MjZmMjZmYjc5MDIgbGliL2dhbGF4eS93b3JrZmxvdy9yZW5kZXIu
cHkKLS0tIGEvbGliL2dhbGF4eS93b3JrZmxvdy9yZW5kZXIucHkKKysrIGIvbGliL2dhbGF4eS93
b3JrZmxvdy9yZW5kZXIucHkKQEAgLTM0LDggKzM0LDggQEAKICAgICAgICAgY2FudmFzLmFwcGVu
ZCggc2VsZi5ib3hlcyApCiAgICAgICAgIGNhbnZhcy5hcHBlbmQoIHNlbGYudGV4dCApCiAgICAg
ICAgIHdpZHRoLCBoZWlnaHQgPTNEICggbWF4X3ggKyBtYXhfd2lkdGggKyA1MCApLCBtYXhfeSAr
IDMwMAotICAgICAgICBjYW52YXNbICd3aWR0aCcgXSA9M0QgIiVzIHB4IiAlIHdpZHRoCi0gICAg
ICAgIGNhbnZhc1sgJ2hlaWdodCcgXSA9M0QgIiVzIHB4IiAlIGhlaWdodAorICAgICAgICBjYW52
YXNbICd3aWR0aCcgXSA9M0QgIiVzcHgiICUgd2lkdGgKKyAgICAgICAgY2FudmFzWyAnaGVpZ2h0
JyBdID0zRCAiJXNweCIgJSBoZWlnaHQKICAgICAgICAgY2FudmFzWyAndmlld0JveCcgXSA9M0Qg
IjAgMCAlcyAlcyIgJSAoIHdpZHRoLCBoZWlnaHQgKQo9MjAKICAgICBkZWYgYWRkX2JveGVzKCBz
ZWxmLCBzdGVwX2RpY3QsIHdpZHRoLCBuYW1lX2ZpbGwgKToKQEAgLTEyMCw3ICsxMjAsNyBAQAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRqdXN0ZWRbIDEg
XSAtIG1hcmdpbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGluX2Nvb3Jkc1sgMCBdIC0gMTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbl9jb29yZHNbIDEgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGFycm93X2VuZD0zRCJ0cnVlIiApLlNWRygpICkKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycm93X2VuZD0zRCJjb25uXyVzIiAl
IChsZW4oPQpzZWxmLmNvbm5lY3RvcnMua2V5cygpKSArIDEpICkuU1ZHKCkgKQo9MjAKICAgICBk
ZWYgYWRkX3N0ZXBzKCBzZWxmLCBoaWdobGlnaHRfZXJyb3JzPTNERmFsc2UgKToKICAgICAgICAg
IyBPbmx5IGhpZ2hsaWdodCBtaXNzaW5nIHRvb2xzIGlmIGRpc3BsYXlpbmcgaW4gdGhlIHRvb2wg
c2hlZC4KCmRpZmYgLXIgMWYzNDA3MmQ0NzNmODcxYjkwYmYxYjJiY2M2YTcyYzMyMjQyMDAxZCAt
ciA3ZGRiNDFkY2IyYjJlNGQzYTZmODM0ZD0KM2RkMTE0MjZmMjZmYjc5MDIgbGliL3Rvb2xfc2hl
ZC9jYXBzdWxlL2NhcHN1bGVfbWFuYWdlci5weQotLS0gYS9saWIvdG9vbF9zaGVkL2NhcHN1bGUv
Y2Fwc3VsZV9tYW5hZ2VyLnB5CisrKyBiL2xpYi90b29sX3NoZWQvY2Fwc3VsZS9jYXBzdWxlX21h
bmFnZXIucHkKQEAgLTEyLDYgKzEyLDcgQEAKIGZyb20gZ2FsYXh5Lm1vZGVsLm9ybSBpbXBvcnQg
YW5kXwogZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgYXNib29sCiBmcm9tIGdhbGF4eS51dGlsIGlt
cG9ydCBDSFVOS19TSVpFCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCBzYWZlX3JlbHBhdGgKIGZy
b20gZ2FsYXh5LnV0aWwub2RpY3QgaW1wb3J0IG9kaWN0Cj0yMAogZnJvbSB0b29sX3NoZWQuZGVw
ZW5kZW5jaWVzLnJlcG9zaXRvcnkucmVsYXRpb25fYnVpbGRlciBpbXBvcnQgUmVsYXRpb25CdWk9
CmxkZXIKQEAgLTcyNywyOSArNzI4LDE2IEBACiAgICAgICAgIHJlcG8gPTNEIGhnX3V0aWwuZ2V0
X3JlcG9fZm9yX3JlcG9zaXRvcnkoIHNlbGYuYXBwLCByZXBvc2l0b3J5PTNETj0Kb25lLCByZXBv
X3BhdGg9M0RyZXBvX2RpciwgY3JlYXRlPTNERmFsc2UgKQogICAgICAgICB1bmRlc2lyYWJsZV9k
aXJzX3JlbW92ZWQgPTNEIDAKICAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0Qg
MAotICAgICAgICBvaywgZXJyb3JfbWVzc2FnZSA9M0QgY29tbWl0X3V0aWwuY2hlY2tfYXJjaGl2
ZSggcmVwb3NpdG9yeSwgYXJjaGk9CnZlICkKLSAgICAgICAgaWYgb2s6CisgICAgICAgIGNoZWNr
X3Jlc3VsdHMgPTNEIGNvbW1pdF91dGlsLmNoZWNrX2FyY2hpdmUoIHJlcG9zaXRvcnksIGFyY2hp
dmUgKQorICAgICAgICAjIFdlIGZpbHRlciBvdXQgdW5kZXNpcmFibGUgZmlsZXMgYnV0IGZhaWwg
b24gdW5kZXNyaWFibGUgZGlycy4gTm90CisgICAgICAgICMgc3VyZSB3aHksIGp1c3QgdHJ5aW5n
IHRvIG1haW50YWluIHRoZSBzYW1lIGJlaGF2aW9yIGFzIGJlZm9yZS4gLT0KbmF0ZQorICAgICAg
ICBpZiBub3QgY2hlY2tfcmVzdWx0cy5pbnZhbGlkIGFuZCBub3QgY2hlY2tfcmVzdWx0cy51bmRl
c2lyYWJsZV9kaXI9CnM6CiAgICAgICAgICAgICBmdWxsX3BhdGggPTNEIG9zLnBhdGguYWJzcGF0
aCggcmVwb19kaXIgKQotICAgICAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFtdCi0g
ICAgICAgICAgICBmb3IgdGFyaW5mb19vYmogaW4gYXJjaGl2ZS5nZXRtZW1iZXJzKCk6Ci0gICAg
ICAgICAgICAgICAgIyBDaGVjayBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgaW4gdGhlIGFyY2hpdmUu
Ci0gICAgICAgICAgICAgICAgb2sgPTNEIG9zLnBhdGguYmFzZW5hbWUoIHRhcmluZm9fb2JqLm5h
bWUgKSBub3QgaW4gY29tbWl0Xz0KdXRpbC5VTkRFU0lSQUJMRV9GSUxFUwotICAgICAgICAgICAg
ICAgIGlmIG9rOgotICAgICAgICAgICAgICAgICAgICBmb3IgZmlsZV9wYXRoX2l0ZW0gaW4gdGFy
aW5mb19vYmoubmFtZS5zcGxpdCggJy8nICk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBm
aWxlX3BhdGhfaXRlbSBpbiBjb21taXRfdXRpbC5VTkRFU0lSQUJMRV9ESVJTOgotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCArPTNEIDEKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9tZXNzYWdlID0zRCAnSW1wb3J0IGZhaWxlZDog
aW52YWxpZCBmaWxlPQogcGF0aCA8Yj4lczwvYj4gaW4gYXJjaGl2ZSA8Yj4lczwvYj4nICUgXAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoIHN0ciggZmlsZV9wYXRoX2l0ZW0gKSwg
c3RyKCBhcmNoaXZlX2ZpbGU9Cl9uYW1lICkgKQotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlc3VsdHNfZGljdFsgJ29rJyBdID0zRCBGYWxzZQotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlc3VsdHNfZGljdFsgJ2Vycm9yX21lc3NhZ2UnIF0gKz0zRCBlcnJvcl9tZXM9CnNhZ2UK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0c19kaWN0Ci0gICAgICAg
ICAgICAgICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlLmFwcGVuZCggdGFyaW5mb19vYmoubmFt
ZSApCi0gICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdW5kZXNpcmFi
bGVfZmlsZXNfcmVtb3ZlZCArPTNEIDEKICAgICAgICAgICAgICMgRXh0cmFjdCB0aGUgdXBsb2Fk
ZWQgYXJjaGl2ZSB0byB0aGUgcmVwb3NpdG9yeSByb290LgotICAgICAgICAgICAgYXJjaGl2ZS5l
eHRyYWN0YWxsKCBwYXRoPTNEZnVsbF9wYXRoICkKKyAgICAgICAgICAgIGFyY2hpdmUuZXh0cmFj
dGFsbCggcGF0aD0zRGZ1bGxfcGF0aCwgbWVtYmVycz0zRGNoZWNrX3Jlc3VsdHMuPQp2YWxpZCAp
CiAgICAgICAgICAgICBhcmNoaXZlLmNsb3NlKCkKLSAgICAgICAgICAgIGZvciBmaWxlbmFtZSBp
biBmaWxlbmFtZXNfaW5fYXJjaGl2ZToKKyAgICAgICAgICAgIGZvciB0YXJfbWVtYmVyIGluIGNo
ZWNrX3Jlc3VsdHMudmFsaWQ6CisgICAgICAgICAgICAgICAgZmlsZW5hbWUgPTNEIHRhcl9tZW1i
ZXIubmFtZQogICAgICAgICAgICAgICAgIHVwbG9hZGVkX2ZpbGVfbmFtZSA9M0Qgb3MucGF0aC5q
b2luKCBmdWxsX3BhdGgsIGZpbGVuYW1lICkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLnNw
bGl0KCB1cGxvYWRlZF9maWxlX25hbWUgKVsgLTEgXSA9M0Q9M0QgcnRfdXRpPQpsLlJFUE9TSVRP
UllfREVQRU5ERU5DWV9ERUZJTklUSU9OX0ZJTEVOQU1FOgogICAgICAgICAgICAgICAgICAgICAj
IEluc3BlY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBmaWxlIHRvIHNlZSBpZiB0b29sc2hlZCA9Cm9y
IGNoYW5nZXNldF9yZXZpc2lvbiBhdHRyaWJ1dGVzCkBAIC03NzYsNiArNzY0LDkgQEAKICAgICAg
ICAgICAgIG5ld19yZXBvX2FsZXJ0ID0zRCBUcnVlCiAgICAgICAgICAgICAjIFNpbmNlIHRoZSBy
ZXBvc2l0b3J5IGlzIG5ldywgdGhlIGZvbGxvd2luZyBtdXN0IGJlIEZhbHNlLgogICAgICAgICAg
ICAgcmVtb3ZlX3JlcG9fZmlsZXNfbm90X2luX3RhciA9M0QgRmFsc2UKKyAgICAgICAgICAgIGZp
bGVuYW1lc19pbl9hcmNoaXZlID0zRCBbIG1lbWJlci5uYW1lIGZvciBtZW1iZXIgaW4gY2hlY2tf
cmVzPQp1bHRzLnZhbGlkIF0KKyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQg
PTNEIGxlbiggY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9mPQppbGVzICkKKyAgICAgICAgICAg
IHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCA9M0QgMAogICAgICAgICAgICAgb2ssIGVycm9yX21l
c3NhZ2UsIGZpbGVzX3RvX3JlbW92ZSwgY29udGVudF9hbGVydF9zdHIsIHVuZGVzaXI9CmFibGVf
ZGlyc19yZW1vdmVkLCB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVkID0zRCBcCiAgICAgICAgICAg
ICAgICAgY29tbWl0X3V0aWwuaGFuZGxlX2RpcmVjdG9yeV9jaGFuZ2VzKCBzZWxmLmFwcCwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu
aG9zdCwKQEAgLTgwNiw3ICs3OTcsMTMgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGFy
Y2hpdmUuY2xvc2UoKQogICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAnb2snIF0gPTNEIEZhbHNl
Ci0gICAgICAgICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgZXJyb3Jf
bWVzc2FnZQorICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAnZXJyb3JfbWVzc2FnZScgXSArPTNE
ICdDYXBzdWxlIGVycm9ycyB3ZXJlIGZvdW49CmQ6ICcKKyAgICAgICAgICAgIGlmIGNoZWNrX3Jl
c3VsdHMuaW52YWxpZDoKKyAgICAgICAgICAgICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNz
YWdlJyBdICs9M0QgJyVzIEludmFsaWQgZmlsZXMgd2VyPQplOiAlcy4nICUgKAorICAgICAgICAg
ICAgICAgICAgICAnICcuam9pbiggY2hlY2tfcmVzdWx0cy5lcnJvcnMgKSwgJywgJy5qb2luKCBj
aGVja19yZXM9CnVsdHMuaW52YWxpZCApICkKKyAgICAgICAgICAgIGlmIGNoZWNrX3Jlc3VsdHMu
dW5kZXNpcmFibGVfZGlyczoKKyAgICAgICAgICAgICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9t
ZXNzYWdlJyBdICs9M0QgJyBVbmRlc2lyYWJsZSBkaXJlY3RvPQpyaWVzIHdlcmU6ICVzLicgJSAo
CisgICAgICAgICAgICAgICAgICAgICcsICcuam9pbiggY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJs
ZV9kaXJzICkgKQogICAgICAgICByZXR1cm4gcmVzdWx0c19kaWN0Cj0yMAogICAgIGRlZiB1cGxv
YWRfY2Fwc3VsZSggc2VsZiwgKiprd2QgKToKQEAgLTg2Myw2ICs4NjAsMTIgQEAKICAgICAgICAg
ICAgICAgICByZXR1cm5fZGljdFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJwogICAgICAgICAgICAg
ICAgIHVwbG9hZGVkX2ZpbGUuY2xvc2UoKQogICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5f
ZGljdAorICAgICAgICAgICAgaWYgbm90IHNlbGYudmFsaWRhdGVfYXJjaGl2ZV9wYXRocyggdGFy
X2FyY2hpdmUgKToKKyAgICAgICAgICAgICAgICByZXR1cm5fZGljdFsgJ3N0YXR1cycgXSA9M0Qg
J2Vycm9yJworICAgICAgICAgICAgICAgIHJldHVybl9kaWN0WyAnbWVzc2FnZScgXSA9M0QgKCAn
VGhpcyBjYXBzdWxlIGNvbnRhaW5zIGFuIGk9Cm52YWxpZCBtZW1iZXIgdHlwZSAnCisgICAgICAg
ICAgICAgICAgICAgICdvciBhIGZpbGUgb3V0c2lkZSB0aGUgYXJjaGl2ZSBwYXRoLicgKQorICAg
ICAgICAgICAgICAgIHVwbG9hZGVkX2ZpbGUuY2xvc2UoKQorICAgICAgICAgICAgICAgIHJldHVy
biByZXR1cm5fZGljdAogICAgICAgICAgICAgcmV0dXJuX2RpY3RbICd0YXJfYXJjaGl2ZScgXSA9
M0QgdGFyX2FyY2hpdmUKICAgICAgICAgICAgIHJldHVybl9kaWN0WyAnY2Fwc3VsZV9maWxlX25h
bWUnIF0gPTNEIHVwbG9hZGVkX2ZpbGVfZmlsZW5hbWUKICAgICAgICAgICAgIHVwbG9hZGVkX2Zp
bGUuY2xvc2UoKQpAQCAtODcyLDYgKzg3NSwxOCBAQAogICAgICAgICAgICAgcmV0dXJuIHJldHVy
bl9kaWN0CiAgICAgICAgIHJldHVybiByZXR1cm5fZGljdAo9MjAKKyAgICBkZWYgdmFsaWRhdGVf
YXJjaGl2ZV9wYXRocyggc2VsZiwgdGFyX2FyY2hpdmUgKToKKyAgICAgICAgJycnCisgICAgICAg
IEluc3BlY3QgdGhlIGFyY2hpdmUgY29udGVudHMgdG8gZW5zdXJlIHRoYXQgdGhlcmUgYXJlIG5v
IHJpc2t5IHN5bT0KbGlua3MuCisgICAgICAgIFJldHVybnMgVHJ1ZSBpZiBhIHN1c3BpY2lvdXMg
cGF0aCBpcyBmb3VuZC4KKyAgICAgICAgJycnCisgICAgICAgIGZvciBtZW1iZXIgaW4gdGFyX2Fy
Y2hpdmUuZ2V0bWVtYmVycygpOgorICAgICAgICAgICAgaWYgbm90ICggbWVtYmVyLmlzZGlyKCkg
b3IgbWVtYmVyLmlzZmlsZSgpIG9yIG1lbWJlci5pc2xuaygpICk6CisgICAgICAgICAgICAgICAg
cmV0dXJuIEZhbHNlCisgICAgICAgICAgICBlbGlmIG5vdCBzYWZlX3JlbHBhdGgoIG1lbWJlci5u
YW1lICk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVl
CisKICAgICBkZWYgdmFsaWRhdGVfY2Fwc3VsZSggc2VsZiwgKiprd2QgKToKICAgICAgICAgIiIi
CiAgICAgICAgIEluc3BlY3QgdGhlIHVwbG9hZGVkIGNhcHN1bGUncyBtYW5pZmVzdCBhbmQgaXRz
IGNvbnRhaW5lZCBmaWxlcyB0bz0KIGVuc3VyZSBpdCBpcyBhIHZhbGlkCgpkaWZmIC1yIDFmMzQw
NzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2
ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi90b29sX3NoZWQvdG9vbHMvdG9vbF92ZXJzaW9u
X21hbmFnZXIucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC90b29scy90b29sX3ZlcnNpb25fbWFuYWdl
ci5weQorKysgYi9saWIvdG9vbF9zaGVkL3Rvb2xzL3Rvb2xfdmVyc2lvbl9tYW5hZ2VyLnB5CkBA
IC0xLDYgKzEsOCBAQAogaW1wb3J0IGxvZ2dpbmcKPTIwCi1mcm9tIGdhbGF4eS5tb2RlbC5vcm0g
aW1wb3J0IGFuZF8KK2Zyb20gZ2FsYXh5IGltcG9ydCBlZ2dzCitlZ2dzLnJlcXVpcmUoJ1NRTEFs
Y2hlbXknKQorZnJvbSBzcWxhbGNoZW15IGltcG9ydCBhbmRfLCBvcl8KPTIwCiBmcm9tIHRvb2xf
c2hlZC51dGlsIGltcG9ydCBoZ191dGlsCiBmcm9tIHRvb2xfc2hlZC51dGlsIGltcG9ydCBzaGVk
X3V0aWxfY29tbW9uIGFzIHN1YwpAQCAtMjEsOCArMjMsOCBAQAo9MjAKICAgICBkZWYgZ2V0X3Rv
b2xfdmVyc2lvbl9hc3NvY2lhdGlvbiggc2VsZiwgcGFyZW50X3Rvb2xfdmVyc2lvbiwgdG9vbF92
ZXJzPQppb24gKToKICAgICAgICAgIiIiCi0gICAgICAgIFJldHVybiBhIFRvb2xWZXJzaW9uQXNz
b2NpYXRpb24gaWYgb25lIGV4aXN0cyB0aGF0IGFzc29jaWF0ZXMgdGhlID0KdHdvIHJlY2VpdmVk
Ci0gICAgICAgIHRvb2xfdmVyc2lvbnMgIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgZnJv
bSBHYWxheHkuCisgICAgICAgIFJldHVybiBhIFRvb2xWZXJzaW9uQXNzb2NpYXRpb24gaWYgb25l
IGV4aXN0cyB0aGF0IGFzc29jaWF0ZXMgdGhlID0KdHdvCisgICAgICAgIHJlY2VpdmVkIHRvb2xf
dmVyc2lvbnMuIFRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkIG9ubHkgZnJvbSBHYWxheHkuCiAgICAg
ICAgICIiIgogICAgICAgICBjb250ZXh0ID0zRCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLmNvbnRl
eHQKICAgICAgICAgcmV0dXJuIGNvbnRleHQucXVlcnkoIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwu
VG9vbFZlcnNpb25Bc3NvY2lhdGlvPQpuICkgXApAQCAtOTAsNiArOTIsMTYgQEAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2xf
c2hlZF9yZXBvPQpzaXRvcnk9M0R0b29sX3NoZWRfcmVwb3NpdG9yeSApCiAgICAgICAgICAgICAg
ICAgICAgIGNvbnRleHQuYWRkKCB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50X2lkICkKICAgICAg
ICAgICAgICAgICAgICAgY29udGV4dC5mbHVzaCgpCisgICAgICAgICAgICAgICAgIyBSZW1vdmUg
ZXhpc3Rpbmcgd3JvbmcgdG9vbCB2ZXJzaW9uIGFzc29jaWF0aW9ucyBoYXZpbmcKKyAgICAgICAg
ICAgICAgICAjIHRvb2xfdmVyc2lvbl91c2luZ19wYXJlbnRfaWQgYXMgcGFyZW50IG9yCisgICAg
ICAgICAgICAgICAgIyB0b29sX3ZlcnNpb25fdXNpbmdfdG9vbF9ndWlkIGFzIGNoaWxkLgorICAg
ICAgICAgICAgICAgIGNvbnRleHQucXVlcnkoIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwuVG9vbFZl
cnNpb25Bc3NvY2lhdGk9Cm9uICkgXAorICAgICAgICAgICAgICAgICAgICAgICAuZmlsdGVyKCBv
cl8oIGFuZF8oIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwuVG9vbFZlcnM9CmlvbkFzc29jaWF0aW9u
LnRhYmxlLmMucGFyZW50X2lkID0zRD0zRCB0b29sX3ZlcnNpb25fdXNpbmdfcGFyZW50X2lkLmlk
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXBwLmlu
c3RhbGxfbW9kZWwuVG9vbFZlcnM9CmlvbkFzc29jaWF0aW9uLnRhYmxlLmMudG9vbF9pZCAhPTNE
IHRvb2xfdmVyc2lvbl91c2luZ190b29sX2d1aWQuaWQgKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhbmRfKCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xWZXJzPQpp
b25Bc3NvY2lhdGlvbi50YWJsZS5jLnBhcmVudF9pZCAhPTNEIHRvb2xfdmVyc2lvbl91c2luZ19w
YXJlbnRfaWQuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5Ub29sVmVycz0KaW9uQXNzb2NpYXRpb24udGFibGUuYy50
b29sX2lkID0zRD0zRCB0b29sX3ZlcnNpb25fdXNpbmdfdG9vbF9ndWlkLmlkICkgKSApPQogXAor
ICAgICAgICAgICAgICAgICAgICAgICAuZGVsZXRlKCkKKyAgICAgICAgICAgICAgICBjb250ZXh0
LmZsdXNoKCkKICAgICAgICAgICAgICAgICB0b29sX3ZlcnNpb25fYXNzb2NpYXRpb24gPTNEIFwK
ICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRfdG9vbF92ZXJzaW9uX2Fzc29jaWF0aW9uKCB0
b29sX3ZlcnNpb25fdXNpbmdfPQpwYXJlbnRfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF92ZXJzaW9uX3VzaW5nXz0KdG9vbF9n
dWlkICkKCmRpZmYgLXIgMWYzNDA3MmQ0NzNmODcxYjkwYmYxYjJiY2M2YTcyYzMyMjQyMDAxZCAt
ciA3ZGRiNDFkY2IyYjJlNGQzYTZmODM0ZD0KM2RkMTE0MjZmMjZmYjc5MDIgbGliL3Rvb2xfc2hl
ZC91dGlsL2NvbW1pdF91dGlsLnB5Ci0tLSBhL2xpYi90b29sX3NoZWQvdXRpbC9jb21taXRfdXRp
bC5weQorKysgYi9saWIvdG9vbF9zaGVkL3V0aWwvY29tbWl0X3V0aWwucHkKQEAgLTQsOCArNCwx
MCBAQAogaW1wb3J0IG9zCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgdGVtcGZpbGUKK2Zyb20gY29s
bGVjdGlvbnMgaW1wb3J0IG5hbWVkdHVwbGUKPTIwCiBmcm9tIGdhbGF4eS5kYXRhdHlwZXMgaW1w
b3J0IGNoZWNrZXJzCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCBzYWZlX3JlbHBhdGgKPTIwCiBm
cm9tIHRvb2xfc2hlZC50b29scyBpbXBvcnQgZGF0YV90YWJsZV9tYW5hZ2VyCj0yMApAQCAtMjEs
MzAgKzIzLDQ0IEBACiBVTkRFU0lSQUJMRV9GSUxFUyA9M0QgWyAnLmhnX2FyY2hpdmFsLnR4dCcs
ICdoZ3JjJywgJy5EU19TdG9yZScsICd0b29sX3Rlcz0KdF9vdXRwdXQuaHRtbCcsICd0b29sX3Rl
c3Rfb3V0cHV0Lmpzb24nIF0KPTIwCiBkZWYgY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgYXJj
aGl2ZSApOgorICAgIHZhbGlkID0zRCBbXQorICAgIGludmFsaWQgPTNEIFtdCisgICAgZXJyb3Jz
ID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2ZpbGVzID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2Rp
cnMgPTNEIFtdCiAgICAgZm9yIG1lbWJlciBpbiBhcmNoaXZlLmdldG1lbWJlcnMoKToKICAgICAg
ICAgIyBBbGxvdyByZWd1bGFyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBvbmx5CiAgICAgICAgIGlm
IG5vdCAoIG1lbWJlci5pc2RpcigpIG9yIG1lbWJlci5pc2ZpbGUoKSBvciBtZW1iZXIuaXNsbmso
KSApOgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5
IGluY2x1ZGUgcmVndWxhciBkaXJlY3Q9Cm9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlu
a3MsIGRldmljZXMsIGV0YykuICAiCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgIlRoZSBwcm9i
bGVtYXRpYyBtZW1iZXIgaW4gdGhpcyBhcmNoaXZlIGlzICVzLCIgJT0KIHN0ciggbWVtYmVyLm5h
bWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAgICAgIGZvciBpdGVt
IGluIFsgJy5oZycsICcuLicsICcvJyBdOgotICAgICAgICAgICAgaWYgbWVtYmVyLm5hbWUuc3Rh
cnRzd2l0aCggaXRlbSApOgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBh
cmNoaXZlcyBjYW5ub3QgY29udGFpbiAuaGcgZGlyZWN0b3I9CmllcywgYWJzb2x1dGUgZmlsZW5h
bWVzIHN0YXJ0aW5nIHdpdGggJy8nLCBvciBmaWxlbmFtZXMgd2l0aCB0d28gZG90cyAnLi4nLj0K
ICAiCi0gICAgICAgICAgICAgICAgbWVzc2FnZSArPTNEICJUaGUgcHJvYmxlbWF0aWMgbWVtYmVy
IGluIHRoaXMgYXJjaGl2ZSBpcyAlcz0KLiIgJSBzdHIoIG1lbWJlci5uYW1lICkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UsIG1lc3NhZ2UKLSAgICAgICAgaWYgbWVtYmVyLm5hbWUgaW4g
WyAnaGdyYycgXToKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBhcmNoaXZlcyBj
YW5ub3QgY29udGFpbiBoZ3JjIGZpbGVzLiAgIgotICAgICAgICAgICAgbWVzc2FnZSArPTNEICJU
aGUgcHJvYmxlbWF0aWMgbWVtYmVyIGluIHRoaXMgYXJjaGl2ZSBpcyAlcy4iICU9CiBzdHIoIG1l
bWJlci5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAg
ICAgZXJyb3JzLmFwcGVuZCggIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5IGluY2x1ZGUgcmVn
dWxhciBkaXI9CmVjdG9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlua3MsIGRldmljZXMs
IGV0YykuIiApCisgICAgICAgICAgICBpbnZhbGlkLmFwcGVuZCggbWVtYmVyICkKKyAgICAgICAg
ICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBzYWZlX3JlbHBhdGgoIG1lbWJlci5uYW1lICk6
CisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAiVXBsb2FkZWQgYXJjaGl2ZXMgY2Fubm90IGNv
bnRhaW4gZmlsZXMgdGhhdCB3bz0KdWxkIGV4dHJhY3Qgb3V0c2lkZSBvZiB0aGUgYXJjaGl2ZS4i
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZSggbWVtYmVyLm5hbWUgKSBpbiBVTkRF
U0lSQUJMRV9GSUxFUzoKKyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzLmFwcGVuZCggbWVt
YmVyICkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGhlYWQgPTNEIHRhaWwgPTNEIG1l
bWJlci5uYW1lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIHRhaWw6CisgICAgICAg
ICAgICAgICAgaGVhZCwgdGFpbCA9M0Qgb3MucGF0aC5zcGxpdChoZWFkKQorICAgICAgICAgICAg
ICAgIGlmIHRhaWwgaW4gVU5ERVNJUkFCTEVfRElSUzoKKyAgICAgICAgICAgICAgICAgICAgdW5k
ZXNpcmFibGVfZGlycy5hcHBlbmQoIG1lbWJlciApCisgICAgICAgICAgICAgICAgICAgIGFzc2Vy
dCBGYWxzZQorICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6CisgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5LnR5cGUgPTNEPTNEIHJ0X3V0aWwuUkVQT1NJVE9S
WV9TVUlURV9ERUZJTklUSU9OIGFuZCA9Cm1lbWJlci5uYW1lICE9M0QgcnRfdXRpbC5SRVBPU0lU
T1JZX0RFUEVOREVOQ1lfREVGSU5JVElPTl9GSUxFTkFNRToKLSAgICAgICAgICAgIG1lc3NhZ2Ug
PTNEICdSZXBvc2l0b3JpZXMgb2YgdHlwZSA8Yj5SZXBvc2l0b3J5IHN1aXRlIGRlZmluaXRpPQpv
bjwvYj4gY2FuIGNvbnRhaW4gb25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnJlcG9zaXRvcnlf
ZGVwZW5kZW5jaWVzLnhtbDw9Ci9iPi4nCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgJ1RoaXMg
YXJjaGl2ZSBjb250YWlucyBhIG1lbWJlciBuYW1lZCAlcy4nICUgc3RyKD0KIG1lbWJlci5uYW1l
ICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAgICAgZXJyb3Jz
LmFwcGVuZCggJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlJlcG9zaXRvcnkgc3VpdGUgZGVmaW49
Cml0aW9uPC9iPiBjYW4gY29udGFpbiBvbmx5IGEgc2luZ2xlIGZpbGUgbmFtZWQgPGI+cmVwb3Np
dG9yeV9kZXBlbmRlbmNpZXMueD0KbWw8L2I+LicgKQorICAgICAgICAgICAgaW52YWxpZC5hcHBl
bmQoIG1lbWJlciApCisgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5
LnR5cGUgPTNEPTNEIHJ0X3V0aWwuVE9PTF9ERVBFTkRFTkNZX0RFRklOSVRJT04gYW5kIG09CmVt
YmVyLm5hbWUgIT0zRCBydF91dGlsLlRPT0xfREVQRU5ERU5DWV9ERUZJTklUSU9OX0ZJTEVOQU1F
OgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlRvb2wg
ZGVwZW5kZW5jeSBkZWZpbml0aW89Cm48L2I+IGNhbiBjb250YWluIG9ubHkgYSBzaW5nbGUgZmls
ZSBuYW1lZCA8Yj50b29sX2RlcGVuZGVuY2llcy54bWw8L2I+LicKLSAgICAgICAgICAgIG1lc3Nh
Z2UgKz0zRCAnVGhpcyBhcmNoaXZlIGNvbnRhaW5zIGEgbWVtYmVyIG5hbWVkICVzLicgJSBzdHIo
PQogbWVtYmVyLm5hbWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAg
cmV0dXJuIFRydWUsICcnCisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAnUmVwb3NpdG9yaWVz
IG9mIHR5cGUgPGI+VG9vbCBkZXBlbmRlbmN5IGRlZmluaT0KdGlvbjwvYj4gY2FuIGNvbnRhaW4g
b25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnRvb2xfZGVwZW5kZW5jaWVzLnhtbDwvYj4uPQon
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgdmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgIEFyY2hpdmVDaGVja1Jl
c3VsdHMgPTNEIG5hbWVkdHVwbGUoICdBcmNoaXZlQ2hlY2tSZXN1bHRzJywgWyAndmFsaWQnLCA9
CidpbnZhbGlkJywgJ3VuZGVzaXJhYmxlX2ZpbGVzJywgJ3VuZGVzaXJhYmxlX2RpcnMnLCAnZXJy
b3JzJyBdICkKKyAgICByZXR1cm4gQXJjaGl2ZUNoZWNrUmVzdWx0cyggdmFsaWQsIGludmFsaWQs
IHVuZGVzaXJhYmxlX2ZpbGVzLCB1bmRlc2lyPQphYmxlX2RpcnMsIGVycm9ycyApCj0yMAogZGVm
IGNoZWNrX2ZpbGVfY29udGVudHNfZm9yX2VtYWlsX2FsZXJ0cyggYXBwICk6CiAgICAgIiIiCgpk
aWZmIC1yIDFmMzQwNzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQx
ZGNiMmIyZTRkM2E2ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIGxpYi90b29sX3NoZWQvdXRpbC9y
ZXBvc2l0b3J5X2NvbnRlbnRfdXRpbC5weQotLS0gYS9saWIvdG9vbF9zaGVkL3V0aWwvcmVwb3Np
dG9yeV9jb250ZW50X3V0aWwucHkKKysrIGIvbGliL3Rvb2xfc2hlZC91dGlsL3JlcG9zaXRvcnlf
Y29udGVudF91dGlsLnB5CkBAIC0xNSwzMSArMTUsMjMgQEAKICAgICBoZ191dGlsLmdldF9yZXBv
X2Zvcl9yZXBvc2l0b3J5KCB0cmFucy5hcHAsIHJlcG9zaXRvcnk9M0ROb25lLCByZXBvX3BhPQp0
aD0zRHJlcG9fZGlyLCBjcmVhdGU9M0RGYWxzZSApCiAgICAgdW5kZXNpcmFibGVfZGlyc19yZW1v
dmVkID0zRCAwCiAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgMAotICAgIG9rLCBt
ZXNzYWdlID0zRCBjb21taXRfdXRpbC5jaGVja19hcmNoaXZlKCByZXBvc2l0b3J5LCB0YXIgKQot
ICAgIGlmIG5vdCBvazoKKyAgICBjaGVja19yZXN1bHRzID0zRCBjb21taXRfdXRpbC5jaGVja19h
cmNoaXZlKCByZXBvc2l0b3J5LCB0YXIgKQorICAgIGlmIGNoZWNrX3Jlc3VsdHMuaW52YWxpZDoK
ICAgICAgICAgdGFyLmNsb3NlKCkKICAgICAgICAgdXBsb2FkZWRfZmlsZS5jbG9zZSgpCi0gICAg
ICAgIHJldHVybiBvaywgbWVzc2FnZSwgW10sICcnLCB1bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQs
IHVuZGVzaXJhYmxlXz0KZmlsZXNfcmVtb3ZlZAorICAgICAgICBtZXNzYWdlID0zRCAnJXMgSW52
YWxpZCBwYXRocyB3ZXJlOiAlcycgJSAoCisgICAgICAgICAgICAnICcuam9pbiggY2hlY2tfcmVz
dWx0cy5lcnJvcnMgKSwgJywgJy5qb2luKCBjaGVja19yZXN1bHRzLmludj0KYWxpZCApICkKKyAg
ICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlLCBbXSwgJycsIHVuZGVzaXJhYmxlX2RpcnNfcmVt
b3ZlZCwgdW5kZXNpcmFiPQpsZV9maWxlc19yZW1vdmVkCiAgICAgZWxzZToKICAgICAgICAgaWYg
dXBsb2FkX3BvaW50IGlzIG5vdCBOb25lOgogICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5w
YXRoLmFic3BhdGgoIG9zLnBhdGguam9pbiggcmVwb19kaXIsIHVwbG9hZF89CnBvaW50ICkgKQog
ICAgICAgICBlbHNlOgogICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5wYXRoLmFic3BhdGgo
IHJlcG9fZGlyICkKLSAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFtdCi0gICAgICAg
IGZvciB0YXJpbmZvX29iaiBpbiB0YXIuZ2V0bWVtYmVycygpOgotICAgICAgICAgICAgb2sgPTNE
IG9zLnBhdGguYmFzZW5hbWUoIHRhcmluZm9fb2JqLm5hbWUgKSBub3QgaW4gY29tbWl0X3V0aWw9
Ci5VTkRFU0lSQUJMRV9GSUxFUwotICAgICAgICAgICAgaWYgb2s6Ci0gICAgICAgICAgICAgICAg
Zm9yIGZpbGVfcGF0aF9pdGVtIGluIHRhcmluZm9fb2JqLm5hbWUuc3BsaXQoICcvJyApOgotICAg
ICAgICAgICAgICAgICAgICBpZiBmaWxlX3BhdGhfaXRlbSBpbiBjb21taXRfdXRpbC5VTkRFU0lS
QUJMRV9ESVJTOgotICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXNpcmFibGVfZGlyc19yZW1v
dmVkICs9M0QgMQotICAgICAgICAgICAgICAgICAgICAgICAgb2sgPTNEIEZhbHNlCi0gICAgICAg
ICAgICAgICAgICAgICAgICBicmVhawotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAg
ICB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVkICs9M0QgMQotICAgICAgICAgICAgaWYgb2s6Ci0g
ICAgICAgICAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUuYXBwZW5kKCB0YXJpbmZvX29iai5u
YW1lICkKKyAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgbGVuKCBjaGVja19y
ZXN1bHRzLnVuZGVzaXJhYmxlX2ZpbGVzPQogKQorICAgICAgICB1bmRlc2lyYWJsZV9kaXJzX3Jl
bW92ZWQgPTNEIGxlbiggY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9kaXJzICkKKyAgICAgICAg
ZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFsgdGkubmFtZSBmb3IgdGkgaW4gY2hlY2tfcmVzdWx0
cy52YWxpZCBdCiAgICAgICAgICMgRXh0cmFjdCB0aGUgdXBsb2FkZWQgdGFyIHRvIHRoZSBsb2Fk
X3BvaW50IHdpdGhpbiB0aGUgcmVwb3NpdG9yeT0KIGhpZXJhcmNoeS4KLSAgICAgICAgdGFyLmV4
dHJhY3RhbGwoIHBhdGg9M0RmdWxsX3BhdGggKQorICAgICAgICB0YXIuZXh0cmFjdGFsbCggcGF0
aD0zRGZ1bGxfcGF0aCwgbWVtYmVycz0zRGNoZWNrX3Jlc3VsdHMudmFsaWQgKQogICAgICAgICB0
YXIuY2xvc2UoKQogICAgICAgICB1cGxvYWRlZF9maWxlLmNsb3NlKCkKICAgICAgICAgZm9yIGZp
bGVuYW1lIGluIGZpbGVuYW1lc19pbl9hcmNoaXZlOgoKZGlmZiAtciAxZjM0MDcyZDQ3M2Y4NzFi
OTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0ZDNhNmY4MzRkPQozZGQx
MTQyNmYyNmZiNzkwMiBsaWIvdG9vbF9zaGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQotLS0g
YS9saWIvdG9vbF9zaGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQorKysgYi9saWIvdG9vbF9z
aGVkL3V0aWwvc2hlZF91dGlsX2NvbW1vbi5weQpAQCAtNTM1LDkgKzUzNSwxNyBAQAogICAgIHJl
dHVybiByZXBvc2l0b3J5Cj0yMAo9MjAKLWRlZiBnZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRz
KCBmaWxlX3BhdGggKToKK2RlZiBnZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCBhcHAsIGZp
bGVfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICIiIlJldHVybiB0aGUgZGlzcGxheS1zYWZl
IGNvbnRlbnRzIG9mIGEgcmVwb3NpdG9yeSBmaWxlIGZvciBkaXNwbGF5IGk9Cm4gYSBicm93c2Vy
LiIiIgotICAgIGlmIGNoZWNrZXJzLmlzX2d6aXAoIGZpbGVfcGF0aCApOgorICAgIHNhZmVfc3Ry
ID0zRCAnJworICAgIGlmIG5vdCBpc19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIGZpbGVfcGF0aCwg
cmVwb3NpdG9yeV9pZCApOgorICAgICAgICBsb2cud2FybmluZyggJ1JlcXVlc3QgdHJpZXMgdG8g
YWNjZXNzIGEgZmlsZSBvdXRzaWRlIG9mIHRoZSByZXBvc2k9CnRvcnkgbG9jYXRpb24uIEZpbGUg
cGF0aDogJXMnLCBmaWxlX3BhdGggKQorICAgICAgICByZXR1cm4gJ0ludmFsaWQgZmlsZSBwYXRo
JworICAgICMgU3ltbGluayB0YXJnZXRzIGFyZSBjaGVja2VkIGJ5IGlzX3BhdGhfd2l0aGluX3Jl
cG8KKyAgICBpZiBvcy5wYXRoLmlzbGluayggZmlsZV9wYXRoICk6CisgICAgICAgIHNhZmVfc3Ry
ID0zRCAnbGluayB0bzogJyArIGJhc2ljX3V0aWwudG9faHRtbF9zdHJpbmcoIG9zLnJlYWRsaW5r
KD0KIGZpbGVfcGF0aCApICkKKyAgICAgICAgcmV0dXJuIHNhZmVfc3RyCisgICAgZWxpZiBjaGVj
a2Vycy5pc19nemlwKCBmaWxlX3BhdGggKToKICAgICAgICAgcmV0dXJuICc8YnIvPmd6aXAgY29t
cHJlc3NlZCBmaWxlPGJyLz4nCiAgICAgZWxpZiBjaGVja2Vycy5pc19iejIoIGZpbGVfcGF0aCAp
OgogICAgICAgICByZXR1cm4gJzxici8+YnoyIGNvbXByZXNzZWQgZmlsZTxici8+JwpAQCAtNTQ2
LDcgKzU1NCw2IEBACiAgICAgZWxpZiBjaGVja2Vycy5jaGVja19iaW5hcnkoIGZpbGVfcGF0aCAp
OgogICAgICAgICByZXR1cm4gJzxici8+QmluYXJ5IGZpbGU8YnIvPicKICAgICBlbHNlOgotICAg
ICAgICBzYWZlX3N0ciA9M0QgJycKICAgICAgICAgZm9yIGksIGxpbmUgaW4gZW51bWVyYXRlKCBv
cGVuKCBmaWxlX3BhdGggKSApOgogICAgICAgICAgICAgc2FmZV9zdHIgPTNEICclcyVzJyAlICgg
c2FmZV9zdHIsIGJhc2ljX3V0aWwudG9faHRtbF9zdHJpbmcoIGw9CmluZSApICkKICAgICAgICAg
ICAgICMgU3RvcCByZWFkaW5nIGFmdGVyIHN0cmluZyBpcyBsYXJnZXIgdGhhbiBNQVhfQ09OVEVO
VF9TSVpFLgpAQCAtNTU2LDYgKzU2Myw3IEBACiAgICAgICAgICAgICAgICAgICAgIHV0aWwubmlj
ZV9zaXplKCBNQVhfQ09OVEVOVF9TSVpFICkKICAgICAgICAgICAgICAgICBzYWZlX3N0ciA9M0Qg
JyVzJXMnICUgKCBzYWZlX3N0ciwgbGFyZ2Vfc3RyICkKICAgICAgICAgICAgICAgICBicmVhawor
CiAgICAgICAgIGlmIGxlbiggc2FmZV9zdHIgKSA+IGJhc2ljX3V0aWwuTUFYX0RJU1BMQVlfU0la
RToKICAgICAgICAgICAgICMgRWxpbWluYXRlIHRoZSBtaWRkbGUgb2YgdGhlIGZpbGUgdG8gZGlz
cGxheSBhIGZpbGUgbm8gbGFyZ2VyPQogdGhhbiBiYXNpY191dGlsLk1BWF9ESVNQTEFZX1NJWkUu
CiAgICAgICAgICAgICAjIFRoaXMgbWF5IG5vdCBiZSBpZGVhbCBpZiB0aGUgZmlsZSBpcyBsYXJn
ZXIgdGhhbiBNQVhfQ09OVEVOVD0KX1NJWkUuCkBAIC01NzcsOSArNTg1LDYgQEAKICAgICAgICAg
IyBTa2lwIC5oZyBkaXJlY3RvcmllcwogICAgICAgICBpZiBpdGVtLnN0YXJ0c3dpdGgoICcuaGcn
ICk6CiAgICAgICAgICAgICBjb250aW51ZQotICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKCBvcy5w
YXRoLmpvaW4oIGZvbGRlcl9wYXRoLCBpdGVtICkgKToKLSAgICAgICAgICAgICMgQXBwZW5kIGEg
Jy8nIGNoYXJhY3RlciBzbyB0aGF0IG91ciBqcXVlcnkgZHluYXRyZWUgd2lsbCBmdW5jPQp0aW9u
IHByb3Blcmx5LgotICAgICAgICAgICAgaXRlbSA9M0QgJyVzLycgJSBpdGVtCiAgICAgICAgIGNv
bnRlbnRzLmFwcGVuZCggaXRlbSApCiAgICAgaWYgY29udGVudHM6CiAgICAgICAgIGNvbnRlbnRz
LnNvcnQoKQpAQCAtMTA0OSwxMSArMTA1NCwxNSBAQAogICAgIHJldHVybiBoYXNhdHRyKCBhcHAs
ICJpbnN0YWxsX21vZGVsIiApCj0yMAo9MjAKLWRlZiBvcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9s
ZGVyKCBmb2xkZXJfcGF0aCApOgorZGVmIG9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGFw
cCwgZm9sZGVyX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAiIiIKICAgICBSZXR1cm4gYSBs
aXN0IG9mIGRpY3Rpb25hcmllcywgZWFjaCBvZiB3aGljaCBjb250YWlucyBpbmZvcm1hdGlvbiBm
b3IgPQphIGZpbGUgb3IgZGlyZWN0b3J5IGNvbnRhaW5lZAogICAgIHdpdGhpbiBhIGRpcmVjdG9y
eSBpbiBhIHJlcG9zaXRvcnkgZmlsZSBoaWVyYXJjaHkuCiAgICAgIiIiCisgICAgIyBTeW1saW5r
IHRhcmdldHMgYXJlIGNoZWNrZWQgYnkgaXNfcGF0aF93aXRoaW5fcmVwbworICAgIGlmIG5vdCBp
c19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIGZvbGRlcl9wYXRoLCByZXBvc2l0b3J5X2lkICk6Cisg
ICAgICAgIGxvZy53YXJuaW5nKCAnUmVxdWVzdCB0cmllcyB0byBhY2Nlc3MgYSBmb2xkZXIgb3V0
c2lkZSBvZiB0aGUgcmVwbz0Kc2l0b3J5IGxvY2F0aW9uLiBGb2xkZXIgcGF0aDogJXMnLCBmb2xk
ZXJfcGF0aCApCisgICAgICAgIHJldHVybiBbXQogICAgIHRyeToKICAgICAgICAgZmlsZXNfbGlz
dCA9M0QgZ2V0X3JlcG9zaXRvcnlfZmlsZXMoIGZvbGRlcl9wYXRoICkKICAgICBleGNlcHQgT1NF
cnJvciwgZToKQEAgLTEwNjMsMTAgKzEwNzIsMTcgQEAKICAgICBmb2xkZXJfY29udGVudHMgPTNE
IFtdCiAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVzX2xpc3Q6CiAgICAgICAgIGlzX2ZvbGRlciA9
M0QgRmFsc2UKLSAgICAgICAgaWYgZmlsZW5hbWUgYW5kIGZpbGVuYW1lWyAtMSBdID0zRD0zRCBv
cy5zZXA6Ci0gICAgICAgICAgICBpc19mb2xkZXIgPTNEIFRydWUKKyAgICAgICAgZnVsbF9wYXRo
ID0zRCBvcy5wYXRoLmpvaW4oIGZvbGRlcl9wYXRoLCBmaWxlbmFtZSApCisgICAgICAgIGlzX2xp
bmsgPTNEIG9zLnBhdGguaXNsaW5rKCBmdWxsX3BhdGggKQorICAgICAgICBwYXRoX2lzX3dpdGhp
bl9yZXBvID0zRCBpc19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIGZ1bGxfcGF0aCwgcmVwb3M9Cml0
b3J5X2lkICkKKyAgICAgICAgaWYgaXNfbGluayBhbmQgbm90IHBhdGhfaXNfd2l0aGluX3JlcG86
CisgICAgICAgICAgICBsb2cud2FybmluZyggJ1ZhbGlkIGZvbGRlciBjb250YWlucyBhIHN5bWxp
bmsgb3V0c2lkZSBvZiB0aGUgcj0KZXBvc2l0b3J5IGxvY2F0aW9uLiBMaW5rIGZvdW5kIGluOiAn
ICsgc3RyKCBmdWxsX3BhdGggKSApCiAgICAgICAgIGlmIGZpbGVuYW1lOgotICAgICAgICAgICAg
ZnVsbF9wYXRoID0zRCBvcy5wYXRoLmpvaW4oIGZvbGRlcl9wYXRoLCBmaWxlbmFtZSApCisgICAg
ICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKCBmdWxsX3BhdGggKSBhbmQgcGF0aF9pc193aXRoaW5f
cmVwbzoKKyAgICAgICAgICAgICAgICAjIEFwcGVuZCBhICcvJyBjaGFyYWN0ZXIgc28gdGhhdCBv
dXIganF1ZXJ5IGR5bmF0cmVlIHdpbGwgPQpmdW5jdGlvbiBwcm9wZXJseS4KKyAgICAgICAgICAg
ICAgICBmaWxlbmFtZSA9M0QgJyVzLycgJSBmaWxlbmFtZQorICAgICAgICAgICAgICAgIGZ1bGxf
cGF0aCA9M0QgJyVzLycgJSBmdWxsX3BhdGgKKyAgICAgICAgICAgICAgICBpc19mb2xkZXIgPTNE
IFRydWUKICAgICAgICAgICAgIG5vZGUgPTNEIHsgInRpdGxlIjogZmlsZW5hbWUsCiAgICAgICAg
ICAgICAgICAgICAgICAiaXNGb2xkZXIiOiBpc19mb2xkZXIsCiAgICAgICAgICAgICAgICAgICAg
ICAiaXNMYXp5IjogaXNfZm9sZGVyLApAQCAtMTA3Niw2ICsxMDkyLDE2IEBACiAgICAgcmV0dXJu
IGZvbGRlcl9jb250ZW50cwo9MjAKPTIwCitkZWYgaXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBw
YXRoLCByZXBvc2l0b3J5X2lkICk6CisgICAgIiIiCisgICAgRGV0ZWN0IHdoZXRoZXIgdGhlIGdp
dmVuIHBhdGggaXMgd2l0aGluIHRoZSByZXBvc2l0b3J5IGZvbGRlIHJvbiB0aGUgZD0KaXNrLgor
ICAgIFVzZSB0byBmaWx0ZXIgbWFsaWNpb3VzIHN5bWxpbmtzIHRhcmdldGluZyBvdXRzaWRlIHBh
dGhzLgorICAgICIiIgorICAgIHJlcG9fcGF0aCA9M0Qgb3MucGF0aC5hYnNwYXRoKCBnZXRfcmVw
b3NpdG9yeV9ieV9pZCggYXBwLCByZXBvc2l0b3J5X2k9CmQgKS5yZXBvX3BhdGgoIGFwcCApICkK
KyAgICByZXNvbHZlZF9wYXRoID0zRCBvcy5wYXRoLnJlYWxwYXRoKCBwYXRoICkKKyAgICByZXR1
cm4gb3MucGF0aC5jb21tb25wcmVmaXgoIFsgcmVwb19wYXRoLCByZXNvbHZlZF9wYXRoIF0gKSA9
M0Q9M0QgcmVwPQpvX3BhdGgKKworCiBkZWYgcmVwb3NpdG9yeV93YXNfcHJldmlvdXNseV9pbnN0
YWxsZWQoIGFwcCwgdG9vbF9zaGVkX3VybCwgcmVwb3NpdG9yeV9uYT0KbWUsIHJlcG9faW5mb190
dXBsZSwgZnJvbV90aXA9M0RGYWxzZSApOgogICAgICIiIgogICAgIEZpbmQgb3V0IGlmIGEgcmVw
b3NpdG9yeSBpcyBhbHJlYWR5IGluc3RhbGxlZCBpbnRvIEdhbGF4eSAtIHRoZXJlIGFyZSA9CnNl
dmVyYWwgc2NlbmFyaW9zIHdoZXJlIHRoaXMKCmRpZmYgLXIgMWYzNDA3MmQ0NzNmODcxYjkwYmYx
YjJiY2M2YTcyYzMyMjQyMDAxZCAtciA3ZGRiNDFkY2IyYjJlNGQzYTZmODM0ZD0KM2RkMTE0MjZm
MjZmYjc5MDIgdGVtcGxhdGVzL2FkbWluL3JlcXVlc3RzL3NlbGVjdF9kYXRhc2V0c190b190cmFu
c2Zlci5tYWtvCi0tLSBhL3RlbXBsYXRlcy9hZG1pbi9yZXF1ZXN0cy9zZWxlY3RfZGF0YXNldHNf
dG9fdHJhbnNmZXIubWFrbworKysgL2Rldi9udWxsCkBAIC0xLDE0OSArMCwwIEBACi08JWluaGVy
aXQgZmlsZT0zRCIvYmFzZS5tYWtvIi8+Ci08JW5hbWVzcGFjZSBmaWxlPTNEIi9tZXNzYWdlLm1h
a28iIGltcG9ydD0zRCJyZW5kZXJfbXNnIiAvPgotPCVuYW1lc3BhY2UgZmlsZT0zRCIvcmVxdWVz
dHMvY29tbW9uL2NvbW1vbi5tYWtvIiBpbXBvcnQ9M0QicmVuZGVyX3NhbXBsZV89CmRhdGFzZXRz
IiAvPgotPCVuYW1lc3BhY2UgZmlsZT0zRCIvcmVxdWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvIiBp
bXBvcnQ9M0QiY29tbW9uX2phdmFzY3I9CmlwdHMiIC8+Ci0KLTwlZGVmIG5hbWU9M0QiamF2YXNj
cmlwdHMoKSI+Ci0gICAke3BhcmVudC5qYXZhc2NyaXB0cygpfQotICAgJHtjb21tb25famF2YXNj
cmlwdHMoKX0KLTwvJWRlZj4KLQotJHtoLmpzKCAibGlicy9qcXVlcnkvanF1ZXJ5LXVpIiwgImxp
YnMvanF1ZXJ5L2pxdWVyeS5jb29raWUiLCAibGlicy9qcXVlcnk9Ci9qcXVlcnkuZHluYXRyZWUi
ICl9Ci0ke2guY3NzKCAiZHluYXRyZWVfc2tpbi91aS5keW5hdHJlZSIgKX0KLQotPHNjcmlwdCB0
eXBlPTNEInRleHQvamF2YXNjcmlwdCI+Ci0gICAgJChmdW5jdGlvbigpewotICAgICAgICAkKCIj
dHJlZSIpLmFqYXhDb21wbGV0ZShmdW5jdGlvbihldmVudCwgWE1MSHR0cFJlcXVlc3QsIGFqYXhP
cHRpb249CnMpIHsKLSAgICAgICAgICAgIF9sb2coImRlYnVnIiwgImFqYXhDb21wbGV0ZTogJW8i
LCB0aGlzKTsgLy8gZG9tIGVsZW1lbnQgbGlzdGVuPQppbmcKLSAgICAgICAgfSk7Ci0gICAgICAg
IC8vIC0tLSBJbml0aWFsaXplIHNhbXBsZSB0cmVlcwotICAgICAgICAkKCIjdHJlZSIpLmR5bmF0
cmVlKHsKLSAgICAgICAgICAgIHRpdGxlOiAiJHtzY3BfY29uZmlnc1snZGF0YV9sb2NhdGlvbidd
fSIsCi0gICAgICAgICAgICByb290VmlzaWJsZTogdHJ1ZSwKLSAgICAgICAgICAgIG1pbkV4cGFu
ZExldmVsOiAwLCAvLyAxOiByb290IG5vZGUgaXMgbm90IGNvbGxhcHNpYmxlCi0gICAgICAgICAg
ICBwZXJzaXN0OiBmYWxzZSwKLSAgICAgICAgICAgIGNoZWNrYm94OiB0cnVlLAotICAgICAgICAg
ICAgc2VsZWN0TW9kZTogMywKLSAgICAgICAgICAgIG9uUG9zdEluaXQ6IGZ1bmN0aW9uKGlzUmVs
b2FkaW5nLCBpc0Vycm9yKSB7Ci0gICAgICAgICAgICAgICAgLy9hbGVydCgicmVsb2FkaW5nOiAi
K2lzUmVsb2FkaW5nKyIsIGVycm9yOiIraXNFcnJvcik7Ci0gICAgICAgICAgICAgICAgbG9nTXNn
KCJvblBvc3RJbml0KCVvLCAlbykgLSAlbyIsIGlzUmVsb2FkaW5nLCBpc0Vycm9yLCB0aD0KaXMp
OwotICAgICAgICAgICAgICAgIC8vIFJlLWZpcmUgb25BY3RpdmF0ZSwgc28gdGhlIHRleHQgaXMg
dXBkYXRlZAotICAgICAgICAgICAgICAgIHRoaXMucmVhY3RpdmF0ZSgpOwotICAgICAgICAgICAg
fSw9MjAKLSAgICAgICAgICAgIGZ4OiB7IGhlaWdodDogInRvZ2dsZSIsIGR1cmF0aW9uOiAyMDAg
fSwKLSAgICAgICAgICAgIC8vIGluaXRBamF4IGlzIGhhcmQgdG8gZmFrZSwgc28gd2UgcGFzcyB0
aGUgY2hpbGRyZW4gYXMgb2JqZWN0PQogYXJyYXk6Ci0gICAgICAgICAgICBpbml0QWpheDoge3Vy
bDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywgYT0KY3Rpb249
M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJq
c29uIiw9MjAKLSAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyByZXF1ZXN0X2lkOiAiJHt0
cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlPQpxdWVzdC5pZCApfSIsIGV4dGVybmFsX3NlcnZp
Y2VfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggZXh0ZXJuYWxfc2U9CnJ2aWNlLmlk
ICl9Iiwga2V5OiAiJHtzY3BfY29uZmlnc1snZGF0YV9sb2NhdGlvbiddfSIgfSwKLSAgICAgICAg
ICAgIH0sCi0gICAgICAgICAgICBvbkxhenlSZWFkOiBmdW5jdGlvbihkdG5vZGUpewotICAgICAg
ICAgICAgICAgIGR0bm9kZS5hcHBlbmRBamF4KHsKLSAgICAgICAgICAgICAgICAgICAgdXJsOiAi
JHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzdHNfYWRtaW4nLCBhY3RpPQpvbj0zRCdv
cGVuX2ZvbGRlcicgKX0iLD0yMAotICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24i
LAotICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IHJlcXVlc3RfaWQ6ICIke3RyYW5zLnNlY3Vy
aXR5LmVuY29kZV9pZCggcmVxdWU9CnN0LmlkICl9IiwgZXh0ZXJuYWxfc2VydmljZV9pZDogIiR7
dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBleHRlcm5hbF9zZXJ2aT0KY2UuaWQgKX0iLCBrZXk6
IGR0bm9kZS5kYXRhLmtleSB9LAotICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIG9uU2VsZWN0OiBmdW5jdGlvbihzZWxlY3QsIGR0bm9kZSkgewotICAgICAg
ICAgICAgICAgIC8vIERpc3BsYXkgbGlzdCBvZiBzZWxlY3RlZCBub2RlcwotICAgICAgICAgICAg
ICAgIHZhciBzZWxOb2RlcyA9M0QgZHRub2RlLnRyZWUuZ2V0U2VsZWN0ZWROb2RlcygpOwotICAg
ICAgICAgICAgICAgIC8vIGNvbnZlcnQgdG8gdGl0bGUva2V5IGFycmF5Ci0gICAgICAgICAgICAg
ICAgdmFyIHNlbEtleXMgPTNEICQubWFwKHNlbE5vZGVzLCBmdW5jdGlvbihub2RlKXsKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIG5vZGUuZGF0YS5rZXk7Ci0gICAgICAgICAgICAgICAgfSk7
Ci0gICAgICAgICAgICAgICAgZG9jdW1lbnQuc2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyLnNl
bGVjdGVkX2RhdGFzZXRzX3RvXz0KdHJhbnNmZXIudmFsdWUgPTNEIHNlbEtleXMuam9pbigiLCIp
Ci0gICAgICAgICAgICB9LAotICAgICAgICAgICAgb25BY3RpdmF0ZTogZnVuY3Rpb24oZHRub2Rl
KSB7Ci0gICAgICAgICAgICAgICAgdmFyIGNlbGwgPTNEICQoIiNmaWxlX2RldGFpbHMiKTsKLSAg
ICAgICAgICAgICAgICB2YXIgc2VsZWN0ZWRfdmFsdWU7Ci0gICAgICAgICAgICAgICAgaWYgKGR0
bm9kZS5kYXRhLmtleSA9M0Q9M0QgJ3Jvb3QnKSB7Ci0gICAgICAgICAgICAgICAgICAgIHNlbGVj
dGVkX3ZhbHVlID0zRCAiJHtzY3BfY29uZmlnc1snZGF0YV9sb2NhdGlvbiddfS8iOwotICAgICAg
ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkX3ZhbHVlID0z
RCBkdG5vZGUuZGF0YS5rZXk7Ci0gICAgICAgICAgICAgICAgfTsKLSAgICAgICAgICAgICAgICBp
ZiAoc2VsZWN0ZWRfdmFsdWUuY2hhckF0KHNlbGVjdGVkX3ZhbHVlLmxlbmd0aC0xKSAhPTNEICcv
PQonKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIE1ha2UgYWpheCBjYWxsCi0gICAgICAgICAg
ICAgICAgICAgICQuYWpheCggewotICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBPU1Qi
LAotICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9
M0QncmVxdWVzdHNfYWRtaW4nLCA9CmFjdGlvbj0zRCdnZXRfZmlsZV9kZXRhaWxzJyApfSIsCi0g
ICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgZGF0YTogeyByZXF1ZXN0X2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQo
cmU9CnF1ZXN0LmlkKX0iLCBleHRlcm5hbF9zZXJ2aWNlX2lkOiAiJHt0cmFucy5zZWN1cml0eS5l
bmNvZGVfaWQoZXh0ZXJuYWxfc2Vydj0KaWNlLmlkKX0iLCBmb2xkZXJfcGF0aDogc2VsZWN0ZWRf
dmFsdWUgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgOiBmdW5jdGlvbiAoIGRh
dGEgKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC5odG1sKCAnPGxhYmVsPicr
ZGF0YSsnPC9sYWJlbD4nICkKLSAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
ICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg
ICAgY2VsbC5odG1sKCAnJyApOwotICAgICAgICAgICAgICAgIH07Ci0gICAgICAgICAgICB9LAot
ICAgICAgICB9KTsKLSAgICB9KTsKLTwvc2NyaXB0PgotCi08JQotICAgIGlzX2FkbWluID0zRCBj
bnRybGxlciA9M0Q9M0QgJ3JlcXVlc3RzX2FkbWluJyBhbmQgdHJhbnMudXNlcl9pc19hZG1pbigp
Ci0gICAgY2FuX3RyYW5zZmVyX2RhdGFzZXRzID0zRCBpc19hZG1pbiBhbmQgc2FtcGxlLnVudHJh
bnNmZXJyZWRfZGF0YXNldF9maT0KbGVzIGFuZCBzYW1wbGUubGlicmFyeSBhbmQgc2FtcGxlLmZv
bGRlcgotJT4KLQotPGJyLz48YnIvPgotPHVsIGNsYXNzPTNEIm1hbmFnZS10YWJsZS1hY3Rpb25z
Ij4KLSAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2Zv
ciggY29udHJvbGxlcj0zRCdleHRlPQpybmFsX3NlcnZpY2UnLCBhY3Rpb249M0Qndmlld19leHRl
cm5hbF9zZXJ2aWNlJywgaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGU9Cl9pZCggZXh0ZXJuYWxf
c2VydmljZS5pZCApICl9Ij5FeHRlcm5hbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb248L2E+PC9saT4K
LSAgICAlaWYgY2FuX3RyYW5zZmVyX2RhdGFzZXRzOgotICAgICAgICA8bGk+PGEgY2xhc3M9M0Qi
YWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCc9CnJlcXVl
c3RzX2FkbWluJywgYWN0aW9uPTNEJ21hbmFnZV9kYXRhc2V0cycsIGNudHJsbGVyPTNEY250cmxs
ZXIsIHNhbXBsZV9pZD0KPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSAp
fSI+VHJhbnNmZXIgZGF0YXNldHM8L2E+PC9saT4KLSAgICAlZW5kaWYKLSAgICA8bGk+PGEgY2xh
c3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlZj0zRCIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdy
ZXF1PQplc3RzX2NvbW1vbicsIGFjdGlvbj0zRCd2aWV3X3JlcXVlc3QnLCBjbnRybGxlcj0zRGNu
dHJsbGVyLCBpZD0zRHRyYW5zLnNlY3U9CnJpdHkuZW5jb2RlX2lkKCByZXF1ZXN0LmlkICkgKX0i
PkJyb3dzZSB0aGlzIHJlcXVlc3Q8L2E+PC9saT4KLTwvdWw+Ci0KLSVpZiBub3Qgc2FtcGxlOgot
ICAgIDxici8+Ci0gICAgPGZvbnQgY29sb3I9M0QicmVkIj48Yj48aT5TZWxlY3QgYSBzYW1wbGUg
YmVmb3JlIHNlbGVjdGluZyBkYXRhc2V0cyB0bz0KIHRyYW5zZmVyPC9pPjwvYj48L2ZvbnQ+Ci0g
ICAgPGJyLz4KLSVlbmRpZgotCi0laWYgcmVxdWVzdC5zYW1wbGVzX3dpdGhvdXRfbGlicmFyeV9k
ZXN0aW5hdGlvbnM6Ci0gICAgPHA+Ci0gICAgPGZvbnQgY29sb3I9M0QicmVkIj48Yj48aT5TZWxl
Y3QgYSB0YXJnZXQgZGF0YSBsaWJyYXJ5IGFuZCBmb2xkZXIgZm9yID0KYSBzYW1wbGUgYmVmb3Jl
IHNlbGVjdGluZyBpdHMgZGF0YXNldHMgdG8gdHJhbnNmZXIgZnJvbSB0aGUgZXh0ZXJuYWwgc2Vy
dmljPQplPC9pPjwvYj48L2ZvbnQ+Ci0gICAgPC9wPgotJWVuZGlmCi0KLSVpZiBtZXNzYWdlOgot
ICAgICR7cmVuZGVyX21zZyggbWVzc2FnZSwgc3RhdHVzICl9Ci0lZW5kaWYKLQotPGRpdiBjbGFz
cz0zRCJ0b29sRm9ybSI+Ci0gICAgPGRpdiBjbGFzcz0zRCJ0b29sRm9ybVRpdGxlIj5TZWxlY3Qg
ZGF0YXNldHMgdG8gdHJhbnNmZXIgZnJvbSBkYXRhIGRpcj0KZWN0b3J5IGNvbmZpZ3VyZWQgZm9y
IHRoZSBleHRlcm5hbCBzZXJ2aWNlPC9kaXY+Ci0gICAgPGZvcm0gbmFtZT0zRCJzZWxlY3RfZGF0
YXNldHNfdG9fdHJhbnNmZXIiIGlkPTNEInNlbGVjdF9kYXRhc2V0c190b190cj0KYW5zZmVyIiBh
Y3Rpb249M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzdHNfYWRtaW4nLCBhY3Rp
b249M0Qnc2VsPQplY3RfZGF0YXNldHNfdG9fdHJhbnNmZXInLCBjbnRybGxlcj0zRGNudHJsbGVy
LCBleHRlcm5hbF9zZXJ2aWNlX2lkPTNEdHJhbnM9Ci5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVy
bmFsX3NlcnZpY2UuaWQgKSwgcmVxdWVzdF9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuYz0Kb2RlX2lk
KCByZXF1ZXN0LmlkICkpfSIgbWV0aG9kPTNEInBvc3QiID4KLSAgICAgICAgPGRpdiBjbGFzcz0z
RCJmb3JtLXJvdyI+Ci0gICAgICAgICAgICA8bGFiZWw+U2FtcGxlOjwvbGFiZWw+Ci0gICAgICAg
ICAgICAke3NhbXBsZV9pZF9zZWxlY3RfZmllbGQuZ2V0X2h0bWwoKX0KLSAgICAgICAgICAgIDxk
aXYgY2xhc3M9M0QidG9vbFBhcmFtSGVscCIgc3R5bGU9M0QiY2xlYXI6IGJvdGg7Ij4KLSAgICAg
ICAgICAgICAgICBTZWxlY3QgdGhlIHNhbXBsZSB0aGF0IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHVj
ZSB0aGUgZGF0YXNlPQp0cyB5b3Ugd2FudCB0byB0cmFuc2Zlci4KLSAgICAgICAgICAgIDwvZGl2
PgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0zRCJmb3JtLXJvdyIgPgotICAg
ICAgICAgICAgPGxhYmVsPlNlbGVjdCBkYXRhc2V0cyBmcm9tIHNvdXJjZSBkYXRhIGxvY2F0aW9u
IGRlZmluZWQgaW4gdGg9CmUgZXh0ZXJuYWwgc2VydmljZSBjb25maWd1cmF0aW9uOjwvbGFiZWw+
Ci0gICAgICAgICAgICA8ZGl2IGlkPTNEInRyZWUiID4KLSAgICAgICAgICAgICAgICBMb2FkaW5n
Li4uCi0gICAgICAgICAgICA8L2Rpdj4KLSAgICAgICAgICAgIDxpbnB1dCBpZD0zRCJzZWxlY3Rl
ZF9kYXRhc2V0c190b190cmFuc2ZlciIgbmFtZT0zRCJzZWxlY3RlZF9kPQphdGFzZXRzX3RvX3Ry
YW5zZmVyIiB0eXBlPTNEImhpZGRlbiIgc2l6ZT0zRDQwIi8+Ci0gICAgICAgICAgICA8ZGl2IGNs
YXNzPTNEInRvb2xQYXJhbUhlbHAiIHN0eWxlPTNEImNsZWFyOiBib3RoOyI+Ci0gICAgICAgICAg
ICAgICAgPHVsPgotICAgICAgICAgICAgICAgICAgICA8bGk+Q2xpY2sgdGhlIDxiPmV4dGVybmFs
IHNlcnZpY2UgY29uZmlndXJhdGlvbjwvYj4gYnU9CnR0b24gYW5kIGNoYW5nZSB0aGUgPGI+RGF0
YSBkaXJlY3Rvcnk8L2I+IHNldHRpbmcgdG8gcmVkZWZpbmUgdGhlIHNvdXJjZSBkYT0KdGEgbG9j
YXRpb24uPC9saT4KLSAgICAgICAgICAgICAgICAgICAgPGxpPlNlbGVjdCBhIGZvbGRlciB0byBz
ZWxlY3QgYWxsIG9mIHRoZSBpbmRpdmlkdWFsIGZpPQpsZXMgd2l0aGluIHRoYXQgZm9sZGVyLjwv
bGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5DbGljayB0aGUgPGI+U2VsZWN0IGRhdGFzZXRz
PC9iPiBidXR0b24gd2hlbiBkZXNpcj0KZWQgZGF0YXNldCBjaGVjayBib3hlcyBhcmUgY2hlY2tl
ZC48L2xpPgotICAgICAgICAgICAgICAgIDwvdWw+Ci0gICAgICAgICAgICA8L2Rpdj4gICAgICAg
ICAgID0yMAotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0zRCJmb3JtLXJvdyI+
Ci0gICAgICAgICAgICA8ZGl2IGlkPTNEImZpbGVfZGV0YWlscyIgY2xhc3M9M0QidG9vbFBhcmFt
SGVscCIgc3R5bGU9M0QiY2xlYT0KcjogYm90aDtiYWNrZ3JvdW5kLWNvbG9yOiNGQUZBRkE7Ij48
L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9M0QiZm9ybS1yb3ciPgot
ICAgICAgICAgICAgPGlucHV0IHR5cGU9M0Qic3VibWl0IiBuYW1lPTNEInNlbGVjdF9kYXRhc2V0
c190b190cmFuc2Zlcl9idXQ9CnRvbiIgdmFsdWU9M0QiU2VsZWN0IGRhdGFzZXRzIi8+Ci0gICAg
ICAgIDwvZGl2PgotICAgIDwvZm9ybT4KLTwvZGl2PgotCi0laWYgc2FtcGxlIGFuZCBzYW1wbGUu
ZGF0YXNldHM6Ci0gICAgPCUgdGl0bGUgPTNEICdBbGwgc2VsZWN0ZWQgZGF0YXNldHMgZm9yICIl
cyInICUgc2FtcGxlLm5hbWUgJT4KLSAgICA8cC8+Ci0gICAgJHtyZW5kZXJfc2FtcGxlX2RhdGFz
ZXRzKCAncmVxdWVzdHNfYWRtaW4nLCBzYW1wbGUsIHNhbXBsZS5kYXRhc2V0cywgdD0KaXRsZSAp
fQotJWVuZGlmCgpkaWZmIC1yIDFmMzQwNzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAw
MWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIHRlbXBsYXRl
cy9hZG1pbi90b29sX3NoZWRfcmVwb3NpdG9yeS9jb21tb24ubWFrbwotLS0gYS90ZW1wbGF0ZXMv
YWRtaW4vdG9vbF9zaGVkX3JlcG9zaXRvcnkvY29tbW9uLm1ha28KKysrIGIvdGVtcGxhdGVzL2Fk
bWluL3Rvb2xfc2hlZF9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCkBAIC0yMywxNCArMjMsMTYgQEAK
ICAgICAgICAgICAgICAgICBmeDogeyBoZWlnaHQ6ICJ0b2dnbGUiLCBkdXJhdGlvbjogMjAwIH0s
CiAgICAgICAgICAgICAgICAgLy8gaW5pdEFqYXggaXMgaGFyZCB0byBmYWtlLCBzbyB3ZSBwYXNz
IHRoZSBjaGlsZHJlbiBhcyBvYj0KamVjdCBhcnJheToKICAgICAgICAgICAgICAgICBpbml0QWph
eDoge3VybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ2FkbWluX3Rvb2xzaGVkPQonLCBh
Y3Rpb249M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh
dGFUeXBlOiAianNvbiIsPTIwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZv
bGRlcl9wYXRoOiAiJHtkaXJlY3RvcnlfcGF0aHxofSIgfSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGRhdGFUeXBlOiAianNvbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh
OiB7IGZvbGRlcl9wYXRoOiAiJHtkaXJlY3RvcnlfcGF0aHxofSIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29k
ZT0KX2lkKCByZXBvc2l0b3J5LmlkICl9IiB9LAogICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgb25MYXp5UmVhZDogZnVuY3Rpb24oZHRub2RlKXsKICAgICAgICAgICAgICAgICAg
ICAgZHRub2RlLmFwcGVuZEFqYXgoewotICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHto
LnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNoZWQnLCA9CmFjdGlvbj0zRCdvcGVu
X2ZvbGRlcicgKX0iLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9m
b3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNoZWQnLCA9CmFjdGlvbj0zRCdvcGVuX2ZvbGRl
cicgKX0iLAogICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3BhdGg6IGR0bm9kZS5kYXRhLmtleSB9
LAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogZHRub2RlLmRh
dGEua2V5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3J5X2lkOiAi
JHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQ9CiggcmVwb3NpdG9yeS5pZCApfSIgfSwKICAgICAg
ICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICBv
blNlbGVjdDogZnVuY3Rpb24oc2VsZWN0LCBkdG5vZGUpIHsKQEAgLTU1LDcgKzU3LDcgQEAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAiUE9TVCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnYWRtaW5fdG9vbHNo
ZT0KZCcsIGFjdGlvbj0zRCdnZXRfZmlsZV9jb250ZW50cycgKX0iLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGF0YTogeyBmaWxlX3BhdGg6IHNlbGVjdGVkX3ZhbHVlIH0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGF0YTogeyBmaWxlX3BhdGg6IHNlbGVjdGVkX3ZhbHVlLCByZXBvc2l0b3J5
Xz0KaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVwb3NpdG9yeS5pZCApfSIgfSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzIDogZnVuY3Rpb24oIGRhdGEgKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGwuaHRtbCggJzxsYWJlbD4nK2Rh
dGErJzwvbGFiZWw+JyApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKZGlmZiAtciAx
ZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1yIDdkZGI0MWRjYjJiMmU0
ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiB0ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVx
dWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvCi0tLSBhL3RlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9y
ZXF1ZXN0cy9jb21tb24vY29tbW9uLm1ha28KKysrIGIvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5
L3JlcXVlc3RzL2NvbW1vbi9jb21tb24ubWFrbwpAQCAtMzMzLDcgKzMzMyw2IEBACiAgICAgICAg
Y2FuX2FkZF9zYW1wbGVzID0zRCBpc191bnN1Ym1pdHRlZAogICAgIGNhbl9kZWxldGVfc2FtcGxl
cyA9M0Qgbm90IGFkZGluZ19uZXdfc2FtcGxlcyBhbmQgcmVxdWVzdC5zYW1wbGVzIGFuZCA9Cigg
KCBpc19hZG1pbiBhbmQgbm90IGlzX2NvbXBsZXRlICkgb3IgaXNfdW5zdWJtaXR0ZWQgKQogICAg
IGNhbl9lZGl0X3NhbXBsZXMgPTNEIHJlcXVlc3Quc2FtcGxlcyBhbmQgKCBpc19hZG1pbiBvciBu
b3QgaXNfY29tcGxldGU9CiApCi0gICAgY2FuX3NlbGVjdF9kYXRhc2V0cyA9M0QgaXNfYWRtaW4g
YW5kIGRpc3BsYXlhYmxlX3NhbXBsZV93aWRnZXRzIGFuZCAoID0KaXNfc3VibWl0dGVkIG9yIGlz
X2NvbXBsZXRlICkKICAgICBjYW5fdHJhbnNmZXJfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCBy
ZXF1ZXN0LnNhbXBsZXMgYW5kIG5vdCByZXF1ZXN0PQouaXNfcmVqZWN0ZWQKICAgICBkaXNwbGF5
X2NoZWNrYm94ZXMgPTNEIG5vdCBhZGRpbmdfbmV3X3NhbXBsZXMgYW5kICggaXNfY29tcGxldGUg
b3IgaXNfPQpyZWplY3RlZCBvciBpc19zdWJtaXR0ZWQgKQogICAgIGRpc3BsYXlfYmFyX2NvZGUg
PTNEIHJlcXVlc3Quc2FtcGxlcyBhbmQgKCBpc19jb21wbGV0ZSBvciBpc19yZWplY3RlZCA9Cm9y
IGlzX3N1Ym1pdHRlZCApCkBAIC00MDcsNyArNDA2LDcgQEAKICAgICAgICAgICAgICAgICAlZWxp
ZiBzYW1wbGU6CiAgICAgICAgICAgICAgICAgICAgIDx0cj48dGQ+Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJWlmIHNhbXBsZS5zdGF0ZSBhbmQgKCBjYW5fc2VsZWN0X2RhdGFzZXRzIG9y
ID0KY2FuX3RyYW5zZmVyX2RhdGFzZXRzICk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JWlmIHNhbXBsZS5zdGF0ZSBhbmQgY2FuX3RyYW5zZmVyX2RhdGFzZXRzOgogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjIyBBIHNhbXBsZSB3aWxsIGhhdmUgYSBzdGF0ZSBvbmx5IGFm
dGVyIHQ9CmhlIHJlcXVlc3QgaGFzIGJlZW4gc3VibWl0dGVkLgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8JQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5j
b2RlZF9pZCA9M0QgdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2k9CmQoIHNhbXBsZS5pZCApCkBAIC00
MTksMTQgKzQxOCw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBj
bGFzcz0zRCJ2aWV3LWluZm8iIGhyZWY9M0QiJHtoLnVybD0KX2ZvciggY29udHJvbGxlcj0zRCdy
ZXF1ZXN0c19jb21tb24nLCBhY3Rpb249M0Qndmlld19zYW1wbGUnLCBjbnRybGxlcj0zRGNuPQp0
cmxsZXIsIGlkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+JHtz
YW1wbGUubmFtZSB8IGh9PC89CmE+PC9kaXY+PGRpdiBwb3B1cG1lbnU9M0Qic2FtcGxlLSR7c2Ft
cGxlLmlkfS1wb3B1cCI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlaWYg
Y2FuX3NlbGVjdF9kYXRhc2V0czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAlZm9yIGV4dGVybmFsX3NlcnZpY2UgaW4gc2FtcGxlLnJlPQpxdWVzdC50eXBlLmdldF9l
eHRlcm5hbF9zZXJ2aWNlc19mb3JfbWFudWFsX2RhdGFfdHJhbnNmZXIoIHRyYW5zICk6Ci0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwlCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW51X2l0ZW1fbGFiZWwgPTNEICJT
ZWxlYz0KdCBkYXRhc2V0cyB0byB0cmFuc2ZlciB1c2luZyAlcyIgJSBleHRlcm5hbF9zZXJ2aWNl
Lm5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJT4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPTNE
ImFjdGlvbi1idXR0b24iPQogaHJlZj0zRCIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1
ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdzZWxlY3RfZGF0YXM9CmV0c190b190cmFuc2ZlcicsIGV4
dGVybmFsX3NlcnZpY2VfaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsXz0K
c2VydmljZS5pZCApLCByZXF1ZXN0X2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZXF1
ZXN0LmlkICksIHNhbXBsZV9pPQpkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUu
aWQgKSApfSI+JHttZW51X2l0ZW1fbGFiZWx9PC9hPjwvbGk+Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJWVuZGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJWVuZGlmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlaWYg
c2FtcGxlLmRhdGFzZXRzIGFuZCBsZW4oIHNhbXBsZS5kYT0KdGFzZXRzICkgPiBsZW4oIHRyYW5z
ZmVycmVkX2RhdGFzZXRfZmlsZXMgKSBhbmQgc2FtcGxlLmxpYnJhcnkgYW5kIHNhbXBsZS5mPQpv
bGRlcjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xh
c3M9M0QiYWN0aW9uLWJ1dHRvbiIgaHJlPQpmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNE
J3JlcXVlc3RzX2FkbWluJywgYWN0aW9uPTNEJ21hbmFnZV9kYXRhc2V0cyc9Ciwgc2FtcGxlX2lk
PTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+TWFuYWdlIHNlbGVj
dGVkIGRhdD0KYXNldHM8L2E+PC9saT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICVlbGlmIHNhbXBsZS5kYXRhc2V0cyBhbmQgbGVuKCBzYW1wbGUuPQpkYXRhc2V0cyApID0z
RD0zRCBsZW4oIHRyYW5zZmVycmVkX2RhdGFzZXRfZmlsZXMgKToKQEAgLTY2NSw3ICs2NTYsNiBA
QAogICAgICAgICAgICAgaXNfYWRtaW4gPTNEIGNudHJsbGVyID0zRD0zRCAncmVxdWVzdHNfYWRt
aW4nIGFuZCB0cmFucy51c2VyX2k9CnNfYWRtaW4oKQogICAgICAgICAgICAgaXNfY29tcGxldGUg
PTNEIHNhbXBsZS5yZXF1ZXN0LmlzX2NvbXBsZXRlCiAgICAgICAgICAgICBpc19zdWJtaXR0ZWQg
PTNEIHNhbXBsZS5yZXF1ZXN0LmlzX3N1Ym1pdHRlZAotICAgICAgICAgICAgY2FuX3NlbGVjdF9k
YXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5kICggaXNfY29tcGxldGUgb3IgaXNfc3VibWk9CnR0ZWQg
KQogICAgICAgICAgICAgY2FuX3RyYW5zZmVyX2RhdGFzZXRzID0zRCBpc19hZG1pbiBhbmQgc2Ft
cGxlLnVudHJhbnNmZXJyZWRfZGE9CnRhc2V0X2ZpbGVzCiAgICAgICAgICU+CiAgICAgICAgICMj
IFRoZSB0cmFuc2ZlciBzdGF0dXMgc2hvdWxkIHVwZGF0ZSBvbmx5IHdoZW4gdGhlIHJlcXVlc3Qg
aGFzIGJlZT0KbiBzdWJtaXR0ZWQgb3IgY29tcGxldGUKCmRpZmYgLXIgMWYzNDA3MmQ0NzNmODcx
YjkwYmYxYjJiY2M2YTcyYzMyMjQyMDAxZCAtciA3ZGRiNDFkY2IyYjJlNGQzYTZmODM0ZD0KM2Rk
MTE0MjZmMjZmYjc5MDIgdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi92
aWV3X3JlcXVlc3RfaGlzPQp0b3J5Lm1ha28KLS0tIGEvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5
L3JlcXVlc3RzL2NvbW1vbi92aWV3X3JlcXVlc3RfaGlzdG9yeS5tYWtvCisrKyBiL3RlbXBsYXRl
cy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmlld19yZXF1ZXN0X2hpc3RvcnkubWFr
bwpAQCAtMTEsNyArMTEsNiBAQAogICAgIGNhbl9hZGRfc2FtcGxlcyA9M0QgaXNfdW5zdWJtaXR0
ZWQKICAgICBjYW5fZWRpdF9yZXF1ZXN0ID0zRCAoIGlzX2FkbWluIGFuZCBub3QgaXNfY29tcGxl
dGUgKSBvciBpc191bnN1Ym1pdHRlZAogICAgIGNhbl9yZWplY3QgPTNEIGlzX2FkbWluIGFuZCBp
c19zdWJtaXR0ZWQKLSAgICBjYW5fc2VsZWN0X2RhdGFzZXRzID0zRCBpc19hZG1pbiBhbmQgKCBp
c19jb21wbGV0ZSBvciBpc19zdWJtaXR0ZWQgKQogICAgIGNhbl9zdWJtaXRfcmVxdWVzdCA9M0Qg
cmVxdWVzdC5zYW1wbGVzIGFuZCBpc191bnN1Ym1pdHRlZAogJT4KPTIwCgpkaWZmIC1yIDFmMzQw
NzJkNDczZjg3MWI5MGJmMWIyYmNjNmE3MmMzMjI0MjAwMWQgLXIgN2RkYjQxZGNiMmIyZTRkM2E2
ZjgzNGQ9CjNkZDExNDI2ZjI2ZmI3OTAyIHRlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0
cy9jb21tb24vdmlld19zYW1wbGVfZGF0YT0Kc2V0cy5tYWtvCi0tLSBhL3RlbXBsYXRlcy93ZWJh
cHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmlld19zYW1wbGVfZGF0YXNldHMubWFrbworKysg
Yi90ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL3ZpZXdfc2FtcGxlX2Rh
dGFzZXRzLm1ha28KQEAgLTEyLDcgKzEyLDYgQEAKICAgICBpc19hZG1pbiA9M0QgY250cmxsZXIg
PTNEPTNEICdyZXF1ZXN0c19hZG1pbicgYW5kIHRyYW5zLnVzZXJfaXNfYWRtaW4oKQogICAgIGlz
X2NvbXBsZXRlID0zRCBzYW1wbGUucmVxdWVzdC5pc19jb21wbGV0ZQogICAgIGlzX3N1Ym1pdHRl
ZCA9M0Qgc2FtcGxlLnJlcXVlc3QuaXNfc3VibWl0dGVkCi0gICAgY2FuX3NlbGVjdF9kYXRhc2V0
cyA9M0QgaXNfYWRtaW4gYW5kICggaXNfY29tcGxldGUgb3IgaXNfc3VibWl0dGVkICkKICAgICBj
YW5fdHJhbnNmZXJfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCBzYW1wbGUudW50cmFuc2ZlcnJl
ZF9kYXRhc2V0X2ZpPQpsZXMgYW5kIHNhbXBsZS5saWJyYXJ5IGFuZCBzYW1wbGUuZm9sZGVyCiAl
Pgo9MjAKQEAgLTI0LDkgKzIzLDYgQEAKICAgICAlZW5kaWYKICAgICA8bGk+PGEgY2xhc3M9M0Qi
YWN0aW9uLWJ1dHRvbiIgaWQ9M0Qic2FtcGxlLSR7c2FtcGxlLmlkfS1wb3B1cCIgY2xhc3M9Cj0z
RCJtZW51YnV0dG9uIj5EYXRhc2V0IEFjdGlvbnM8L2E+PC9saT48ZGl2IHBvcHVwbWVudT0zRCJz
YW1wbGUtJHtzYW1wbGUuaT0KZH0tcG9wdXAiPgotICAgICAgICAlaWYgY2FuX3NlbGVjdF9kYXRh
c2V0czoKLSAgICAgICAgICAgIDxsaT48YSBjbGFzcz0zRCJhY3Rpb24tYnV0dG9uIiBocmVmPTNE
IiR7aC51cmxfZm9yKCBjb250cm9sbGVyPQo9M0QncmVxdWVzdHNfYWRtaW4nLCBhY3Rpb249M0Qn
c2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyJywgY250cmxsZXI9M0RjbnQ9CnJsbGVyLCBleHRl
cm5hbF9zZXJ2aWNlX2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBleHRlcm5hbF9zZXJ2
aWNlLmlkID0KKSwgcmVxdWVzdF9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxl
LnJlcXVlc3QuaWQgKSwgc2FtcGxlX2lkPTNEPQp0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHNh
bXBsZS5pZCApICl9Ij5TZWxlY3QgbW9yZSBkYXRhc2V0czwvYT48L2xpPgotICAgICAgICAlZW5k
aWYKICAgICAgICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVy
bF9mb3IoIGNvbnRyb2xsZXI9M0QnPQpsaWJyYXJ5X2NvbW1vbicsIGFjdGlvbj0zRCdicm93c2Vf
bGlicmFyeScsIGNudHJsbGVyPTNEY250cmxsZXIsIGlkPTNEdHJhbnM9Ci5zZWN1cml0eS5lbmNv
ZGVfaWQoIHNhbXBsZS5saWJyYXJ5LmlkICkgKX0iPlZpZXcgdGFyZ2V0IERhdGEgTGlicmFyeTwv
YT48Lz0KbGk+PGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVybF9m
b3IoIGNvbnRyb2xsZXI9M0QncmVxdWVzPQp0c19jb21tb24nLCBhY3Rpb249M0Qndmlld19yZXF1
ZXN0JywgY250cmxsZXI9M0RjbnRybGxlciwgaWQ9M0R0cmFucy5zZWN1cmk9CnR5LmVuY29kZV9p
ZCggc2FtcGxlLnJlcXVlc3QuaWQgKSApfSI+QnJvd3NlIHRoaXMgcmVxdWVzdDwvYT48L2xpPjwv
ZGl2PgoKZGlmZiAtciAxZjM0MDcyZDQ3M2Y4NzFiOTBiZjFiMmJjYzZhNzJjMzIyNDIwMDFkIC1y
IDdkZGI0MWRjYjJiMmU0ZDNhNmY4MzRkPQozZGQxMTQyNmYyNmZiNzkwMiB0ZW1wbGF0ZXMvd2Vi
YXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21tb24ubWFrbwotLS0gYS90ZW1wbGF0ZXMvd2Vi
YXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21tb24ubWFrbworKysgYi90ZW1wbGF0ZXMvd2Vi
YXBwcy90b29sX3NoZWQvcmVwb3NpdG9yeS9jb21tb24ubWFrbwpAQCAtMjEsMTQgKzIxLDE0IEBA
CiAgICAgICAgICAgICAgICAgZng6IHsgaGVpZ2h0OiAidG9nZ2xlIiwgZHVyYXRpb246IDIwMCB9
LAogICAgICAgICAgICAgICAgIC8vIGluaXRBamF4IGlzIGhhcmQgdG8gZmFrZSwgc28gd2UgcGFz
cyB0aGUgY2hpbGRyZW4gYXMgb2I9CmplY3QgYXJyYXk6CiAgICAgICAgICAgICAgICAgaW5pdEFq
YXg6IHt1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXBvc2l0b3J5JywgYT0KY3Rp
b249M0Qnb3Blbl9mb2xkZXInICl9IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFU
eXBlOiAianNvbiIsPTIwCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRl
cl9wYXRoOiAiJHtyZXBvc2l0b3J5LnJlcG9fcGF0aCggdD0KcmFucy5hcHAgKX0iIH0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogIiR7cmVwb3NpdG9yeS5yZXBvX3BhdGgo
IHQ9CnJhbnMuYXBwICl9IiwgcmVwb3NpdG9yeV9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2Rl
X2lkKCByZXBvc2l0b3J5LmlkICl9Ij0KICB9LAogICAgICAgICAgICAgICAgIH0sCiAgICAgICAg
ICAgICAgICAgb25MYXp5UmVhZDogZnVuY3Rpb24oZHRub2RlKXsKICAgICAgICAgICAgICAgICAg
ICAgZHRub2RlLmFwcGVuZEFqYXgoewotICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHto
LnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVwb3NpdG9yeScsIGFjdGk9Cm9uPTNEJ29wZW5fZm9s
ZGVyJyApfSIsPTIwCisgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2Zvcigg
Y29udHJvbGxlcj0zRCdyZXBvc2l0b3J5JywgYWN0aT0Kb249M0Qnb3Blbl9mb2xkZXInICl9IiwK
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAianNvbiIsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiBkdG5vZGUuZGF0YS5rZXkgfSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3BhdGg6IGR0bm9kZS5kYXRhLmtleSwg
cmVwb3NpdG9yeV9pPQpkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcG9zaXRvcnku
aWQgKX0iICB9LAogICAgICAgICAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgICAgICB9LAog
ICAgICAgICAgICAgICAgIG9uU2VsZWN0OiBmdW5jdGlvbihzZWxlY3QsIGR0bm9kZSkgewpAQCAt
NjEsNyArNjEsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICJQT1NUIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxl
cj0zRCdyZXBvc2l0b3J5JywgPQphY3Rpb249M0QnZ2V0X2ZpbGVfY29udGVudHMnICl9IiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGE6IHsgZmlsZV9wYXRoOiBzZWxlY3RlZF92YWx1ZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZmlsZV9wYXRoOiBzZWxlY3RlZF92YWx1
ZSwgcmVwb3NpdG9yeV89CmlkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcG9zaXRv
cnkuaWQgKX0iIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0
aW9uICggZGF0YSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC5odG1s
KCAnPGxhYmVsPicrZGF0YSsnPC9sYWJlbD4nICkKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9CgoKaHR0cHM6Ly9iaXRidWNrZXQub3JnL2dhbGF4eS9nYWxheHktY2VudHJhbC9jb21taXRz
LzZjMmZkN2JkZGM2Yy8KQ2hhbmdlc2V0OiAgIDZjMmZkN2JkZGM2YwpCcmFuY2g6ICAgICAgcmVs
ZWFzZV8xNS4wNQpVc2VyOiAgICAgICAgbmF0ZWZvbwpEYXRlOiAgICAgICAgMjAxNi0wMi0yNCAy
MDo1NDo1MSswMDowMApTdW1tYXJ5OiAgICAgUmVsZWFzZSAxNS4wNS4yCkFmZmVjdGVkICM6ICAz
MSBmaWxlcwoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRk
IC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvZ2FsYXh5
L2V4Y2VwdGlvbnMvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS9leGNlcHRpb25zL19faW5p
dF9fLnB5CisrKyBiL2xpYi9nYWxheHkvZXhjZXB0aW9ucy9fX2luaXRfXy5weQpAQCAtNzEsNiAr
NzEsMTEgQEAKICAgICBlcnJfY29kZSA9M0QgZXJyb3JfY29kZXMuTUFMRk9STUVEX0lECj0yMAo9
MjAKK2NsYXNzIE1hbGZvcm1lZENvbnRlbnRzKCBNZXNzYWdlRXhjZXB0aW9uICk6CisgICAgc3Rh
dHVzX2NvZGUgPTNEIDQwMAorICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rlcy5NQUxGT1JNRURf
Q09OVEVOVFMKKworCiBjbGFzcyBVbmtub3duQ29udGVudHNUeXBlKCBNZXNzYWdlRXhjZXB0aW9u
ICk6CiAgICAgc3RhdHVzX2NvZGUgPTNEIDQwMAogICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rl
cy5VTktOT1dOX0NPTlRFTlRTX1RZUEUKCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2
ZDY4Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1
MTViNGUgbGliL2dhbGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KLS0tIGEvbGliL2dh
bGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KKysrIGIvbGliL2dhbGF4eS9leGNlcHRp
b25zL2Vycm9yX2NvZGVzLmpzb24KQEAgLTYxLDEwICs2MSwxNSBAQAogICAgIH0sCiAgICB7CiAg
ICAgIm5hbWUiOiAiVVNFUl9UT09MX01FVEFfUEFSQU1FVEVSX1BST0JMRU0iLAotICAgICJjb2Rl
IjogNDAwMDExLAorICAgICJjb2RlIjogNDAwMDEyLAogICAgICJtZXNzYWdlIjogIlN1cHBsaWVk
IGluY29ycmVjdCBvciBpbmNvbXBhdGlibGUgdG9vbCBtZXRhIHBhcmFtZXRlcnMuIgogICAgfSwK
ICAgIHsKKyAgICAibmFtZSI6ICJNQUxGT1JNRURfQ09OVEVOVFMiLAorICAgICJjb2RlIjogNDAw
MDEzLAorICAgICJtZXNzYWdlIjogIlRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVzdCBhcmUgbWFs
Zm9ybWVkLiIKKyAgICB9LAorICAgewogICAgICJuYW1lIjogIlVTRVJfQVVUSEVOVElDQVRJT05f
RkFJTEVEIiwKICAgICAiY29kZSI6IDQwMTAwMSwKICAgICAibWVzc2FnZSI6ICJBdXRoZW50aWNh
dGlvbiBmYWlsZWQsIGludmFsaWQgY3JlZGVudGlhbHMgc3VwcGxpZWQuIgoKZGlmZiAtciAyMGQ1
YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4
YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvZ2FsYXh5L21vZGVsL19faW5pdF9fLnB5Ci0t
LSBhL2xpYi9nYWxheHkvbW9kZWwvX19pbml0X18ucHkKKysrIGIvbGliL2dhbGF4eS9tb2RlbC9f
X2luaXRfXy5weQpAQCAtNSwxNSArNSwxMSBAQAogdGhlIHJlbGF0aW9uc2hpcCBjYXJkaW5hbGl0
aWVzIGFyZSBvYnZpb3VzIChlLmcuIHByZWZlciBEYXRhc2V0IHRvIERhdGEpCiAiIiIKPTIwCi1m
cm9tIGdhbGF4eSBpbXBvcnQgZWdncwotZWdncy5yZXF1aXJlKCJwZXhwZWN0IikKLQogaW1wb3J0
IGNvZGVjcwogaW1wb3J0IGVycm5vCiBpbXBvcnQgbG9nZ2luZwogaW1wb3J0IG9wZXJhdG9yCiBp
bXBvcnQgb3MKLWltcG9ydCBwZXhwZWN0CiBpbXBvcnQganNvbgogaW1wb3J0IHNvY2tldAogaW1w
b3J0IHRpbWUKQEAgLTE0MzQsMTMgKzE0MzAsMTEgQEAKICAgICBkZWYgZ2V0X3RvdGFsX3NpemUo
IHNlbGYgKToKICAgICAgICAgaWYgc2VsZi50b3RhbF9zaXplIGlzIG5vdCBOb25lOgogICAgICAg
ICAgICAgcmV0dXJuIHNlbGYudG90YWxfc2l6ZQotICAgICAgICBpZiBzZWxmLmZpbGVfc2l6ZToK
LSAgICAgICAgICAgICMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBzZXQgaWYgdW5zZXQK
LSAgICAgICAgICAgIHNlbGYuc2V0X3RvdGFsX3NpemUoKQotICAgICAgICAgICAgZGJfc2Vzc2lv
biA9M0Qgb2JqZWN0X3Nlc3Npb24oIHNlbGYgKQotICAgICAgICAgICAgZGJfc2Vzc2lvbi5mbHVz
aCgpCi0gICAgICAgICAgICByZXR1cm4gc2VsZi50b3RhbF9zaXplCi0gICAgICAgIHJldHVybiAw
CisgICAgICAgICMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCBzZXQgaWYgdW5zZXQKKyAg
ICAgICAgc2VsZi5zZXRfdG90YWxfc2l6ZSgpCisgICAgICAgIGRiX3Nlc3Npb24gPTNEIG9iamVj
dF9zZXNzaW9uKCBzZWxmICkKKyAgICAgICAgZGJfc2Vzc2lvbi5mbHVzaCgpCisgICAgICAgIHJl
dHVybiBzZWxmLnRvdGFsX3NpemUKICAgICBkZWYgc2V0X3RvdGFsX3NpemUoIHNlbGYgKToKICAg
ICAgICAgaWYgc2VsZi5maWxlX3NpemUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuc2V0X3Np
emUoKQpAQCAtMzkzOSwyNyArMzkzMyw2IEBACiAgICAgICAgICAgICAgICAgdW50cmFuc2ZlcnJl
ZF9kYXRhc2V0cy5hcHBlbmQoIGRhdGFzZXQgKQogICAgICAgICByZXR1cm4gdW50cmFuc2ZlcnJl
ZF9kYXRhc2V0cwo9MjAKLSAgICBkZWYgZ2V0X3VudHJhbnNmZXJyZWRfZGF0YXNldF9zaXplKCBz
ZWxmLCBmaWxlcGF0aCwgc2NwX2NvbmZpZ3MgKToKLSAgICAgICAgZGVmIHByaW50X3RpY2tzKCBk
ICk6Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgIGVycm9yX21zZyA9M0QgJ0Vycm9yIGVuY291
bnRlcmVkIGluIGRldGVybWluaW5nIHRoZSBmaWxlIHNpemUgb2YgJT0KcyBvbiB0aGUgZXh0ZXJu
YWxfc2VydmljZS4nICUgZmlsZXBhdGgKLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzWydob3N0
J10gb3Igbm90IHNjcF9jb25maWdzWyd1c2VyX25hbWUnXSBvciBub3QgPQpzY3BfY29uZmlnc1sn
cGFzc3dvcmQnXToKLSAgICAgICAgICAgIHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgbG9naW5f
c3RyID0zRCAnJXNAJXMnICUgKCBzY3BfY29uZmlnc1sndXNlcl9uYW1lJ10sIHNjcF9jb25maWdz
WydoPQpvc3QnXSApCi0gICAgICAgIGNtZCAgPTNEICdzc2ggJXMgImR1IC1zaCBcJyVzXCciJyAl
ICggbG9naW5fc3RyLCBmaWxlcGF0aCApCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1
dCA9M0QgcGV4cGVjdC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBldmVudHM9M0R7ICcuc3N3b3JkOionOiBzY3BfY29uZmlnc1sncGFzPQpzd29yZCddKydcclxu
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXhwZWN0LlRJ
TUVPVVQ6cHJpbnRfdGlja3N9LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRp
bWVvdXQ9M0QxMCApCi0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1
cm4gZXJyb3JfbXNnCi0gICAgICAgICMgY2xlYW51cCB0aGUgb3V0cHV0IHRvIGdldCBqdXN0IHRo
ZSBmaWxlIHNpemUKLSAgICAgICAgcmV0dXJuICBvdXRwdXQucmVwbGFjZSggZmlsZXBhdGgsICcn
IClcCi0gICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICdQYXNzd29yZDonLCAnJyApXAot
ICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKCAiJ3MgcGFzc3dvcmQ6IiwgJycgKVwKLSAg
ICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSggbG9naW5fc3RyLCAnJyApXAotICAgICAgICAg
ICAgICAgICAgICAgIC5zdHJpcCgpCiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHJ1bl9kZXRhaWxz
KCBzZWxmICk6CiAgICAgICAgICMgc2VsZi5ydW5zIGlzIGEgbGlzdCBvZiBTYW1wbGVSdW5Bc3Nv
Y2lhdGlvbnMgb3JkZXJlZCBkZXNjZW5kaW5nID0Kb24gdXBkYXRlX3RpbWUuCgpkaWZmIC1yIDIw
ZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0
ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1YjRlIGxpYi9nYWxheHkvb2JqZWN0c3RvcmUvX19pbml0
X18ucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9fX2luaXRfXy5weQorKysgYi9saWIv
Z2FsYXh5L29iamVjdHN0b3JlL19faW5pdF9fLnB5CkBAIC0xMSw3ICsxMSw3IEBACiBpbXBvcnQg
dGhyZWFkaW5nCiBmcm9tIHhtbC5ldHJlZSBpbXBvcnQgRWxlbWVudFRyZWUKPTIwCi1mcm9tIGdh
bGF4eS51dGlsIGltcG9ydCB1bWFza19maXhfcGVybXMsIGZvcmNlX3N5bWxpbmsKK2Zyb20gZ2Fs
YXh5LnV0aWwgaW1wb3J0IHVtYXNrX2ZpeF9wZXJtcywgZm9yY2Vfc3ltbGluaywgc2FmZV9yZWxw
YXRoCiBmcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3RJbnZhbGlkLCBPYmplY3RO
b3RGb3VuZAogZnJvbSBnYWxheHkudXRpbC5zbGVlcGVyIGltcG9ydCBTbGVlcGVyCiBmcm9tIGdh
bGF4eS51dGlsLmRpcmVjdG9yeV9oYXNoIGltcG9ydCBkaXJlY3RvcnlfaGFzaF9pZApAQCAtMjUy
LDcgKzI1MiwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb21wb3NlZCBkaXJl
Y3Rvcnkgc3RydWN0dXJlIGRvZXMgbm90IGluY2x1ZGU9CiBhIGhhc2ggaWQKICAgICAgICAgICAg
ICAgICAgICAgICAgICAoZS5nLiwgL2ZpbGVzL2RhdGFzZXRfMTAuZGF0IChvbGQpIHZzLiAvZmls
ZXMvMDAwPQovZGF0YXNldF8xMC5kYXQgKG5ldykpCiAgICAgICAgICIiIgotICAgICAgICBiYXNl
ID0zRCBzZWxmLmV4dHJhX2RpcnMuZ2V0KGJhc2VfZGlyLCBzZWxmLmZpbGVfcGF0aCkKKyAgICAg
ICAgYmFzZSA9M0Qgb3MucGF0aC5hYnNwYXRoKHNlbGYuZXh0cmFfZGlycy5nZXQoYmFzZV9kaXIs
IHNlbGYuZmlsZV9wPQphdGgpKQorICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUg
Y29uc3RydWN0ZWQgZnJvbSBwcm92aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBz
dXJlIHRoZXJlIGFyZSBubyBzaGVuYW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGly
IGFuZCBleHRyYV9kaXIgIT0zRCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAg
ICAgICBsb2cud2FybmluZygnZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJh
X2RpcikKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2Jq
ZWN0IGlzIGludmFsaWQiKQorICAgICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0
b3J5IHJlZmVyZW5jZXMgaW4gYWx0X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGlu
IGEgcGF0aCBub3QgY29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0K
IGhlcmUKKyAgICAgICAgaWYgYWx0X25hbWUgYW5kIG5vdCBzYWZlX3JlbHBhdGgoYWx0X25hbWUp
OgorICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxkIGxvY2F0ZSBwYXRoIG91
dHNpZGUgZGlyOiAlcycsIGFsdF89Cm5hbWUpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZh
bGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKICAgICAgICAgaWYgb2xkX3N0
eWxlOgogICAgICAgICAgICAgaWYgZXh0cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAg
ICAgIHBhdGggPTNEIG9zLnBhdGguam9pbihiYXNlLCBleHRyYV9kaXIpCkBAIC02MTksOSArNjI5
LDEwIEBACiAgICAgZWxpZiBzdG9yZSA9M0Q9M0QgJ2lyb2RzJzoKICAgICAgICAgZnJvbSAucm9k
cyBpbXBvcnQgSVJPRFNPYmplY3RTdG9yZQogICAgICAgICByZXR1cm4gSVJPRFNPYmplY3RTdG9y
ZShjb25maWc9M0Rjb25maWcsIGNvbmZpZ194bWw9M0Rjb25maWdfeG1sKQotICAgIGVsaWYgc3Rv
cmUgPTNEPTNEICdwdWxzYXInOgotICAgICAgICBmcm9tIC5wdWxzYXIgaW1wb3J0IFB1bHNhck9i
amVjdFN0b3JlCi0gICAgICAgIHJldHVybiBQdWxzYXJPYmplY3RTdG9yZShjb25maWc9M0Rjb25m
aWcsIGNvbmZpZ194bWw9M0Rjb25maWdfeG1sKQorICAgICMgRGlzYWJsZSB0aGUgUHVsc2FyIG9i
amVjdCBzdG9yZSBmb3Igbm93IHVudGlsIGl0IHJlY2VpdmVzIHNvbWUgYXR0ZW49CnRpb24KKyAg
ICAjIGVsaWYgc3RvcmUgPTNEPTNEICdwdWxzYXInOgorICAgICMgICAgZnJvbSAucHVsc2FyIGlt
cG9ydCBQdWxzYXJPYmplY3RTdG9yZQorICAgICMgICAgcmV0dXJuIFB1bHNhck9iamVjdFN0b3Jl
KGNvbmZpZz0zRGNvbmZpZywgY29uZmlnX3htbD0zRGNvbmZpZ194bWwpCiAgICAgZWxzZToKICAg
ICAgICAgbG9nLmVycm9yKCJVbnJlY29nbml6ZWQgb2JqZWN0IHN0b3JlIGRlZmluaXRpb246IHsw
fSIuZm9ybWF0KHN0b3JlPQopKQo9MjAKCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2
ZDY4Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1
MTViNGUgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5Ci0tLSBhL2xpYi9nYWxheHkvb2Jq
ZWN0c3RvcmUvcm9kcy5weQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0b3JlL3JvZHMucHkKQEAg
LTEyLDcgKzEyLDggQEAKIGZyb20gcG9zaXhwYXRoIGltcG9ydCBiYXNlbmFtZSBhcyBwYXRoX2Jh
c2VuYW1lCiBmcm9tIHBvc2l4cGF0aCBpbXBvcnQgZGlybmFtZSBhcyBwYXRoX2Rpcm5hbWUKPTIw
Ci1mcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3ROb3RGb3VuZAorZnJvbSBnYWxh
eHkuZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQsIE9iamVjdEludmFsaWQKK2Zyb20g
Z2FsYXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVscGF0aAogZnJvbSAuLm9iamVjdHN0b3JlIGltcG9y
dCBEaXNrT2JqZWN0U3RvcmUsIE9iamVjdFN0b3JlLCBsb2NhbF9leHRyYV9kaXJzCj0yMAogdHJ5
OgpAQCAtNzEsNiArNzIsMjAgQEAKICAgICAgICAgbG9nLmluZm8oICJpUk9EUyBkYXRhIGZvciB0
aGlzIGluc3RhbmNlIHdpbGwgYmUgc3RvcmVkIGluIGNvbGxlY3RpPQpvbjogJXMsIHJlc291cmNl
OiAlcyIsIHNlbGYucm9vdF9jb2xsZWN0aW9uX3BhdGgsIHNlbGYuZGVmYXVsdF9yZXNvdXJjZSAp
Cj0yMAogICAgIGRlZiBfX2dldF9yb2RzX3BhdGgoIHNlbGYsIG9iaiwgYmFzZV9kaXI9M0ROb25l
LCBkaXJfb25seT0zREZhbHNlLCBleHQ9CnJhX2Rpcj0zRE5vbmUsIGV4dHJhX2Rpcl9hdF9yb290
PTNERmFsc2UsIGFsdF9uYW1lPTNETm9uZSwgc3RyaXBfZGF0PTNEVHJ1ZT0KLCAqKmt3YXJncyAp
OgorICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUgY29uc3RydWN0ZWQgZnJvbSBw
cm92aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBzdXJlIHRoZXJlIGFyZSBubyBz
aGVuYW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGlyIGFuZCBleHRyYV9kaXIgIT0z
RCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAgICAgICBsb2cud2FybmluZygn
ZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJhX2RpcikKKyAgICAgICAgICAg
IHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGludmFsaWQiKQor
ICAgICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0b3J5IHJlZmVyZW5jZXMgaW4g
YWx0X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGluIGEgcGF0aCBub3QgY29udGFp
bmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0KIGhlcmUKKyAgICAgICAgaWYg
YWx0X25hbWU6CisgICAgICAgICAgICBpZiBub3Qgc2FmZV9yZWxwYXRoKGFsdF9uYW1lKToKKyAg
ICAgICAgICAgICAgICBsb2cud2FybmluZygnYWx0X25hbWUgd291bGQgbG9jYXRlIHBhdGggb3V0
c2lkZSBkaXI6ICVzJywgPQphbHRfbmFtZSkKKyAgICAgICAgICAgICAgICByYWlzZSBPYmplY3RJ
bnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKKyAgICAgICAgICAgICMg
YWx0X25hbWUgY2FuIGNvbnRhaW4gcGFyZW50IGRpcmVjdG9yeSByZWZlcmVuY2VzLCBidXQgaVJP
RFMgPQp3aWxsCisgICAgICAgICAgICAjIG5vdCBmb2xsb3cgdGhlbSwgc28gaWYgdGhleSBhcmUg
dmFsaWQgd2Ugbm9ybWFsaXplIHRoZW0gb3V0CisgICAgICAgICAgICBhbHRfbmFtZSA9M0Qgb3Mu
cGF0aC5ub3JtcGF0aChhbHRfbmFtZSkKICAgICAgICAgcGF0aCA9M0QgIiIKICAgICAgICAgaWYg
ZXh0cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcGF0aCA9M0QgZXh0cmFfZGlyCgpk
aWZmIC1yIDIwZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3
YmRkYzZjMWM0ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1YjRlIGxpYi9nYWxheHkvb2JqZWN0c3Rv
cmUvczMucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5weQorKysgYi9saWIvZ2Fs
YXh5L29iamVjdHN0b3JlL3MzLnB5CkBAIC0xMiw4ICsxMiw4IEBACj0yMAogZnJvbSBkYXRldGlt
ZSBpbXBvcnQgZGF0ZXRpbWUKPTIwCi1mcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmpl
Y3ROb3RGb3VuZAotZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc3RyaW5nX2FzX2Jvb2wsIHVtYXNr
X2ZpeF9wZXJtcworZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQs
IE9iamVjdEludmFsaWQKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHN0cmluZ19hc19ib29sLCB1
bWFza19maXhfcGVybXMsIHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHkudXRpbC5kaXJlY3Rvcnlf
aGFzaCBpbXBvcnQgZGlyZWN0b3J5X2hhc2hfaWQKIGZyb20gZ2FsYXh5LnV0aWwuc2xlZXBlciBp
bXBvcnQgU2xlZXBlcgogZnJvbSAuczNfbXVsdGlwYXJ0X3VwbG9hZCBpbXBvcnQgbXVsdGlwYXJ0
X3VwbG9hZApAQCAtMjAxLDYgKzIwMSwyMCBAQAogICAgICAgICAgICAgICAgIHVtYXNrX2ZpeF9w
ZXJtcyggcGF0aCwgc2VsZi5jb25maWcudW1hc2ssIDA2NjYsIHNlbGYuY29uZmk9CmcuZ2lkICkK
PTIwCiAgICAgZGVmIF9jb25zdHJ1Y3RfcGF0aChzZWxmLCBvYmosIGRpcl9vbmx5PTNETm9uZSwg
ZXh0cmFfZGlyPTNETm9uZSwgZXh0cj0KYV9kaXJfYXRfcm9vdD0zREZhbHNlLCBhbHRfbmFtZT0z
RE5vbmUsICoqa3dhcmdzKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVyIGJlIGNv
bnN0cnVjdGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAgICAgICAjIG1ha2Ugc3Vy
ZSB0aGVyZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAgIGlmIGV4dHJhX2RpciBh
bmQgZXh0cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAgICAgICAg
ICAgbG9nLndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBleHRyYV9k
aXIpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVj
dCBpcyBpbnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRpcmVjdG9y
eSByZWZlcmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAgICAjIHJlc3VsdCBpbiBh
IHBhdGggbm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0ZWQ9CiBo
ZXJlCisgICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYgbm90IHNhZmVfcmVscGF0
aChhbHRfbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxk
IGxvY2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUpCisgICAgICAgICAgICAg
ICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIp
CisgICAgICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVudCBkaXJlY3RvcnkgcmVm
ZXJlbmNlcywgYnV0IFMzIHdpbD0KbCBub3QKKyAgICAgICAgICAgICMgZm9sbG93IHRoZW0sIHNv
IGlmIHRoZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91dAorICAgICAgICAgICAgYWx0
X25hbWUgPTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAgICAgICAgIHJlbF9wYXRoID0z
RCBvcy5wYXRoLmpvaW4oKmRpcmVjdG9yeV9oYXNoX2lkKG9iai5pZCkpCiAgICAgICAgIGlmIGV4
dHJhX2RpciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGV4dHJhX2Rpcl9hdF9yb290OgoK
ZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZk
N2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvZ2FsYXh5L3Rvb2xzL2lt
cF9leHAvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19faW5pdF9f
LnB5CisrKyBiL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC9fX2luaXRfXy5weQpAQCAtNSw2ICs1
LDcgQEAKIGltcG9ydCBqc29uCiBpbXBvcnQgZGF0ZXRpbWUKIGZyb20gZ2FsYXh5IGltcG9ydCBt
b2RlbAorZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgTWFsZm9ybWVkQ29udGVudHMKIGZy
b20gZ2FsYXh5Lm1vZGVsLml0ZW1fYXR0cnMgaW1wb3J0IFVzZXNBbm5vdGF0aW9ucwogZnJvbSBn
YWxheHkubW9kZWwub3JtIGltcG9ydCBlYWdlcmxvYWQsIGVhZ2VybG9hZF9hbGwKIGZyb20gZ2Fs
YXh5LnRvb2xzLnBhcmFtZXRlcnMuYmFzaWMgaW1wb3J0IFVudmFsaWRhdGVkVmFsdWUKQEAgLTE5
Miw5ICsxOTMsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiBkYXRhc2V0X2F0dHJzLmdldCgn
ZXhwb3J0ZWQnLCBUcnVlKSBpcyBUcnVlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBEbyBz
ZWN1cml0eSBjaGVjayBhbmQgbW92ZS9jb3B5IGRhdGFzZXQgZGF0YS4KICAgICAgICAgICAgICAg
ICAgICAgICAgIHRlbXBfZGF0YXNldF9maWxlX25hbWUgPTNEIFwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvcy5wYXRoLmFic3BhdGgoIG9zLnBhdGguam9pbiggYXJjaGl2ZV9kaXIsIGRh
PQp0YXNldF9hdHRyc1snZmlsZV9uYW1lJ10gKSApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3MucGF0aC5yZWFscGF0aCggb3MucGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaT0KbiggYXJj
aGl2ZV9kaXIsIGRhdGFzZXRfYXR0cnNbJ2ZpbGVfbmFtZSddICkgKSApCiAgICAgICAgICAgICAg
ICAgICAgICAgICBpZiBub3QgZmlsZV9pbl9kaXIoIHRlbXBfZGF0YXNldF9maWxlX25hbWUsIG9z
LnBhdD0KaC5qb2luKCBhcmNoaXZlX2RpciwgImRhdGFzZXRzIiApICk6Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCAiSW52YWxpZCBkYXRhc2V0IHBhdGg6ICVz
IiAlID0KdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSApCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmFpc2UgTWFsZm9ybWVkQ29udGVudHMoICJJbnZhbGlkIGRhdGFzZXQgcGF0aD0KOiAlcyIg
JSB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lICkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRh
dGFzZXRzX3VzYWdlX2NvdW50c1sgdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSBdPQogPTNEPTNEIDE6
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLm1vdmUoIHRlbXBfZGF0YXNldF9m
aWxlX25hbWUsIGhkYS5maWxlXz0KbmFtZSApCiAgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
OgpAQCAtMzE2LDYgKzMxNyw3IEBACiAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgog
ICAgICAgICAgICAgICAgIGppaGEuam9iLnN0ZGVyciArPTNEICJFcnJvciBjbGVhbmluZyB1cCBo
aXN0b3J5IGltcG9ydCBqb2I9CjogJXMiICUgZQogICAgICAgICAgICAgICAgIHNlbGYuc2Ffc2Vz
c2lvbi5mbHVzaCgpCisgICAgICAgICAgICAgICAgcmFpc2UKPTIwCj0yMAogY2xhc3MgSm9iRXhw
b3J0SGlzdG9yeUFyY2hpdmVXcmFwcGVyKCBvYmplY3QsIFVzZXNBbm5vdGF0aW9ucyApOgoKZGlm
ZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZkN2Jk
ZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvZ2FsYXh5L3Rvb2xzL2ltcF9l
eHAvdW5wYWNrX3Rhcl9nel9hcmNoaXZlLnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4
cC91bnBhY2tfdGFyX2d6X2FyY2hpdmUucHkKKysrIGIvbGliL2dhbGF4eS90b29scy9pbXBfZXhw
L3VucGFja190YXJfZ3pfYXJjaGl2ZS5weQpAQCAtNiw2ICs2LDcgQEAKICAgICAtLVt1cmx8Zmls
ZV0gc291cmNlIHR5cGUsIGVpdGhlciBhIFVSTCBvciBhIGZpbGUuCiAiIiIKPTIwCitpbXBvcnQg
b3MKIGltcG9ydCBzeXMKIGltcG9ydCBvcHRwYXJzZQogaW1wb3J0IHRhcmZpbGUKQEAgLTQzLDYg
KzQ0LDIyIEBACiAgICAgICAgIHJldHVybiBOb25lCj0yMAo9MjAKK2RlZiBjaGVja19hcmNoaXZl
KCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICk6CisgICAgIiIiCisgICAgRW5zdXJlIHRoYXQgYSB0
YXIgYXJjaGl2ZSBoYXMgbm8gYWJzb2x1dGUgcGF0aHMgb3IgcmVsYXRpdmUgcGF0aHMgb3V0cz0K
aWRlCisgICAgdGhlIGFyY2hpdmUuCisgICAgIiIiCisgICAgd2l0aCB0YXJmaWxlLm9wZW4oIGFy
Y2hpdmVfZmlsZSwgbW9kZT0zRCdyOmd6JyApIGFzIGFyY2hpdmVfZnA6CisgICAgICAgIGZvciBh
cmNfcGF0aCBpbiBhcmNoaXZlX2ZwLmdldG5hbWVzKCk6CisgICAgICAgICAgICBhc3NlcnQgb3Mu
cGF0aC5ub3JtcGF0aCgKKyAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oCisgICAgICAgICAg
ICAgICAgICAgIGRlc3RfZGlyLAorICAgICAgICAgICAgICAgICAgICBhcmNfcGF0aAorICAgICAg
ICAgICAgICAgICkgKS5zdGFydHN3aXRoKCBkZXN0X2Rpci5yc3RyaXAob3Muc2VwKSArIG9zLnNl
cCApLCBcCisgICAgICAgICAgICAgICAgIkFyY2hpdmUgbWVtYmVyIHdvdWxkIGV4dHJhY3Qgb3V0
c2lkZSB0YXJnZXQgZGlyZWN0b3J5OiAlcz0KIiAlIGFyY19wYXRoCisgICAgcmV0dXJuIFRydWUK
KworCiBkZWYgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmlsZSwgZGVzdF9kaXIgKToKICAgICAi
IiIKICAgICBVbnBhY2sgYSB0YXIgYW5kL29yIGd6aXBwZWQgYXJjaGl2ZSBpbnRvIGEgZGVzdGlu
YXRpb24gZGlyZWN0b3J5LgpAQCAtNTEsMTMgKzY4LDggQEAKICAgICBhcmNoaXZlX2ZwLmV4dHJh
Y3RhbGwoIHBhdGg9M0RkZXN0X2RpciApCiAgICAgYXJjaGl2ZV9mcC5jbG9zZSgpCj0yMAotaWYg
X19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6Ci0gICAgIyBQYXJzZSBjb21tYW5kIGxpbmUuCi0g
ICAgcGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQotICAgIHBhcnNlci5hZGRfb3B0
aW9uKCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lzX3VybCcsIGFjdGlvbj0zRCJzdG9yZV90cnU9
CmUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAgICBwYXJzZXIuYWRkX29wdGlvbigg
Jy1GJywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmlsZScsIGFjdGlvbj0zRCJzdG9yZV90PQpydWUi
LCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKLSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1l
JywgJy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0ZW5jb2RlZCcsIGFjdGlvbj0KPTNEInN0b3Jl
X3RydWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9M0QnU291cmNlIGFuZCBkZXN0aW5hdGlvbiBk
aXIgdmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVkLicgKQotICAgIChvcHRpb25zLCBhcmdzKSA9
M0QgcGFyc2VyLnBhcnNlX2FyZ3MoKQorCitkZWYgbWFpbihvcHRpb25zLCBhcmdzKToKICAgICBp
c191cmwgPTNEIGJvb2woIG9wdGlvbnMuaXNfdXJsICkKICAgICBpc19maWxlID0zRCBib29sKCBv
cHRpb25zLmlzX2ZpbGUgKQogICAgIGFyY2hpdmVfc291cmNlLCBkZXN0X2RpciA9M0QgYXJncwpA
QCAtNjYsMTQgKzc4LDI1IEBACiAgICAgICAgIGFyY2hpdmVfc291cmNlID0zRCBiNjRkZWNvZGUo
IGFyY2hpdmVfc291cmNlICkKICAgICAgICAgZGVzdF9kaXIgPTNEIGI2NGRlY29kZSggZGVzdF9k
aXIgKQo9MjAKKyAgICAjIEdldCBhcmNoaXZlIGZyb20gVVJMLgorICAgIGlmIGlzX3VybDoKKyAg
ICAgICAgYXJjaGl2ZV9maWxlID0zRCB1cmxfdG9fZmlsZSggYXJjaGl2ZV9zb3VyY2UsIHRlbXBm
aWxlLk5hbWVkVGVtcG9yPQphcnlGaWxlKCBkaXI9M0RkZXN0X2RpciApLm5hbWUgKQorICAgIGVs
aWYgaXNfZmlsZToKKyAgICAgICAgYXJjaGl2ZV9maWxlID0zRCBhcmNoaXZlX3NvdXJjZQorCisg
ICAgIyBVbnBhY2sgYXJjaGl2ZS4KKyAgICBjaGVja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRl
c3RfZGlyICkKKyAgICB1bnBhY2tfYXJjaGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApCisK
KworaWYgX19uYW1lX18gPTNEPTNEICJfX21haW5fXyI6CisgICAgIyBQYXJzZSBjb21tYW5kIGxp
bmUuCisgICAgcGFyc2VyID0zRCBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQorICAgIHBhcnNlci5h
ZGRfb3B0aW9uKCAnLVUnLCAnLS11cmwnLCBkZXN0PTNEJ2lzX3VybCcsIGFjdGlvbj0zRCJzdG9y
ZV90cnU9CmUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKKyAgICBwYXJzZXIuYWRkX29w
dGlvbiggJy1GJywgJy0tZmlsZScsIGRlc3Q9M0QnaXNfZmlsZScsIGFjdGlvbj0zRCJzdG9yZV90
PQpydWUiLCBoZWxwPTNEJ1NvdXJjZSBpcyBhIFVSTC4nICkKKyAgICBwYXJzZXIuYWRkX29wdGlv
biggJy1lJywgJy0tZW5jb2RlZCcsIGRlc3Q9M0QnaXNfYjY0ZW5jb2RlZCcsIGFjdGlvbj0KPTNE
InN0b3JlX3RydWUiLCBkZWZhdWx0PTNERmFsc2UsIGhlbHA9M0QnU291cmNlIGFuZCBkZXN0aW5h
dGlvbiBkaXIgdmFsdWVzPQogYXJlIGJhc2U2NCBlbmNvZGVkLicgKQorICAgIChvcHRpb25zLCBh
cmdzKSA9M0QgcGFyc2VyLnBhcnNlX2FyZ3MoKQogICAgIHRyeToKLSAgICAgICAgIyBHZXQgYXJj
aGl2ZSBmcm9tIFVSTC4KLSAgICAgICAgaWYgaXNfdXJsOgotICAgICAgICAgICAgYXJjaGl2ZV9m
aWxlID0zRCB1cmxfdG9fZmlsZSggYXJjaGl2ZV9zb3VyY2UsIHRlbXBmaWxlLk5hbWVkVGU9Cm1w
b3JhcnlGaWxlKCBkaXI9M0RkZXN0X2RpciApLm5hbWUgKQotICAgICAgICBlbGlmIGlzX2ZpbGU6
Ci0gICAgICAgICAgICBhcmNoaXZlX2ZpbGUgPTNEIGFyY2hpdmVfc291cmNlCi0KLSAgICAgICAg
IyBVbnBhY2sgYXJjaGl2ZS4KLSAgICAgICAgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmlsZSwg
ZGVzdF9kaXIgKQorICAgICAgICBtYWluKG9wdGlvbnMsIGFyZ3MpCiAgICAgZXhjZXB0IEV4Y2Vw
dGlvbiwgZToKICAgICAgICAgcHJpbnQgIkVycm9yIHVucGFja2luZyB0YXIvZ3ogYXJjaGl2ZTog
JXMiICUgZSwgc3lzLnN0ZGVycgoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2
OTllNzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0
ZSBsaWIvZ2FsYXh5L3V0aWwvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS91dGlsL19faW5p
dF9fLnB5CisrKyBiL2xpYi9nYWxheHkvdXRpbC9fX2luaXRfXy5weQpAQCAtMjksNyArMjksNyBA
QAo9MjAKIGZyb20gZW1haWwuTUlNRVRleHQgaW1wb3J0IE1JTUVUZXh0Cj0yMAotZnJvbSBvcy5w
YXRoIGltcG9ydCByZWxwYXRoCitmcm9tIG9zLnBhdGggaW1wb3J0IHJlbHBhdGgsIG5vcm1wYXRo
CiBmcm9tIGhhc2hsaWIgaW1wb3J0IG1kNQogZnJvbSBpdGVydG9vbHMgaW1wb3J0IGl6aXAKPTIw
CkBAIC0xMjUyLDYgKzEyNTIsMjIgQEAKICAgICByZXR1cm4gb3MucGF0aC5hYnNwYXRoKGdhbGF4
eV9yb290X3BhdGgpCj0yMAo9MjAKK2RlZiBzYWZlX3JlbHBhdGgocGF0aCk6CisgICAgIiIiCisg
ICAgR2l2ZW4gd2hhdCB3ZSBleHBlY3QgdG8gYmUgYSByZWxhdGl2ZSBwYXRoLCBkZXRlcm1pbmUg
d2hldGhlciB0aGUgcGF0aAorICAgIHdvdWxkIGV4aXN0IGluc2lkZSB0aGUgY3VycmVudCBkaXJl
Y3RvcnkuCisKKyAgICA6dHlwZSAgIHBhdGg6ICAgc3RyaW5nCisgICAgOnBhcmFtICBwYXRoOiAg
IGEgcGF0aCB0byBjaGVjaworICAgIDpydHlwZTogICAgICAgICBib29sCisgICAgOnJldHVybnM6
ICAgICAgIGBgVHJ1ZWBgIGlmIHBhdGggaXMgcmVsYXRpdmUgYW5kIGRvZXMgbm90IHJlZmVyZW5j
ZSBhID0KcGF0aAorICAgICAgICBpbiBhIHBhcmVudCBkaXJlY3RvcnksIGBgRmFsc2VgYCBvdGhl
cndpc2UuCisgICAgIiIiCisgICAgaWYgcGF0aC5zdGFydHN3aXRoKG9zLnNlcCkgb3Igbm9ybXBh
dGgocGF0aCkuc3RhcnRzd2l0aChvcy5wYXJkaXIpOgorICAgICAgICByZXR1cm4gRmFsc2UKKyAg
ICByZXR1cm4gVHJ1ZQorCisKIGNsYXNzIEV4ZWN1dGlvblRpbWVyKG9iamVjdCk6Cj0yMAogICAg
IGRlZiBfX2luaXRfXyhzZWxmKToKCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4
Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTVi
NGUgbGliL2dhbGF4eS92ZXJzaW9uLnB5Ci0tLSBhL2xpYi9nYWxheHkvdmVyc2lvbi5weQorKysg
Yi9saWIvZ2FsYXh5L3ZlcnNpb24ucHkKQEAgLTEsMyArMSwzIEBACiBWRVJTSU9OX01BSk9SID0z
RCAiMTUuMDUiCi1WRVJTSU9OX01JTk9SID0zRCAiMSIKK1ZFUlNJT05fTUlOT1IgPTNEICIyIgog
VkVSU0lPTiA9M0QgVkVSU0lPTl9NQUpPUiArICgnLicgKyBWRVJTSU9OX01JTk9SIGlmIFZFUlNJ
T05fTUlOT1IgZWxzZSAnJykKCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4Njk5
ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTViNGUg
bGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9hcGkvdG9vbHMucHkKLS0tIGEvbGliL2dhbGF4eS93
ZWJhcHBzL2dhbGF4eS9hcGkvdG9vbHMucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4
eS9hcGkvdG9vbHMucHkKQEAgLTEwNywxNCArMTA3LDE0IEBACj0yMAogICAgIEBleHBvc2VfYXBp
CiAgICAgQHdlYi5yZXF1aXJlX2FkbWluCi0gICAgZGVmIHJlbG9hZCggc2VsZiwgdHJhbnMsIHRv
b2xfaWQsICoqa3dkICk6CisgICAgZGVmIHJlbG9hZCggc2VsZiwgdHJhbnMsIGlkLCAqKmt3ZCAp
OgogICAgICAgICAiIiIKICAgICAgICAgR0VUIC9hcGkvdG9vbHMve3Rvb2xfaWR9L3JlbG9hZAog
ICAgICAgICBSZWxvYWQgc3BlY2lmaWVkIHRvb2wuCiAgICAgICAgICIiIgogICAgICAgICB0b29s
Ym94ID0zRCB0cmFucy5hcHAudG9vbGJveAotICAgICAgICBnYWxheHkucXVldWVfd29ya2VyLnNl
bmRfY29udHJvbF90YXNrKCB0cmFucywgJ3JlbG9hZF90b29sJywgbm9vcF89CnNlbGY9M0RUcnVl
LCBrd2FyZ3M9M0R7ICd0b29sX2lkJzogdG9vbF9pZCB9ICkKLSAgICAgICAgbWVzc2FnZSwgc3Rh
dHVzID0zRCB0cmFucy5hcHAudG9vbGJveC5yZWxvYWRfdG9vbF9ieV9pZCggdG9vbF9pZCApCisg
ICAgICAgIGdhbGF4eS5xdWV1ZV93b3JrZXIuc2VuZF9jb250cm9sX3Rhc2soIHRyYW5zLCAncmVs
b2FkX3Rvb2wnLCBub29wXz0Kc2VsZj0zRFRydWUsIGt3YXJncz0zRHsgJ3Rvb2xfaWQnOiBpZCB9
ICkKKyAgICAgICAgbWVzc2FnZSwgc3RhdHVzID0zRCB0cmFucy5hcHAudG9vbGJveC5yZWxvYWRf
dG9vbF9ieV9pZCggaWQgKQogICAgICAgICByZXR1cm4geyBzdGF0dXM6IG1lc3NhZ2UgfQo9MjAK
ICAgICBAZXhwb3NlX2FwaQoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTll
NzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBs
aWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xsZXJzL2FkbWluX3Rvb2xzaGVkLnB5Ci0t
LSBhL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvYWRtaW5fdG9vbHNoZWQu
cHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9hZG1pbl90b29s
c2hlZC5weQpAQCAtMzgyLDExICszODIsMTEgQEAKPTIwCiAgICAgQHdlYi5qc29uCiAgICAgQHdl
Yi5yZXF1aXJlX2FkbWluCi0gICAgZGVmIGdldF9maWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywg
ZmlsZV9wYXRoICk6CisgICAgZGVmIGdldF9maWxlX2NvbnRlbnRzKCBzZWxmLCB0cmFucywgZmls
ZV9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAg
ICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAg
ICB0cmFucy5yZXNwb25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1
cm4gc3VjLmdldF9yZXBvc2l0b3J5X2ZpbGVfY29udGVudHMoIGZpbGVfcGF0aCApCisgICAgICAg
IHJldHVybiBzdWMuZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggdHJhbnMuYXBwLCBmaWxl
X3BhdGgsIHJlcD0Kb3NpdG9yeV9pZCApCj0yMAogICAgIEB3ZWIuZXhwb3NlCiAgICAgQHdlYi5y
ZXF1aXJlX2FkbWluCkBAIC05MTAsMTEgKzkxMCwxMSBAQAo9MjAKICAgICBAd2ViLmpzb24KICAg
ICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBm
b2xkZXJfcGF0aCApOgorICAgIGRlZiBvcGVuX2ZvbGRlciggc2VsZiwgdHJhbnMsIGZvbGRlcl9w
YXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0
cmFucy5yZXNwb25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0
cmFucy5yZXNwb25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4g
c3VjLm9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRoICkKKyAgICAgICAg
cmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCB0cmFucy5hcHAsIGZvbGRl
cl9wYXRoLCByPQplcG9zaXRvcnlfaWQgKQo9MjAKICAgICBAd2ViLmV4cG9zZQogICAgIEB3ZWIu
cmVxdWlyZV9hZG1pbgoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcx
MzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIv
Z2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xsZXJzL3JlcXVlc3RzX2FkbWluLnB5Ci0tLSBh
L2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29udHJvbGxlcnMvcmVxdWVzdHNfYWRtaW4ucHkK
KysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9yZXF1ZXN0c19hZG1p
bi5weQpAQCAtNiwxMCArNiw3IEBACiBmcm9tIGdhbGF4eSBpbXBvcnQgbW9kZWwsIHV0aWwKIGZy
b20gZ2FsYXh5LndlYi5mb3JtX2J1aWxkZXIgaW1wb3J0ICoKIGZyb20gLnJlcXVlc3RzX2NvbW1v
biBpbXBvcnQgUmVxdWVzdHNHcmlkLCBpbnZhbGlkX2lkX3JlZGlyZWN0Ci1mcm9tIGdhbGF4eSBp
bXBvcnQgZWdncwotZWdncy5yZXF1aXJlKCJhbXFwIikKLWltcG9ydCBhbXFwCi1pbXBvcnQgbG9n
Z2luZywgb3MsIHBleHBlY3QsIENvbmZpZ1BhcnNlcgoraW1wb3J0IGxvZ2dpbmcsIG9zLCBDb25m
aWdQYXJzZXIKPTIwCiBsb2cgPTNEIGxvZ2dpbmcuZ2V0TG9nZ2VyKCBfX25hbWVfXyApCj0yMApA
QCAtMzUxLDE4MiArMzQ4LDYgQEAKICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRf
cmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlPQpxdWVzdHNfYWRtaW4nLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGFjdGlvbj0zRCdtYW5hZ2U9Cl9kYXRhc2V0cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2lkPTNEc2FtcD0KbGVfaWQg
KSApCi0gICAgQHdlYi5leHBvc2UKLSAgICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgc2Vs
ZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyKCBzZWxmLCB0cmFucywgKiprd2QgKToKLSAgICAgICAg
cGFyYW1zID0zRCB1dGlsLlBhcmFtcygga3dkICkKLSAgICAgICAgbWVzc2FnZSA9M0QgdXRpbC5y
ZXN0b3JlX3RleHQoIHBhcmFtcy5nZXQoICdtZXNzYWdlJywgJycgKSApCi0gICAgICAgIHN0YXR1
cyA9M0QgcGFyYW1zLmdldCggJ3N0YXR1cycsICdkb25lJyApCi0gICAgICAgIHJlcXVlc3RfaWQg
PTNEIGt3ZC5nZXQoICdyZXF1ZXN0X2lkJywgTm9uZSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZp
Y2VfaWQgPTNEIGt3ZC5nZXQoICdleHRlcm5hbF9zZXJ2aWNlX2lkJywgTm9uZSApCi0gICAgICAg
IGZpbGVzID0zRCBbXQotICAgICAgICByZXF1ZXN0ID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5
KCB0cmFucy5tb2RlbC5SZXF1ZXN0ICkuZ2V0KCB0cmE9Cm5zLnNlY3VyaXR5LmRlY29kZV9pZCgg
cmVxdWVzdF9pZCApICkKLSAgICAgICAgZXh0ZXJuYWxfc2VydmljZSA9M0QgdHJhbnMuc2Ffc2Vz
c2lvbi5xdWVyeSggdHJhbnMubW9kZWwuRXh0ZXJuYWxTPQplcnZpY2UgKS5nZXQoIHRyYW5zLnNl
Y3VyaXR5LmRlY29kZV9pZCggZXh0ZXJuYWxfc2VydmljZV9pZCApICkKLSAgICAgICAgIyBMb2Fk
IHRoZSBkYXRhIHRyYW5zZmVyIHNldHRpbmdzCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9h
ZF9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0z
RCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxT
ZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2VsZWN0ZWRfZGF0
YXNldHNfdG9fdHJhbnNmZXIgPTNEIHV0aWwucmVzdG9yZV90ZXh0KCBwYXJhbXMuZ2V0KCAnPQpz
ZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlcicsICcnICkgKQotICAgICAgICBpZiBzZWxlY3Rl
ZF9kYXRhc2V0c190b190cmFuc2ZlcjoKLSAgICAgICAgICAgIHNlbGVjdGVkX2RhdGFzZXRzX3Rv
X3RyYW5zZmVyID0zRCBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlPQpyLnNwbGl0KCcsJykK
LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVy
ID0zRCBbXQotICAgICAgICBzYW1wbGVfaWQgPTNEIGt3ZC5nZXQoICdzYW1wbGVfaWQnLCAnbm9u
ZScgKQotICAgICAgICBzYW1wbGVfaWRfc2VsZWN0X2ZpZWxkID0zRCBzZWxmLl9fYnVpbGRfc2Ft
cGxlX2lkX3NlbGVjdF9maWVsZCggdHI9CmFucywgcmVxdWVzdCwgc2FtcGxlX2lkICkKLSAgICAg
ICAgaWYgc2FtcGxlX2lkICE9M0QgJ25vbmUnOgotICAgICAgICAgICAgc2FtcGxlID0zRCB0cmFu
cy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5TYW1wbGUgKS5nZXQoIHQ9CnJhbnMuc2Vj
dXJpdHkuZGVjb2RlX2lkKCBzYW1wbGVfaWQgKSApCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAg
ICBzYW1wbGUgPTNEIE5vbmUKLSAgICAgICAgIyBUaGUgX19nZXRfZmlsZXMoKSBtZXRob2QgcmVk
aXJlY3RzIGhlcmUgd2l0aCBhIHN0YXR1cyBvZiAnZXJyb3InPQogYW5kIGEgbWVzc2FnZSBpZiB0
aGVyZQotICAgICAgICAjIHdhcyBhIHByb2JsZW0gcmV0cmlldmluZyB0aGUgZmlsZXMuCi0gICAg
ICAgIGlmIHBhcmFtcy5nZXQoICdzZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0dG9uJywg
RmFsc2UgKToKLSAgICAgICAgICAgICMgR2V0IHRoZSBzYW1wbGUgdGhhdCB3YXMgc2VxdWVuY2Vk
IHRvIHByb2R1Y2UgdGhlc2UgZGF0YXNldHMuCi0gICAgICAgICAgICBpZiBzYW1wbGVfaWQgPTNE
PTNEICdub25lJzoKLSAgICAgICAgICAgICAgICBkZWwga3dkWyAnc2VsZWN0X2RhdGFzZXRzX3Rv
X3RyYW5zZmVyX2J1dHRvbicgXQotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdTZWxlY3Qg
dGhlIHNhbXBsZSB0aGF0IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHU9CmNlIHRoZSBkYXRhc2V0cyB5
b3Ugd2FudCB0byB0cmFuc2Zlci4nCi0gICAgICAgICAgICAgICAga3dkWyAnbWVzc2FnZScgXSA9
M0QgbWVzc2FnZQotICAgICAgICAgICAgICAgIGt3ZFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJwot
ICAgICAgICAgICAgICAgIHJldHVybiB0cmFucy5yZXNwb25zZS5zZW5kX3JlZGlyZWN0KCB3ZWIu
dXJsX2ZvciggY29udHJvbGw9CmVyPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlv
bj0KPTNEJ3NlbGVjdF9kYXRhc2V0c190b190cmFuc2ZlcicsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKmt3ZCApICkK
LSAgICAgICAgICAgIGlmIG5vdCBzYW1wbGUubGlicmFyeToKLSAgICAgICAgICAgICAgICAjIERp
c3BsYXkgYW4gZXJyb3IgaWYgYSBzYW1wbGUgaGFzIGJlZW4gc2VsZWN0ZWQgdGhhdAotICAgICAg
ICAgICAgICAgICMgaGFzIG5vdCB5ZXQgYmVlbiBhc3NvY2lhdGVkIHdpdGggYSBkZXN0aW5hdGlv
biBsaWJyYXJ5LgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdTZWxlY3QgYSB0YXJnZXQg
ZGF0YSBsaWJyYXJ5IGFuZCBmb2xkZXIgZm9yIHQ9CmhlIHNhbXBsZSBiZWZvcmUgc2VsZWN0aW5n
IHRoZSBkYXRhc2V0cy4nCi0gICAgICAgICAgICAgICAgc3RhdHVzID0zRCAnZXJyb3InCi0gICAg
ICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxf
Zm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNfY29tbW9uJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0K
PTNEJ2VkaXRfc2FtcGxlcycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbnRybGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWlu
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlkPTNEdHJhPQpucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQg
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0YXR1cz0KPTNEc3RhdHVzLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0KPTNEbWVz
c2FnZSApICkKLSAgICAgICAgICAgICMgU2F2ZSB0aGUgc2FtcGxlIGRhdGFzZXRzCi0gICAgICAg
ICAgICBzYW1wbGVfZGF0YXNldF9maWxlX25hbWVzID0zRCBzZWxmLl9fY3JlYXRlX3NhbXBsZV9k
YXRhc2V0cyggdD0KcmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2Zlciwg
ZXh0ZXJuYWxfc2VydmljZSApCi0gICAgICAgICAgICBpZiBzYW1wbGVfZGF0YXNldF9maWxlX25h
bWVzOgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdEYXRhc2V0cyAoJXMpIGhhdmUgYmVl
biBzZWxlY3RlZCBmb3Igc2FtcGxlICg9CiVzKScgJSBcCi0gICAgICAgICAgICAgICAgICAgICgg
c3RyKCBzYW1wbGVfZGF0YXNldF9maWxlX25hbWVzIClbMTotMV0ucmVwbGFjZSggIiciLD0KICIi
ICksIHNhbXBsZS5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiB0cmFucy5yZXNwb25zZS5zZW5k
X3JlZGlyZWN0KCB3ZWIudXJsX2ZvciggY29udHJvbGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWluJywK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPTNEJ21hPQpuYWdlX2RhdGFzZXRzJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdF9pZD0KPTNE
cmVxdWVzdF9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgc2FtcGxlX2lkPTNEPQpzYW1wbGVfaWQsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9
M0RtZT0Kc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXR1cz0zRHN0YT0KdHVzICkgKQotICAgICAgICByZXR1cm4g
dHJhbnMuZmlsbF90ZW1wbGF0ZSggJy9hZG1pbi9yZXF1ZXN0cy9zZWxlY3RfZGF0YXNldHNfdG9f
dHI9CmFuc2Zlci5tYWtvJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNu
dHJsbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcXVlc3Q9M0RyZXF1ZXN0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZXh0ZXJuYWxfc2VydmljZT0zRGV4dGVybmFsX3NlcnZpY2UsCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzY3BfY29uZmlncz0zRHNjcF9jb25maWdzLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlPTNEc2FtcGxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtcGxlX2lkX3NlbGVjdF9maWVsZD0zRHNhbXBs
ZV9pZF9zZWw9CmVjdF9maWVsZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXR1cz0zRHN0YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l
c3NhZ2U9M0RtZXNzYWdlICkKLSAgICBAd2ViLmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfZGV0YWls
cyggc2VsZiwgdHJhbnMsIHJlcXVlc3RfaWQsIGV4dGVybmFsX3NlcnZpY2VfaWQsIGZvPQpsZGVy
X3BhdGggKToKLSAgICAgICAgZGVmIHByaW50X3RpY2tzKCBkICk6Ci0gICAgICAgICAgICAjIHBl
eHBlY3QgdGltZW91dCBtZXRob2QKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgIyBBdm9pZCBj
YWNoaW5nCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8t
Y2FjaGUnCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAn
Ci0gICAgICAgIHJlcXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVs
LlJlcXVlc3QgKS5nZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkg
KQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0
cmFucy5tb2RlbC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2Rl
X2lkKCBleHRlcm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxv
YWRfZGF0YV90cmFuc2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9
M0QgZXh0ZXJuYWxfc2VydmljZS5kYXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFs
U2VydmljZS5kYXRhX3RyYW5zZmVyX3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGNtZCAgPTNEICdz
c2ggJXNAJXMgImxzIC1vZ2hwIFwnJXNcJyInICUgKCBzY3BfY29uZmlnc1sgJ3VzZXJfbmFtZT0K
JyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNj
cF9jb25maWdzWyAnaG9zdCcgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmb2xkZXJfcGF0aCApCi0gICAgICAgICMgSGFuZGxlIHRoZSBhdXRoZW50
aWNhdGlvbiBtZXNzYWdlIGlmIHNzaCBrZXlzIGFyZSBub3Qgc2V0IC0gdGhlID0KbWVzc2FnZSBp
cwotICAgICAgICAjIHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNv
bnRpbnVlIGNvbm5lY3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4cGVj
dC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJ1wo
eWVzXC9ub1wpXC4qJyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICcuc3N3b3JkOionIDogc2NwX2NvbmZpZ3NbICdwYXNzd29yPQpkJyBdICsgJ1xy
XG4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV4cGVjdC5USU1F
T1VUIDogcHJpbnRfdGlja3MgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVv
dXQ9M0QxMCApCi0gICAgICAgIGZvciBwYXNzd29yZF9zdHIgaW4gWyAnUGFzc3dvcmQ6XHJcbics
ICdwYXNzd29yZDpcclxuJyBdOgotICAgICAgICAgICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBj
cmVhdGVkIHVzaW5nIHNzaCBmcm9tIHRoZSB0cmVlCi0gICAgICAgICAgICBpZiBwYXNzd29yZF9z
dHIgaW4gb3V0cHV0OgotICAgICAgICAgICAgICAgIG91dHB1dCA9M0Qgb3V0cHV0LnJlcGxhY2Uo
IHBhc3N3b3JkX3N0ciwgJycgKQotICAgICAgICByZXR1cm4gdW5pY29kZSggb3V0cHV0LnJlcGxh
Y2UoICdcclxuJywgJzxici8+JyApICkKLSAgICBAd2ViLmpzb24KLSAgICBkZWYgb3Blbl9mb2xk
ZXIoIHNlbGYsIHRyYW5zLCByZXF1ZXN0X2lkLCBleHRlcm5hbF9zZXJ2aWNlX2lkLCBrZXkgKToK
LSAgICAgICAgIyBBdm9pZCBjYWNoaW5nCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNb
J1ByYWdtYSddID0zRCAnbm8tY2FjaGUnCi0gICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNb
J0V4cGlyZXMnXSA9M0QgJzAnCi0gICAgICAgIHJlcXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24u
cXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3QgKS5nZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2Rl
X2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5z
YV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2RlbC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJh
bnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBm
b2xkZXJfcGF0aCA9M0Qga2V5Ci0gICAgICAgIGZpbGVzX2xpc3QgPTNEIHNlbGYuX19nZXRfZmls
ZXMoIHRyYW5zLCByZXF1ZXN0LCBleHRlcm5hbF9zZXJ2aWNlLD0KIGZvbGRlcl9wYXRoICkKLSAg
ICAgICAgZm9sZGVyX2NvbnRlbnRzID0zRCBbXQotICAgICAgICBmb3IgZmlsZW5hbWUgaW4gZmls
ZXNfbGlzdDoKLSAgICAgICAgICAgIGlzX2ZvbGRlciA9M0QgRmFsc2UKLSAgICAgICAgICAgIGlm
IGZpbGVuYW1lIGFuZCBmaWxlbmFtZVstMV0gPTNEPTNEIG9zLnNlcDoKLSAgICAgICAgICAgICAg
ICBpc19mb2xkZXIgPTNEIFRydWUKLSAgICAgICAgICAgIGlmIGZpbGVuYW1lOgotICAgICAgICAg
ICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUg
KQotICAgICAgICAgICAgICAgIG5vZGUgPTNEIHsgInRpdGxlIjogZmlsZW5hbWUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgImlzRm9sZGVyIjogaXNfZm9sZGVyLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICJpc0xhenkiOiBpc19mb2xkZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
InRvb2x0aXAiOiBmdWxsX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgImtleSI6IGZ1
bGxfcGF0aCB9Ci0gICAgICAgICAgICAgICAgZm9sZGVyX2NvbnRlbnRzLmFwcGVuZCggbm9kZSAp
Ci0gICAgICAgIHJldHVybiBmb2xkZXJfY29udGVudHMKLSAgICBkZWYgX19nZXRfZmlsZXMoIHNl
bGYsIHRyYW5zLCByZXF1ZXN0LCBleHRlcm5hbF9zZXJ2aWNlLCBmb2xkZXJfcGF0aCApOgotICAg
ICAgICAjIFJldHJpZXZlcyB0aGUgZmlsZW5hbWVzIHRvIGJlIHRyYW5zZmVycmVkIGZyb20gdGhl
IHJlbW90ZSBob3N0LgotICAgICAgICBvayA9M0QgVHJ1ZQotICAgICAgICBleHRlcm5hbF9zZXJ2
aWNlLmxvYWRfZGF0YV90cmFuc2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29u
ZmlncyA9M0QgZXh0ZXJuYWxfc2VydmljZS5kYXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRl
cm49CmFsU2VydmljZS5kYXRhX3RyYW5zZmVyX3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGlmIG5v
dCBzY3BfY29uZmlnc1sgJ2hvc3QnIF0gb3Igbm90IHNjcF9jb25maWdzWyAndXNlcl9uYW1lJyBd
IG9yID0Kbm90IHNjcF9jb25maWdzWyAncGFzc3dvcmQnIF06Ci0gICAgICAgICAgICBzdGF0dXMg
PTNEICdlcnJvcicKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJFcnJvciBpbiBleHRlcm5hbCBz
ZXJ2aWNlIGxvZ2luIGluZm9ybWF0aW9uLiIKLSAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAg
ICAgICBkZWYgcHJpbnRfdGlja3MoIGQgKToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgY21k
ICA9M0QgJ3NzaCAlc0AlcyAibHMgLXAgXCclc1wnIicgJSAoIHNjcF9jb25maWdzWyAndXNlcl9u
YW1lJyBdPQosIHNjcF9jb25maWdzWyAnaG9zdCcgXSwgZm9sZGVyX3BhdGggKQotICAgICAgICAj
IEhhbmRsZSB0aGUgYXV0aGVudGljYXRpb24gbWVzc2FnZSBpZiBrZXlzIGFyZSBub3Qgc2V0IC0g
dGhlIG1lc3M9CmFnZSBpcwotICAgICAgICAjIHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJl
IHlvdSB3YW50IHRvIGNvbnRpbnVlIGNvbm5lY3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91
dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNtZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGV2ZW50cz0zRHsgJ1woeWVzXC9ub1wpXC4qJyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy5zc3dvcmQ6KicgOiBzY3BfY29uZmlnc1sgJ3Bhc3N3
b3JkPQonIF0gKyAnXHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwZXhwZWN0LlRJTUVPVVQgOiBwcmludF90aWNrcyB9LAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGltZW91dD0zRDEwICkKLSAgICAgICAgaWYgJ05vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnknIGluIG91dHB1dDoKLSAgICAgICAgICAgIHN0YXR1cyA9M0QgJ2Vycm9yJwotICAgICAg
ICAgICAgbWVzc2FnZSA9M0QgIk5vIGZvbGRlciBuYW1lZCAoJXMpIGV4aXN0cyBvbiB0aGUgZXh0
ZXJuYWwgc2Vydmk9CmNlLiIgJSBmb2xkZXJfcGF0aAotICAgICAgICAgICAgb2sgPTNEIEZhbHNl
Ci0gICAgICAgIGlmIG9rOgotICAgICAgICAgICAgaWYgJ2Fzc3dvcmQ6JyBpbiBvdXRwdXQ6Ci0g
ICAgICAgICAgICAgICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBjcmVhdGVkIHVzaW5nIHNzaCBm
cm9tIHRoZSB0cmVlCi0gICAgICAgICAgICAgICAgb3V0cHV0X2FzX2xpc3QgPTNEIG91dHB1dC5z
cGxpdGxpbmVzKClbIDE6IF0KLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgb3V0
cHV0X2FzX2xpc3QgPTNEIG91dHB1dC5zcGxpdGxpbmVzKCkKLSAgICAgICAgICAgIHJldHVybiBv
dXRwdXRfYXNfbGlzdAotICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVj
dCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1ZXN0c19hZG1pbicsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9u
PTNEJ3NlbGVjdD0KX2RhdGFzZXRzX3RvX3RyYW5zZmVyJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2lkPTNEdHJhPQpu
cy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlPQpf
aWQ9M0R0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2UuaWQgKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0dXM9M0RzdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVzc2FnZT0zRG1lc3NhZz0KZSApICkKLSAgICBkZWYgX19jcmVh
dGVfc2FtcGxlX2RhdGFzZXRzKCBzZWxmLCB0cmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0
c190PQpvX3RyYW5zZmVyLCBleHRlcm5hbF9zZXJ2aWNlICk6Ci0gICAgICAgIGV4dGVybmFsX3Nl
cnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3NldHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9j
b25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4
dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2Ft
cGxlX2RhdGFzZXRfZmlsZV9uYW1lcyA9M0QgW10KLSAgICAgICAgaWYgc2VsZWN0ZWRfZGF0YXNl
dHNfdG9fdHJhbnNmZXI6Ci0gICAgICAgICAgICBmb3IgZmlsZXBhdGggaW4gc2VsZWN0ZWRfZGF0
YXNldHNfdG9fdHJhbnNmZXI6Ci0gICAgICAgICAgICAgICAgIyBGSVhNRTogaGFuZGxlIGZvbGRl
ciBzZWxlY3Rpb24gLSBpZ25vcmUgZm9sZGVycyBmb3Igbm93Ci0gICAgICAgICAgICAgICAgaWYg
ZmlsZXBhdGhbLTFdICE9M0Qgb3Muc2VwOgotICAgICAgICAgICAgICAgICAgICBuYW1lID0zRCBz
ZWxmLl9fcmVuYW1lX2RhdGFzZXQoIHNhbXBsZSwgZmlsZXBhdGguc3BsaXQ9CiggJy8nIClbLTFd
LCBzY3BfY29uZmlncyApCi0gICAgICAgICAgICAgICAgICAgIHN0YXR1cyA9M0QgdHJhbnMuYXBw
Lm1vZGVsLlNhbXBsZURhdGFzZXQudHJhbnNmZXJfc3RhdD0KdXMuTk9UX1NUQVJURUQKLSAgICAg
ICAgICAgICAgICAgICAgc2l6ZSA9M0Qgc2FtcGxlLmdldF91bnRyYW5zZmVycmVkX2RhdGFzZXRf
c2l6ZSggZmlsZXBhPQp0aCwgc2NwX2NvbmZpZ3MgKQotICAgICAgICAgICAgICAgICAgICBzYW1w
bGVfZGF0YXNldCA9M0QgdHJhbnMubW9kZWwuU2FtcGxlRGF0YXNldCggc2FtcGxlPQo9M0RzYW1w
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsZV9wYXRoPQo9M0RmaWxlcGF0aCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzPQp0
YXR1cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuYW1lPTNEbmFtPQplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yX21zZz0KPTNEJycsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc2l6ZT0zRHNpej0KZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9zPQplcnZpY2U9M0RleHRlcm5h
bF9zZXJ2aWNlICkKLSAgICAgICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5hZGQoIHNh
bXBsZV9kYXRhc2V0ICkKLSAgICAgICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVz
aCgpCi0gICAgICAgICAgICAgICAgICAgIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMuYXBwZW5k
KCBzdHIoIHNhbXBsZV9kYXRhc2V0Lj0KbmFtZSApICkKLSAgICAgICAgcmV0dXJuIHNhbXBsZV9k
YXRhc2V0X2ZpbGVfbmFtZXMKICAgICBkZWYgX19yZW5hbWVfZGF0YXNldCggc2VsZiwgc2FtcGxl
LCBmaWxlcGF0aCwgc2NwX2NvbmZpZ3MgKToKICAgICAgICAgbmFtZSA9M0QgZmlsZXBhdGguc3Bs
aXQoICcvJyApWy0xXQogICAgICAgICBvcHRpb25zID0zRCBzYW1wbGUucmVxdWVzdC50eXBlLnJl
bmFtZV9kYXRhc2V0X29wdGlvbnMKQEAgLTU2MSw5MCArMzgyLDYgQEAKICAgICAgICAgICAgIGZs
dXNoX25lZWRlZCA9M0QgVHJ1ZQogICAgICAgICBpZiBmbHVzaF9uZWVkZWQ6CiAgICAgICAgICAg
ICB0cmFucy5zYV9zZXNzaW9uLmZsdXNoKCkKLSAgICBkZWYgX19jcmVhdGVfZGF0YV90cmFuc2Zl
cl9tZXNzYWdlcyggc2VsZiwgdHJhbnMsIHNhbXBsZSwgc2VsZWN0ZWRfc2FtPQpwbGVfZGF0YXNl
dHMgKToKLSAgICAgICAgIiIiCi0gICAgICAgIENyZWF0ZXMgdGhlIHhtbCBtZXNzYWdlcyB0byBz
ZW5kIHRvIHRoZSByYWJiaXRtcSBzZXJ2ZXIuIEl0IHJldHVybj0KcyBhIGRpY3Rpb25hcnkgb2Yg
bWVzc2FnZXMKLSAgICAgICAga2V5ZWQgYnkgdGhlIGV4dGVybmFsIHNlcnZpY2UgdXNlZCB0byB0
cmFuc2ZlciB0aGUgZGF0YXNldHMKLSAgICAgICAgIiIiCi0gICAgICAgICMgQ3JlYXRlIHRoZSB4
bWwgbWVzc2FnZSBiYXNlZCBvbiB0aGUgZm9sbG93aW5nIHRlbXBsYXRlCi0gICAgICAgIHhtbCA9
M0QgXAotICAgICAgICAgICAgJycnIDxkYXRhX3RyYW5zZmVyPgotICAgICAgICAgICAgICAgICAg
ICA8Z2FsYXh5X2hvc3Q+JShHQUxBWFlfSE9TVClzPC9nYWxheHlfaG9zdD4KLSAgICAgICAgICAg
ICAgICAgICAgPGFwaV9rZXk+JShBUElfS0VZKXM8L2FwaV9rZXk+Ci0gICAgICAgICAgICAgICAg
ICAgIDxkYXRhX2hvc3Q+JShEQVRBX0hPU1QpczwvZGF0YV9ob3N0PgotICAgICAgICAgICAgICAg
ICAgICA8ZGF0YV91c2VyPiUoREFUQV9VU0VSKXM8L2RhdGFfdXNlcj4KLSAgICAgICAgICAgICAg
ICAgICAgPGRhdGFfcGFzc3dvcmQ+JShEQVRBX1BBU1NXT1JEKXM8L2RhdGFfcGFzc3dvcmQ+Ci0g
ICAgICAgICAgICAgICAgICAgIDxyZXF1ZXN0X2lkPiUoUkVRVUVTVF9JRClzPC9yZXF1ZXN0X2lk
PgotICAgICAgICAgICAgICAgICAgICA8c2FtcGxlX2lkPiUoU0FNUExFX0lEKXM8L3NhbXBsZV9p
ZD4KLSAgICAgICAgICAgICAgICAgICAgPGxpYnJhcnlfaWQ+JShMSUJSQVJZX0lEKXM8L2xpYnJh
cnlfaWQ+Ci0gICAgICAgICAgICAgICAgICAgIDxmb2xkZXJfaWQ+JShGT0xERVJfSUQpczwvZm9s
ZGVyX2lkPgotICAgICAgICAgICAgICAgICAgICAlKERBVEFTRVRTKXMKLSAgICAgICAgICAgICAg
ICA8L2RhdGFfdHJhbnNmZXI+JycnCi0gICAgICAgIGRhdGFzZXRfeG1sID0zRCBcCi0gICAgICAg
ICAgICAnJyc8ZGF0YXNldD4KLSAgICAgICAgICAgICAgICAgICA8ZGF0YXNldF9pZD4lKElEKXM8
L2RhdGFzZXRfaWQ+Ci0gICAgICAgICAgICAgICAgICAgPG5hbWU+JShOQU1FKXM8L25hbWU+Ci0g
ICAgICAgICAgICAgICAgICAgPGZpbGU+JShGSUxFKXM8L2ZpbGU+Ci0gICAgICAgICAgICAgICA8
L2RhdGFzZXQ+JycnCi0gICAgICAgICMgSGVyZSB3ZSBncm91cCBhbGwgdGhlIHNhbXBsZV9kYXRh
c2V0cyBieSB0aGUgZXh0ZXJuYWwgc2VydmljZSB1cz0KZWQgdG8gdHJhbnNmZXIgdGhlbS4KLSAg
ICAgICAgIyBUaGUgaWRlYSBpcyB0byBidW5kbGUgdXAgdGhlIHNhbXBsZV9kYXRhc2V0cyB3aGlj
aCB1c2VzIHRoZSBzYW1lPQogZXh0ZXJuYWwgc2VydmljZSBhbmQKLSAgICAgICAgIyBzZW5kIGEg
c2luZ2xlIEFNUVAgbWVzc2FnZSB0byB0aGUgZ2FsYXh5X2xpc3RlbmVyCi0gICAgICAgIGRhdGFz
ZXRfZWxlbWVudHMgPTNEIHt9Ci0gICAgICAgIGZvciBzYW1wbGVfZGF0YXNldCBpbiBzZWxlY3Rl
ZF9zYW1wbGVfZGF0YXNldHM6Ci0gICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCBzYW1w
bGVfZGF0YXNldC5leHRlcm5hbF9zZXJ2aWNlCi0gICAgICAgICAgICBpZiBzYW1wbGVfZGF0YXNl
dC5zdGF0dXMgPTNEPTNEIHRyYW5zLmFwcC5tb2RlbC5TYW1wbGVEYXRhc2V0Lj0KdHJhbnNmZXJf
c3RhdHVzLk5PVF9TVEFSVEVEOgotICAgICAgICAgICAgICAgIGlmIG5vdCBkYXRhc2V0X2VsZW1l
bnRzLmhhc19rZXkoIGV4dGVybmFsX3NlcnZpY2UgKToKLSAgICAgICAgICAgICAgICAgICAgZGF0
YXNldF9lbGVtZW50c1sgZXh0ZXJuYWxfc2VydmljZSBdID0zRCAnJwotICAgICAgICAgICAgICAg
IGRhdGFzZXRfZWxlbWVudHNbIGV4dGVybmFsX3NlcnZpY2UgXSArPTNEIGRhdGFzZXRfeG1sICUg
ZGk9CmN0KCBJRD0zRHN0ciggc2FtcGxlX2RhdGFzZXQuaWQgKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOQU1F
PQo9M0RzYW1wbGVfZGF0YXNldC5uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZJTEU9Cj0zRHNhbXBsZV9k
YXRhc2V0LmZpbGVfcGF0aCApCi0gICAgICAgICAgICAgICAgIyB1cGRhdGUgdGhlIGRhdGFzZXQg
dHJhbnNmZXIgc3RhdHVzCi0gICAgICAgICAgICAgICAgc2FtcGxlX2RhdGFzZXQuc3RhdHVzID0z
RCB0cmFucy5hcHAubW9kZWwuU2FtcGxlRGF0YXNldC50cj0KYW5zZmVyX3N0YXR1cy5JTl9RVUVV
RQotICAgICAgICAgICAgICAgIHRyYW5zLnNhX3Nlc3Npb24uYWRkKCBzYW1wbGVfZGF0YXNldCAp
Ci0gICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICMgRmlu
YWxseSBwcmVwZW5kIHRoZSBleHRlcm5hbCBzZXJ2aWNlIGluZm8gdG8gdGhlIHNldHMgb2Ygc2Ft
cGxlID0KZGF0YXNldHMKLSAgICAgICAgbWVzc2FnZXMgPTNEIFtdCi0gICAgICAgIGZvciBleHRl
cm5hbF9zZXJ2aWNlLCBkYXRhc2V0X2VsZW0gaW4gZGF0YXNldF9lbGVtZW50cy5pdGVtcygpOgot
ICAgICAgICAgICAgZXh0ZXJuYWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3Mo
IHRyYW5zICkKLSAgICAgICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRh
dGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4PQp0ZXJuYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJf
cHJvdG9jb2wuU0NQIF0KLSAgICAgICAgICAgICMgQ2hlY2sgZGF0YSB0cmFuc2ZlciBzZXR0aW5n
cwotICAgICAgICAgICAgZXJyX21zZyA9M0Qgc2VsZi5fX3ZhbGlkYXRlX2RhdGFfdHJhbnNmZXJf
c2V0dGluZ3MoIHRyYW5zLCBzYW09CnBsZS5yZXF1ZXN0LnR5cGUsIHNjcF9jb25maWdzICkKLSAg
ICAgICAgICAgIGlmIGVycl9tc2c6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3Bv
bnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNf
YWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYWN0aW9uPQo9M0QnbWFuYWdlX2RhdGFzZXRzJywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNhbXBsZV9pPQpkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0YXR1cz0KPTNEJ2Vycm9yJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Cj0zRGVycl9tc2cg
KSApCi0gICAgICAgICAgICBtZXNzYWdlID0zRCB4bWwgJSBkaWN0KCBHQUxBWFlfSE9TVD0zRHRy
YW5zLnJlcXVlc3QuaG9zdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElf
S0VZPTNEdHJhbnMudXNlci5hcGlfa2V5c1swXS5rZXksCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgREFUQV9IT1NUPTNEc2NwX2NvbmZpZ3NbICdob3N0JyBdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfVVNFUj0zRHNjcF9jb25maWdzWyAndXNlcl9u
YW1lJyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfUEFTU1dPUkQ9
M0RzY3BfY29uZmlnc1sgJ3Bhc3N3b3JkJyA9Cl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgUkVRVUVTVF9JRD0zRHN0ciggc2FtcGxlLnJlcXVlc3QuaWQgKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTQU1QTEVfSUQ9M0RzdHIoIHNhbXBsZS5pZCApLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlJBUllfSUQ9M0RzdHIoIHNhbXBs
ZS5saWJyYXJ5LmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk9MREVS
X0lEPTNEc3RyKCBzYW1wbGUuZm9sZGVyLmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgREFUQVNFVFM9M0RkYXRhc2V0X2VsZW0gKQotICAgICAgICAgICAgbWVzc2FnZXMu
YXBwZW5kKCBtZXNzYWdlLnJlcGxhY2UoICdcbicsICcnICkucmVwbGFjZSggJ1xyJywgJyc9CiAp
ICkKLSAgICAgICAgcmV0dXJuIG1lc3NhZ2VzCi0gICAgZGVmIF9fdmFsaWRhdGVfZGF0YV90cmFu
c2Zlcl9zZXR0aW5ncyggc2VsZiwgdHJhbnMsIHJlcXVlc3RfdHlwZSwgc2NwXz0KY29uZmlncyAp
OgotICAgICAgICBlcnJfbXNnID0zRCAnJwotICAgICAgICAjIGNoZWNrIHRoZSBleHRlcm5hbCBz
ZXJ2aWNlIGxvZ2luIGluZm8KLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzLmdldCggJ2hvc3Qn
LCAnJyApIFwKLSAgICAgICAgICAgIG9yIG5vdCBzY3BfY29uZmlncy5nZXQoICd1c2VyX25hbWUn
LCAnJyApIFwKLSAgICAgICAgICAgIG9yIG5vdCBzY3BfY29uZmlncy5nZXQoICdwYXNzd29yZCcs
ICcnICk6Ci0gICAgICAgICAgICBlcnJfbXNnICs9M0QgIkVycm9yIGluIGV4dGVybmFsIHNlcnZp
Y2UgbG9naW4gaW5mb3JtYXRpb24uICIKLSAgICAgICAgaWYgbm90IHRyYW5zLnVzZXIuYXBpX2tl
eXM6Ci0gICAgICAgICAgICBlcnJfbXNnICs9M0QgIlNldCB5b3VyIEFQSSBLZXkgaW4geW91ciBV
c2VyIFByZWZlcmVuY2VzIHRvIHRyYT0KbnNmZXIgZGF0YXNldHMuICIKLSAgICAgICAgIyBDaGVj
ayBpZiBsaWJyYXJ5X2ltcG9ydF9kaXIgaXMgc2V0Ci0gICAgICAgIGlmIG5vdCB0cmFucy5hcHAu
Y29uZmlnLmxpYnJhcnlfaW1wb3J0X2RpcjoKLSAgICAgICAgICAgIGVycl9tc2cgPTNEICInVGhl
IGxpYnJhcnlfaW1wb3J0X2Rpcicgc2V0dGluZyBpcyBub3QgY29ycmVjdGx5PQogc2V0IGluIHRo
ZSBHYWxheHkgY29uZmlnIGZpbGUuICIKLSAgICAgICAgIyBDaGVjayB0aGUgUmFiYml0TVEgc2Vy
dmVyIHNldHRpbmdzIGluIHRoZSBjb25maWcgZmlsZQotICAgICAgICBmb3IgaywgdiBpbiB0cmFu
cy5hcHAuY29uZmlnLmFtcXAuaXRlbXMoKToKLSAgICAgICAgICAgIGlmIG5vdCB2OgotICAgICAg
ICAgICAgICAgIGVycl9tc2cgKz0zRCAnU2V0IFJhYmJpdE1RIHNlcnZlciBzZXR0aW5ncyBpbiB0
aGUgImdhbGF4eV89CmFtcXAiIHNlY3Rpb24gb2YgdGhlIEdhbGF4eSBjb25maWcgZmlsZSwgc3Bl
Y2lmaWNhbGx5ICIlcyIgaXMgbm90IHNldC4nICUgawotICAgICAgICAgICAgICAgIGJyZWFrCi0g
ICAgICAgIHJldHVybiBlcnJfbXNnCiAgICAgQHdlYi5leHBvc2UKICAgICBAd2ViLnJlcXVpcmVf
YWRtaW4KICAgICBkZWYgaW5pdGlhdGVfZGF0YV90cmFuc2Zlciggc2VsZiwgdHJhbnMsIHNhbXBs
ZV9pZCwgc2FtcGxlX2RhdGFzZXRzPTNEPQpbXSwgc2FtcGxlX2RhdGFzZXRfaWQ9M0QnJyApOgpA
QCAtNjg2LDM1ICs0MjMsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAgICAgICAgICAg
IGV4dGVybmFsX3NlcnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9
CiAgICAgICAgICAgICAgICAgIGV4dGVybmFsX3NlcnZpY2VfdHlwZT0zRGV4dGVybmFsX3NlcnZp
Y2VfdHlwZSApCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFRPRE86IFVzaW5nIFJhYmJp
dE1xIGZvciBub3csIGJ1dCBlbGltaW5hdGUgdGhpcyBlbnRpcmUgYmxvYz0KayB3aGVuIHdlIHJl
cGxhY2UgUmFiYml0TXEgd2l0aCBHYWxheHkncwotICAgICAgICAgICAgIyBvd24gbWVzc2FnaW5n
IGVuZ2luZS4gIFdlJ3JlIGhvbGRpbmcgb2ZmIG9uIHVzaW5nIHRoZSBuZXcgd2E9CnkgdG8gdHJh
bnNmZXIgZmlsZXMgbWFudWFsbHkgdW50aWwgd2UKLSAgICAgICAgICAgICMgaW1wbGVtZW50IGEg
R2FsYXh5LXByb3ByaWV0YXJ5IG1lc3NhZ2luZyBlbmdpbmUgYmVjYXVzZSB0aGUgPQpkZWZlcnJl
ZCBqb2IgcGx1Z2lucyBjdXJyZW50bHkgcGVyZm9ybQotICAgICAgICAgICAgIyBjb25zdGFudCBk
YiBoaXRzIHRvIGNoZWNrIGZvciBkZWZlcnJlZCBqb2JzIHRoYXQgYXJlIG5vdCBpbiA9CmEgZmlu
aXNoZWQgc3RhdGUuCi0gICAgICAgICAgICAjIENyZWF0ZSB0aGUgbWVzc2FnZQotICAgICAgICAg
ICAgbWVzc2FnZXMgPTNEIHNlbGYuX19jcmVhdGVfZGF0YV90cmFuc2Zlcl9tZXNzYWdlcyggdHJh
bnMsIHNhbXA9CmxlLCBzYW1wbGVfZGF0YXNldHMgKQotICAgICAgICAgICAgIyBTZW5kIHRoZSBt
ZXNzYWdlcwotICAgICAgICAgICAgZm9yIHJtcV9tc2cgaW4gbWVzc2FnZXM6Ci0gICAgICAgICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBjb25uID0zRCBhbXFwLkNvbm5lY3Rpb24o
IGhvc3Q9M0R0cmFucy5hcHAuY29uZmlnLmFtcXA9ClsgJ2hvc3QnIF0gKyAiOiIgKyB0cmFucy5h
cHAuY29uZmlnLmFtcXBbICdwb3J0JyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1c2VyaWQ9M0R0cmFucy5hcHAuY29uZmlnLmFtcXA9ClsgJ3VzZXJpZCcg
XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFzc3dvcmQ9
M0R0cmFucy5hcHAuY29uZmlnLmFtPQpxcFsgJ3Bhc3N3b3JkJyBdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsX2hvc3Q9M0R0cmFucy5hcHAuY29u
Zmk9CmcuYW1xcFsgJ3ZpcnR1YWxfaG9zdCcgXSkKLSAgICAgICAgICAgICAgICAgICAgY2hhbiA9
M0QgY29ubi5jaGFubmVsKCkKLSAgICAgICAgICAgICAgICAgICAgbXNnID0zRCBhbXFwLk1lc3Nh
Z2UoIHJtcV9tc2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
dGVudF90eXBlPTNEJ3RleHQvcGxhaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFwcGxpY2F0aW9uX2hlYWRlcnM9M0R7ICdtc2dfdHlwZSc9CjogJ2RhdGFfdHJh
bnNmZXInIH0gKQotICAgICAgICAgICAgICAgICAgICBtc2cucHJvcGVydGllc1sgImRlbGl2ZXJ5
X21vZGUiIF0gPTNEIDIKLSAgICAgICAgICAgICAgICAgICAgY2hhbi5iYXNpY19wdWJsaXNoKCBt
c2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhjaGFuZ2U9M0R0
cmFucy5hcHAuY29uZmlnLmFtcXBbID0KJ2V4Y2hhbmdlJyBdLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHJvdXRpbmdfa2V5PTNEdHJhbnMuYXBwLmNvbmZpZy5hbXE9
CnBbICdyb3V0aW5nX2tleScgXSApCi0gICAgICAgICAgICAgICAgICAgIGNoYW4uY2xvc2UoKQot
ICAgICAgICAgICAgICAgICAgICBjb25uLmNsb3NlKCkKLSAgICAgICAgICAgICAgICBleGNlcHQg
RXhjZXB0aW9uLCBlOgotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0zRCAiRXJyb3Igc2Vu
ZGluZyB0aGUgZGF0YSB0cmFuc2ZlciBtZXNzYWdlIHQ9Cm8gdGhlIEdhbGF4eSBBTVFQIG1lc3Nh
Z2UgcXVldWU6PGJyLz4lcyIgJSBzdHIoZSkKLSAgICAgICAgICAgICAgICAgICAgc3RhdHVzID0z
RCAiZXJyb3IiCi0gICAgICAgICAgICBpZiBub3QgbWVzc2FnZToKLSAgICAgICAgICAgICAgICBt
ZXNzYWdlID0zRCAiJWkgZGF0YXNldHMgaGF2ZSBiZWVuIHF1ZXVlZCBmb3IgdHJhbnNmZXIgZnJv
PQptIHRoZSBleHRlcm5hbCBzZXJ2aWNlLiIgJSBsZW4oIHNhbXBsZV9kYXRhc2V0cyApCi0gICAg
ICAgICAgICAgICAgc3RhdHVzID0zRCAiZG9uZSIKKyAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJN
ZXNzYWdlIHF1ZXVlIHRyYW5zZmVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQsIHBsPQplYXNlIHNl
dCBlbmFibGVfYmV0YV9qb2JfbWFuYWdlcnMgPTNEIFRydWUgaW4gZ2FsYXh5LmluaSIKKyAgICAg
ICAgICAgIHN0YXR1cyA9M0QgImVycm9yIgogICAgICAgICByZXR1cm4gdHJhbnMucmVzcG9uc2Uu
c2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1ZXN0c19hZG1p
bicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgYWN0aW9uPTNEJ21hbmFnZT0KX2RhdGFzZXRzJywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9M0R0cmFuPQpz
LnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxlLmlkICksCgpkaWZmIC1yIDIwZDVhMjFhZGQ5YWI0
NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQwOTM9CmYz
ZmM0YzQzNzBmNTE1YjRlIGxpYi9nYWxheHkvd2ViYXBwcy90b29sX3NoZWQvY29udHJvbGxlcnMv
cmVwb3NpdG9yeS5weQotLS0gYS9saWIvZ2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVkL2NvbnRyb2xs
ZXJzL3JlcG9zaXRvcnkucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL3Rvb2xfc2hlZC9jb250
cm9sbGVycy9yZXBvc2l0b3J5LnB5CkBAIC0xNjM1LDExICsxNjM1LDExIEBACiAgICAgICAgIHJl
dHVybiAnJwo9MjAKICAgICBAd2ViLmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNl
bGYsIHRyYW5zLCBmaWxlX3BhdGggKToKKyAgICBkZWYgZ2V0X2ZpbGVfY29udGVudHMoIHNlbGYs
IHRyYW5zLCBmaWxlX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAgICAgIyBBdm9pZCBjYWNo
aW5nCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0zRCAnbm8tY2Fj
aGUnCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9M0QgJzAnCi0g
ICAgICAgIHJldHVybiBzdWMuZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggZmlsZV9wYXRo
ICkKKyAgICAgICAgcmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCB0cmFu
cy5hcHAsIGZpbGVfcGF0aCwgcmVwPQpvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBvc2UK
ICAgICBkZWYgZ2V0X2Z1bmN0aW9uYWxfdGVzdF9yc3MoIHNlbGYsIHRyYW5zLCAqKmt3ZCApOgpA
QCAtMjU4OSwxMSArMjU4OSwxMSBAQAogICAgICAgICByZXR1cm4gJycKPTIwCiAgICAgQHdlYi5q
c29uCi0gICAgZGVmIG9wZW5fZm9sZGVyKCBzZWxmLCB0cmFucywgZm9sZGVyX3BhdGggKToKKyAg
ICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9p
ZCApOgogICAgICAgICAjIEF2b2lkIGNhY2hpbmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVh
ZGVyc1snUHJhZ21hJ10gPTNEICduby1jYWNoZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVh
ZGVyc1snRXhwaXJlcyddID0zRCAnMCcKLSAgICAgICAgcmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRv
cnlfZmlsZXNfZm9sZGVyKCBmb2xkZXJfcGF0aCApCisgICAgICAgIHJldHVybiBzdWMub3Blbl9y
ZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlciggdHJhbnMuYXBwLCBmb2xkZXJfcGF0aCwgcj0KZXBvc2l0
b3J5X2lkICkKPTIwCiAgICAgQHdlYi5leHBvc2UKICAgICBkZWYgcHJldmlld190b29sc19pbl9j
aGFuZ2VzZXQoIHNlbGYsIHRyYW5zLCByZXBvc2l0b3J5X2lkLCAqKmt3ZCApOgoKZGlmZiAtciAy
MGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFj
NGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvZ2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVk
L2ZyYW1ld29yay9taWRkbGV3YXJlL2hnLnB5Ci0tLSBhL2xpYi9nYWxheHkvd2ViYXBwcy90b29s
X3NoZWQvZnJhbWV3b3JrL21pZGRsZXdhcmUvaGcucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBz
L3Rvb2xfc2hlZC9mcmFtZXdvcmsvbWlkZGxld2FyZS9oZy5weQpAQCAtOSw3ICs5LDcgQEAKIGZy
b20gcGFzdGUuaHR0cGhlYWRlcnMgaW1wb3J0IEFVVEhfVFlQRQogZnJvbSBwYXN0ZS5odHRwaGVh
ZGVycyBpbXBvcnQgUkVNT1RFX1VTRVIKPTIwCi1mcm9tIGdhbGF4eS51dGlsIGltcG9ydCBhc2Jv
b2wKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IGFzYm9vbCwgc2FmZV9yZWxwYXRoCiBmcm9tIGdh
bGF4eS51dGlsLmhhc2hfdXRpbCBpbXBvcnQgbmV3X3NlY3VyZV9oYXNoCiBmcm9tIHRvb2xfc2hl
ZC51dGlsIGltcG9ydCBoZ191dGlsCiBmcm9tIHRvb2xfc2hlZC51dGlsIGltcG9ydCBjb21taXRf
dXRpbApAQCAtMTE0LDcgKzExNCwxMSBAQAogICAgICAgICAgICAgICAgICAgICBmaC53cml0ZSgg
Y2h1bmsgKQogICAgICAgICAgICAgICAgIGZoLmNsb3NlKCkKICAgICAgICAgICAgICAgICBmaCA9
M0Qgb3BlbiggdG1wX2ZpbGVuYW1lLCAncmInICkKLSAgICAgICAgICAgICAgICBjaGFuZ2VzZXRf
Z3JvdXBzID0zRCBqc29uLmxvYWRzKCBoZ191dGlsLmJ1bmRsZV90b19qc29uKCBmPQpoICkgKQor
ICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgY2hhbmdlc2V0X2dyb3Vw
cyA9M0QganNvbi5sb2FkcyggaGdfdXRpbC5idW5kbGVfdG9fanNvPQpuKCBmaCApICkKKyAgICAg
ICAgICAgICAgICBleGNlcHQgQXR0cmlidXRlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIG1z
ZyA9M0QgJ1lvdXIgdmVyc2lvbiBvZiBNZXJjdXJpYWwgaXMgbm90IHN1cHBvcnRlZC4gUD0KbGVh
c2UgdXNlIGEgdmVyc2lvbiA8IDMuNScKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNlbGYu
X19kaXNwbGF5X2V4Y2VwdGlvbl9yZW1vdGVseSggc3RhcnRfcmVzcG9uPQpzZSwgbXNnICkKICAg
ICAgICAgICAgICAgICBmaC5jbG9zZSgpCiAgICAgICAgICAgICAgICAgdHJ5OgogICAgICAgICAg
ICAgICAgICAgICBvcy51bmxpbmsoIHRtcF9maWxlbmFtZSApCkBAIC0xMjMsNiArMTI3LDE5IEBA
CiAgICAgICAgICAgICAgICAgaWYgY2hhbmdlc2V0X2dyb3VwczoKICAgICAgICAgICAgICAgICAg
ICAgIyBDaGVjayB0aGUgcmVwb3NpdG9yeSB0eXBlIHRvIG1ha2Ugc3VyZSBpbmFwcHJvcHJpYXRl
PQogZmlsZXMgYXJlIG5vdCBiZWluZyBwdXNoZWQuCiAgICAgICAgICAgICAgICAgICAgIGlmICdQ
QVRIX0lORk8nIGluIGVudmlyb246CisgICAgICAgICAgICAgICAgICAgICAgICAjIEVuc3VyZSB0
aGVyZSBhcmUgbm8gc3ltbGlua3Mgd2l0aCB0YXJnZXRzIG91dHNpZD0KZSB0aGUgcmVwbworICAg
ICAgICAgICAgICAgICAgICAgICAgZm9yIGVudHJ5IGluIGNoYW5nZXNldF9ncm91cHM6CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgbGVuKCBlbnRyeSApID0zRD0zRCAyOgorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZSwgY2hhbmdlX2xpc3QgPTNEIGVudHJ5
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGNoYW5n
ZV9saXN0LCBsaXN0KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5n
ZV9saXN0ID0zRCBbY2hhbmdlX2xpc3RdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZvciBjaGFuZ2UgaW4gY2hhbmdlX2xpc3Q6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBmb3IgcGF0Y2ggaW4gY2hhbmdlWydkYXRhJ106CisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ID0zRCBwYXRjaFsnYmxvY2snXS5zdHJpcCgpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAoIHBhdGNoWydlbmQn
XSAtIHBhdGNoWydzdGFydD0KJ10gPTNEPTNEIDAgKSBhbmQgbm90IHNhZmVfcmVscGF0aCggdGFy
Z2V0ICkgKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNn
ID0zRCAiQ2hhbmdlcyBpbmNsdWRlIGEgc3ltPQpsaW5rIG91dHNpZGUgb2YgdGhlIHJlcG9zaXRv
cnk6ICVzIC0+ICVzIiAlICggZmlsZW5hbWUsIHRhcmdldCApCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxvZy53YXJuaW5nKCBtc2cgKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fX2Rpc3BsYXlfZXhj
ZXB0aW89Cm5fcmVtb3RlbHkoIHN0YXJ0X3Jlc3BvbnNlLCBtc2cgKQogICAgICAgICAgICAgICAg
ICAgICAgICAgIyBJbnN0YW50aWF0ZSBhIGRhdGFiYXNlIGNvbm5lY3Rpb24KICAgICAgICAgICAg
ICAgICAgICAgICAgIGVuZ2luZSA9M0Qgc3FsYWxjaGVteS5jcmVhdGVfZW5naW5lKCBzZWxmLmRi
X3VybCApCiAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uID0zRCBlbmdpbmUuY29u
bmVjdCgpCgpkaWZmIC1yIDIwZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQg
LXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1YjRlIGxpYi9nYWxheHkv
d29ya2Zsb3cvcmVuZGVyLnB5Ci0tLSBhL2xpYi9nYWxheHkvd29ya2Zsb3cvcmVuZGVyLnB5Cisr
KyBiL2xpYi9nYWxheHkvd29ya2Zsb3cvcmVuZGVyLnB5CkBAIC0zMCw4ICszMCw4IEBACiAgICAg
ICAgIGNhbnZhcy5hcHBlbmQoIHNlbGYuYm94ZXMgKQogICAgICAgICBjYW52YXMuYXBwZW5kKCBz
ZWxmLnRleHQgKQogICAgICAgICB3aWR0aCwgaGVpZ2h0ID0zRCAoIG1heF94ICsgbWF4X3dpZHRo
ICsgNTAgKSwgbWF4X3kgKyAzMDAKLSAgICAgICAgY2FudmFzWyAnd2lkdGgnIF0gPTNEICIlcyBw
eCIgJSB3aWR0aAotICAgICAgICBjYW52YXNbICdoZWlnaHQnIF0gPTNEICIlcyBweCIgJSBoZWln
aHQKKyAgICAgICAgY2FudmFzWyAnd2lkdGgnIF0gPTNEICIlc3B4IiAlIHdpZHRoCisgICAgICAg
IGNhbnZhc1sgJ2hlaWdodCcgXSA9M0QgIiVzcHgiICUgaGVpZ2h0CiAgICAgICAgIGNhbnZhc1sg
J3ZpZXdCb3gnIF0gPTNEICIwIDAgJXMgJXMiICUgKCB3aWR0aCwgaGVpZ2h0ICkKPTIwCiAgICAg
ZGVmIGFkZF9ib3hlcyggc2VsZiwgc3RlcF9kaWN0LCB3aWR0aCwgbmFtZV9maWxsICk6CkBAIC0x
MDcsNyArMTA3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGFkanVzdGVkWyAxIF0gLSBNQVJHSU4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbl9jb29yZHNbIDAgXSAtIDEwLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5fY29vcmRzWyAxIF0sCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvd19lbmQ9M0QidHJ1ZSIgKS5TVkco
KSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvd19l
bmQ9M0QiY29ubl8lcyIgJSAobGVuKD0Kc2VsZi5jb25uZWN0b3JzLmtleXMoKSkgKyAxKSApLlNW
RygpICkKPTIwCiAgICAgZGVmIGFkZF9zdGVwcyggc2VsZiwgaGlnaGxpZ2h0X2Vycm9ycz0zREZh
bHNlICk6CiAgICAgICAgICMgT25seSBoaWdobGlnaHQgbWlzc2luZyB0b29scyBpZiBkaXNwbGF5
aW5nIGluIHRoZSB0b29sIHNoZWQuCgpkaWZmIC1yIDIwZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2
ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1
YjRlIGxpYi9nYWxheHkvd29ya2Zsb3cvcnVuLnB5Ci0tLSBhL2xpYi9nYWxheHkvd29ya2Zsb3cv
cnVuLnB5CisrKyBiL2xpYi9nYWxheHkvd29ya2Zsb3cvcnVuLnB5CkBAIC0yODUsNyArMjg1LDEw
IEBACiAgICAgICAgICAgICAgICAgcmFpc2UgbW9kdWxlcy5EZWxheWVkV29ya2Zsb3dFdmFsdWF0
aW9uKCkKICAgICAgICAgcmV0dXJuIHJlcGxhY2VtZW50Cj0yMAotICAgIGRlZiBzZXRfb3V0cHV0
c19mb3JfaW5wdXQoIHNlbGYsIHN0ZXAsIG91dHB1dHM9M0R7fSApOgorICAgIGRlZiBzZXRfb3V0
cHV0c19mb3JfaW5wdXQoIHNlbGYsIHN0ZXAsIG91dHB1dHM9M0ROb25lICk6CisgICAgICAgIGlm
IG91dHB1dHMgaXMgTm9uZToKKyAgICAgICAgICAgIG91dHB1dHMgPTNEIHt9CisKICAgICAgICAg
aWYgc2VsZi5pbnB1dHNfYnlfc3RlcF9pZDoKICAgICAgICAgICAgIG91dHB1dHNbICdvdXRwdXQn
IF0gPTNEIHNlbGYuaW5wdXRzX2J5X3N0ZXBfaWRbIHN0ZXAuaWQgXQo9MjAKCmRpZmYgLXIgMjBk
NWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRl
OGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTViNGUgbGliL3Rvb2xfc2hlZC9jYXBzdWxlL2NhcHN1bGVf
bWFuYWdlci5weQotLS0gYS9saWIvdG9vbF9zaGVkL2NhcHN1bGUvY2Fwc3VsZV9tYW5hZ2VyLnB5
CisrKyBiL2xpYi90b29sX3NoZWQvY2Fwc3VsZS9jYXBzdWxlX21hbmFnZXIucHkKQEAgLTEyLDYg
KzEyLDcgQEAKIGZyb20gZ2FsYXh5Lm1vZGVsLm9ybSBpbXBvcnQgYW5kXwogZnJvbSBnYWxheHku
dXRpbCBpbXBvcnQgYXNib29sCiBmcm9tIGdhbGF4eS51dGlsIGltcG9ydCBDSFVOS19TSVpFCitm
cm9tIGdhbGF4eS51dGlsIGltcG9ydCBzYWZlX3JlbHBhdGgKIGZyb20gZ2FsYXh5LnV0aWwub2Rp
Y3QgaW1wb3J0IG9kaWN0Cj0yMAogZnJvbSB0b29sX3NoZWQuZGVwZW5kZW5jaWVzLnJlcG9zaXRv
cnkucmVsYXRpb25fYnVpbGRlciBpbXBvcnQgUmVsYXRpb25CdWk9CmxkZXIKQEAgLTcyNywyOSAr
NzI4LDE2IEBACiAgICAgICAgIHJlcG8gPTNEIGhnX3V0aWwuZ2V0X3JlcG9fZm9yX3JlcG9zaXRv
cnkoIHNlbGYuYXBwLCByZXBvc2l0b3J5PTNETj0Kb25lLCByZXBvX3BhdGg9M0RyZXBvX2Rpciwg
Y3JlYXRlPTNERmFsc2UgKQogICAgICAgICB1bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQgPTNEIDAK
ICAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgMAotICAgICAgICBvaywgZXJy
b3JfbWVzc2FnZSA9M0QgY29tbWl0X3V0aWwuY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgYXJj
aGk9CnZlICkKLSAgICAgICAgaWYgb2s6CisgICAgICAgIGNoZWNrX3Jlc3VsdHMgPTNEIGNvbW1p
dF91dGlsLmNoZWNrX2FyY2hpdmUoIHJlcG9zaXRvcnksIGFyY2hpdmUgKQorICAgICAgICAjIFdl
IGZpbHRlciBvdXQgdW5kZXNpcmFibGUgZmlsZXMgYnV0IGZhaWwgb24gdW5kZXNyaWFibGUgZGly
cy4gTm90CisgICAgICAgICMgc3VyZSB3aHksIGp1c3QgdHJ5aW5nIHRvIG1haW50YWluIHRoZSBz
YW1lIGJlaGF2aW9yIGFzIGJlZm9yZS4gLT0KbmF0ZQorICAgICAgICBpZiBub3QgY2hlY2tfcmVz
dWx0cy5pbnZhbGlkIGFuZCBub3QgY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9kaXI9CnM6CiAg
ICAgICAgICAgICBmdWxsX3BhdGggPTNEIG9zLnBhdGguYWJzcGF0aCggcmVwb19kaXIgKQotICAg
ICAgICAgICAgZmlsZW5hbWVzX2luX2FyY2hpdmUgPTNEIFtdCi0gICAgICAgICAgICBmb3IgdGFy
aW5mb19vYmogaW4gYXJjaGl2ZS5nZXRtZW1iZXJzKCk6Ci0gICAgICAgICAgICAgICAgIyBDaGVj
ayBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgaW4gdGhlIGFyY2hpdmUuCi0gICAgICAgICAgICAgICAg
b2sgPTNEIG9zLnBhdGguYmFzZW5hbWUoIHRhcmluZm9fb2JqLm5hbWUgKSBub3QgaW4gY29tbWl0
Xz0KdXRpbC5VTkRFU0lSQUJMRV9GSUxFUwotICAgICAgICAgICAgICAgIGlmIG9rOgotICAgICAg
ICAgICAgICAgICAgICBmb3IgZmlsZV9wYXRoX2l0ZW0gaW4gdGFyaW5mb19vYmoubmFtZS5zcGxp
dCggJy8nICk6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiBmaWxlX3BhdGhfaXRlbSBpbiBj
b21taXRfdXRpbC5VTkRFU0lSQUJMRV9ESVJTOgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCArPTNEIDEKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBlcnJvcl9tZXNzYWdlID0zRCAnSW1wb3J0IGZhaWxlZDogaW52YWxpZCBmaWxlPQogcGF0
aCA8Yj4lczwvYj4gaW4gYXJjaGl2ZSA8Yj4lczwvYj4nICUgXAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAoIHN0ciggZmlsZV9wYXRoX2l0ZW0gKSwgc3RyKCBhcmNoaXZlX2ZpbGU9
Cl9uYW1lICkgKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHNfZGljdFsgJ29r
JyBdID0zRCBGYWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdHNfZGljdFsg
J2Vycm9yX21lc3NhZ2UnIF0gKz0zRCBlcnJvcl9tZXM9CnNhZ2UKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0c19kaWN0Ci0gICAgICAgICAgICAgICAgICAgIGZpbGVu
YW1lc19pbl9hcmNoaXZlLmFwcGVuZCggdGFyaW5mb19vYmoubmFtZSApCi0gICAgICAgICAgICAg
ICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCAr
PTNEIDEKICAgICAgICAgICAgICMgRXh0cmFjdCB0aGUgdXBsb2FkZWQgYXJjaGl2ZSB0byB0aGUg
cmVwb3NpdG9yeSByb290LgotICAgICAgICAgICAgYXJjaGl2ZS5leHRyYWN0YWxsKCBwYXRoPTNE
ZnVsbF9wYXRoICkKKyAgICAgICAgICAgIGFyY2hpdmUuZXh0cmFjdGFsbCggcGF0aD0zRGZ1bGxf
cGF0aCwgbWVtYmVycz0zRGNoZWNrX3Jlc3VsdHMuPQp2YWxpZCApCiAgICAgICAgICAgICBhcmNo
aXZlLmNsb3NlKCkKLSAgICAgICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXNfaW5fYXJj
aGl2ZToKKyAgICAgICAgICAgIGZvciB0YXJfbWVtYmVyIGluIGNoZWNrX3Jlc3VsdHMudmFsaWQ6
CisgICAgICAgICAgICAgICAgZmlsZW5hbWUgPTNEIHRhcl9tZW1iZXIubmFtZQogICAgICAgICAg
ICAgICAgIHVwbG9hZGVkX2ZpbGVfbmFtZSA9M0Qgb3MucGF0aC5qb2luKCBmdWxsX3BhdGgsIGZp
bGVuYW1lICkKICAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLnNwbGl0KCB1cGxvYWRlZF9maWxl
X25hbWUgKVsgLTEgXSA9M0Q9M0QgcnRfdXRpPQpsLlJFUE9TSVRPUllfREVQRU5ERU5DWV9ERUZJ
TklUSU9OX0ZJTEVOQU1FOgogICAgICAgICAgICAgICAgICAgICAjIEluc3BlY3QgdGhlIGNvbnRl
bnRzIG9mIHRoZSBmaWxlIHRvIHNlZSBpZiB0b29sc2hlZCA9Cm9yIGNoYW5nZXNldF9yZXZpc2lv
biBhdHRyaWJ1dGVzCkBAIC03NzYsNiArNzY0LDkgQEAKICAgICAgICAgICAgIG5ld19yZXBvX2Fs
ZXJ0ID0zRCBUcnVlCiAgICAgICAgICAgICAjIFNpbmNlIHRoZSByZXBvc2l0b3J5IGlzIG5ldywg
dGhlIGZvbGxvd2luZyBtdXN0IGJlIEZhbHNlLgogICAgICAgICAgICAgcmVtb3ZlX3JlcG9fZmls
ZXNfbm90X2luX3RhciA9M0QgRmFsc2UKKyAgICAgICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZl
ID0zRCBbIG1lbWJlci5uYW1lIGZvciBtZW1iZXIgaW4gY2hlY2tfcmVzPQp1bHRzLnZhbGlkIF0K
KyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIGxlbiggY2hlY2tfcmVz
dWx0cy51bmRlc2lyYWJsZV9mPQppbGVzICkKKyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnNf
cmVtb3ZlZCA9M0QgMAogICAgICAgICAgICAgb2ssIGVycm9yX21lc3NhZ2UsIGZpbGVzX3RvX3Jl
bW92ZSwgY29udGVudF9hbGVydF9zdHIsIHVuZGVzaXI9CmFibGVfZGlyc19yZW1vdmVkLCB1bmRl
c2lyYWJsZV9maWxlc19yZW1vdmVkID0zRCBcCiAgICAgICAgICAgICAgICAgY29tbWl0X3V0aWwu
aGFuZGxlX2RpcmVjdG9yeV9jaGFuZ2VzKCBzZWxmLmFwcCwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaG9zdCwKQEAgLTgwNiw3ICs3
OTcsMTMgQEAKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGFyY2hpdmUuY2xvc2UoKQogICAg
ICAgICAgICAgcmVzdWx0c19kaWN0WyAnb2snIF0gPTNEIEZhbHNlCi0gICAgICAgICAgICByZXN1
bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgZXJyb3JfbWVzc2FnZQorICAgICAgICAg
ICAgcmVzdWx0c19kaWN0WyAnZXJyb3JfbWVzc2FnZScgXSArPTNEICdDYXBzdWxlIGVycm9ycyB3
ZXJlIGZvdW49CmQ6ICcKKyAgICAgICAgICAgIGlmIGNoZWNrX3Jlc3VsdHMuaW52YWxpZDoKKyAg
ICAgICAgICAgICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgJyVzIElu
dmFsaWQgZmlsZXMgd2VyPQplOiAlcy4nICUgKAorICAgICAgICAgICAgICAgICAgICAnICcuam9p
biggY2hlY2tfcmVzdWx0cy5lcnJvcnMgKSwgJywgJy5qb2luKCBjaGVja19yZXM9CnVsdHMuaW52
YWxpZCApICkKKyAgICAgICAgICAgIGlmIGNoZWNrX3Jlc3VsdHMudW5kZXNpcmFibGVfZGlyczoK
KyAgICAgICAgICAgICAgICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgJyBV
bmRlc2lyYWJsZSBkaXJlY3RvPQpyaWVzIHdlcmU6ICVzLicgJSAoCisgICAgICAgICAgICAgICAg
ICAgICcsICcuam9pbiggY2hlY2tfcmVzdWx0cy51bmRlc2lyYWJsZV9kaXJzICkgKQogICAgICAg
ICByZXR1cm4gcmVzdWx0c19kaWN0Cj0yMAogICAgIGRlZiB1cGxvYWRfY2Fwc3VsZSggc2VsZiwg
Kiprd2QgKToKQEAgLTg2Myw2ICs4NjAsMTIgQEAKICAgICAgICAgICAgICAgICByZXR1cm5fZGlj
dFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJwogICAgICAgICAgICAgICAgIHVwbG9hZGVkX2ZpbGUu
Y2xvc2UoKQogICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5fZGljdAorICAgICAgICAgICAg
aWYgbm90IHNlbGYudmFsaWRhdGVfYXJjaGl2ZV9wYXRocyggdGFyX2FyY2hpdmUgKToKKyAgICAg
ICAgICAgICAgICByZXR1cm5fZGljdFsgJ3N0YXR1cycgXSA9M0QgJ2Vycm9yJworICAgICAgICAg
ICAgICAgIHJldHVybl9kaWN0WyAnbWVzc2FnZScgXSA9M0QgKCAnVGhpcyBjYXBzdWxlIGNvbnRh
aW5zIGFuIGk9Cm52YWxpZCBtZW1iZXIgdHlwZSAnCisgICAgICAgICAgICAgICAgICAgICdvciBh
IGZpbGUgb3V0c2lkZSB0aGUgYXJjaGl2ZSBwYXRoLicgKQorICAgICAgICAgICAgICAgIHVwbG9h
ZGVkX2ZpbGUuY2xvc2UoKQorICAgICAgICAgICAgICAgIHJldHVybiByZXR1cm5fZGljdAogICAg
ICAgICAgICAgcmV0dXJuX2RpY3RbICd0YXJfYXJjaGl2ZScgXSA9M0QgdGFyX2FyY2hpdmUKICAg
ICAgICAgICAgIHJldHVybl9kaWN0WyAnY2Fwc3VsZV9maWxlX25hbWUnIF0gPTNEIHVwbG9hZGVk
X2ZpbGVfZmlsZW5hbWUKICAgICAgICAgICAgIHVwbG9hZGVkX2ZpbGUuY2xvc2UoKQpAQCAtODcy
LDYgKzg3NSwxOCBAQAogICAgICAgICAgICAgcmV0dXJuIHJldHVybl9kaWN0CiAgICAgICAgIHJl
dHVybiByZXR1cm5fZGljdAo9MjAKKyAgICBkZWYgdmFsaWRhdGVfYXJjaGl2ZV9wYXRocyggc2Vs
ZiwgdGFyX2FyY2hpdmUgKToKKyAgICAgICAgJycnCisgICAgICAgIEluc3BlY3QgdGhlIGFyY2hp
dmUgY29udGVudHMgdG8gZW5zdXJlIHRoYXQgdGhlcmUgYXJlIG5vIHJpc2t5IHN5bT0KbGlua3Mu
CisgICAgICAgIFJldHVybnMgVHJ1ZSBpZiBhIHN1c3BpY2lvdXMgcGF0aCBpcyBmb3VuZC4KKyAg
ICAgICAgJycnCisgICAgICAgIGZvciBtZW1iZXIgaW4gdGFyX2FyY2hpdmUuZ2V0bWVtYmVycygp
OgorICAgICAgICAgICAgaWYgbm90ICggbWVtYmVyLmlzZGlyKCkgb3IgbWVtYmVyLmlzZmlsZSgp
IG9yIG1lbWJlci5pc2xuaygpICk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAg
ICAgICAgICBlbGlmIG5vdCBzYWZlX3JlbHBhdGgoIG1lbWJlci5uYW1lICk6CisgICAgICAgICAg
ICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAgIHJldHVybiBUcnVlCisKICAgICBkZWYgdmFsaWRh
dGVfY2Fwc3VsZSggc2VsZiwgKiprd2QgKToKICAgICAgICAgIiIiCiAgICAgICAgIEluc3BlY3Qg
dGhlIHVwbG9hZGVkIGNhcHN1bGUncyBtYW5pZmVzdCBhbmQgaXRzIGNvbnRhaW5lZCBmaWxlcyB0
bz0KIGVuc3VyZSBpdCBpcyBhIHZhbGlkCgpkaWZmIC1yIDIwZDVhMjFhZGQ5YWI0NWQ5YzRjNWMy
NmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQwOTM9CmYzZmM0YzQzNzBm
NTE1YjRlIGxpYi90b29sX3NoZWQvZ2FsYXh5X2luc3RhbGwvdG9vbF9kZXBlbmRlbmNpZXMvcmVj
aXBlL3N0ZT0KcF9oYW5kbGVyLnB5Ci0tLSBhL2xpYi90b29sX3NoZWQvZ2FsYXh5X2luc3RhbGwv
dG9vbF9kZXBlbmRlbmNpZXMvcmVjaXBlL3N0ZXBfaGFuZGxlci5weQorKysgYi9saWIvdG9vbF9z
aGVkL2dhbGF4eV9pbnN0YWxsL3Rvb2xfZGVwZW5kZW5jaWVzL3JlY2lwZS9zdGVwX2hhbmRsZXIu
cHkKQEAgLTExMDUsNiArMTEwNSw3IEBACiAgICAgICAgICAgICAgICAgICAgICMgSWYgc2V0IHRv
IGEgdHJ1ZSB2YWx1ZSB0aGVuIE1ha2VNYWtlcidzIHByb21wdCBmdW5jdD0KaW9uIHdpbGwgYWx3
YXlzCiAgICAgICAgICAgICAgICAgICAgICMgcmV0dXJuIHRoZSBkZWZhdWx0IHdpdGhvdXQgd2Fp
dGluZyBmb3IgdXNlciBpbnB1dC4KICAgICAgICAgICAgICAgICAgICAgY21kID0zRCAnJydQRVJM
X01NX1VTRV9ERUZBVUxUPTNEMTsgZXhwb3J0IFBFUkxfTU1fVVNFPQpfREVGQVVMVDsgJycnCisg
ICAgICAgICAgICAgICAgICAgIGNtZCArPTNEICdIT01FPTNEJXM7IGV4cG9ydCBIT01FOyAnICUg
d29ya19kaXIKICAgICAgICAgICAgICAgICAgICAgY21kICs9M0QgJ2V4cG9ydCBQRVJMNUxJQj0z
RCRJTlNUQUxMX0RJUi9saWIvcGVybDU6JFBFPQpSTDVMSUI7JwogICAgICAgICAgICAgICAgICAg
ICBjbWQgKz0zRCAnZXhwb3J0IFBBVEg9M0QkSU5TVEFMTF9ESVIvYmluOiRQQVRIOycKICAgICAg
ICAgICAgICAgICAgICAgaWYgcGVybF9wYWNrYWdlLmZpbmQoICc6Ly8nICkgIT0zRCAtMToKCmRp
ZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdi
ZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTViNGUgbGliL3Rvb2xfc2hlZC90b29scy90
b29sX3ZlcnNpb25fbWFuYWdlci5weQotLS0gYS9saWIvdG9vbF9zaGVkL3Rvb2xzL3Rvb2xfdmVy
c2lvbl9tYW5hZ2VyLnB5CisrKyBiL2xpYi90b29sX3NoZWQvdG9vbHMvdG9vbF92ZXJzaW9uX21h
bmFnZXIucHkKQEAgLTEsNiArMSw4IEBACiBpbXBvcnQgbG9nZ2luZwo9MjAKLWZyb20gZ2FsYXh5
Lm1vZGVsLm9ybSBpbXBvcnQgYW5kXworZnJvbSBnYWxheHkgaW1wb3J0IGVnZ3MKK2VnZ3MucmVx
dWlyZSgnU1FMQWxjaGVteScpCitmcm9tIHNxbGFsY2hlbXkgaW1wb3J0IGFuZF8sIG9yXwo9MjAK
IGZyb20gdG9vbF9zaGVkLnV0aWwgaW1wb3J0IGhnX3V0aWwKIGZyb20gdG9vbF9zaGVkLnV0aWwg
aW1wb3J0IHNoZWRfdXRpbF9jb21tb24gYXMgc3VjCkBAIC0yMSw4ICsyMyw4IEBACj0yMAogICAg
IGRlZiBnZXRfdG9vbF92ZXJzaW9uX2Fzc29jaWF0aW9uKCBzZWxmLCBwYXJlbnRfdG9vbF92ZXJz
aW9uLCB0b29sX3ZlcnM9CmlvbiApOgogICAgICAgICAiIiIKLSAgICAgICAgUmV0dXJuIGEgVG9v
bFZlcnNpb25Bc3NvY2lhdGlvbiBpZiBvbmUgZXhpc3RzIHRoYXQgYXNzb2NpYXRlcyB0aGUgPQp0
d28gcmVjZWl2ZWQKLSAgICAgICAgdG9vbF92ZXJzaW9ucyAgVGhpcyBmdW5jdGlvbiBpcyBjYWxs
ZWQgb25seSBmcm9tIEdhbGF4eS4KKyAgICAgICAgUmV0dXJuIGEgVG9vbFZlcnNpb25Bc3NvY2lh
dGlvbiBpZiBvbmUgZXhpc3RzIHRoYXQgYXNzb2NpYXRlcyB0aGUgPQp0d28KKyAgICAgICAgcmVj
ZWl2ZWQgdG9vbF92ZXJzaW9ucy4gVGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgb25seSBmcm9tIEdh
bGF4eS4KICAgICAgICAgIiIiCiAgICAgICAgIGNvbnRleHQgPTNEIHNlbGYuYXBwLmluc3RhbGxf
bW9kZWwuY29udGV4dAogICAgICAgICByZXR1cm4gY29udGV4dC5xdWVyeSggc2VsZi5hcHAuaW5z
dGFsbF9tb2RlbC5Ub29sVmVyc2lvbkFzc29jaWF0aW89Cm4gKSBcCkBAIC05MCw2ICs5MiwxNiBA
QAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG9vbF9zaGVkX3JlcG89CnNpdG9yeT0zRHRvb2xfc2hlZF9yZXBvc2l0b3J5ICkKICAg
ICAgICAgICAgICAgICAgICAgY29udGV4dC5hZGQoIHRvb2xfdmVyc2lvbl91c2luZ19wYXJlbnRf
aWQgKQogICAgICAgICAgICAgICAgICAgICBjb250ZXh0LmZsdXNoKCkKKyAgICAgICAgICAgICAg
ICAjIFJlbW92ZSBleGlzdGluZyB3cm9uZyB0b29sIHZlcnNpb24gYXNzb2NpYXRpb25zIGhhdmlu
ZworICAgICAgICAgICAgICAgICMgdG9vbF92ZXJzaW9uX3VzaW5nX3BhcmVudF9pZCBhcyBwYXJl
bnQgb3IKKyAgICAgICAgICAgICAgICAjIHRvb2xfdmVyc2lvbl91c2luZ190b29sX2d1aWQgYXMg
Y2hpbGQuCisgICAgICAgICAgICAgICAgY29udGV4dC5xdWVyeSggc2VsZi5hcHAuaW5zdGFsbF9t
b2RlbC5Ub29sVmVyc2lvbkFzc29jaWF0aT0Kb24gKSBcCisgICAgICAgICAgICAgICAgICAgICAg
IC5maWx0ZXIoIG9yXyggYW5kXyggc2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5Ub29sVmVycz0KaW9u
QXNzb2NpYXRpb24udGFibGUuYy5wYXJlbnRfaWQgPTNEPTNEIHRvb2xfdmVyc2lvbl91c2luZ19w
YXJlbnRfaWQuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5hcHAuaW5zdGFsbF9tb2RlbC5Ub29sVmVycz0KaW9uQXNzb2NpYXRpb24udGFibGUuYy50
b29sX2lkICE9M0QgdG9vbF92ZXJzaW9uX3VzaW5nX3Rvb2xfZ3VpZC5pZCApLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZF8oIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwu
VG9vbFZlcnM9CmlvbkFzc29jaWF0aW9uLnRhYmxlLmMucGFyZW50X2lkICE9M0QgdG9vbF92ZXJz
aW9uX3VzaW5nX3BhcmVudF9pZC5pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xWZXJzPQppb25Bc3NvY2lhdGlv
bi50YWJsZS5jLnRvb2xfaWQgPTNEPTNEIHRvb2xfdmVyc2lvbl91c2luZ190b29sX2d1aWQuaWQg
KSApICk9CiBcCisgICAgICAgICAgICAgICAgICAgICAgIC5kZWxldGUoKQorICAgICAgICAgICAg
ICAgIGNvbnRleHQuZmx1c2goKQogICAgICAgICAgICAgICAgIHRvb2xfdmVyc2lvbl9hc3NvY2lh
dGlvbiA9M0QgXAogICAgICAgICAgICAgICAgICAgICBzZWxmLmdldF90b29sX3ZlcnNpb25fYXNz
b2NpYXRpb24oIHRvb2xfdmVyc2lvbl91c2luZ189CnBhcmVudF9pZCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b29sX3ZlcnNpb25fdXNp
bmdfPQp0b29sX2d1aWQgKQoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTll
NzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBs
aWIvdG9vbF9zaGVkL3V0aWwvY29tbWl0X3V0aWwucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC91dGls
L2NvbW1pdF91dGlsLnB5CisrKyBiL2xpYi90b29sX3NoZWQvdXRpbC9jb21taXRfdXRpbC5weQpA
QCAtNSw4ICs1LDEwIEBACiBpbXBvcnQgb3MKIGltcG9ydCBzaHV0aWwKIGltcG9ydCB0ZW1wZmls
ZQorZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQo9MjAKIGZyb20gZ2FsYXh5LmRh
dGF0eXBlcyBpbXBvcnQgY2hlY2tlcnMKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVs
cGF0aAo9MjAKIGltcG9ydCB0b29sX3NoZWQucmVwb3NpdG9yeV90eXBlcy51dGlsIGFzIHJ0X3V0
aWwKIGZyb20gdG9vbF9zaGVkLnRvb2xzIGltcG9ydCBkYXRhX3RhYmxlX21hbmFnZXIKQEAgLTIx
LDMwICsyMyw0NCBAQAo9MjAKPTIwCiBkZWYgY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgYXJj
aGl2ZSApOgorICAgIHZhbGlkID0zRCBbXQorICAgIGludmFsaWQgPTNEIFtdCisgICAgZXJyb3Jz
ID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2ZpbGVzID0zRCBbXQorICAgIHVuZGVzaXJhYmxlX2Rp
cnMgPTNEIFtdCiAgICAgZm9yIG1lbWJlciBpbiBhcmNoaXZlLmdldG1lbWJlcnMoKToKICAgICAg
ICAgIyBBbGxvdyByZWd1bGFyIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBvbmx5CiAgICAgICAgIGlm
IG5vdCAoIG1lbWJlci5pc2RpcigpIG9yIG1lbWJlci5pc2ZpbGUoKSBvciBtZW1iZXIuaXNsbmso
KSApOgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5
IGluY2x1ZGUgcmVndWxhciBkaXJlY3Q9Cm9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlu
a3MsIGRldmljZXMsIGV0YykuICAiCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgIlRoZSBwcm9i
bGVtYXRpYyBtZW1iZXIgaW4gdGhpcyBhcmNoaXZlIGlzICVzLCIgJT0KIHN0ciggbWVtYmVyLm5h
bWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAgICAgIGZvciBpdGVt
IGluIFsgJy5oZycsICcuLicsICcvJyBdOgotICAgICAgICAgICAgaWYgbWVtYmVyLm5hbWUuc3Rh
cnRzd2l0aCggaXRlbSApOgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBh
cmNoaXZlcyBjYW5ub3QgY29udGFpbiAuaGcgZGlyZWN0b3I9CmllcywgYWJzb2x1dGUgZmlsZW5h
bWVzIHN0YXJ0aW5nIHdpdGggJy8nLCBvciBmaWxlbmFtZXMgd2l0aCB0d28gZG90cyAnLi4nLj0K
ICAiCi0gICAgICAgICAgICAgICAgbWVzc2FnZSArPTNEICJUaGUgcHJvYmxlbWF0aWMgbWVtYmVy
IGluIHRoaXMgYXJjaGl2ZSBpcyAlcz0KLiIgJSBzdHIoIG1lbWJlci5uYW1lICkKLSAgICAgICAg
ICAgICAgICByZXR1cm4gRmFsc2UsIG1lc3NhZ2UKLSAgICAgICAgaWYgbWVtYmVyLm5hbWUgaW4g
WyAnaGdyYycgXToKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRlZCBhcmNoaXZlcyBj
YW5ub3QgY29udGFpbiBoZ3JjIGZpbGVzLiAgIgotICAgICAgICAgICAgbWVzc2FnZSArPTNEICJU
aGUgcHJvYmxlbWF0aWMgbWVtYmVyIGluIHRoaXMgYXJjaGl2ZSBpcyAlcy4iICU9CiBzdHIoIG1l
bWJlci5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAg
ICAgZXJyb3JzLmFwcGVuZCggIlVwbG9hZGVkIGFyY2hpdmVzIGNhbiBvbmx5IGluY2x1ZGUgcmVn
dWxhciBkaXI9CmVjdG9yaWVzIGFuZCBmaWxlcyAobm8gc3ltYm9saWMgbGlua3MsIGRldmljZXMs
IGV0YykuIiApCisgICAgICAgICAgICBpbnZhbGlkLmFwcGVuZCggbWVtYmVyICkKKyAgICAgICAg
ICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG5vdCBzYWZlX3JlbHBhdGgoIG1lbWJlci5uYW1lICk6
CisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAiVXBsb2FkZWQgYXJjaGl2ZXMgY2Fubm90IGNv
bnRhaW4gZmlsZXMgdGhhdCB3bz0KdWxkIGV4dHJhY3Qgb3V0c2lkZSBvZiB0aGUgYXJjaGl2ZS4i
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgaWYgb3MucGF0aC5iYXNlbmFtZSggbWVtYmVyLm5hbWUgKSBpbiBVTkRF
U0lSQUJMRV9GSUxFUzoKKyAgICAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzLmFwcGVuZCggbWVt
YmVyICkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGhlYWQgPTNEIHRhaWwgPTNEIG1l
bWJlci5uYW1lCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHdoaWxlIHRhaWw6CisgICAgICAg
ICAgICAgICAgaGVhZCwgdGFpbCA9M0Qgb3MucGF0aC5zcGxpdChoZWFkKQorICAgICAgICAgICAg
ICAgIGlmIHRhaWwgaW4gVU5ERVNJUkFCTEVfRElSUzoKKyAgICAgICAgICAgICAgICAgICAgdW5k
ZXNpcmFibGVfZGlycy5hcHBlbmQoIG1lbWJlciApCisgICAgICAgICAgICAgICAgICAgIGFzc2Vy
dCBGYWxzZQorICAgICAgICBleGNlcHQgQXNzZXJ0aW9uRXJyb3I6CisgICAgICAgICAgICBjb250
aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5LnR5cGUgPTNEPTNEIHJ0X3V0aWwuUkVQT1NJVE9S
WV9TVUlURV9ERUZJTklUSU9OIGFuZCA9Cm1lbWJlci5uYW1lICE9M0QgcnRfdXRpbC5SRVBPU0lU
T1JZX0RFUEVOREVOQ1lfREVGSU5JVElPTl9GSUxFTkFNRToKLSAgICAgICAgICAgIG1lc3NhZ2Ug
PTNEICdSZXBvc2l0b3JpZXMgb2YgdHlwZSA8Yj5SZXBvc2l0b3J5IHN1aXRlIGRlZmluaXRpPQpv
bjwvYj4gY2FuIGNvbnRhaW4gb25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnJlcG9zaXRvcnlf
ZGVwZW5kZW5jaWVzLnhtbDw9Ci9iPi4nCi0gICAgICAgICAgICBtZXNzYWdlICs9M0QgJ1RoaXMg
YXJjaGl2ZSBjb250YWlucyBhIG1lbWJlciBuYW1lZCAlcy4nICUgc3RyKD0KIG1lbWJlci5uYW1l
ICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZQorICAgICAgICAgICAgZXJyb3Jz
LmFwcGVuZCggJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlJlcG9zaXRvcnkgc3VpdGUgZGVmaW49
Cml0aW9uPC9iPiBjYW4gY29udGFpbiBvbmx5IGEgc2luZ2xlIGZpbGUgbmFtZWQgPGI+cmVwb3Np
dG9yeV9kZXBlbmRlbmNpZXMueD0KbWw8L2I+LicgKQorICAgICAgICAgICAgaW52YWxpZC5hcHBl
bmQoIG1lbWJlciApCisgICAgICAgICAgICBjb250aW51ZQogICAgICAgICBpZiByZXBvc2l0b3J5
LnR5cGUgPTNEPTNEIHJ0X3V0aWwuVE9PTF9ERVBFTkRFTkNZX0RFRklOSVRJT04gYW5kIG09CmVt
YmVyLm5hbWUgIT0zRCBydF91dGlsLlRPT0xfREVQRU5ERU5DWV9ERUZJTklUSU9OX0ZJTEVOQU1F
OgotICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlRvb2wg
ZGVwZW5kZW5jeSBkZWZpbml0aW89Cm48L2I+IGNhbiBjb250YWluIG9ubHkgYSBzaW5nbGUgZmls
ZSBuYW1lZCA8Yj50b29sX2RlcGVuZGVuY2llcy54bWw8L2I+LicKLSAgICAgICAgICAgIG1lc3Nh
Z2UgKz0zRCAnVGhpcyBhcmNoaXZlIGNvbnRhaW5zIGEgbWVtYmVyIG5hbWVkICVzLicgJSBzdHIo
PQogbWVtYmVyLm5hbWUgKQotICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAg
cmV0dXJuIFRydWUsICcnCisgICAgICAgICAgICBlcnJvcnMuYXBwZW5kKCAnUmVwb3NpdG9yaWVz
IG9mIHR5cGUgPGI+VG9vbCBkZXBlbmRlbmN5IGRlZmluaT0KdGlvbjwvYj4gY2FuIGNvbnRhaW4g
b25seSBhIHNpbmdsZSBmaWxlIG5hbWVkIDxiPnRvb2xfZGVwZW5kZW5jaWVzLnhtbDwvYj4uPQon
ICkKKyAgICAgICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29u
dGludWUKKyAgICAgICAgdmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgIEFyY2hpdmVDaGVja1Jl
c3VsdHMgPTNEIG5hbWVkdHVwbGUoICdBcmNoaXZlQ2hlY2tSZXN1bHRzJywgWyAndmFsaWQnLCA9
CidpbnZhbGlkJywgJ3VuZGVzaXJhYmxlX2ZpbGVzJywgJ3VuZGVzaXJhYmxlX2RpcnMnLCAnZXJy
b3JzJyBdICkKKyAgICByZXR1cm4gQXJjaGl2ZUNoZWNrUmVzdWx0cyggdmFsaWQsIGludmFsaWQs
IHVuZGVzaXJhYmxlX2ZpbGVzLCB1bmRlc2lyPQphYmxlX2RpcnMsIGVycm9ycyApCj0yMAo9MjAK
IGRlZiBjaGVja19maWxlX2NvbnRlbnRzX2Zvcl9lbWFpbF9hbGVydHMoIGFwcCApOgoKZGlmZiAt
ciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2
YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSBsaWIvdG9vbF9zaGVkL3V0aWwvcmVwb3Np
dG9yeV9jb250ZW50X3V0aWwucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC91dGlsL3JlcG9zaXRvcnlf
Y29udGVudF91dGlsLnB5CisrKyBiL2xpYi90b29sX3NoZWQvdXRpbC9yZXBvc2l0b3J5X2NvbnRl
bnRfdXRpbC5weQpAQCAtMTUsMzEgKzE1LDIzIEBACiAgICAgaGdfdXRpbC5nZXRfcmVwb19mb3Jf
cmVwb3NpdG9yeSggdHJhbnMuYXBwLCByZXBvc2l0b3J5PTNETm9uZSwgcmVwb19wYT0KdGg9M0Ry
ZXBvX2RpciwgY3JlYXRlPTNERmFsc2UgKQogICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCA9
M0QgMAogICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIDAKLSAgICBvaywgbWVzc2Fn
ZSA9M0QgY29tbWl0X3V0aWwuY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgdGFyICkKLSAgICBp
ZiBub3Qgb2s6CisgICAgY2hlY2tfcmVzdWx0cyA9M0QgY29tbWl0X3V0aWwuY2hlY2tfYXJjaGl2
ZSggcmVwb3NpdG9yeSwgdGFyICkKKyAgICBpZiBjaGVja19yZXN1bHRzLmludmFsaWQ6CiAgICAg
ICAgIHRhci5jbG9zZSgpCiAgICAgICAgIHVwbG9hZGVkX2ZpbGUuY2xvc2UoKQotICAgICAgICBy
ZXR1cm4gb2ssIG1lc3NhZ2UsIFtdLCAnJywgdW5kZXNpcmFibGVfZGlyc19yZW1vdmVkLCB1bmRl
c2lyYWJsZV89CmZpbGVzX3JlbW92ZWQKKyAgICAgICAgbWVzc2FnZSA9M0QgJyVzIEludmFsaWQg
cGF0aHMgd2VyZTogJXMnICUgKAorICAgICAgICAgICAgJyAnLmpvaW4oIGNoZWNrX3Jlc3VsdHMu
ZXJyb3JzICksICcsICcuam9pbiggY2hlY2tfcmVzdWx0cy5pbnY9CmFsaWQgKSApCisgICAgICAg
IHJldHVybiBGYWxzZSwgbWVzc2FnZSwgW10sICcnLCB1bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQs
IHVuZGVzaXJhYj0KbGVfZmlsZXNfcmVtb3ZlZAogICAgIGVsc2U6CiAgICAgICAgIGlmIHVwbG9h
ZF9wb2ludCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5h
YnNwYXRoKCBvcy5wYXRoLmpvaW4oIHJlcG9fZGlyLCB1cGxvYWRfPQpwb2ludCApICkKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5hYnNwYXRoKCByZXBv
X2RpciApCi0gICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlID0zRCBbXQotICAgICAgICBmb3Ig
dGFyaW5mb19vYmogaW4gdGFyLmdldG1lbWJlcnMoKToKLSAgICAgICAgICAgIG9rID0zRCBvcy5w
YXRoLmJhc2VuYW1lKCB0YXJpbmZvX29iai5uYW1lICkgbm90IGluIGNvbW1pdF91dGlsPQouVU5E
RVNJUkFCTEVfRklMRVMKLSAgICAgICAgICAgIGlmIG9rOgotICAgICAgICAgICAgICAgIGZvciBm
aWxlX3BhdGhfaXRlbSBpbiB0YXJpbmZvX29iai5uYW1lLnNwbGl0KCAnLycgKToKLSAgICAgICAg
ICAgICAgICAgICAgaWYgZmlsZV9wYXRoX2l0ZW0gaW4gY29tbWl0X3V0aWwuVU5ERVNJUkFCTEVf
RElSUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVtb3ZlZCAr
PTNEIDEKLSAgICAgICAgICAgICAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAgICAgICAgICAg
ICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgdW5k
ZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCArPTNEIDEKLSAgICAgICAgICAgIGlmIG9rOgotICAgICAg
ICAgICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlLmFwcGVuZCggdGFyaW5mb19vYmoubmFtZSAp
CisgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIGxlbiggY2hlY2tfcmVzdWx0
cy51bmRlc2lyYWJsZV9maWxlcz0KICkKKyAgICAgICAgdW5kZXNpcmFibGVfZGlyc19yZW1vdmVk
ID0zRCBsZW4oIGNoZWNrX3Jlc3VsdHMudW5kZXNpcmFibGVfZGlycyApCisgICAgICAgIGZpbGVu
YW1lc19pbl9hcmNoaXZlID0zRCBbIHRpLm5hbWUgZm9yIHRpIGluIGNoZWNrX3Jlc3VsdHMudmFs
aWQgXQogICAgICAgICAjIEV4dHJhY3QgdGhlIHVwbG9hZGVkIHRhciB0byB0aGUgbG9hZF9wb2lu
dCB3aXRoaW4gdGhlIHJlcG9zaXRvcnk9CiBoaWVyYXJjaHkuCi0gICAgICAgIHRhci5leHRyYWN0
YWxsKCBwYXRoPTNEZnVsbF9wYXRoICkKKyAgICAgICAgdGFyLmV4dHJhY3RhbGwoIHBhdGg9M0Rm
dWxsX3BhdGgsIG1lbWJlcnM9M0RjaGVja19yZXN1bHRzLnZhbGlkICkKICAgICAgICAgdGFyLmNs
b3NlKCkKICAgICAgICAgdXBsb2FkZWRfZmlsZS5jbG9zZSgpCiAgICAgICAgIGZvciBmaWxlbmFt
ZSBpbiBmaWxlbmFtZXNfaW5fYXJjaGl2ZToKCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1
YzI2ZDY4Njk5ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3
MGY1MTViNGUgbGliL3Rvb2xfc2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKLS0tIGEvbGli
L3Rvb2xfc2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKKysrIGIvbGliL3Rvb2xfc2hlZC91
dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKQEAgLTUzNSw5ICs1MzUsMTcgQEAKICAgICByZXR1cm4g
cmVwb3NpdG9yeQo9MjAKPTIwCi1kZWYgZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggZmls
ZV9wYXRoICk6CitkZWYgZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cyggYXBwLCBmaWxlX3Bh
dGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAiIiJSZXR1cm4gdGhlIGRpc3BsYXktc2FmZSBjb250
ZW50cyBvZiBhIHJlcG9zaXRvcnkgZmlsZSBmb3IgZGlzcGxheSBpPQpuIGEgYnJvd3Nlci4iIiIK
LSAgICBpZiBjaGVja2Vycy5pc19nemlwKCBmaWxlX3BhdGggKToKKyAgICBzYWZlX3N0ciA9M0Qg
JycKKyAgICBpZiBub3QgaXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBmaWxlX3BhdGgsIHJlcG9z
aXRvcnlfaWQgKToKKyAgICAgICAgbG9nLndhcm5pbmcoICdSZXF1ZXN0IHRyaWVzIHRvIGFjY2Vz
cyBhIGZpbGUgb3V0c2lkZSBvZiB0aGUgcmVwb3NpPQp0b3J5IGxvY2F0aW9uLiBGaWxlIHBhdGg6
ICVzJywgZmlsZV9wYXRoICkKKyAgICAgICAgcmV0dXJuICdJbnZhbGlkIGZpbGUgcGF0aCcKKyAg
ICAjIFN5bWxpbmsgdGFyZ2V0cyBhcmUgY2hlY2tlZCBieSBpc19wYXRoX3dpdGhpbl9yZXBvCisg
ICAgaWYgb3MucGF0aC5pc2xpbmsoIGZpbGVfcGF0aCApOgorICAgICAgICBzYWZlX3N0ciA9M0Qg
J2xpbmsgdG86ICcgKyBiYXNpY191dGlsLnRvX2h0bWxfc3RyaW5nKCBvcy5yZWFkbGluayg9CiBm
aWxlX3BhdGggKSApCisgICAgICAgIHJldHVybiBzYWZlX3N0cgorICAgIGVsaWYgY2hlY2tlcnMu
aXNfZ3ppcCggZmlsZV9wYXRoICk6CiAgICAgICAgIHJldHVybiAnPGJyLz5nemlwIGNvbXByZXNz
ZWQgZmlsZTxici8+JwogICAgIGVsaWYgY2hlY2tlcnMuaXNfYnoyKCBmaWxlX3BhdGggKToKICAg
ICAgICAgcmV0dXJuICc8YnIvPmJ6MiBjb21wcmVzc2VkIGZpbGU8YnIvPicKQEAgLTU0Niw3ICs1
NTQsNiBAQAogICAgIGVsaWYgY2hlY2tlcnMuY2hlY2tfYmluYXJ5KCBmaWxlX3BhdGggKToKICAg
ICAgICAgcmV0dXJuICc8YnIvPkJpbmFyeSBmaWxlPGJyLz4nCiAgICAgZWxzZToKLSAgICAgICAg
c2FmZV9zdHIgPTNEICcnCiAgICAgICAgIGZvciBpLCBsaW5lIGluIGVudW1lcmF0ZSggb3Blbigg
ZmlsZV9wYXRoICkgKToKICAgICAgICAgICAgIHNhZmVfc3RyID0zRCAnJXMlcycgJSAoIHNhZmVf
c3RyLCBiYXNpY191dGlsLnRvX2h0bWxfc3RyaW5nKCBsPQppbmUgKSApCiAgICAgICAgICAgICAj
IFN0b3AgcmVhZGluZyBhZnRlciBzdHJpbmcgaXMgbGFyZ2VyIHRoYW4gTUFYX0NPTlRFTlRfU0la
RS4KQEAgLTU1Niw2ICs1NjMsNyBAQAogICAgICAgICAgICAgICAgICAgICB1dGlsLm5pY2Vfc2l6
ZSggTUFYX0NPTlRFTlRfU0laRSApCiAgICAgICAgICAgICAgICAgc2FmZV9zdHIgPTNEICclcyVz
JyAlICggc2FmZV9zdHIsIGxhcmdlX3N0ciApCiAgICAgICAgICAgICAgICAgYnJlYWsKKwogICAg
ICAgICBpZiBsZW4oIHNhZmVfc3RyICkgPiBiYXNpY191dGlsLk1BWF9ESVNQTEFZX1NJWkU6CiAg
ICAgICAgICAgICAjIEVsaW1pbmF0ZSB0aGUgbWlkZGxlIG9mIHRoZSBmaWxlIHRvIGRpc3BsYXkg
YSBmaWxlIG5vIGxhcmdlcj0KIHRoYW4gYmFzaWNfdXRpbC5NQVhfRElTUExBWV9TSVpFLgogICAg
ICAgICAgICAgIyBUaGlzIG1heSBub3QgYmUgaWRlYWwgaWYgdGhlIGZpbGUgaXMgbGFyZ2VyIHRo
YW4gTUFYX0NPTlRFTlQ9Cl9TSVpFLgpAQCAtNTc3LDkgKzU4NSw2IEBACiAgICAgICAgICMgU2tp
cCAuaGcgZGlyZWN0b3JpZXMKICAgICAgICAgaWYgaXRlbS5zdGFydHN3aXRoKCAnLmhnJyApOgog
ICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgaWYgb3MucGF0aC5pc2Rpciggb3MucGF0aC5q
b2luKCBmb2xkZXJfcGF0aCwgaXRlbSApICk6Ci0gICAgICAgICAgICAjIEFwcGVuZCBhICcvJyBj
aGFyYWN0ZXIgc28gdGhhdCBvdXIganF1ZXJ5IGR5bmF0cmVlIHdpbGwgZnVuYz0KdGlvbiBwcm9w
ZXJseS4KLSAgICAgICAgICAgIGl0ZW0gPTNEICclcy8nICUgaXRlbQogICAgICAgICBjb250ZW50
cy5hcHBlbmQoIGl0ZW0gKQogICAgIGlmIGNvbnRlbnRzOgogICAgICAgICBjb250ZW50cy5zb3J0
KCkKQEAgLTEwNTQsMTEgKzEwNTksMTUgQEAKICAgICByZXR1cm4gaGFzYXR0ciggYXBwLCAiaW5z
dGFsbF9tb2RlbCIgKQo9MjAKPTIwCi1kZWYgb3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlcigg
Zm9sZGVyX3BhdGggKToKK2RlZiBvcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCBhcHAsIGZv
bGRlcl9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAgICAgIiIiCiAgICAgUmV0dXJuIGEgbGlzdCBv
ZiBkaWN0aW9uYXJpZXMsIGVhY2ggb2Ygd2hpY2ggY29udGFpbnMgaW5mb3JtYXRpb24gZm9yID0K
YSBmaWxlIG9yIGRpcmVjdG9yeSBjb250YWluZWQKICAgICB3aXRoaW4gYSBkaXJlY3RvcnkgaW4g
YSByZXBvc2l0b3J5IGZpbGUgaGllcmFyY2h5LgogICAgICIiIgorICAgICMgU3ltbGluayB0YXJn
ZXRzIGFyZSBjaGVja2VkIGJ5IGlzX3BhdGhfd2l0aGluX3JlcG8KKyAgICBpZiBub3QgaXNfcGF0
aF93aXRoaW5fcmVwbyggYXBwLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgorICAgICAg
ICBsb2cud2FybmluZyggJ1JlcXVlc3QgdHJpZXMgdG8gYWNjZXNzIGEgZm9sZGVyIG91dHNpZGUg
b2YgdGhlIHJlcG89CnNpdG9yeSBsb2NhdGlvbi4gRm9sZGVyIHBhdGg6ICVzJywgZm9sZGVyX3Bh
dGggKQorICAgICAgICByZXR1cm4gW10KICAgICB0cnk6CiAgICAgICAgIGZpbGVzX2xpc3QgPTNE
IGdldF9yZXBvc2l0b3J5X2ZpbGVzKCBmb2xkZXJfcGF0aCApCiAgICAgZXhjZXB0IE9TRXJyb3Is
IGU6CkBAIC0xMDY4LDEwICsxMDc3LDE3IEBACiAgICAgZm9sZGVyX2NvbnRlbnRzID0zRCBbXQog
ICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlc19saXN0OgogICAgICAgICBpc19mb2xkZXIgPTNEIEZh
bHNlCi0gICAgICAgIGlmIGZpbGVuYW1lIGFuZCBmaWxlbmFtZVsgLTEgXSA9M0Q9M0Qgb3Muc2Vw
OgotICAgICAgICAgICAgaXNfZm9sZGVyID0zRCBUcnVlCisgICAgICAgIGZ1bGxfcGF0aCA9M0Qg
b3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUgKQorICAgICAgICBpc19saW5rID0z
RCBvcy5wYXRoLmlzbGluayggZnVsbF9wYXRoICkKKyAgICAgICAgcGF0aF9pc193aXRoaW5fcmVw
byA9M0QgaXNfcGF0aF93aXRoaW5fcmVwbyggYXBwLCBmdWxsX3BhdGgsIHJlcG9zPQppdG9yeV9p
ZCApCisgICAgICAgIGlmIGlzX2xpbmsgYW5kIG5vdCBwYXRoX2lzX3dpdGhpbl9yZXBvOgorICAg
ICAgICAgICAgbG9nLndhcm5pbmcoICdWYWxpZCBmb2xkZXIgY29udGFpbnMgYSBzeW1saW5rIG91
dHNpZGUgb2YgdGhlIHI9CmVwb3NpdG9yeSBsb2NhdGlvbi4gTGluayBmb3VuZCBpbjogJyArIHN0
ciggZnVsbF9wYXRoICkgKQogICAgICAgICBpZiBmaWxlbmFtZToKLSAgICAgICAgICAgIGZ1bGxf
cGF0aCA9M0Qgb3MucGF0aC5qb2luKCBmb2xkZXJfcGF0aCwgZmlsZW5hbWUgKQorICAgICAgICAg
ICAgaWYgb3MucGF0aC5pc2RpciggZnVsbF9wYXRoICkgYW5kIHBhdGhfaXNfd2l0aGluX3JlcG86
CisgICAgICAgICAgICAgICAgIyBBcHBlbmQgYSAnLycgY2hhcmFjdGVyIHNvIHRoYXQgb3VyIGpx
dWVyeSBkeW5hdHJlZSB3aWxsID0KZnVuY3Rpb24gcHJvcGVybHkuCisgICAgICAgICAgICAgICAg
ZmlsZW5hbWUgPTNEICclcy8nICUgZmlsZW5hbWUKKyAgICAgICAgICAgICAgICBmdWxsX3BhdGgg
PTNEICclcy8nICUgZnVsbF9wYXRoCisgICAgICAgICAgICAgICAgaXNfZm9sZGVyID0zRCBUcnVl
CiAgICAgICAgICAgICBub2RlID0zRCB7ICJ0aXRsZSI6IGZpbGVuYW1lLAogICAgICAgICAgICAg
ICAgICAgICAgImlzRm9sZGVyIjogaXNfZm9sZGVyLAogICAgICAgICAgICAgICAgICAgICAgImlz
TGF6eSI6IGlzX2ZvbGRlciwKQEAgLTEwODEsNiArMTA5NywxNiBAQAogICAgIHJldHVybiBmb2xk
ZXJfY29udGVudHMKPTIwCj0yMAorZGVmIGlzX3BhdGhfd2l0aGluX3JlcG8oIGFwcCwgcGF0aCwg
cmVwb3NpdG9yeV9pZCApOgorICAgICIiIgorICAgIERldGVjdCB3aGV0aGVyIHRoZSBnaXZlbiBw
YXRoIGlzIHdpdGhpbiB0aGUgcmVwb3NpdG9yeSBmb2xkZSByb24gdGhlIGQ9Cmlzay4KKyAgICBV
c2UgdG8gZmlsdGVyIG1hbGljaW91cyBzeW1saW5rcyB0YXJnZXRpbmcgb3V0c2lkZSBwYXRocy4K
KyAgICAiIiIKKyAgICByZXBvX3BhdGggPTNEIG9zLnBhdGguYWJzcGF0aCggZ2V0X3JlcG9zaXRv
cnlfYnlfaWQoIGFwcCwgcmVwb3NpdG9yeV9pPQpkICkucmVwb19wYXRoKCBhcHAgKSApCisgICAg
cmVzb2x2ZWRfcGF0aCA9M0Qgb3MucGF0aC5yZWFscGF0aCggcGF0aCApCisgICAgcmV0dXJuIG9z
LnBhdGguY29tbW9ucHJlZml4KCBbIHJlcG9fcGF0aCwgcmVzb2x2ZWRfcGF0aCBdICkgPTNEPTNE
IHJlcD0Kb19wYXRoCisKKwogZGVmIHJlcG9zaXRvcnlfd2FzX3ByZXZpb3VzbHlfaW5zdGFsbGVk
KCBhcHAsIHRvb2xfc2hlZF91cmwsIHJlcG9zaXRvcnlfbmE9Cm1lLCByZXBvX2luZm9fdHVwbGUs
IGZyb21fdGlwPTNERmFsc2UgKToKICAgICAiIiIKICAgICBGaW5kIG91dCBpZiBhIHJlcG9zaXRv
cnkgaXMgYWxyZWFkeSBpbnN0YWxsZWQgaW50byBHYWxheHkgLSB0aGVyZSBhcmUgPQpzZXZlcmFs
IHNjZW5hcmlvcyB3aGVyZSB0aGlzCgpkaWZmIC1yIDIwZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2
ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1
YjRlIHNjcmlwdHMvY2xlYW51cF9kYXRhc2V0cy9jbGVhbnVwX2RhdGFzZXRzLnB5Ci0tLSBhL3Nj
cmlwdHMvY2xlYW51cF9kYXRhc2V0cy9jbGVhbnVwX2RhdGFzZXRzLnB5CisrKyBiL3NjcmlwdHMv
Y2xlYW51cF9kYXRhc2V0cy9jbGVhbnVwX2RhdGFzZXRzLnB5CkBAIC00NjUsNyArNDY1LDcgQEAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgaGRhLmhpc3RvcnkudXNlciBpcyBu
b3QgTm9uZSBhbmQgaGRhLmhpPQpzdG9yeS51c2VyIG5vdCBpbiB1c2FnZV91c2VyczoKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWdlX3VzZXJzLmFwcGVuZCggaGRhLmhp
c3RvcnkudXNlciApCiAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdXNlciBpbiB1c2FnZV91
c2VyczoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnRvdGFsX2Rpc2tfdXNhZ2Ug
LT0zRCBkYXRhc2V0LnRvdGFsX3NpemUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2Vy
LnRvdGFsX2Rpc2tfdXNhZ2UgLT0zRCBkYXRhc2V0LmdldF90b3RhbF9zPQppemUoKQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFwcC5zYV9zZXNzaW9uLmFkZCggdXNlciApCiAgICAgICAg
ICAgICAgICAgICAgIHByaW50ICJQdXJnaW5nIGRhdGFzZXQgaWQiLCBkYXRhc2V0LmlkCiAgICAg
ICAgICAgICAgICAgICAgIGRhdGFzZXQucHVyZ2VkID0zRCBUcnVlCgpkaWZmIC1yIDIwZDVhMjFh
ZGQ5YWI0NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0ZThhNjQw
OTM9CmYzZmM0YzQzNzBmNTE1YjRlIHRlbXBsYXRlcy9hZG1pbi9yZXF1ZXN0cy9zZWxlY3RfZGF0
YXNldHNfdG9fdHJhbnNmZXIubWFrbwotLS0gYS90ZW1wbGF0ZXMvYWRtaW4vcmVxdWVzdHMvc2Vs
ZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyLm1ha28KKysrIC9kZXYvbnVsbApAQCAtMSwxNDkgKzAs
MCBAQAotPCVpbmhlcml0IGZpbGU9M0QiL2Jhc2UubWFrbyIvPgotPCVuYW1lc3BhY2UgZmlsZT0z
RCIvbWVzc2FnZS5tYWtvIiBpbXBvcnQ9M0QicmVuZGVyX21zZyIgLz4KLTwlbmFtZXNwYWNlIGZp
bGU9M0QiL3JlcXVlc3RzL2NvbW1vbi9jb21tb24ubWFrbyIgaW1wb3J0PTNEInJlbmRlcl9zYW1w
bGVfPQpkYXRhc2V0cyIgLz4KLTwlbmFtZXNwYWNlIGZpbGU9M0QiL3JlcXVlc3RzL2NvbW1vbi9j
b21tb24ubWFrbyIgaW1wb3J0PTNEImNvbW1vbl9qYXZhc2NyPQppcHRzIiAvPgotCi08JWRlZiBu
YW1lPTNEImphdmFzY3JpcHRzKCkiPgotICAgJHtwYXJlbnQuamF2YXNjcmlwdHMoKX0KLSAgICR7
Y29tbW9uX2phdmFzY3JpcHRzKCl9Ci08LyVkZWY+Ci0KLSR7aC5qcyggImxpYnMvanF1ZXJ5L2px
dWVyeS11aSIsICJsaWJzL2pxdWVyeS9qcXVlcnkuY29va2llIiwgImxpYnMvanF1ZXJ5PQovanF1
ZXJ5LmR5bmF0cmVlIiApfQotJHtoLmNzcyggImR5bmF0cmVlX3NraW4vdWkuZHluYXRyZWUiICl9
Ci0KLTxzY3JpcHQgdHlwZT0zRCJ0ZXh0L2phdmFzY3JpcHQiPgotICAgICQoZnVuY3Rpb24oKXsK
LSAgICAgICAgJCgiI3RyZWUiKS5hamF4Q29tcGxldGUoZnVuY3Rpb24oZXZlbnQsIFhNTEh0dHBS
ZXF1ZXN0LCBhamF4T3B0aW9uPQpzKSB7Ci0gICAgICAgICAgICBfbG9nKCJkZWJ1ZyIsICJhamF4
Q29tcGxldGU6ICVvIiwgdGhpcyk7IC8vIGRvbSBlbGVtZW50IGxpc3Rlbj0KaW5nCi0gICAgICAg
IH0pOwotICAgICAgICAvLyAtLS0gSW5pdGlhbGl6ZSBzYW1wbGUgdHJlZXMKLSAgICAgICAgJCgi
I3RyZWUiKS5keW5hdHJlZSh7Ci0gICAgICAgICAgICB0aXRsZTogIiR7c2NwX2NvbmZpZ3NbJ2Rh
dGFfbG9jYXRpb24nXX0iLAotICAgICAgICAgICAgcm9vdFZpc2libGU6IHRydWUsCi0gICAgICAg
ICAgICBtaW5FeHBhbmRMZXZlbDogMCwgLy8gMTogcm9vdCBub2RlIGlzIG5vdCBjb2xsYXBzaWJs
ZQotICAgICAgICAgICAgcGVyc2lzdDogZmFsc2UsCi0gICAgICAgICAgICBjaGVja2JveDogdHJ1
ZSwKLSAgICAgICAgICAgIHNlbGVjdE1vZGU6IDMsCi0gICAgICAgICAgICBvblBvc3RJbml0OiBm
dW5jdGlvbihpc1JlbG9hZGluZywgaXNFcnJvcikgewotICAgICAgICAgICAgICAgIC8vYWxlcnQo
InJlbG9hZGluZzogIitpc1JlbG9hZGluZysiLCBlcnJvcjoiK2lzRXJyb3IpOwotICAgICAgICAg
ICAgICAgIGxvZ01zZygib25Qb3N0SW5pdCglbywgJW8pIC0gJW8iLCBpc1JlbG9hZGluZywgaXNF
cnJvciwgdGg9CmlzKTsKLSAgICAgICAgICAgICAgICAvLyBSZS1maXJlIG9uQWN0aXZhdGUsIHNv
IHRoZSB0ZXh0IGlzIHVwZGF0ZWQKLSAgICAgICAgICAgICAgICB0aGlzLnJlYWN0aXZhdGUoKTsK
LSAgICAgICAgICAgIH0sPTIwCi0gICAgICAgICAgICBmeDogeyBoZWlnaHQ6ICJ0b2dnbGUiLCBk
dXJhdGlvbjogMjAwIH0sCi0gICAgICAgICAgICAvLyBpbml0QWpheCBpcyBoYXJkIHRvIGZha2Us
IHNvIHdlIHBhc3MgdGhlIGNoaWxkcmVuIGFzIG9iamVjdD0KIGFycmF5OgotICAgICAgICAgICAg
aW5pdEFqYXg6IHt1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdyZXF1ZXN0c19hZG1p
bicsIGE9CmN0aW9uPTNEJ29wZW5fZm9sZGVyJyApfSIsCi0gICAgICAgICAgICAgICAgICAgICAg
IGRhdGFUeXBlOiAianNvbiIsPTIwCi0gICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgcmVx
dWVzdF9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZT0KcXVlc3QuaWQgKX0iLCBl
eHRlcm5hbF9zZXJ2aWNlX2lkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIGV4dGVybmFs
X3NlPQpydmljZS5pZCApfSIsIGtleTogIiR7c2NwX2NvbmZpZ3NbJ2RhdGFfbG9jYXRpb24nXX0i
IH0sCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgb25MYXp5UmVhZDogZnVuY3Rpb24oZHRu
b2RlKXsKLSAgICAgICAgICAgICAgICBkdG5vZGUuYXBwZW5kQWpheCh7Ci0gICAgICAgICAgICAg
ICAgICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywg
YWN0aT0Kb249M0Qnb3Blbl9mb2xkZXInICl9Iiw9MjAKLSAgICAgICAgICAgICAgICAgICAgZGF0
YVR5cGU6ICJqc29uIiwKLSAgICAgICAgICAgICAgICAgICAgZGF0YTogeyByZXF1ZXN0X2lkOiAi
JHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcXVlPQpzdC5pZCApfSIsIGV4dGVybmFsX3Nl
cnZpY2VfaWQ6ICIke3RyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggZXh0ZXJuYWxfc2Vydmk9CmNl
LmlkICl9Iiwga2V5OiBkdG5vZGUuZGF0YS5rZXkgfSwKLSAgICAgICAgICAgICAgICB9KTsKLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICBvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0LCBkdG5v
ZGUpIHsKLSAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IGxpc3Qgb2Ygc2VsZWN0ZWQgbm9kZXMK
LSAgICAgICAgICAgICAgICB2YXIgc2VsTm9kZXMgPTNEIGR0bm9kZS50cmVlLmdldFNlbGVjdGVk
Tm9kZXMoKTsKLSAgICAgICAgICAgICAgICAvLyBjb252ZXJ0IHRvIHRpdGxlL2tleSBhcnJheQot
ICAgICAgICAgICAgICAgIHZhciBzZWxLZXlzID0zRCAkLm1hcChzZWxOb2RlcywgZnVuY3Rpb24o
bm9kZSl7Ci0gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlLmRhdGEua2V5OwotICAgICAg
ICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIGRvY3VtZW50LnNlbGVjdF9kYXRhc2V0c190
b190cmFuc2Zlci5zZWxlY3RlZF9kYXRhc2V0c190b189CnRyYW5zZmVyLnZhbHVlID0zRCBzZWxL
ZXlzLmpvaW4oIiwiKQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIG9uQWN0aXZhdGU6IGZ1
bmN0aW9uKGR0bm9kZSkgewotICAgICAgICAgICAgICAgIHZhciBjZWxsID0zRCAkKCIjZmlsZV9k
ZXRhaWxzIik7Ci0gICAgICAgICAgICAgICAgdmFyIHNlbGVjdGVkX3ZhbHVlOwotICAgICAgICAg
ICAgICAgIGlmIChkdG5vZGUuZGF0YS5rZXkgPTNEPTNEICdyb290JykgewotICAgICAgICAgICAg
ICAgICAgICBzZWxlY3RlZF92YWx1ZSA9M0QgIiR7c2NwX2NvbmZpZ3NbJ2RhdGFfbG9jYXRpb24n
XX0vIjsKLSAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBzZWxl
Y3RlZF92YWx1ZSA9M0QgZHRub2RlLmRhdGEua2V5OwotICAgICAgICAgICAgICAgIH07Ci0gICAg
ICAgICAgICAgICAgaWYgKHNlbGVjdGVkX3ZhbHVlLmNoYXJBdChzZWxlY3RlZF92YWx1ZS5sZW5n
dGgtMSkgIT0zRCAnLz0KJykgewotICAgICAgICAgICAgICAgICAgICAvLyBNYWtlIGFqYXggY2Fs
bAotICAgICAgICAgICAgICAgICAgICAkLmFqYXgoIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHR5cGU6ICJQT1NUIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIHVybDogIiR7aC51cmxfZm9y
KCBjb250cm9sbGVyPTNEJ3JlcXVlc3RzX2FkbWluJywgPQphY3Rpb249M0QnZ2V0X2ZpbGVfZGV0
YWlscycgKX0iLAotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgcmVxdWVzdF9pZDogIiR7dHJhbnMuc2VjdXJp
dHkuZW5jb2RlX2lkKHJlPQpxdWVzdC5pZCl9IiwgZXh0ZXJuYWxfc2VydmljZV9pZDogIiR7dHJh
bnMuc2VjdXJpdHkuZW5jb2RlX2lkKGV4dGVybmFsX3NlcnY9CmljZS5pZCl9IiwgZm9sZGVyX3Bh
dGg6IHNlbGVjdGVkX3ZhbHVlIH0sCi0gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzIDog
ZnVuY3Rpb24gKCBkYXRhICkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGwuaHRt
bCggJzxsYWJlbD4nK2RhdGErJzwvbGFiZWw+JyApCi0gICAgICAgICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGNlbGwuaHRtbCggJycgKTsKLSAgICAgICAgICAgICAgICB9OwotICAg
ICAgICAgICAgfSwKLSAgICAgICAgfSk7Ci0gICAgfSk7Ci08L3NjcmlwdD4KLQotPCUKLSAgICBp
c19hZG1pbiA9M0QgY250cmxsZXIgPTNEPTNEICdyZXF1ZXN0c19hZG1pbicgYW5kIHRyYW5zLnVz
ZXJfaXNfYWRtaW4oKQotICAgIGNhbl90cmFuc2Zlcl9kYXRhc2V0cyA9M0QgaXNfYWRtaW4gYW5k
IHNhbXBsZS51bnRyYW5zZmVycmVkX2RhdGFzZXRfZmk9CmxlcyBhbmQgc2FtcGxlLmxpYnJhcnkg
YW5kIHNhbXBsZS5mb2xkZXIKLSU+Ci0KLTxici8+PGJyLz4KLTx1bCBjbGFzcz0zRCJtYW5hZ2Ut
dGFibGUtYWN0aW9ucyI+Ci0gICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9
M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QnZXh0ZT0Kcm5hbF9zZXJ2aWNlJywgYWN0aW9u
PTNEJ3ZpZXdfZXh0ZXJuYWxfc2VydmljZScsIGlkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlPQpf
aWQoIGV4dGVybmFsX3NlcnZpY2UuaWQgKSApfSI+RXh0ZXJuYWwgc2VydmljZSBjb25maWd1cmF0
aW9uPC9hPjwvbGk+Ci0gICAgJWlmIGNhbl90cmFuc2Zlcl9kYXRhc2V0czoKLSAgICAgICAgPGxp
PjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVybF9mb3IoIGNvbnRyb2xs
ZXI9M0QnPQpyZXF1ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdtYW5hZ2VfZGF0YXNldHMnLCBjbnRy
bGxlcj0zRGNudHJsbGVyLCBzYW1wbGVfaWQ9Cj0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCgg
c2FtcGxlLmlkICkgKX0iPlRyYW5zZmVyIGRhdGFzZXRzPC9hPjwvbGk+Ci0gICAgJWVuZGlmCi0g
ICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZWY9M0QiJHtoLnVybF9mb3IoIGNv
bnRyb2xsZXI9M0QncmVxdT0KZXN0c19jb21tb24nLCBhY3Rpb249M0Qndmlld19yZXF1ZXN0Jywg
Y250cmxsZXI9M0RjbnRybGxlciwgaWQ9M0R0cmFucy5zZWN1PQpyaXR5LmVuY29kZV9pZCggcmVx
dWVzdC5pZCApICl9Ij5Ccm93c2UgdGhpcyByZXF1ZXN0PC9hPjwvbGk+Ci08L3VsPgotCi0laWYg
bm90IHNhbXBsZToKLSAgICA8YnIvPgotICAgIDxmb250IGNvbG9yPTNEInJlZCI+PGI+PGk+U2Vs
ZWN0IGEgc2FtcGxlIGJlZm9yZSBzZWxlY3RpbmcgZGF0YXNldHMgdG89CiB0cmFuc2ZlcjwvaT48
L2I+PC9mb250PgotICAgIDxici8+Ci0lZW5kaWYKLQotJWlmIHJlcXVlc3Quc2FtcGxlc193aXRo
b3V0X2xpYnJhcnlfZGVzdGluYXRpb25zOgotICAgIDxwPgotICAgIDxmb250IGNvbG9yPTNEInJl
ZCI+PGI+PGk+U2VsZWN0IGEgdGFyZ2V0IGRhdGEgbGlicmFyeSBhbmQgZm9sZGVyIGZvciA9CmEg
c2FtcGxlIGJlZm9yZSBzZWxlY3RpbmcgaXRzIGRhdGFzZXRzIHRvIHRyYW5zZmVyIGZyb20gdGhl
IGV4dGVybmFsIHNlcnZpYz0KZTwvaT48L2I+PC9mb250PgotICAgIDwvcD4KLSVlbmRpZgotCi0l
aWYgbWVzc2FnZToKLSAgICAke3JlbmRlcl9tc2coIG1lc3NhZ2UsIHN0YXR1cyApfQotJWVuZGlm
Ci0KLTxkaXYgY2xhc3M9M0QidG9vbEZvcm0iPgotICAgIDxkaXYgY2xhc3M9M0QidG9vbEZvcm1U
aXRsZSI+U2VsZWN0IGRhdGFzZXRzIHRvIHRyYW5zZmVyIGZyb20gZGF0YSBkaXI9CmVjdG9yeSBj
b25maWd1cmVkIGZvciB0aGUgZXh0ZXJuYWwgc2VydmljZTwvZGl2PgotICAgIDxmb3JtIG5hbWU9
M0Qic2VsZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyIiBpZD0zRCJzZWxlY3RfZGF0YXNldHNfdG9f
dHI9CmFuc2ZlciIgYWN0aW9uPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlc3Rz
X2FkbWluJywgYWN0aW9uPTNEJ3NlbD0KZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyJywgY250cmxs
ZXI9M0RjbnRybGxlciwgZXh0ZXJuYWxfc2VydmljZV9pZD0zRHRyYW5zPQouc2VjdXJpdHkuZW5j
b2RlX2lkKCBleHRlcm5hbF9zZXJ2aWNlLmlkICksIHJlcXVlc3RfaWQ9M0R0cmFucy5zZWN1cml0
eS5lbmM9Cm9kZV9pZCggcmVxdWVzdC5pZCApKX0iIG1ldGhvZD0zRCJwb3N0IiA+Ci0gICAgICAg
IDxkaXYgY2xhc3M9M0QiZm9ybS1yb3ciPgotICAgICAgICAgICAgPGxhYmVsPlNhbXBsZTo8L2xh
YmVsPgotICAgICAgICAgICAgJHtzYW1wbGVfaWRfc2VsZWN0X2ZpZWxkLmdldF9odG1sKCl9Ci0g
ICAgICAgICAgICA8ZGl2IGNsYXNzPTNEInRvb2xQYXJhbUhlbHAiIHN0eWxlPTNEImNsZWFyOiBi
b3RoOyI+Ci0gICAgICAgICAgICAgICAgU2VsZWN0IHRoZSBzYW1wbGUgdGhhdCB3YXMgc2VxdWVu
Y2VkIHRvIHByb2R1Y2UgdGhlIGRhdGFzZT0KdHMgeW91IHdhbnQgdG8gdHJhbnNmZXIuCi0gICAg
ICAgICAgICA8L2Rpdj4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9M0QiZm9y
bS1yb3ciID4KLSAgICAgICAgICAgIDxsYWJlbD5TZWxlY3QgZGF0YXNldHMgZnJvbSBzb3VyY2Ug
ZGF0YSBsb2NhdGlvbiBkZWZpbmVkIGluIHRoPQplIGV4dGVybmFsIHNlcnZpY2UgY29uZmlndXJh
dGlvbjo8L2xhYmVsPgotICAgICAgICAgICAgPGRpdiBpZD0zRCJ0cmVlIiA+Ci0gICAgICAgICAg
ICAgICAgTG9hZGluZy4uLgotICAgICAgICAgICAgPC9kaXY+Ci0gICAgICAgICAgICA8aW5wdXQg
aWQ9M0Qic2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXIiIG5hbWU9M0Qic2VsZWN0ZWRfZD0K
YXRhc2V0c190b190cmFuc2ZlciIgdHlwZT0zRCJoaWRkZW4iIHNpemU9M0Q0MCIvPgotICAgICAg
ICAgICAgPGRpdiBjbGFzcz0zRCJ0b29sUGFyYW1IZWxwIiBzdHlsZT0zRCJjbGVhcjogYm90aDsi
PgotICAgICAgICAgICAgICAgIDx1bD4KLSAgICAgICAgICAgICAgICAgICAgPGxpPkNsaWNrIHRo
ZSA8Yj5leHRlcm5hbCBzZXJ2aWNlIGNvbmZpZ3VyYXRpb248L2I+IGJ1PQp0dG9uIGFuZCBjaGFu
Z2UgdGhlIDxiPkRhdGEgZGlyZWN0b3J5PC9iPiBzZXR0aW5nIHRvIHJlZGVmaW5lIHRoZSBzb3Vy
Y2UgZGE9CnRhIGxvY2F0aW9uLjwvbGk+Ci0gICAgICAgICAgICAgICAgICAgIDxsaT5TZWxlY3Qg
YSBmb2xkZXIgdG8gc2VsZWN0IGFsbCBvZiB0aGUgaW5kaXZpZHVhbCBmaT0KbGVzIHdpdGhpbiB0
aGF0IGZvbGRlci48L2xpPgotICAgICAgICAgICAgICAgICAgICA8bGk+Q2xpY2sgdGhlIDxiPlNl
bGVjdCBkYXRhc2V0czwvYj4gYnV0dG9uIHdoZW4gZGVzaXI9CmVkIGRhdGFzZXQgY2hlY2sgYm94
ZXMgYXJlIGNoZWNrZWQuPC9saT4KLSAgICAgICAgICAgICAgICA8L3VsPgotICAgICAgICAgICAg
PC9kaXY+ICAgICAgICAgICA9MjAKLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9
M0QiZm9ybS1yb3ciPgotICAgICAgICAgICAgPGRpdiBpZD0zRCJmaWxlX2RldGFpbHMiIGNsYXNz
PTNEInRvb2xQYXJhbUhlbHAiIHN0eWxlPTNEImNsZWE9CnI6IGJvdGg7YmFja2dyb3VuZC1jb2xv
cjojRkFGQUZBOyI+PC9kaXY+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPTNE
ImZvcm0tcm93Ij4KLSAgICAgICAgICAgIDxpbnB1dCB0eXBlPTNEInN1Ym1pdCIgbmFtZT0zRCJz
ZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0PQp0b24iIHZhbHVlPTNEIlNlbGVjdCBkYXRh
c2V0cyIvPgotICAgICAgICA8L2Rpdj4KLSAgICA8L2Zvcm0+Ci08L2Rpdj4KLQotJWlmIHNhbXBs
ZSBhbmQgc2FtcGxlLmRhdGFzZXRzOgotICAgIDwlIHRpdGxlID0zRCAnQWxsIHNlbGVjdGVkIGRh
dGFzZXRzIGZvciAiJXMiJyAlIHNhbXBsZS5uYW1lICU+Ci0gICAgPHAvPgotICAgICR7cmVuZGVy
X3NhbXBsZV9kYXRhc2V0cyggJ3JlcXVlc3RzX2FkbWluJywgc2FtcGxlLCBzYW1wbGUuZGF0YXNl
dHMsIHQ9Cml0bGUgKX0KLSVlbmRpZgoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZk
Njg2OTllNzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUx
NWI0ZSB0ZW1wbGF0ZXMvYWRtaW4vdG9vbF9zaGVkX3JlcG9zaXRvcnkvY29tbW9uLm1ha28KLS0t
IGEvdGVtcGxhdGVzL2FkbWluL3Rvb2xfc2hlZF9yZXBvc2l0b3J5L2NvbW1vbi5tYWtvCisrKyBi
L3RlbXBsYXRlcy9hZG1pbi90b29sX3NoZWRfcmVwb3NpdG9yeS9jb21tb24ubWFrbwpAQCAtMjMs
MTQgKzIzLDE2IEBACiAgICAgICAgICAgICAgICAgZng6IHsgaGVpZ2h0OiAidG9nZ2xlIiwgZHVy
YXRpb246IDIwMCB9LAogICAgICAgICAgICAgICAgIC8vIGluaXRBamF4IGlzIGhhcmQgdG8gZmFr
ZSwgc28gd2UgcGFzcyB0aGUgY2hpbGRyZW4gYXMgb2I9CmplY3QgYXJyYXk6CiAgICAgICAgICAg
ICAgICAgaW5pdEFqYXg6IHt1cmw6ICIke2gudXJsX2ZvciggY29udHJvbGxlcj0zRCdhZG1pbl90
b29sc2hlZD0KJywgYWN0aW9uPTNEJ29wZW5fZm9sZGVyJyApfSIsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLD0yMAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZGF0YTogeyBmb2xkZXJfcGF0aDogIiR7ZGlyZWN0b3J5X3BhdGh8aH0iIH0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogIiR7ZGlyZWN0b3J5X3BhdGh8aH0iLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3J5X2lkOiAiJHt0cmFucy5z
ZWN1cml0eS5lbmNvZGU9Cl9pZCggcmVwb3NpdG9yeS5pZCApfSIgfSwKICAgICAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgICAgIG9uTGF6eVJlYWQ6IGZ1bmN0aW9uKGR0bm9kZSl7CiAgICAg
ICAgICAgICAgICAgICAgIGR0bm9kZS5hcHBlbmRBamF4KHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ2FkbWluX3Rvb2xzaGVkJywgPQph
Y3Rpb249M0Qnb3Blbl9mb2xkZXInICl9Iiw9MjAKKyAgICAgICAgICAgICAgICAgICAgICAgIHVy
bDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ2FkbWluX3Rvb2xzaGVkJywgPQphY3Rpb249
M0Qnb3Blbl9mb2xkZXInICl9IiwKICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAi
anNvbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiBkdG5v
ZGUuZGF0YS5rZXkgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3Bh
dGg6IGR0bm9kZS5kYXRhLmtleSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVw
b3NpdG9yeV9pZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkPQooIHJlcG9zaXRvcnkuaWQg
KX0iIH0sCiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgIH0sCiAgICAg
ICAgICAgICAgICAgb25TZWxlY3Q6IGZ1bmN0aW9uKHNlbGVjdCwgZHRub2RlKSB7CkBAIC01NSw3
ICs1Nyw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogIlBPU1QiLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNE
J2FkbWluX3Rvb2xzaGU9CmQnLCBhY3Rpb249M0QnZ2V0X2ZpbGVfY29udGVudHMnICl9IiwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGRhdGE6IHsgZmlsZV9wYXRoOiBzZWxlY3RlZF92YWx1ZSB9LAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZmlsZV9wYXRoOiBzZWxlY3RlZF92YWx1
ZSwgcmVwb3NpdG9yeV89CmlkOiAiJHt0cmFucy5zZWN1cml0eS5lbmNvZGVfaWQoIHJlcG9zaXRv
cnkuaWQgKX0iIH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2VzcyA6IGZ1bmN0
aW9uKCBkYXRhICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLmh0bWwo
ICc8bGFiZWw+JytkYXRhKyc8L2xhYmVsPicgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0KCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4Njk5ZTc3MTMxMDBkZCAtciA2
YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTViNGUgdGVtcGxhdGVzL3dlYmFw
cHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi9jb21tb24ubWFrbwotLS0gYS90ZW1wbGF0ZXMvd2Vi
YXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL2NvbW1vbi5tYWtvCisrKyBiL3RlbXBsYXRlcy93
ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vY29tbW9uLm1ha28KQEAgLTMzMyw3ICszMzMs
NiBAQAogICAgICAgIGNhbl9hZGRfc2FtcGxlcyA9M0QgaXNfdW5zdWJtaXR0ZWQKICAgICBjYW5f
ZGVsZXRlX3NhbXBsZXMgPTNEIG5vdCBhZGRpbmdfbmV3X3NhbXBsZXMgYW5kIHJlcXVlc3Quc2Ft
cGxlcyBhbmQgPQooICggaXNfYWRtaW4gYW5kIG5vdCBpc19jb21wbGV0ZSApIG9yIGlzX3Vuc3Vi
bWl0dGVkICkKICAgICBjYW5fZWRpdF9zYW1wbGVzID0zRCByZXF1ZXN0LnNhbXBsZXMgYW5kICgg
aXNfYWRtaW4gb3Igbm90IGlzX2NvbXBsZXRlPQogKQotICAgIGNhbl9zZWxlY3RfZGF0YXNldHMg
PTNEIGlzX2FkbWluIGFuZCBkaXNwbGF5YWJsZV9zYW1wbGVfd2lkZ2V0cyBhbmQgKCA9CmlzX3N1
Ym1pdHRlZCBvciBpc19jb21wbGV0ZSApCiAgICAgY2FuX3RyYW5zZmVyX2RhdGFzZXRzID0zRCBp
c19hZG1pbiBhbmQgcmVxdWVzdC5zYW1wbGVzIGFuZCBub3QgcmVxdWVzdD0KLmlzX3JlamVjdGVk
CiAgICAgZGlzcGxheV9jaGVja2JveGVzID0zRCBub3QgYWRkaW5nX25ld19zYW1wbGVzIGFuZCAo
IGlzX2NvbXBsZXRlIG9yIGlzXz0KcmVqZWN0ZWQgb3IgaXNfc3VibWl0dGVkICkKICAgICBkaXNw
bGF5X2Jhcl9jb2RlID0zRCByZXF1ZXN0LnNhbXBsZXMgYW5kICggaXNfY29tcGxldGUgb3IgaXNf
cmVqZWN0ZWQgPQpvciBpc19zdWJtaXR0ZWQgKQpAQCAtNDA3LDcgKzQwNiw3IEBACiAgICAgICAg
ICAgICAgICAgJWVsaWYgc2FtcGxlOgogICAgICAgICAgICAgICAgICAgICA8dHI+PHRkPgotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICVpZiBzYW1wbGUuc3RhdGUgYW5kICggY2FuX3NlbGVj
dF9kYXRhc2V0cyBvciA9CmNhbl90cmFuc2Zlcl9kYXRhc2V0cyApOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICVpZiBzYW1wbGUuc3RhdGUgYW5kIGNhbl90cmFuc2Zlcl9kYXRhc2V0czoK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgQSBzYW1wbGUgd2lsbCBoYXZlIGEg
c3RhdGUgb25seSBhZnRlciB0PQpoZSByZXF1ZXN0IGhhcyBiZWVuIHN1Ym1pdHRlZC4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgPCUKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVuY29kZWRfaWQgPTNEIHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pPQpkKCBzYW1w
bGUuaWQgKQpAQCAtNDE5LDE0ICs0MTgsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPGEgY2xhc3M9M0Qidmlldy1pbmZvIiBocmVmPTNEIiR7aC51cmw9Cl9mb3IoIGNv
bnRyb2xsZXI9M0QncmVxdWVzdHNfY29tbW9uJywgYWN0aW9uPTNEJ3ZpZXdfc2FtcGxlJywgY250
cmxsZXI9M0Rjbj0KdHJsbGVyLCBpZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxl
LmlkICkgKX0iPiR7c2FtcGxlLm5hbWUgfCBofTwvPQphPjwvZGl2PjxkaXYgcG9wdXBtZW51PTNE
InNhbXBsZS0ke3NhbXBsZS5pZH0tcG9wdXAiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJWlmIGNhbl9zZWxlY3RfZGF0YXNldHM6Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJWZvciBleHRlcm5hbF9zZXJ2aWNlIGluIHNhbXBsZS5yZT0KcXVl
c3QudHlwZS5nZXRfZXh0ZXJuYWxfc2VydmljZXNfZm9yX21hbnVhbF9kYXRhX3RyYW5zZmVyKCB0
cmFucyApOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8JQot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVudV9pdGVt
X2xhYmVsID0zRCAiU2VsZWM9CnQgZGF0YXNldHMgdG8gdHJhbnNmZXIgdXNpbmcgJXMiICUgZXh0
ZXJuYWxfc2VydmljZS5uYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICU+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxs
aT48YSBjbGFzcz0zRCJhY3Rpb24tYnV0dG9uIj0KIGhyZWY9M0QiJHtoLnVybF9mb3IoIGNvbnRy
b2xsZXI9M0QncmVxdWVzdHNfYWRtaW4nLCBhY3Rpb249M0Qnc2VsZWN0X2RhdGFzPQpldHNfdG9f
dHJhbnNmZXInLCBleHRlcm5hbF9zZXJ2aWNlX2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lk
KCBleHRlcm5hbF89CnNlcnZpY2UuaWQgKSwgcmVxdWVzdF9pZD0zRHRyYW5zLnNlY3VyaXR5LmVu
Y29kZV9pZCggcmVxdWVzdC5pZCApLCBzYW1wbGVfaT0KZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29k
ZV9pZCggc2FtcGxlLmlkICkgKX0iPiR7bWVudV9pdGVtX2xhYmVsfTwvYT48L2xpPgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVlbmRmb3IKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICVlbmRpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJWlmIHNhbXBsZS5kYXRhc2V0cyBhbmQgbGVuKCBzYW1wbGUuZGE9CnRhc2V0cyAp
ID4gbGVuKCB0cmFuc2ZlcnJlZF9kYXRhc2V0X2ZpbGVzICkgYW5kIHNhbXBsZS5saWJyYXJ5IGFu
ZCBzYW1wbGUuZj0Kb2xkZXI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPGxpPjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGhyZT0KZj0zRCIke2gudXJsX2Zvcigg
Y29udHJvbGxlcj0zRCdyZXF1ZXN0c19hZG1pbicsIGFjdGlvbj0zRCdtYW5hZ2VfZGF0YXNldHMn
PQosIHNhbXBsZV9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxlLmlkICkgKX0i
Pk1hbmFnZSBzZWxlY3RlZCBkYXQ9CmFzZXRzPC9hPjwvbGk+CiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAlZWxpZiBzYW1wbGUuZGF0YXNldHMgYW5kIGxlbiggc2FtcGxlLj0K
ZGF0YXNldHMgKSA9M0Q9M0QgbGVuKCB0cmFuc2ZlcnJlZF9kYXRhc2V0X2ZpbGVzICk6CkBAIC02
NjUsNyArNjU2LDYgQEAKICAgICAgICAgICAgIGlzX2FkbWluID0zRCBjbnRybGxlciA9M0Q9M0Qg
J3JlcXVlc3RzX2FkbWluJyBhbmQgdHJhbnMudXNlcl9pPQpzX2FkbWluKCkKICAgICAgICAgICAg
IGlzX2NvbXBsZXRlID0zRCBzYW1wbGUucmVxdWVzdC5pc19jb21wbGV0ZQogICAgICAgICAgICAg
aXNfc3VibWl0dGVkID0zRCBzYW1wbGUucmVxdWVzdC5pc19zdWJtaXR0ZWQKLSAgICAgICAgICAg
IGNhbl9zZWxlY3RfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCAoIGlzX2NvbXBsZXRlIG9yIGlz
X3N1Ym1pPQp0dGVkICkKICAgICAgICAgICAgIGNhbl90cmFuc2Zlcl9kYXRhc2V0cyA9M0QgaXNf
YWRtaW4gYW5kIHNhbXBsZS51bnRyYW5zZmVycmVkX2RhPQp0YXNldF9maWxlcwogICAgICAgICAl
PgogICAgICAgICAjIyBUaGUgdHJhbnNmZXIgc3RhdHVzIHNob3VsZCB1cGRhdGUgb25seSB3aGVu
IHRoZSByZXF1ZXN0IGhhcyBiZWU9Cm4gc3VibWl0dGVkIG9yIGNvbXBsZXRlCgpkaWZmIC1yIDIw
ZDVhMjFhZGQ5YWI0NWQ5YzRjNWMyNmQ2ODY5OWU3NzEzMTAwZGQgLXIgNmMyZmQ3YmRkYzZjMWM0
ZThhNjQwOTM9CmYzZmM0YzQzNzBmNTE1YjRlIHRlbXBsYXRlcy93ZWJhcHBzL2dhbGF4eS9yZXF1
ZXN0cy9jb21tb24vdmlld19yZXF1ZXN0X2hpcz0KdG9yeS5tYWtvCi0tLSBhL3RlbXBsYXRlcy93
ZWJhcHBzL2dhbGF4eS9yZXF1ZXN0cy9jb21tb24vdmlld19yZXF1ZXN0X2hpc3RvcnkubWFrbwor
KysgYi90ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL3ZpZXdfcmVxdWVz
dF9oaXN0b3J5Lm1ha28KQEAgLTExLDcgKzExLDYgQEAKICAgICBjYW5fYWRkX3NhbXBsZXMgPTNE
IGlzX3Vuc3VibWl0dGVkCiAgICAgY2FuX2VkaXRfcmVxdWVzdCA9M0QgKCBpc19hZG1pbiBhbmQg
bm90IGlzX2NvbXBsZXRlICkgb3IgaXNfdW5zdWJtaXR0ZWQKICAgICBjYW5fcmVqZWN0ID0zRCBp
c19hZG1pbiBhbmQgaXNfc3VibWl0dGVkCi0gICAgY2FuX3NlbGVjdF9kYXRhc2V0cyA9M0QgaXNf
YWRtaW4gYW5kICggaXNfY29tcGxldGUgb3IgaXNfc3VibWl0dGVkICkKICAgICBjYW5fc3VibWl0
X3JlcXVlc3QgPTNEIHJlcXVlc3Quc2FtcGxlcyBhbmQgaXNfdW5zdWJtaXR0ZWQKICU+Cj0yMAoK
ZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTllNzcxMzEwMGRkIC1yIDZjMmZk
N2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSB0ZW1wbGF0ZXMvd2ViYXBwcy9n
YWxheHkvcmVxdWVzdHMvY29tbW9uL3ZpZXdfc2FtcGxlX2RhdGE9CnNldHMubWFrbwotLS0gYS90
ZW1wbGF0ZXMvd2ViYXBwcy9nYWxheHkvcmVxdWVzdHMvY29tbW9uL3ZpZXdfc2FtcGxlX2RhdGFz
ZXRzLm1ha28KKysrIGIvdGVtcGxhdGVzL3dlYmFwcHMvZ2FsYXh5L3JlcXVlc3RzL2NvbW1vbi92
aWV3X3NhbXBsZV9kYXRhc2V0cy5tYWtvCkBAIC0xMiw3ICsxMiw2IEBACiAgICAgaXNfYWRtaW4g
PTNEIGNudHJsbGVyID0zRD0zRCAncmVxdWVzdHNfYWRtaW4nIGFuZCB0cmFucy51c2VyX2lzX2Fk
bWluKCkKICAgICBpc19jb21wbGV0ZSA9M0Qgc2FtcGxlLnJlcXVlc3QuaXNfY29tcGxldGUKICAg
ICBpc19zdWJtaXR0ZWQgPTNEIHNhbXBsZS5yZXF1ZXN0LmlzX3N1Ym1pdHRlZAotICAgIGNhbl9z
ZWxlY3RfZGF0YXNldHMgPTNEIGlzX2FkbWluIGFuZCAoIGlzX2NvbXBsZXRlIG9yIGlzX3N1Ym1p
dHRlZCApCiAgICAgY2FuX3RyYW5zZmVyX2RhdGFzZXRzID0zRCBpc19hZG1pbiBhbmQgc2FtcGxl
LnVudHJhbnNmZXJyZWRfZGF0YXNldF9maT0KbGVzIGFuZCBzYW1wbGUubGlicmFyeSBhbmQgc2Ft
cGxlLmZvbGRlcgogJT4KPTIwCkBAIC0yNCw5ICsyMyw2IEBACiAgICAgJWVuZGlmCiAgICAgPGxp
PjxhIGNsYXNzPTNEImFjdGlvbi1idXR0b24iIGlkPTNEInNhbXBsZS0ke3NhbXBsZS5pZH0tcG9w
dXAiIGNsYXNzPQo9M0QibWVudWJ1dHRvbiI+RGF0YXNldCBBY3Rpb25zPC9hPjwvbGk+PGRpdiBw
b3B1cG1lbnU9M0Qic2FtcGxlLSR7c2FtcGxlLmk9CmR9LXBvcHVwIj4KLSAgICAgICAgJWlmIGNh
bl9zZWxlY3RfZGF0YXNldHM6Ci0gICAgICAgICAgICA8bGk+PGEgY2xhc3M9M0QiYWN0aW9uLWJ1
dHRvbiIgaHJlZj0zRCIke2gudXJsX2ZvciggY29udHJvbGxlcj0KPTNEJ3JlcXVlc3RzX2FkbWlu
JywgYWN0aW9uPTNEJ3NlbGVjdF9kYXRhc2V0c190b190cmFuc2ZlcicsIGNudHJsbGVyPTNEY250
PQpybGxlciwgZXh0ZXJuYWxfc2VydmljZV9pZD0zRHRyYW5zLnNlY3VyaXR5LmVuY29kZV9pZCgg
ZXh0ZXJuYWxfc2VydmljZS5pZCA9CiksIHJlcXVlc3RfaWQ9M0R0cmFucy5zZWN1cml0eS5lbmNv
ZGVfaWQoIHNhbXBsZS5yZXF1ZXN0LmlkICksIHNhbXBsZV9pZD0zRD0KdHJhbnMuc2VjdXJpdHku
ZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSApfSI+U2VsZWN0IG1vcmUgZGF0YXNldHM8L2E+PC9saT4K
LSAgICAgICAgJWVuZGlmCiAgICAgICAgIDxsaT48YSBjbGFzcz0zRCJhY3Rpb24tYnV0dG9uIiBo
cmVmPTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJz0KbGlicmFyeV9jb21tb24nLCBhY3Rp
b249M0QnYnJvd3NlX2xpYnJhcnknLCBjbnRybGxlcj0zRGNudHJsbGVyLCBpZD0zRHRyYW5zPQou
c2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUubGlicmFyeS5pZCApICl9Ij5WaWV3IHRhcmdldCBE
YXRhIExpYnJhcnk8L2E+PC89CmxpPjxsaT48YSBjbGFzcz0zRCJhY3Rpb24tYnV0dG9uIiBocmVm
PTNEIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcXVlcz0KdHNfY29tbW9uJywgYWN0aW9u
PTNEJ3ZpZXdfcmVxdWVzdCcsIGNudHJsbGVyPTNEY250cmxsZXIsIGlkPTNEdHJhbnMuc2VjdXJp
PQp0eS5lbmNvZGVfaWQoIHNhbXBsZS5yZXF1ZXN0LmlkICkgKX0iPkJyb3dzZSB0aGlzIHJlcXVl
c3Q8L2E+PC9saT48L2Rpdj4KCmRpZmYgLXIgMjBkNWEyMWFkZDlhYjQ1ZDljNGM1YzI2ZDY4Njk5
ZTc3MTMxMDBkZCAtciA2YzJmZDdiZGRjNmMxYzRlOGE2NDA5Mz0KZjNmYzRjNDM3MGY1MTViNGUg
dGVtcGxhdGVzL3dlYmFwcHMvdG9vbF9zaGVkL3JlcG9zaXRvcnkvY29tbW9uLm1ha28KLS0tIGEv
dGVtcGxhdGVzL3dlYmFwcHMvdG9vbF9zaGVkL3JlcG9zaXRvcnkvY29tbW9uLm1ha28KKysrIGIv
dGVtcGxhdGVzL3dlYmFwcHMvdG9vbF9zaGVkL3JlcG9zaXRvcnkvY29tbW9uLm1ha28KQEAgLTIy
LDE0ICsyMiwxNCBAQAogICAgICAgICAgICAgICAgIGZ4OiB7IGhlaWdodDogInRvZ2dsZSIsIGR1
cmF0aW9uOiAyMDAgfSwKICAgICAgICAgICAgICAgICAvLyBpbml0QWpheCBpcyBoYXJkIHRvIGZh
a2UsIHNvIHdlIHBhc3MgdGhlIGNoaWxkcmVuIGFzIG9iPQpqZWN0IGFycmF5OgogICAgICAgICAg
ICAgICAgIGluaXRBamF4OiB7dXJsOiAiJHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVwb3Np
dG9yeScsIGE9CmN0aW9uPTNEJ29wZW5fZm9sZGVyJyApfSIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICBkYXRhVHlwZTogImpzb24iLD0yMAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGF0YTogeyBmb2xkZXJfcGF0aDogIiR7cmVwb3NpdG9yeS5yZXBvX3BhdGgoIHQ9CnJhbnMuYXBw
ICl9IiB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHsgZm9sZGVyX3BhdGg6ICIke3JlcG9zaXRv
cnkucmVwb19wYXRoKCB0PQpyYW5zLmFwcCApfSIsIHJlcG9zaXRvcnlfaWQ6ICIke3RyYW5zLnNl
Y3VyaXR5LmVuY29kZV9pZCggcmVwb3NpdG9yeS5pZCApfSI9CiAgfSwKICAgICAgICAgICAgICAg
ICB9LAogICAgICAgICAgICAgICAgIG9uTGF6eVJlYWQ6IGZ1bmN0aW9uKGR0bm9kZSl7CiAgICAg
ICAgICAgICAgICAgICAgIGR0bm9kZS5hcHBlbmRBamF4KHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHVybDogIiR7aC51cmxfZm9yKCBjb250cm9sbGVyPTNEJ3JlcG9zaXRvcnknLCBhY3RpPQpv
bj0zRCdvcGVuX2ZvbGRlcicgKX0iLD0yMAorICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAi
JHtoLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmVwb3NpdG9yeScsIGFjdGk9Cm9uPTNEJ29wZW5f
Zm9sZGVyJyApfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogImpzb24iLAot
ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTogeyBmb2xkZXJfcGF0aDogZHRub2RlLmRhdGEu
a2V5IH0sCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZvbGRlcl9wYXRoOiBkdG5v
ZGUuZGF0YS5rZXksIHJlcG9zaXRvcnlfaT0KZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lk
KCByZXBvc2l0b3J5LmlkICl9IiAgfSwKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgICAgICBvblNlbGVjdDogZnVuY3Rpb24oc2VsZWN0LCBk
dG5vZGUpIHsKQEAgLTYyLDcgKzYyLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
eXBlOiAiUE9TVCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiAiJHtoLnVybF9m
b3IoIGNvbnRyb2xsZXI9M0QncmVwb3NpdG9yeScsID0KYWN0aW9uPTNEJ2dldF9maWxlX2NvbnRl
bnRzJyApfSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVR5cGU6ICJqc29uIiwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZpbGVfcGF0aDogc2VsZWN0ZWRf
dmFsdWUgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOiB7IGZpbGVfcGF0aDog
c2VsZWN0ZWRfdmFsdWUsIHJlcG9zaXRvcnlfPQppZDogIiR7dHJhbnMuc2VjdXJpdHkuZW5jb2Rl
X2lkKCByZXBvc2l0b3J5LmlkICl9IiB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1
Y2Nlc3MgOiBmdW5jdGlvbiAoIGRhdGEgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNlbGwuaHRtbCggJzxsYWJlbD4nK2RhdGErJzwvbGFiZWw+JyApCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQoKZGlmZiAtciAyMGQ1YTIxYWRkOWFiNDVkOWM0YzVjMjZkNjg2OTll
NzcxMzEwMGRkIC1yIDZjMmZkN2JkZGM2YzFjNGU4YTY0MDkzPQpmM2ZjNGM0MzcwZjUxNWI0ZSB0
ZXN0L3VuaXQvdGVzdF9nYWxheHlfbWFwcGluZy5weQotLS0gYS90ZXN0L3VuaXQvdGVzdF9nYWxh
eHlfbWFwcGluZy5weQorKysgYi90ZXN0L3VuaXQvdGVzdF9nYWxheHlfbWFwcGluZy5weQpAQCAt
NDEzLDcgKzQxMyw3IEBACiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIHNldFVwQ2xhc3MoY2xz
KToKICAgICAgICAgIyBTdGFydCB0aGUgZGF0YWJhc2UgYW5kIGNvbm5lY3QgdGhlIG1hcHBpbmcK
LSAgICAgICAgY2xzLm1vZGVsID0zRCBtYXBwaW5nLmluaXQoICIvdG1wIiwgInNxbGl0ZTovLy86
bWVtb3J5OiIsIGNyZWF0ZV90PQphYmxlcz0zRFRydWUgKQorICAgICAgICBjbHMubW9kZWwgPTNE
IG1hcHBpbmcuaW5pdCggIi90bXAiLCAic3FsaXRlOi8vLzptZW1vcnk6IiwgY3JlYXRlX3Q9CmFi
bGVzPTNEVHJ1ZSwgb2JqZWN0X3N0b3JlPTNETW9ja09iamVjdFN0b3JlKCkgKQogICAgICAgICBh
c3NlcnQgY2xzLm1vZGVsLmVuZ2luZSBpcyBub3QgTm9uZQo9MjAKICAgICBAY2xhc3NtZXRob2QK
QEAgLTQ0Miw2ICs0NDIsMjEgQEAKICAgICAgICAgY2xzLm1vZGVsLnNlc3Npb24uZXhwdW5nZV9h
bGwoKQo9MjAKPTIwCitjbGFzcyBNb2NrT2JqZWN0U3RvcmUob2JqZWN0KToKKworICAgIGRlZiBf
X2luaXRfXyhzZWxmKToKKyAgICAgICAgcGFzcworCisgICAgZGVmIHNpemUoc2VsZiwgZGF0YXNl
dCk6CisgICAgICAgIHJldHVybiA0MgorCisgICAgZGVmIGV4aXN0cyhzZWxmLCAqYXJncywgKipr
d2RzKToKKyAgICAgICAgcmV0dXJuIFRydWUKKworICAgIGRlZiBnZXRfZmlsZW5hbWUoc2VsZiwg
KmFyZ3MsICoqa3dkcyk6CisgICAgICAgIHJldHVybiAiZGF0YWVzdF8xNC5kYXQiCisKKwogZGVm
IGdldF9zdWl0ZSgpOgogICAgIHN1aXRlID0zRCB1bml0dGVzdC5UZXN0U3VpdGUoKQogICAgIHN1
aXRlLmFkZFRlc3QoIE1hcHBpbmdUZXN0cyggInRlc3RfYmFzaWMiICkgKQoKCmh0dHBzOi8vYml0
YnVja2V0Lm9yZy9nYWxheHkvZ2FsYXh5LWNlbnRyYWwvY29tbWl0cy8wMzRjYjBmYjg3ZGYvCkNo
YW5nZXNldDogICAwMzRjYjBmYjg3ZGYKQnJhbmNoOiAgICAgIHJlbGVhc2VfMTUuMDcKVXNlcjog
ICAgICAgIG5hdGVmb28KRGF0ZTogICAgICAgIDIwMTYtMDItMjQgMjA6NTY6MzMrMDA6MDAKU3Vt
bWFyeTogICAgIFJlbGVhc2UgMTUuMDcuMQpBZmZlY3RlZCAjOiAgMTM1IGZpbGVzCgpkaWZmIC1y
IGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2Rm
YzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGNsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMv
Y29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYT0KdG9yLmpzCi0tLSBhL2NsaWVudC9nYWxh
eHkvc2NyaXB0cy9tdmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcworKysg
Yi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2NvbGxlY3Rpb24vbGlzdC1jb2xsZWN0aW9uLWNy
ZWF0b3IuanMKQEAgLTQzLDcgKzQzLDcgQEAKICAgICAvL1RPRE86IGxvdHMgb2YgdW51c2VkIHNw
YWNlIGluIHRoZSBlbGVtZW50IC0gcG9zc2libHkgbG9hZCBkZXRhaWxzIGFuPQpkIGRpc3BsYXkg
dGhlbSBob3Jpei4KICAgICB0ZW1wbGF0ZSA6IF8udGVtcGxhdGUoWwogICAgICAgICAnPGEgY2xh
c3M9M0QibmFtZSIgdGl0bGU9M0QiJywgX2woICdDbGljayB0byByZW5hbWUnICksICciIGhyZWY9
M0Q9CiJqYXZhc2NyaXB0OnZvaWQoMCkiPicsCi0gICAgICAgICAgICAnPCU9M0QgZWxlbWVudC5u
YW1lICU+JywKKyAgICAgICAgICAgICc8JS0gZWxlbWVudC5uYW1lICU+JywKICAgICAgICAgJzwv
YT4nLAogICAgICAgICAnPGJ1dHRvbiBjbGFzcz0zRCJkaXNjYXJkIGJ0biBidG4tc20iIHRpdGxl
PTNEIicsIF9sKCAnUmVtb3ZlIHRoaXM9CiBkYXRhc2V0IGZyb20gdGhlIGxpc3QnICksICciPics
CiAgICAgICAgICAgICBfbCggJ0Rpc2NhcmQnICksCkBAIC05MjUsNyArOTI1LDcgQEAKICAgICAg
ICAgaW52YWxpZEVsZW1lbnRzIDogXy50ZW1wbGF0ZShbCiAgICAgICAgICAgICBfbCggJ1RoZSBm
b2xsb3dpbmcgc2VsZWN0aW9ucyBjb3VsZCBub3QgYmUgaW5jbHVkZWQgZHVlIHRvIHBybz0KYmxl
bXM6JyApLAogICAgICAgICAgICAgJzx1bD48JSBfLmVhY2goIHByb2JsZW1zLCBmdW5jdGlvbigg
cHJvYmxlbSApeyAlPicsCi0gICAgICAgICAgICAgICAgJzxsaT48Yj48JT0zRCBwcm9ibGVtLmVs
ZW1lbnQubmFtZSAlPjwvYj46IDwlPTNEIHByb2JsZW0udD0KZXh0ICU+PC9saT4nLAorICAgICAg
ICAgICAgICAgICc8bGk+PGI+PCUtIHByb2JsZW0uZWxlbWVudC5uYW1lICU+PC9iPjogPCUtIHBy
b2JsZW0udGV4dCA9CiU+PC9saT4nLAogICAgICAgICAgICAgJzwlIH0pOyAlPjwvdWw+JwogICAg
ICAgICBdLmpvaW4oJycpKSwKPTIwCkBAIC05NDUsNyArOTQ1LDcgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgICc8JSBpZiggXy5zaXplKCBwcm9ibGVtcyApICl7ICU+JywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBfbCggJ1RoZSBmb2xsb3dpbmcgc2VsZWN0aW9ucyBjb3VsZCBub3Qg
YmUgaW5jPQpsdWRlZCBkdWUgdG8gcHJvYmxlbXMnICksICc6JywKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnPHVsPjwlIF8uZWFjaCggcHJvYmxlbXMsIGZ1bmN0aW9uKCBwcm9ibGVtICl7
PQogJT4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGxpPjxiPjwlPTNEIHBy
b2JsZW0uZWxlbWVudC5uYW1lICU+PC9iPjo9CiA8JT0zRCBwcm9ibGVtLnRleHQgJT48L2xpPics
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+PGI+PCUtIHByb2JsZW0uZWxl
bWVudC5uYW1lICU+PC9iPjogPD0KJS0gcHJvYmxlbS50ZXh0ICU+PC9saT4nLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8JSB9KTsgJT48L3VsPicsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAnPCUgfSBlbHNlIGlmKCBfLnNpemUoIGVsZW1lbnRzICkgPCAxICl7ICU+JywKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBfbCggJ05vIGRhdGFzZXRzIHdlcmUgc2VsZWN0ZWQnICks
ICcuJywKCmRpZmYgLXIgYzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAt
ciAwMzRjYjBmYjg3ZGZjMmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgY2xpZW50L2dhbGF4
eS9zY3JpcHRzL212Yy9jb2xsZWN0aW9uL2xpc3Qtb2YtcGFpcnMtY29sbGVjPQp0aW9uLWNyZWF0
b3IuanMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9jb2xsZWN0aW9uL2xpc3Qtb2Yt
cGFpcnMtY29sbGVjdGlvbi1jcmVhdG9yPQouanMKKysrIGIvY2xpZW50L2dhbGF4eS9zY3JpcHRz
L212Yy9jb2xsZWN0aW9uL2xpc3Qtb2YtcGFpcnMtY29sbGVjdGlvbi1jcmVhdG9yPQouanMKQEAg
LTMwLDExICszMCwxMSBAQAogICAgIH0sCj0yMAogICAgIHRlbXBsYXRlIDogXy50ZW1wbGF0ZShb
Ci0gICAgICAgICc8c3BhbiBjbGFzcz0zRCJmb3J3YXJkLWRhdGFzZXQtbmFtZSBmbGV4LWNvbHVt
biI+PCU9M0QgcGFpci5mb3J3YT0KcmQubmFtZSAlPjwvc3Bhbj4nLAorICAgICAgICAnPHNwYW4g
Y2xhc3M9M0QiZm9yd2FyZC1kYXRhc2V0LW5hbWUgZmxleC1jb2x1bW4iPjwlLSBwYWlyLmZvcndh
cmQ9Ci5uYW1lICU+PC9zcGFuPicsCiAgICAgICAgICc8c3BhbiBjbGFzcz0zRCJwYWlyLW5hbWUt
Y29sdW1uIGZsZXgtY29sdW1uIj4nLAotICAgICAgICAgICAgJzxzcGFuIGNsYXNzPTNEInBhaXIt
bmFtZSI+PCU9M0QgcGFpci5uYW1lICU+PC9zcGFuPicsCisgICAgICAgICAgICAnPHNwYW4gY2xh
c3M9M0QicGFpci1uYW1lIj48JS0gcGFpci5uYW1lICU+PC9zcGFuPicsCiAgICAgICAgICc8L3Nw
YW4+JywKLSAgICAgICAgJzxzcGFuIGNsYXNzPTNEInJldmVyc2UtZGF0YXNldC1uYW1lIGZsZXgt
Y29sdW1uIj48JT0zRCBwYWlyLnJldmVyPQpzZS5uYW1lICU+PC9zcGFuPicKKyAgICAgICAgJzxz
cGFuIGNsYXNzPTNEInJldmVyc2UtZGF0YXNldC1uYW1lIGZsZXgtY29sdW1uIj48JS0gcGFpci5y
ZXZlcnNlPQoubmFtZSAlPjwvc3Bhbj4nCiAgICAgXS5qb2luKCcnKSksCj0yMAogICAgIHJlbmRl
ciA6IGZ1bmN0aW9uKCl7CgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5
OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGNs
aWVudC9nYWxheHkvc2NyaXB0cy9tdmMvY29sbGVjdGlvbi9wYWlyLWNvbGxlY3Rpb24tY3JlYT0K
dG9yLmpzCi0tLSBhL2NsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMvY29sbGVjdGlvbi9wYWlyLWNv
bGxlY3Rpb24tY3JlYXRvci5qcworKysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2NvbGxl
Y3Rpb24vcGFpci1jb2xsZWN0aW9uLWNyZWF0b3IuanMKQEAgLTMyLDggKzMyLDggQEAKPTIwCiAg
ICAgLy9UT0RPOiBsb3RzIG9mIHVudXNlZCBzcGFjZSBpbiB0aGUgZWxlbWVudCAtIHBvc3NpYmx5
IGxvYWQgZGV0YWlscyBhbj0KZCBkaXNwbGF5IHRoZW0gaG9yaXouCiAgICAgdGVtcGxhdGUgOiBf
LnRlbXBsYXRlKFsKLSAgICAgICAgJzxzcGFuIGNsYXNzPTNEImlkZW50aWZpZXIiPjwlPTNEIGlk
ZW50aWZpZXIgJT48L3NwYW4+JywKLSAgICAgICAgJzxzcGFuIGNsYXNzPTNEIm5hbWUiPjwlPTNE
IGVsZW1lbnQubmFtZSAlPjwvc3Bhbj4nLAorICAgICAgICAnPHNwYW4gY2xhc3M9M0QiaWRlbnRp
ZmllciI+PCUtIGlkZW50aWZpZXIgJT48L3NwYW4+JywKKyAgICAgICAgJzxzcGFuIGNsYXNzPTNE
Im5hbWUiPjwlLSBlbGVtZW50Lm5hbWUgJT48L3NwYW4+JywKICAgICBdLmpvaW4oJycpKSwKPTIw
CiAgICAgLyoqIHJlbW92ZSB0aGUgRE9NIGFuZCBhbnkgbGlzdGVuZXJzICovCkBAIC0xNzYsMTUg
KzE3NiwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgJzwlIGlmKCBfLnNpemUoIHByb2Js
ZW1zICkgKXsgJT4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9sKCAnVGhlIGZvbGxv
d2luZyBzZWxlY3Rpb25zIGNvdWxkIG5vdCBiZSBpbmM9Cmx1ZGVkIGR1ZSB0byBwcm9ibGVtcycg
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHVsPjwlIF8uZWFjaCggcHJvYmxlbXMs
IGZ1bmN0aW9uKCBwcm9ibGVtICl7PQogJT4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPGxpPjxiPjwlPTNEIHByb2JsZW0uZWxlbWVudC5uYW1lICU+PC9iPjo9CiA8JT0zRCBw
cm9ibGVtLnRleHQgJT48L2xpPicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8
bGk+PGI+PCUtIHByb2JsZW0uZWxlbWVudC5uYW1lICU+PC9iPjogPD0KJS0gcHJvYmxlbS50ZXh0
ICU+PC9saT4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JSB9KTsgJT48L3VsPics
CiAgICAgICAgICAgICAgICAgICAgICAgICAnPCUgfSBlbHNlIGlmKCBfLnNpemUoIGVsZW1lbnRz
ICkgPTNEPTNEPTNEIDAgKXsgJT0KPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2wo
ICdObyBkYXRhc2V0cyB3ZXJlIHNlbGVjdGVkJyApLCAnLicsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAnPCUgfSBlbHNlIGlmKCBfLnNpemUoIGVsZW1lbnRzICkgPTNEPTNEPTNEIDEgKXsgJT0K
PicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2woICdPbmx5IG9uZSBkYXRhc2V0IHdh
cyBzZWxlY3RlZCcgKSwgJzogPCU9Cj0zRCBlbGVtZW50c1swXS5uYW1lICU+JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBfbCggJ09ubHkgb25lIGRhdGFzZXQgd2FzIHNlbGVjdGVkJyAp
LCAnOiA8JS0gPQplbGVtZW50c1swXS5uYW1lICU+JywKICAgICAgICAgICAgICAgICAgICAgICAg
ICc8JSB9IGVsc2UgaWYoIF8uc2l6ZSggZWxlbWVudHMgKSA+IDIgKXsgJT4nLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIF9sKCAnVG9vIG1hbnkgZGF0YXNldHMgd2VyZSBzZWxlY3RlZCcg
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOiA8JT0zRCBfLnBsdWNrKCBlbGVtZW50
cywgIm5hbWUiICkuam9pbiggIiwgPQoiKSAlPicsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzogPCUtIF8ucGx1Y2soIGVsZW1lbnRzLCAibmFtZSIgKS5qb2luKCAiLCAiKT0KICU+JywK
ICAgICAgICAgICAgICAgICAgICAgICAgICc8JSB9ICU+JywKICAgICAgICAgICAgICAgICAgICAg
ICAgICc8YnIgLz4nLAogICAgICAgICAgICAgICAgICAgICAgICAgX2woICdUd28gKGFuZCBvbmx5
IHR3bykgZWxlbWVudHMgYXJlIG5lZWRlZCBmb3IgdGg9CmUgcGFpcicgKSwgJy4gJywKCmRpZmYg
LXIgYzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3
ZGZjMmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgY2xpZW50L2dhbGF4eS9zY3JpcHRzL212
Yy9kYXRhc2V0L2RhdGFzZXQtY2hvaWNlLmpzCi0tLSBhL2NsaWVudC9nYWxheHkvc2NyaXB0cy9t
dmMvZGF0YXNldC9kYXRhc2V0LWNob2ljZS5qcworKysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMv
bXZjL2RhdGFzZXQvZGF0YXNldC1jaG9pY2UuanMKQEAgLTI0OSw3ICsyNDksNyBAQAogICAgIF90
ZW1wbGF0ZSA6IGZ1bmN0aW9uKCBqc29uICl7CiAgICAgICAgIHJldHVybiBfLnRlbXBsYXRlKFsK
ICAgICAgICAgICAgICc8bGFiZWw+JywKLSAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9M0Qi
cHJvbXB0Ij48JT0zRCBsYWJlbCAlPjwvc3Bhbj4nLAorICAgICAgICAgICAgICAgICc8c3BhbiBj
bGFzcz0zRCJwcm9tcHQiPjwlLSBsYWJlbCAlPjwvc3Bhbj4nLAogICAgICAgICAgICAgICAgICc8
ZGl2IGNsYXNzPTNEInNlbGVjdGVkIj48L2Rpdj4nLAogICAgICAgICAgICAgJzwvbGFiZWw+Jwog
ICAgICAgICBdLmpvaW4oJycpKSgganNvbiApOwpAQCAtMjYxLDExICsyNjEsMTEgQEAKIC8vVE9E
TzogYnJlYWsgb3V0PwogICAgICAgICAgICAgcmV0dXJuICQoIF8udGVtcGxhdGUoWwogICAgICAg
ICAgICAgICAgICc8ZGl2IGNsYXNzPTNEInNlbGVjdGVkIj4nLAotICAgICAgICAgICAgICAgICAg
ICAnPHNwYW4gY2xhc3M9M0QidGl0bGUiPjwlPTNEIHNlbGVjdGVkLmhpZCAlPjogPCU9M0Qgc2U9
CmxlY3RlZC5uYW1lICU+PC9zcGFuPicsCisgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFz
cz0zRCJ0aXRsZSI+PCUtIHNlbGVjdGVkLmhpZCAlPjogPCUtIHNlbGVjdD0KZWQubmFtZSAlPjwv
c3Bhbj4nLAogICAgICAgICAgICAgICAgICAgICAnPHNwYW4gY2xhc3M9M0Qic3VidGl0bGUiPics
Ci0gICAgICAgICAgICAgICAgICAgICAgICAnPGk+PCU9M0Qgc2VsZWN0ZWQubWlzY19ibHVyYiAl
PjwvaT4nLAotICAgICAgICAgICAgICAgICAgICAgICAgJzxpPicsIF9sKCAnZm9ybWF0JyApICsg
JzogJywgJzwlPTNEIHNlbGVjdGVkLmZpbGU9Cl9leHQgJT48L2k+JywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICc8aT48JT0zRCBzZWxlY3RlZC5taXNjX2luZm8gJT48L2k+JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICc8aT48JS0gc2VsZWN0ZWQubWlzY19ibHVyYiAlPjwvaT4nLAorICAg
ICAgICAgICAgICAgICAgICAgICAgJzxpPicsIF9sKCAnZm9ybWF0JyApICsgJzogJywgJzwlLSBz
ZWxlY3RlZC5maWxlX2U9Cnh0ICU+PC9pPicsCisgICAgICAgICAgICAgICAgICAgICAgICAnPGk+
PCUtIHNlbGVjdGVkLm1pc2NfaW5mbyAlPjwvaT4nLAogICAgICAgICAgICAgICAgICAgICAnPC9z
cGFuPicsCiAgICAgICAgICAgICAgICAgJzwvZGl2PicKICAgICAgICAgICAgIF0uam9pbiggJycg
KSwgeyB2YXJpYWJsZSA6ICdzZWxlY3RlZCcgfSkoIGpzb24uc2VsZWN0ZWRbMF0gKSk7CkBAIC0z
ODgsNyArMzg4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgJzwlIGlmKCBqc29uLnNob3dIZWFk
ZXJzICl7ICU+JywKICAgICAgICAgICAgICAgICAgICAgICAgICc8dGhlYWQ+PHRyPicsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJzwlIF8ubWFwKCBqc29uLmNlbGxzLCBmdW5jdGlvbigg
dmFsLCBrZXkgKXsgJT0KPicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8dGg+
PCU9M0QgdmFsICU+PC90aD4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHRo
PjwlLSB2YWwgJT48L3RoPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwlIH0pOyAl
PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAnPC90cj48L3RoZWFkPicsCiAgICAgICAgICAg
ICAgICAgICAgICc8JSB9ICU+JywKQEAgLTM5Niw3ICszOTYsNyBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgJzwlIF8ubWFwKCBqc29uLnNlbGVjdGVkLCBmdW5jdGlvbiggc2VsZWN0ZWQgKXsg
JT49CicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx0cj4nLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnPCUgXy5tYXAoIGpzb24uY2VsbHMsIGZ1bmN0aW9uKCB2YWws
IGtleSA9Cil7ICU+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8dGQg
Y2xhc3M9M0QiY2VsbC08JT0zRCBrZXkgJT4iPjwlPTNEPQogc2VsZWN0ZWRbIGtleSBdICU+PC90
ZD4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx0ZCBjbGFzcz0zRCJj
ZWxsLTwlLSBrZXkgJT4iPjwlLSBzZWw9CmVjdGVkWyBrZXkgXSAlPjwvdGQ+JywKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJzwlIH0pICU+JywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPC90cj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgJzwlIH0pOyAlPicsCgpk
aWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2Iw
ZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGNsaWVudC9nYWxheHkvc2NyaXB0
cy9tdmMvZGF0YXNldC9kYXRhc2V0LWxpLWVkaXQuanMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3Jp
cHRzL212Yy9kYXRhc2V0L2RhdGFzZXQtbGktZWRpdC5qcworKysgYi9jbGllbnQvZ2FsYXh5L3Nj
cmlwdHMvbXZjL2RhdGFzZXQvZGF0YXNldC1saS1lZGl0LmpzCkBAIC0zMDYsNyArMzA2LDcgQEAK
ICAgICAgICAgICAgICc8JSBpZiggZGF0YXNldC5zdGF0ZSA9M0Q9M0Q9M0QgImZhaWxlZF9tZXRh
ZGF0YSIgKXsgJT4nLAogICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEImZhaWxlZF9tZXRh
ZGF0YS13YXJuaW5nIHdhcm5pbmdtZXNzYWdlc21hbGw9CiI+JywKICAgICAgICAgICAgICAgICAg
ICAgX2woICdBbiBlcnJvciBvY2N1cnJlZCBzZXR0aW5nIHRoZSBtZXRhZGF0YSBmb3IgdGhpcyBk
PQphdGFzZXQnICksCi0gICAgICAgICAgICAgICAgICAgICc8YnIgLz48YSBocmVmPTNEIjwlPTNE
IGRhdGFzZXQudXJscy5lZGl0ICU+IiB0YXJnZXQ9Cj0zRCI8JT0zRCB2aWV3LmxpbmtUYXJnZXQg
JT4iPicsCisgICAgICAgICAgICAgICAgICAgICc8YnIgLz48YSBocmVmPTNEIjwlLSBkYXRhc2V0
LnVybHMuZWRpdCAlPiIgdGFyZ2V0PTNEIj0KPCUtIHZpZXcubGlua1RhcmdldCAlPiI+JywKICAg
ICAgICAgICAgICAgICAgICAgICAgIF9sKCAnU2V0IGl0IG1hbnVhbGx5IG9yIHJldHJ5IGF1dG8t
ZGV0ZWN0aW9uJyApLAogICAgICAgICAgICAgICAgICAgICAnPC9hPicsCiAgICAgICAgICAgICAg
ICAgJzwvZGl2PicsCkBAIC0zMzIsOSArMzMyLDkgQEAKPTIwCiAgICAgdmFyIHZpc3VhbGl6YXRp
b25zVGVtcGxhdGUgPTNEIEJBU0VfTVZDLndyYXBUZW1wbGF0ZShbCiAgICAgICAgICc8JSBpZigg
dmlzdWFsaXphdGlvbnMubGVuZ3RoID0zRD0zRD0zRCAxICl7ICU+JywKLSAgICAgICAgICAgICc8
YSBjbGFzcz0zRCJ2aXN1YWxpemF0aW9uLWJ0biB2aXN1YWxpemF0aW9uLWxpbmsgaWNvbi1idG4i
IGhyPQplZj0zRCI8JT0zRCB2aXN1YWxpemF0aW9uc1swXS5ocmVmICU+IicsCi0gICAgICAgICAg
ICAgICAgICAgICcgdGFyZ2V0PTNEIjwlPTNEIHZpc3VhbGl6YXRpb25zWzBdLnRhcmdldCAlPiIg
dGl0bGU9Cj0zRCInLCBfbCggJ1Zpc3VhbGl6ZSBpbicgKSwKLSAgICAgICAgICAgICAgICAgICAg
JyA8JT0zRCB2aXN1YWxpemF0aW9uc1swXS5odG1sICU+Ij4nLAorICAgICAgICAgICAgJzxhIGNs
YXNzPTNEInZpc3VhbGl6YXRpb24tYnRuIHZpc3VhbGl6YXRpb24tbGluayBpY29uLWJ0biIgaHI9
CmVmPTNEIjwlLSB2aXN1YWxpemF0aW9uc1swXS5ocmVmICU+IicsCisgICAgICAgICAgICAgICAg
ICAgICcgdGFyZ2V0PTNEIjwlLSB2aXN1YWxpemF0aW9uc1swXS50YXJnZXQgJT4iIHRpdGxlPTNE
Ij0KJywgX2woICdWaXN1YWxpemUgaW4nICksCisgICAgICAgICAgICAgICAgICAgICcgPCUtIHZp
c3VhbGl6YXRpb25zWzBdLmh0bWwgJT4iPicsCiAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNz
PTNEImZhIGZhLWJhci1jaGFydC1vIj48L3NwYW4+JywKICAgICAgICAgICAgICc8L2E+JywKPTIw
CkBAIC0zNDUsOSArMzQ1LDkgQEAKICAgICAgICAgICAgICAgICAnPC9hPicsCiAgICAgICAgICAg
ICAgICAgJzx1bCBjbGFzcz0zRCJkcm9wZG93bi1tZW51IiByb2xlPTNEIm1lbnUiPicsCiAgICAg
ICAgICAgICAgICAgICAgICc8JSBfLmVhY2goIHZpc3VhbGl6YXRpb25zLCBmdW5jdGlvbiggdmlz
dWFsaXphdGlvbiApez0KICU+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+PGEgY2xh
c3M9M0QidmlzdWFsaXphdGlvbi1saW5rIiBocmVmPTNEIjwlPTNEPQogdmlzdWFsaXphdGlvbi5o
cmVmICU+IicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgdGFyZ2V0PTNEIjwl
PTNEIHZpc3VhbGl6YXRpb24udGFyZ2V0ICU+Ij0KPicsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJzwlPTNEIHZpc3VhbGl6YXRpb24uaHRtbCAlPicsCisgICAgICAgICAgICAgICAgICAg
ICAgICAnPGxpPjxhIGNsYXNzPTNEInZpc3VhbGl6YXRpb24tbGluayIgaHJlZj0zRCI8JS0gdj0K
aXN1YWxpemF0aW9uLmhyZWYgJT4iJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JyB0YXJnZXQ9M0QiPCUtIHZpc3VhbGl6YXRpb24udGFyZ2V0ICU+Ij4nLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICc8JS0gdmlzdWFsaXphdGlvbi5odG1sICU+JywKICAgICAgICAgICAg
ICAgICAgICAgICAgICc8L2E+PC9saT4nLAogICAgICAgICAgICAgICAgICAgICAnPCUgfSk7ICU+
JywKICAgICAgICAgICAgICAgICAnPC91bD4nLAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2
ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4
MTg5Nzk3ZTk3OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2RhdGFzZXQvZGF0YXNldC1saS5q
cwotLS0gYS9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2RhdGFzZXQvZGF0YXNldC1saS5qcwor
KysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2RhdGFzZXQvZGF0YXNldC1saS5qcwpAQCAt
NDczLDcgKzQ3Myw3IEBACiAgICAgICAgICAgICAgICAgJzxzcGFuIGNsYXNzPTNEImRpc3BsYXkt
YXBwbGljYXRpb24tbG9jYXRpb24iPjwlLSBhcHAubGFiZT0KbCAlPjwvc3Bhbj4gJywKICAgICAg
ICAgICAgICAgICAnPHNwYW4gY2xhc3M9M0QiZGlzcGxheS1hcHBsaWNhdGlvbi1saW5rcyI+JywK
ICAgICAgICAgICAgICAgICAgICAgJzwlIF8uZWFjaCggYXBwLmxpbmtzLCBmdW5jdGlvbiggbGlu
ayApeyAlPicsCi0gICAgICAgICAgICAgICAgICAgICAgICAnPGEgdGFyZ2V0PTNEIjwlPTNEIGxp
bmsudGFyZ2V0ICU+IiBocmVmPTNEIjwlPTNEID0KbGluay5ocmVmICU+Ij4nLAorICAgICAgICAg
ICAgICAgICAgICAgICAgJzxhIHRhcmdldD0zRCI8JS0gbGluay50YXJnZXQgJT4iIGhyZWY9M0Qi
PCUtIGxpbms9Ci5ocmVmICU+Ij4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JSBw
cmludCggX2woIGxpbmsudGV4dCApICk7ICU+JywKICAgICAgICAgICAgICAgICAgICAgICAgICc8
L2E+ICcsCiAgICAgICAgICAgICAgICAgICAgICc8JSB9KTsgJT4nLAoKZGlmZiAtciBjOGFiMGZl
Mjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRl
MTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2hpc3Rvcnkv
aGlzdG9yeS1wYW5lbC5qcwotLS0gYS9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2hpc3Rvcnkv
aGlzdG9yeS1wYW5lbC5qcworKysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL2hpc3Rvcnkv
aGlzdG9yeS1wYW5lbC5qcwpAQCAtNjExLDEwICs2MTEsMTAgQEAKICAgICB2YXIgY29udHJvbHNU
ZW1wbGF0ZSA9M0QgQkFTRV9NVkMud3JhcFRlbXBsYXRlKFsKICAgICAgICAgJzxkaXYgY2xhc3M9
M0QiY29udHJvbHMiPicsCiAgICAgICAgICAgICAnPGRpdiBjbGFzcz0zRCJ0aXRsZSI+JywKLSAg
ICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0zRCJuYW1lIj48JT0zRCBoaXN0b3J5Lm5hbWUgJT48
L2Rpdj4nLAorICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEIm5hbWUiPjwlLSBoaXN0b3J5
Lm5hbWUgJT48L2Rpdj4nLAogICAgICAgICAgICAgJzwvZGl2PicsCiAgICAgICAgICAgICAnPGRp
diBjbGFzcz0zRCJzdWJ0aXRsZSI+PC9kaXY+JywKLSAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNE
Imhpc3Rvcnktc2l6ZSI+PCU9M0QgaGlzdG9yeS5uaWNlX3NpemUgJT48L2Rpdj4nLAorICAgICAg
ICAgICAgJzxkaXYgY2xhc3M9M0QiaGlzdG9yeS1zaXplIj48JS0gaGlzdG9yeS5uaWNlX3NpemUg
JT48L2Rpdj4nLAo9MjAKICAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEImFjdGlvbnMiPjwvZGl2
PicsCj0yMAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYw
IC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvZ2Fs
YXh5L3NjcmlwdHMvbXZjL2hpc3RvcnkvbXVsdGktcGFuZWwuanMKLS0tIGEvY2xpZW50L2dhbGF4
eS9zY3JpcHRzL212Yy9oaXN0b3J5L211bHRpLXBhbmVsLmpzCisrKyBiL2NsaWVudC9nYWxheHkv
c2NyaXB0cy9tdmMvaGlzdG9yeS9tdWx0aS1wYW5lbC5qcwpAQCAtMTYsNyArMTYsNyBAQAogICAg
IH0KPTIwCiAgICAgLy8gbWF5YmUgYmV0dGVyIGFzIG11bHRpc2VsZWN0IGRpYWxvZz8KLSAgICB2
YXIgaGlzdG9yeU5hbWUgPTNEIGhpc3RvcnkuZ2V0KCAnbmFtZScgKSwKKyAgICB2YXIgaGlzdG9y
eU5hbWUgPTNEIF8uZXNjYXBlKGhpc3RvcnkuZ2V0KCAnbmFtZScgKSksCiAgICAgICAgIGRlZmF1
bHRDb3B5TmFtZSA9M0QgIkNvcHkgb2YgJyIgKyBoaXN0b3J5TmFtZSArICInIjsKPTIwCiAgICAg
ZnVuY3Rpb24gdmFsaWRhdGVOYW1lKCBuYW1lICl7CkBAIC0xMDc1LDEzICsxMDc1LDEzIEBACiAg
ICAgICAgICAgICAnPGRpdiBjbGFzcz0zRCJvcmRlciBidG4tZ3JvdXAiPicsCiAgICAgICAgICAg
ICAgICAgJzxidXR0b24gdHlwZT0zRCJidXR0b24iIGNsYXNzPTNEImJ0biBidG4tZGVmYXVsdCBk
cm9wZG93bj0KLXRvZ2dsZSIgZGF0YS10b2dnbGU9M0QiZHJvcGRvd24iPicsCiAgICAgICAgICAg
ICAgICAgICAgIF9sKCAnT3JkZXIgaGlzdG9yaWVzIGJ5JyApICsgJyAnLAotICAgICAgICAgICAg
ICAgICAgICAnPHNwYW4gY2xhc3M9M0QiY3VycmVudC1vcmRlciI+PCU9M0Qgdmlldy5zb3J0T3Jk
ZXJzWyA9CnZpZXcub3JkZXIgXS50ZXh0ICU+PC9zcGFuPiAnLAorICAgICAgICAgICAgICAgICAg
ICAnPHNwYW4gY2xhc3M9M0QiY3VycmVudC1vcmRlciI+PCUtIHZpZXcuc29ydE9yZGVyc1sgdmk9
CmV3Lm9yZGVyIF0udGV4dCAlPjwvc3Bhbj4gJywKICAgICAgICAgICAgICAgICAgICAgJzxzcGFu
IGNsYXNzPTNEImNhcmV0Ij48L3NwYW4+JywKICAgICAgICAgICAgICAgICAnPC9idXR0b24+JywK
ICAgICAgICAgICAgICAgICAnPHVsIGNsYXNzPTNEImRyb3Bkb3duLW1lbnUiIHJvbGU9M0QibWVu
dSI+JywKICAgICAgICAgICAgICAgICAgICAgJzwlIF8uZWFjaCggdmlldy5zb3J0T3JkZXJzLCBm
dW5jdGlvbiggb3JkZXIsIGtleSApeyAlPQo+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICc8
bGk+PGEgaHJlZj0zRCJqYXZhc2NyaXB0OnZvaWQoMCk7IiBjbGFzcz0zRCJzZXQtPQpvcmRlciIg
ZGF0YS1vcmRlcj0zRCI8JT0zRCBrZXkgJT4iPicsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzwlPTNEIG9yZGVyLnRleHQgJT4nLAorICAgICAgICAgICAgICAgICAgICAgICAgJzxsaT48
YSBocmVmPTNEImphdmFzY3JpcHQ6dm9pZCgwKTsiIGNsYXNzPTNEInNldC09Cm9yZGVyIiBkYXRh
LW9yZGVyPTNEIjwlLSBrZXkgJT4iPicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwl
LSBvcmRlci50ZXh0ICU+JywKICAgICAgICAgICAgICAgICAgICAgICAgICc8L2E+PC9saT4nLAog
ICAgICAgICAgICAgICAgICAgICAnPCUgfSk7ICU+JywKICAgICAgICAgICAgICAgICAnPC91bD4n
LAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAz
NGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvZ2FsYXh5L3Nj
cmlwdHMvbXZjL2pvYi9qb2ItbGkuanMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9q
b2Ivam9iLWxpLmpzCisrKyBiL2NsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMvam9iL2pvYi1saS5q
cwpAQCAtMTIxLDcgKzEyMSw3IEBACj0yMAogICAgIHZhciBlbFRlbXBsYXRlID0zRCBCQVNFX01W
Qy53cmFwVGVtcGxhdGUoWwogICAgICAgICAnPGRpdiBjbGFzcz0zRCJsaXN0LWVsZW1lbnQiPics
Ci0gICAgICAgICAgICAnPGRpdiBjbGFzcz0zRCJpZCI+PCU9M0QgbW9kZWwuaWQgJT48L2Rpdj4n
LAorICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0QiaWQiPjwlLSBtb2RlbC5pZCAlPjwvZGl2Pics
CiAgICAgICAgICAgICAvLyBlcnJvcnMsIG1lc3NhZ2VzLCBldGMuCiAgICAgICAgICAgICAnPGRp
diBjbGFzcz0zRCJ3YXJuaW5ncyI+PC9kaXY+JywKPTIwCkBAIC0xNjEsNyArMTYxLDcgQEAKICAg
ICAgICAgICAgIC8vICAgICcgJywgX2woICdDcmVhdGVkJyApLCAnOiA8JT0zRCBuZXcgRGF0ZSgg
am9iLmNyZWF0ZV90aW1lPQogKS50b1N0cmluZygpICU+LCAnLAogICAgICAgICAgICAgLy8nPC9z
cGFuJywKICAgICAgICAgICAgIC8vJzxzcGFuIGNsYXNzPTNEInZlcnNpb24iPicsCi0gICAgICAg
ICAgICAvLyAgICAnICgnLCBfbCggJ3ZlcnNpb24nICksICc6IDwlPTNEIHZpZXcudG9vbC52ZXJz
aW9uICU+KScsCisgICAgICAgICAgICAvLyAgICAnICgnLCBfbCggJ3ZlcnNpb24nICksICc6IDwl
LSB2aWV3LnRvb2wudmVyc2lvbiAlPiknLAogICAgICAgICAgICAgLy8nPC9zcGFuJywKICAgICAg
ICAgJzwvZGl2PicKICAgICBdLCAnam9iJyApOwpAQCAtMTcwLDIwICsxNzAsMjAgQEAKICAgICAg
ICAgJzxkaXYgY2xhc3M9M0QiZGV0YWlscyI+JywKICAgICAgICAgICAgIC8vJzxkaXYgY2xhc3M9
M0QidmVyc2lvbiI+JywKICAgICAgICAgICAgIC8vICAgICc8bGFiZWwgY2xhc3M9M0QicHJvbXB0
Ij4nLCBfbCggJ1ZlcnNpb24nICksICc8L2xhYmVsPicsCi0gICAgICAgICAgICAvLyAgICAnPHNw
YW4gY2xhc3M9M0QidmFsdWUiPjwlPTNEIHZpZXcudG9vbC52ZXJzaW9uICU+PC9zcGFuPj0KJywK
KyAgICAgICAgICAgIC8vICAgICc8c3BhbiBjbGFzcz0zRCJ2YWx1ZSI+PCUtIHZpZXcudG9vbC52
ZXJzaW9uICU+PC9zcGFuPicsCiAgICAgICAgICAgICAvLyc8L2Rpdj4nLAogICAgICAgICAgICAg
JzxkaXYgY2xhc3M9M0QicGFyYW1zIj4nLAogICAgICAgICAgICAgICAgICc8JSBfLmVhY2goIHZp
ZXcuX2xhYmVsSW5wdXRNYXAoKSwgZnVuY3Rpb24oIGlucHV0LCBsYWJlbCA9Cil7ICU+JywKLSAg
ICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0QiaW5wdXQiIGRhdGEtaW5wdXQtbmFtZT0z
RCI8JT0zRCBpbnB1dC5uPQphbWUgJT4iIGRhdGEtaW5wdXQtaWQ9M0QiPCU9M0QgaW5wdXQuaWQg
JT4iPicsCi0gICAgICAgICAgICAgICAgICAgICAgICAnPGxhYmVsIGNsYXNzPTNEInByb21wdCI+
PCU9M0QgbGFiZWwgJT48L2xhYmVsPicsCisgICAgICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNz
PTNEImlucHV0IiBkYXRhLWlucHV0LW5hbWU9M0QiPCUtIGlucHV0Lm5hbT0KZSAlPiIgZGF0YS1p
bnB1dC1pZD0zRCI8JS0gaW5wdXQuaWQgJT4iPicsCisgICAgICAgICAgICAgICAgICAgICAgICAn
PGxhYmVsIGNsYXNzPTNEInByb21wdCI+PCUtIGxhYmVsICU+PC9sYWJlbD4nLAogLy9UT0RPOiBp
bnB1dCBkYXRhc2V0IG5hbWUKLSAgICAgICAgICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0z
RCJ2YWx1ZSI+PCU9M0QgaW5wdXQuY29udGVudC5uYW1lICU+PQo8L3NwYW4+JywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0zRCJ2YWx1ZSI+PCUtIGlucHV0LmNvbnRlbnQu
bmFtZSAlPjwvPQpzcGFuPicsCiAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAogICAgICAg
ICAgICAgICAgICc8JSB9KSAlPicsCiAgICAgICAgICAgICAgICAgJzwlIF8uZWFjaCggdmlldy5f
bGFiZWxQYXJhbU1hcCgpLCBmdW5jdGlvbiggcGFyYW0sIGxhYmVsID0KKXsgJT4nLAotICAgICAg
ICAgICAgICAgICAgICAnPGRpdiBjbGFzcz0zRCJwYXJhbSIgZGF0YS1pbnB1dC1uYW1lPTNEIjwl
PTNEIHBhcmFtLm49CmFtZSAlPiI+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICc8bGFiZWwg
Y2xhc3M9M0QicHJvbXB0Ij48JT0zRCBsYWJlbCAlPjwvbGFiZWw+JywKLSAgICAgICAgICAgICAg
ICAgICAgICAgICc8c3BhbiBjbGFzcz0zRCJ2YWx1ZSI+PCU9M0QgcGFyYW0gJT48L3NwYW4+JywK
KyAgICAgICAgICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0QicGFyYW0iIGRhdGEtaW5wdXQtbmFt
ZT0zRCI8JS0gcGFyYW0ubmFtPQplICU+Ij4nLAorICAgICAgICAgICAgICAgICAgICAgICAgJzxs
YWJlbCBjbGFzcz0zRCJwcm9tcHQiPjwlLSBsYWJlbCAlPjwvbGFiZWw+JywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICc8c3BhbiBjbGFzcz0zRCJ2YWx1ZSI+PCUtIHBhcmFtICU+PC9zcGFuPics
CiAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAogICAgICAgICAgICAgICAgICc8JSB9KSAl
PicsCiAgICAgICAgICAgICAnPC9kaXY+JywKCmRpZmYgLXIgYzhhYjBmZTI4NmJmMTBhZGQyNmZl
OTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZjMmFlNTZkZTEwNz0KMmE0NWE2ODE4
OTc5N2U5NzkgY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9saXN0L2xpc3QtcGFuZWwuanMKLS0t
IGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9saXN0L2xpc3QtcGFuZWwuanMKKysrIGIvY2xp
ZW50L2dhbGF4eS9zY3JpcHRzL212Yy9saXN0L2xpc3QtcGFuZWwuanMKQEAgLTgwMSw5ICs4MDEs
OSBAQAogICAgIHZhciBjb250cm9sc1RlbXBsYXRlID0zRCBCQVNFX01WQy53cmFwVGVtcGxhdGUo
WwogICAgICAgICAnPGRpdiBjbGFzcz0zRCJjb250cm9scyI+JywKICAgICAgICAgICAgICc8ZGl2
IGNsYXNzPTNEInRpdGxlIj4nLAotICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEIm5hbWUi
PjwlPTNEIHZpZXcudGl0bGUgJT48L2Rpdj4nLAorICAgICAgICAgICAgICAgICc8ZGl2IGNsYXNz
PTNEIm5hbWUiPjwlLSB2aWV3LnRpdGxlICU+PC9kaXY+JywKICAgICAgICAgICAgICc8L2Rpdj4n
LAotICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0Qic3VidGl0bGUiPjwlPTNEIHZpZXcuc3VidGl0
bGUgJT48L2Rpdj4nLAorICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0Qic3VidGl0bGUiPjwlLSB2
aWV3LnN1YnRpdGxlICU+PC9kaXY+JywKICAgICAgICAgICAgIC8vIGJ1dHRvbnMsIGNvbnRyb2xz
IGdvIGhlcmUKICAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEImFjdGlvbnMiPjwvZGl2PicsCiAg
ICAgICAgICAgICAvLyBkZWxldGVkIG1zZywgZXRjLgpAQCAtOTQyLDkgKzk0Miw5IEBACiAgICAg
ICAgICc8ZGl2IGNsYXNzPTNEImNvbnRyb2xzIj4nLAogICAgICAgICAgICAgJzxkaXYgY2xhc3M9
M0QidGl0bGUiPicsCiAvL1RPRE86IHRoaXMgaXMgcmVhbGx5IHRoZSBvbmx5IGRpZmZlcmVuY2Ug
LSBjb25zaWRlciBmYWN0b3JpbmcgdGl0bGViYXIgbz0KdXQKLSAgICAgICAgICAgICAgICAnPGRp
diBjbGFzcz0zRCJuYW1lIj48JT0zRCBtb2RlbC5uYW1lICU+PC9kaXY+JywKKyAgICAgICAgICAg
ICAgICAnPGRpdiBjbGFzcz0zRCJuYW1lIj48JS0gbW9kZWwubmFtZSAlPjwvZGl2PicsCiAgICAg
ICAgICAgICAnPC9kaXY+JywKLSAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNEInN1YnRpdGxlIj48
JT0zRCB2aWV3LnN1YnRpdGxlICU+PC9kaXY+JywKKyAgICAgICAgICAgICc8ZGl2IGNsYXNzPTNE
InN1YnRpdGxlIj48JS0gdmlldy5zdWJ0aXRsZSAlPjwvZGl2PicsCiAgICAgICAgICAgICAnPGRp
diBjbGFzcz0zRCJhY3Rpb25zIj48L2Rpdj4nLAogICAgICAgICAgICAgJzxkaXYgY2xhc3M9M0Qi
bWVzc2FnZXMiPjwvZGl2PicsCj0yMAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5Njcz
MzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3
ZTk3OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL3Rvb2xzLmpzCi0tLSBhL2NsaWVudC9nYWxh
eHkvc2NyaXB0cy9tdmMvdG9vbHMuanMKKysrIGIvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy90
b29scy5qcwpAQCAtMjYyLDcgKzI2Miw3IEBACj0yMAogICAgICAgICAvLyBSdW4gam9iIGFuZCBy
ZXNvbHZlIHJ1bl9kZWZlcnJlZCB0byB0b29sIG91dHB1dHMuCiAgICAgICAgICQud2hlbihzc19k
ZWZlcnJlZC5nbygpKS50aGVuKGZ1bmN0aW9uKHJlc3VsdCkgewotICAgICAgICAgICAgcnVuX2Rl
ZmVycmVkLnJlc29sdmUobmV3IGRhdGEuRGF0YXNldENvbGxlY3Rpb24oKS5yZXNldChyZXN1bHQ9
CikpOworICAgICAgICAgICAgcnVuX2RlZmVycmVkLnJlc29sdmUobmV3IGRhdGEuRGF0YXNldENv
bGxlY3Rpb24ocmVzdWx0KSk7CiAgICAgICAgIH0pOwogICAgICAgICByZXR1cm4gcnVuX2RlZmVy
cmVkOwogICAgIH0KCmRpZmYgLXIgYzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFm
ZmRmMCAtciAwMzRjYjBmYjg3ZGZjMmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgY2xpZW50
L2dhbGF4eS9zY3JpcHRzL212Yy90b29scy90b29scy1mb3JtLmpzCi0tLSBhL2NsaWVudC9nYWxh
eHkvc2NyaXB0cy9tdmMvdG9vbHMvdG9vbHMtZm9ybS5qcworKysgYi9jbGllbnQvZ2FsYXh5L3Nj
cmlwdHMvbXZjL3Rvb2xzL3Rvb2xzLWZvcm0uanMKQEAgLTE5LDcgKzE5LDcgQEAKICAgICAgICAg
ICAgICAgICBvbmNsaWNrICA6IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgICAgICBleGVj
dXRlLndhaXQoKTsKICAgICAgICAgICAgICAgICAgICAgc2VsZi5mb3JtLnBvcnRsZXQuZGlzYWJs
ZSgpOwotICAgICAgICAgICAgICAgICAgICBUb29sSm9icy5zdWJtaXQoc2VsZi5mb3JtLCBvcHRp
b25zLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgVG9vbEpvYnMuc3VibWl0KHNl
bGYuZm9ybSwgc2VsZi5vcHRpb25zLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAg
ICAgIGV4ZWN1dGUudW53YWl0KCk7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZvcm0u
cG9ydGxldC5lbmFibGUoKTsKICAgICAgICAgICAgICAgICAgICAgfSk7CkBAIC00MCw5ICs0MCwx
MCBAQAogICAgICAgICAgICAgfQogICAgICAgICAgICAgLy8gY3JlYXRlIG9wdGlvbnMgZGljdGlv
bmFyeQogICAgICAgICAgICAgb3B0aW9ucyA9M0QgVXRpbHMubWVyZ2Uob3B0aW9ucywgewotICAg
ICAgICAgICAgICAgIGJ1dHRvbnMgICAgIDogeworICAgICAgICAgICAgICAgIGJ1dHRvbnMgICAg
ICAgIDogewogICAgICAgICAgICAgICAgICAgICBleGVjdXRlIDogZXhlY3V0ZQotICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgIGluaXRpYWxfZXJy
b3JzIDogdHJ1ZQogICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICBUb29sRm9ybUJhc2UucHJv
dG90eXBlLmluaXRpYWxpemUuY2FsbCh0aGlzLCBvcHRpb25zKTsKICAgICAgICAgfQoKZGlmZiAt
ciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdk
ZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZj
L3VpL3VpLXNlbGVjdC1kZWZhdWx0LmpzCi0tLSBhL2NsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMv
dWkvdWktc2VsZWN0LWRlZmF1bHQuanMKKysrIGIvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy91
aS91aS1zZWxlY3QtZGVmYXVsdC5qcwpAQCAtMjYxLDcgKzI2MSw3IEBACiAgICAgLyoqIFRlbXBs
YXRlIGZvciBzZWxlY3Qgb3B0aW9ucwogICAgICovCiAgICAgX3RlbXBsYXRlT3B0aW9uOiBmdW5j
dGlvbihvcHRpb25zKSB7Ci0gICAgICAgIHJldHVybiAnPG9wdGlvbiB2YWx1ZT0zRCInICsgb3B0
aW9ucy52YWx1ZSArICciPicgKyBvcHRpb25zLmxhYmVsID0KKyAnPC9vcHRpb24+JzsKKyAgICAg
ICAgcmV0dXJuICc8b3B0aW9uIHZhbHVlPTNEIicgKyBvcHRpb25zLnZhbHVlICsgJyI+JyArIF8u
ZXNjYXBlKG9wdGlvPQpucy5sYWJlbCkgKyAnPC9vcHRpb24+JzsKICAgICB9LAo9MjAKICAgICAv
KiogVGVtcGxhdGUgZm9yIHNlbGVjdCB2aWV3CgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZm
ZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgx
ODk3OTdlOTc5IGNsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMvdWkvdWktc2VsZWN0LWxpYnJhcnku
anMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy91aS91aS1zZWxlY3QtbGlicmFyeS5q
cworKysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMvbXZjL3VpL3VpLXNlbGVjdC1saWJyYXJ5Lmpz
CkBAIC00LDcgKzQsNyBAQAo9MjAKIC8vIGNvbGxlY3Rpb24gb2YgbGlicmFyaWVzCiB2YXIgTGli
cmFyaWVzID0zRCBCYWNrYm9uZS5Db2xsZWN0aW9uLmV4dGVuZCh7Ci0gICAgdXJsOiBnYWxheHlf
Y29uZmlnLnJvb3QgKyAnYXBpL2xpYnJhcmllcycKKyAgICB1cmw6IGdhbGF4eV9jb25maWcucm9v
dCArICdhcGkvbGlicmFyaWVzP2RlbGV0ZWQ9M0RmYWxzZScKIH0pOwo9MjAKIC8vIGNvbGxlY3Rp
b24gb2YgZGF0YXNldAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5
YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGll
bnQvZ2FsYXh5L3NjcmlwdHMvbXZjL3VwbG9hZC91cGxvYWQtcm93LmpzCi0tLSBhL2NsaWVudC9n
YWxheHkvc2NyaXB0cy9tdmMvdXBsb2FkL3VwbG9hZC1yb3cuanMKKysrIGIvY2xpZW50L2dhbGF4
eS9zY3JpcHRzL212Yy91cGxvYWQvdXBsb2FkLXJvdy5qcwpAQCAtMTE4LDcgKzExOCw3IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLm9uKCdtb3VzZWRvd24nLCBmdW5jdGlvbihlKSB7
IGUucHJldmVudERlZmF1bD0KdCgpOyB9KTsKPTIwCiAgICAgICAgIC8vIGhhbmRsZSB0ZXh0IGVk
aXRpbmcgZXZlbnQKLSAgICAgICAgaXQuZmluZCgnI3RleHQtY29udGVudCcpLm9uKCdrZXl1cCcs
IGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgaXQuZmluZCgnI3RleHQtY29udGVudCcpLm9uKCdjaGFu
Z2UgaW5wdXQnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgICAgICBzZWxmLm1vZGVsLnNldCgndXJs
X3Bhc3RlJywgJChlLnRhcmdldCkudmFsKCkpOwogICAgICAgICAgICAgc2VsZi5tb2RlbC5zZXQo
J2ZpbGVfc2l6ZScsICQoZS50YXJnZXQpLnZhbCgpLmxlbmd0aCk7CiAgICAgICAgIH0pOwoKZGlm
ZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZi
ODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMv
bXZjL3dvcmtmbG93L3dvcmtmbG93LXRlcm1pbmFscy5qcwotLS0gYS9jbGllbnQvZ2FsYXh5L3Nj
cmlwdHMvbXZjL3dvcmtmbG93L3dvcmtmbG93LXRlcm1pbmFscy5qcworKysgYi9jbGllbnQvZ2Fs
YXh5L3NjcmlwdHMvbXZjL3dvcmtmbG93L3dvcmtmbG93LXRlcm1pbmFscy5qcwpAQCAtNDU0LDcg
KzQ1NCw3IEBACiAgICAgICAgIH0KICAgICB9KTsKPTIwCi0gICAgdmFyIE91dHB1dENvbGxlY3Rp
b25UZXJtaW5hbCA9M0QgT3V0cHV0VGVybWluYWwuZXh0ZW5kKCB7CisgICAgdmFyIE91dHB1dENv
bGxlY3Rpb25UZXJtaW5hbCA9M0QgVGVybWluYWwuZXh0ZW5kKCB7CiAgICAgICAgIGluaXRpYWxp
emU6IGZ1bmN0aW9uKCBhdHRyICkgewogICAgICAgICAgICAgVGVybWluYWwucHJvdG90eXBlLmlu
aXRpYWxpemUuY2FsbCggdGhpcywgYXR0ciApOwogICAgICAgICAgICAgdGhpcy5kYXRhdHlwZXMg
PTNEIGF0dHIuZGF0YXR5cGVzOwoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBj
ZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3
OSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvdml6L3N3ZWVwc3Rlci5qcwotLS0gYS9jbGllbnQvZ2Fs
YXh5L3NjcmlwdHMvdml6L3N3ZWVwc3Rlci5qcworKysgYi9jbGllbnQvZ2FsYXh5L3NjcmlwdHMv
dml6L3N3ZWVwc3Rlci5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qKgotICogVmlzdWFsaXphdGlvbiBh
bmQgY29tcG9uZW50cyBmb3IgU3dlZXBzdGVyLCBhIHZpc3VhbGl6YXRpb24gZm9yIGV4cGxvcmk9
Cm5nIGEgdG9vbCdzIHBhcmFtZXRlciBzcGFjZSB2aWE9MjAKKyAqIFZpc3VhbGl6YXRpb24gYW5k
IGNvbXBvbmVudHMgZm9yIFN3ZWVwc3RlciwgYSB2aXN1YWxpemF0aW9uIGZvciBleHBsb3JpPQpu
ZyBhIHRvb2wncyBwYXJhbWV0ZXIgc3BhY2UgdmlhCiAgKiBnZW5vbWljIHZpc3VhbGl6YXRpb24u
CiAgKi8KPTIwCkBAIC03LDcgKzcsNyBAQAogICAgICAgIGZ1bmN0aW9uKF8sIGQzLCB1dGlsLCB2
aXN1YWxpemF0aW9uLCB0cmFja3MsIHRvb2xzLCBkYXRhLCBjb25maWcsIG09Cm9kX2ljb25fYnRu
KSB7Cj0yMAogLyoqCi0gKiBBIGNvbGxlY3Rpb24gb2YgdG9vbCBpbnB1dCBzZXR0aW5ncy4gT2Jq
ZWN0IGlzIHVzZWZ1bCBmb3Iga2VlcGluZyBhIGxpcz0KdCBvZiBzZXR0aW5ncz0yMAorICogQSBj
b2xsZWN0aW9uIG9mIHRvb2wgaW5wdXQgc2V0dGluZ3MuIE9iamVjdCBpcyB1c2VmdWwgZm9yIGtl
ZXBpbmcgYSBsaXM9CnQgb2Ygc2V0dGluZ3MKICAqIGZvciBmdXR1cmUgdXNlIHdpdGhvdXQgY2hh
bmdpbmcgdGhlIGlucHV0J3MgdmFsdWUgYW5kIGZvciBwcmVzZXJ2aW5nIGluPQpwdXRzIG9yZGVy
LgogICovCiB2YXIgVG9vbElucHV0c1NldHRpbmdzID0zRCBCYWNrYm9uZS5Nb2RlbC5leHRlbmQo
ewpAQCAtMTYsNyArMTYsNyBAQAogICAgICAgICB2YWx1ZXM6IG51bGwKICAgICB9CiB9KTsKLT0y
MAorCiAvKioKICAqIFRyZWUgZm9yIGEgdG9vbCdzIHBhcmFtZXRlcnMuCiAgKi8KQEAgLTI1LDcg
KzI1LDcgQEAKICAgICAgICAgdG9vbDogbnVsbCwKICAgICAgICAgdHJlZV9kYXRhOiBudWxsCiAg
ICAgfSwKLSAgID0yMAorCiAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24ob3B0aW9ucykgewogICAg
ICAgICAvLyBTZXQgdXAgdG9vbCBwYXJhbWV0ZXJzIHRvIHdvcmsgd2l0aCB0cmVlLgogICAgICAg
ICB2YXIgc2VsZiA9M0QgdGhpczsKQEAgLTEwOSw3ICsxMDksNyBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgfTsKICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgfQot
ICAgICAgICAgICAgICAgPTIwCisKICAgICAgICAgICAgICAgICAvLyBSZWN1cnNlIHRvIGhhbmRs
ZSBvdGhlciBwYXJhbWV0ZXJzLgogICAgICAgICAgICAgICAgIHJldHVybiBfLm1hcChzZXR0aW5n
cywgZnVuY3Rpb24oc2V0dGluZykgewogICAgICAgICAgICAgICAgICAgICByZXR1cm4gewpAQCAt
MTQxLDcgKzE0MSw3IEBACiAgICAgZ2V0X251bV9sZWF2ZXM6IGZ1bmN0aW9uKCkgewogICAgICAg
ICByZXR1cm4gdGhpcy5nZXRfdHJlZV9wYXJhbXMoKS5yZWR1Y2UoZnVuY3Rpb24obWVtbywgcGFy
YW0pIHsgcmV0dXI9Cm4gbWVtbyAqIHBhcmFtLmdldF9zYW1wbGVzKCkubGVuZ3RoOyB9LCAxKTsK
ICAgICB9LAotICAgPTIwCisKICAgICAvKioKICAgICAgKiBSZXR1cm5zIGFycmF5IG9mIFRvb2xJ
bnB1dHNTZXR0aW5ncyBvYmplY3RzIGJhc2VkIG9uIGEgbm9kZSBhbmQgaXRzPQogc3VidHJlZS4K
ICAgICAgKi8KQEAgLTE1OSw3ICsxNTksNyBAQAogICAgICAgICAgICAgICAgIGN1cl9ub2RlID0z
RCBjdXJfbm9kZS5wYXJlbnQ7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICA9MjAK
KwogICAgICAgICAvLyBXYWxrIHN1YnRyZWUgc3RhcnRpbmcgYXQgY2xpY2tlZCBub2RlIHRvIGdl
dCBmdWxsIGxpc3Qgb2Ygc2V0dGk9Cm5ncy4KICAgICAgICAgdmFyIHNlbGYgPTNEIHRoaXMsCiAg
ICAgICAgICAgICBnZXRfc2V0dGluZ3MgPTNEIGZ1bmN0aW9uKG5vZGUsIHNldHRpbmdzKSB7CkBA
IC0xNjgsNyArMTY4LDcgQEAKICAgICAgICAgICAgICAgICBpZiAobm9kZS5wYXJhbSkgewogICAg
ICAgICAgICAgICAgICAgICBzZXR0aW5nc1tub2RlLnBhcmFtLmdldCgnbmFtZScpXSA9M0Qgbm9k
ZS52YWx1ZTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgID0yMAorCiAgICAgICAgICAg
ICAgICAgaWYgKCFub2RlLmNoaWxkcmVuKSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIEF0IGxl
YWYgbm9kZSwgc28gcmV0dXJuIHNldHRpbmdzLgogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
bmV3IFRvb2xJbnB1dHNTZXR0aW5ncyh7CkBAIC0xODIsMTAgKzE4MiwxMCBAQAogICAgICAgICAg
ICAgICAgIH0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICBhbGxfc2V0dGluZ3MgPTNEIGdl
dF9zZXR0aW5ncyh0YXJnZXRfbm9kZSwgZml4ZWRfc2V0dGluZ3MpOwotICAgICAgID0yMAorCiAg
ICAgICAgIC8vIElmIHVzZXIgY2xpY2tlZCBvbiBsZWFmLCBzZXR0aW5ncyBpcyBhIHNpbmdsZSBk
aWN0LiBDb252ZXJ0IHRvID0KYXJyYXkgZm9yIHNpbXBsaWNpdHkuCiAgICAgICAgIGlmICghXy5p
c0FycmF5KGFsbF9zZXR0aW5ncykpIHsgYWxsX3NldHRpbmdzID0zRCBbIGFsbF9zZXR0aW5ncyBd
Oz0KIH0KLSAgICAgICA9MjAKKwogICAgICAgICByZXR1cm4gYWxsX3NldHRpbmdzOwogICAgIH0s
Cj0yMApAQCAtMjM1LDcgKzIzNSw3IEBACiAgICAgICogUmV0dXJucyBhIGxpc3Qgb2YgcGFyYW1l
dGVycyB1c2VkIGluIHRyZWUuCiAgICAgICovCiAgICAgdG9KU09OOiBmdW5jdGlvbigpIHsKLSAg
ICAgICAgLy8gRklYTUU6IHJldHVybmluZyBhbmQganNvbmlmeWluZyBjb21wbGV0ZSBwYXJhbSBj
YXVzZXMgdHJvdWJsZSBvPQpuIHRoZSBzZXJ2ZXIgc2lkZSw9MjAKKyAgICAgICAgLy8gRklYTUU6
IHJldHVybmluZyBhbmQganNvbmlmeWluZyBjb21wbGV0ZSBwYXJhbSBjYXVzZXMgdHJvdWJsZSBv
PQpuIHRoZSBzZXJ2ZXIgc2lkZSwKICAgICAgICAgLy8gc28ganVzdCB1c2UgZXNzZW50aWFsIGF0
dHJpYnV0ZXMgZm9yIG5vdy4KICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0X3RyZWVfcGFyYW1zKCku
bWFwKGZ1bmN0aW9uKHBhcmFtKSB7CiAgICAgICAgICAgICByZXR1cm4gewpAQCAtMjU1LDcgKzI1
NSw3IEBACiAgICAgICAgIHNldHRpbmdzOiBudWxsLAogICAgICAgICByZWdpb25zOiBudWxsCiAg
ICAgfSwKLSAgID0yMAorCiAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24ob3B0aW9ucykgewogICAg
ICAgICB0aGlzLnNldCgncmVnaW9ucycsIG9wdGlvbnMucmVnaW9ucyk7CiAgICAgICAgIGlmIChv
cHRpb25zLnRyYWNrKSB7CkBAIC0yNzIsNyArMjcyLDcgQEAKICAgICAgICAgdmFyIHRoaXNfc2V0
dGluZ3MgPTNEIHRoaXMuZ2V0KCdzZXR0aW5ncycpLAogICAgICAgICAgICAgb3RoZXJfc2V0dGlu
Z3MgPTNEIGFfdHJhY2suZ2V0KCdzZXR0aW5ncycpOwogICAgICAgICBmb3IgKHZhciBwcm9wIGlu
IHRoaXNfc2V0dGluZ3MpIHsKLSAgICAgICAgICAgIGlmICghb3RoZXJfc2V0dGluZ3NbcHJvcF0g
fHw9MjAKKyAgICAgICAgICAgIGlmICghb3RoZXJfc2V0dGluZ3NbcHJvcF0gfHwKICAgICAgICAg
ICAgICAgICB0aGlzX3NldHRpbmdzW3Byb3BdICE9M0Q9M0Qgb3RoZXJfc2V0dGluZ3NbcHJvcF0p
IHsKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICB9CkBAIC0zMTYs
OCArMzE2LDggQEAKICAgICAgICAgdGhpcy5zZXQoJ3Rvb2xfd2l0aF9zYW1wbGFibGVfaW5wdXRz
JywgdG9vbF93aXRoX3NhbXBsYWJsZV9pbnB1dHMpOwogICAgICAgICAvLyBSZW1vdmUgY29tcGxl
eCBwYXJhbWV0ZXJzIGZvciBub3cuCiAgICAgICAgIHRvb2xfd2l0aF9zYW1wbGFibGVfaW5wdXRz
LnJlbW92ZV9pbnB1dHMoIFsgJ2RhdGEnLCAnaGlkZGVuX2RhdGEnLD0KICdjb25kaXRpb25hbCcs
ICd0ZXh0JyBdICk7Ci0gICAgICAgPTIwCi0gICAgICAgIHRoaXMuc2V0KCdwYXJhbWV0ZXJfdHJl
ZScsIG5ldyBUb29sUGFyYW1ldGVyVHJlZSh7PTIwCisKKyAgICAgICAgdGhpcy5zZXQoJ3BhcmFt
ZXRlcl90cmVlJywgbmV3IFRvb2xQYXJhbWV0ZXJUcmVlKHsKICAgICAgICAgICAgIHRvb2w6IHRv
b2xfd2l0aF9zYW1wbGFibGVfaW5wdXRzLAogICAgICAgICAgICAgY29uZmlnOiBvcHRpb25zLnRy
ZWVfY29uZmlnCiAgICAgICAgIH0pKTsKQEAgLTQ0NSw5ICs0NDUsOSBAQAogdmFyIFRvb2xJbnB1
dFZhbE9yU3dlZXBWaWV3ID0zRCBCYWNrYm9uZS5WaWV3LmV4dGVuZCh7Cj0yMAogICAgIC8vIFRl
bXBsYXRlIGZvciByZW5kZXJpbmcgc3dlZXAgaW5wdXRzOgotICAgIG51bWJlcl9pbnB1dF90ZW1w
bGF0ZTogJzxkaXYgY2xhc3M9M0QiZm9ybS1yb3ctaW5wdXQgc3dlZXAiPicgKz0yMAorICAgIG51
bWJlcl9pbnB1dF90ZW1wbGF0ZTogJzxkaXYgY2xhc3M9M0QiZm9ybS1yb3ctaW5wdXQgc3dlZXAi
PicgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpbnB1dCBjbGFzcz0zRCJtaW4iIHR5
cGU9M0QidGV4dCIgc2l6ZT0zRCI2IiA9CnZhbHVlPTNEIjwlPTNEIG1pbiAlPiI+IC0gJyArCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IGNsYXNzPTNEIm1heCIgdHlwZT0zRCJ0
ZXh0IiBzaXplPTNEIjYiID0KdmFsdWU9M0QiPCU9M0QgbWF4ICU+Ij4nICs9MjAKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8aW5wdXQgY2xhc3M9M0QibWF4IiB0eXBlPTNEInRleHQiIHNp
emU9M0QiNiIgPQp2YWx1ZT0zRCI8JT0zRCBtYXggJT4iPicgKwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJyBzYW1wbGVzOiA8aW5wdXQgY2xhc3M9M0QibnVtX3NhbXBsZXMiIHR5cGU9M0Q9
CiJ0ZXh0IiBzaXplPTNEIjEiIHZhbHVlPTNEIjwlPTNEIG51bV9zYW1wbGVzICU+Ij4nICsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICc8L2Rpdj4nLAo9MjAKQEAgLTQ3MSwxNiArNDcxLDE2
IEBACj0yMAogICAgICAgICAvLyBBZGQgcm93IGZvciBwYXJhbWV0ZXIgc3dlZXAgaW5wdXRzLgog
ICAgICAgICBpZiAoaW5wdXQgaW5zdGFuY2VvZiB0b29scy5JbnRlZ2VyVG9vbFBhcmFtZXRlcikg
ewotICAgICAgICAgICAgc3dlZXBfaW5wdXRzX3JvdyA9M0QgJChfLnRlbXBsYXRlKHRoaXMubnVt
YmVyX2lucHV0X3RlbXBsYXRlLCA9CnRoaXMubW9kZWwudG9KU09OKCkpKTsKKyAgICAgICAgICAg
IHN3ZWVwX2lucHV0c19yb3cgPTNEICQoIF8udGVtcGxhdGUodGhpcy5udW1iZXJfaW5wdXRfdGVt
cGxhdGUpPQoodGhpcy5tb2RlbC50b0pTT04oKSkgKTsKICAgICAgICAgfQogICAgICAgICBlbHNl
IGlmIChpbnB1dCBpbnN0YW5jZW9mIHRvb2xzLlNlbGVjdFRvb2xQYXJhbWV0ZXIpIHsKICAgICAg
ICAgICAgIHZhciBvcHRpb25zID0zRCBfLm1hcCh0aGlzLiRlbC5maW5kKCdzZWxlY3Qgb3B0aW9u
JyksIGZ1bmN0aW9uPQoob3B0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiAkKG9w
dGlvbikudmFsKCk7CiAgICAgICAgICAgICAgICAgfSksCiAgICAgICAgICAgICAgICAgb3B0aW9u
c190ZXh0ID0zRCBvcHRpb25zLmpvaW4oJywgJyk7Ci0gICAgICAgICAgICBzd2VlcF9pbnB1dHNf
cm93ID0zRCAkKF8udGVtcGxhdGUodGhpcy5zZWxlY3RfaW5wdXRfdGVtcGxhdGUsIHsKKyAgICAg
ICAgICAgIHN3ZWVwX2lucHV0c19yb3cgPTNEICQoIF8udGVtcGxhdGUodGhpcy5zZWxlY3RfaW5w
dXRfdGVtcGxhdGUpPQooewogICAgICAgICAgICAgICAgIG9wdGlvbnM6IG9wdGlvbnNfdGV4dAot
ICAgICAgICAgICAgfSkpOworICAgICAgICAgICAgfSkgKTsKICAgICAgICAgfQogICAgICAgICBz
d2VlcF9pbnB1dHNfcm93Lmluc2VydEFmdGVyKHNpbmdsZV9pbnB1dF9yb3cpOwo9MjAKQEAgLTQ5
Nyw3ICs0OTcsNyBAQAogICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmhpZGUoKTsKICAgICAg
ICAgICAgICAgICAgICAgc2VsZi4kZWwuZmluZCgnLmljb24tYnV0dG9uLnRvZ2dsZScpLnNob3co
KTsKICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICA9MjAKKwogICAgICAgICAgICAg
fSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB0aXRsZTogJ1JlbW92ZSBwYXJhbWV0
ZXIgZnJvbSB0cmVlJywKQEAgLTUxMSw5ICs1MTEsOSBAQAogICAgICAgICAgICAgICAgICAgICBz
ZWxmLiRlbC5maW5kKCcuaWNvbi1idXR0b24ucGx1cy1idXR0b24nKS5zaG93KCk7CiAgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgXSw9MjAKKyAgICAgICAgICAg
IF0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICA9MjAKKwogICAgICAgICAgICAgfSk7
CiAgICAgICAgICAgICB0aGlzLiRlbC5wcmVwZW5kKG1lbnUuJGVsKTsKPTIwCkBAIC01NjgsMTIg
KzU2OCwxMiBAQAogICovCiB2YXIgVG9vbFBhcmFtZXRlclRyZWVWaWV3ID0zRCBCYWNrYm9uZS5W
aWV3LmV4dGVuZCh7CiAgICAgY2xhc3NOYW1lOiAndG9vbC1wYXJhbWV0ZXItdHJlZScsCi0gICA9
MjAKKwogICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKG9wdGlvbnMpIHsKICAgICAgICAgLy8gV2hl
biB0cmVlIGRhdGEgY2hhbmdlcywgcmUtcmVuZGVyLgogICAgICAgICB0aGlzLm1vZGVsLm9uKCdj
aGFuZ2U6dHJlZV9kYXRhJywgdGhpcy5yZW5kZXIsIHRoaXMpOwogICAgIH0sCi0gICA9MjAKKwog
ICAgIHJlbmRlcjogZnVuY3Rpb24oKSB7CiAgICAgICAgIC8vIFN0YXJ0IGZyZXNoLgogICAgICAg
ICB0aGlzLiRlbC5jaGlsZHJlbigpLnJlbW92ZSgpOwpAQCAtNjQwLDcgKzY0MCw3IEBACiAgICAg
ICAgICAgLm9uKCdtb3VzZW91dCcsIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgbm9kZS5zdHls
ZSgnZmlsbCcsICcjMDAwJyk7CiAgICAgICAgICAgfSk7Ci0gPTIwCisKICAgICAgICAgbm9kZS5h
cHBlbmQoImNpcmNsZSIpCiAgICAgICAgICAgLmF0dHIoInIiLCA5KTsKPTIwCkBAIC02NTgsMTMg
KzY1OCwxMyBAQAogdmFyIFN3ZWVwc3RlclZpc3VhbGl6YXRpb25WaWV3ID0zRCBCYWNrYm9uZS5W
aWV3LmV4dGVuZCh7CiAgICAgY2xhc3NOYW1lOiAnU3dlZXBzdGVyJywKPTIwCi0gICAgaGVscFRl
eHQ6PTIwCisgICAgaGVscFRleHQ6CiAgICAgICAgICc8ZGl2PjxoND5HZXR0aW5nIFN0YXJ0ZWQ8
L2g0PicgKwogICAgICAgICAnPG9sPjxsaT5DcmVhdGUgYSBwYXJhbWV0ZXIgdHJlZSBieSB1c2lu
ZyB0aGUgaWNvbnMgbmV4dCB0byB0aGUgdG89Cm9sXCdzIHBhcmFtZXRlciBuYW1lcyB0byBhZGQg
b3IgcmVtb3ZlIHBhcmFtZXRlcnMuJyArCiAgICAgICAgICc8bGk+QWRqdXN0IHRoZSB0cmVlIGJ5
IHVzaW5nIHBhcmFtZXRlciBpbnB1dHMgdG8gc2VsZWN0IG1pbiwgbWF4LD0KIGFuZCBudW1iZXIg
b2Ygc2FtcGxlcycgKwogICAgICAgICAnPGxpPlJ1biB0aGUgdG9vbCB3aXRoIGRpZmZlcmVudCBz
ZXR0aW5ncyBieSBjbGlja2luZyBvbiB0cmVlIG5vZGU9CnMnICsKICAgICAgICAgJzwvb2w+PC9k
aXY+JywKLSAgID0yMAorCiAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24ob3B0aW9ucykgewogICAg
ICAgICB0aGlzLmNhbnZhc19tYW5hZ2VyID0zRCBuZXcgdmlzdWFsaXphdGlvbi5DYW52YXNNYW5h
Z2VyKHRoaXMuJGVsLnA9CmFyZW50cygnYm9keScpKTsKICAgICAgICAgdGhpcy50b29sX3BhcmFt
X3RyZWVfdmlldyA9M0QgbmV3IFRvb2xQYXJhbWV0ZXJUcmVlVmlldyh7IG1vZGVsOiB0PQpoaXMu
bW9kZWwuZ2V0KCdwYXJhbWV0ZXJfdHJlZScpIH0pOwpAQCAtNjgwLDcgKzY4MCw3IEBACiAgICAg
ICAgIH0pOwo9MjAKICAgICAgICAgLy8gU2V0IGJsb2NrLCByZXZlcnNlIHN0cmFuZCBibG9jayBj
b2xvcnM7IHRoZXNlIGNvbG9ycyB3aWxsIGJlIHVzPQplZCBmb3IgYWxsIHRyYWNrcy4KLSAgICAg
ICAgdGhpcy5jb25maWcgPTNEIGNvbmZpZy5Db25maWdTZXR0aW5nQ29sbGVjdGlvbi5mcm9tX21v
ZGVsc19hbmRfc2F2PQplZF92YWx1ZXMoPTIwCisgICAgICAgIHRoaXMuY29uZmlnID0zRCBjb25m
aWcuQ29uZmlnU2V0dGluZ0NvbGxlY3Rpb24uZnJvbV9tb2RlbHNfYW5kX3Nhdj0KZWRfdmFsdWVz
KAogICAgICAgICAgICAgWwogICAgICAgICAgICAgICAgIHsga2V5OiAnbmFtZScsIGxhYmVsOiAn
TmFtZScsIHR5cGU6ICd0ZXh0JywgZGVmYXVsdF92YWx1ZTo9CiAnJyB9LAogICAgICAgICAgICAg
ICAgIHsga2V5OiAnYV9jb2xvcicsIGxhYmVsOiAnQSBDb2xvcicsIHR5cGU6ICdjb2xvcicsIGRl
ZmF1bHQ9Cl92YWx1ZTogIiNGRjAwMDAiIH0sCkBAIC02OTMsNyArNjkzLDcgQEAKICAgICAgICAg
ICAgIF0sIHt9CiAgICAgICAgICk7CiAgICAgfSwKLSAgID0yMAorCiAgICAgcmVuZGVyOiBmdW5j
dGlvbigpIHsKICAgICAgICAgLy8gUmVuZGVyIHRyZWUgZGVzaWduIHZpZXcgaW4gbGVmdCBwYW5l
bC4KICAgICAgICAgdmFyIHRyZWVfZGVzaWduX3ZpZXcgPTNEIG5ldyBUb29sUGFyYW1ldGVyVHJl
ZURlc2lnblZpZXcoewpAQCAtNzQ5LDcgKzc0OSw3IEBACiAgICAgICAgICAgICBbCiAgICAgICAg
ICAgICAgICAgLy8gU2F2ZS4KICAgICAgICAgICAgICAgICAvKgotICAgICAgICAgICAgICAgIHsg
aWNvbl9jbGFzczogJ2Rpc2stLWFycm93JywgdGl0bGU6ICdTYXZlJywgb25fY2xpY2s6IGZ1bmM9
CnRpb24oKSB7PTIwCisgICAgICAgICAgICAgICAgeyBpY29uX2NsYXNzOiAnZGlzay0tYXJyb3cn
LCB0aXRsZTogJ1NhdmUnLCBvbl9jbGljazogZnVuYz0KdGlvbigpIHsKICAgICAgICAgICAgICAg
ICAgICAgLy8gU2hvdyBzYXZpbmcgZGlhbG9nIGJveAogICAgICAgICAgICAgICAgICAgICBzaG93
X21vZGFsKCJTYXZpbmcuLi4iLCAicHJvZ3Jlc3MiKTsKPTIwCkBAIC03NjAsOCArNzYwLDggQEAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFzX2NoYW5nZXMnOiBmYWxzZQogICAgICAg
ICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgIH0pCi0gICAgICAgICAg
ICAgICAgICAgIC5lcnJvcihmdW5jdGlvbigpIHs9MjAKLSAgICAgICAgICAgICAgICAgICAgICAg
IHNob3dfbW9kYWwoICJDb3VsZCBOb3QgU2F2ZSIsICJDb3VsZCBub3Qgc2F2ZSB2aXN1PQphbGl6
YXRpb24uIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuIiw9MjAKKyAgICAgICAgICAgICAgICAgICAg
LmVycm9yKGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19tb2RhbCgg
IkNvdWxkIE5vdCBTYXZlIiwgIkNvdWxkIG5vdCBzYXZlIHZpc3U9CmFsaXphdGlvbi4gUGxlYXNl
IHRyeSBhZ2FpbiBsYXRlci4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eyAiQ2xvc2UiIDogaGlkZV9tb2RhbCB9ICk7CiAgICAgICAgICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgICAgIH0gfSwKQEAgLTc3MiwxNCArNzcyLDE0IEBACiAgICAgICAgICAgICAgICAg
ICAgIHRpdGxlOiAnU2V0IGRpc3BsYXkgbW9kZScKICAgICAgICAgICAgICAgICB9LAogICAgICAg
ICAgICAgICAgIC8vIENsb3NlIHZpei4KLSAgICAgICAgICAgICAgICB7PTIwCi0gICAgICAgICAg
ICAgICAgICAgIGljb25fY2xhc3M6ICdjcm9zcy1jaXJjbGUnLD0yMAotICAgICAgICAgICAgICAg
ICAgICB0aXRsZTogJ0Nsb3NlJyw9MjAKLSAgICAgICAgICAgICAgICAgICAgb25fY2xpY2s6IGZ1
bmN0aW9uKCkgez0yMAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgaWNv
bl9jbGFzczogJ2Nyb3NzLWNpcmNsZScsCisgICAgICAgICAgICAgICAgICAgIHRpdGxlOiAnQ2xv
c2UnLAorICAgICAgICAgICAgICAgICAgICBvbl9jbGljazogZnVuY3Rpb24oKSB7CiAgICAgICAg
ICAgICAgICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPTNEICIke2gudXJsX2ZvciggY29udHJv
bGxlcj0zRCd2aT0Kc3VhbGl6YXRpb24nLCBhY3Rpb249M0QnbGlzdCcgKX0iOwotICAgICAgICAg
ICAgICAgICAgICB9PTIwCisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBdLD0yMAorICAgICAgICAgICAgXSwKICAgICAgICAgICAgIHsKICAgICAg
ICAgICAgICAgICB0b29sdGlwX2NvbmZpZzoge3BsYWNlbWVudDogJ2JvdHRvbSd9CiAgICAgICAg
ICAgICB9KTsKQEAgLTc5NywxMyArNzk3LDEzIEBACiAgICAgICAgICAgICB9KTsKPTIwCiAgICAg
ICAgICAgICBtYWtlX3BvcHVwbWVudShtZW51LiRlbC5maW5kKCcuY2hldnJvbi1leHBhbmQnKSwg
bW9kZV9tYXBwaW5nKTsKLSAgICAgICA9MjAKKwogICAgICAgICBtZW51LiRlbC5hdHRyKCJzdHls
ZSIsICJmbG9hdDogcmlnaHQiKTsKICAgICAgICAgJCgiI3JpZ2h0IC51bmlmaWVkLXBhbmVsLWhl
YWRlci1pbm5lciIpLmFwcGVuZChtZW51LiRlbCk7CiAgICAgfSwKPTIwCiAgICAgZ2V0X2Jhc2Vf
Y29sb3I6IGZ1bmN0aW9uKGJhc2UpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldF92
YWx1ZShiYXNlLnRvTG93ZXJDYXNlKCkgKyAnX2NvbG9yJykgfHw9MjAKKyAgICAgICAgcmV0dXJu
IHRoaXMuY29uZmlnLmdldF92YWx1ZShiYXNlLnRvTG93ZXJDYXNlKCkgKyAnX2NvbG9yJykgfHwK
ICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmdldF92YWx1ZSgnbl9jb2xvcicpOwogICAgIH0s
Cj0yMApAQCAtODU3LDcgKzg1Nyw3IEBACiAgICAgfSwKPTIwCiAgICAgLyoqCi0gICAgICogU2V0
cyB1cCBoYW5kbGluZyB3aGVuIHRyZWUgbm9kZXMgYXJlIGNsaWNrZWQuIFdoZW4gYSBub2RlIGlz
IGNsaWNrZT0KZCwgdGhlIHRvb2wgaXMgcnVuIGZvciBlYWNoIG9mPTIwCisgICAgICogU2V0cyB1
cCBoYW5kbGluZyB3aGVuIHRyZWUgbm9kZXMgYXJlIGNsaWNrZWQuIFdoZW4gYSBub2RlIGlzIGNs
aWNrZT0KZCwgdGhlIHRvb2wgaXMgcnVuIGZvciBlYWNoIG9mCiAgICAgICogdGhlIHNldHRpbmdz
IGRlZmluZWQgYnkgdGhlIG5vZGUncyBzdWJ0cmVlIGFuZCB0cmFja3MgYXJlIGFkZGVkIGZvcj0K
IGVhY2ggcnVuLgogICAgICAqLwogICAgIGhhbmRsZV9ub2RlX2NsaWNrczogZnVuY3Rpb24oKSB7
CkBAIC04NzUsMTEgKzg3NSwxMSBAQAo9MjAKICAgICAgICAgICAgIC8vIERvIG5vdCBhbGxvdyAx
MCsgam9icyB0byBiZSBydW4uCiAgICAgICAgICAgICBpZiAoYWxsX3NldHRpbmdzLmxlbmd0aCA+
PTNEIDEwKSB7Ci0gICAgICAgICAgICAgICAgc2hvd19tb2RhbCgiV2hvYSB0aGVyZSBjb3dib3kh
Iiw9MjAKKyAgICAgICAgICAgICAgICBzaG93X21vZGFsKCJXaG9hIHRoZXJlIGNvd2JveSEiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZb3UgY2xpY2tlZCBvbiBhIG5vZGUgdG8gdHJ5
ICIgKyBzZWxmLm1vZGVsLmc9CmV0KCd0b29sJykuZ2V0KCduYW1lJykgKwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICIgd2l0aCAiICsgYWxsX3NldHRpbmdzLmxlbmd0aCArCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIiBkaWZmZXJlbnQgY29tYmluYXRpb25zIG9mIHNldHRpbmdz
LiBZb3UgY2FuID0Kb25seSBydW4gMTAgam9icyBhdCBhIHRpbWUuIiwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB7PTIwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiT2siOiBmdW5jdGlvbigpIHsgaGlkZV9tb2RhbCgp
OyBydW5fam9ic189CmRlZmVycmVkLnJlc29sdmUoZmFsc2UpOyB9CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICB9CkBAIC05MDEsNyArOTAxLDcgQEAKICAgICAg
ICAgICAgICAgICAgICAgc2VsZi5hZGRfdHJhY2socG1fdHJhY2spOwogICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gcG1fdHJhY2s7CiAgICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAg
ICAgICAgPTIwCisKICAgICAgICAgICAgICAgICAvLyBGb3IgZWFjaCB0cmFjaywgcnVuIHRvb2wg
dXNpbmcgdHJhY2sncyBzZXR0aW5ncyBhbmQgdXBkPQphdGUgdHJhY2suCiAgICAgICAgICAgICAg
ICAgXy5lYWNoKG5ld190cmFja3MsIGZ1bmN0aW9uKHBtX3RyYWNrLCBpbmRleCkgewogICAgICAg
ICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewpAQCAtOTE1LDcgKzkxNSw3IEBA
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrX2NvbmZpZyA9M0QgZGF0YXNl
dC5nZXQoJ3RyYWNrX2NvbmZpZz0KJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g
U2V0IGRhdGFzZXQgdG8gYmUgdGhlIHRvb2wncyBvdXRwdXQuCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdHJhY2tfY29uZmlnLmRhdGFzZXQgPTNEIGRhdGFzZXQ7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgLy8gU2V0IHRvb2wgdG8gbnVsbCBzbyB0aGF0IGl0IGlzIG5vdCB1bnBh
Y2tlZD0KOyB1bnBhY2tpbmcgaXQgbWVzc2VzIHdpdGg9MjAKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAvLyBTZXQgdG9vbCB0byBudWxsIHNvIHRoYXQgaXQgaXMgbm90IHVucGFja2VkPQo7
IHVucGFja2luZyBpdCBtZXNzZXMgd2l0aAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v
IHRoZSB0b29sIHBhcmFtZXRlcnMgYW5kIHBhcmFtZXRlciB0cmVlLgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYWNrX2NvbmZpZy50b29sID0zRCBudWxsOwo9MjAKQEAgLTkyNCwxMSAr
OTI0LDExIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQg
dHJhY2sgZm9yIG91dHB1dCBkYXRhc2V0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZh
ciB0cmFja19vYmogPTNEIHRyYWNrcy5vYmplY3RfZnJvbV90ZW1wbGF0ZSg9CnRyYWNrX2NvbmZp
Zywgc2VsZiwgbnVsbCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhY2tfb2JqLmlu
aXRfZm9yX3Rvb2xfZGF0YSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgPTIwCisKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwbV90cmFjay5zZXQoJ3RyYWNrJywgdHJhY2tfb2Jq
KTsKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgICB9LCBp
bmRleCAqIDEwMDAwKTsKLSAgICAgICAgICAgICAgICB9KTsgICA9MjAKKyAgICAgICAgICAgICAg
ICB9KTsKICAgICAgICAgICAgIH0pOwogICAgICAgICB9KTsKICAgICB9CgpkaWZmIC1yIGM4YWIw
ZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2
ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGNsaWVudC90b29sc2hlZC9zY3JpcHRzL212Yy9ncm91
cHMvZ3JvdXAtZGV0YWlsLXZpZXcuanMKLS0tIGEvY2xpZW50L3Rvb2xzaGVkL3NjcmlwdHMvbXZj
L2dyb3Vwcy9ncm91cC1kZXRhaWwtdmlldy5qcworKysgYi9jbGllbnQvdG9vbHNoZWQvc2NyaXB0
cy9tdmMvZ3JvdXBzL2dyb3VwLWRldGFpbC12aWV3LmpzCkBAIC01Niw3ICs1Niw3IEBACiAgICAg
dGVtcGxhdGVSb3c6IGZ1bmN0aW9uKCkgewogICAgICAgICByZXR1cm4gXy50ZW1wbGF0ZShbCiAg
ICAgICAgICAgICAgICAgJzxkaXY+JywKLSAgICAgICAgICAgICAgICAgICAgJzxoMz48JT0zRCBn
cm91cC5nZXQoIm5hbWUiKSAlPjwvaDM+JywKKyAgICAgICAgICAgICAgICAgICAgJzxoMz48JT0z
RCBfLmVzY2FwZShncm91cC5nZXQoIm5hbWUiKSkgJT48L2gzPicsCiAgICAgICAgICAgICAgICAg
ICAgICc8cCBjbGFzcz0zRCIiIHN0eWxlPTNEImNvbG9yOmdyYXk7Ij4nLAogICAgICAgICAgICAg
ICAgICAgICAnQSBncm91cCBvZiA8JT0zRCBncm91cC5nZXQoIm1lbWJlcnMiKS5sZW5ndGggJT4g
bWVtYmU9CnJzIHdpdGggPCU9M0QgZ3JvdXAuZ2V0KCJyZXBvc2l0b3JpZXMiKS5sZW5ndGggJT4g
cmVwb3NpdG9yaWVzIGFuZCBhIHRvdGFsID0Kb2YgPCU9M0QgZ3JvdXAuZ2V0KCJ0b3RhbF9kb3du
bG9hZHMiKSAlPiBjb21iaW5lZCByZXBvc2l0b3J5IGNsb25lcy48L3A+JywKPTIwCkBAIC03MSwx
MCArNzEsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPCUgXy5lYWNoKGdyb3Vw
LmdldCgibWVtYmVycyIpLCBmdW5jdGlvbihtZW1iPQplcikgeyAlPicsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJzx0cj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PHRkPicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPCU9M0QgbWVtYmVy
LnVzZXJuYW1lICU+JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JT0z
RCBfLmVzY2FwZShtZW1iZXIudXNlcm5hbWUpICU+JywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJzwvdGQ+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx0ZD4n
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxhIGRhdGEtdG9nZ2xlPTNE
InRvb2x0aXAiIGRhdGEtcGxhY2U9Cm1lbnQ9M0QidG9wIiB0aXRsZT0zRCJSZXBvc2l0b3JpZXMg
b2YgPCU9M0QgbWVtYmVyLnVzZXJuYW1lICU+IiBocmVmPTNEIi9yZT0KcG9zaXRvcnkvYnJvd3Nl
X3JlcG9zaXRvcmllc19ieV91c2VyP3VzZXJfaWQ9M0Q8JT0zRCBtZW1iZXIuaWQgJT4mdXNlX3Bh
bmVsPQpzPTNEdHJ1ZSIgaWQ9M0QiPCU9M0QgbWVtYmVyLmlkICU+Ij48JT0zRCBtZW1iZXIudXNl
cl9yZXBvc19jb3VudCAlPjwvYT4nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzxhIGRhdGEtdG9nZ2xlPTNEInRvb2x0aXAiIGRhdGEtcGxhY2U9Cm1lbnQ9M0QidG9wIiB0
aXRsZT0zRCJSZXBvc2l0b3JpZXMgb2YgPCU9M0QgXy5lc2NhcGUobWVtYmVyLnVzZXJuYW1lKSAl
PiIgaD0KcmVmPTNEIi9yZXBvc2l0b3J5L2Jyb3dzZV9yZXBvc2l0b3JpZXNfYnlfdXNlcj91c2Vy
X2lkPTNEPCU9M0QgbWVtYmVyLmlkICU+PQomdXNlX3BhbmVscz0zRHRydWUiIGlkPTNEIjwlPTNE
IG1lbWJlci5pZCAlPiI+PCU9M0QgbWVtYmVyLnVzZXJfcmVwb3NfY291bnQ9CiAlPjwvYT4nLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC90ZD4nLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnPHRkPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPCU9M0QgbWVtYmVyLnRpbWVfY3JlYXRlZCAlPicsCkBAIC0xMDEsMTYgKzEwMSwxNiBA
QAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JSBfLmVhY2goZ3JvdXAuZ2V0KCJyZXBv
c2l0b3JpZXMiKSwgZnVuY3Rpb249CihyZXBvKSB7ICU+JywKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJzx0cj4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Jzx0ZD4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8YSBkYXRh
LXRvZ2dsZT0zRCJ0b29sdGlwIiBkYXRhLXA9CmxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiRGV0
YWlscyBvZiA8JT0zRCByZXBvLm5hbWUgJT4iIGhyZWY9M0QiL3ZpZXcvPCU9Cj0zRCByZXBvLm93
bmVyICU+LzwlPTNEIHJlcG8ubmFtZSAlPiIgaWQ9M0QiPCU9M0QgcmVwby5pZCAlPiI+PCU9M0Qg
cmVwby5uYT0KbWUgJT48L2E+JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnPGEgZGF0YS10b2dnbGU9M0QidG9vbHRpcCIgZGF0YS1wPQpsYWNlbWVudD0zRCJ0b3Ai
IHRpdGxlPTNEIkRldGFpbHMgb2YgPCU9M0QgXy5lc2NhcGUocmVwby5uYW1lKSAlPiIgaHJlZj0z
RCI9Ci92aWV3LzwlPTNEIF8uZXNjYXBlKHJlcG8ub3duZXIpICU+LzwlPTNEIF9lc2NhcGUocmVw
by5uYW1lKSAlPiIgaWQ9M0QiPCU9Cj0zRCByZXBvLmlkICU+Ij48JT0zRCBfLmVzY2FwZShyZXBv
Lm5hbWUpICU+PC9hPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC90
ZD4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzx0ZD4nLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JT0zRCByZXBvLmRlc2NyaXB0aW9u
ICU+JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPCU9M0QgXy5l
c2NhcGUocmVwby5kZXNjcmlwdGlvbikgPQolPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnPC90ZD4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Jzx0ZD4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8JT0zRCBy
ZXBvLnRpbWVzX2Rvd25sb2FkZWQgJT4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJzwvdGQ+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8dGQ+
JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPCU9M0QgcmVwby5v
d25lciAlPicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwlPTNE
IF8uZXNjYXBlKHJlcG8ub3duZXIpICU+JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICc8L3RkPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPHRk
PicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwlIF8uZWFjaCgo
cmVwby5jYXRlZ29yaWVzKSwgZnVuYz0KdGlvbihjYXQpIHsgJT4nLAoKZGlmZiAtciBjOGFiMGZl
Mjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRl
MTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBjbGllbnQvdG9vbHNoZWQvc2NyaXB0cy9tdmMvZ3JvdXBz
L2dyb3VwLWxpc3Ryb3ctdmlldy5qcwotLS0gYS9jbGllbnQvdG9vbHNoZWQvc2NyaXB0cy9tdmMv
Z3JvdXBzL2dyb3VwLWxpc3Ryb3ctdmlldy5qcworKysgYi9jbGllbnQvdG9vbHNoZWQvc2NyaXB0
cy9tdmMvZ3JvdXBzL2dyb3VwLWxpc3Ryb3ctdmlldy5qcwpAQCAtMTksNyArMTksNyBAQAogICAg
IHRlbXBsYXRlUm93OiBmdW5jdGlvbigpIHsKICAgICAgICAgcmV0dXJuIF8udGVtcGxhdGUoWwog
ICAgICAgICAgICAgICAgICc8dHIgY2xhc3M9M0QiIiBkYXRhLWlkPTNEIjwlLSBncm91cC5nZXQo
ImlkIikgJT4iPicsCi0gICAgICAgICAgICAgICAgJzx0ZD48YSBocmVmPTNEImdyb3VwcyMvPCU9
M0QgZ3JvdXAuZ2V0KCJpZCIpICU+Ij48JT0zRCBncj0Kb3VwLmdldCgibmFtZSIpICU+PC9hPjwv
dGQ+JywKKyAgICAgICAgICAgICAgICAnPHRkPjxhIGhyZWY9M0QiZ3JvdXBzIy88JT0zRCBncm91
cC5nZXQoImlkIikgJT4iPjwlPTNEIF8uPQplc2NhcGUoZ3JvdXAuZ2V0KCJuYW1lIikpICU+PC9h
PjwvdGQ+JywKICAgICAgICAgICAgICAgICAvLyAnPHRkPmRlc2NyaXB0aW9uPC90ZD4nLAogICAg
ICAgICAgICAgICAgICc8dGQ+PCU9M0QgZ3JvdXAuZ2V0KCJ0b3RhbF9tZW1iZXJzIikgJT48L3Rk
PicsCiAgICAgICAgICAgICAgICAgJzx0ZD48JT0zRCBncm91cC5nZXQoInRvdGFsX3JlcG9zIikg
JT48L3RkPicsCgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZk
ZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGNvbmZpZy9q
b2JfY29uZi54bWwuc2FtcGxlX2FkdmFuY2VkCi0tLSBhL2NvbmZpZy9qb2JfY29uZi54bWwuc2Ft
cGxlX2FkdmFuY2VkCisrKyBiL2NvbmZpZy9qb2JfY29uZi54bWwuc2FtcGxlX2FkdmFuY2VkCkBA
IC01NCw2ICs1NCwxOSBAQAogICAgICAgICAgICAgICAgZ2FsYXh5X2luZnJhc3RydWN0dXJlX3Vy
bCBpcyBzZXQgaW4gZ2FsYXh5LmluaS4KICAgICAgICAgICAtLT48cGFyYW0gaWQ9M0QiZ2FsYXh5
X3VybCI+aHR0cDovL2xvY2FsaG9zdDo4MDgwPC9wYXJhbT4KKyAgICAgICAgICA8IS0tIEFNUVAg
ZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgYSBwdWJsaXNoZWQgbWVzc2FnZSBpcyByZWNlaXZlPQpk
IGJ5CisgICAgICAgICAgICAgICB0aGUgQU1RUCBzZXJ2ZXIsIHNvIEdhbGF4eS9QdWxzYXIgY2Fu
IHJlcXVlc3QgdGhhdCB0aGUgY29ucz0KdW1lcgorICAgICAgICAgICAgICAgYWNrbm93bGVkZ2Ug
bWVzc2FnZXMgYW5kIHdpbGwgcmVzZW5kIHRoZW0gaWYgYWNrbm93bGVkZ2VtZW49CnQgaXMKKyAg
ICAgICAgICAgICAgIG5vdCByZWNlaXZlZCBhZnRlciBhIGNvbmZpZ3VyYWJsZSB0aW1lb3V0LiAg
LS0+CisgICAgICAgICAgPCEtLSA8cGFyYW0gaWQ9M0QiYW1xcF9hY2tub3dsZWRnZSI+RmFsc2U8
L3BhcmFtPiAtLT4KKyAgICAgICAgICA8IS0tIEdhbGF4eSByZXVzZXMgUHVsc2FyJ3MgcGVyc2lz
dGVuY2VfZGlyZWN0b3J5IHBhcmFtZXRlciAodmlhPQogdGhlCisgICAgICAgICAgICAgICBQdWxz
YXIgY2xpZW50IGxpYikgdG8gc3RvcmUgYSByZWNvcmQgb2YgcmVjZWl2ZWQKKyAgICAgICAgICAg
ICAgIGFja25vd2xlZGdlbWVudHMsIGFuZCB0byBrZWVwIHRyYWNrIG9mIG1lc3NhZ2VzIHdoaWNo
IGhhdmUgPQpub3QKKyAgICAgICAgICAgICAgIGJlZW4gYWNrbm93bGVkZ2VkLiAtLT4KKyAgICAg
ICAgICA8IS0tIDxwYXJhbSBpZD0zRCJwZXJzaXN0ZW5jZV9kaXJlY3RvcnkiPi9wYXRoL3RvL2Rp
cjwvcGFyYW0+IC0tPgorICAgICAgICAgIDwhLS0gTnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBm
b3IgYW4gYWNrbm93bGVkZ2VtZW50IGJlZm9yZQorICAgICAgICAgICAgICAgcmVwdWJsaXNoaW5n
IGEgbWVzc2FnZS4gLS0+CisgICAgICAgICAgPCEtLSA8cGFyYW0gaWQ9M0QiYW1xcF9yZXB1Ymxp
c2hfdGltZSI+MzA8L3BhcmFtPiAtLT48IS0tIFB1bHNhcj0KIGpvYiBtYW5hZ2VyIHRvIGNvbW11
bmljYXRlIHdpdGggKHNlZSBQdWxzYXIKICAgICAgICAgICAgICAgIGRvY3MgZm9yIGluZm9ybWF0
aW9uIG9uIGpvYiBtYW5hZ2VycykuIC0tPjwhLS0gPHBhcmFtIGlkPTNEPQoibWFuYWdlciI+X2Rl
ZmF1bHRfPC9wYXJhbT4gLS0+CgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNm
Yzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5
IGNvbmZpZy9wbHVnaW5zL2ludGVyYWN0aXZlX2Vudmlyb25tZW50cy9pcHl0aG9uL2NvbmZpZy9p
cD0KeXRob24uaW5pLnNhbXBsZQotLS0gYS9jb25maWcvcGx1Z2lucy9pbnRlcmFjdGl2ZV9lbnZp
cm9ubWVudHMvaXB5dGhvbi9jb25maWcvaXB5dGhvbi5pbmkuc2E9Cm1wbGUKKysrIGIvY29uZmln
L3BsdWdpbnMvaW50ZXJhY3RpdmVfZW52aXJvbm1lbnRzL2lweXRob24vY29uZmlnL2lweXRob24u
aW5pLnNhPQptcGxlCkBAIC0xMiw3ICsxMiw3IEBACiBjb21tYW5kID0zRCBkb2NrZXIKPTIwCiAj
IFRoZSBkb2NrZXIgaW1hZ2UgbmFtZSB0aGF0IHNob3VsZCBiZSBzdGFydGVkLgotaW1hZ2UgPTNE
IGJncnVlbmluZy9kb2NrZXItaXB5dGhvbi1ub3RlYm9vazpkZXYKK2ltYWdlID0zRCBiZ3J1ZW5p
bmcvZG9ja2VyLWlweXRob24tbm90ZWJvb2s6MTUuMDcKPTIwCiAjIEFkZGl0aW9uYWwgYXJndW1l
bnRzIHRoYXQgYXJlIHBhc3NlZCB0byB0aGUgYGRvY2tlciBydW5gIGNvbW1hbmQuCiBjb21tYW5k
X2luamVjdCA9M0QgLS1zaWctcHJveHk9M0R0cnVlIC1lIERFQlVHPTNEZmFsc2UKCmRpZmYgLXIg
YzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZj
MmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgY29uZmlnL3BsdWdpbnMvaW50ZXJhY3RpdmVf
ZW52aXJvbm1lbnRzL3JzdHVkaW8vY29uZmlnL3JzPQp0dWRpby5pbmkuc2FtcGxlCi0tLSBhL2Nv
bmZpZy9wbHVnaW5zL2ludGVyYWN0aXZlX2Vudmlyb25tZW50cy9yc3R1ZGlvL2NvbmZpZy9yc3R1
ZGlvLmluaS5zYT0KbXBsZQorKysgYi9jb25maWcvcGx1Z2lucy9pbnRlcmFjdGl2ZV9lbnZpcm9u
bWVudHMvcnN0dWRpby9jb25maWcvcnN0dWRpby5pbmkuc2E9Cm1wbGUKQEAgLTcsNyArNyw3IEBA
Cj0yMAogW2RvY2tlcl0KIGNvbW1hbmQgPTNEIGRvY2tlcgotaW1hZ2UgPTNEIGVyYXNjaGUvZG9j
a2VyLXJzdHVkaW8tbm90ZWJvb2s6ZGV2CitpbWFnZSA9M0QgZXJhc2NoZS9kb2NrZXItcnN0dWRp
by1ub3RlYm9vazoxNS4wNwo9MjAKICMgQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFz
c2VkIHRvIHRoZSBgZG9ja2VyIHJ1bmAgY29tbWFuZC4gYC11YAogIyBzZXR0aW5ncyBhcmUgY29t
cGxldGVseSBpZ25vcmVkLgoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3
OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBk
b2Mvc291cmNlL3JlbGVhc2VzLzE1LjA3LnJzdAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3Vy
Y2UvcmVsZWFzZXMvMTUuMDcucnN0CkBAIC0wLDAgKzEsNTQ4IEBACisKKy4uIHRvX2RvYworCist
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxNS4wNworLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQorCitFbmhhbmNlbWVudHMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KKworCisuLiBlbmhhbmNlbWVudHMKKworKiBJbnRlcmFjdGl2ZSBlbnZpcm9ubWVudCAo
SUUpIGZyYW1ld29yayB1cGRhdGVzIGluY2x1ZGluZyBhIG5ldyBJRSBmb3IgUlM9CnR1ZGlvLgor
ICAoVGhhbmtzIHRvIGEgdGVhbSBlZmZvcnQgc3BlYXJoZWFkZWQgYnkgYEBlcmFzY2hlIDxodHRw
czovL2dpdGh1Yi5jb20vZXI9CmFzY2hlPmBfXy4pCisgIGBQdWxsIFJlcXVlc3QgMjI5YF8sIGBQ
dWxsIFJlcXVlc3QgMjMwYF8KKyogUmV3b3JrIHdvcmtmbG93IGVkaXRvciB0byB1c2UgbmV3ZXIg
dG9vbCBmb3JtIGNvbXBvbmVudHMgYW5kIGFsbG93IGNvbnN0PQpydWN0aW9uCisgIG9mIHdvcmtm
bG93cyB3aXRoIHRvb2xzIGV4cGxpY2l0bHkgcHJvZHVjaW5nIG91dHB1dCBjb2xsZWN0aW9ucy4K
KyAgYFB1bGwgUmVxdWVzdCAyODZgXywgYFB1bGwgUmVxdWVzdCAzMjhgXywgYFB1bGwgUmVxdWVz
dCAzMTFgXywKKyAgYFB1bGwgUmVxdWVzdCAzOTdgXywgYFB1bGwgUmVxdWVzdCAyMzNgXywgYFB1
bGwgUmVxdWVzdCA2MjVgXywKKyAgYFB1bGwgUmVxdWVzdCA2MDJgXworKiBJbXBsZW1lbnQgcG9s
aWNpZXMgZm9yIGNvbW1pdHRlcnMgYW5kIHB1bGwgcmVxdWVzdHMuCisgIGBQdWxsIFJlcXVlc3Qg
Mjk1YF8sIGBQdWxsIFJlcXVlc3QgMzE0YF8KKyogQWxsb3cgZXhwb3J0aW5nIGEgbGlicmFyeSBm
b2xkZXIgdG8gYSBoaXN0b3J5LiAoVGhhbmtzIHRvIGBAZXJpY2VubnMKKyAgPGh0dHBzOi8vZ2l0
aHViLmNvbS9lcmljZW5ucz5gX18uKSBgUHVsbCBSZXF1ZXN0IDQyNmBfCisqIEZpeCBhbmQgdXBk
YXRlIGRvY3VtZW50YXRpb24gYXZhaWxhYmxlIG9uIHRoZSBSZWFkVGhlRG9jcyB3aXRoIHBhcnRp
Y3VsYXIKKyAgZm9jdXMgb24gdGhlIEFQSSBkb2N1bWVudGF0aW9uLiAoVGhhbmtzIHRvIGBAbnNv
cmFuem8KKyAgPGh0dHBzOi8vZ2l0aHViLmNvbS9uc29yYW56bz5gX18uKQorICBgUHVsbCBSZXF1
ZXN0IDM5OWBfLCBgUHVsbCBSZXF1ZXN0IDQwNWBfCisqIEFkZCBFREFNIElEcyB0byBHYWxheHkg
ZGF0YXR5cGVzLiAoVGhhbmtzIHRvIGEgdGVhbSBlZmZvcnQgaW5pdGlhdGVkIGJ5ID0KYEBlcmFz
Y2hlCisgIDxodHRwczovL2dpdGh1Yi5jb20vZXJhc2NoZT5gX18uKQorICBgUHVsbCBSZXF1ZXN0
IDgwYF8sIGBQdWxsIFJlcXVlc3QgMzQyYF8KKyogSW1wcm92ZWQgcmVwb3J0cyBhcHAgc29ydGlu
ZyBhbmQgYnVnIGZpeGVzIHRoYW5rcyB0bworICBEYW5pZWwgQm91Y2hhcmQgKGBAQWlyaXN0b3Rh
bCA8aHR0cHM6Ly9naXRodWIuY29tL0FpcmlzdG90YWw+YF9fKS4gRXZlbiA9Cm1vcmUKKyAgcmVw
b3J0cyBlbmhhbmNlbWVudHMgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUgbmV4dCByZWxlYXNlIG9m
IEdhbGF4eSBpbmNsPQp1ZGluZworICBuZXcgbGFuZGluZyBwYWdlLCBwYWdpbmF0aW9uLCBhbmQg
c3BhcmtsaW5lIGdyYXBocy4KKyAgYFB1bGwgUmVxdWVzdCAzMDNgXywgYFB1bGwgUmVxdWVzdCAz
MzBgXywgYFB1bGwgUmVxdWVzdCAzMzhgXworKiBTaWduaWZpY2FudCBzcGVlZHVwIG9mIHRvb2wg
cGFuZWwvaG9tZXBhZ2UgbG9hZGluZy4gKFRoYW5rcyB0byBgQGFicmV0YXVkCisgIDxodHRwczov
L2dpdGh1Yi5jb20vYWJyZXRhdWQ+YF9fLikgYFB1bGwgUmVxdWVzdCAxNTlgXworKiBBbGxvdyBw
YXJhbWV0ZXJpemF0aW9uIG9mIHRvb2wgWE1MIG1hY3Jvcy4gYFB1bGwgUmVxdWVzdCAzNjJgXwor
KiBBbGxvdyB1c2Ugb2YgdG9vbC1zdHlsZSBYTUwgbWFjcm9zIGluIGBgam9iX2NvbmYueG1sYGAu
IGBQdWxsIFJlcXVlc3QgMzY9CjJgXworKiBVcGRhdGUgYW5kIGNsYXJpZnkgYWRtaW4gbWVudS4g
YFB1bGwgUmVxdWVzdCAzMDJgXworKiBBZGQgdXNhZ2UgaW5mb3JtYXRpb24gdG8gcHl0aG9uIGNs
ZWFudXAgc2NyaXB0cy4gKFRoYW5rcyB0byBgQGRwcnlhbjc5CisgIDxodHRwczovL2dpdGh1Yi5j
b20vZHByeWFuNzk+YF9fLikgYFB1bGwgUmVxdWVzdCAyNzRgXworKiBBZGRlZCBkZWZhdWx0IGlu
ZGV4aW5nIGZvciBiY2YgZmlsZXMuIGBQdWxsIFJlcXVlc3QgMTYzYF8KKyogSW1wbGVtZW50IG1l
cmdpbmcgb2YgQkFNIGZpbGVzIGZvciB0aGUgcGFyYWxsZWxpc20gZnJhbWV3b3JrLiAoVGhhbmtz
IHRvCisgIGBAcm9hbHZhMSA8aHR0cHM6Ly9naXRodWIuY29tL3JvYWx2YTE+YF9fLikgYFB1bGwg
UmVxdWVzdCAxNDlgXworKiBTZW5kIHNpZ25hbCB0byByZWxvYWQgZGF0YSB0YWJsZXMgd2hlbiBh
ZGRpbmcgYW4gZW50cnkgKFRoYW5rcyB0byBgQGFicmU9CnRhdWQKKyAgPGh0dHBzOi8vZ2l0aHVi
LmNvbS9hYnJldGF1ZD5gX18uKSBgUHVsbCBSZXF1ZXN0IDI1MGBfCisqIEFkZCBkaXNwbGF5IGZv
ciBJbnRlcnZhbCBmaWxlcyBhdCBJR1YgdmlhIGJlZHN0cmljdC4gYFB1bGwgUmVxdWVzdCAyNTlg
XworKiBJbmNsdWRlIG1vcmUgaW5mb3JtYXRpb24gaW4gZGVmYXVsdCBgYHdlbGNvbWUuaHRtbGBg
IGZpbGUuIGBQdWxsIFJlcXVlc3Q9CiAxOTBgXworKiBJbXBsZW1lbnQgYSBjb21tYW5kIGxpbmUg
c2NyaXB0IGZvciBjb2xsZWN0aW5nIHN0YXRzIG9uIGpvYiBydW50aW1lcy49MjAKKyAgYFB1bGwg
UmVxdWVzdCAxNTFgXworKiBJbXBsZW1lbnQgYW4gYXV0aGVudGljYXRpb24gcHJvdmlkZXIgZm9y
IFBBTSAoUGx1Z2dhYmxlIEF1dGhlbnRpY2F0aW9uIE09Cm9kdWxlcykKKyAgKFRoYW5rcyB0byBg
QHB2YW5oZXVzIDxodHRwczovL2dpdGh1Yi5jb20vcHZhbmhldXM+YF9fLikgYFB1bGwgUmVxdWVz
dCA0PQo1OGBfCisqIFJlLWltcGxlbWVudCBsaWJyYXJ5IGRhdGEgYW5kIEZUUCBmaWxlIHBhcmFt
ZXRlcnMgZm9yIG5ldyB0b29sIGZvcm0uCisgIGBQdWxsIFJlcXVlc3QgMTMyYF8sIGBQdWxsIFJl
cXVlc3QgNTQ2YF8KKyogQWRkaW5nIHRvb2wgZXJyb3IgdHJhY2tpbmcuIChUaGFua3MgdG8gYEBr
ZWxscm90dAorICA8aHR0cHM6Ly9naXRodWIuY29tL2tlbGxyb3R0PmBfXy4pIGBQdWxsIFJlcXVl
c3QgMzIyYF8KKyogSW1wbGVtZW50IGBgPGZpbHRlcj5gYCB0YWcgZm9yIG91dHB1dCBjb2xsZWN0
aW9ucy4gYFB1bGwgUmVxdWVzdCA0NTVgXworKiBBbGxvdyBlbnZpcm9ubWVudCB2YXJpYWJsZSBk
ZWZpbml0aW9ucyBpbiB0b29sIFhNTC4gYFB1bGwgUmVxdWVzdCAzOTVgXworKiBBZGQgbmV3IGBg
ZXhjbHVkZV9taW5gYCBhbmQgYGBleGNsdWRlX21heGBgIGF0dHJpYnV0ZXMgdG8gYGBJblJhbmdl
VmFsaWQ9CmF0b3JgYAorICBmb3IgbnVtZXJpYyB0b29sIHBhcmFtZXRlcnMuIChUaGFua3MgdG8g
YEBncmVndm9ua3VzdGVyCisgIDxodHRwczovL2dpdGh1Yi5jb20vZ3JlZ3Zvbmt1c3Rlcj5gX18u
KSBgUHVsbCBSZXF1ZXN0IDMzOWBfCisqIEFkZGVkIHVubGlua2VkIFRvb2wgU2hlZCBkZXBlbmRl
bmN5IHJlc29sdmVyLiAoVGhhbmtzIHRvIGBAQ2hyaXN0aWFuLUIKKyAgPGh0dHBzOi8vZ2l0aHVi
LmNvbS9DaHJpc3RpYW4tQj5gX18uKSBgUHVsbCBSZXF1ZXN0IDQ0MWBfCisqIEFkZCBlbWJvc3Mg
ZGF0YXR5cGVzIChwcmV2aW91c2x5IG1pZ3JhdGVkIHRvIFRvb2wgU2hlZCkuIChUaGFua3MgdG8g
YEBiZz0KcnVlbmluZworICA8aHR0cHM6Ly9naXRodWIuY29tL2JncnVlbmluZz5gX18uKSBgUHVs
bCBSZXF1ZXN0IDE0OGBfCisqIEFkZCBuZXcgSG1tZXIgJiBTdG9ja2hvbG0gZGF0YXR5cGVzLiAo
VGhhbmtzIHRvIGBAZXJhc2NoZQorICA8aHR0cHM6Ly9naXRodWIuY29tL2VyYXNjaGU+YF9fLikg
YFB1bGwgUmVxdWVzdCAyMThgXworKiBBZGQgYW4gUkRhdGEgZGF0YXR5cGUuIChUaGFua3MgdG8g
YEBlcmFzY2hlCisgIDxodHRwczovL2dpdGh1Yi5jb20vZXJhc2NoZT5gX18uKSBgUHVsbCBSZXF1
ZXN0IDIzOWBfCisqIEFkZCBtYXV2ZSBYTUZBIGRhdGF0eXBlIChUaGFua3MgdG8gYEBlcmFzY2hl
IDxodHRwczovL2dpdGh1Yi5jb20vZXJhc2NoZT0KPmBfXy4pCisgIGBQdWxsIFJlcXVlc3QgMjcw
YF8KKyogQWRkIENvbm5lY3Rpdml0eVRhYmxlIChcKi5jdCkgKFJOQSAyRCBzdHJ1Y3R1cmUgZm9y
bWF0KSBkYXRhdHlwZS4KKyAgKFRoYW5rcyB0byBgQHlob29nc3RyYXRlIDxodHRwczovL2dpdGh1
Yi5jb20veWhvb2dzdHJhdGU+YF9fLikKKyAgYFB1bGwgUmVxdWVzdCA0MzlgXworKiBBZGQgSWxs
dW1pbmEgbWV0aHlsYXRpb24gZGF0YXR5cGUgKElEQVQpLiBgUHVsbCBSZXF1ZXN0IDMzNWBfCisq
IEFkZCBEb3QtQnJhY2tldCBub3RhdGlvbiAoZGJuKSBkYXRhdHlwZS4gKFRoYW5rcyB0byBgQHlo
b29nc3RyYXRlCisgIDxodHRwczovL2dpdGh1Yi5jb20veWhvb2dzdHJhdGU+YF9fLikgYFB1bGwg
UmVxdWVzdCAzNjZgXworKiBBZGQgcHJvdGVvbWljcyBkYXRhdHlwZXMuIChUaGFua3MgdG8gYEBp
cmFjb29rZQorICA8aHR0cHM6Ly9naXRodWIuY29tL2lyYWNvb2tlPmBfXy4pIGBQdWxsIFJlcXVl
c3QgMzg5YF8KKyogQWRkIG5ldyBNelNRbGl0ZSBkYXRhdHlwZSBmb3IgYWdncmVnYXRpbmcgTVMt
YmFzZWQgcHJvdGVpbiBpZGVudGlmaWNhdGlvbgorICBpbmZvcm1hdGlvbi4gKFRoYW5rcyB0byBg
QGpqLXVtbiA8aHR0cHM6Ly9naXRodWIuY29tL2pqLXVtbj5gX18uKQorICBgUHVsbCBSZXF1ZXN0
IDQyN2BfCisqIEFsbG93IGBgZGlzcGxheV9pbl91cGxvYWRgYCBieSBkZWZhdWx0IGZvciBoNSBm
aWxlcy4gYFB1bGwgUmVxdWVzdCA0NzBgXworKiBBY2NlcHQgaGlzdG9yeSBpZCBpbiB0b29sIHN0
YXRlIGNvbnN0cnVjdGlvbiBBUEkuIGBQdWxsIFJlcXVlc3QgMjY4YF8KKyogQWRkaW5nIGRhdGFz
ZXQgdXVpZCBpbmZvcm1hdGlvbiB0byBqb2IgYW5kIHdvcmtmbG93IGludm9jYXRpb24gY2FsbHMu
CisgIChUaGFua3MgdG8gYEBrZWxscm90dCA8aHR0cHM6Ly9naXRodWIuY29tL2tlbGxyb3R0PmBf
Xy4pIGBQdWxsIFJlcXVlc3QgMT0KODFgXworKiBBbGxvdyB3b3JrZmxvd3MgZXhlY3V0ZWQgdmlh
IHRoZSBBUEkgdG8gb3B0aW9uYWxseSBydW4gd2l0aCB0b29sIHVwZ3JhZGU9CnMuCisgIGBQdWxs
IFJlcXVlc3QgNDAyYF8KKyogVmFyaW91cyBQRVAtOCBmaXhlcywgbW9yZSB0byBjb21lIG5leHQg
cmVsZWFzZS4gKFRoYW5rcyB0byBlZmZvcnRzIGxlYWQgPQpieQorICBgQG5zb3JhbnpvIDxodHRw
czovL2dpdGh1Yi5jb20vbnNvcmFuem8+YF9fLAorICBgQHJlbWltYXJlbmNvIDxodHRwczovL2dp
dGh1Yi5jb20vcmVtaW1hcmVuY28+YF9fLCBhbmQKKyAgYEBiZ3J1ZW5pbmcgPGh0dHBzOi8vZ2l0
aHViLmNvbS9iZ3J1ZW5pbmc+YF9fLikKKyAgYFB1bGwgUmVxdWVzdCA0MjFgXywgYFB1bGwgUmVx
dWVzdCA0MjJgXywgYFB1bGwgUmVxdWVzdCA0MjRgXywKKyAgYFB1bGwgUmVxdWVzdCA0MzNgXywg
YFB1bGwgUmVxdWVzdCA0NDlgXywgYFB1bGwgUmVxdWVzdCAzNTBgXywKKyAgYFB1bGwgUmVxdWVz
dCA0NTNgXywgYFB1bGwgUmVxdWVzdCAzOTRgXywgYFB1bGwgUmVxdWVzdCAyMDRgXworKiBOb3Nl
IHVwZGF0ZSB3aXRoIGBgLS1kZWJ1Z2BgIG9wdGlvbiBhZGRlZCB0byBgYHJ1bl90ZXN0cy5zaGBg
LiBgUHVsbCBSZXE9CnVlc3QgMTcyYF8KKyogTWVudGlvbiBgYC1pbnN0YWxsZWRgYCBvcHRpb24g
aW4gYGBydW5fdGVzdHMuc2hgYCBoZWxwLiBgUHVsbCBSZXF1ZXN0IDMyPQozYF8KKyogQWxsb3cg
Y29uZmlnIG9mIHNoZWQgdG9vbCBjb25maWd1cmF0aW9uIGZpbGUgdXNlZCB3aXRoIGBgcnVuX3Rl
c3RzLnNoCisgIC1pbnN0YWxsZWRgYC4gYFB1bGwgUmVxdWVzdCAyNjdgXworKiBBbGxvdyBydW5u
aW5nIHRlc3RzIGZyb20gb3V0ZXIgZGlyZWN0b3JpZXMgKFRoYW5rcyB0byBgQHlob29nc3RyYXRl
CisgIDxodHRwczovL2dpdGh1Yi5jb20veWhvb2dzdHJhdGU+YF9fLikgYFB1bGwgUmVxdWVzdCAx
MzdgXworKiBFbmhhbmNlbWVudCBhbGxvd2luZyB1c2Ugb2YgRFJNQUEgd2hlbiBHYWxheHkgaW5z
dGFuY2UgaXNuJ3Qgb24gYSBzaGFyZWQKKyAgdm9sdW1lIHdpdGggY29tcHV0ZSBub2Rlcy4gKFRo
YW5rcyB0byBgQHZhdnJ1c2EgPGh0dHBzOi8vZ2l0aHViLmNvbS92YXZyPQp1c2E+YF9fLik9MjAK
KyAgYFB1bGwgUmVxdWVzdCAxNjBgXworKiBFbmhhbmNlbWVudHMgZm9yIENvbmRvci49MjAKKyAg
KFRoYW5rcyB0byBgQGRwcnlhbjc5IDxodHRwczovL2dpdGh1Yi5jb20vZHByeWFuNzk+YF9fLikK
KyAgYFB1bGwgUmVxdWVzdCAyODlgXworKiBVcGRhdGUgYGBnc3VtbWFyeWBgIGRlcGVuZGVuY2ll
cy4gKFRoYW5rcyB0byBgQGJncnVlbmluZworICA8aHR0cHM6Ly9naXRodWIuY29tL2JncnVlbmlu
Zz5gX18uKSBgUHVsbCBSZXF1ZXN0IDE4MmBfCisqIFJlZmFjdG9yIHZpc3VhbGl6YXRpb24gcGx1
Z2lucyB0byBwcm9tb3RlIGltcGxlbWVudGF0aW9uIHRvIGEgY2xhc3MuCisgIGBQdWxsIFJlcXVl
c3QgMTg2YF8KKyogU3dpdGNoIHZpc3VhbGl6YXRpb25zIHJlZ2lzdHJ5IHRvIGVudHJ5X3BvaW50
IGNvbmZpZyBkZWZpbml0aW9uIGZvcj0yMAorICBidWlsdC1pbiB2aXN1YWxpemF0aW9ucy4gYFB1
bGwgUmVxdWVzdCAyNDNgXworKiBTZXQgZGVmYXVsdCB2YWx1ZSBmb3IgSUUgc2lnIHByb3h5IChU
aGFua3MgdG8gYEBlcmFzY2hlCisgIDxodHRwczovL2dpdGh1Yi5jb20vZXJhc2NoZT5gX18uKSBg
UHVsbCBSZXF1ZXN0IDE5N2BfCisqIE90aGVyIHNtYWxsZXIgaW50ZXJhY3RpdmUgZW52aXJvbm1l
bnQgdXBkYXRlcy4gKFRoYW5rcyB0bworICBgQGVyYXNjaGUgPGh0dHBzOi8vZ2l0aHViLmNvbS9l
cmFzY2hlPmBfXy4pCisgIGBQdWxsIFJlcXVlc3QgNDEyYF8KKyogUmVmdXNlIHRvIGxvYWQgaW50
ZXJhY3RpdmUgZGVidWdnaW5nIG1pZGRsZXdhcmUgdW5kZXIgdXdzZ2kuCisgIGBQdWxsIFJlcXVl
c3QgMjAwYF8KKyogTW92ZSBzdHlsZXNoZWV0IHNvdXJjZSBmaWxlcyBmcm9tIGBgc3RhdGljL3N0
eWxlL3NyY2BgIHRvCisgIGBgY2xpZW50L2dhbGF4eS9zdHlsZWBgLiBgUHVsbCBSZXF1ZXN0IDIw
OGBfCisqIEZpeCBzcHJpdGUgcGF0aHMgYnkgdXNpbmcgaGFyZGNvZGVkIHBhdGggaW4gdGFzay4g
YFB1bGwgUmVxdWVzdAorICAyNzlgXworKiBJbXByb3ZlIHZhcmlvdXMgZm9jdXMgaGFuZGxpbmcg
YmVoYXZpb3IgaW4gdGhlIFVJLiBgUHVsbCBSZXF1ZXN0IDI4MGBfCisqIEZpeGVzIGFuZCB1cGRh
dGVzIHRvIHZhcmlvdXMgSmF2YVNjcmlwdC1iYXNlZCB1bml0IHRlc3RzLiBgUHVsbCBSZXF1ZXN0
ID0KMjE5YF8KKyogVXBkYXRlIHZhcmlvdXMgY2xpZW50IGxpYnMgKGUuZy4galF1ZXJ5LCBSYXZl
biwgZDMsIHJlcXVpcmVqcykuCisgIGBQdWxsIFJlcXVlc3QgMjIxYF8sIGBQdWxsIFJlcXVlc3Qg
MjQxYF8KKyogSWdub3JlIHNhbXBsZSBmaWxlcyBmcm9tIHRvb2xzaGVkIGluc3RhbGxlZCB0b29s
cy4gKFRoYW5rcyB0byBgQFVub2RlCisgIDxodHRwczovL2dpdGh1Yi5jb20vVW5vZGU+YF9fLikg
YFB1bGwgUmVxdWVzdCAyNDhgXworKiBBZGQgdGVzdCBvcHRpb24gZm9yIGRpc2FibGluZyB0cnVu
Y2F0aW9uIG9mIHRlc3QgZGlmZnMuCisgIGBQdWxsIFJlcXVlc3QgMjQ5YF8KKyogVmFyaW91cyBk
b2N1bWVudGF0aW9uIGFuZCB3b3JkaW5nIGltcHJvdmVtZW50cyBmb3IgdmFyaW91cyBmaWxlcy4K
KyAgKFRoYW5rcyB0byBgQG5zb3JhbnpvIDxodHRwczovL2dpdGh1Yi5jb20vbnNvcmFuem8+YF9f
LikKKyAgYFB1bGwgUmVxdWVzdCAyNzdgXworKiBBbGxvdyBleHRlcm5hbCBkaXNwbGF5IGFwcGxp
Y2F0aW9ucyBvcHRpb25hbCBhY2Nlc3MgdG8gZmlsZXMgd2l0aGluIGEKKyAgZGF0YXNldCdzIGBg
ZXh0cmFfZmlsZXNfcGF0aGBgLiBgUHVsbCBSZXF1ZXN0IDI4NGBfCisqIEltcHJvdmUgdGhlIGRh
dGEgbWFuYWdlciBKU09OIGRhdGF0eXBlJ3MgY2xhc3MgdG8gYmUgbW9yZSBzcGVjaWZpYy4KKyAg
YFB1bGwgUmVxdWVzdCAyODVgXworKiBBbGxvdyBzZXR0aW5nIGNvbm5lY3Rpb24gb3B0aW9ucyBm
b3IgTERBUCBhdXRoZW50aWNhdGlvbi4gKFRoYW5rcyB0byBgQFU9Cm5vZGUKKyAgPGh0dHBzOi8v
Z2l0aHViLmNvbS9Vbm9kZT5gX18uKSBgUHVsbCBSZXF1ZXN0IDI4N2BfCisqIEZpeCBmb3IgZ3pp
cCBiZWluZyBpbXBvcnRlZCB0d2ljZS4gKFRoYW5rcyB0byBgQGJncnVlbmluZworICA8aHR0cHM6
Ly9naXRodWIuY29tL2JncnVlbmluZz5gX18uKSBgUHVsbCBSZXF1ZXN0IDI5NmBfCisqIEV4cG9y
dCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZnJvbSBhbGwgZGVwZW5kZW50IHJlcG9zaXRvcmllcy4K
KyAgKFRoYW5rcyB0byBgQGJncnVlbmluZyA8aHR0cHM6Ly9naXRodWIuY29tL2JncnVlbmluZz5g
X18uKSBgUHVsbCBSZXF1ZXN0PQogMjk3YF8KKyogSW1wcm92ZSBgYGF1dGhfY29uZi54bWwuc2Ft
cGxlYGAgZG9jdW1lbnRhdGlvbi4gKFRoYW5rcyB0byBgQG5zb3JhbnpvCisgIDxodHRwczovL2dp
dGh1Yi5jb20vbnNvcmFuem8+YF9fLikgYFB1bGwgUmVxdWVzdCAyOTlgXworKiBQcmVzZXJ2ZSB1
bml4IHBlcm1pc3Npb25zLCBpZiBhbnksIHdoZW4gZXh0cmFjdGluZyAuemlwIGZpbGVzIGR1cmlu
ZyB0b289Cmwgc2hlZAorICBpbnN0YWxsYXRpb25zLiBgUHVsbCBSZXF1ZXN0IDMwOGBfCisqIFVw
ZGF0ZSBtYWlsaW5nIGxpc3RzIHRvIHVzZSBsaXN0cy5nYWxheHlwcm9qZWN0Lm9yZyBhZGRyZXNz
ZXMuCisgIGBQdWxsIFJlcXVlc3QgMzE2YF8KKyogQWRkIG5ldyBhcmd1bWVudCB0byBpbmplY3Qg
dm9sdW1lcyBpbiBgYGRvY2tlcl9jbWQoKWBgIGFuZCBgYGxhdW5jaCgpYGAuCisgIChUaGFua3Mg
dG8gYEBiZ3J1ZW5pbmcgPGh0dHBzOi8vZ2l0aHViLmNvbS9iZ3J1ZW5pbmc+YF9fLikgYFB1bGwg
UmVxdWVzdD0KIDMxOGBfCisqIENyZWF0ZSBhIHNlcGFyYXRlIGFwcGxpY2F0aW9uIGVudHJ5IHBv
aW50IHRvIGJlIHVzZWQgYnkgdVdTR0kgd2l0aG91dCBgYD0KLS1pbmktCisgIHBhc3RlYGAgYW5k
IFBhc3RlRGVwbG95LiBgUHVsbCBSZXF1ZXN0IDMyNWBfCisqIEltcGxlbWVudCBncm91cHMgaW4g
VG9vbCBTaGVkIG1vZGVscyBhbmQgVUkuIGBQdWxsIFJlcXVlc3QgMzI2YF8sCisgIGBQdWxsIFJl
cXVlc3QgMzc0YF8KKyogSW1wcm92ZWQgZGF0YXR5cGUgcmVnaXN0cnkgZGVidWdnaW5nLiBgUHVs
bCBSZXF1ZXN0IDMyOWBfCisqIEFkZCBhcHAgb3B0aW9uIHRvIGNsaWVudCBwcm9jZXNzIHRvIGFs
bG93IGJ1aWxkaW5nIFRvb2wgU2hlZCBzY3JpcHRzLj0yMAorICBgUHVsbCBSZXF1ZXN0IDMzMmBf
CisqIEFkZCBncnVudCBjb21tYW5kIGBgZ3J1bnQgZGVjb21wcmVzc2BgIHRvIGNvcHkgZGVjb21w
cmVzc2VkIGFydGlmYWN0cy4KKyAgYFB1bGwgUmVxdWVzdCAxNzNgXworKiBJbXByb3ZlbWVudHMg
dG8gVG9vbCBTaGVkIHNlYXJjaCBBUEkuCisgIGBQdWxsIFJlcXVlc3QgMzM0YF8sIGBQdWxsIFJl
cXVlc3QgMzc2YF8sIGBQdWxsIFJlcXVlc3QgNDIwYF8sIGBQdWxsIFJlcT0KdWVzdCA1NjNgXwor
KiBSZXN0b3JlIGxpbmsgdG8gbWVyY3VyaWFsIGJyb3dzaW5nIG9mIHJlcG9zaXRvcmllcy4gYFB1
bGwgUmVxdWVzdCAzNDBgXworKiBFbmhhbmNlIHRvb2wgdGVzdGluZyB0byBvbmx5IGNsZWFudXAg
c3VjY2Vzc2Z1bCBqb2JzLiBgUHVsbCBSZXF1ZXN0IDM0MWBfCisqIEltcGxlbWVudCBtZXRhZGF0
YSBzaXplIGxpbWl0aW5nLiBgUHVsbCBSZXF1ZXN0IDM0NWBfLCBgUHVsbCBSZXF1ZXN0IDQxNj0K
YF8KKyogQWRkIHRvb2wgcGFyYW1ldGVyIGFyZ3VtZW50IHRvIHBhcmFtZXRlciBoZWxwLgorICBg
UHVsbCBSZXF1ZXN0IDM0NmBfLCBgUHVsbCBSZXF1ZXN0IDM1MWBfCisqIFJlZmFjdG9yIFRvb2wg
U2hlZCBKYXZhU2NyaXB0IGZpbGVzIHRvIGJlIHNlcGFyYXRlZCBmcm9tIEdhbGF4eSBKYXZhIFNj
cj0KaXB0CisgIGBQdWxsIFJlcXVlc3QgMzQ3YF8KKyogRml4ZWQgb2JqZWN0IHN0b3JlIHBhdGgg
LSBgYGpvYl93b3JrYGAuIChUaGFua3MgdG8gYEBjaGFyegorICA8aHR0cHM6Ly9naXRodWIuY29t
L2NoYXJ6PmBfXy4pIGBQdWxsIFJlcXVlc3QgMzU0YF8KKyogTWFrZSBkZWJ1Z2dpbmcgb3V0cHV0
IG5pY2VyIGZvciBJRSdzIChUaGFua3MgdG8gYEBiZ3J1ZW5pbmcKKyAgPGh0dHBzOi8vZ2l0aHVi
LmNvbS9iZ3J1ZW5pbmc+YF9fLikgYFB1bGwgUmVxdWVzdCAzNTVgXworKiBBZGQgY29uZmlndXJh
YmxlIERvY2tlciBob3N0bmFtZSAoVGhhbmtzIHRvIGBAYmdydWVuaW5nCisgIDxodHRwczovL2dp
dGh1Yi5jb20vYmdydWVuaW5nPmBfXy4pIGBQdWxsIFJlcXVlc3QgMzU2YF8KKyogSW1wcm92ZSBY
TUwgc3R5bGluZyBvZiBkaXNwbGF5IGFwcGxpY2F0aW9ucy49MjAKKyAgKFRoYW5rcyB0byBgQGVy
YXNjaGUgPGh0dHBzOi8vZ2l0aHViLmNvbS9lcmFzY2hlPmBfXy4pCisgIGBQdWxsIFJlcXVlc3Qg
MzY0YF8KKyogUkVBRE1FIGltcHJvdmVtZW50cyBpbmNsdWRpbmcgLSBhZGRpbmcgc2hpZWxkcyBm
b3IgQmlvc3RhciwgSVJDLCBhbmQgVHJhPQp2aXMuCisgIGBQdWxsIFJlcXVlc3QgMzY4YF8sIGBQ
dWxsIFJlcXVlc3QgMzY5YF8KKyogVXNlIHBhc3NlZCBpbiBVUkwgZm9yIGdldGJ1aWxkcyBtZXRo
b2Qgb2YgcGFyc2VfYnVpbGRzLnB5IChUaGFua3MgdG8KKyAgYEBkY3RydWQgPGh0dHBzOi8vZ2l0
aHViLmNvbS9kY3RydWQ+YF9fLikgYFB1bGwgUmVxdWVzdCAzODRgXworKiBBZGQgZXJyb3IgbWVz
c2FnZSBmb3IgYmFkIGRlcGVuZGVuY3kgZGVjbGFyYXRpb24gKFRoYW5rcyB0byBgQGtha3R1czQy
CisgIDxodHRwczovL2dpdGh1Yi5jb20va2FrdHVzNDI+YF9fLikgYFB1bGwgUmVxdWVzdCA0MTlg
XworKiBSZWZhY3RvciBKYXZhU2NyaXB0IHNldCB1cCBjb2RlIGZvciB0YWdnaW5nIHRvd2FyZCBy
ZXVzZS4gYFB1bGwgUmVxdWVzdCA9CjQyOWBfCisqIEltcHJvdmVkIG1kNXN1bS9zaGEyNTYgaW4g
VG9vbCBTaGVkIGFjdGlvbnMuIChUaGFua3MgdG8gYEB5aG9vZ3N0cmF0ZQorICA8aHR0cHM6Ly9n
aXRodWIuY29tL3lob29nc3RyYXRlPmBfXy4pIGBQdWxsIFJlcXVlc3QgNDQ0YF8KKyogSW5jbHVk
ZSBvd25lciBhbm5vdGF0aW9ucyBvZiBIREFzIGluIHB1Ymxpc2hlZCBoaXN0b3J5IGRpc3BsYXku
CisgIGBQdWxsIFJlcXVlc3QgNDkwYF8KKyogQWRkZWQgbG9nIGVycm9yIGZvciBjb25maWcgZmls
ZSBub3QgZm91bmQuIChUaGFua3MgdG8gYEBDaHJpc3RpYW4tQgorICA8aHR0cHM6Ly9naXRodWIu
Y29tL0NocmlzdGlhbi1CPmBfXy4pIGBQdWxsIFJlcXVlc3QgNDQzYF8KKyogRml4IGZvciBpbnN0
YWxsaW5nIGRlcGVuZGVuY2llcyBmcm9tIHNvdXJjZSB3aGVuIGRvd25sb2FkIG9mIHByZWNvbXBp
bGVkCisgIGJpbmFyaWVzIGhhcyBmYWlsZWQuIGBQdWxsIFJlcXVlc3QgNTMxYF8KKyogVXNlIGEg
cGFzc3dvcmQgZmllbGQgZm9yIGRlcHJlY2F0ZWQgY2xvdWRsYXVuY2gncyBzZWNyZXQga2V5IGZp
ZWxkLgorICBgUHVsbCBSZXF1ZXN0IDU1MWBfCisqIE5vcm1hbGl6ZSBgYGRhdGF0eXBlc19ieV9l
eHRgYCB1cG9uIGVudHJ5LiBgUHVsbCBSZXF1ZXN0IDU2N2BfCisqIFN0b3AgY3JlYXRpbmcgdW5u
ZWVkZWQgYGBkYXRhYmFzZS9tZXNzYWdlLm1ha28ucHlgYC4gYFB1bGwgUmVxdWVzdCA1NzVgXwor
CisKK0ZpeGVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy4uIGZpeGVzCisK
KyogRHVyaW5nIHRoZSAxNS4wNyBkZXZlbG9wbWVudCBjeWNsZSBkb3plbnMgb2YgZml4ZXMgd2Vy
ZSBwdXNoZWQgdG8gdGhlCisgIGBgcmVsZWFzZV8xNS4wNWBgIGJyYW5jaCBvZiBHYWxheHkuIFRo
ZXNlIGFyZSBhbGwgaW5jbHVkZWQgaW4gMTUuMDcgYW5kCisgIHN1bW1hcml6ZWQgYGhlcmUKKyAg
PGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9jb21wYXJlL3YxNS4wNS4u
LnJlbGVhc2VfMTUuMDU+PQpgX18KKyAgKHdpdGggc3BlY2lhbCB0aGFua3MgdG8gYEBiZ3J1ZW5p
bmcgPGh0dHBzOi8vZ2l0aHViLmNvbS9iZ3J1ZW5pbmc+YF9fLAorICBgQG12ZGJlZWsgPGh0dHBz
Oi8vZ2l0aHViLmNvbS9tdmRiZWVrPmBfXywKKyAgYEBuc29yYW56byA8aHR0cHM6Ly9naXRodWIu
Y29tL25zb3JhbnpvPmBfXywKKyAgYW5kIGBAYWJyZXRhdWQgPGh0dHBzOi8vZ2l0aHViLmNvbS9h
YnJldGF1ZD5gX18pLgorKiBTdG9wIFRyYWNrc3RlciBsb2NhdGlvbiB3cmFwcGluZyBpbiBDaHJv
bWUuIChUaGFua3MgdG8gYEBkY3RydWQKKyAgPGh0dHBzOi8vZ2l0aHViLmNvbS9kY3RydWQ+YF9f
LikgYFB1bGwgUmVxdWVzdCA0NDBgXworKiBGaXggcmV0dXJuIGludGVnZXIgdmFsdWVzIHdoZW4g
J3JvdW5kIHRvIG5lYXJlc3QgaW50ZWdlcicgaXMgc2VsZWN0ZWQgaW4KKyAgR3JvdXAgdG9vbC4g
YFB1bGwgUmVxdWVzdCA0NTJgXworKiBGaXggZXh0ZXJuYWwgc2V0X21ldGEgdW5kZXIgc3FsYWxj
aGVteSAxLjAuMC4gYFB1bGwgUmVxdWVzdCAxNTBgXworKiBGaXggYGBiYXNlLnV0aWxgYCB0byBn
ZXQgdGhlIGNoYW5nZXNldCBmcm9tIGdpdC4gYFB1bGwgUmVxdWVzdCAxNjFgXworKiBSZW1vdmUg
YGBiaW9tYXJ0X3Rlc3RgYCB0b29sLCBodHRwOi8vdGVzdC5iaW9tYXJ0Lm9yZy8gaXMgZG93bi4g
KFRoYW5rcyA9CnRvCisgIGBAbnNvcmFuem8gPGh0dHBzOi8vZ2l0aHViLmNvbS9uc29yYW56bz5g
X18uKSBgUHVsbCBSZXF1ZXN0IDE4M2BfCisqIEZpeCBicm9rZW4gYnJvd3NlciB0ZXN0cy4gYFB1
bGwgUmVxdWVzdCAyMDJgXworKiBGaXggYXNzZXJ0aW9ucyBpbiBgYHRlc3RfVmlzdWFsaXphdGlv
bnNSZWdpc3RyeS5weWBgLiBgUHVsbCBSZXF1ZXN0IDIyM2BfCisqIEZpeCBgYHJ1bl90ZXN0cy5z
aGBgIGV4aXQgY29kZS4gYFB1bGwgUmVxdWVzdCAyMjVgXworKiBVc2UgYGB1bml0dGVzdDJgYCB0
byBhbGxvdyBQeXRob24gMi43IGFzc2VydGlvbnMgdW5kZXIgUHl0aG9uIDIuNi4KKyAgYFB1bGwg
UmVxdWVzdCAyNDZgXworKiBIYXZlIGBgdHJhbnMudXNlcl9mdHBfZGlyYGAgcmV0dXJuIGBgTm9u
ZWBgIGluc3RlYWQgb2YgZXJyb3IgaWYgdXBsb2FkIGQ9CmlyIHVuc2V0LgorICBgUHVsbCBSZXF1
ZXN0IDI1N2BfCisqIEFsbG93IElHViBleHRlcm5hbCBkaXNwbGF5cyB0byB1c2UgYSBuYW1lIHdp
dGggYSBjb21tYSBpbiBpdC4gYFB1bGwgUmVxdT0KZXN0IDI2MWBfCisqIEZpeCBidWcgaW4gaGlz
dG9yeSBzaGFyaW5nLiAoVGhhbmtzIHRvIGBAYmdydWVuaW5nCisgIDxodHRwczovL2dpdGh1Yi5j
b20vYmdydWVuaW5nPmBfXy4pIGBQdWxsIFJlcXVlc3QgMjYzYF8KKyogQ29udmVydCB0b29scyBk
aXJlY3RvcnkgdG8gb25seSB1c2UgdW5peCBuZXdsaW5lIGNoYXJhY3RlcnMuCisgIChUaGFua3Mg
dG8gYEBuc29yYW56byA8aHR0cHM6Ly9naXRodWIuY29tL25zb3JhbnpvPmBfXy4pIGBQdWxsIFJl
cXVlc3QgMj0KNjRgXworKiBSZW1vdmUgc3B1cmlvdXMgbnVtcHkgcmVxdWlyZW1lbnQgb24gYGBt
YWZfc3RhdHMueG1sYGAgdG9vbC4KKyAgKFRoYW5rcyB0byBgQG5zb3JhbnpvIDxodHRwczovL2dp
dGh1Yi5jb20vbnNvcmFuem8+YF9fLikgYFB1bGwgUmVxdWVzdCAyPQo2NGBfCisqIFVzZSBtb3Jl
IGFjdGlvbmFibGUgYGBwYWNrYWdlYGAgcmVxdWlyZW1lbnQgdHlwZSBvbiBzb21lIHRvb2xzLgor
ICAoVGhhbmtzIHRvIGBAbnNvcmFuem8gPGh0dHBzOi8vZ2l0aHViLmNvbS9uc29yYW56bz5gX18u
KSBgUHVsbCBSZXF1ZXN0IDI9CjY0YF8KKyogU21hbGwgZG9jIGZpeCBmb3IgYGBjb25maWcvcGx1
Z2lucy92aXN1YWxpemF0aW9ucy9SRUFETUUudHh0YGAuCisgIChUaGFua3MgdG8gYEBuc29yYW56
byA8aHR0cHM6Ly9naXRodWIuY29tL25zb3JhbnpvPmBfXy4pIGBQdWxsIFJlcXVlc3QgMj0KNjRg
XworKiBGaXggZnVuY3Rpb24gbmFtZXMgZm9yIGR5bmFtaWMgdG9vbCB0ZXN0IGZ1bmN0aW9ucy4g
YFB1bGwgUmVxdWVzdCAyNjZgXworKiBGaXhlcyB0byBkYXRhc2V0IGNob29zZXIuIGBQdWxsIFJl
cXVlc3QgMjcyYF8KKyogRml4IFRyYWNrc3RlciBsb2FkIG9yZGVyIG9mIHJlcXVpcmUgYW5kIGQz
LiBgUHVsbCBSZXF1ZXN0IDI5MWBfCisqIFJlbW92ZSBiYWQgSFRNTCB0YWdzIGZyb20gbG9naW4g
dGVtcGxhdGUuIChUaGFua3MgdG8gYEBVbm9kZQorICA8aHR0cHM6Ly9naXRodWIuY29tL1Vub2Rl
PmBfXy4pIGBQdWxsIFJlcXVlc3QgMjk0YF8KKyogRXhjbHVkZSBjdXJseSBicmFjZXMgZnJvbSBB
UEkta2V5IHRvIGZpeCB0b29sc2hlZCBib290c3RyYXBwaW5nLiAoVGhhbmtzPQogdG8KKyAgYEBt
dmRiZWVrIDxodHRwczovL2dpdGh1Yi5jb20vbXZkYmVlaz5gX18uKSBgUHVsbCBSZXF1ZXN0IDMw
MWBfCisqIEZpeCByZXBlYXRlZCBlcnJvciBtZXNzYWdlcyB3aXRoIGlkZW50aWNhbCB0ZXh0LiBg
UHVsbCBSZXF1ZXN0IDMwNmBfCisqIEZpeCBzaGFyZWQgbWFrbyB0ZW1wbGF0ZXMgdGhhdCB3b3Vs
ZCBub3Qgd29yayBwcm9wZXJseSB3aXRoIHRoZSBUb29sIFNoZT0KZC4KKyAgYFB1bGwgUmVxdWVz
dCAzMDdgXworKiBGaXgganNvbiBzbmlmZmVyIGZvciBsYXJnZSBmaWxlcy4gYFB1bGwgUmVxdWVz
dCAzMDlgXworKiBGaXggYSB0eXBvIGVycm9yIGluIGBgdmlzdWFsaXphdGlvbi9wbHVnaW5zL3Jl
c291cmNlX3BhcnNlci5weWBgLiAoVGhhbms9CnMgdG8KKyAgYEByZW1pbWFyZW5jbyA8aHR0cHM6
Ly9naXRodWIuY29tL3JlbWltYXJlbmNvPmBfXy4pIGBQdWxsIFJlcXVlc3QgMzEyYF8KKyogRml4
IGZvciBnZW5lcmF0aW5nIG1ldGFkYXRhIG9uIHRvb2xzaGVkIHRvb2xzIHRlc3RzLCB1bmRlciBj
ZXJ0YWluCisgIGNvbmRpdGlvbnMuIGBQdWxsIFJlcXVlc3QgMzE5YF8KKyogRml4IFRvb2wgU2hl
ZCBtZXRhZGF0YSBnZW5lcmF0aW9uIGJ1Zy4gKFRoYW5rcyB0byBgQGJncnVlbmluZworICA8aHR0
cHM6Ly9naXRodWIuY29tL2JncnVlbmluZz5gX18uKSBgUHVsbCBSZXF1ZXN0IDMzM2BfCisqIEZp
eGluZyBzdHJpbmcgYXBwZW5kaW5nIGVycm9yIGluIGxpYnJhcnkgZGljdGlmaWNhdGlvbi4gKFRo
YW5rcyB0byBgQGtlbD0KbHJvdHQKKyAgPGh0dHBzOi8vZ2l0aHViLmNvbS9rZWxscm90dD5gX18u
KSBgUHVsbCBSZXF1ZXN0IDMzNmBfCisqIEhpZGUgY29uc3RhbnRseSBicm9rZW4gVG9vbCBTaGVk
IHRlc3QgcmVzdWx0cy4gYFB1bGwgUmVxdWVzdCAzMzdgXworKiBGaXggZm9yIGZpeCBmb3IgaGFu
ZGxpbmcgb2YgdW5peCBwZXJtaXNzaW9ucyBpbiAuemlwIGZpbGVzLiBgUHVsbCBSZXF1ZXN0Cisg
IDM0NGBfCisqIEZpeCBjb21tb24gQVBJIHNjcmlwdHMgc28gdGhleSBkb24ndCBmYWlsIHdoZW4g
cmVzcG9uc2UgaGFzIG5vIFVSTCBwYXJhbS4KKyAgYFB1bGwgUmVxdWVzdCAzNTJgXworKiBGaXgg
Zm9yIGR5bmFtaWMgdGVzdCBkYXRhIGZldGNoaW5nLiBgUHVsbCBSZXF1ZXN0IDM3MWBfCisqIEZp
eCBidWcgaW4gYGBUZXh0LnNwbGl0KClgYCBtZXRob2QuIChUaGFua3MgdG8gYEBuc29yYW56bwor
ICA8aHR0cHM6Ly9naXRodWIuY29tL25zb3JhbnpvPmBfXy4pIGBQdWxsIFJlcXVlc3QgMzczYF8K
KyogRml4IGFuZCB1cGRhdGUgc2VyaWFsaXplciBjYWxsIHRvIG5vbi1gYHRyYW5zYGAgZm9ybSBm
b3IgaGlzdG9yaWVzLgorICBgUHVsbCBSZXF1ZXN0IDM5MGBfCisqIEZpeCBnZXR0aW5nIGFkbWlu
IGtleSB3aGVuIGJvb3RzdHJhcHBpbmcgdG9vbHNoZWQuIChUaGFua3MgdG8KKyAgYEBnYWxheHlw
cm9qZWN0IDxodHRwczovL2dpdGh1Yi5jb20vZ2FsYXh5cHJvamVjdD5gX18uKSBgUHVsbCBSZXF1
ZXN0IDM5PQoyYF8KKyogRml4IGVycm9yIHdoZW4gZGlzcGxheWluZyBqb2IgcGFyYW1zIGZvciB0
b29scyBjb250YWluaW5nIGEgc2VjdGlvbi4KKyAgKFRoYW5rcyB0byBgQGFicmV0YXVkIDxodHRw
czovL2dpdGh1Yi5jb20vYWJyZXRhdWQ+YF9fLikgYFB1bGwgUmVxdWVzdCAzPQo5OGBfCisqIEZp
eCBmb3Igc2V0dGluZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBwYXRocyBmb3IgaW5zdGFsbGVkIHRv
b2xzLiAoVGhhbmtzID0KdG8KKyAgYEBncmVndm9ua3VzdGVyIDxodHRwczovL2dpdGh1Yi5jb20v
Z3JlZ3Zvbmt1c3Rlcj5gX18uKSBgUHVsbCBSZXF1ZXN0IDQwPQozYF8KKyogUXVvdGEgY2FsY3Vs
YXRpb24gZml4ZXMgZm9yIG1hbmFnZXJzLiBgUHVsbCBSZXF1ZXN0IDQwNmBfCisqIEZpeCBwYWdp
bmcgaXNzdWUgd2l0aCB3aG9vc2ggZHVlIHRvIG1pc3NpbmcgYGBzdHJgYCB0byBgYGludGBgIGNv
bnZlcnNpbz0Kbi4KKyAgYFB1bGwgUmVxdWVzdCA0MDdgXworKiBVc2UgYGB3ZWIudXJsX2Zvcigg
Jy8nLCBxdWFsaWZpZWQ9M0RUcnVlIClgYCBpbnN0ZWFkIG9mIGBgJy8nYGAgdG8gZ2VuZXI9CmF0
ZQorICBVUkxzIChmb3IgY29ycmVjdG5lc3MpLiAoVGhhbmtzIHRvIGBAbXZkYmVlayA8aHR0cHM6
Ly9naXRodWIuY29tL212ZGJlZWs9Cj5gX18uKQorICBgUHVsbCBSZXF1ZXN0IDQxNGBfCisqIEZp
eCBmb3IgYXN5bmMgZGF0YXNvdXJjZXMuIGBQdWxsIFJlcXVlc3QgNDIzYF8KKyogRml4IFVJIGJ1
ZyByZWxhdGVkIHRvIElEIGNvbGxpc2lvbnMgZm9yIGRpc3BsYXkgb2YgY2VydGFpbiBjb2xsZWN0
aW9ucy4KKyAgYFB1bGwgUmVxdWVzdCA0MzFgXworKiBGaXggYGBydW5fdGVzdHMuc2hgYCBleGFt
cGxlIEFQSSB0ZXN0IGNvbW1hbmQuIGBQdWxsIFJlcXVlc3QgNDMyYF8KKyogRml4ZWQgdHlwbyBp
biBUb29sIFNoZWQgZG9jc3RyaW5nLiAoVGhhbmtzIHRvIGBAcGV0ZXJqYworICA8aHR0cHM6Ly9n
aXRodWIuY29tL3BldGVyamM+YF9fLikgYFB1bGwgUmVxdWVzdCA0MzhgXworKiBWYXJpb3VzIFRy
YWNrc3RlciBmaXhlcy4gYFB1bGwgUmVxdWVzdCA0NDZgXworKiBGaXggam9iIHF1ZXJ5IHRvIGFs
bG93IGFkbWlucyB0byB2aWV3IG90aGVyIGhpc3Rvcmllcy4gYFB1bGwgUmVxdWVzdCA0NjU9CmBf
CisqIEZpeCBgYGRia2V5YGAgZmlsdGVyaW5nIG9mIG11bHRpcGxlIGlucHV0IHRhcmdldHMuIGBQ
dWxsIFJlcXVlc3QgNTM0YF8KKyogRml4ZXMgZm9yIGBgRGVsZXRlSW50ZXJtZWRpYXRlc0FjdGlv
bmBgLiBgUHVsbCBSZXF1ZXN0IDU0N2BfCisqIEZpeCBvdmVycmlkaW5nIHRoZSBuYW1lIHZhcmlh
YmxlIGluIFRvb2wgU2hlZCBpbmRleCBjb2RlLiBgUHVsbCBSZXF1ZXN0ID0KNTY2YF8KKyogRml4
IGJhdGNoIG1vZGUgaW5wdXQgaW4gbmV3IHRvb2wgZm9ybSBVSS4gKFRoYW5rcyB0byBgQGVyaWNl
bm5zCisgIDxodHRwczovL2dpdGh1Yi5jb20vZXJpY2VubnM+YF9fLikgYFB1bGwgUmVxdWVzdCA1
NjhgXworKiBDU1YvU0FNIHNuaWZmIG9yZGVyIGZpeC4gYFB1bGwgUmVxdWVzdCA1NzFgXworKiBT
aG93IGZpZWxkIGZvciBlbnRlcmluZyByZW1vdGUvaG9tZSB1cmwgd2hlbiBtYW5hZ2luZyBhIFRv
b2wgU2hlZCByZXBvc2k9CnRvcnkuCisgIGBQdWxsIFJlcXVlc3QgNTgwYF8KKyogRml4IHJlZ2Vu
ZXJhdGluZyByZXBvc2l0b3J5IG1ldGFkYXRhIHdoZW4gY29taW5nIGZyb20gYmF0Y2ggaW50ZXJm
YWNlLgorICBgUHVsbCBSZXF1ZXN0IDYwMGBfCisKKworLi4gZ2l0aHViX2xpbmtzCisuLiBfUHVs
bCBSZXF1ZXN0IDgwOiBodHRwczovL2dpdGh1Yi5jb20vZ2FsYXh5cHJvamVjdC9nYWxheHkvcHVs
bC84MAorLi4gX1B1bGwgUmVxdWVzdCAxMzI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzEzMgorLi4gX1B1bGwgUmVxdWVzdCAxMzc6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzEzNworLi4gX1B1bGwgUmVxdWVzdCAxNDg6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE0OAorLi4gX1B1
bGwgUmVxdWVzdCAxNDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzE0OQorLi4gX1B1bGwgUmVxdWVzdCAxNTA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzE1MAorLi4gX1B1bGwgUmVxdWVzdCAxNTE6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE1MQorLi4gX1B1bGwgUmVxdWVzdCAx
NTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE1OQorLi4g
X1B1bGwgUmVxdWVzdCAxNjA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzE2MAorLi4gX1B1bGwgUmVxdWVzdCAxNjE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE2MQorLi4gX1B1bGwgUmVxdWVzdCAxNjM6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE2MworLi4gX1B1bGwgUmVxdWVz
dCAxNzI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE3Mgor
Li4gX1B1bGwgUmVxdWVzdCAxNzM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzE3MworLi4gX1B1bGwgUmVxdWVzdCAxODE6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE4MQorLi4gX1B1bGwgUmVxdWVzdCAxODI6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE4MgorLi4gX1B1bGwgUmVx
dWVzdCAxODM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE4
MworLi4gX1B1bGwgUmVxdWVzdCAxODY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzE4NgorLi4gX1B1bGwgUmVxdWVzdCAxOTA6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE5MAorLi4gX1B1bGwgUmVxdWVzdCAxOTE6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzE5MQorLi4gX1B1bGwg
UmVxdWVzdCAxOTc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzE5NworLi4gX1B1bGwgUmVxdWVzdCAyMDA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzIwMAorLi4gX1B1bGwgUmVxdWVzdCAyMDI6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIwMgorLi4gX1B1bGwgUmVxdWVzdCAyMDQ6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIwNAorLi4gX1B1
bGwgUmVxdWVzdCAyMDg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzIwOAorLi4gX1B1bGwgUmVxdWVzdCAyMTg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzIxOAorLi4gX1B1bGwgUmVxdWVzdCAyMTk6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIxOQorLi4gX1B1bGwgUmVxdWVzdCAy
MjE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIyMQorLi4g
X1B1bGwgUmVxdWVzdCAyMjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzIyMworLi4gX1B1bGwgUmVxdWVzdCAyMjU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIyNQorLi4gX1B1bGwgUmVxdWVzdCAyMjk6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIyOQorLi4gX1B1bGwgUmVxdWVz
dCAyMzA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIzMAor
Li4gX1B1bGwgUmVxdWVzdCAyMzM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzIzMworLi4gX1B1bGwgUmVxdWVzdCAyMzk6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzIzOQorLi4gX1B1bGwgUmVxdWVzdCAyNDA6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI0MAorLi4gX1B1bGwgUmVx
dWVzdCAyNDE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI0
MQorLi4gX1B1bGwgUmVxdWVzdCAyNDM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzI0MworLi4gX1B1bGwgUmVxdWVzdCAyNDY6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI0NgorLi4gX1B1bGwgUmVxdWVzdCAyNDg6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI0OAorLi4gX1B1bGwg
UmVxdWVzdCAyNDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzI0OQorLi4gX1B1bGwgUmVxdWVzdCAyNTA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzI1MAorLi4gX1B1bGwgUmVxdWVzdCAyNTc6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI1NworLi4gX1B1bGwgUmVxdWVzdCAyNTk6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI1OQorLi4gX1B1
bGwgUmVxdWVzdCAyNjE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzI2MQorLi4gX1B1bGwgUmVxdWVzdCAyNjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzI2MworLi4gX1B1bGwgUmVxdWVzdCAyNjQ6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI2NAorLi4gX1B1bGwgUmVxdWVzdCAy
NjY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI2NgorLi4g
X1B1bGwgUmVxdWVzdCAyNjc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzI2NworLi4gX1B1bGwgUmVxdWVzdCAyNjg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI2OAorLi4gX1B1bGwgUmVxdWVzdCAyNjk6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI2OQorLi4gX1B1bGwgUmVxdWVz
dCAyNzA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI3MAor
Li4gX1B1bGwgUmVxdWVzdCAyNzI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzI3MgorLi4gX1B1bGwgUmVxdWVzdCAyNzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI3NAorLi4gX1B1bGwgUmVxdWVzdCAyNzc6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI3NworLi4gX1B1bGwgUmVx
dWVzdCAyNzk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI3
OQorLi4gX1B1bGwgUmVxdWVzdCAyODA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzI4MAorLi4gX1B1bGwgUmVxdWVzdCAyODQ6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI4NAorLi4gX1B1bGwgUmVxdWVzdCAyODU6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI4NQorLi4gX1B1bGwg
UmVxdWVzdCAyODY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzI4NgorLi4gX1B1bGwgUmVxdWVzdCAyODc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzI4NworLi4gX1B1bGwgUmVxdWVzdCAyODk6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI4OQorLi4gX1B1bGwgUmVxdWVzdCAyOTA6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI5MAorLi4gX1B1
bGwgUmVxdWVzdCAyOTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzI5MQorLi4gX1B1bGwgUmVxdWVzdCAyOTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzI5NAorLi4gX1B1bGwgUmVxdWVzdCAyOTU6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI5NQorLi4gX1B1bGwgUmVxdWVzdCAy
OTY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI5NgorLi4g
X1B1bGwgUmVxdWVzdCAyOTc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzI5NworLi4gX1B1bGwgUmVxdWVzdCAyOTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzI5OQorLi4gX1B1bGwgUmVxdWVzdCAzMDE6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMwMQorLi4gX1B1bGwgUmVxdWVz
dCAzMDI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMwMgor
Li4gX1B1bGwgUmVxdWVzdCAzMDM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzMwMworLi4gX1B1bGwgUmVxdWVzdCAzMDY6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMwNgorLi4gX1B1bGwgUmVxdWVzdCAzMDc6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMwNworLi4gX1B1bGwgUmVx
dWVzdCAzMDg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMw
OAorLi4gX1B1bGwgUmVxdWVzdCAzMDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzMwOQorLi4gX1B1bGwgUmVxdWVzdCAzMTE6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMxMQorLi4gX1B1bGwgUmVxdWVzdCAzMTI6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMxMgorLi4gX1B1bGwg
UmVxdWVzdCAzMTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzMxNAorLi4gX1B1bGwgUmVxdWVzdCAzMTY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzMxNgorLi4gX1B1bGwgUmVxdWVzdCAzMTg6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMxOAorLi4gX1B1bGwgUmVxdWVzdCAzMTk6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMxOQorLi4gX1B1
bGwgUmVxdWVzdCAzMjI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzMyMgorLi4gX1B1bGwgUmVxdWVzdCAzMjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzMyMworLi4gX1B1bGwgUmVxdWVzdCAzMjU6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMyNQorLi4gX1B1bGwgUmVxdWVzdCAz
MjY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMyNgorLi4g
X1B1bGwgUmVxdWVzdCAzMjg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzMyOAorLi4gX1B1bGwgUmVxdWVzdCAzMjk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMyOQorLi4gX1B1bGwgUmVxdWVzdCAzMzA6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzMAorLi4gX1B1bGwgUmVxdWVz
dCAzMzI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzMgor
Li4gX1B1bGwgUmVxdWVzdCAzMzM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzMzMworLi4gX1B1bGwgUmVxdWVzdCAzMzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzNAorLi4gX1B1bGwgUmVxdWVzdCAzMzU6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzNQorLi4gX1B1bGwgUmVx
dWVzdCAzMzY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMz
NgorLi4gX1B1bGwgUmVxdWVzdCAzMzc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzMzNworLi4gX1B1bGwgUmVxdWVzdCAzMzg6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzOAorLi4gX1B1bGwgUmVxdWVzdCAzMzk6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzMzOQorLi4gX1B1bGwg
UmVxdWVzdCAzNDA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzM0MAorLi4gX1B1bGwgUmVxdWVzdCAzNDE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzM0MQorLi4gX1B1bGwgUmVxdWVzdCAzNDI6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM0MgorLi4gX1B1bGwgUmVxdWVzdCAzNDQ6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM0NAorLi4gX1B1
bGwgUmVxdWVzdCAzNDU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzM0NQorLi4gX1B1bGwgUmVxdWVzdCAzNDY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzM0NgorLi4gX1B1bGwgUmVxdWVzdCAzNDc6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM0NworLi4gX1B1bGwgUmVxdWVzdCAz
NDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM0OQorLi4g
X1B1bGwgUmVxdWVzdCAzNTA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzM1MAorLi4gX1B1bGwgUmVxdWVzdCAzNTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM1MQorLi4gX1B1bGwgUmVxdWVzdCAzNTI6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM1MgorLi4gX1B1bGwgUmVxdWVz
dCAzNTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM1NAor
Li4gX1B1bGwgUmVxdWVzdCAzNTU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzM1NQorLi4gX1B1bGwgUmVxdWVzdCAzNTY6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM1NgorLi4gX1B1bGwgUmVxdWVzdCAzNjI6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM2MgorLi4gX1B1bGwgUmVx
dWVzdCAzNjQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM2
NAorLi4gX1B1bGwgUmVxdWVzdCAzNjY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzM2NgorLi4gX1B1bGwgUmVxdWVzdCAzNjg6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM2OAorLi4gX1B1bGwgUmVxdWVzdCAzNjk6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM2OQorLi4gX1B1bGwg
UmVxdWVzdCAzNzA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzM3MAorLi4gX1B1bGwgUmVxdWVzdCAzNzE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzM3MQorLi4gX1B1bGwgUmVxdWVzdCAzNzM6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM3MworLi4gX1B1bGwgUmVxdWVzdCAzNzQ6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM3NAorLi4gX1B1
bGwgUmVxdWVzdCAzNzY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzM3NgorLi4gX1B1bGwgUmVxdWVzdCAzODE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzM4MQorLi4gX1B1bGwgUmVxdWVzdCAzODM6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM4MworLi4gX1B1bGwgUmVxdWVzdCAz
ODQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM4NAorLi4g
X1B1bGwgUmVxdWVzdCAzODY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzM4NgorLi4gX1B1bGwgUmVxdWVzdCAzODk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM4OQorLi4gX1B1bGwgUmVxdWVzdCAzOTA6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM5MAorLi4gX1B1bGwgUmVxdWVz
dCAzOTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM5Mgor
Li4gX1B1bGwgUmVxdWVzdCAzOTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzM5NAorLi4gX1B1bGwgUmVxdWVzdCAzOTU6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM5NQorLi4gX1B1bGwgUmVxdWVzdCAzOTc6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM5NworLi4gX1B1bGwgUmVx
dWVzdCAzOTg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzM5
OAorLi4gX1B1bGwgUmVxdWVzdCAzOTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzM5OQorLi4gX1B1bGwgUmVxdWVzdCA0MDI6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQwMgorLi4gX1B1bGwgUmVxdWVzdCA0MDM6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQwMworLi4gX1B1bGwg
UmVxdWVzdCA0MDU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzQwNQorLi4gX1B1bGwgUmVxdWVzdCA0MDY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzQwNgorLi4gX1B1bGwgUmVxdWVzdCA0MDc6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQwNworLi4gX1B1bGwgUmVxdWVzdCA0MTA6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQxMAorLi4gX1B1
bGwgUmVxdWVzdCA0MTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzQxMgorLi4gX1B1bGwgUmVxdWVzdCA0MTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzQxNAorLi4gX1B1bGwgUmVxdWVzdCA0MTY6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQxNgorLi4gX1B1bGwgUmVxdWVzdCA0
MTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQxOQorLi4g
X1B1bGwgUmVxdWVzdCA0MjA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzQyMAorLi4gX1B1bGwgUmVxdWVzdCA0MjE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQyMQorLi4gX1B1bGwgUmVxdWVzdCA0MjI6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQyMgorLi4gX1B1bGwgUmVxdWVz
dCA0MjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQyMwor
Li4gX1B1bGwgUmVxdWVzdCA0MjQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzQyNAorLi4gX1B1bGwgUmVxdWVzdCA0MjY6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQyNgorLi4gX1B1bGwgUmVxdWVzdCA0Mjc6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQyNworLi4gX1B1bGwgUmVx
dWVzdCA0Mjk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQy
OQorLi4gX1B1bGwgUmVxdWVzdCA0MzE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzQzMQorLi4gX1B1bGwgUmVxdWVzdCA0MzI6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQzMgorLi4gX1B1bGwgUmVxdWVzdCA0MzM6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQzMworLi4gX1B1bGwg
UmVxdWVzdCA0Mzg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzQzOAorLi4gX1B1bGwgUmVxdWVzdCA0Mzk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzQzOQorLi4gX1B1bGwgUmVxdWVzdCA0NDA6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ0MAorLi4gX1B1bGwgUmVxdWVzdCA0NDE6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ0MQorLi4gX1B1
bGwgUmVxdWVzdCA0NDM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzQ0MworLi4gX1B1bGwgUmVxdWVzdCA0NDQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzQ0NAorLi4gX1B1bGwgUmVxdWVzdCA0NDY6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ0NgorLi4gX1B1bGwgUmVxdWVzdCA0
NDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ0OQorLi4g
X1B1bGwgUmVxdWVzdCA0NTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzQ1MgorLi4gX1B1bGwgUmVxdWVzdCA0NTM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ1MworLi4gX1B1bGwgUmVxdWVzdCA0NTQ6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ1NAorLi4gX1B1bGwgUmVxdWVz
dCA0NTU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ1NQor
Li4gX1B1bGwgUmVxdWVzdCA0NTg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzQ1OAorLi4gX1B1bGwgUmVxdWVzdCA0NTk6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ1OQorLi4gX1B1bGwgUmVxdWVzdCA0NjI6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ2MgorLi4gX1B1bGwgUmVx
dWVzdCA0NjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ2
MworLi4gX1B1bGwgUmVxdWVzdCA0NjU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzQ2NQorLi4gX1B1bGwgUmVxdWVzdCA0NzA6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ3MAorLi4gX1B1bGwgUmVxdWVzdCA0NzI6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ3MgorLi4gX1B1bGwg
UmVxdWVzdCA0NzM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzQ3MworLi4gX1B1bGwgUmVxdWVzdCA0Nzg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzQ3OAorLi4gX1B1bGwgUmVxdWVzdCA0Nzk6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ3OQorLi4gX1B1bGwgUmVxdWVzdCA0ODA6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ4MAorLi4gX1B1
bGwgUmVxdWVzdCA0ODE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzQ4MQorLi4gX1B1bGwgUmVxdWVzdCA0ODI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzQ4MgorLi4gX1B1bGwgUmVxdWVzdCA0ODQ6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ4NAorLi4gX1B1bGwgUmVxdWVzdCA0
ODU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ4NQorLi4g
X1B1bGwgUmVxdWVzdCA0ODY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzQ4NgorLi4gX1B1bGwgUmVxdWVzdCA0ODc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ4NworLi4gX1B1bGwgUmVxdWVzdCA0ODg6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ4OAorLi4gX1B1bGwgUmVxdWVz
dCA0OTA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5MAor
Li4gX1B1bGwgUmVxdWVzdCA0OTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzQ5MQorLi4gX1B1bGwgUmVxdWVzdCA0OTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5MgorLi4gX1B1bGwgUmVxdWVzdCA0OTM6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5MworLi4gX1B1bGwgUmVx
dWVzdCA0OTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5
NAorLi4gX1B1bGwgUmVxdWVzdCA0OTU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzQ5NQorLi4gX1B1bGwgUmVxdWVzdCA0OTY6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5NgorLi4gX1B1bGwgUmVxdWVzdCA0OTk6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzQ5OQorLi4gX1B1bGwg
UmVxdWVzdCA1MDA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzUwMAorLi4gX1B1bGwgUmVxdWVzdCA1MDk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzUwOQorLi4gX1B1bGwgUmVxdWVzdCA1MTA6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUxMAorLi4gX1B1bGwgUmVxdWVzdCA1MTE6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUxMQorLi4gX1B1
bGwgUmVxdWVzdCA1MTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzUxMgorLi4gX1B1bGwgUmVxdWVzdCA1MTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzUxNAorLi4gX1B1bGwgUmVxdWVzdCA1MTU6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUxNQorLi4gX1B1bGwgUmVxdWVzdCA1
MTY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUxNgorLi4g
X1B1bGwgUmVxdWVzdCA1MTc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzUxNworLi4gX1B1bGwgUmVxdWVzdCA1MjY6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUyNgorLi4gX1B1bGwgUmVxdWVzdCA1Mjc6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUyNworLi4gX1B1bGwgUmVxdWVz
dCA1Mjk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUyOQor
Li4gX1B1bGwgUmVxdWVzdCA1MzA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzUzMAorLi4gX1B1bGwgUmVxdWVzdCA1MzE6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUzMQorLi4gX1B1bGwgUmVxdWVzdCA1MzI6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUzMgorLi4gX1B1bGwgUmVx
dWVzdCA1MzM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUz
MworLi4gX1B1bGwgUmVxdWVzdCA1MzQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzUzNAorLi4gX1B1bGwgUmVxdWVzdCA1MzY6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUzNgorLi4gX1B1bGwgUmVxdWVzdCA1Mzc6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzUzNworLi4gX1B1bGwg
UmVxdWVzdCA1Mzg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzUzOAorLi4gX1B1bGwgUmVxdWVzdCA1Mzk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzUzOQorLi4gX1B1bGwgUmVxdWVzdCA1NDA6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU0MAorLi4gX1B1bGwgUmVxdWVzdCA1NDM6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU0MworLi4gX1B1
bGwgUmVxdWVzdCA1NDQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzU0NAorLi4gX1B1bGwgUmVxdWVzdCA1NDU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzU0NQorLi4gX1B1bGwgUmVxdWVzdCA1NDY6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU0NgorLi4gX1B1bGwgUmVxdWVzdCA1
NDc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU0NworLi4g
X1B1bGwgUmVxdWVzdCA1NTA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzU1MAorLi4gX1B1bGwgUmVxdWVzdCA1NTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU1MQorLi4gX1B1bGwgUmVxdWVzdCA1NTM6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU1MworLi4gX1B1bGwgUmVxdWVz
dCA1NjE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU2MQor
Li4gX1B1bGwgUmVxdWVzdCA1NjM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzU2MworLi4gX1B1bGwgUmVxdWVzdCA1NjU6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU2NQorLi4gX1B1bGwgUmVxdWVzdCA1NjY6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU2NgorLi4gX1B1bGwgUmVx
dWVzdCA1Njc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU2
NworLi4gX1B1bGwgUmVxdWVzdCA1Njg6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0
L2dhbGF4eS9wdWxsLzU2OAorLi4gX1B1bGwgUmVxdWVzdCA1Njk6IGh0dHBzOi8vZ2l0aHViLmNv
bS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU2OQorLi4gX1B1bGwgUmVxdWVzdCA1NzE6IGh0
dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU3MQorLi4gX1B1bGwg
UmVxdWVzdCA1NzU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxs
LzU3NQorLi4gX1B1bGwgUmVxdWVzdCA1Nzc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9q
ZWN0L2dhbGF4eS9wdWxsLzU3NworLi4gX1B1bGwgUmVxdWVzdCA1ODA6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU4MAorLi4gX1B1bGwgUmVxdWVzdCA1ODE6
IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU4MQorLi4gX1B1
bGwgUmVxdWVzdCA1ODM6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9w
dWxsLzU4MworLi4gX1B1bGwgUmVxdWVzdCA1ODQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlw
cm9qZWN0L2dhbGF4eS9wdWxsLzU4NAorLi4gX1B1bGwgUmVxdWVzdCA1ODU6IGh0dHBzOi8vZ2l0
aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU4NQorLi4gX1B1bGwgUmVxdWVzdCA1
ODc6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU4NworLi4g
X1B1bGwgUmVxdWVzdCA1ODk6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4
eS9wdWxsLzU4OQorLi4gX1B1bGwgUmVxdWVzdCA1OTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxh
eHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU5MQorLi4gX1B1bGwgUmVxdWVzdCA1OTI6IGh0dHBzOi8v
Z2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU5MgorLi4gX1B1bGwgUmVxdWVz
dCA1OTQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzU5NAor
Li4gX1B1bGwgUmVxdWVzdCA2MDA6IGh0dHBzOi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dh
bGF4eS9wdWxsLzYwMAorLi4gX1B1bGwgUmVxdWVzdCA2MDI6IGh0dHBzOi8vZ2l0aHViLmNvbS9n
YWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzYwMgorLi4gX1B1bGwgUmVxdWVzdCA2MjU6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9nYWxheHlwcm9qZWN0L2dhbGF4eS9wdWxsLzYyNQoKZGlmZiAtciBjOGFi
MGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1
NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBkb2Mvc291cmNlL3JlbGVhc2VzLzE1LjA3X2Fubm91
bmNlLnJzdAotLS0gYS9kb2Mvc291cmNlL3JlbGVhc2VzLzE1LjA3X2Fubm91bmNlLnJzdAorKysg
Yi9kb2Mvc291cmNlL3JlbGVhc2VzLzE1LjA3X2Fubm91bmNlLnJzdApAQCAtMiwyMiArMiw2OSBA
QAogSnVseSAyMDE1IEdhbGF4eSBSZWxlYXNlICh2IDE1LjA3KQogPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAo9MjAKKwog
Li4gaW5jbHVkZTo6IF9oZWFkZXIucnN0Cj0yMAorSGlnaGxpZ2h0cworPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAo9MjAK
LVNjaGVkdWxlCisqKkludGVyYWN0aXZlIEVudmlyb25tZW50cyoqCisgIFRoZSBpbnRlcmFjdGl2
ZSBlbnZpcm9ubWVudHMgKElFKSBmcmFtZXdvcmsgZmVhdHVyZXMgc2V2ZXJhbCB1cGRhdGVzIHRo
aT0KcyByZWxlYXNlCisgIGFuZCBHYWxheHkgaXMgbm93IGRpc3RyaWJ1dGVkIHdpdGggYSBuZXcg
SUUgZm9yIFJTdHVkaW8gaW1wbGVtZW50ZWQgYnkgRT0KcmljIFJhc2NoZS4KKworKipXb3JrZmxv
dyBFZGl0b3IgRW5oYW5jZW1lbnRzKioKKyAgVGhlIHdvcmtmbG93IGVkaXRvciBoYXMgYmVlbiBz
aWduaWZpY2FudGx5IHJldmFtcGVkIC0gaXQgbm93IHVzZXMgbmV3ZXIgPQp0b29sIGZvcm0KKyAg
Y29tcG9uZW50cyBhbmQgYWxsb3cgY29uc3RydWN0aW9uIG9mIHdvcmtmbG93cyB3aXRoIHRvb2xz
IGV4cGxpY2l0bHkgcHJvPQpkdWNpbmcKKyAgb3V0cHV0IGNvbGxlY3Rpb25zLgorCisqKlBvbGlj
aWVzIGZvciBDb21taXR0ZXJzIGFuZCBQdWxsIFJlcXVlc3RzKioKKyAgVGhlIHByb2Nlc3MgZm9y
IGFkZGluZyBjb21taXR0ZXJzIHRvIHRoZSBwcm9qZWN0IGFuZCBmaWVsZGluZyBwdWxsIHJlcXVl
PQpzdHMgaGFzPTIwCisgIGJlZW4gZm9ybWFsaXplZCBhbmQgZG9jdW1lbnRlZCBpbiB0aGUgc291
cmNlIGNvZGUuIFRocmVlIG5ldyBjb21taXR0ZXJzID0KaGF2ZSBiZWVuCisgIGFkZGVkIHRvIHRo
ZSBwcm9qZWN0IC0gQmo9QzM9QjZybiBHcj1DMz1CQ25pbmcsIE5pY29sYSBTb3JhbnpvLCBhbmQg
RXJpYz0KIFJhc2NoZS4KKworCitgR2l0aHViIDxodHRwczovL2dpdGh1Yi5jb20vZ2FsYXh5cHJv
amVjdC9nYWxheHk+YF9fCiA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECi0gKiBQbGFubmVkIEZyZWV6ZSBEYXRlOiBKdWx5
IDEzLCAyMDE1Ci0gKiBQbGFubmVkIFJlbGVhc2UgRGF0ZTogSnVseSAyNywgMjAxNQo9MjAKLS4u
IEhpZ2hsaWdodHMKLS4uID0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0QKK05ldworICAuLiBjb2RlLWJsb2NrOjogc2hlbGwK
KyA9MjAKKyAgICAgICUgZ2l0IGNsb25lIC1iIG1hc3RlciBodHRwczovL2dpdGh1Yi5jb20vZ2Fs
YXh5cHJvamVjdC9nYWxheHkuZ2l0Cj0yMAotLi4gRG93bmxvYWRzCi0uLiA9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECitV
cGRhdGUgdG8gbGF0ZXN0IHN0YWJsZSByZWxlYXNlCisgIC4uIGNvZGUtYmxvY2s6OiBzaGVsbAor
ID0yMAorICAgICAgJSBnaXQgY2hlY2tvdXQgbWFzdGVyICYmIHB1bGwgLS1mZi1vbmx5IG9yaWdp
biBtYXN0ZXIKPTIwCi0uLiBSZWxlYXNlIE5vdGVzCi0uLiA9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNECitVcGRhdGUgdG8g
ZXhhY3QgdmVyc2lvbgorICAuLiBjb2RlLWJsb2NrOjogc2hlbGwKKyA9MjAKKyAgICAgICUgZ2l0
IGNoZWNrb3V0IHYxNS4wNwo9MjAKPTIwCitgQml0QnVja2V0IDxodHRwczovL2JpdGJ1Y2tldC5v
cmcvZ2FsYXh5L2dhbGF4eS1kaXN0PmBfXworPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorCitVcGdyYWRlCisgIC4uIGNv
ZGUtYmxvY2s6OiBzaGVsbAorID0yMAorICAgICAgJSBoZyBwdWxsPTIwCisgICAgICAlIGhnIHVw
ZGF0ZSBsYXRlc3RfMTUuMDcKKworCitTZWUgYG91ciB3aWtpIDxodHRwczovL3dpa2kuZ2FsYXh5
cHJvamVjdC5vcmcvRGV2ZWxvcC9Tb3VyY2VDb2RlPmBfXyBmb3IgYT0KZGRpdGlvbmFsIGRldGFp
bHMgcmVnYXJkaW5nIHRoZSBzb3VyY2UgY29kZSBsb2NhdGlvbnMuCisKK0RlcHJlY2F0aW9uIE5v
dGljZQorPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRAorCitHYWxheHkncyBidWlsdC1pbiBjbG91ZGxhdW5jaCBmdW5jdGlv
bmFsaXR5IGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGBDbG91ZExhdT0KbmNoCis8aHR0cHM6Ly9naXRo
dWIuY29tL2dhbGF4eXByb2plY3QvY2xvdWRsYXVuY2g+YF9fIGFuZCB3aWxsIGJlIHJlbW92ZWQg
ZnJvbT0KIHRoZQorY29yZSBjb2RlYmFzZSBpbiB0aGUgbmV4dCByZWxlYXNlLgorCitSZWxlYXNl
IE5vdGVzCis9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNECisKKy4uIGluY2x1ZGU6OiAxNS4wNy5yc3QKKyAgIDpzdGFydC1h
ZnRlcjogZW5oYW5jZW1lbnRzCisKIC4uIGluY2x1ZGU6OiBfdGhhbmtzLnJzdAoKZGlmZiAtciBj
OGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMy
YWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBkb2Mvc291cmNlL3JlbGVhc2VzLzE1LjEwX2Fu
bm91bmNlLnJzdAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9zb3VyY2UvcmVsZWFzZXMvMTUuMTBf
YW5ub3VuY2UucnN0CkBAIC0wLDAgKzEsOSBAQAorPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorT2N0b2JlciAyMDE1IEdh
bGF4eSBSZWxlYXNlICh2IDE1LjEwKQorPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPQo9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRAorCisKK1NjaGVkdWxlCis9M0Q9M0Q9
M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9M0Q9
M0Q9M0Q9M0Q9Cj0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0z
RD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0zRD0KPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNEPTNE
PTNECisgKiBQbGFubmVkIEZyZWV6ZSBEYXRlOiBPY3RvYmVyIDUsIDIwMTUKKyAqIFBsYW5uZWQg
UmVsZWFzZSBEYXRlOiBPY3RvYmVyIDI2LCAyMDE1CgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRk
MjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVh
NjgxODk3OTdlOTc5IGRvYy9zb3VyY2UvcmVsZWFzZXMvaW5kZXgucnN0Ci0tLSBhL2RvYy9zb3Vy
Y2UvcmVsZWFzZXMvaW5kZXgucnN0CisrKyBiL2RvYy9zb3VyY2UvcmVsZWFzZXMvaW5kZXgucnN0
CkBAIC00LDYgKzQsNyBAQAogLi4gdG9jdHJlZTo6CiAgICA6bWF4ZGVwdGg6IDEKPTIwCisgICAx
NS4xMF9hbm5vdW5jZQogICAgMTUuMDdfYW5ub3VuY2UKICAgIDE1LjA1X2Fubm91bmNlCiAgICAx
NS4wM19hbm5vdW5jZQoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5
YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBsaWIv
Z2FsYXh5L2RhdGF0eXBlcy9iaW5hcnkucHkKLS0tIGEvbGliL2dhbGF4eS9kYXRhdHlwZXMvYmlu
YXJ5LnB5CisrKyBiL2xpYi9nYWxheHkvZGF0YXR5cGVzL2JpbmFyeS5weQpAQCAtNDEsMTEgKzQx
LDExIEBACj0yMAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgcmVnaXN0ZXJfc25pZmZhYmxl
X2JpbmFyeV9mb3JtYXQoZGF0YV90eXBlLCBleHQsIHR5cGVfY2xhc3MpOgotICAgICAgICBCaW5h
cnkuc25pZmZhYmxlX2JpbmFyeV9mb3JtYXRzLmFwcGVuZCh7InR5cGUiOiBkYXRhX3R5cGUsICJl
eHQiOiA9CmV4dCwgImNsYXNzIjogdHlwZV9jbGFzc30pCisgICAgICAgIEJpbmFyeS5zbmlmZmFi
bGVfYmluYXJ5X2Zvcm1hdHMuYXBwZW5kKHsidHlwZSI6IGRhdGFfdHlwZSwgImV4dCI6ID0KZXh0
Lmxvd2VyKCksICJjbGFzcyI6IHR5cGVfY2xhc3N9KQo9MjAKICAgICBAc3RhdGljbWV0aG9kCiAg
ICAgZGVmIHJlZ2lzdGVyX3Vuc25pZmZhYmxlX2JpbmFyeV9leHQoZXh0KToKLSAgICAgICAgQmlu
YXJ5LnVuc25pZmZhYmxlX2JpbmFyeV9mb3JtYXRzLmFwcGVuZChleHQpCisgICAgICAgIEJpbmFy
eS51bnNuaWZmYWJsZV9iaW5hcnlfZm9ybWF0cy5hcHBlbmQoZXh0Lmxvd2VyKCkpCj0yMAogICAg
IEBzdGF0aWNtZXRob2QKICAgICBkZWYgaXNfc25pZmZhYmxlX2JpbmFyeSggZmlsZW5hbWUgKToK
QEAgLTg5MSw3ICs4OTEsNyBAQAo9MjAKIGNsYXNzIFJEYXRhKCBCaW5hcnkgKToKICAgICAiIiJH
ZW5lcmljIFIgRGF0YSBmaWxlIGRhdGF0eXBlIGltcGxlbWVudGF0aW9uIiIiCi0gICAgZmlsZV9l
eHQgPTNEICdyZGF0YScKKyAgICBmaWxlX2V4dCA9M0QgJ1JEYXRhJwo9MjAKICAgICBkZWYgX19p
bml0X18oIHNlbGYsICoqa3dkICk6CiAgICAgICAgIEJpbmFyeS5fX2luaXRfXyggc2VsZiwgKipr
d2QgKQpAQCAtOTA5LDQgKzkwOSw0IEBACiAgICAgICAgIGV4Y2VwdDoKICAgICAgICAgICAgIHJl
dHVybiBGYWxzZQo9MjAKLUJpbmFyeS5yZWdpc3Rlcl9zbmlmZmFibGVfYmluYXJ5X2Zvcm1hdCgn
cmRhdGEnLCAncmRhdGEnLCBSRGF0YSkKK0JpbmFyeS5yZWdpc3Rlcl9zbmlmZmFibGVfYmluYXJ5
X2Zvcm1hdCgnUkRhdGEnLCAnUkRhdGEnLCBSRGF0YSkKCmRpZmYgLXIgYzhhYjBmZTI4NmJmMTBh
ZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZjMmFlNTZkZTEwNz0KMmE0
NWE2ODE4OTc5N2U5NzkgbGliL2dhbGF4eS9kYXRhdHlwZXMvdGFidWxhci5weQotLS0gYS9saWIv
Z2FsYXh5L2RhdGF0eXBlcy90YWJ1bGFyLnB5CisrKyBiL2xpYi9nYWxheHkvZGF0YXR5cGVzL3Rh
YnVsYXIucHkKQEAgLTI3Myw3ICsyNzMsNyBAQAogICAgICAgICAgICAgICAgIGlmIGNvbHVtbl90
eXBlMiA9M0Q9M0QgY29sdW1uX3R5cGU6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBGYWxz
ZQogICAgICAgICAgICAgIyBuZWl0aGVyIGNvbHVtbiB0eXBlIHdhcyBmb3VuZCBpbiBvdXIgb3Jk
ZXJlZCBsaXN0LCB0aGlzIGNhbm49Cm90IGhhcHBlbgotICAgICAgICAgICAgcmFpc2UgIlRyaWVk
IHRvIGNvbXBhcmUgdW5rbm93biBjb2x1bW4gdHlwZXMiCisgICAgICAgICAgICByYWlzZSBWYWx1
ZUVycm9yKCAiVHJpZWQgdG8gY29tcGFyZSB1bmtub3duIGNvbHVtbiB0eXBlczogJXMgYT0KbmQg
JXMiICUgKCBjb2x1bW5fdHlwZTEsIGNvbHVtbl90eXBlMiApICkKPTIwCiAgICAgICAgIGRlZiBp
c19pbnQoIGNvbHVtbl90ZXh0ICk6CiAgICAgICAgICAgICB0cnk6CkBAIC05MTMsOCArOTEzLDYg
QEAKICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0NTViByZWFkZXIgZXJyb3IgLSBs
aW5lICVkOiAlcycgJSAocmVhZGVyPQoubGluZV9udW0sIGUpKQo9MjAKICAgICAgICAgICAgICMg
R3Vlc3MgY29sdW1uIHR5cGVzCi0gICAgICAgICAgICBpZiBsZW4oaGVhZGVyX3JvdykgIT0zRCBs
ZW4oZGF0YV9yb3cpOgotICAgICAgICAgICAgICAgIHJhaXNlICgnbWlzbWF0Y2hpbmcgbnVtYmVy
IG9mIGNvbHVtbnMgaW4gaGVhZGVyIGFuZCBkYXRhJykKICAgICAgICAgICAgIGNvbHVtbl90eXBl
cyA9M0QgW10KICAgICAgICAgICAgIGZvciBjZWxsIGluIGRhdGFfcm93OgogICAgICAgICAgICAg
ICAgIGNvbHVtbl90eXBlcy5hcHBlbmQoc2VsZi5ndWVzc190eXBlKGNlbGwpKQpAQCAtOTIzLDcg
KzkyMSw3IEBACiAgICAgICAgICAgICBkYXRhc2V0Lm1ldGFkYXRhLmRhdGFfbGluZXMgPTNEIHJl
YWRlci5saW5lX251bSAtIDEKICAgICAgICAgICAgIGRhdGFzZXQubWV0YWRhdGEuY29tbWVudF9s
aW5lcyA9M0QgMQogICAgICAgICAgICAgZGF0YXNldC5tZXRhZGF0YS5jb2x1bW5fdHlwZXMgPTNE
IGNvbHVtbl90eXBlcwotICAgICAgICAgICAgZGF0YXNldC5tZXRhZGF0YS5jb2x1bW5zID0zRCBs
ZW4oaGVhZGVyX3JvdykKKyAgICAgICAgICAgIGRhdGFzZXQubWV0YWRhdGEuY29sdW1ucyA9M0Qg
bWF4KCBsZW4oIGhlYWRlcl9yb3cgKSwgbGVuKCBkYXRhPQpfcm93ICkgKQogICAgICAgICAgICAg
ZGF0YXNldC5tZXRhZGF0YS5jb2x1bW5fbmFtZXMgPTNEIGhlYWRlcl9yb3cKICAgICAgICAgICAg
IGRhdGFzZXQubWV0YWRhdGEuZGVsaW1pdGVyID0zRCByZWFkZXIuZGlhbGVjdC5kZWxpbWl0ZXIK
PTIwCgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIg
MDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGxpYi9nYWxheHkvZXhj
ZXB0aW9ucy9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L2V4Y2VwdGlvbnMvX19pbml0X18u
cHkKKysrIGIvbGliL2dhbGF4eS9leGNlcHRpb25zL19faW5pdF9fLnB5CkBAIC03MSw2ICs3MSwx
MSBAQAogICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rlcy5NQUxGT1JNRURfSUQKPTIwCj0yMAor
Y2xhc3MgTWFsZm9ybWVkQ29udGVudHMoIE1lc3NhZ2VFeGNlcHRpb24gKToKKyAgICBzdGF0dXNf
Y29kZSA9M0QgNDAwCisgICAgZXJyX2NvZGUgPTNEIGVycm9yX2NvZGVzLk1BTEZPUk1FRF9DT05U
RU5UUworCisKIGNsYXNzIFVua25vd25Db250ZW50c1R5cGUoIE1lc3NhZ2VFeGNlcHRpb24gKToK
ICAgICBzdGF0dXNfY29kZSA9M0QgNDAwCiAgICAgZXJyX2NvZGUgPTNEIGVycm9yX2NvZGVzLlVO
S05PV05fQ09OVEVOVFNfVFlQRQoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBj
ZmM3OTk5YWZmZGYwIC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3
OSBsaWIvZ2FsYXh5L2V4Y2VwdGlvbnMvZXJyb3JfY29kZXMuanNvbgotLS0gYS9saWIvZ2FsYXh5
L2V4Y2VwdGlvbnMvZXJyb3JfY29kZXMuanNvbgorKysgYi9saWIvZ2FsYXh5L2V4Y2VwdGlvbnMv
ZXJyb3JfY29kZXMuanNvbgpAQCAtNjEsMTAgKzYxLDE1IEBACiAgICAgfSwKICAgIHsKICAgICAi
bmFtZSI6ICJVU0VSX1RPT0xfTUVUQV9QQVJBTUVURVJfUFJPQkxFTSIsCi0gICAgImNvZGUiOiA0
MDAwMTEsCisgICAgImNvZGUiOiA0MDAwMTIsCiAgICAgIm1lc3NhZ2UiOiAiU3VwcGxpZWQgaW5j
b3JyZWN0IG9yIGluY29tcGF0aWJsZSB0b29sIG1ldGEgcGFyYW1ldGVycy4iCiAgICB9LAogICAg
eworICAgICJuYW1lIjogIk1BTEZPUk1FRF9DT05URU5UUyIsCisgICAgImNvZGUiOiA0MDAwMTMs
CisgICAgIm1lc3NhZ2UiOiAiVGhlIGNvbnRlbnRzIG9mIHRoZSByZXF1ZXN0IGFyZSBtYWxmb3Jt
ZWQuIgorICAgIH0sCisgICB7CiAgICAgIm5hbWUiOiAiVVNFUl9BVVRIRU5USUNBVElPTl9GQUlM
RUQiLAogICAgICJjb2RlIjogNDAxMDAxLAogICAgICJtZXNzYWdlIjogIkF1dGhlbnRpY2F0aW9u
IGZhaWxlZCwgaW52YWxpZCBjcmVkZW50aWFscyBzdXBwbGllZC4iCgpkaWZmIC1yIGM4YWIwZmUy
ODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUx
MDc9CjJhNDVhNjgxODk3OTdlOTc5IGxpYi9nYWxheHkvam9icy9fX2luaXRfXy5weQotLS0gYS9s
aWIvZ2FsYXh5L2pvYnMvX19pbml0X18ucHkKKysrIGIvbGliL2dhbGF4eS9qb2JzL19faW5pdF9f
LnB5CkBAIC0xMDM2LDYgKzEwMzYsMTAgQEAKICAgICBkZWYgY2hhbmdlX3N0YXRlKCBzZWxmLCBz
dGF0ZSwgaW5mbz0zREZhbHNlICk6CiAgICAgICAgIGpvYiA9M0Qgc2VsZi5nZXRfam9iKCkKICAg
ICAgICAgc2VsZi5zYV9zZXNzaW9uLnJlZnJlc2goIGpvYiApCisgICAgICAgIGlmIGpvYi5zdGF0
ZSBpbiBtb2RlbC5Kb2IudGVybWluYWxfc3RhdGVzOgorICAgICAgICAgICAgbG9nLndhcm5pbmco
ICIoJXMpIElnbm9yaW5nIHN0YXRlIGNoYW5nZSBmcm9tICclcycgdG8gJyVzJyBmb3I9CiBqb2Ig
IgorICAgICAgICAgICAgICAgICAgICAgICAgICJ0aGF0IGlzIGFscmVhZHkgdGVybWluYWwiLCBq
b2IuaWQsIGpvYi5zdGF0ZSwgc3Q9CmF0ZSApCisgICAgICAgICAgICByZXR1cm4KICAgICAgICAg
Zm9yIGRhdGFzZXRfYXNzb2MgaW4gam9iLm91dHB1dF9kYXRhc2V0cyArIGpvYi5vdXRwdXRfbGli
cmFyeV9kYXRhPQpzZXRzOgogICAgICAgICAgICAgZGF0YXNldCA9M0QgZGF0YXNldF9hc3NvYy5k
YXRhc2V0CiAgICAgICAgICAgICBzZWxmLnNhX3Nlc3Npb24ucmVmcmVzaCggZGF0YXNldCApCgpk
aWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2Iw
ZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3OTdlOTc5IGxpYi9nYWxheHkvam9icy9ydW5u
ZXJzL3B1bHNhci5weQotLS0gYS9saWIvZ2FsYXh5L2pvYnMvcnVubmVycy9wdWxzYXIucHkKKysr
IGIvbGliL2dhbGF4eS9qb2JzL3J1bm5lcnMvcHVsc2FyLnB5CkBAIC02MSw2ICs2MSwxNCBAQAog
ICAgICAgICBtYXA9M0RzcGVjcy50b19zdHJfb3Jfbm9uZSwKICAgICAgICAgZGVmYXVsdD0zRE5v
bmUsCiAgICAgKSwKKyAgICBwZXJzaXN0ZW5jZV9kaXJlY3Rvcnk9M0RkaWN0KAorICAgICAgICBt
YXA9M0RzcGVjcy50b19zdHJfb3Jfbm9uZSwKKyAgICAgICAgZGVmYXVsdD0zRE5vbmUsCisgICAg
KSwKKyAgICBhbXFwX2Fja25vd2xlZGdlPTNEZGljdCgKKyAgICAgICAgbWFwPTNEc3BlY3MudG9f
Ym9vbF9vcl9ub25lLAorICAgICAgICBkZWZhdWx0PTNETm9uZQorICAgICksCiAgICAgYW1xcF9j
b25zdW1lcl90aW1lb3V0PTNEZGljdCgKICAgICAgICAgbWFwPTNEbGFtYmRhIHZhbDogTm9uZSBp
ZiB2YWwgPTNEPTNEICJOb25lIiBlbHNlIGZsb2F0KHZhbCksCiAgICAgICAgIGRlZmF1bHQ9M0RO
b25lLApAQCAtMTQ1LDcgKzE1Myw3IEBACj0yMAogICAgIGRlZiBfX2luaXRfY2xpZW50X21hbmFn
ZXIoIHNlbGYgKToKICAgICAgICAgY2xpZW50X21hbmFnZXJfa3dhcmdzID0zRCB7fQotICAgICAg
ICBmb3Iga3dkIGluICdtYW5hZ2VyJywgJ2NhY2hlJywgJ3RyYW5zcG9ydCc6CisgICAgICAgIGZv
ciBrd2QgaW4gJ21hbmFnZXInLCAnY2FjaGUnLCAndHJhbnNwb3J0JywgJ3BlcnNpc3RlbmNlX2Rp
cmVjdG9yeT0KJzoKICAgICAgICAgICAgIGNsaWVudF9tYW5hZ2VyX2t3YXJnc1sga3dkIF0gPTNE
IHNlbGYucnVubmVyX3BhcmFtc1sga3dkIF0KICAgICAgICAgZm9yIGt3ZCBpbiBzZWxmLnJ1bm5l
cl9wYXJhbXMua2V5cygpOgogICAgICAgICAgICAgaWYga3dkLnN0YXJ0c3dpdGgoICdhbXFwXycg
KToKQEAgLTYxMSw2ICs2MTksNyBAQAogICAgICAgICAjIFRoaXMgaXMgYSBtZXNzYWdlIHF1ZXVl
IGRyaXZlbiBydW5uZXIsIGRvbid0IG1vbml0b3IKICAgICAgICAgIyBqdXN0IHNldHVwIHJlcXVp
cmVkIGNhbGxiYWNrLgogICAgICAgICBzZWxmLmNsaWVudF9tYW5hZ2VyLmVuc3VyZV9oYXNfc3Rh
dHVzX3VwZGF0ZV9jYWxsYmFjayhzZWxmLl9fYXN5bmM9Cl91cGRhdGUpCisgICAgICAgIHNlbGYu
Y2xpZW50X21hbmFnZXIuZW5zdXJlX2hhc19hY2tfY29uc3VtZXJzKCkKPTIwCiAgICAgZGVmIF9f
YXN5bmNfdXBkYXRlKCBzZWxmLCBmdWxsX3N0YXR1cyApOgogICAgICAgICBqb2JfaWQgPTNEIE5v
bmUKCmRpZmYgLXIgYzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAw
MzRjYjBmYjg3ZGZjMmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgbGliL2dhbGF4eS9tb2Rl
bC9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L21vZGVsL19faW5pdF9fLnB5CisrKyBiL2xp
Yi9nYWxheHkvbW9kZWwvX19pbml0X18ucHkKQEAgLTUsMTUgKzUsMTEgQEAKIHRoZSByZWxhdGlv
bnNoaXAgY2FyZGluYWxpdGllcyBhcmUgb2J2aW91cyAoZS5nLiBwcmVmZXIgRGF0YXNldCB0byBE
YXRhKQogIiIiCj0yMAotZnJvbSBnYWxheHkgaW1wb3J0IGVnZ3MKLWVnZ3MucmVxdWlyZSgicGV4
cGVjdCIpCi0KIGltcG9ydCBjb2RlY3MKIGltcG9ydCBlcnJubwogaW1wb3J0IGxvZ2dpbmcKIGlt
cG9ydCBvcGVyYXRvcgogaW1wb3J0IG9zCi1pbXBvcnQgcGV4cGVjdAogaW1wb3J0IGpzb24KIGlt
cG9ydCBzb2NrZXQKIGltcG9ydCB0aW1lCkBAIC0zMTcsNiArMzEzLDkgQEAKICAgICAgICAgICAg
ICAgICAgICAgUEFVU0VEID0zRCAncGF1c2VkJywKICAgICAgICAgICAgICAgICAgICAgREVMRVRF
RCA9M0QgJ2RlbGV0ZWQnLAogICAgICAgICAgICAgICAgICAgICBERUxFVEVEX05FVyA9M0QgJ2Rl
bGV0ZWRfbmV3JyApCisgICAgdGVybWluYWxfc3RhdGVzID0zRCBbIHN0YXRlcy5PSywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHN0YXRlcy5FUlJPUiwKKyAgICAgICAgICAgICAgICAgICAgICAg
IHN0YXRlcy5ERUxFVEVEIF0KICAgICAjIFBsZWFzZSBpbmNsdWRlIGFuIGFjY2Vzc29yIChnZXQv
c2V0IHBhaXIpIGZvciBhbnkgbmV3IGNvbHVtbnMvbWVtYmVyPQpzLgogICAgIGRlZiBfX2luaXRf
Xyggc2VsZiApOgogICAgICAgICBzZWxmLnNlc3Npb25faWQgPTNEIE5vbmUKQEAgLTE0NDYsMTMg
KzE0NDUsMTEgQEAKICAgICBkZWYgZ2V0X3RvdGFsX3NpemUoIHNlbGYgKToKICAgICAgICAgaWYg
c2VsZi50b3RhbF9zaXplIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYudG90
YWxfc2l6ZQotICAgICAgICBpZiBzZWxmLmZpbGVfc2l6ZToKLSAgICAgICAgICAgICMgZm9yIGJh
Y2t3YXJkcyBjb21wYXRpYmlsaXR5LCBzZXQgaWYgdW5zZXQKLSAgICAgICAgICAgIHNlbGYuc2V0
X3RvdGFsX3NpemUoKQotICAgICAgICAgICAgZGJfc2Vzc2lvbiA9M0Qgb2JqZWN0X3Nlc3Npb24o
IHNlbGYgKQotICAgICAgICAgICAgZGJfc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICAgICByZXR1
cm4gc2VsZi50b3RhbF9zaXplCi0gICAgICAgIHJldHVybiAwCisgICAgICAgICMgZm9yIGJhY2t3
YXJkcyBjb21wYXRpYmlsaXR5LCBzZXQgaWYgdW5zZXQKKyAgICAgICAgc2VsZi5zZXRfdG90YWxf
c2l6ZSgpCisgICAgICAgIGRiX3Nlc3Npb24gPTNEIG9iamVjdF9zZXNzaW9uKCBzZWxmICkKKyAg
ICAgICAgZGJfc2Vzc2lvbi5mbHVzaCgpCisgICAgICAgIHJldHVybiBzZWxmLnRvdGFsX3NpemUK
ICAgICBkZWYgc2V0X3RvdGFsX3NpemUoIHNlbGYgKToKICAgICAgICAgaWYgc2VsZi5maWxlX3Np
emUgaXMgTm9uZToKICAgICAgICAgICAgIHNlbGYuc2V0X3NpemUoKQpAQCAtMzk3NCwyNyArMzk3
MSw2IEBACiAgICAgICAgICAgICAgICAgdW50cmFuc2ZlcnJlZF9kYXRhc2V0cy5hcHBlbmQoIGRh
dGFzZXQgKQogICAgICAgICByZXR1cm4gdW50cmFuc2ZlcnJlZF9kYXRhc2V0cwo9MjAKLSAgICBk
ZWYgZ2V0X3VudHJhbnNmZXJyZWRfZGF0YXNldF9zaXplKCBzZWxmLCBmaWxlcGF0aCwgc2NwX2Nv
bmZpZ3MgKToKLSAgICAgICAgZGVmIHByaW50X3RpY2tzKCBkICk6Ci0gICAgICAgICAgICBwYXNz
Ci0gICAgICAgIGVycm9yX21zZyA9M0QgJ0Vycm9yIGVuY291bnRlcmVkIGluIGRldGVybWluaW5n
IHRoZSBmaWxlIHNpemUgb2YgJT0KcyBvbiB0aGUgZXh0ZXJuYWxfc2VydmljZS4nICUgZmlsZXBh
dGgKLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzWydob3N0J10gb3Igbm90IHNjcF9jb25maWdz
Wyd1c2VyX25hbWUnXSBvciBub3QgPQpzY3BfY29uZmlnc1sncGFzc3dvcmQnXToKLSAgICAgICAg
ICAgIHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgbG9naW5fc3RyID0zRCAnJXNAJXMnICUgKCBz
Y3BfY29uZmlnc1sndXNlcl9uYW1lJ10sIHNjcF9jb25maWdzWydoPQpvc3QnXSApCi0gICAgICAg
IGNtZCAgPTNEICdzc2ggJXMgImR1IC1zaCBcJyVzXCciJyAlICggbG9naW5fc3RyLCBmaWxlcGF0
aCApCi0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNt
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHM9M0R7ICcuc3N3b3Jk
OionOiBzY3BfY29uZmlnc1sncGFzPQpzd29yZCddKydcclxuJywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBwZXhwZWN0LlRJTUVPVVQ6cHJpbnRfdGlja3N9LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9M0QxMCApCi0gICAgICAg
IGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICByZXR1cm4gZXJyb3JfbXNnCi0gICAgICAg
ICMgY2xlYW51cCB0aGUgb3V0cHV0IHRvIGdldCBqdXN0IHRoZSBmaWxlIHNpemUKLSAgICAgICAg
cmV0dXJuICBvdXRwdXQucmVwbGFjZSggZmlsZXBhdGgsICcnIClcCi0gICAgICAgICAgICAgICAg
ICAgICAgLnJlcGxhY2UoICdQYXNzd29yZDonLCAnJyApXAotICAgICAgICAgICAgICAgICAgICAg
IC5yZXBsYWNlKCAiJ3MgcGFzc3dvcmQ6IiwgJycgKVwKLSAgICAgICAgICAgICAgICAgICAgICAu
cmVwbGFjZSggbG9naW5fc3RyLCAnJyApXAotICAgICAgICAgICAgICAgICAgICAgIC5zdHJpcCgp
CiAgICAgQHByb3BlcnR5CiAgICAgZGVmIHJ1bl9kZXRhaWxzKCBzZWxmICk6CiAgICAgICAgICMg
c2VsZi5ydW5zIGlzIGEgbGlzdCBvZiBTYW1wbGVSdW5Bc3NvY2lhdGlvbnMgb3JkZXJlZCBkZXNj
ZW5kaW5nID0Kb24gdXBkYXRlX3RpbWUuCgpkaWZmIC1yIGM4YWIwZmUyODZiZjEwYWRkMjZmZTk2
NzMzMGNmYzc5OTlhZmZkZjAgLXIgMDM0Y2IwZmI4N2RmYzJhZTU2ZGUxMDc9CjJhNDVhNjgxODk3
OTdlOTc5IGxpYi9nYWxheHkvb2JqZWN0c3RvcmUvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4
eS9vYmplY3RzdG9yZS9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0b3JlL19f
aW5pdF9fLnB5CkBAIC0xMSw3ICsxMSw3IEBACiBpbXBvcnQgdGhyZWFkaW5nCiBmcm9tIHhtbC5l
dHJlZSBpbXBvcnQgRWxlbWVudFRyZWUKPTIwCi1mcm9tIGdhbGF4eS51dGlsIGltcG9ydCB1bWFz
a19maXhfcGVybXMsIGZvcmNlX3N5bWxpbmsKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHVtYXNr
X2ZpeF9wZXJtcywgZm9yY2Vfc3ltbGluaywgc2FmZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS5leGNl
cHRpb25zIGltcG9ydCBPYmplY3RJbnZhbGlkLCBPYmplY3ROb3RGb3VuZAogZnJvbSBnYWxheHku
dXRpbC5zbGVlcGVyIGltcG9ydCBTbGVlcGVyCiBmcm9tIGdhbGF4eS51dGlsLmRpcmVjdG9yeV9o
YXNoIGltcG9ydCBkaXJlY3RvcnlfaGFzaF9pZApAQCAtMzMsNiArMzMsMTAgQEAKICAgICBkZWYg
X19pbml0X18oc2VsZiwgY29uZmlnLCBjb25maWdfeG1sPTNETm9uZSwgKiprd2FyZ3MpOgogICAg
ICAgICBzZWxmLnJ1bm5pbmcgPTNEIFRydWUKICAgICAgICAgc2VsZi5leHRyYV9kaXJzID0zRCB7
fQorICAgICAgICBzZWxmLmNvbmZpZyA9M0QgY29uZmlnCisgICAgICAgIHNlbGYuY2hlY2tfb2xk
X3N0eWxlID0zRCBjb25maWcub2JqZWN0X3N0b3JlX2NoZWNrX29sZF9zdHlsZQorICAgICAgICBz
ZWxmLmV4dHJhX2RpcnNbJ2pvYl93b3JrJ10gPTNEIGNvbmZpZy5qb2Jfd29ya2luZ19kaXJlY3Rv
cnkKKyAgICAgICAgc2VsZi5leHRyYV9kaXJzWyd0ZW1wJ10gPTNEIGNvbmZpZy5uZXdfZmlsZV9w
YXRoCj0yMAogICAgIGRlZiBzaHV0ZG93bihzZWxmKToKICAgICAgICAgc2VsZi5ydW5uaW5nID0z
RCBGYWxzZQpAQCAtMTk4LDEwICsyMDIsNiBAQAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25m
aWcsIGNvbmZpZ194bWw9M0ROb25lLCBmaWxlX3BhdGg9M0ROb25lLCBleHRyYV89CmRpcnM9M0RO
b25lKToKICAgICAgICAgc3VwZXIoRGlza09iamVjdFN0b3JlLCBzZWxmKS5fX2luaXRfXyhjb25m
aWcsIGNvbmZpZ194bWw9M0ROb25lLCBmPQppbGVfcGF0aD0zRGZpbGVfcGF0aCwgZXh0cmFfZGly
cz0zRGV4dHJhX2RpcnMpCiAgICAgICAgIHNlbGYuZmlsZV9wYXRoID0zRCBmaWxlX3BhdGggb3Ig
Y29uZmlnLmZpbGVfcGF0aAotICAgICAgICBzZWxmLmNvbmZpZyA9M0QgY29uZmlnCi0gICAgICAg
IHNlbGYuY2hlY2tfb2xkX3N0eWxlID0zRCBjb25maWcub2JqZWN0X3N0b3JlX2NoZWNrX29sZF9z
dHlsZQotICAgICAgICBzZWxmLmV4dHJhX2RpcnNbJ2pvYl93b3JrJ10gPTNEIGNvbmZpZy5qb2Jf
d29ya2luZ19kaXJlY3RvcnkKLSAgICAgICAgc2VsZi5leHRyYV9kaXJzWyd0ZW1wJ10gPTNEIGNv
bmZpZy5uZXdfZmlsZV9wYXRoCiAgICAgICAgICMgVGhlIG5ldyBjb25maWdfeG1sIG92ZXJyaWRl
cyB1bml2ZXJzZSBzZXR0aW5ncy4KICAgICAgICAgaWYgY29uZmlnX3htbCBpcyBub3QgTm9uZToK
ICAgICAgICAgICAgIGZvciBlIGluIGNvbmZpZ194bWw6CkBAIC0yNTIsNyArMjUyLDE3IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbXBvc2VkIGRpcmVjdG9yeSBzdHJ1Y3R1cmUg
ZG9lcyBub3QgaW5jbHVkZT0KIGEgaGFzaCBpZAogICAgICAgICAgICAgICAgICAgICAgICAgIChl
LmcuLCAvZmlsZXMvZGF0YXNldF8xMC5kYXQgKG9sZCkgdnMuIC9maWxlcy8wMDA9Ci9kYXRhc2V0
XzEwLmRhdCAobmV3KSkKICAgICAgICAgIiIiCi0gICAgICAgIGJhc2UgPTNEIHNlbGYuZXh0cmFf
ZGlycy5nZXQoYmFzZV9kaXIsIHNlbGYuZmlsZV9wYXRoKQorICAgICAgICBiYXNlID0zRCBvcy5w
YXRoLmFic3BhdGgoc2VsZi5leHRyYV9kaXJzLmdldChiYXNlX2Rpciwgc2VsZi5maWxlX3A9CmF0
aCkpCisgICAgICAgICMgZXh0cmFfZGlyIHNob3VsZCBuZXZlciBiZSBjb25zdHJ1Y3RlZCBmcm9t
IHByb3ZpZGVkIGRhdGEgYnV0IGp1c3QKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlcmUgYXJlIG5v
IHNoZW5hbm5pZ2FucyBhZm9vdAorICAgICAgICBpZiBleHRyYV9kaXIgYW5kIGV4dHJhX2RpciAh
PTNEIG9zLnBhdGgubm9ybXBhdGgoZXh0cmFfZGlyKToKKyAgICAgICAgICAgIGxvZy53YXJuaW5n
KCdleHRyYV9kaXIgaXMgbm90IG5vcm1hbGl6ZWQ6ICVzJywgZXh0cmFfZGlyKQorICAgICAgICAg
ICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIp
CisgICAgICAgICMgZW5zdXJlIHRoYXQgYW55IHBhcmVudCBkaXJlY3RvcnkgcmVmZXJlbmNlcyBp
biBhbHRfbmFtZSB3b3VsZCBub3QKKyAgICAgICAgIyByZXN1bHQgaW4gYSBwYXRoIG5vdCBjb250
YWluZWQgaW4gdGhlIGRpcmVjdG9yeSBwYXRoIGNvbnN0cnVjdGVkPQogaGVyZQorICAgICAgICBp
ZiBhbHRfbmFtZSBhbmQgbm90IHNhZmVfcmVscGF0aChhbHRfbmFtZSk6CisgICAgICAgICAgICBs
b2cud2FybmluZygnYWx0X25hbWUgd291bGQgbG9jYXRlIHBhdGggb3V0c2lkZSBkaXI6ICVzJywg
YWx0Xz0KbmFtZSkKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0
ZWQgb2JqZWN0IGlzIGludmFsaWQiKQogICAgICAgICBpZiBvbGRfc3R5bGU6CiAgICAgICAgICAg
ICBpZiBleHRyYV9kaXIgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgcGF0aCA9M0Qgb3Mu
cGF0aC5qb2luKGJhc2UsIGV4dHJhX2RpcikKQEAgLTYxOSw5ICs2MjksMTAgQEAKICAgICBlbGlm
IHN0b3JlID0zRD0zRCAnaXJvZHMnOgogICAgICAgICBmcm9tIC5yb2RzIGltcG9ydCBJUk9EU09i
amVjdFN0b3JlCiAgICAgICAgIHJldHVybiBJUk9EU09iamVjdFN0b3JlKGNvbmZpZz0zRGNvbmZp
ZywgY29uZmlnX3htbD0zRGNvbmZpZ194bWwpCi0gICAgZWxpZiBzdG9yZSA9M0Q9M0QgJ3B1bHNh
cic6Ci0gICAgICAgIGZyb20gLnB1bHNhciBpbXBvcnQgUHVsc2FyT2JqZWN0U3RvcmUKLSAgICAg
ICAgcmV0dXJuIFB1bHNhck9iamVjdFN0b3JlKGNvbmZpZz0zRGNvbmZpZywgY29uZmlnX3htbD0z
RGNvbmZpZ194bWwpCisgICAgIyBEaXNhYmxlIHRoZSBQdWxzYXIgb2JqZWN0IHN0b3JlIGZvciBu
b3cgdW50aWwgaXQgcmVjZWl2ZXMgc29tZSBhdHRlbj0KdGlvbgorICAgICMgZWxpZiBzdG9yZSA9
M0Q9M0QgJ3B1bHNhcic6CisgICAgIyAgICBmcm9tIC5wdWxzYXIgaW1wb3J0IFB1bHNhck9iamVj
dFN0b3JlCisgICAgIyAgICByZXR1cm4gUHVsc2FyT2JqZWN0U3RvcmUoY29uZmlnPTNEY29uZmln
LCBjb25maWdfeG1sPTNEY29uZmlnX3htbCkKICAgICBlbHNlOgogICAgICAgICBsb2cuZXJyb3Io
IlVucmVjb2duaXplZCBvYmplY3Qgc3RvcmUgZGVmaW5pdGlvbjogezB9Ii5mb3JtYXQoc3RvcmU9
CikpCj0yMAoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYw
IC1yIDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBsaWIvZ2FsYXh5
L29iamVjdHN0b3JlL3JvZHMucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5
CisrKyBiL2xpYi9nYWxheHkvb2JqZWN0c3RvcmUvcm9kcy5weQpAQCAtMTIsNyArMTIsOCBAQAog
ZnJvbSBwb3NpeHBhdGggaW1wb3J0IGJhc2VuYW1lIGFzIHBhdGhfYmFzZW5hbWUKIGZyb20gcG9z
aXhwYXRoIGltcG9ydCBkaXJuYW1lIGFzIHBhdGhfZGlybmFtZQo9MjAKLWZyb20gZ2FsYXh5LmV4
Y2VwdGlvbnMgaW1wb3J0IE9iamVjdE5vdEZvdW5kCitmcm9tIGdhbGF4eS5leGNlcHRpb25zIGlt
cG9ydCBPYmplY3ROb3RGb3VuZCwgT2JqZWN0SW52YWxpZAorZnJvbSBnYWxheHkudXRpbCBpbXBv
cnQgc2FmZV9yZWxwYXRoCiBmcm9tIC4ub2JqZWN0c3RvcmUgaW1wb3J0IERpc2tPYmplY3RTdG9y
ZSwgT2JqZWN0U3RvcmUsIGxvY2FsX2V4dHJhX2RpcnMKPTIwCiB0cnk6CkBAIC03MSw2ICs3Miwy
MCBAQAogICAgICAgICBsb2cuaW5mbyggImlST0RTIGRhdGEgZm9yIHRoaXMgaW5zdGFuY2Ugd2ls
bCBiZSBzdG9yZWQgaW4gY29sbGVjdGk9Cm9uOiAlcywgcmVzb3VyY2U6ICVzIiwgc2VsZi5yb290
X2NvbGxlY3Rpb25fcGF0aCwgc2VsZi5kZWZhdWx0X3Jlc291cmNlICkKPTIwCiAgICAgZGVmIF9f
Z2V0X3JvZHNfcGF0aCggc2VsZiwgb2JqLCBiYXNlX2Rpcj0zRE5vbmUsIGRpcl9vbmx5PTNERmFs
c2UsIGV4dD0KcmFfZGlyPTNETm9uZSwgZXh0cmFfZGlyX2F0X3Jvb3Q9M0RGYWxzZSwgYWx0X25h
bWU9M0ROb25lLCBzdHJpcF9kYXQ9M0RUcnVlPQosICoqa3dhcmdzICk6CisgICAgICAgICMgZXh0
cmFfZGlyIHNob3VsZCBuZXZlciBiZSBjb25zdHJ1Y3RlZCBmcm9tIHByb3ZpZGVkIGRhdGEgYnV0
IGp1c3QKKyAgICAgICAgIyBtYWtlIHN1cmUgdGhlcmUgYXJlIG5vIHNoZW5hbm5pZ2FucyBhZm9v
dAorICAgICAgICBpZiBleHRyYV9kaXIgYW5kIGV4dHJhX2RpciAhPTNEIG9zLnBhdGgubm9ybXBh
dGgoZXh0cmFfZGlyKToKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCdleHRyYV9kaXIgaXMgbm90
IG5vcm1hbGl6ZWQ6ICVzJywgZXh0cmFfZGlyKQorICAgICAgICAgICAgcmFpc2UgT2JqZWN0SW52
YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIpCisgICAgICAgICMgZW5zdXJl
IHRoYXQgYW55IHBhcmVudCBkaXJlY3RvcnkgcmVmZXJlbmNlcyBpbiBhbHRfbmFtZSB3b3VsZCBu
b3QKKyAgICAgICAgIyByZXN1bHQgaW4gYSBwYXRoIG5vdCBjb250YWluZWQgaW4gdGhlIGRpcmVj
dG9yeSBwYXRoIGNvbnN0cnVjdGVkPQogaGVyZQorICAgICAgICBpZiBhbHRfbmFtZToKKyAgICAg
ICAgICAgIGlmIG5vdCBzYWZlX3JlbHBhdGgoYWx0X25hbWUpOgorICAgICAgICAgICAgICAgIGxv
Zy53YXJuaW5nKCdhbHRfbmFtZSB3b3VsZCBsb2NhdGUgcGF0aCBvdXRzaWRlIGRpcjogJXMnLCA9
CmFsdF9uYW1lKQorICAgICAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1
ZXN0ZWQgb2JqZWN0IGlzIGludmFsaWQiKQorICAgICAgICAgICAgIyBhbHRfbmFtZSBjYW4gY29u
dGFpbiBwYXJlbnQgZGlyZWN0b3J5IHJlZmVyZW5jZXMsIGJ1dCBpUk9EUyA9CndpbGwKKyAgICAg
ICAgICAgICMgbm90IGZvbGxvdyB0aGVtLCBzbyBpZiB0aGV5IGFyZSB2YWxpZCB3ZSBub3JtYWxp
emUgdGhlbSBvdXQKKyAgICAgICAgICAgIGFsdF9uYW1lID0zRCBvcy5wYXRoLm5vcm1wYXRoKGFs
dF9uYW1lKQogICAgICAgICBwYXRoID0zRCAiIgogICAgICAgICBpZiBleHRyYV9kaXIgaXMgbm90
IE5vbmU6CiAgICAgICAgICAgICBwYXRoID0zRCBleHRyYV9kaXIKCmRpZmYgLXIgYzhhYjBmZTI4
NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZjMmFlNTZkZTEw
Nz0KMmE0NWE2ODE4OTc5N2U5NzkgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5weQotLS0gYS9s
aWIvZ2FsYXh5L29iamVjdHN0b3JlL3MzLnB5CisrKyBiL2xpYi9nYWxheHkvb2JqZWN0c3RvcmUv
czMucHkKQEAgLTEyLDggKzEyLDggQEAKPTIwCiBmcm9tIGRhdGV0aW1lIGltcG9ydCBkYXRldGlt
ZQo9MjAKLWZyb20gZ2FsYXh5LmV4Y2VwdGlvbnMgaW1wb3J0IE9iamVjdE5vdEZvdW5kCi1mcm9t
IGdhbGF4eS51dGlsIGltcG9ydCBzdHJpbmdfYXNfYm9vbCwgdW1hc2tfZml4X3Blcm1zCitmcm9t
IGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3ROb3RGb3VuZCwgT2JqZWN0SW52YWxpZAor
ZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc3RyaW5nX2FzX2Jvb2wsIHVtYXNrX2ZpeF9wZXJtcywg
c2FmZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS51dGlsLmRpcmVjdG9yeV9oYXNoIGltcG9ydCBkaXJl
Y3RvcnlfaGFzaF9pZAogZnJvbSBnYWxheHkudXRpbC5zbGVlcGVyIGltcG9ydCBTbGVlcGVyCiBm
cm9tIC5zM19tdWx0aXBhcnRfdXBsb2FkIGltcG9ydCBtdWx0aXBhcnRfdXBsb2FkCkBAIC00NSw3
ICs0NSw2IEBACiAgICAgICAgIGlmIGJvdG8gaXMgTm9uZToKICAgICAgICAgICAgIHJhaXNlIEV4
Y2VwdGlvbihOT19CT1RPX0VSUk9SX01FU1NBR0UpCiAgICAgICAgIHN1cGVyKFMzT2JqZWN0U3Rv
cmUsIHNlbGYpLl9faW5pdF9fKGNvbmZpZywgY29uZmlnX3htbCkKLSAgICAgICAgc2VsZi5jb25m
aWcgPTNEIGNvbmZpZwogICAgICAgICBzZWxmLnN0YWdpbmdfcGF0aCA9M0Qgc2VsZi5jb25maWcu
ZmlsZV9wYXRoCiAgICAgICAgIHNlbGYudHJhbnNmZXJfcHJvZ3Jlc3MgPTNEIDAKICAgICAgICAg
c2VsZi5fcGFyc2VfY29uZmlnX3htbChjb25maWdfeG1sKQpAQCAtMjA5LDYgKzIwOCwyMCBAQAog
ICAgICAgICAgICAgICAgIHVtYXNrX2ZpeF9wZXJtcyggcGF0aCwgc2VsZi5jb25maWcudW1hc2ss
IDA2NjYsIHNlbGYuY29uZmk9CmcuZ2lkICkKPTIwCiAgICAgZGVmIF9jb25zdHJ1Y3RfcGF0aChz
ZWxmLCBvYmosIGJhc2VfZGlyPTNETm9uZSwgZGlyX29ubHk9M0ROb25lLCBleHRyYT0KX2Rpcj0z
RE5vbmUsIGV4dHJhX2Rpcl9hdF9yb290PTNERmFsc2UsIGFsdF9uYW1lPTNETm9uZSwgb2JqX2Rp
cj0zREZhbHNlLCAqPQoqa3dhcmdzKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVy
IGJlIGNvbnN0cnVjdGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAgICAgICAjIG1h
a2Ugc3VyZSB0aGVyZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAgIGlmIGV4dHJh
X2RpciBhbmQgZXh0cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAg
ICAgICAgICAgbG9nLndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBl
eHRyYV9kaXIpCisgICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVk
IG9iamVjdCBpcyBpbnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRp
cmVjdG9yeSByZWZlcmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAgICAjIHJlc3Vs
dCBpbiBhIHBhdGggbm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0
ZWQ9CiBoZXJlCisgICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYgbm90IHNhZmVf
cmVscGF0aChhbHRfbmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1l
IHdvdWxkIGxvY2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUpCisgICAgICAg
ICAgICAgICAgcmFpc2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52
YWxpZCIpCisgICAgICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVudCBkaXJlY3Rv
cnkgcmVmZXJlbmNlcywgYnV0IFMzIHdpbD0KbCBub3QKKyAgICAgICAgICAgICMgZm9sbG93IHRo
ZW0sIHNvIGlmIHRoZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91dAorICAgICAgICAg
ICAgYWx0X25hbWUgPTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAgICAgICAgIHJlbF9w
YXRoID0zRCBvcy5wYXRoLmpvaW4oKmRpcmVjdG9yeV9oYXNoX2lkKG9iai5pZCkpCiAgICAgICAg
IGlmIGV4dHJhX2RpciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGV4dHJhX2Rpcl9hdF9y
b290OgoKZGlmZiAtciBjOGFiMGZlMjg2YmYxMGFkZDI2ZmU5NjczMzBjZmM3OTk5YWZmZGYwIC1y
IDAzNGNiMGZiODdkZmMyYWU1NmRlMTA3PQoyYTQ1YTY4MTg5Nzk3ZTk3OSBsaWIvZ2FsYXh5L3Rv
b2xzL19faW5pdF9fLnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvX19pbml0X18ucHkKKysrIGIv
bGliL2dhbGF4eS90b29scy9fX2luaXRfXy5weQpAQCAtMTUxNyw2ICsxNTE3LDggQEAKICAgICAg
ICAgICAgICAgICAgICAgICAgIGdyb3VwX2Vycm9yc1stMV0gPTNEIHsgJ19faW5kZXhfXyc6ICdD
YW5ub3QgYWRkIHJlPQpwZWF0IChtYXggc2l6ZT0zRCVpKS4nICUgaW5wdXQubWF4IH0KICAgICAg
ICAgICAgICAgICAgICAgICAgIGFueV9ncm91cF9lcnJvcnMgPTNEIFRydWUKICAgICAgICAgICAg
ICAgICAgICAgcmVwX2luZGV4ICs9M0QgMQorICAgICAgICAgICAgICAgIGlmIGFueV9ncm91cF9l
cnJvcnM6CisgICAgICAgICAgICAgICAgICAgIGVycm9yc1sgaW5wdXQubmFtZSBdID0zRCBncm91
cF9lcnJvcnMKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSggaW5wdXQsIENvbmRpdGlvbmFs
ICk6CiAgICAgICAgICAgICAgICAgZ3JvdXBfc3RhdGUgPTNEIHN0YXRlW2lucHV0Lm5hbWVdCiAg
ICAgICAgICAgICAgICAgZ3JvdXBfcHJlZml4ID0zRCAiJXN8IiAlICgga2V5ICkKCmRpZmYgLXIg
YzhhYjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZj
MmFlNTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19f
aW5pdF9fLnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC9fX2luaXRfXy5weQorKysg
Yi9saWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAvX19pbml0X18ucHkKQEAgLTUsNiArNSw3IEBACiBp
bXBvcnQganNvbgogaW1wb3J0IGRhdGV0aW1lCiBmcm9tIGdhbGF4eSBpbXBvcnQgbW9kZWwKK2Zy
b20gZ2FsYXh5LmV4Y2VwdGlvbnMgaW1wb3J0IE1hbGZvcm1lZENvbnRlbnRzCiBmcm9tIGdhbGF4
eS5tb2RlbC5pdGVtX2F0dHJzIGltcG9ydCBVc2VzQW5ub3RhdGlvbnMKIGZyb20gZ2FsYXh5Lm1v
ZGVsLm9ybSBpbXBvcnQgZWFnZXJsb2FkLCBlYWdlcmxvYWRfYWxsCiBmcm9tIGdhbGF4eS50b29s
cy5wYXJhbWV0ZXJzLmJhc2ljIGltcG9ydCBVbnZhbGlkYXRlZFZhbHVlCkBAIC0xOTIsOSArMTkz
LDkgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgZGF0YXNldF9hdHRycy5nZXQoJ2V4cG9ydGVk
JywgVHJ1ZSkgaXMgVHJ1ZToKICAgICAgICAgICAgICAgICAgICAgICAgICMgRG8gc2VjdXJpdHkg
Y2hlY2sgYW5kIG1vdmUvY29weSBkYXRhc2V0IGRhdGEuCiAgICAgICAgICAgICAgICAgICAgICAg
ICB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lID0zRCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3MucGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaW4oIGFyY2hpdmVfZGlyLCBkYT0KdGFzZXRf
YXR0cnNbJ2ZpbGVfbmFtZSddICkgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBh
dGgucmVhbHBhdGgoIG9zLnBhdGguYWJzcGF0aCggb3MucGF0aC5qb2k9Cm4oIGFyY2hpdmVfZGly
LCBkYXRhc2V0X2F0dHJzWydmaWxlX25hbWUnXSApICkgKQogICAgICAgICAgICAgICAgICAgICAg
ICAgaWYgbm90IGZpbGVfaW5fZGlyKCB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1lLCBvcy5wYXQ9Cmgu
am9pbiggYXJjaGl2ZV9kaXIsICJkYXRhc2V0cyIgKSApOgotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbiggIkludmFsaWQgZGF0YXNldCBwYXRoOiAlcyIgJSA9CnRl
bXBfZGF0YXNldF9maWxlX25hbWUgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl
IE1hbGZvcm1lZENvbnRlbnRzKCAiSW52YWxpZCBkYXRhc2V0IHBhdGg9CjogJXMiICUgdGVtcF9k
YXRhc2V0X2ZpbGVfbmFtZSApCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBkYXRhc2V0c191
c2FnZV9jb3VudHNbIHRlbXBfZGF0YXNldF9maWxlX25hbWUgXT0KID0zRD0zRCAxOgogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNodXRpbC5tb3ZlKCB0ZW1wX2RhdGFzZXRfZmlsZV9uYW1l
LCBoZGEuZmlsZV89Cm5hbWUgKQogICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKQEAgLTMx
Niw2ICszMTcsNyBAQAogICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKICAgICAgICAg
ICAgICAgICBqaWhhLmpvYi5zdGRlcnIgKz0zRCAiRXJyb3IgY2xlYW5pbmcgdXAgaGlzdG9yeSBp
bXBvcnQgam9iPQo6ICVzIiAlIGUKICAgICAgICAgICAgICAgICBzZWxmLnNhX3Nlc3Npb24uZmx1
c2goKQorICAgICAgICAgICAgICAgIHJhaXNlCj0yMAo9MjAKIGNsYXNzIEpvYkV4cG9ydEhpc3Rv
cnlBcmNoaXZlV3JhcHBlciggb2JqZWN0LCBVc2VzQW5ub3RhdGlvbnMgKToKCmRpZmYgLXIgYzhh
YjBmZTI4NmJmMTBhZGQyNmZlOTY3MzMwY2ZjNzk5OWFmZmRmMCAtciAwMzRjYjBmYjg3ZGZjMmFl
NTZkZTEwNz0KMmE0NWE2ODE4OTc5N2U5NzkgbGliL2dhbGF4eS90b29scy9pbXBfZXhwL3VucGFj
a190YXJfZ3pfYXJjaGl2ZS5weQotLS0gYS9saWIvZ2FsYXh5L3Rvb2xzL2ltcF9leHAvdW5wYWNr
X3Rhcl9nel9hcmNoaXZlLnB5CisrKyBiL2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC91bnBhY2tf
dGFyX2d6X2FyY2hpdmUucHkKQEAgLTYsNiArNiw3IEBACiAgICAgLS1bdXJsfGZpbGVdIHNvdXJj
ZSB0eXBlLCBlaXRoZXIgYSBVUkwgb3IgYSBmaWxlLgogIiIiCj0yMAoraW1wb3J0IG9zCiBpbXBv
cnQgc3lzCiBpbXBvcnQgb3B0cGFyc2UKIGltcG9ydCB0YXJmaWxlCkBAIC00Myw2ICs0NCwyMiBA
QAogICAgICAgICByZXR1cm4gTm9uZQo9MjAKPTIwCitkZWYgY2hlY2tfYXJjaGl2ZSggYXJjaGl2
ZV9maWxlLCBkZXN0X2RpciApOgorICAgICIiIgorICAgIEVuc3VyZSB0aGF0IGEgdGFyIGFyY2hp
dmUgaGFzIG5vIGFic29sdXRlIHBhdGhzIG9yIHJlbGF0aXZlIHBhdGhzIG91dHM9CmlkZQorICAg
IHRoZSBhcmNoaXZlLgorICAgICIiIgorICAgIHdpdGggdGFyZmlsZS5vcGVuKCBhcmNoaXZlX2Zp
bGUsIG1vZGU9M0QncjpneicgKSBhcyBhcmNoaXZlX2ZwOgorICAgICAgICBmb3IgYXJjX3BhdGgg
aW4gYXJjaGl2ZV9mcC5nZXRuYW1lcygpOgorICAgICAgICAgICAgYXNzZXJ0IG9zLnBhdGgubm9y
bXBhdGgoCisgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKAorICAgICAgICAgICAgICAgICAg
ICBkZXN0X2RpciwKKyAgICAgICAgICAgICAgICAgICAgYXJjX3BhdGgKKyAgICAgICAgICAgICAg
ICApICkuc3RhcnRzd2l0aCggZGVzdF9kaXIucnN0cmlwKG9zLnNlcCkgKyBvcy5zZXAgKSwgXAor
ICAgICAgICAgICAgICAgICJBcmNoaXZlIG1lbWJlciB3b3VsZCBleHRyYWN0IG91dHNpZGUgdGFy
Z2V0IGRpcmVjdG9yeTogJXM9CiIgJSBhcmNfcGF0aAorICAgIHJldHVybiBUcnVlCisKKwogZGVm
IHVucGFja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICk6CiAgICAgIiIiCiAgICAg
VW5wYWNrIGEgdGFyIGFuZC9vciBnemlwcGVkIGFyY2hpdmUgaW50byBhIGRlc3RpbmF0aW9uIGRp
cmVjdG9yeS4KQEAgLTUxLDEzICs2OCw4IEBACiAgICAgYXJjaGl2ZV9mcC5leHRyYWN0YWxsKCBw
YXRoPTNEZGVzdF9kaXIgKQogICAgIGFyY2hpdmVfZnAuY2xvc2UoKQo9MjAKLWlmIF9fbmFtZV9f
ID0zRD0zRCAiX19tYWluX18iOgotICAgICMgUGFyc2UgY29tbWFuZCBsaW5lLgotICAgIHBhcnNl
ciA9M0Qgb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKLSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1V
JywgJy0tdXJsJywgZGVzdD0zRCdpc191cmwnLCBhY3Rpb249M0Qic3RvcmVfdHJ1PQplIiwgaGVs
cD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oICctRicsICct
LWZpbGUnLCBkZXN0PTNEJ2lzX2ZpbGUnLCBhY3Rpb249M0Qic3RvcmVfdD0KcnVlIiwgaGVscD0z
RCdTb3VyY2UgaXMgYSBVUkwuJyApCi0gICAgcGFyc2VyLmFkZF9vcHRpb24oICctZScsICctLWVu
Y29kZWQnLCBkZXN0PTNEJ2lzX2I2NGVuY29kZWQnLCBhY3Rpb249Cj0zRCJzdG9yZV90cnVlIiwg
ZGVmYXVsdD0zREZhbHNlLCBoZWxwPTNEJ1NvdXJjZSBhbmQgZGVzdGluYXRpb24gZGlyIHZhbHVl
cz0KIGFyZSBiYXNlNjQgZW5jb2RlZC4nICkKLSAgICAob3B0aW9ucywgYXJncykgPTNEIHBhcnNl
ci5wYXJzZV9hcmdzKCkKKworZGVmIG1haW4ob3B0aW9ucywgYXJncyk6CiAgICAgaXNfdXJsID0z
RCBib29sKCBvcHRpb25zLmlzX3VybCApCiAgICAgaXNfZmlsZSA9M0QgYm9vbCggb3B0aW9ucy5p
c19maWxlICkKICAgICBhcmNoaXZlX3NvdXJjZSwgZGVzdF9kaXIgPTNEIGFyZ3MKQEAgLTY2LDE0
ICs3OCwyNSBAQAogICAgICAgICBhcmNoaXZlX3NvdXJjZSA9M0QgYjY0ZGVjb2RlKCBhcmNoaXZl
X3NvdXJjZSApCiAgICAgICAgIGRlc3RfZGlyID0zRCBiNjRkZWNvZGUoIGRlc3RfZGlyICkKPTIw
CisgICAgIyBHZXQgYXJjaGl2ZSBmcm9tIFVSTC4KKyAgICBpZiBpc191cmw6CisgICAgICAgIGFy
Y2hpdmVfZmlsZSA9M0QgdXJsX3RvX2ZpbGUoIGFyY2hpdmVfc291cmNlLCB0ZW1wZmlsZS5OYW1l
ZFRlbXBvcj0KYXJ5RmlsZSggZGlyPTNEZGVzdF9kaXIgKS5uYW1lICkKKyAgICBlbGlmIGlzX2Zp
bGU6CisgICAgICAgIGFyY2hpdmVfZmlsZSA9M0QgYXJjaGl2ZV9zb3VyY2UKKworICAgICMgVW5w
YWNrIGFyY2hpdmUuCisgICAgY2hlY2tfYXJjaGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciAp
CisgICAgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVfZmlsZSwgZGVzdF9kaXIgKQorCisKK2lmIF9f
bmFtZV9fID0zRD0zRCAiX19tYWluX18iOgorICAgICMgUGFyc2UgY29tbWFuZCBsaW5lLgorICAg
IHBhcnNlciA9M0Qgb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkKKyAgICBwYXJzZXIuYWRkX29wdGlv
biggJy1VJywgJy0tdXJsJywgZGVzdD0zRCdpc191cmwnLCBhY3Rpb249M0Qic3RvcmVfdHJ1PQpl
IiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCisgICAgcGFyc2VyLmFkZF9vcHRpb24oICct
RicsICctLWZpbGUnLCBkZXN0PTNEJ2lzX2ZpbGUnLCBhY3Rpb249M0Qic3RvcmVfdD0KcnVlIiwg
aGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCisgICAgcGFyc2VyLmFkZF9vcHRpb24oICctZScs
ICctLWVuY29kZWQnLCBkZXN0PTNEJ2lzX2I2NGVuY29kZWQnLCBhY3Rpb249Cj0zRCJzdG9yZV90
cnVlIiwgZGVmYXVsdD0zREZhbHNlLCBoZWxwPTNEJ1NvdXJjZSBhbmQgZGVzdGluYXRpb24gZGly
IHZhbHVlcz0KIGFyZSBiYXNlNjQgZW5jb2RlZC4nICkKKyAgICAob3B0aW9ucywgYXJncykgPTNE
IHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICB0cnk6Ci0gICAgICAgICMgR2V0IGFyY2hpdmUgZnJv
bSBVUkwuCi0gICAgICAgIGlmIGlzX3VybDoKLSAgICAgICAgICAgIGFyY2hpdmVfZmlsZSA9M0Qg
dXJsX3RvX2ZpbGUoIGFyY2hpdmVfc291cmNlLCB0ZW1wZmlsZS5OYW1lZFRlPQptcG9yYXJ5Rmls
ZSggZGlyPTNEZGVzdF9kaXIgKS5uYW1lICkKLSAgICAgICAgZWxpZiBpc19maWxlOgotICAgICAg
ICAgICAgYXJjaGl2ZV9maWxlID0zRCBhcmNoaXZlX3NvdXJjZQotCi0gICAgICAgICMgVW5wYWNr
IGFyY2hpdmUuCi0gICAgICAgIHVucGFja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGly
ICkKKyAgICAgICAgbWFpbihvcHRpb25zLCBhcmdzKQogICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6
CiAgICAgICAgIHByaW50ICJFcnJvciB1bnBhY2tpbmcgdGFyL2d6IGFyY2hpdmU6ICVzIiAlIGUs
IHN5cy5zdGRlcnIKClRoaXMgZGlmZiBpcyBzbyBiaWcgdGhhdCB3ZSBuZWVkZWQgdG8gdHJ1bmNh
dGUgdGhlIHJlbWFpbmRlci4KCmh0dHBzOi8vYml0YnVja2V0Lm9yZy9nYWxheHkvZ2FsYXh5LWNl
bnRyYWwvY29tbWl0cy8zNmMwNTI2MTM0MzQvCkNoYW5nZXNldDogICAzNmMwNTI2MTM0MzQKQnJh
bmNoOiAgICAgIHJlbGVhc2VfMTUuMTAKVXNlcjogICAgICAgIG5hdGVmb28KRGF0ZTogICAgICAg
IDIwMTYtMDItMjQgMjE6MDE6MjgrMDA6MDAKU3VtbWFyeTogICAgIFJlbGVhc2UgMTUuMTAuMgpB
ZmZlY3RlZCAjOiAgNzUgZmlsZXMKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRi
YmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2Fh
NTUgY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9jb2xsZWN0aW9uL2xpc3QtY29sbGVjdGlvbi1j
cmVhPQp0b3IuanMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9jb2xsZWN0aW9uL2xp
c3QtY29sbGVjdGlvbi1jcmVhdG9yLmpzCisrKyBiL2NsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMv
Y29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcwpAQCAtMTAwMyw3ICsxMDAzLDcg
QEAKICAgICAgICAgdGl0bGUgICA6IG9wdGlvbnMudGl0bGUgfHwgX2woICdDcmVhdGUgYSBjb2xs
ZWN0aW9uJyApLAogICAgICAgICBib2R5ICAgIDogY3JlYXRvci4kZWwsCiAgICAgICAgIHdpZHRo
ICAgOiAnODAlJywKLSAgICAgICAgaGVpZ2h0ICA6ICdtaW4tY29udGVudCcsCisgICAgICAgIGhl
aWdodCAgOiAnMTAwJScsCiAgICAgICAgIGNsb3NpbmdfZXZlbnRzOiB0cnVlCiAgICAgfSk7CiAg
ICAgY3JlYXRvci5yZW5kZXIoKTsKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRi
YmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2Fh
NTUgY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9saWJyYXJ5L2xpYnJhcnktZm9sZGVydG9vbGJh
ci12PQppZXcuanMKLS0tIGEvY2xpZW50L2dhbGF4eS9zY3JpcHRzL212Yy9saWJyYXJ5L2xpYnJh
cnktZm9sZGVydG9vbGJhci12aWV3LmpzCisrKyBiL2NsaWVudC9nYWxheHkvc2NyaXB0cy9tdmMv
bGlicmFyeS9saWJyYXJ5LWZvbGRlcnRvb2xiYXItdmlldy5qcwpAQCAtNTUwLDcgKzU1MCwxMSBA
QAogICAgICAgfSwKICAgICAgIGVycm9yOiBmdW5jdGlvbihtb2RlbCwgcmVzcG9uc2UpewogICAg
ICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLnJlc3BvbnNlSlNPTiAhPTNEPTNEICJ1bmRlZmluZWQi
KXsKLSAgICAgICAgICBtb2RfdG9hc3RyLmVycm9yKHJlc3BvbnNlLnJlc3BvbnNlSlNPTi5lcnJf
bXNnKTsKKyAgICAgICAgICBpZiAocmVzcG9uc2UucmVzcG9uc2VKU09OLmVycl9jb2RlID0zRD0z
RD0zRCA0MDQwMDEpeworICAgICAgICAgICAgbW9kX3RvYXN0ci53YXJuaW5nKHJlc3BvbnNlLnJl
c3BvbnNlSlNPTi5lcnJfbXNnKTsKKyAgICAgICAgICB9IGVsc2V7CisgICAgICAgICAgICBtb2Rf
dG9hc3RyLmVycm9yKHJlc3BvbnNlLnJlc3BvbnNlSlNPTi5lcnJfbXNnKTsKKyAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgbW9kX3RvYXN0ci5lcnJvcignQW4gZXJyb3Ig
b2N1cnJlZC4nKTsKICAgICAgICAgfQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNh
ZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3
YWE1NSBjbGllbnQvZ2FsYXh5L3NjcmlwdHMvdXRpbHMvdXBsb2FkYm94LmpzCi0tLSBhL2NsaWVu
dC9nYWxheHkvc2NyaXB0cy91dGlscy91cGxvYWRib3guanMKKysrIGIvY2xpZW50L2dhbGF4eS9z
Y3JpcHRzL3V0aWxzL3VwbG9hZGJveC5qcwpAQCAtMTE3LDEwICsxMTcsMTAgQEAKPTIwCiAgICAg
ICAgIC8vIGFwcGVuZCBoaWRkZW4gdXBsb2FkIGZpZWxkCiAgICAgICAgIHZhciAkaW5wdXQgPTNE
ICQoJzxpbnB1dCB0eXBlPTNEImZpbGUiIHN0eWxlPTNEImRpc3BsYXk6IG5vbmUiICcgKz0KIChv
cHRzLm11bHRpcGxlICYmICdtdWx0aXBsZScgfHwgJycpICsgJy8+Jyk7Ci0gICAgICAgIGVsLmFw
cGVuZCgkaW5wdXQpLmNoYW5nZShmdW5jdGlvbiAoZSkgeworICAgICAgICBlbC5hcHBlbmQoJGlu
cHV0LmNoYW5nZShmdW5jdGlvbiAoZSkgewogICAgICAgICAgICAgb3B0cy5vbmNoYW5nZShlLnRh
cmdldC5maWxlcyk7CiAgICAgICAgICAgICAkKHRoaXMpLnZhbCgnJyk7Ci0gICAgICAgIH0pOwor
ICAgICAgICB9KSk7Cj0yMAogICAgICAgICAvLyBkcmFnL2Ryb3AgZXZlbnRzCiAgICAgICAgIGVs
Lm9uKCdkcm9wJywgZnVuY3Rpb24gKGUpIHsKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0
NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUx
OWE5N2FhNTUgZWdncy5pbmkKLS0tIGEvZWdncy5pbmkKKysrIGIvZWdncy5pbmkKQEAgLTMwLDcg
KzMwLDcgQEAKIDsgbXNncGFja19weXRob24gPTNEIDAuMi40Cj0yMAogW2VnZ3M6bm9wbGF0Zm9y
bV0KLWFtcXAgPTNEIDEuNC42CithbXFwID0zRCAxLjQuOAogYW55anNvbiA9M0QgMC4zLjMKIEJl
YWtlciA9M0QgMS40CiBiaW9ibGVuZCA9M0QgMC41LjIKQEAgLTQwLDcgKzQwLDcgQEAKIGRybWFh
ID0zRCAwLjcuNgogRmFicmljID0zRCAxLjcuMAogaW1wb3J0bGliID0zRCAxLjAuMwota29tYnUg
PTNEIDMuMC4yNAora29tYnUgPTNEIDMuMC4zMAogbHJ1Y2FjaGUgPTNEIDAuMgogTWFrbyA9M0Qg
MC40LjEKIG1vY2sgPTNEIDEuMC4xCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2Fk
YmJjNDEwYzU1NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdh
YTU1IGxpYi9nYWxheHkvY29uZmlnLnB5Ci0tLSBhL2xpYi9nYWxheHkvY29uZmlnLnB5CisrKyBi
L2xpYi9nYWxheHkvY29uZmlnLnB5CkBAIC0yNTMsNyArMjUzLDkgQEAKICAgICAgICAgc2VsZi5s
b2dfZXZlbnRzID0zRCBzdHJpbmdfYXNfYm9vbCgga3dhcmdzLmdldCggJ2xvZ19ldmVudHMnLCAn
RmFsPQpzZScgKSApCiAgICAgICAgIHNlbGYuc2FuaXRpemVfYWxsX2h0bWwgPTNEIHN0cmluZ19h
c19ib29sKCBrd2FyZ3MuZ2V0KCAnc2FuaXRpemVfYT0KbGxfaHRtbCcsIFRydWUgKSApCiAgICAg
ICAgIHNlbGYuc2FuaXRpemVfd2hpdGVsaXN0X2ZpbGUgPTNEIHJlc29sdmVfcGF0aCgga3dhcmdz
LmdldCggJ3Nhbml0aT0KemVfd2hpdGVsaXN0X2ZpbGUnLCAiY29uZmlnL3Nhbml0aXplX3doaXRl
bGlzdC50eHQiICksIHNlbGYucm9vdCApCi0gICAgICAgIHNlbGYucmVsb2FkX3Nhbml0aXplX3do
aXRlbGlzdCgpCisgICAgICAgIHNlbGYuc2FuaXRpemVfd2hpdGVsaXN0ID0zRCBbXQorICAgICAg
ICBpZiBrd2FyZ3MuZ2V0KCdzYW5pdGl6ZV93aGl0ZWxpc3RfZmlsZScsIE5vbmUpIGlzIG5vdCBO
b25lOgorICAgICAgICAgICAgc2VsZi5yZWxvYWRfc2FuaXRpemVfd2hpdGVsaXN0KCkKICAgICAg
ICAgc2VsZi5zZXJ2ZV94c3NfdnVsbmVyYWJsZV9taW1ldHlwZXMgPTNEIHN0cmluZ19hc19ib29s
KCBrd2FyZ3MuZ2V0PQooICdzZXJ2ZV94c3NfdnVsbmVyYWJsZV9taW1ldHlwZXMnLCBGYWxzZSAp
ICkKICAgICAgICAgc2VsZi50cnVzdF9pcHl0aG9uX25vdGVib29rX2NvbnZlcnNpb24gPTNEIHN0
cmluZ19hc19ib29sKCBrd2FyZ3MuPQpnZXQoICd0cnVzdF9pcHl0aG9uX25vdGVib29rX2NvbnZl
cnNpb24nLCBGYWxzZSApICkKICAgICAgICAgc2VsZi5lbmFibGVfb2xkX2Rpc3BsYXlfYXBwbGlj
YXRpb25zID0zRCBzdHJpbmdfYXNfYm9vbCgga3dhcmdzLmdlPQp0KCAiZW5hYmxlX29sZF9kaXNw
bGF5X2FwcGxpY2F0aW9ucyIsICJUcnVlIiApICkKQEAgLTQ3NCw3ICs0NzYsNyBAQAogICAgICAg
ICAgICAgICAgICAgICBpZiBub3QgbGluZS5zdGFydHN3aXRoKCIjIik6CiAgICAgICAgICAgICAg
ICAgICAgICAgICBzZWxmLnNhbml0aXplX3doaXRlbGlzdC5hcHBlbmQobGluZS5zdHJpcCgpKQog
ICAgICAgICBleGNlcHQgSU9FcnJvcjoKLSAgICAgICAgICAgIGxvZy53YXJuaW5nKCJTYW5pdGl6
ZSBsb2cgZmlsZSAlcyBkb2VzIG5vdCBleGlzdCwgY29udGludWluZyB3PQppdGggbm8gdG9vbHMg
d2hpdGVsaXN0ZWQuIikKKyAgICAgICAgICAgIGxvZy53YXJuaW5nKCJTYW5pdGl6ZSBsb2cgZmls
ZSAlcyBkb2VzIG5vdCBleGlzdCwgY29udGludWluZyB3PQppdGggbm8gdG9vbHMgd2hpdGVsaXN0
ZWQuIiwgc2VsZi5zYW5pdGl6ZV93aGl0ZWxpc3RfZmlsZSkKPTIwCiAgICAgZGVmIF9fcGFyc2Vf
Y29uZmlnX2ZpbGVfb3B0aW9ucyggc2VsZiwga3dhcmdzICk6CiAgICAgICAgICIiIgoKZGlmZiAt
ciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQz
NDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvZ2FsYXh5L2RhdGF0eXBlcy9pbnRl
cnZhbC5weQotLS0gYS9saWIvZ2FsYXh5L2RhdGF0eXBlcy9pbnRlcnZhbC5weQorKysgYi9saWIv
Z2FsYXh5L2RhdGF0eXBlcy9pbnRlcnZhbC5weQpAQCAtMTUyMCwxNCArMTUyMCwyMSBAQAogICAg
ICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgICAgICBsaW5lID0zRCBmaC5yZWFkbGlu
ZSgpCiAgICAgICAgICAgICAgICAgbGluZSA9M0QgbGluZS5zdHJpcCgpCisgICAgICAgICAgICAg
ICAgIyBUaGUgZmlyc3QgbGluZSBpcyBhbHdheXMgYSBjb21tZW50IGxpa2UgdGhpczoKKyAgICAg
ICAgICAgICAgICAjIDIwMTUtMTEtMjMgMjA6MTg6NTYuNTE7aW5wdXQuYmFtO1JFQUQxCisgICAg
ICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCcjJyk6CisgICAgICAgICAgICAgICAgICAg
IGNvdW50ICs9M0QgMQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZQogICAgICAgICAgICAg
ICAgIGlmIG5vdCBsaW5lOgogICAgICAgICAgICAgICAgICAgICAjIEVPRgogICAgICAgICAgICAg
ICAgICAgICBpZiBjb3VudCA+IDE6CisgICAgICAgICAgICAgICAgICAgICAgICAjIFRoZSBzZWNv
bmQgbGluZSBpcyBhbHdheXMgdGhlIGxhYmVsczoKKyAgICAgICAgICAgICAgICAgICAgICAgICMg
Y2hyb20gaW5kZXggZm9yd2FyZCByZXZlcnNlIHZhbHVlCiAgICAgICAgICAgICAgICAgICAgICAg
ICAjIFdlIG5lZWQgYXQgbGVhc3QgdGhlIGNvbHVtbiBsYWJlbHMgYW5kIGEgZGF0YSBsaT0KbmUu
CiAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQogICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gRmFsc2UKICAgICAgICAgICAgICAgICAjIFNraXAgZmlyc3QgbGluZS4KLSAgICAg
ICAgICAgICAgICBpZiBjb3VudCA+IDA6CisgICAgICAgICAgICAgICAgaWYgY291bnQgPiAxOgog
ICAgICAgICAgICAgICAgICAgICBpdGVtcyA9M0QgbGluZS5zcGxpdCgnXHQnKQogICAgICAgICAg
ICAgICAgICAgICBpZiBsZW4oaXRlbXMpICE9M0QgNToKICAgICAgICAgICAgICAgICAgICAgICAg
IHJldHVybiBGYWxzZQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1
NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIv
Z2FsYXh5L2V4Y2VwdGlvbnMvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS9leGNlcHRpb25z
L19faW5pdF9fLnB5CisrKyBiL2xpYi9nYWxheHkvZXhjZXB0aW9ucy9fX2luaXRfXy5weQpAQCAt
NzAsNiArNzAsMTEgQEAKICAgICBlcnJfY29kZSA9M0QgZXJyb3JfY29kZXMuTUFMRk9STUVEX0lE
Cj0yMAo9MjAKK2NsYXNzIE1hbGZvcm1lZENvbnRlbnRzKCBNZXNzYWdlRXhjZXB0aW9uICk6Cisg
ICAgc3RhdHVzX2NvZGUgPTNEIDQwMAorICAgIGVycl9jb2RlID0zRCBlcnJvcl9jb2Rlcy5NQUxG
T1JNRURfQ09OVEVOVFMKKworCiBjbGFzcyBVbmtub3duQ29udGVudHNUeXBlKCBNZXNzYWdlRXhj
ZXB0aW9uICk6CiAgICAgc3RhdHVzX2NvZGUgPTNEIDQwMAogICAgIGVycl9jb2RlID0zRCBlcnJv
cl9jb2Rlcy5VTktOT1dOX0NPTlRFTlRTX1RZUEUKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2Mw
OTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRi
MWUxOWE5N2FhNTUgbGliL2dhbGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KLS0tIGEv
bGliL2dhbGF4eS9leGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KKysrIGIvbGliL2dhbGF4eS9l
eGNlcHRpb25zL2Vycm9yX2NvZGVzLmpzb24KQEAgLTYxLDEwICs2MSwxNSBAQAogICAgIH0sCiAg
ICB7CiAgICAgIm5hbWUiOiAiVVNFUl9UT09MX01FVEFfUEFSQU1FVEVSX1BST0JMRU0iLAotICAg
ICJjb2RlIjogNDAwMDExLAorICAgICJjb2RlIjogNDAwMDEyLAogICAgICJtZXNzYWdlIjogIlN1
cHBsaWVkIGluY29ycmVjdCBvciBpbmNvbXBhdGlibGUgdG9vbCBtZXRhIHBhcmFtZXRlcnMuIgog
ICAgfSwKICAgIHsKKyAgICAibmFtZSI6ICJNQUxGT1JNRURfQ09OVEVOVFMiLAorICAgICJjb2Rl
IjogNDAwMDEzLAorICAgICJtZXNzYWdlIjogIlRoZSBjb250ZW50cyBvZiB0aGUgcmVxdWVzdCBh
cmUgbWFsZm9ybWVkLiIKKyAgICB9LAorICAgewogICAgICJuYW1lIjogIlVTRVJfQVVUSEVOVElD
QVRJT05fRkFJTEVEIiwKICAgICAiY29kZSI6IDQwMTAwMSwKICAgICAibWVzc2FnZSI6ICJBdXRo
ZW50aWNhdGlvbiBmYWlsZWQsIGludmFsaWQgY3JlZGVudGlhbHMgc3VwcGxpZWQuIgoKZGlmZiAt
ciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQz
NDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvZ2FsYXh5L2pvYnMvcnVubmVycy9f
X2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L2pvYnMvcnVubmVycy9fX2luaXRfXy5weQorKysg
Yi9saWIvZ2FsYXh5L2pvYnMvcnVubmVycy9fX2luaXRfXy5weQpAQCAtMzE5LDcgKzMxOSw3IEBA
CiAgICAgICAgICAgICAjIHN5bmMgZmlsZSBzeXN0ZW0gdG8gYXZvaWQgIlRleHQgZmlsZSBidXN5
IiBwcm9ibGVtcy4KICAgICAgICAgICAgICMgVGhlc2UgaGF2ZSBvY2N1cnJlZCBib3RoIGluIERv
Y2tlciBjb250YWluZXJzIGFuZCBvbiBFQzIgY2x1PQpzdGVycwogICAgICAgICAgICAgIyB1bmRl
ciBoaWdoIGxvYWQuCi0gICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJzeW5jIl0p
CisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyIvYmluL3N5bmMiXSkKICAgICAg
ICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAgIHBhc3MKPTIwCgpkaWZmIC1yIGQ2MmYz
ZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBm
OWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkvam9icy9ydW5uZXJzL3B1bHNhci5w
eQotLS0gYS9saWIvZ2FsYXh5L2pvYnMvcnVubmVycy9wdWxzYXIucHkKKysrIGIvbGliL2dhbGF4
eS9qb2JzL3J1bm5lcnMvcHVsc2FyLnB5CkBAIC02OSw2ICs2OSwxMCBAQAogICAgICAgICBtYXA9
M0RzcGVjcy50b19ib29sX29yX25vbmUsCiAgICAgICAgIGRlZmF1bHQ9M0ROb25lCiAgICAgKSwK
KyAgICBhbXFwX2Fja19yZXB1Ymxpc2hfdGltZT0zRGRpY3QoCisgICAgICAgIG1hcD0zRGxhbWJk
YSB2YWw6IE5vbmUgaWYgdmFsID0zRD0zRCAiTm9uZSIgZWxzZSBpbnQodmFsKSwKKyAgICAgICAg
ZGVmYXVsdD0zRE5vbmUsCisgICAgKSwKICAgICBhbXFwX2NvbnN1bWVyX3RpbWVvdXQ9M0RkaWN0
KAogICAgICAgICBtYXA9M0RsYW1iZGEgdmFsOiBOb25lIGlmIHZhbCA9M0Q9M0QgIk5vbmUiIGVs
c2UgZmxvYXQodmFsKSwKICAgICAgICAgZGVmYXVsdD0zRE5vbmUsCgpkaWZmIC1yIGQ2MmYzZTUw
YjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0
NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkvbW9kZWwvX19pbml0X18ucHkKLS0tIGEv
bGliL2dhbGF4eS9tb2RlbC9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L21vZGVsL19faW5p
dF9fLnB5CkBAIC0yNCwxMSArMjQsNiBAQAogZnJvbSBzcWxhbGNoZW15Lm9ybSBpbXBvcnQgam9p
bmVkbG9hZCwgb2JqZWN0X3Nlc3Npb24sIGFsaWFzZWQKIGZyb20gc3FsYWxjaGVteS5leHQgaW1w
b3J0IGh5YnJpZAo9MjAKLXRyeToKLSAgICBpbXBvcnQgcGV4cGVjdAotZXhjZXB0IEltcG9ydEVy
cm9yOgotICAgIHBleHBlY3QgPTNEIE5vbmUKLQogaW1wb3J0IGdhbGF4eS5kYXRhdHlwZXMKIGlt
cG9ydCBnYWxheHkuZGF0YXR5cGVzLnJlZ2lzdHJ5CiBpbXBvcnQgZ2FsYXh5Lm1vZGVsLm9ybS5u
b3cKQEAgLTYwLDkgKzU1LDYgQEAKICMgdGhpcyBiZSB1bmxpbWl0ZWQgLSBmaWx0ZXIgaW4gUHl0
aG9uIGlmIG92ZXIgdGhpcyBsaW1pdC4KIE1BWF9JTl9GSUxURVJfTEVOR1RIID0zRCAxMDAKPTIw
Ci1QRVhQRUNUX0lNUE9SVF9NRVNTQUdFID0zRCAoJ1RoZSBQeXRob24gcGV4cGVjdCBwYWNrYWdl
IGlzIHJlcXVpcmVkIHRvIHVzZT0KIHRoaXMgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAn
ZmVhdHVyZSwgcGxlYXNlIGluc3RhbGwgaXQnKQotCj0yMAogY2xhc3MgTm9Db252ZXJ0ZXJFeGNl
cHRpb24oRXhjZXB0aW9uKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgdmFsdWUpOgpAQCAtNDI1
MSwzMCArNDI0Myw2IEBACiAgICAgICAgICAgICAgICAgdW50cmFuc2ZlcnJlZF9kYXRhc2V0cy5h
cHBlbmQoIGRhdGFzZXQgKQogICAgICAgICByZXR1cm4gdW50cmFuc2ZlcnJlZF9kYXRhc2V0cwo9
MjAKLSAgICBkZWYgZ2V0X3VudHJhbnNmZXJyZWRfZGF0YXNldF9zaXplKCBzZWxmLCBmaWxlcGF0
aCwgc2NwX2NvbmZpZ3MgKToKLSAgICAgICAgZGVmIHByaW50X3RpY2tzKCBkICk6Ci0gICAgICAg
ICAgICBwYXNzCi0gICAgICAgIGlmIHBleHBlY3QgaXMgTm9uZToKLSAgICAgICAgICAgIHJldHVy
biBQRVhQRUNUX0lNUE9SVF9NRVNTQUdFCi0gICAgICAgIGVycm9yX21zZyA9M0QgJ0Vycm9yIGVu
Y291bnRlcmVkIGluIGRldGVybWluaW5nIHRoZSBmaWxlIHNpemUgb2YgJT0KcyBvbiB0aGUgZXh0
ZXJuYWxfc2VydmljZS4nICUgZmlsZXBhdGgKLSAgICAgICAgaWYgbm90IHNjcF9jb25maWdzWydo
b3N0J10gb3Igbm90IHNjcF9jb25maWdzWyd1c2VyX25hbWUnXSBvciBub3QgPQpzY3BfY29uZmln
c1sncGFzc3dvcmQnXToKLSAgICAgICAgICAgIHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgbG9n
aW5fc3RyID0zRCAnJXNAJXMnICUgKCBzY3BfY29uZmlnc1sndXNlcl9uYW1lJ10sIHNjcF9jb25m
aWdzWydoPQpvc3QnXSApCi0gICAgICAgIGNtZCA9M0QgJ3NzaCAlcyAiZHUgLXNoIFwnJXNcJyIn
ICUgKCBsb2dpbl9zdHIsIGZpbGVwYXRoICkKLSAgICAgICAgdHJ5OgotICAgICAgICAgICAgb3V0
cHV0ID0zRCBwZXhwZWN0LnJ1biggY21kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGV2ZW50cz0zRHsgJy5zc3dvcmQ6Kic6IHNjcF9jb25maWdzWydwYXM9CnN3b3JkJ10gKyAn
XHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV4cGVj
dC5USU1FT1VUOiBwcmludF90aWNrc30sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGltZW91dD0zRDEwICkKLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLSAgICAgICAgICAg
IHJldHVybiBlcnJvcl9tc2cKLSAgICAgICAgIyBjbGVhbnVwIHRoZSBvdXRwdXQgdG8gZ2V0IGp1
c3QgdGhlIGZpbGUgc2l6ZQotICAgICAgICByZXR1cm4gb3V0cHV0LnJlcGxhY2UoIGZpbGVwYXRo
LCAnJyApXAotICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICdQYXNzd29yZDonLCAnJyAp
XAotICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoICIncyBwYXNzd29yZDoiLCAnJyApXAot
ICAgICAgICAgICAgICAgICAgICAgLnJlcGxhY2UoIGxvZ2luX3N0ciwgJycgKVwKLSAgICAgICAg
ICAgICAgICAgICAgIC5zdHJpcCgpCi0KICAgICBAcHJvcGVydHkKICAgICBkZWYgcnVuX2RldGFp
bHMoIHNlbGYgKToKICAgICAgICAgIyBzZWxmLnJ1bnMgaXMgYSBsaXN0IG9mIFNhbXBsZVJ1bkFz
c29jaWF0aW9ucyBvcmRlcmVkIGRlc2NlbmRpbmcgPQpvbiB1cGRhdGVfdGltZS4KCmRpZmYgLXIg
ZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQx
MjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS9tb2RlbC90b29sX3NoZWRf
aW5zdGFsbC9fX2luaXRfXy5weQotLS0gYS9saWIvZ2FsYXh5L21vZGVsL3Rvb2xfc2hlZF9pbnN0
YWxsL19faW5pdF9fLnB5CisrKyBiL2xpYi9nYWxheHkvbW9kZWwvdG9vbF9zaGVkX2luc3RhbGwv
X19pbml0X18ucHkKQEAgLTk2LDcgKzk2LDE0IEBACiAgICAgICAgIFJldHVybiB0aGUgaW4tbWVt
b3J5IHZlcnNpb24gb2YgdGhlIHNoZWRfdG9vbF9jb25mIGZpbGUsIHdoaWNoIGlzID0Kc3RvcmVk
IGluIHRoZSBjb25maWdfZWxlbXMgZW50cnkKICAgICAgICAgaW4gdGhlIHNoZWRfdG9vbF9jb25m
X2RpY3QuCiAgICAgICAgICIiIgotICAgICAgICBpZiBub3Qgc2VsZi5zaGVkX2NvbmZpZ19maWxl
bmFtZToKKworICAgICAgICBkZWYgX2lzX3ZhbGlkX3NoZWRfY29uZmlnX2ZpbGVuYW1lKCBmaWxl
bmFtZSApOgorICAgICAgICAgICAgZm9yIHNoZWRfdG9vbF9jb25mX2RpY3QgaW4gYXBwLnRvb2xi
b3guZHluYW1pY19jb25mcyggaW5jbHVkZV89Cm1pZ3JhdGVkX3Rvb2xfY29uZj0zRFRydWUgKToK
KyAgICAgICAgICAgICAgICBpZiBmaWxlbmFtZSA9M0Q9M0Qgc2hlZF90b29sX2NvbmZfZGljdFsg
J2NvbmZpZ19maWxlbmFtZScgPQpdOgorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQor
ICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAgICAgaWYgbm90IHNlbGYuc2hlZF9jb25m
aWdfZmlsZW5hbWUgb3Igbm90IF9pc192YWxpZF9zaGVkX2NvbmZpZ19maWxlPQpuYW1lKCBzZWxm
LnNoZWRfY29uZmlnX2ZpbGVuYW1lICk6CiAgICAgICAgICAgICBzZWxmLmd1ZXNzX3NoZWRfY29u
ZmlnKCBhcHAsIGRlZmF1bHQ9M0RkZWZhdWx0ICkKICAgICAgICAgaWYgc2VsZi5zaGVkX2NvbmZp
Z19maWxlbmFtZToKICAgICAgICAgICAgIGZvciBzaGVkX3Rvb2xfY29uZl9kaWN0IGluIGFwcC50
b29sYm94LmR5bmFtaWNfY29uZnMoIGluY2x1ZGVfPQptaWdyYXRlZF90b29sX2NvbmY9M0RUcnVl
ICk6CgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIg
MzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkvb2Jq
ZWN0c3RvcmUvX19pbml0X18ucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9fX2luaXRf
Xy5weQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0b3JlL19faW5pdF9fLnB5CkBAIC0xMSw3ICsx
MSw3IEBACiBpbXBvcnQgdGhyZWFkaW5nCiBmcm9tIHhtbC5ldHJlZSBpbXBvcnQgRWxlbWVudFRy
ZWUKPTIwCi1mcm9tIGdhbGF4eS51dGlsIGltcG9ydCB1bWFza19maXhfcGVybXMsIGZvcmNlX3N5
bWxpbmsKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHVtYXNrX2ZpeF9wZXJtcywgZm9yY2Vfc3lt
bGluaywgc2FmZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3RJ
bnZhbGlkLCBPYmplY3ROb3RGb3VuZAogZnJvbSBnYWxheHkudXRpbC5zbGVlcGVyIGltcG9ydCBT
bGVlcGVyCiBmcm9tIGdhbGF4eS51dGlsLmRpcmVjdG9yeV9oYXNoIGltcG9ydCBkaXJlY3Rvcnlf
aGFzaF9pZApAQCAtMjUyLDcgKzI1MiwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgIHRo
ZSBjb21wb3NlZCBkaXJlY3Rvcnkgc3RydWN0dXJlIGRvZXMgbm90IGluY2x1ZGU9CiBhIGhhc2gg
aWQKICAgICAgICAgICAgICAgICAgICAgICAgICAoZS5nLiwgL2ZpbGVzL2RhdGFzZXRfMTAuZGF0
IChvbGQpIHZzLiAvZmlsZXMvMDAwPQovZGF0YXNldF8xMC5kYXQgKG5ldykpCiAgICAgICAgICIi
IgotICAgICAgICBiYXNlID0zRCBzZWxmLmV4dHJhX2RpcnMuZ2V0KGJhc2VfZGlyLCBzZWxmLmZp
bGVfcGF0aCkKKyAgICAgICAgYmFzZSA9M0Qgb3MucGF0aC5hYnNwYXRoKHNlbGYuZXh0cmFfZGly
cy5nZXQoYmFzZV9kaXIsIHNlbGYuZmlsZV9wPQphdGgpKQorICAgICAgICAjIGV4dHJhX2RpciBz
aG91bGQgbmV2ZXIgYmUgY29uc3RydWN0ZWQgZnJvbSBwcm92aWRlZCBkYXRhIGJ1dCBqdXN0Cisg
ICAgICAgICMgbWFrZSBzdXJlIHRoZXJlIGFyZSBubyBzaGVuYW5uaWdhbnMgYWZvb3QKKyAgICAg
ICAgaWYgZXh0cmFfZGlyIGFuZCBleHRyYV9kaXIgIT0zRCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJh
X2Rpcik6CisgICAgICAgICAgICBsb2cud2FybmluZygnZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxp
emVkOiAlcycsIGV4dHJhX2RpcikKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRo
ZSByZXF1ZXN0ZWQgb2JqZWN0IGlzIGludmFsaWQiKQorICAgICAgICAjIGVuc3VyZSB0aGF0IGFu
eSBwYXJlbnQgZGlyZWN0b3J5IHJlZmVyZW5jZXMgaW4gYWx0X25hbWUgd291bGQgbm90CisgICAg
ICAgICMgcmVzdWx0IGluIGEgcGF0aCBub3QgY29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0
aCBjb25zdHJ1Y3RlZD0KIGhlcmUKKyAgICAgICAgaWYgYWx0X25hbWUgYW5kIG5vdCBzYWZlX3Jl
bHBhdGgoYWx0X25hbWUpOgorICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxk
IGxvY2F0ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsIGFsdF89Cm5hbWUpCisgICAgICAgICAgICBy
YWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikKICAg
ICAgICAgaWYgb2xkX3N0eWxlOgogICAgICAgICAgICAgaWYgZXh0cmFfZGlyIGlzIG5vdCBOb25l
OgogICAgICAgICAgICAgICAgIHBhdGggPTNEIG9zLnBhdGguam9pbihiYXNlLCBleHRyYV9kaXIp
CkBAIC02MTksOSArNjI5LDEwIEBACiAgICAgZWxpZiBzdG9yZSA9M0Q9M0QgJ2lyb2RzJzoKICAg
ICAgICAgZnJvbSAucm9kcyBpbXBvcnQgSVJPRFNPYmplY3RTdG9yZQogICAgICAgICByZXR1cm4g
SVJPRFNPYmplY3RTdG9yZShjb25maWc9M0Rjb25maWcsIGNvbmZpZ194bWw9M0Rjb25maWdfeG1s
KQotICAgIGVsaWYgc3RvcmUgPTNEPTNEICdwdWxzYXInOgotICAgICAgICBmcm9tIC5wdWxzYXIg
aW1wb3J0IFB1bHNhck9iamVjdFN0b3JlCi0gICAgICAgIHJldHVybiBQdWxzYXJPYmplY3RTdG9y
ZShjb25maWc9M0Rjb25maWcsIGNvbmZpZ194bWw9M0Rjb25maWdfeG1sKQorICAgICMgRGlzYWJs
ZSB0aGUgUHVsc2FyIG9iamVjdCBzdG9yZSBmb3Igbm93IHVudGlsIGl0IHJlY2VpdmVzIHNvbWUg
YXR0ZW49CnRpb24KKyAgICAjIGVsaWYgc3RvcmUgPTNEPTNEICdwdWxzYXInOgorICAgICMgICAg
ZnJvbSAucHVsc2FyIGltcG9ydCBQdWxzYXJPYmplY3RTdG9yZQorICAgICMgICAgcmV0dXJuIFB1
bHNhck9iamVjdFN0b3JlKGNvbmZpZz0zRGNvbmZpZywgY29uZmlnX3htbD0zRGNvbmZpZ194bWwp
CiAgICAgZWxzZToKICAgICAgICAgbG9nLmVycm9yKCJVbnJlY29nbml6ZWQgb2JqZWN0IHN0b3Jl
IGRlZmluaXRpb246IHswfSIuZm9ybWF0KHN0b3JlPQopKQo9MjAKCmRpZmYgLXIgZDYyZjNlNTBi
NTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0
Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS9vYmplY3RzdG9yZS9yb2RzLnB5Ci0tLSBh
L2xpYi9nYWxheHkvb2JqZWN0c3RvcmUvcm9kcy5weQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0
b3JlL3JvZHMucHkKQEAgLTEyLDcgKzEyLDggQEAKIGZyb20gcG9zaXhwYXRoIGltcG9ydCBiYXNl
bmFtZSBhcyBwYXRoX2Jhc2VuYW1lCiBmcm9tIHBvc2l4cGF0aCBpbXBvcnQgZGlybmFtZSBhcyBw
YXRoX2Rpcm5hbWUKPTIwCi1mcm9tIGdhbGF4eS5leGNlcHRpb25zIGltcG9ydCBPYmplY3ROb3RG
b3VuZAorZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgT2JqZWN0Tm90Rm91bmQsIE9iamVj
dEludmFsaWQKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVscGF0aAogZnJvbSAuLm9i
amVjdHN0b3JlIGltcG9ydCBEaXNrT2JqZWN0U3RvcmUsIE9iamVjdFN0b3JlLCBsb2NhbF9leHRy
YV9kaXJzCj0yMAogdHJ5OgpAQCAtNzEsNiArNzIsMjAgQEAKICAgICAgICAgbG9nLmluZm8oICJp
Uk9EUyBkYXRhIGZvciB0aGlzIGluc3RhbmNlIHdpbGwgYmUgc3RvcmVkIGluIGNvbGxlY3RpPQpv
bjogJXMsIHJlc291cmNlOiAlcyIsIHNlbGYucm9vdF9jb2xsZWN0aW9uX3BhdGgsIHNlbGYuZGVm
YXVsdF9yZXNvdXJjZSApCj0yMAogICAgIGRlZiBfX2dldF9yb2RzX3BhdGgoIHNlbGYsIG9iaiwg
YmFzZV9kaXI9M0ROb25lLCBkaXJfb25seT0zREZhbHNlLCBleHQ9CnJhX2Rpcj0zRE5vbmUsIGV4
dHJhX2Rpcl9hdF9yb290PTNERmFsc2UsIGFsdF9uYW1lPTNETm9uZSwgc3RyaXBfZGF0PTNEVHJ1
ZT0KLCAqKmt3YXJncyApOgorICAgICAgICAjIGV4dHJhX2RpciBzaG91bGQgbmV2ZXIgYmUgY29u
c3RydWN0ZWQgZnJvbSBwcm92aWRlZCBkYXRhIGJ1dCBqdXN0CisgICAgICAgICMgbWFrZSBzdXJl
IHRoZXJlIGFyZSBubyBzaGVuYW5uaWdhbnMgYWZvb3QKKyAgICAgICAgaWYgZXh0cmFfZGlyIGFu
ZCBleHRyYV9kaXIgIT0zRCBvcy5wYXRoLm5vcm1wYXRoKGV4dHJhX2Rpcik6CisgICAgICAgICAg
ICBsb2cud2FybmluZygnZXh0cmFfZGlyIGlzIG5vdCBub3JtYWxpemVkOiAlcycsIGV4dHJhX2Rp
cikKKyAgICAgICAgICAgIHJhaXNlIE9iamVjdEludmFsaWQoIlRoZSByZXF1ZXN0ZWQgb2JqZWN0
IGlzIGludmFsaWQiKQorICAgICAgICAjIGVuc3VyZSB0aGF0IGFueSBwYXJlbnQgZGlyZWN0b3J5
IHJlZmVyZW5jZXMgaW4gYWx0X25hbWUgd291bGQgbm90CisgICAgICAgICMgcmVzdWx0IGluIGEg
cGF0aCBub3QgY29udGFpbmVkIGluIHRoZSBkaXJlY3RvcnkgcGF0aCBjb25zdHJ1Y3RlZD0KIGhl
cmUKKyAgICAgICAgaWYgYWx0X25hbWU6CisgICAgICAgICAgICBpZiBub3Qgc2FmZV9yZWxwYXRo
KGFsdF9uYW1lKToKKyAgICAgICAgICAgICAgICBsb2cud2FybmluZygnYWx0X25hbWUgd291bGQg
bG9jYXRlIHBhdGggb3V0c2lkZSBkaXI6ICVzJywgPQphbHRfbmFtZSkKKyAgICAgICAgICAgICAg
ICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBpbnZhbGlkIikK
KyAgICAgICAgICAgICMgYWx0X25hbWUgY2FuIGNvbnRhaW4gcGFyZW50IGRpcmVjdG9yeSByZWZl
cmVuY2VzLCBidXQgaVJPRFMgPQp3aWxsCisgICAgICAgICAgICAjIG5vdCBmb2xsb3cgdGhlbSwg
c28gaWYgdGhleSBhcmUgdmFsaWQgd2Ugbm9ybWFsaXplIHRoZW0gb3V0CisgICAgICAgICAgICBh
bHRfbmFtZSA9M0Qgb3MucGF0aC5ub3JtcGF0aChhbHRfbmFtZSkKICAgICAgICAgcGF0aCA9M0Qg
IiIKICAgICAgICAgaWYgZXh0cmFfZGlyIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgcGF0aCA9
M0QgZXh0cmFfZGlyCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1
NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9n
YWxheHkvb2JqZWN0c3RvcmUvczMucHkKLS0tIGEvbGliL2dhbGF4eS9vYmplY3RzdG9yZS9zMy5w
eQorKysgYi9saWIvZ2FsYXh5L29iamVjdHN0b3JlL3MzLnB5CkBAIC0xMiw4ICsxMiw4IEBACj0y
MAogZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKPTIwCi1mcm9tIGdhbGF4eS5leGNlcHRp
b25zIGltcG9ydCBPYmplY3ROb3RGb3VuZAotZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc3RyaW5n
X2FzX2Jvb2wsIHVtYXNrX2ZpeF9wZXJtcworZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQg
T2JqZWN0Tm90Rm91bmQsIE9iamVjdEludmFsaWQKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHN0
cmluZ19hc19ib29sLCB1bWFza19maXhfcGVybXMsIHNhZmVfcmVscGF0aAogZnJvbSBnYWxheHku
dXRpbC5kaXJlY3RvcnlfaGFzaCBpbXBvcnQgZGlyZWN0b3J5X2hhc2hfaWQKIGZyb20gZ2FsYXh5
LnV0aWwuc2xlZXBlciBpbXBvcnQgU2xlZXBlcgogZnJvbSAuczNfbXVsdGlwYXJ0X3VwbG9hZCBp
bXBvcnQgbXVsdGlwYXJ0X3VwbG9hZApAQCAtMjA4LDYgKzIwOCwyMCBAQAogICAgICAgICAgICAg
ICAgIHVtYXNrX2ZpeF9wZXJtcyggcGF0aCwgc2VsZi5jb25maWcudW1hc2ssIDA2NjYsIHNlbGYu
Y29uZmk9CmcuZ2lkICkKPTIwCiAgICAgZGVmIF9jb25zdHJ1Y3RfcGF0aChzZWxmLCBvYmosIGJh
c2VfZGlyPTNETm9uZSwgZGlyX29ubHk9M0ROb25lLCBleHRyYT0KX2Rpcj0zRE5vbmUsIGV4dHJh
X2Rpcl9hdF9yb290PTNERmFsc2UsIGFsdF9uYW1lPTNETm9uZSwgb2JqX2Rpcj0zREZhbHNlLCAq
PQoqa3dhcmdzKToKKyAgICAgICAgIyBleHRyYV9kaXIgc2hvdWxkIG5ldmVyIGJlIGNvbnN0cnVj
dGVkIGZyb20gcHJvdmlkZWQgZGF0YSBidXQganVzdAorICAgICAgICAjIG1ha2Ugc3VyZSB0aGVy
ZSBhcmUgbm8gc2hlbmFubmlnYW5zIGFmb290CisgICAgICAgIGlmIGV4dHJhX2RpciBhbmQgZXh0
cmFfZGlyICE9M0Qgb3MucGF0aC5ub3JtcGF0aChleHRyYV9kaXIpOgorICAgICAgICAgICAgbG9n
Lndhcm5pbmcoJ2V4dHJhX2RpciBpcyBub3Qgbm9ybWFsaXplZDogJXMnLCBleHRyYV9kaXIpCisg
ICAgICAgICAgICByYWlzZSBPYmplY3RJbnZhbGlkKCJUaGUgcmVxdWVzdGVkIG9iamVjdCBpcyBp
bnZhbGlkIikKKyAgICAgICAgIyBlbnN1cmUgdGhhdCBhbnkgcGFyZW50IGRpcmVjdG9yeSByZWZl
cmVuY2VzIGluIGFsdF9uYW1lIHdvdWxkIG5vdAorICAgICAgICAjIHJlc3VsdCBpbiBhIHBhdGgg
bm90IGNvbnRhaW5lZCBpbiB0aGUgZGlyZWN0b3J5IHBhdGggY29uc3RydWN0ZWQ9CiBoZXJlCisg
ICAgICAgIGlmIGFsdF9uYW1lOgorICAgICAgICAgICAgaWYgbm90IHNhZmVfcmVscGF0aChhbHRf
bmFtZSk6CisgICAgICAgICAgICAgICAgbG9nLndhcm5pbmcoJ2FsdF9uYW1lIHdvdWxkIGxvY2F0
ZSBwYXRoIG91dHNpZGUgZGlyOiAlcycsID0KYWx0X25hbWUpCisgICAgICAgICAgICAgICAgcmFp
c2UgT2JqZWN0SW52YWxpZCgiVGhlIHJlcXVlc3RlZCBvYmplY3QgaXMgaW52YWxpZCIpCisgICAg
ICAgICAgICAjIGFsdF9uYW1lIGNhbiBjb250YWluIHBhcmVudCBkaXJlY3RvcnkgcmVmZXJlbmNl
cywgYnV0IFMzIHdpbD0KbCBub3QKKyAgICAgICAgICAgICMgZm9sbG93IHRoZW0sIHNvIGlmIHRo
ZXkgYXJlIHZhbGlkIHdlIG5vcm1hbGl6ZSB0aGVtIG91dAorICAgICAgICAgICAgYWx0X25hbWUg
PTNEIG9zLnBhdGgubm9ybXBhdGgoYWx0X25hbWUpCiAgICAgICAgIHJlbF9wYXRoID0zRCBvcy5w
YXRoLmpvaW4oKmRpcmVjdG9yeV9oYXNoX2lkKG9iai5pZCkpCiAgICAgICAgIGlmIGV4dHJhX2Rp
ciBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlmIGV4dHJhX2Rpcl9hdF9yb290OgoKZGlmZiAt
ciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQz
NDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvZ2FsYXh5L3Rvb2xzL19faW5pdF9f
LnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvX19pbml0X18ucHkKKysrIGIvbGliL2dhbGF4eS90
b29scy9fX2luaXRfXy5weQpAQCAtMjAwMyw3ICsyMDAzLDcgQEAKICAgICAgICAgICAgICAgICBp
ZiBpc2luc3RhbmNlKCBpbnB1dCwgQ29uZGl0aW9uYWwgKToKICAgICAgICAgICAgICAgICAgICAg
Y29uZF9tZXNzYWdlcyA9M0Qge30KICAgICAgICAgICAgICAgICAgICAgaWYgbm90IGlucHV0Lmlz
X2pvYl9yZXNvdXJjZV9jb25kaXRpb25hbDoKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRf
bWVzc2FnZXMgPTNEIHsgaW5wdXQudGVzdF9wYXJhbS5uYW1lOiAiTm8gdmFsPQp1ZSBmb3VuZCBm
b3IgJyVzJXMnLCB1c2VkIGRlZmF1bHQiICUgKCBwcmVmaXgsIGlucHV0LmxhYmVsICkgfQorICAg
ICAgICAgICAgICAgICAgICAgICAgY29uZF9tZXNzYWdlcyA9M0QgeyBpbnB1dC50ZXN0X3BhcmFt
Lm5hbWU6ICJObyB2YWw9CnVlIGZvdW5kIGZvciAnJXMlcycsIHVzZWQgZGVmYXVsdCIgJSAoIHBy
ZWZpeCwgaW5wdXQudGVzdF9wYXJhbS5sYWJlbCApIH0KICAgICAgICAgICAgICAgICAgICAgICAg
IG1lc3NhZ2VzWyBpbnB1dC5uYW1lIF0gPTNEIGNvbmRfbWVzc2FnZXMKICAgICAgICAgICAgICAg
ICAgICAgdGVzdF92YWx1ZSA9M0QgaW5wdXQudGVzdF9wYXJhbS5nZXRfaW5pdGlhbF92YWx1ZSgg
dHJhPQpucywgY29udGV4dCApCiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY2FzZSA9M0Qg
aW5wdXQuZ2V0X2N1cnJlbnRfY2FzZSggdGVzdF92YWx1ZSwgdD0KcmFucyApCkBAIC0yMDE2LDYg
KzIwMTYsOSBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcF9kaWN0ID0zRCBkaWN0
KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlc1sgaW5wdXQubmFtZSBdLmFw
cGVuZCggcmVwX2RpY3QgKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY2hlY2tf
YW5kX3VwZGF0ZV9wYXJhbV92YWx1ZXNfaGVscGVyKCBpbnA9CnV0LmlucHV0cywge30sIHRyYW5z
LCByZXBfZGljdCwgY29udGV4dCwgcmVwX3ByZWZpeCwgYWxsb3dfd29ya2Zsb3dfcGFyYW1ldD0K
ZXJzPTNEYWxsb3dfd29ya2Zsb3dfcGFyYW1ldGVycyApCisgICAgICAgICAgICAgICAgZWxpZiBp
c2luc3RhbmNlKCBpbnB1dCwgU2VjdGlvbiApOgorICAgICAgICAgICAgICAgICAgICBtZXNzYWdl
c1sgaW5wdXQubmFtZSBdID0zRCB7fQorICAgICAgICAgICAgICAgICAgICBzZWxmLmNoZWNrX2Fu
ZF91cGRhdGVfcGFyYW1fdmFsdWVzX2hlbHBlciggaW5wdXQuaW5wdXQ9CnMsIHt9LCB0cmFucywg
bWVzc2FnZXNbIGlucHV0Lm5hbWUgXSwgY29udGV4dCwgcHJlZml4LCBhbGxvd193b3JrZmxvd19w
YXJhbT0KZXRlcnM9M0RhbGxvd193b3JrZmxvd19wYXJhbWV0ZXJzICkKICAgICAgICAgICAgICAg
ICBlbHNlOgogICAgICAgICAgICAgICAgICAgICBtZXNzYWdlc1sgaW5wdXQubmFtZSBdID0zRCAi
Tm8gdmFsdWUgZm91bmQgZm9yICclcyVzJyw9CiB1c2VkIGRlZmF1bHQiICUgKCBwcmVmaXgsIGlu
cHV0LmxhYmVsICkKICAgICAgICAgICAgICAgICB2YWx1ZXNbIGlucHV0Lm5hbWUgXSA9M0QgaW5w
dXQuZ2V0X2luaXRpYWxfdmFsdWUoIHRyYW5zLCBjPQpvbnRleHQgKQpAQCAtMjA0Myw2ICsyMDQ2
LDkgQEAKICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnQgPTNEIGdyb3VwX3ZhbHVlc1siX19jdXJyZW50X2Nhc2VfXyJdCiAgICAgICAgICAg
ICAgICAgICAgICAgICBzZWxmLmNoZWNrX2FuZF91cGRhdGVfcGFyYW1fdmFsdWVzX2hlbHBlcigg
aW5wdXQuYz0KYXNlc1tjdXJyZW50XS5pbnB1dHMsIGdyb3VwX3ZhbHVlcywgdHJhbnMsIG1lc3Nh
Z2VzLCBjb250ZXh0LCBwcmVmaXgsIGFsbG93PQpfd29ya2Zsb3dfcGFyYW1ldGVycz0zRGFsbG93
X3dvcmtmbG93X3BhcmFtZXRlcnMgKQorICAgICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSgg
aW5wdXQsIFNlY3Rpb24gKToKKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZXNbIGlucHV0Lm5h
bWUgXSA9M0Qge30KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jaGVja19hbmRfdXBkYXRlX3Bh
cmFtX3ZhbHVlc19oZWxwZXIoIGlucHV0LmlucHV0PQpzLCB2YWx1ZXNbIGlucHV0Lm5hbWUgXSwg
dHJhbnMsIG1lc3NhZ2VzWyBpbnB1dC5uYW1lIF0sIGNvbnRleHQsIHByZWZpeCwgYWw9Cmxvd193
b3JrZmxvd19wYXJhbWV0ZXJzPTNEYWxsb3dfd29ya2Zsb3dfcGFyYW1ldGVycyApCiAgICAgICAg
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgIyBSZWd1bGFyIHRvb2wgcGFyYW1l
dGVyLCBubyByZWN1cnNpb24gbmVlZGVkCiAgICAgICAgICAgICAgICAgICAgIHRyeToKCmRpZmYg
LXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0
MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS90b29scy9hY3Rpb25z
L19faW5pdF9fLnB5Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvYWN0aW9ucy9fX2luaXRfXy5weQor
KysgYi9saWIvZ2FsYXh5L3Rvb2xzL2FjdGlvbnMvX19pbml0X18ucHkKQEAgLTExMSw5ICsxMTEs
MTkgQEAKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSggaW5wdXQsIERhdGFDb2xsZWN0aW9u
VG9vbFBhcmFtZXRlciApOgogICAgICAgICAgICAgICAgIGlmIG5vdCB2YWx1ZToKICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICAgICAgZm9yIGksIHYgaW4gZW51bWVyYXRl
KCB2YWx1ZS5jb2xsZWN0aW9uLmRhdGFzZXRfaW5zdGFuY2VzID0KKToKKworICAgICAgICAgICAg
ICAgIGRhdGFzZXRfaW5zdGFuY2VzID0zRCBbXQorICAgICAgICAgICAgICAgIGlmIGhhc2F0dHIo
IHZhbHVlLCAnY2hpbGRfY29sbGVjdGlvbicgKToKKyAgICAgICAgICAgICAgICAgICAgIyBpZiB3
ZSBhcmUgbWFwcGluZyBhIGNvbGxlY3Rpb24gb3ZlciBhIHRvb2wsIHdlIG9ubHkgPQpyZXF1aXJl
IHRoZSBjaGlsZF9jb2xsZWN0aW9uCisgICAgICAgICAgICAgICAgICAgIGRhdGFzZXRfaW5zdGFu
Y2VzID0zRCB2YWx1ZS5jaGlsZF9jb2xsZWN0aW9uLmRhdGFzZXRfaT0KbnN0YW5jZXMKKyAgICAg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICAjIGVsc2UgdGhlIHRvb2wgdGFr
ZXMgYSBjb2xsZWN0aW9uIGFzIGlucHV0IHNvIHdlIG5lZWQ9CiBldmVyeXRoaW5nCisgICAgICAg
ICAgICAgICAgICAgIGRhdGFzZXRfaW5zdGFuY2VzID0zRCB2YWx1ZS5jb2xsZWN0aW9uLmRhdGFz
ZXRfaW5zdGFuYz0KZXMKKworICAgICAgICAgICAgICAgIGZvciBpLCB2IGluIGVudW1lcmF0ZSgg
ZGF0YXNldF9pbnN0YW5jZXMgKToKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9M0QgdgogICAg
ICAgICAgICAgICAgICAgICBjdXJyZW50X3VzZXJfcm9sZXMgPTNEIHRyYW5zLmdldF9jdXJyZW50
X3VzZXJfcm9sZXMoKQorCiAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCB0cmFucy5hcHAuc2Vj
dXJpdHlfYWdlbnQuY2FuX2FjY2Vzc19kYXRhc2V0KCBjdT0KcnJlbnRfdXNlcl9yb2xlcywgZGF0
YS5kYXRhc2V0ICk6CiAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oICJV
c2VyIGRvZXMgbm90IGhhdmUgcGVybWlzc2lvbiB0bz0KIHVzZSBhIGRhdGFzZXQgKCVzKSBwcm92
aWRlZCBmb3IgaW5wdXQuIiAlIGRhdGEuaWQgKQogICAgICAgICAgICAgICAgICAgICAjIFNraXBw
aW5nIGltcGxpY2l0IGNvbnZlcnNpb24gc3R1ZmYgZm9yIG5vdywgcmV2aXNpdCA9CmF0CkBAIC0y
MjQsNyArMjM0LDcgQEAKICAgICAgICAgY2hpbGRfZGF0YXNldF9uYW1lcyA9M0Qgc2V0KCkKICAg
ICAgICAgb2JqZWN0X3N0b3JlX3BvcHVsYXRvciA9M0QgT2JqZWN0U3RvcmVQb3B1bGF0b3IoIHRy
YW5zLmFwcCApCj0yMAotICAgICAgICBkZWYgaGFuZGxlX291dHB1dCggbmFtZSwgb3V0cHV0ICk6
CisgICAgICAgIGRlZiBoYW5kbGVfb3V0cHV0KCBuYW1lLCBvdXRwdXQsIGhpZGRlbj0zRE5vbmUg
KToKICAgICAgICAgICAgIGlmIG91dHB1dC5wYXJlbnQ6CiAgICAgICAgICAgICAgICAgcGFyZW50
X3RvX2NoaWxkX3BhaXJzLmFwcGVuZCggKCBvdXRwdXQucGFyZW50LCBuYW1lICkgKQogICAgICAg
ICAgICAgICAgIGNoaWxkX2RhdGFzZXRfbmFtZXMuYWRkKCBuYW1lICkKQEAgLTI0MCw3ICsyNTAs
OSBAQAogICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBleHQgPTNEIGRldGVybWlu
ZV9vdXRwdXRfZm9ybWF0KCBvdXRwdXQsIHdyYXBwZWRfcGFyYW1zLnBhPQpyYW1zLCBpbnBfZGF0
YSwgaW5wdXRfZXh0ICkKICAgICAgICAgICAgICAgICBkYXRhID0zRCB0cmFucy5hcHAubW9kZWwu
SGlzdG9yeURhdGFzZXRBc3NvY2lhdGlvbiggZXh0ZW5zPQppb249M0RleHQsIGNyZWF0ZV9kYXRh
c2V0PTNEVHJ1ZSwgc2Ffc2Vzc2lvbj0zRHRyYW5zLnNhX3Nlc3Npb24gKQotICAgICAgICAgICAg
ICAgIGlmIG91dHB1dC5oaWRkZW46CisgICAgICAgICAgICAgICAgaWYgaGlkZGVuIGlzIE5vbmU6
CisgICAgICAgICAgICAgICAgICAgIGhpZGRlbiA9M0Qgb3V0cHV0LmhpZGRlbgorICAgICAgICAg
ICAgICAgIGlmIGhpZGRlbjoKICAgICAgICAgICAgICAgICAgICAgZGF0YS52aXNpYmxlID0zRCBG
YWxzZQogICAgICAgICAgICAgICAgICMgQ29tbWl0IHRoZSBkYXRhc2V0IGltbWVkaWF0ZWx5IHNv
IGl0IGdldHMgZGF0YWJhc2UgYXNzaWc9Cm5lZCB1bmlxdWUgaWQKICAgICAgICAgICAgICAgICB0
cmFucy5zYV9zZXNzaW9uLmFkZCggZGF0YSApCkBAIC0zMTgsNyArMzMwLDEwIEBACiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9lbGVtZW50X2lkZW50aWZpZXJzID0zRCBjdXJy
ZW50X2VsZW1lbj0KdF9pZGVudGlmaWVyc1sgaW5kZXggXVsgImVsZW1lbnRfaWRlbnRpZmllcnMi
IF0KPTIwCiAgICAgICAgICAgICAgICAgICAgICAgICBlZmZlY3RpdmVfb3V0cHV0X25hbWUgPTNE
IG91dHB1dF9wYXJ0X2RlZi5lZmZlY3Rpdj0KZV9vdXRwdXRfbmFtZQotICAgICAgICAgICAgICAg
ICAgICAgICAgZWxlbWVudCA9M0QgaGFuZGxlX291dHB1dCggZWZmZWN0aXZlX291dHB1dF9uYW1l
LCA9Cm91dHB1dF9wYXJ0X2RlZi5vdXRwdXRfZGVmICkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGVsZW1lbnQgPTNEIGhhbmRsZV9vdXRwdXQoIGVmZmVjdGl2ZV9vdXRwdXRfbmFtZSwgPQpvdXRw
dXRfcGFydF9kZWYub3V0cHV0X2RlZiwgaGlkZGVuPTNEVHJ1ZSApCisgICAgICAgICAgICAgICAg
ICAgICAgICAjIFRPRE86IHRoaXMgc2hvdWxkbid0IGV4aXN0IGluIHRoZSB0b3AtbGV2ZWwgb2Yg
dD0KaGUgaGlzdG9yeSBhdCBhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICMgYnV0IGZvciBu
b3cgd2UgYXJlIHN0aWxsIHdvcmtpbmcgYXJvdW5kIHRoYXQgYnkgPQpoaWRpbmcgdGhlIGNvbnRl
bnRzCisgICAgICAgICAgICAgICAgICAgICAgICAjIHRoZXJlLgogICAgICAgICAgICAgICAgICAg
ICAgICAgIyBGb2xsb3dpbmcgaGFjayBjYXVzZXMgZGF0YXNldCB0byBubyBiZSBhZGRlZCB0byA9
Cmhpc3RvcnkuLi4KICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkX2RhdGFzZXRfbmFtZXMu
YWRkKCBlZmZlY3RpdmVfb3V0cHV0X25hbWUgKQo9MjAKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1
N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJk
ZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS90b29scy9pbXBfZXhwL19faW5pdF9fLnB5Ci0tLSBh
L2xpYi9nYWxheHkvdG9vbHMvaW1wX2V4cC9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L3Rv
b2xzL2ltcF9leHAvX19pbml0X18ucHkKQEAgLTEwLDYgKzEwLDcgQEAKIGZyb20gc3FsYWxjaGVt
eS5vcm0gaW1wb3J0IGVhZ2VybG9hZCwgZWFnZXJsb2FkX2FsbAo9MjAKIGZyb20gZ2FsYXh5IGlt
cG9ydCBtb2RlbAorZnJvbSBnYWxheHkuZXhjZXB0aW9ucyBpbXBvcnQgTWFsZm9ybWVkQ29udGVu
dHMKIGZyb20gZ2FsYXh5Lm1vZGVsLml0ZW1fYXR0cnMgaW1wb3J0IFVzZXNBbm5vdGF0aW9ucwog
ZnJvbSBnYWxheHkudG9vbHMucGFyYW1ldGVycy5iYXNpYyBpbXBvcnQgVW52YWxpZGF0ZWRWYWx1
ZQogZnJvbSBnYWxheHkudXRpbC5qc29uIGltcG9ydCBkdW1wcywgbG9hZHMKQEAgLTE3MCw5ICsx
NzEsOSBAQAogICAgICAgICAgICAgICAgICAgICBpZiBkYXRhc2V0X2F0dHJzLmdldCgnZXhwb3J0
ZWQnLCBUcnVlKSBpcyBUcnVlOgogICAgICAgICAgICAgICAgICAgICAgICAgIyBEbyBzZWN1cml0
eSBjaGVjayBhbmQgbW92ZS9jb3B5IGRhdGFzZXQgZGF0YS4KICAgICAgICAgICAgICAgICAgICAg
ICAgIHRlbXBfZGF0YXNldF9maWxlX25hbWUgPTNEIFwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvcy5wYXRoLmFic3BhdGgoIG9zLnBhdGguam9pbiggYXJjaGl2ZV9kaXIsIGRhPQp0YXNl
dF9hdHRyc1snZmlsZV9uYW1lJ10gKSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3Mu
cGF0aC5yZWFscGF0aCggb3MucGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaT0KbiggYXJjaGl2ZV9k
aXIsIGRhdGFzZXRfYXR0cnNbJ2ZpbGVfbmFtZSddICkgKSApCiAgICAgICAgICAgICAgICAgICAg
ICAgICBpZiBub3QgZmlsZV9pbl9kaXIoIHRlbXBfZGF0YXNldF9maWxlX25hbWUsIG9zLnBhdD0K
aC5qb2luKCBhcmNoaXZlX2RpciwgImRhdGFzZXRzIiApICk6Ci0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCAiSW52YWxpZCBkYXRhc2V0IHBhdGg6ICVzIiAlID0K
dGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFp
c2UgTWFsZm9ybWVkQ29udGVudHMoICJJbnZhbGlkIGRhdGFzZXQgcGF0aD0KOiAlcyIgJSB0ZW1w
X2RhdGFzZXRfZmlsZV9uYW1lICkKICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGRhdGFzZXRz
X3VzYWdlX2NvdW50c1sgdGVtcF9kYXRhc2V0X2ZpbGVfbmFtZSBdPQogPTNEPTNEIDE6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hcHAub2JqZWN0X3N0b3JlLnVwZGF0ZV9mcm9t
X2ZpbGUoIGhkYS5kYT0KdGFzZXQsIGZpbGVfbmFtZT0zRHRlbXBfZGF0YXNldF9maWxlX25hbWUs
IGNyZWF0ZT0zRFRydWUgKQo9MjAKQEAgLTMwOSw2ICszMTAsNyBAQAogICAgICAgICAgICAgZXhj
ZXB0IEV4Y2VwdGlvbiwgZToKICAgICAgICAgICAgICAgICBqaWhhLmpvYi5zdGRlcnIgKz0zRCAi
RXJyb3IgY2xlYW5pbmcgdXAgaGlzdG9yeSBpbXBvcnQgam9iPQo6ICVzIiAlIGUKICAgICAgICAg
ICAgICAgICBzZWxmLnNhX3Nlc3Npb24uZmx1c2goKQorICAgICAgICAgICAgICAgIHJhaXNlCj0y
MAo9MjAKIGNsYXNzIEpvYkV4cG9ydEhpc3RvcnlBcmNoaXZlV3JhcHBlciggb2JqZWN0LCBVc2Vz
QW5ub3RhdGlvbnMgKToKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBj
NTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGli
L2dhbGF4eS90b29scy9pbXBfZXhwL3VucGFja190YXJfZ3pfYXJjaGl2ZS5weQotLS0gYS9saWIv
Z2FsYXh5L3Rvb2xzL2ltcF9leHAvdW5wYWNrX3Rhcl9nel9hcmNoaXZlLnB5CisrKyBiL2xpYi9n
YWxheHkvdG9vbHMvaW1wX2V4cC91bnBhY2tfdGFyX2d6X2FyY2hpdmUucHkKQEAgLTYsNiArNiw3
IEBACiAgICAgLS1bdXJsfGZpbGVdIHNvdXJjZSB0eXBlLCBlaXRoZXIgYSBVUkwgb3IgYSBmaWxl
LgogIiIiCj0yMAoraW1wb3J0IG9zCiBpbXBvcnQgc3lzCiBpbXBvcnQgb3B0cGFyc2UKIGltcG9y
dCB0YXJmaWxlCkBAIC00Myw2ICs0NCwyMiBAQAogICAgICAgICByZXR1cm4gTm9uZQo9MjAKPTIw
CitkZWYgY2hlY2tfYXJjaGl2ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApOgorICAgICIiIgor
ICAgIEVuc3VyZSB0aGF0IGEgdGFyIGFyY2hpdmUgaGFzIG5vIGFic29sdXRlIHBhdGhzIG9yIHJl
bGF0aXZlIHBhdGhzIG91dHM9CmlkZQorICAgIHRoZSBhcmNoaXZlLgorICAgICIiIgorICAgIHdp
dGggdGFyZmlsZS5vcGVuKCBhcmNoaXZlX2ZpbGUsIG1vZGU9M0QncjpneicgKSBhcyBhcmNoaXZl
X2ZwOgorICAgICAgICBmb3IgYXJjX3BhdGggaW4gYXJjaGl2ZV9mcC5nZXRuYW1lcygpOgorICAg
ICAgICAgICAgYXNzZXJ0IG9zLnBhdGgubm9ybXBhdGgoCisgICAgICAgICAgICAgICAgb3MucGF0
aC5qb2luKAorICAgICAgICAgICAgICAgICAgICBkZXN0X2RpciwKKyAgICAgICAgICAgICAgICAg
ICAgYXJjX3BhdGgKKyAgICAgICAgICAgICAgICApICkuc3RhcnRzd2l0aCggZGVzdF9kaXIucnN0
cmlwKG9zLnNlcCkgKyBvcy5zZXAgKSwgXAorICAgICAgICAgICAgICAgICJBcmNoaXZlIG1lbWJl
ciB3b3VsZCBleHRyYWN0IG91dHNpZGUgdGFyZ2V0IGRpcmVjdG9yeTogJXM9CiIgJSBhcmNfcGF0
aAorICAgIHJldHVybiBUcnVlCisKKwogZGVmIHVucGFja19hcmNoaXZlKCBhcmNoaXZlX2ZpbGUs
IGRlc3RfZGlyICk6CiAgICAgIiIiCiAgICAgVW5wYWNrIGEgdGFyIGFuZC9vciBnemlwcGVkIGFy
Y2hpdmUgaW50byBhIGRlc3RpbmF0aW9uIGRpcmVjdG9yeS4KQEAgLTUxLDEzICs2OCw4IEBACiAg
ICAgYXJjaGl2ZV9mcC5leHRyYWN0YWxsKCBwYXRoPTNEZGVzdF9kaXIgKQogICAgIGFyY2hpdmVf
ZnAuY2xvc2UoKQo9MjAKLWlmIF9fbmFtZV9fID0zRD0zRCAiX19tYWluX18iOgotICAgICMgUGFy
c2UgY29tbWFuZCBsaW5lLgotICAgIHBhcnNlciA9M0Qgb3B0cGFyc2UuT3B0aW9uUGFyc2VyKCkK
LSAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1VJywgJy0tdXJsJywgZGVzdD0zRCdpc191cmwnLCBh
Y3Rpb249M0Qic3RvcmVfdHJ1PQplIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCi0gICAg
cGFyc2VyLmFkZF9vcHRpb24oICctRicsICctLWZpbGUnLCBkZXN0PTNEJ2lzX2ZpbGUnLCBhY3Rp
b249M0Qic3RvcmVfdD0KcnVlIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCi0gICAgcGFy
c2VyLmFkZF9vcHRpb24oICctZScsICctLWVuY29kZWQnLCBkZXN0PTNEJ2lzX2I2NGVuY29kZWQn
LCBhY3Rpb249Cj0zRCJzdG9yZV90cnVlIiwgZGVmYXVsdD0zREZhbHNlLCBoZWxwPTNEJ1NvdXJj
ZSBhbmQgZGVzdGluYXRpb24gZGlyIHZhbHVlcz0KIGFyZSBiYXNlNjQgZW5jb2RlZC4nICkKLSAg
ICAob3B0aW9ucywgYXJncykgPTNEIHBhcnNlci5wYXJzZV9hcmdzKCkKKworZGVmIG1haW4ob3B0
aW9ucywgYXJncyk6CiAgICAgaXNfdXJsID0zRCBib29sKCBvcHRpb25zLmlzX3VybCApCiAgICAg
aXNfZmlsZSA9M0QgYm9vbCggb3B0aW9ucy5pc19maWxlICkKICAgICBhcmNoaXZlX3NvdXJjZSwg
ZGVzdF9kaXIgPTNEIGFyZ3MKQEAgLTY2LDE0ICs3OCwyNSBAQAogICAgICAgICBhcmNoaXZlX3Nv
dXJjZSA9M0QgYjY0ZGVjb2RlKCBhcmNoaXZlX3NvdXJjZSApCiAgICAgICAgIGRlc3RfZGlyID0z
RCBiNjRkZWNvZGUoIGRlc3RfZGlyICkKPTIwCisgICAgIyBHZXQgYXJjaGl2ZSBmcm9tIFVSTC4K
KyAgICBpZiBpc191cmw6CisgICAgICAgIGFyY2hpdmVfZmlsZSA9M0QgdXJsX3RvX2ZpbGUoIGFy
Y2hpdmVfc291cmNlLCB0ZW1wZmlsZS5OYW1lZFRlbXBvcj0KYXJ5RmlsZSggZGlyPTNEZGVzdF9k
aXIgKS5uYW1lICkKKyAgICBlbGlmIGlzX2ZpbGU6CisgICAgICAgIGFyY2hpdmVfZmlsZSA9M0Qg
YXJjaGl2ZV9zb3VyY2UKKworICAgICMgVW5wYWNrIGFyY2hpdmUuCisgICAgY2hlY2tfYXJjaGl2
ZSggYXJjaGl2ZV9maWxlLCBkZXN0X2RpciApCisgICAgdW5wYWNrX2FyY2hpdmUoIGFyY2hpdmVf
ZmlsZSwgZGVzdF9kaXIgKQorCisKK2lmIF9fbmFtZV9fID0zRD0zRCAiX19tYWluX18iOgorICAg
ICMgUGFyc2UgY29tbWFuZCBsaW5lLgorICAgIHBhcnNlciA9M0Qgb3B0cGFyc2UuT3B0aW9uUGFy
c2VyKCkKKyAgICBwYXJzZXIuYWRkX29wdGlvbiggJy1VJywgJy0tdXJsJywgZGVzdD0zRCdpc191
cmwnLCBhY3Rpb249M0Qic3RvcmVfdHJ1PQplIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyAp
CisgICAgcGFyc2VyLmFkZF9vcHRpb24oICctRicsICctLWZpbGUnLCBkZXN0PTNEJ2lzX2ZpbGUn
LCBhY3Rpb249M0Qic3RvcmVfdD0KcnVlIiwgaGVscD0zRCdTb3VyY2UgaXMgYSBVUkwuJyApCisg
ICAgcGFyc2VyLmFkZF9vcHRpb24oICctZScsICctLWVuY29kZWQnLCBkZXN0PTNEJ2lzX2I2NGVu
Y29kZWQnLCBhY3Rpb249Cj0zRCJzdG9yZV90cnVlIiwgZGVmYXVsdD0zREZhbHNlLCBoZWxwPTNE
J1NvdXJjZSBhbmQgZGVzdGluYXRpb24gZGlyIHZhbHVlcz0KIGFyZSBiYXNlNjQgZW5jb2RlZC4n
ICkKKyAgICAob3B0aW9ucywgYXJncykgPTNEIHBhcnNlci5wYXJzZV9hcmdzKCkKICAgICB0cnk6
Ci0gICAgICAgICMgR2V0IGFyY2hpdmUgZnJvbSBVUkwuCi0gICAgICAgIGlmIGlzX3VybDoKLSAg
ICAgICAgICAgIGFyY2hpdmVfZmlsZSA9M0QgdXJsX3RvX2ZpbGUoIGFyY2hpdmVfc291cmNlLCB0
ZW1wZmlsZS5OYW1lZFRlPQptcG9yYXJ5RmlsZSggZGlyPTNEZGVzdF9kaXIgKS5uYW1lICkKLSAg
ICAgICAgZWxpZiBpc19maWxlOgotICAgICAgICAgICAgYXJjaGl2ZV9maWxlID0zRCBhcmNoaXZl
X3NvdXJjZQotCi0gICAgICAgICMgVW5wYWNrIGFyY2hpdmUuCi0gICAgICAgIHVucGFja19hcmNo
aXZlKCBhcmNoaXZlX2ZpbGUsIGRlc3RfZGlyICkKKyAgICAgICAgbWFpbihvcHRpb25zLCBhcmdz
KQogICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CiAgICAgICAgIHByaW50ICJFcnJvciB1bnBhY2tp
bmcgdGFyL2d6IGFyY2hpdmU6ICVzIiAlIGUsIHN5cy5zdGRlcnIKCmRpZmYgLXIgZDYyZjNlNTBi
NTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0
Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS90b29scy9wYXJhbWV0ZXJzL2Jhc2ljLnB5
Ci0tLSBhL2xpYi9nYWxheHkvdG9vbHMvcGFyYW1ldGVycy9iYXNpYy5weQorKysgYi9saWIvZ2Fs
YXh5L3Rvb2xzL3BhcmFtZXRlcnMvYmFzaWMucHkKQEAgLTIxNjYsMTQgKzIxNjYsMTUgQEAKICAg
ICAgICAgbXVsdGlwbGUgPTNEIHNlbGYubXVsdGlwbGUKPTIwCiAgICAgICAgICMgYWRkIGRhdGFz
ZXRzCisgICAgICAgIHZpc2libGVfaGRhID0zRCBvdGhlcl92YWx1ZXMuZ2V0KCBzZWxmLm5hbWUg
KQogICAgICAgICBmb3IgaGRhIGluIGhpc3RvcnkuYWN0aXZlX2RhdGFzZXRzX2NoaWxkcmVuX2Fu
ZF9yb2xlczoKLSAgICAgICAgICAgIG1hdGNoID0zRCBkYXRhc2V0X21hdGNoZXIuaGRhX21hdGNo
KCBoZGEgKQorICAgICAgICAgICAgbWF0Y2ggPTNEIGRhdGFzZXRfbWF0Y2hlci5oZGFfbWF0Y2go
IGhkYSwgZW5zdXJlX3Zpc2libGU9M0R2aXM9CmlibGVfaGRhICE9M0QgaGRhICkKICAgICAgICAg
ICAgIGlmIG1hdGNoOgogICAgICAgICAgICAgICAgIG0gPTNEIG1hdGNoLmhkYQogICAgICAgICAg
ICAgICAgIGRbJ29wdGlvbnMnXVsnaGRhJ10uYXBwZW5kKHsKICAgICAgICAgICAgICAgICAgICAg
J2lkJyAgICAgICAgICAgIDogdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBtLmlkICksCiAgICAg
ICAgICAgICAgICAgICAgICdoaWQnICAgICAgICAgICA6IG0uaGlkLAotICAgICAgICAgICAgICAg
ICAgICAnbmFtZScgICAgICAgICAgOiBtLm5hbWUsCisgICAgICAgICAgICAgICAgICAgICduYW1l
JyAgICAgICAgICA6IG0ubmFtZSBpZiBtLnZpc2libGUgZWxzZSAnKGhpZGRlbikgJT0KcycgJSBt
Lm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICdzcmMnICAgICAgICAgICA6ICdoZGEnCiAgICAg
ICAgICAgICAgICAgfSkKPTIwCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJj
NDEwYzU1NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1
IGxpYi9nYWxheHkvdG9vbHMvcGFyc2VyL3htbC5weQotLS0gYS9saWIvZ2FsYXh5L3Rvb2xzL3Bh
cnNlci94bWwucHkKKysrIGIvbGliL2dhbGF4eS90b29scy9wYXJzZXIveG1sLnB5CkBAIC0zMDYs
NiArMzA2LDcgQEAKICAgICAgICAgc3RkZXJyPTNEX19wYXJzZV9hc3NlcnRfbGlzdF9mcm9tX2Vs
ZW0oIHRlc3RfZWxlbS5maW5kKCJhc3NlcnRfc3RkPQplcnIiKSApLAogICAgICAgICBleHBlY3Rf
ZXhpdF9jb2RlPTNEdGVzdF9lbGVtLmdldCgiZXhwZWN0X2V4aXRfY29kZSIpLAogICAgICAgICBl
eHBlY3RfZmFpbHVyZT0zRHN0cmluZ19hc19ib29sKHRlc3RfZWxlbS5nZXQoImV4cGVjdF9mYWls
dXJlIiwgRmE9CmxzZSkpLAorICAgICAgICBtYXhzZWNvbmRzPTNEdGVzdF9lbGVtLmdldCgibWF4
c2Vjb25kcyIsIE5vbmUpLAogICAgICkKICAgICBfY29weV90b19kaWN0X2lmX3ByZXNlbnQodGVz
dF9lbGVtLCBydmFsLCBbImludGVyYWN0b3IiLCAibnVtX291dHB1dHMiPQpdKQogICAgIHJldHVy
biBydmFsCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEg
LXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkv
dG9vbHMvdGVzdC5weQotLS0gYS9saWIvZ2FsYXh5L3Rvb2xzL3Rlc3QucHkKKysrIGIvbGliL2dh
bGF4eS90b29scy90ZXN0LnB5CkBAIC0xNCw3ICsxNCw3IEBACiBERUZBVUxUX0ZUWVBFID0zRCAn
YXV0bycKIERFRkFVTFRfREJLRVkgPTNEICdoZzE3JwogREVGQVVMVF9JTlRFUkFDVE9SID0zRCAi
YXBpIiAgIyBEZWZhdWx0IG1lY2hhbmlzbSB0ZXN0IGNvZGUgdXNlcyBmb3IgaW50ZXI9CmFjdGlu
ZyB3aXRoIEdhbGF4eSBpbnN0YW5jZS4KLURFRkFVTFRfTUFYX1NFQ1MgPTNEIDEyMAorREVGQVVM
VF9NQVhfU0VDUyA9M0QgTm9uZQo9MjAKPTIwCiBAbm90dGVzdApAQCAtNDIsNyArNDIsOSBAQAo9
MjAKICAgICBkZWYgX19pbml0X18oIHNlbGYsIHRvb2wsIHRlc3RfZGljdCwgaSwgZGVmYXVsdF9p
bnRlcmFjdG9yICk6CiAgICAgICAgIG5hbWUgPTNEIHRlc3RfZGljdC5nZXQoICduYW1lJywgJ1Rl
c3QtJWQnICUgKGkgKyAxKSApCi0gICAgICAgIG1heHNlY29uZHMgPTNEIGludCggdGVzdF9kaWN0
LmdldCggJ21heHNlY29uZHMnLCBERUZBVUxUX01BWF9TRUNTID0KKSApCisgICAgICAgIG1heHNl
Y29uZHMgPTNEIHRlc3RfZGljdC5nZXQoICdtYXhzZWNvbmRzJywgREVGQVVMVF9NQVhfU0VDUyAp
CisgICAgICAgIGlmIG1heHNlY29uZHMgaXMgbm90IE5vbmU6CisgICAgICAgICAgICBtYXhzZWNv
bmRzID0zRCBpbnQoIG1heHNlY29uZHMgKQo9MjAKICAgICAgICAgc2VsZi50b29sID0zRCB0b29s
CiAgICAgICAgIHNlbGYubmFtZSA9M0QgbmFtZQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5
NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIx
ZTE5YTk3YWE1NSBsaWIvZ2FsYXh5L3Rvb2xzL3Rvb2xib3gvYmFzZS5weQotLS0gYS9saWIvZ2Fs
YXh5L3Rvb2xzL3Rvb2xib3gvYmFzZS5weQorKysgYi9saWIvZ2FsYXh5L3Rvb2xzL3Rvb2xib3gv
YmFzZS5weQpAQCAtNiw4ICs2LDYgQEAKIGltcG9ydCB0ZW1wZmlsZQo9MjAKIGZyb20gZ2FsYXh5
IGltcG9ydCBlZ2dzCi1lZ2dzLnJlcXVpcmUoICJTUUxBbGNoZW15ID49M0QgMC40IiApCi1mcm9t
IHNxbGFsY2hlbXkgaW1wb3J0IGFuZF8KIGVnZ3MucmVxdWlyZSggIk1hcmt1cFNhZmUiICkKIGZy
b20gbWFya3Vwc2FmZSBpbXBvcnQgZXNjYXBlCj0yMApAQCAtMTksNyArMTcsNyBAQAogZnJvbSBn
YWxheHkudXRpbCBpbXBvcnQgc3RyaW5nX2FzX2Jvb2wKIGZyb20gZ2FsYXh5LnV0aWwuYnVuY2gg
aW1wb3J0IEJ1bmNoCj0yMAotZnJvbSB0b29sX3NoZWQudXRpbCBpbXBvcnQgY29tbW9uX3V0aWwK
K2Zyb20gdG9vbF9zaGVkLnV0aWwgaW1wb3J0IHNoZWRfdXRpbF9jb21tb24KPTIwCiBmcm9tIC5w
YW5lbCBpbXBvcnQgVG9vbFBhbmVsRWxlbWVudHMKIGZyb20gLnBhbmVsIGltcG9ydCBUb29sU2Vj
dGlvbkxhYmVsCkBAIC00NDksMTYgKzQ0Nyw2IEBACiAgICAgZGVmIHRvb2xzKCBzZWxmICk6CiAg
ICAgICAgIHJldHVybiBzZWxmLl90b29sc19ieV9pZC5pdGVyaXRlbXMoKQo9MjAKLSAgICBkZWYg
X19nZXRfdG9vbF9zaGVkX3JlcG9zaXRvcnkoIHNlbGYsIHRvb2xfc2hlZCwgbmFtZSwgb3duZXIs
IGluc3RhbGxlPQpkX2NoYW5nZXNldF9yZXZpc2lvbiApOgotICAgICAgICAjIFdlIHN0b3JlIG9u
bHkgdGhlIHBvcnQsIGlmIG9uZSBleGlzdHMsIGluIHRoZSBkYXRhYmFzZS4KLSAgICAgICAgdG9v
bF9zaGVkID0zRCBjb21tb25fdXRpbC5yZW1vdmVfcHJvdG9jb2xfZnJvbV90b29sX3NoZWRfdXJs
KCB0b29sPQpfc2hlZCApCi0gICAgICAgIHJldHVybiBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLmNv
bnRleHQucXVlcnkoIHNlbGYuYXBwLmluc3RhbGxfbW9kZT0KbC5Ub29sU2hlZFJlcG9zaXRvcnkg
KSBcCi0gICAgICAgICAgICAuZmlsdGVyKCBhbmRfKCBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRv
b2xTaGVkUmVwb3NpdG9yeS50YWJsZT0KLmMudG9vbF9zaGVkID0zRD0zRCB0b29sX3NoZWQsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFwcC5pbnN0YWxsX21vZGVsLlRvb2xTaGVk
UmVwb3NpdG9yeS50YWJsZT0KLmMubmFtZSA9M0Q9M0QgbmFtZSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHNlbGYuYXBwLmluc3RhbGxfbW9kZWwuVG9vbFNoZWRSZXBvc2l0b3J5LnRhYmxl
PQouYy5vd25lciA9M0Q9M0Qgb3duZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm
LmFwcC5pbnN0YWxsX21vZGVsLlRvb2xTaGVkUmVwb3NpdG9yeS50YWJsZT0KLmMuaW5zdGFsbGVk
X2NoYW5nZXNldF9yZXZpc2lvbiA9M0Q9M0QgaW5zdGFsbGVkX2NoYW5nZXNldF9yZXZpc2lvbiAp
ICkgXAotICAgICAgICAgICAgLmZpcnN0KCkKLQogICAgIGRlZiBnZXRfdG9vbF9jb21wb25lbnRz
KCBzZWxmLCB0b29sX2lkLCB0b29sX3ZlcnNpb249M0ROb25lLCBnZXRfbG9hZGU9CmRfdG9vbHNf
YnlfbGluZWFnZT0zREZhbHNlLCBzZXRfc2VsZWN0ZWQ9M0RGYWxzZSApOgogICAgICAgICAiIiIK
ICAgICAgICAgUmV0cmlldmUgYWxsIGxvYWRlZCB2ZXJzaW9ucyBvZiBhIHRvb2wgZnJvbSB0aGUg
dG9vbGJveCBhbmQgcmV0dXJuPQogYSBzZWxlY3QgbGlzdCBlbmFibGluZwpAQCAtNTg4LDEwICs1
NzYsMjUgQEAKICAgICAgICAgICAgICAgICAgICAgIyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGlz
c3VlIC0gdGhlIHRhZyB1c2VkIHRvIGJlIG5hPQptZWQgJ2NoYW5nZXNldF9yZXZpc2lvbicuCiAg
ICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZF9jaGFuZ2VzZXRfcmV2aXNpb25fZWxlbSA9M0Qg
ZWxlbS5maW5kKCAiY2hhbj0KZ2VzZXRfcmV2aXNpb24iICkKICAgICAgICAgICAgICAgICBpbnN0
YWxsZWRfY2hhbmdlc2V0X3JldmlzaW9uID0zRCBpbnN0YWxsZWRfY2hhbmdlc2V0X3JldmlzPQpp
b25fZWxlbS50ZXh0Ci0gICAgICAgICAgICAgICAgdG9vbF9zaGVkX3JlcG9zaXRvcnkgPTNEIHNl
bGYuX19nZXRfdG9vbF9zaGVkX3JlcG9zaXRvcnkoID0KdG9vbF9zaGVkLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmU9CnBvc2l0b3J5X25hbWUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZT0KcG9zaXRvcnlfb3duZXIs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbj0Kc3RhbGxlZF9jaGFuZ2VzZXRfcmV2aXNpb24gKQorICAgICAg
ICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3BsaXR0ZWRfcGF0aCA9M0QgcGF0
aC5zcGxpdCgnLycpCisgICAgICAgICAgICAgICAgICAgIGFzc2VydCBzcGxpdHRlZF9wYXRoWzBd
ID0zRD0zRCB0b29sX3NoZWQKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IHNwbGl0dGVkX3Bh
dGhbMl0gPTNEPTNEIHJlcG9zaXRvcnlfb3duZXIKKyAgICAgICAgICAgICAgICAgICAgYXNzZXJ0
IHNwbGl0dGVkX3BhdGhbM10gPTNEPTNEIHJlcG9zaXRvcnlfbmFtZQorICAgICAgICAgICAgICAg
ICAgICBpZiBzcGxpdHRlZF9wYXRoWzRdICE9M0QgaW5zdGFsbGVkX2NoYW5nZXNldF9yZXZpc2lv
bjoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgVGhpcyBjYW4gaGFwcGVuIGlmIHRoZSBUb29s
IFNoZWQgcmVwb3NpdG9yeSBoYXMgPQpiZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAjIHVw
ZGF0ZWQgdG8gYSBuZXcgcmV2aXNpb24gYW5kIHRoZSBpbnN0YWxsZWRfY2hhbj0KZ2VzZXRfcmV2
aXNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICMgZWxlbWVudCBpbiBzaGVkX3Rvb2xfY29u
Zi54bWwgZmlsZSBoYXMgYmVlbiB1cGRhPQp0ZWQgdG9vCisgICAgICAgICAgICAgICAgICAgICAg
ICBsb2cuZGVidWcoIlRoZSBpbnN0YWxsZWRfY2hhbmdlc2V0X3JldmlzaW9uIGZvciB0bz0Kb2wg
JXMgaXMgJXMsIHVzaW5nICVzIGluc3RlYWQiLCBwYXRoLCBpbnN0YWxsZWRfY2hhbmdlc2V0X3Jl
dmlzaW9uLCBzcGxpdHRlPQpkX3BhdGhbNF0pCisgICAgICAgICAgICAgICAgICAgICAgICBpbnN0
YWxsZWRfY2hhbmdlc2V0X3JldmlzaW9uID0zRCBzcGxpdHRlZF9wYXRoWzRdCisgICAgICAgICAg
ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICBsb2cuZGVi
dWcoIkVycm9yIHdoaWxlIGxvYWRpbmcgdG9vbCAlcyA6ICVzIiwgcGF0aCwgZSkKKyAgICAgICAg
ICAgICAgICAgICAgcGFzcworICAgICAgICAgICAgICAgIHRvb2xfc2hlZF9yZXBvc2l0b3J5ID0z
RCBzaGVkX3V0aWxfY29tbW9uLmdldF9pbnN0YWxsZWRfcmU9CnBvc2l0b3J5KHNlbGYuYXBwLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA9CiAgICAgICB0b29sX3NoZWQ9M0R0b29sX3NoZWQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgID0KICAgICAgIG5hbWU9M0RyZXBvc2l0b3J5X25hbWUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgID0KICAgICAgIG93bmVyPTNEcmVwb3NpdG9yeV9vd25lciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PQogICAgICAgaW5zdGFsbGVkX2NoYW5nZXNldF9yZXZpc2lvbj0zRGluc3RhbGxlZF9jaGFuZ2Vz
ZXRfcmV2aXNpb24pCj0yMAogICAgICAgICAgICAgICAgIGlmIHRvb2xfc2hlZF9yZXBvc2l0b3J5
OgogICAgICAgICAgICAgICAgICAgICAjIE9ubHkgbG9hZCB0b29scyBpZiB0aGUgcmVwb3NpdG9y
eSBpcyBub3QgZGVhY3RpdmF0ZWQ9CiBvciB1bmluc3RhbGxlZC4KCmRpZmYgLXIgZDYyZjNlNTBi
NTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0
Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS91dGlsL19faW5pdF9fLnB5Ci0tLSBhL2xp
Yi9nYWxheHkvdXRpbC9fX2luaXRfXy5weQorKysgYi9saWIvZ2FsYXh5L3V0aWwvX19pbml0X18u
cHkKQEAgLTI5LDcgKzI5LDcgQEAKPTIwCiBmcm9tIGVtYWlsLk1JTUVUZXh0IGltcG9ydCBNSU1F
VGV4dAo9MjAKLWZyb20gb3MucGF0aCBpbXBvcnQgcmVscGF0aAorZnJvbSBvcy5wYXRoIGltcG9y
dCByZWxwYXRoLCBub3JtcGF0aAogZnJvbSBoYXNobGliIGltcG9ydCBtZDUKIGZyb20gaXRlcnRv
b2xzIGltcG9ydCBpemlwCj0yMApAQCAtMzUyLDcgKzM1MiwxMSBAQAogICAgIGVsaWYgaXNpbnN0
YW5jZSggdGltZSwgZGF0ZXRpbWUgKToKICAgICAgICAgZGlmZiA9M0Qgbm93IC0gdGltZQogICAg
IGVsaWYgaXNpbnN0YW5jZSggdGltZSwgYmFzZXN0cmluZyApOgotICAgICAgICB0aW1lID0zRCBk
YXRldGltZS5zdHJwdGltZSggdGltZSwgIiVZLSVtLSVkVCVIOiVNOiVTLiVmIiApCisgICAgICAg
IHRyeToKKyAgICAgICAgICAgIHRpbWUgPTNEIGRhdGV0aW1lLnN0cnB0aW1lKCB0aW1lLCAiJVkt
JW0tJWRUJUg6JU06JVMuJWYiICkKKyAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6CisgICAgICAg
ICAgICAjIE15U1FMIG1heSBub3Qgc3VwcG9ydCBtaWNyb3NlY29uZHMgcHJlY2lzaW9uCisgICAg
ICAgICAgICB0aW1lID0zRCBkYXRldGltZS5zdHJwdGltZSggdGltZSwgIiVZLSVtLSVkVCVIOiVN
OiVTIiApCiAgICAgICAgIGRpZmYgPTNEIG5vdyAtIHRpbWUKICAgICBlbHNlOgogICAgICAgICBk
aWZmID0zRCBub3cgLSBub3cKQEAgLTEyNzMsNiArMTI3NywyMiBAQAogICAgICAgICAgICAgcmFp
c2UKPTIwCj0yMAorZGVmIHNhZmVfcmVscGF0aChwYXRoKToKKyAgICAiIiIKKyAgICBHaXZlbiB3
aGF0IHdlIGV4cGVjdCB0byBiZSBhIHJlbGF0aXZlIHBhdGgsIGRldGVybWluZSB3aGV0aGVyIHRo
ZSBwYXRoCisgICAgd291bGQgZXhpc3QgaW5zaWRlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KKwor
ICAgIDp0eXBlICAgcGF0aDogICBzdHJpbmcKKyAgICA6cGFyYW0gIHBhdGg6ICAgYSBwYXRoIHRv
IGNoZWNrCisgICAgOnJ0eXBlOiAgICAgICAgIGJvb2wKKyAgICA6cmV0dXJuczogICAgICAgYGBU
cnVlYGAgaWYgcGF0aCBpcyByZWxhdGl2ZSBhbmQgZG9lcyBub3QgcmVmZXJlbmNlIGEgPQpwYXRo
CisgICAgICAgIGluIGEgcGFyZW50IGRpcmVjdG9yeSwgYGBGYWxzZWBgIG90aGVyd2lzZS4KKyAg
ICAiIiIKKyAgICBpZiBwYXRoLnN0YXJ0c3dpdGgob3Muc2VwKSBvciBub3JtcGF0aChwYXRoKS5z
dGFydHN3aXRoKG9zLnBhcmRpcik6CisgICAgICAgIHJldHVybiBGYWxzZQorICAgIHJldHVybiBU
cnVlCisKKwogY2xhc3MgRXhlY3V0aW9uVGltZXIob2JqZWN0KToKPTIwCiAgICAgZGVmIF9faW5p
dF9fKHNlbGYpOgoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUy
ZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvZ2Fs
YXh5L3ZlcnNpb24ucHkKLS0tIGEvbGliL2dhbGF4eS92ZXJzaW9uLnB5CisrKyBiL2xpYi9nYWxh
eHkvdmVyc2lvbi5weQpAQCAtMSwzICsxLDMgQEAKIFZFUlNJT05fTUFKT1IgPTNEICIxNS4xMCIK
LVZFUlNJT05fTUlOT1IgPTNEICJkZXYiCitWRVJTSU9OX01JTk9SID0zRCAiMiIKIFZFUlNJT04g
PTNEIFZFUlNJT05fTUFKT1IgKyAoJy4nICsgVkVSU0lPTl9NSU5PUiBpZiBWRVJTSU9OX01JTk9S
IGVsc2UgJycpCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJk
MWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxh
eHkvd2ViYXBwcy9nYWxheHkvYXBpL2xkYV9kYXRhc2V0cy5weQotLS0gYS9saWIvZ2FsYXh5L3dl
YmFwcHMvZ2FsYXh5L2FwaS9sZGFfZGF0YXNldHMucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBz
L2dhbGF4eS9hcGkvbGRhX2RhdGFzZXRzLnB5CkBAIC00MTMsNyArNDEzLDcgQEAKPTIwCiAgICAg
ICAgIDpwYXJhbSAgZW5jb2RlZF9mb2xkZXJfaWQ6ICAgICAgdGhlIGVuY29kZWQgaWQgb2YgdGhl
IGZvbGRlciB0byBpbT0KcG9ydCBkYXRhc2V0KHMpIHRvCiAgICAgICAgIDp0eXBlICAgZW5jb2Rl
ZF9mb2xkZXJfaWQ6ICAgICAgYW4gZW5jb2RlZCBpZCBzdHJpbmcKLSAgICAgICAgOnBhcmFtICBz
b3VyY2U6ICAgICAgICAgICAgICAgICBzb3VyY2UgdGhlIGRhdGFzZXRzIHNob3VsZCBiZSBsb2Fk
PQplZCBmb3JtCisgICAgICAgIDpwYXJhbSAgc291cmNlOiAgICAgICAgICAgICAgICAgc291cmNl
IHRoZSBkYXRhc2V0cyBzaG91bGQgYmUgbG9hZD0KZWQgZnJvbQogICAgICAgICA6dHlwZSAgIHNv
dXJjZTogICAgICAgICAgICAgICAgIHN0cgogICAgICAgICA6cGFyYW0gIGxpbmtfZGF0YTogICAg
ICAgICAgICAgIGZsYWcgd2hldGhlciB0byBsaW5rIHRoZSBkYXRhc2V0IHQ9Cm8gZGF0YSBvciBj
b3B5IGl0IHRvIEdhbGF4eSwgZGVmYXVsdHMgdG8gY29weQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHdoaWxlIGxpbmtpbmcgaXMgc2V0IHRvIFRydWUgYWxsIHM9Cnlt
bGlua3Mgd2lsbCBiZSByZXNvbHZlZCBfb25jZV8KQEAgLTQzNCw3ICs0MzQsNyBAQAogICAgICAg
ICBrd2RbICd0b19wb3NpeF9saW5lcycgXSA9M0QgJ1RydWUnCiAgICAgICAgIGt3ZFsgJ2Ria2V5
JyBdID0zRCBrd2QuZ2V0KCAnZGJrZXknLCAnPycgKQogICAgICAgICBrd2RbICdmaWxlX3R5cGUn
IF0gPTNEIGt3ZC5nZXQoICdmaWxlX3R5cGUnLCAnYXV0bycgKQotICAgICAgICBrd2RbJyBsaW5r
X2RhdGFfb25seScgXSA9M0QgJ2xpbmtfdG9fZmlsZXMnIGlmIHV0aWwuc3RyaW5nX2FzX2Jvb2w9
Cigga3dkLmdldCggJ2xpbmtfZGF0YScsIEZhbHNlICkgKSBlbHNlICdjb3B5X2ZpbGVzJworICAg
ICAgICBrd2RbJ2xpbmtfZGF0YV9vbmx5J10gPTNEICdsaW5rX3RvX2ZpbGVzJyBpZiB1dGlsLnN0
cmluZ19hc19ib29sKCA9Cmt3ZC5nZXQoICdsaW5rX2RhdGEnLCBGYWxzZSApICkgZWxzZSAnY29w
eV9maWxlcycKICAgICAgICAgZW5jb2RlZF9mb2xkZXJfaWQgPTNEIGt3ZC5nZXQoICdlbmNvZGVk
X2ZvbGRlcl9pZCcsIE5vbmUgKQogICAgICAgICBpZiBlbmNvZGVkX2ZvbGRlcl9pZCBpcyBub3Qg
Tm9uZToKICAgICAgICAgICAgIGZvbGRlcl9pZCA9M0Qgc2VsZi5mb2xkZXJfbWFuYWdlci5jdXRf
YW5kX2RlY29kZSggdHJhbnMsIGVuY29kPQplZF9mb2xkZXJfaWQgKQoKZGlmZiAtciBkNjJmM2U1
MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjll
NDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2FwaS9yZW1v
dGVfZmlsZXMucHkKLS0tIGEvbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9hcGkvcmVtb3RlX2Zp
bGVzLnB5CisrKyBiL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvYXBpL3JlbW90ZV9maWxlcy5w
eQpAQCAtNDIsNiArNDIsOCBAQAogICAgICAgICAgICAgaWYgdXNlcl9iYXNlX2RpciBpcyBOb25l
OgogICAgICAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbnMuQ29uZmlnRG9lc05vdEFsbG93RXhj
ZXB0aW9uKCAnVGhlIGNvbmZpZ3U9CnJhdGlvbiBvZiB0aGlzIEdhbGF4eSBpbnN0YW5jZSBkb2Vz
IG5vdCBhbGxvdyB1cGxvYWQgZnJvbSB1c2VyIGRpcmVjdG9yaWVzLj0KJyApCiAgICAgICAgICAg
ICBmdWxsX2ltcG9ydF9kaXIgPTNEIG9zLnBhdGguam9pbiggdXNlcl9iYXNlX2RpciwgdXNlcl9s
b2dpbiApCisgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMoZnVsbF9pbXBvcnRfZGly
KToKKyAgICAgICAgICAgICAgICByYWlzZSBleGNlcHRpb25zLk9iamVjdE5vdEZvdW5kKCdZb3Ug
ZG8gbm90IGhhdmUgYW55IGZpbGVzPQogaW4geW91ciB1c2VyIGRpcmVjdG9yeS4gVXNlIEZUUCB0
byB1cGxvYWQgdGhlcmUuJykKICAgICAgICAgICAgIGlmIGZ1bGxfaW1wb3J0X2RpciBpcyBub3Qg
Tm9uZToKICAgICAgICAgICAgICAgICBpZiBmb3JtYXQgPTNEPTNEICdqc3RyZWUnOgogICAgICAg
ICAgICAgICAgICAgICBkaXNhYmxlID0zRCBrd2QuZ2V0KCAnZGlzYWJsZScsICdmb2xkZXJzJykK
QEAgLTUxLDYgKzUzLDggQEAKICAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwg
ZXhjZXB0aW9uOgogICAgICAgICAgICAgICAgICAgICAgICAgbG9nLmRlYnVnKCBzdHIoIGV4Y2Vw
dGlvbiApICkKICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNlIGV4Y2VwdGlvbnMuSW50ZXJu
YWxTZXJ2ZXJFcnJvciggJ0NvdWxkIG5vdCBjPQpyZWF0ZSB0cmVlIHJlcHJlc2VudGF0aW9uIG9m
IHRoZSBnaXZlbiBmb2xkZXI6ICcgKyBzdHIoIGZ1bGxfaW1wb3J0X2RpciApICkKKyAgICAgICAg
ICAgICAgICAgICAgaWYgbm90IHJlc3BvbnNlOgorICAgICAgICAgICAgICAgICAgICAgICAgcmFp
c2UgZXhjZXB0aW9ucy5PYmplY3ROb3RGb3VuZCgnWW91IGRvIG5vdCBoYXZlIGE9Cm55IGZpbGVz
IGluIHlvdXIgdXNlciBkaXJlY3RvcnkuIFVzZSBGVFAgdG8gdXBsb2FkIHRoZXJlLicpCiAgICAg
ICAgICAgICAgICAgZWxpZiBmb3JtYXQgPTNEPTNEICdhamF4JzoKICAgICAgICAgICAgICAgICAg
ICAgcmFpc2UgZXhjZXB0aW9ucy5Ob3RJbXBsZW1lbnRlZCggJ05vdCBpbXBsZW1lbnRlZCB5ZXQu
PQogU29ycnkuJyApCiAgICAgICAgICAgICAgICAgZWxzZToKCmRpZmYgLXIgZDYyZjNlNTBiNTY3
YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0K
NGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9h
ZG1pbl90b29sc2hlZC5weQotLS0gYS9saWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xs
ZXJzL2FkbWluX3Rvb2xzaGVkLnB5CisrKyBiL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29u
dHJvbGxlcnMvYWRtaW5fdG9vbHNoZWQucHkKQEAgLTM5MCwxMSArMzkwLDExIEBACj0yMAogICAg
IEB3ZWIuanNvbgogICAgIEB3ZWIucmVxdWlyZV9hZG1pbgotICAgIGRlZiBnZXRfZmlsZV9jb250
ZW50cyggc2VsZiwgdHJhbnMsIGZpbGVfcGF0aCApOgorICAgIGRlZiBnZXRfZmlsZV9jb250ZW50
cyggc2VsZiwgdHJhbnMsIGZpbGVfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICAgICAjIEF2
b2lkIGNhY2hpbmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21hJ10gPTNE
ICduby1jYWNoZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJlcyddID0z
RCAnMCcKLSAgICAgICAgcmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRlbnRzKCBm
aWxlX3BhdGggKQorICAgICAgICByZXR1cm4gc3VjLmdldF9yZXBvc2l0b3J5X2ZpbGVfY29udGVu
dHMoIHRyYW5zLmFwcCwgZmlsZV9wYXRoLCByZXA9Cm9zaXRvcnlfaWQgKQo9MjAKICAgICBAd2Vi
LmV4cG9zZQogICAgIEB3ZWIucmVxdWlyZV9hZG1pbgpAQCAtOTE4LDExICs5MTgsMTEgQEAKPTIw
CiAgICAgQHdlYi5qc29uCiAgICAgQHdlYi5yZXF1aXJlX2FkbWluCi0gICAgZGVmIG9wZW5fZm9s
ZGVyKCBzZWxmLCB0cmFucywgZm9sZGVyX3BhdGggKToKKyAgICBkZWYgb3Blbl9mb2xkZXIoIHNl
bGYsIHRyYW5zLCBmb2xkZXJfcGF0aCwgcmVwb3NpdG9yeV9pZCApOgogICAgICAgICAjIEF2b2lk
IGNhY2hpbmcKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21hJ10gPTNEICdu
by1jYWNoZScKICAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJlcyddID0zRCAn
MCcKLSAgICAgICAgcmV0dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCBmb2xk
ZXJfcGF0aCApCisgICAgICAgIHJldHVybiBzdWMub3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRl
ciggdHJhbnMuYXBwLCBmb2xkZXJfcGF0aCwgcj0KZXBvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdl
Yi5leHBvc2UKICAgICBAd2ViLnJlcXVpcmVfYWRtaW4KQEAgLTEyOTYsNiArMTI5NiwyMSBAQAog
ICAgICAgICAgICAgICAgICMgSnVzdCBpbiBjYXNlIHRoZSB0b29sX3NlY3Rpb24uaWQgZGlmZmVy
cyBmcm9tIHRvb2xfcGFuZWw9Cl9zZWN0aW9uX2lkLCB3aGljaCBpdCBzaG91bGRuJ3QuLi4KICAg
ICAgICAgICAgICAgICB0b29sX3BhbmVsX3NlY3Rpb25faWQgPTNEIHN0ciggdG9vbF9zZWN0aW9u
LmlkICkKICAgICAgICAgaWYgdG9vbF9zaGVkX3JlcG9zaXRvcnkuc3RhdHVzID0zRD0zRCB0cmFu
cy5pbnN0YWxsX21vZGVsLlRvb2xTaGVkPQpSZXBvc2l0b3J5Lmluc3RhbGxhdGlvbl9zdGF0dXMu
VU5JTlNUQUxMRUQ6CisgICAgICAgICAgICByZXBvc2l0b3J5X3R5cGUgPTNEIHN1Yy5nZXRfcmVw
b3NpdG9yeV90eXBlX2Zyb21fdG9vbF9zaGVkKHRyYT0KbnMuYXBwLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9v
bF89CnNoZWRfdXJsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF89CnNoZWRfcmVwb3NpdG9yeS5uYW1lLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdG9vbF89CnNoZWRfcmVwb3NpdG9yeS5vd25lcikKKyAgICAgICAgICAgIGlm
IHJlcG9zaXRvcnlfdHlwZSA9M0Q9M0QgcnRfdXRpbC5UT09MX0RFUEVOREVOQ1lfREVGSU5JVElP
TjoKKyAgICAgICAgICAgICAgICAjIFJlcG9zaXRvcmllcyBvZiB0eXBlIHRvb2xfZGVwZW5kZW5j
eV9kZWZpbml0aW9uIG11c3QgZ2V0PQogdGhlIGxhdGVzdAorICAgICAgICAgICAgICAgICMgbWV0
YWRhdGEgZnJvbSB0aGUgVG9vbCBTaGVkIHNpbmNlIHRoZXkgaGF2ZSBvbmx5IGEgc2luZ2w9CmUg
aW5zdGFsbGFibGUKKyAgICAgICAgICAgICAgICAjIHJldmlzaW9uLgorICAgICAgICAgICAgICAg
IHJhd190ZXh0ID0zRCBzdWMuZ2V0X3Rvb2xfZGVwZW5kZW5jeV9kZWZpbml0aW9uX21ldGFkYXRh
X2Y9CnJvbV90b29sX3NoZWQodHJhbnMuYXBwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAg
ICAgIHRvb2xfc2hlZF91cmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KICAgICAgICAgICAgdG9vbF9z
aGVkX3JlcG9zaXRvcnkubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQogICAgICAgICAgICB0b29s
X3NoZWRfcmVwb3NpdG9yeS5vd25lcikKKyAgICAgICAgICAgICAgICBuZXdfbWV0YSA9M0QganNv
bi5sb2FkcyhyYXdfdGV4dCkKKyAgICAgICAgICAgICAgICAjIENsZWFuIHVwIG9sZCByZXBvc2l0
b3J5IGRlcGVuZGVuY3kgYW5kIHRvb2wgZGVwZW5kZW5jeSByPQplbGF0aW9uc2hpcHMuCisgICAg
ICAgICAgICAgICAgc3VjLmNsZWFuX2RlcGVuZGVuY3lfcmVsYXRpb25zaGlwcyh0cmFucywgbmV3
X21ldGEsIHRvb2xfcz0KaGVkX3JlcG9zaXRvcnksIHRvb2xfc2hlZF91cmwpCiAgICAgICAgICAg
ICAjIFRoZSByZXBvc2l0b3J5J3Mgc3RhdHVzIG11c3QgYmUgdXBkYXRlZCBmcm9tICdVbmluc3Rh
bGxlZCcgdD0KbyAnTmV3JyB3aGVuIGluaXRpYXRpbmcgcmVpbnN0YWxsCiAgICAgICAgICAgICAj
IHNvIHRoZSByZXBvc2l0b3J5X2luc3RhbGxhdGlvbl91cGRhdGVyIHdpbGwgZnVuY3Rpb24uCiAg
ICAgICAgICAgICB0b29sX3NoZWRfcmVwb3NpdG9yeSA9M0Qgc3VjLmNyZWF0ZV9vcl91cGRhdGVf
dG9vbF9zaGVkX3JlcG9zaT0KdG9yeSggdHJhbnMuYXBwLApAQCAtMTQ4OCw3ICsxNTAzLDcgQEAK
ICAgICAgICAgcmVwb3NpdG9yeV9jbG9uZV91cmwgPTNEIGNvbW1vbl91dGlsLmdlbmVyYXRlX2Ns
b25lX3VybF9mb3JfaW5zdGFsPQpsZWRfcmVwb3NpdG9yeSggdHJhbnMuYXBwLCB0b29sX3NoZWRf
cmVwb3NpdG9yeSApCiAgICAgICAgIG1ldGFkYXRhID0zRCB0b29sX3NoZWRfcmVwb3NpdG9yeS5t
ZXRhZGF0YQogICAgICAgICB0b29sX3NoZWRfdXJsID0zRCBjb21tb25fdXRpbC5nZXRfdG9vbF9z
aGVkX3VybF9mcm9tX3Rvb2xfc2hlZF9yZWc9CmlzdHJ5KCB0cmFucy5hcHAsIHN0ciggdG9vbF9z
aGVkX3JlcG9zaXRvcnkudG9vbF9zaGVkICkgKQotICAgICAgICB0b29sX3BhdGgsIHJlbGF0aXZl
X2luc3RhbGxfZGlyID0zRCB0b29sX3NoZWRfcmVwb3NpdG9yeS5nZXRfdG9vbF89CnJlbGF0aXZl
X3BhdGgoIHRyYW5zLmFwcCApCisgICAgICAgIHRvb2xfcGF0aCA9M0QgdG9vbF9zaGVkX3JlcG9z
aXRvcnkuZ2V0X3Rvb2xfcmVsYXRpdmVfcGF0aCggdHJhbnMuYT0KcHAgKVswXQogICAgICAgICBp
ZiBsYXRlc3RfY2hhbmdlc2V0X3JldmlzaW9uIGFuZCBsYXRlc3RfY3R4X3JldjoKICAgICAgICAg
ICAgICMgVGhlcmUgYXJlIHVwZGF0ZXMgYXZhaWxhYmxlIGluIHRoZSB0b29sIHNoZWQgZm9yIHRo
ZSByZXBvc2l0PQpvcnksIHNvIHVzZSB0aGUgcmVjZWl2ZWQKICAgICAgICAgICAgICMgZGVwZW5k
ZW5jeSBpbmZvcm1hdGlvbiB3aGljaCB3YXMgcmV0cmlldmVkIGZyb20gdGhlIHRvb2wgc2hlPQpk
LgpAQCAtMTQ5NywyMCArMTUxMiwxNCBAQAogICAgICAgICAgICAgcmVhZG1lX2ZpbGVzX2RpY3Qg
PTNEIHVwZGF0ZWRfcmVwb19pbmZvX2RpY3QuZ2V0KCAncmVhZG1lX2ZpbGU9CnNfZGljdCcsIE5v
bmUgKQogICAgICAgICAgICAgaW5jbHVkZXNfZGF0YV9tYW5hZ2VycyA9M0QgdXBkYXRlZF9yZXBv
X2luZm9fZGljdC5nZXQoICdpbmNsdWQ9CmVzX2RhdGFfbWFuYWdlcnMnLCBGYWxzZSApCiAgICAg
ICAgICAgICBpbmNsdWRlc19kYXRhdHlwZXMgPTNEIHVwZGF0ZWRfcmVwb19pbmZvX2RpY3QuZ2V0
KCAnaW5jbHVkZXNfZD0KYXRhdHlwZXMnLCBGYWxzZSApCi0gICAgICAgICAgICBpbmNsdWRlc190
b29scyA9M0QgdXBkYXRlZF9yZXBvX2luZm9fZGljdC5nZXQoICdpbmNsdWRlc190b29scz0KJywg
RmFsc2UgKQotICAgICAgICAgICAgaW5jbHVkZXNfdG9vbHNfZm9yX2Rpc3BsYXlfaW5fdG9vbF9w
YW5lbCA9M0QgdXBkYXRlZF9yZXBvX2luZm89Cl9kaWN0LmdldCggJ2luY2x1ZGVzX3Rvb2xzX2Zv
cl9kaXNwbGF5X2luX3Rvb2xfcGFuZWwnLCBGYWxzZSApCiAgICAgICAgICAgICBpbmNsdWRlc193
b3JrZmxvd3MgPTNEIHVwZGF0ZWRfcmVwb19pbmZvX2RpY3QuZ2V0KCAnaW5jbHVkZXNfdz0Kb3Jr
Zmxvd3MnLCBGYWxzZSApCi0gICAgICAgICAgICBoYXNfcmVwb3NpdG9yeV9kZXBlbmRlbmNpZXMg
PTNEIHVwZGF0ZWRfcmVwb19pbmZvX2RpY3QuZ2V0KCAnaD0KYXNfcmVwb3NpdG9yeV9kZXBlbmRl
bmNpZXMnLCBGYWxzZSApCiAgICAgICAgICAgICBpbmNsdWRlc190b29sX2RlcGVuZGVuY2llcyA9
M0QgdXBkYXRlZF9yZXBvX2luZm9fZGljdC5nZXQoICdpbj0KY2x1ZGVzX3Rvb2xfZGVwZW5kZW5j
aWVzJywgRmFsc2UgKQogICAgICAgICAgICAgcmVwb19pbmZvX2RpY3QgPTNEIHVwZGF0ZWRfcmVw
b19pbmZvX2RpY3RbICdyZXBvX2luZm9fZGljdCcgXQogICAgICAgICBlbHNlOgogICAgICAgICAg
ICAgIyBUaGVyZSBhcmUgbm8gdXBkYXRlcyBhdmFpbGFibGUgZnJvbSB0aGUgdG9vbCBzaGVkIGZv
ciB0aGUgcmU9CnBvc2l0b3J5LCBzbyB1c2UgaXRzIGxvY2FsbHkgc3RvcmVkIG1ldGFkYXRhLgot
ICAgICAgICAgICAgaGFzX3JlcG9zaXRvcnlfZGVwZW5kZW5jaWVzID0zRCBGYWxzZQogICAgICAg
ICAgICAgaW5jbHVkZXNfZGF0YV9tYW5hZ2VycyA9M0QgRmFsc2UKICAgICAgICAgICAgIGluY2x1
ZGVzX2RhdGF0eXBlcyA9M0QgRmFsc2UKICAgICAgICAgICAgIGluY2x1ZGVzX3Rvb2xfZGVwZW5k
ZW5jaWVzID0zRCBGYWxzZQotICAgICAgICAgICAgaW5jbHVkZXNfdG9vbHMgPTNEIEZhbHNlCi0g
ICAgICAgICAgICBpbmNsdWRlc190b29sc19mb3JfZGlzcGxheV9pbl90b29sX3BhbmVsID0zRCBG
YWxzZQogICAgICAgICAgICAgaW5jbHVkZXNfd29ya2Zsb3dzID0zRCBGYWxzZQogICAgICAgICAg
ICAgcmVhZG1lX2ZpbGVzX2RpY3QgPTNEIE5vbmUKICAgICAgICAgICAgIHRvb2xfZGVwZW5kZW5j
aWVzID0zRCBOb25lCkBAIC0xNTE5LDE0ICsxNTI4LDYgQEAKICAgICAgICAgICAgICAgICAgICAg
aW5jbHVkZXNfZGF0YV9tYW5hZ2VycyA9M0QgVHJ1ZQogICAgICAgICAgICAgICAgIGlmICdkYXRh
dHlwZXMnIGluIG1ldGFkYXRhOgogICAgICAgICAgICAgICAgICAgICBpbmNsdWRlc19kYXRhdHlw
ZXMgPTNEIFRydWUKLSAgICAgICAgICAgICAgICBpZiAndG9vbHMnIGluIG1ldGFkYXRhOgotICAg
ICAgICAgICAgICAgICAgICBpbmNsdWRlc190b29scyA9M0QgVHJ1ZQotICAgICAgICAgICAgICAg
ICAgICAjIEhhbmRsZSBpbmNsdWRlc190b29sc19mb3JfZGlzcGxheV9pbl90b29sX3BhbmVsLgot
ICAgICAgICAgICAgICAgICAgICB0b29sX2RpY3RzID0zRCBtZXRhZGF0YVsgJ3Rvb2xzJyBdCi0g
ICAgICAgICAgICAgICAgICAgIGZvciB0b29sX2RpY3QgaW4gdG9vbF9kaWN0czoKLSAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIHRvb2xfZGljdC5nZXQoICdhZGRfdG9fdG9vbF9wYW5lbCcsIFRy
dWUgKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmNsdWRlc190b29sc19mb3JfZGlz
cGxheV9pbl90b29sX3BhbmVsID0zRCBUPQpydWUKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBicmVhawogICAgICAgICAgICAgICAgIGlmICd0b29sX2RlcGVuZGVuY2llcycgaW4gbWV0YWRh
dGE6CiAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVzX3Rvb2xfZGVwZW5kZW5jaWVzID0zRCBU
cnVlCiAgICAgICAgICAgICAgICAgaWYgJ3dvcmtmbG93cycgaW4gbWV0YWRhdGE6CkBAIC0xNTU1
LDggKzE1NTYsNyBAQAogICAgICAgICBkZXBlbmRlbmNpZXNfZm9yX3JlcG9zaXRvcnlfZGljdCA9
M0QgaXJtLmdldF9kZXBlbmRlbmNpZXNfZm9yX3JlcG89CnNpdG9yeSggdG9vbF9zaGVkX3VybCwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgPQogICAgICByZXBvX2luZm9fZGljdCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgPQogICAgICBpbmNsdWRlc190b29sX2RlcGVuZGVuY2llcywKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
PQogICAgICB1cGRhdGluZz0zREZhbHNlICkKLSAgICAgICAgaGFzX3JlcG9zaXRvcnlfZGVwZW5k
ZW5jaWVzID0zRCBkZXBlbmRlbmNpZXNfZm9yX3JlcG9zaXRvcnlfZGljdC5nPQpldCggJ2hhc19y
ZXBvc2l0b3J5X2RlcGVuZGVuY2llcycsIEZhbHNlICkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQogICAg
ICB1cGRhdGluZz0zRFRydWUgKQogICAgICAgICBpbmNsdWRlc190b29sX2RlcGVuZGVuY2llcyA9
M0QgZGVwZW5kZW5jaWVzX2Zvcl9yZXBvc2l0b3J5X2RpY3QuZ2U9CnQoICdpbmNsdWRlc190b29s
X2RlcGVuZGVuY2llcycsIEZhbHNlICkKICAgICAgICAgaW5jbHVkZXNfdG9vbHMgPTNEIGRlcGVu
ZGVuY2llc19mb3JfcmVwb3NpdG9yeV9kaWN0LmdldCggJ2luY2x1ZGVzPQpfdG9vbHMnLCBGYWxz
ZSApCiAgICAgICAgIGluY2x1ZGVzX3Rvb2xzX2Zvcl9kaXNwbGF5X2luX3Rvb2xfcGFuZWwgPTNE
IGRlcGVuZGVuY2llc19mb3JfcmVwbz0Kc2l0b3J5X2RpY3QuZ2V0KCAnaW5jbHVkZXNfdG9vbHNf
Zm9yX2Rpc3BsYXlfaW5fdG9vbF9wYW5lbCcsIEZhbHNlICkKCmRpZmYgLXIgZDYyZjNlNTBiNTY3
YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0K
NGJkZDRiMWUxOWE5N2FhNTUgbGliL2dhbGF4eS93ZWJhcHBzL2dhbGF4eS9jb250cm9sbGVycy9y
ZXF1ZXN0c19hZG1pbi5weQotLS0gYS9saWIvZ2FsYXh5L3dlYmFwcHMvZ2FsYXh5L2NvbnRyb2xs
ZXJzL3JlcXVlc3RzX2FkbWluLnB5CisrKyBiL2xpYi9nYWxheHkvd2ViYXBwcy9nYWxheHkvY29u
dHJvbGxlcnMvcmVxdWVzdHNfYWRtaW4ucHkKQEAgLTEwLDE1ICsxMCw3IEBACiBmcm9tIGdhbGF4
eSBpbXBvcnQgZWdncwogZWdncy5yZXF1aXJlKCAiTWFya3VwU2FmZSIgKQogZnJvbSBtYXJrdXBz
YWZlIGltcG9ydCBlc2NhcGUKLWVnZ3MucmVxdWlyZSgiYW1xcCIpCi1pbXBvcnQgYW1xcAotdHJ5
OgotICAgIGltcG9ydCBwZXhwZWN0Ci1leGNlcHQgSW1wb3J0RXJyb3I6Ci0gICAgcGV4cGVjdCA9
M0QgTm9uZQo9MjAKLVBFWFBFQ1RfSU1QT1JUX01FU1NBR0UgPTNEICgnVGhlIFB5dGhvbiBwZXhw
ZWN0IHBhY2thZ2UgaXMgcmVxdWlyZWQgdG8gdXNlPQogdGhpcyAnCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICdmZWF0dXJlLCBwbGVhc2UgaW5zdGFsbCBpdCcpCj0yMAogbG9nID0zRCBsb2dn
aW5nLmdldExvZ2dlciggX19uYW1lX18gKQo9MjAKQEAgLTM3MiwyMDcgKzM2NCw2IEBACiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0
aW9uPTNEJ21hbmFnZT0KX2RhdGFzZXRzJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9M0RzYW1wPQpsZV9pZCApICkK
PTIwCi0gICAgQHdlYi5leHBvc2UKLSAgICBAd2ViLnJlcXVpcmVfYWRtaW4KLSAgICBkZWYgc2Vs
ZWN0X2RhdGFzZXRzX3RvX3RyYW5zZmVyKCBzZWxmLCB0cmFucywgKiprd2QgKToKLSAgICAgICAg
cGFyYW1zID0zRCB1dGlsLlBhcmFtcygga3dkICkKLSAgICAgICAgbWVzc2FnZSA9M0QgdXRpbC5y
ZXN0b3JlX3RleHQoIHBhcmFtcy5nZXQoICdtZXNzYWdlJywgJycgKSApCi0gICAgICAgIHN0YXR1
cyA9M0QgcGFyYW1zLmdldCggJ3N0YXR1cycsICdkb25lJyApCi0gICAgICAgIHJlcXVlc3RfaWQg
PTNEIGt3ZC5nZXQoICdyZXF1ZXN0X2lkJywgTm9uZSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZp
Y2VfaWQgPTNEIGt3ZC5nZXQoICdleHRlcm5hbF9zZXJ2aWNlX2lkJywgTm9uZSApCi0gICAgICAg
IHJlcXVlc3QgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRyYW5zLm1vZGVsLlJlcXVlc3Qg
KS5nZXQoIHRyYT0KbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCByZXF1ZXN0X2lkICkgKQotICAgICAg
ICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5tb2Rl
bC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBleHRl
cm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICAjIExvYWQgdGhlIGRhdGEgdHJhbnNmZXIgc2V0
dGluZ3MKLSAgICAgICAgZXh0ZXJuYWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGlu
Z3MoIHRyYW5zICkKLSAgICAgICAgc2NwX2NvbmZpZ3MgPTNEIGV4dGVybmFsX3NlcnZpY2UuZGF0
YV90cmFuc2ZlclsgdHJhbnMubW9kZWwuRXh0ZXJuPQphbFNlcnZpY2UuZGF0YV90cmFuc2Zlcl9w
cm90b2NvbC5TQ1AgXQotICAgICAgICBzZWxlY3RlZF9kYXRhc2V0c190b190cmFuc2ZlciA9M0Qg
dXRpbC5yZXN0b3JlX3RleHQoIHBhcmFtcy5nZXQoICc9CnNlbGVjdGVkX2RhdGFzZXRzX3RvX3Ry
YW5zZmVyJywgJycgKSApCi0gICAgICAgIGlmIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVy
OgotICAgICAgICAgICAgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXIgPTNEIHNlbGVjdGVk
X2RhdGFzZXRzX3RvX3RyYW5zZmU9CnIuc3BsaXQoJywnKQotICAgICAgICBlbHNlOgotICAgICAg
ICAgICAgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXIgPTNEIFtdCi0gICAgICAgIHNhbXBs
ZV9pZCA9M0Qga3dkLmdldCggJ3NhbXBsZV9pZCcsICdub25lJyApCi0gICAgICAgIHNhbXBsZV9p
ZF9zZWxlY3RfZmllbGQgPTNEIHNlbGYuX19idWlsZF9zYW1wbGVfaWRfc2VsZWN0X2ZpZWxkKCB0
cj0KYW5zLCByZXF1ZXN0LCBzYW1wbGVfaWQgKQotICAgICAgICBpZiBzYW1wbGVfaWQgIT0zRCAn
bm9uZSc6Ci0gICAgICAgICAgICBzYW1wbGUgPTNEIHRyYW5zLnNhX3Nlc3Npb24ucXVlcnkoIHRy
YW5zLm1vZGVsLlNhbXBsZSApLmdldCggdD0KcmFucy5zZWN1cml0eS5kZWNvZGVfaWQoIHNhbXBs
ZV9pZCApICkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHNhbXBsZSA9M0QgTm9uZQotICAg
ICAgICAjIFRoZSBfX2dldF9maWxlcygpIG1ldGhvZCByZWRpcmVjdHMgaGVyZSB3aXRoIGEgc3Rh
dHVzIG9mICdlcnJvcic9CiBhbmQgYSBtZXNzYWdlIGlmIHRoZXJlCi0gICAgICAgICMgd2FzIGEg
cHJvYmxlbSByZXRyaWV2aW5nIHRoZSBmaWxlcy4KLSAgICAgICAgaWYgcGFyYW1zLmdldCggJ3Nl
bGVjdF9kYXRhc2V0c190b190cmFuc2Zlcl9idXR0b24nLCBGYWxzZSApOgotICAgICAgICAgICAg
IyBHZXQgdGhlIHNhbXBsZSB0aGF0IHdhcyBzZXF1ZW5jZWQgdG8gcHJvZHVjZSB0aGVzZSBkYXRh
c2V0cy4KLSAgICAgICAgICAgIGlmIHNhbXBsZV9pZCA9M0Q9M0QgJ25vbmUnOgotICAgICAgICAg
ICAgICAgIGRlbCBrd2RbICdzZWxlY3RfZGF0YXNldHNfdG9fdHJhbnNmZXJfYnV0dG9uJyBdCi0g
ICAgICAgICAgICAgICAgbWVzc2FnZSA9M0QgJ1NlbGVjdCB0aGUgc2FtcGxlIHRoYXQgd2FzIHNl
cXVlbmNlZCB0byBwcm9kdT0KY2UgdGhlIGRhdGFzZXRzIHlvdSB3YW50IHRvIHRyYW5zZmVyLicK
LSAgICAgICAgICAgICAgICBrd2RbICdtZXNzYWdlJyBdID0zRCBtZXNzYWdlCi0gICAgICAgICAg
ICAgICAga3dkWyAnc3RhdHVzJyBdID0zRCAnZXJyb3InCi0gICAgICAgICAgICAgICAgcmV0dXJu
IHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9
M0QncmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPQo9M0Qnc2VsZWN0X2RhdGFzZXRz
X3RvX3RyYW5zZmVyJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICoqa3dkICkgKQotICAgICAgICAgICAgaWYgbm90IHNh
bXBsZS5saWJyYXJ5OgotICAgICAgICAgICAgICAgICMgRGlzcGxheSBhbiBlcnJvciBpZiBhIHNh
bXBsZSBoYXMgYmVlbiBzZWxlY3RlZCB0aGF0Ci0gICAgICAgICAgICAgICAgIyBoYXMgbm90IHll
dCBiZWVuIGFzc29jaWF0ZWQgd2l0aCBhIGRlc3RpbmF0aW9uIGxpYnJhcnkuCi0gICAgICAgICAg
ICAgICAgbWVzc2FnZSA9M0QgJ1NlbGVjdCBhIHRhcmdldCBkYXRhIGxpYnJhcnkgYW5kIGZvbGRl
ciBmb3IgdD0KaGUgc2FtcGxlIGJlZm9yZSBzZWxlY3RpbmcgdGhlIGRhdGFzZXRzLicKLSAgICAg
ICAgICAgICAgICBzdGF0dXMgPTNEICdlcnJvcicKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJh
bnMucmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsPQplcj0zRCdy
ZXF1ZXN0c19jb21tb24nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPQo9M0QnZWRpdF9zYW1wbGVzJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNudHJsbGVyPQo9M0QncmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9M0R0cmE9
Cm5zLnNlY3VyaXR5LmVuY29kZV9pZCggcmVxdWVzdC5pZCApLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPQo9
M0RzdGF0dXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlPQo9M0RtZXNzYWdlICkgKQotICAgICAgICAgICAg
IyBTYXZlIHRoZSBzYW1wbGUgZGF0YXNldHMKLSAgICAgICAgICAgIHNhbXBsZV9kYXRhc2V0X2Zp
bGVfbmFtZXMgPTNEIHNlbGYuX19jcmVhdGVfc2FtcGxlX2RhdGFzZXRzKCB0PQpyYW5zLCBzYW1w
bGUsIHNlbGVjdGVkX2RhdGFzZXRzX3RvX3RyYW5zZmVyLCBleHRlcm5hbF9zZXJ2aWNlICkKLSAg
ICAgICAgICAgIGlmIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXM6Ci0gICAgICAgICAgICAgICAg
bWVzc2FnZSA9M0QgJ0RhdGFzZXRzICglcykgaGF2ZSBiZWVuIHNlbGVjdGVkIGZvciBzYW1wbGUg
KD0KJXMpJyAlIFwKLSAgICAgICAgICAgICAgICAgICAgKCBzdHIoIHNhbXBsZV9kYXRhc2V0X2Zp
bGVfbmFtZXMgKVsxOi0xXS5yZXBsYWNlKCAiJyIsPQogIiIgKSwgc2FtcGxlLm5hbWUgKQotICAg
ICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9y
KCBjb250cm9sbGVyPQo9M0QncmVxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249M0QnbWE9Cm5h
Z2VfZGF0YXNldHMnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICByZXF1ZXN0X2lkPQo9M0RyZXF1ZXN0X2lkLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1w
bGVfaWQ9M0Q9CnNhbXBsZV9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0zRG1lPQpzc2FnZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rh
dHVzPTNEc3RhPQp0dXMgKSApCi0gICAgICAgIHJldHVybiB0cmFucy5maWxsX3RlbXBsYXRlKCAn
L2FkbWluL3JlcXVlc3RzL3NlbGVjdF9kYXRhc2V0c190b190cj0KYW5zZmVyLm1ha28nLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY250cmxsZXI9M0QncmVxdWVzdHNfYWRt
aW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWVzdD0zRHJlcXVl
c3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbF9zZXJ2aWNl
PTNEZXh0ZXJuYWxfc2VydmljZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHNjcF9jb25maWdzPTNEc2NwX2NvbmZpZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzYW1wbGU9M0RzYW1wbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzYW1wbGVfaWRfc2VsZWN0X2ZpZWxkPTNEc2FtcGxlX2lkX3NlbD0KZWN0X2ZpZWxkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTNEc3RhdHVzLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZT0zRG1lc3NhZ2UgKQotCi0g
ICAgQHdlYi5qc29uCi0gICAgZGVmIGdldF9maWxlX2RldGFpbHMoIHNlbGYsIHRyYW5zLCByZXF1
ZXN0X2lkLCBleHRlcm5hbF9zZXJ2aWNlX2lkLCBmbz0KbGRlcl9wYXRoICk6Ci0gICAgICAgIGRl
ZiBwcmludF90aWNrcyggZCApOgotICAgICAgICAgICAgIyBwZXhwZWN0IHRpbWVvdXQgbWV0aG9k
Ci0gICAgICAgICAgICBwYXNzCi0gICAgICAgICMgQXZvaWQgY2FjaGluZwotICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwotICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICBpZiBwZXhwZWN0
IGlzIE5vbmU6Ci0gICAgICAgICAgICByZXR1cm4gUEVYUEVDVF9JTVBPUlRfTUVTU0FHRQotICAg
ICAgICBleHRlcm5hbF9zZXJ2aWNlID0zRCB0cmFucy5zYV9zZXNzaW9uLnF1ZXJ5KCB0cmFucy5t
b2RlbC5FeHRlcm5hbFM9CmVydmljZSApLmdldCggdHJhbnMuc2VjdXJpdHkuZGVjb2RlX2lkKCBl
eHRlcm5hbF9zZXJ2aWNlX2lkICkgKQotICAgICAgICBleHRlcm5hbF9zZXJ2aWNlLmxvYWRfZGF0
YV90cmFuc2Zlcl9zZXR0aW5ncyggdHJhbnMgKQotICAgICAgICBzY3BfY29uZmlncyA9M0QgZXh0
ZXJuYWxfc2VydmljZS5kYXRhX3RyYW5zZmVyWyB0cmFucy5tb2RlbC5FeHRlcm49CmFsU2Vydmlj
ZS5kYXRhX3RyYW5zZmVyX3Byb3RvY29sLlNDUCBdCi0gICAgICAgIGNtZCA9M0QgJ3NzaCAlc0Al
cyAibHMgLW9naHAgXCclc1wnIicgJSAoIHNjcF9jb25maWdzWyAndXNlcl9uYW1lJz0KIF0sCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3BfY29uZmln
c1sgJ2hvc3QnIF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmb2xkZXJfcGF0aCApCi0gICAgICAgICMgSGFuZGxlIHRoZSBhdXRoZW50aWNhdGlvbiBt
ZXNzYWdlIGlmIHNzaCBrZXlzIGFyZSBub3Qgc2V0IC0gdGhlID0KbWVzc2FnZSBpcwotICAgICAg
ICAjIHNvbWV0aGluZyBsaWtlOiAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlIGNv
bm5lY3RpbmcgKHk9CmVzL25vKS4iCi0gICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNt
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50cz0zRHsgJ1woeWVzXC9ub1wp
XC4qJyA6ICd5ZXNcclxuJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcuc3N3b3JkOionIDogc2NwX2NvbmZpZ3NbICdwYXNzd29yPQpkJyBdICsgJ1xyXG4nLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV4cGVjdC5USU1FT1VUIDogcHJp
bnRfdGlja3MgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9M0QxMCAp
Ci0gICAgICAgIGZvciBwYXNzd29yZF9zdHIgaW4gWyAnUGFzc3dvcmQ6XHJcbicsICdwYXNzd29y
ZDpcclxuJyBdOgotICAgICAgICAgICAgIyBFbGltaW5hdGUgdGhlIG91dHB1dCBjcmVhdGVkIHVz
aW5nIHNzaCBmcm9tIHRoZSB0cmVlCi0gICAgICAgICAgICBpZiBwYXNzd29yZF9zdHIgaW4gb3V0
cHV0OgotICAgICAgICAgICAgICAgIG91dHB1dCA9M0Qgb3V0cHV0LnJlcGxhY2UoIHBhc3N3b3Jk
X3N0ciwgJycgKQotICAgICAgICByZXR1cm4gdW5pY29kZSggb3V0cHV0LnJlcGxhY2UoICdcclxu
JywgJzxici8+JyApICkKLQotICAgIEB3ZWIuanNvbgotICAgIGRlZiBvcGVuX2ZvbGRlciggc2Vs
ZiwgdHJhbnMsIHJlcXVlc3RfaWQsIGV4dGVybmFsX3NlcnZpY2VfaWQsIGtleSApOgotICAgICAg
ICAjIEF2b2lkIGNhY2hpbmcKLSAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snUHJhZ21h
J10gPTNEICduby1jYWNoZScKLSAgICAgICAgdHJhbnMucmVzcG9uc2UuaGVhZGVyc1snRXhwaXJl
cyddID0zRCAnMCcKLSAgICAgICAgcmVxdWVzdCA9M0QgdHJhbnMuc2Ffc2Vzc2lvbi5xdWVyeSgg
dHJhbnMubW9kZWwuUmVxdWVzdCApLmdldCggdHJhPQpucy5zZWN1cml0eS5kZWNvZGVfaWQoIHJl
cXVlc3RfaWQgKSApCi0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UgPTNEIHRyYW5zLnNhX3Nlc3Np
b24ucXVlcnkoIHRyYW5zLm1vZGVsLkV4dGVybmFsUz0KZXJ2aWNlICkuZ2V0KCB0cmFucy5zZWN1
cml0eS5kZWNvZGVfaWQoIGV4dGVybmFsX3NlcnZpY2VfaWQgKSApCi0gICAgICAgIGZvbGRlcl9w
YXRoID0zRCBrZXkKLSAgICAgICAgZmlsZXNfbGlzdCA9M0Qgc2VsZi5fX2dldF9maWxlcyggdHJh
bnMsIHJlcXVlc3QsIGV4dGVybmFsX3NlcnZpY2UsPQogZm9sZGVyX3BhdGggKQotICAgICAgICBm
b2xkZXJfY29udGVudHMgPTNEIFtdCi0gICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlc19saXN0
OgotICAgICAgICAgICAgaXNfZm9sZGVyID0zRCBGYWxzZQotICAgICAgICAgICAgaWYgZmlsZW5h
bWUgYW5kIGZpbGVuYW1lWy0xXSA9M0Q9M0Qgb3Muc2VwOgotICAgICAgICAgICAgICAgIGlzX2Zv
bGRlciA9M0QgVHJ1ZQotICAgICAgICAgICAgaWYgZmlsZW5hbWU6Ci0gICAgICAgICAgICAgICAg
ZnVsbF9wYXRoID0zRCBvcy5wYXRoLmpvaW4oIGZvbGRlcl9wYXRoLCBmaWxlbmFtZSApCi0gICAg
ICAgICAgICAgICAgbm9kZSA9M0QgeyAidGl0bGUiOiBmaWxlbmFtZSwKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAiaXNGb2xkZXIiOiBpc19mb2xkZXIsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgImlzTGF6eSI6IGlzX2ZvbGRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAidG9vbHRp
cCI6IGZ1bGxfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAia2V5IjogZnVsbF9wYXRo
IH0KLSAgICAgICAgICAgICAgICBmb2xkZXJfY29udGVudHMuYXBwZW5kKCBub2RlICkKLSAgICAg
ICAgcmV0dXJuIGZvbGRlcl9jb250ZW50cwotCi0gICAgZGVmIF9fZ2V0X2ZpbGVzKCBzZWxmLCB0
cmFucywgcmVxdWVzdCwgZXh0ZXJuYWxfc2VydmljZSwgZm9sZGVyX3BhdGggKToKLSAgICAgICAg
IyBSZXRyaWV2ZXMgdGhlIGZpbGVuYW1lcyB0byBiZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSByZW1v
dGUgaG9zdC4KLSAgICAgICAgb2sgPTNEIFRydWUKLSAgICAgICAgZXh0ZXJuYWxfc2VydmljZS5s
b2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRyYW5zICkKLSAgICAgICAgc2NwX2NvbmZpZ3Mg
PTNEIGV4dGVybmFsX3NlcnZpY2UuZGF0YV90cmFuc2ZlclsgdHJhbnMubW9kZWwuRXh0ZXJuPQph
bFNlcnZpY2UuZGF0YV90cmFuc2Zlcl9wcm90b2NvbC5TQ1AgXQotICAgICAgICBpZiBub3Qgc2Nw
X2NvbmZpZ3NbICdob3N0JyBdIG9yIG5vdCBzY3BfY29uZmlnc1sgJ3VzZXJfbmFtZScgXSBvciA9
Cm5vdCBzY3BfY29uZmlnc1sgJ3Bhc3N3b3JkJyBdOgotICAgICAgICAgICAgc3RhdHVzID0zRCAn
ZXJyb3InCi0gICAgICAgICAgICBtZXNzYWdlID0zRCAiRXJyb3IgaW4gZXh0ZXJuYWwgc2Vydmlj
ZSBsb2dpbiBpbmZvcm1hdGlvbi4iCi0gICAgICAgICAgICBvayA9M0QgRmFsc2UKLQotICAgICAg
ICBkZWYgcHJpbnRfdGlja3MoIGQgKToKLSAgICAgICAgICAgIHBhc3MKLSAgICAgICAgY21kID0z
RCAnc3NoICVzQCVzICJscyAtcCBcJyVzXCciJyAlICggc2NwX2NvbmZpZ3NbICd1c2VyX25hbWUn
IF0sPQogc2NwX2NvbmZpZ3NbICdob3N0JyBdLCBmb2xkZXJfcGF0aCApCi0gICAgICAgICMgSGFu
ZGxlIHRoZSBhdXRoZW50aWNhdGlvbiBtZXNzYWdlIGlmIGtleXMgYXJlIG5vdCBzZXQgLSB0aGUg
bWVzcz0KYWdlIGlzCi0gICAgICAgICMgc29tZXRoaW5nIGxpa2U6ICJBcmUgeW91IHN1cmUgeW91
IHdhbnQgdG8gY29udGludWUgY29ubmVjdGluZyAoeT0KZXMvbm8pLiIKLSAgICAgICAgaWYgcGV4
cGVjdCBpcyBub3QgTm9uZToKLSAgICAgICAgICAgIG91dHB1dCA9M0QgcGV4cGVjdC5ydW4oIGNt
ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudHM9M0R7ICdcKHllc1wv
bm9cKVwuKicgOiAneWVzXHJcbicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJy5zc3dvcmQ6KicgOiBzY3BfY29uZmlnc1sgJ3Bhcz0Kc3dvcmQnIF0gKyAnXHJc
bicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGV4cGVjdC5U
SU1FT1VUIDogcHJpbnRfdGlja3MgfSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aW1lb3V0PTNEMTAgKQotICAgICAgICAgICAgaWYgJ05vIHN1Y2ggZmlsZSBvciBkaXJlY3Rv
cnknIGluIG91dHB1dDoKLSAgICAgICAgICAgICAgICBzdGF0dXMgPTNEICdlcnJvcicKLSAgICAg
ICAgICAgICAgICBtZXNzYWdlID0zRCAiTm8gZm9sZGVyIG5hbWVkICglcykgZXhpc3RzIG9uIHRo
ZSBleHRlcm5hbCBzPQplcnZpY2UuIiAlIGZvbGRlcl9wYXRoCi0gICAgICAgICAgICAgICAgb2sg
PTNEIEZhbHNlCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgc3RhdHVzID0zRCAnZXJy
b3InCi0gICAgICAgICAgICAgICAgbWVzc2FnZSA9M0QgUEVYUEVDVF9JTVBPUlRfTUVTU0FHRQot
ICAgICAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAgICAgICBpZiBvazoKLSAgICAgICAgICAg
IGlmICdhc3N3b3JkOicgaW4gb3V0cHV0OgotICAgICAgICAgICAgICAgICMgRWxpbWluYXRlIHRo
ZSBvdXRwdXQgY3JlYXRlZCB1c2luZyBzc2ggZnJvbSB0aGUgdHJlZQotICAgICAgICAgICAgICAg
IG91dHB1dF9hc19saXN0ID0zRCBvdXRwdXQuc3BsaXRsaW5lcygpWyAxOiBdCi0gICAgICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgICAgIG91dHB1dF9hc19saXN0ID0zRCBvdXRwdXQuc3BsaXRs
aW5lcygpCi0gICAgICAgICAgICByZXR1cm4gb3V0cHV0X2FzX2xpc3QKLSAgICAgICAgcmV0dXJu
IHRyYW5zLnJlc3BvbnNlLnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbGVyPTNE
J3JlPQpxdWVzdHNfYWRtaW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj0zRCdzZWxlY3Q9Cl9kYXRhc2V0c190b190cmFu
c2ZlcicsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVxdWVzdF9pZD0zRHRyYT0KbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCByZXF1ZXN0
LmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZXh0ZXJuYWxfc2VydmljZT0KX2lkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lk
KCBleHRlcm5hbF9zZXJ2aWNlLmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTNEc3RhdHVzLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9M0Rt
ZXNzYWc9CmUgKSApCi0KLSAgICBkZWYgX19jcmVhdGVfc2FtcGxlX2RhdGFzZXRzKCBzZWxmLCB0
cmFucywgc2FtcGxlLCBzZWxlY3RlZF9kYXRhc2V0c190PQpvX3RyYW5zZmVyLCBleHRlcm5hbF9z
ZXJ2aWNlICk6Ci0gICAgICAgIGV4dGVybmFsX3NlcnZpY2UubG9hZF9kYXRhX3RyYW5zZmVyX3Nl
dHRpbmdzKCB0cmFucyApCi0gICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNl
LmRhdGFfdHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4dGVybj0KYWxTZXJ2aWNlLmRhdGFfdHJhbnNm
ZXJfcHJvdG9jb2wuU0NQIF0KLSAgICAgICAgc2FtcGxlX2RhdGFzZXRfZmlsZV9uYW1lcyA9M0Qg
W10KLSAgICAgICAgaWYgc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXI6Ci0gICAgICAgICAg
ICBmb3IgZmlsZXBhdGggaW4gc2VsZWN0ZWRfZGF0YXNldHNfdG9fdHJhbnNmZXI6Ci0gICAgICAg
ICAgICAgICAgIyBGSVhNRTogaGFuZGxlIGZvbGRlciBzZWxlY3Rpb24gLSBpZ25vcmUgZm9sZGVy
cyBmb3Igbm93Ci0gICAgICAgICAgICAgICAgaWYgZmlsZXBhdGhbLTFdICE9M0Qgb3Muc2VwOgot
ICAgICAgICAgICAgICAgICAgICBuYW1lID0zRCBzZWxmLl9fcmVuYW1lX2RhdGFzZXQoIHNhbXBs
ZSwgZmlsZXBhdGguc3BsaXQ9CiggJy8nIClbLTFdLCBzY3BfY29uZmlncyApCi0gICAgICAgICAg
ICAgICAgICAgIHN0YXR1cyA9M0QgdHJhbnMuYXBwLm1vZGVsLlNhbXBsZURhdGFzZXQudHJhbnNm
ZXJfc3RhdD0KdXMuTk9UX1NUQVJURUQKLSAgICAgICAgICAgICAgICAgICAgc2l6ZSA9M0Qgc2Ft
cGxlLmdldF91bnRyYW5zZmVycmVkX2RhdGFzZXRfc2l6ZSggZmlsZXBhPQp0aCwgc2NwX2NvbmZp
Z3MgKQotICAgICAgICAgICAgICAgICAgICBzYW1wbGVfZGF0YXNldCA9M0QgdHJhbnMubW9kZWwu
U2FtcGxlRGF0YXNldCggc2FtcGxlPQo9M0RzYW1wbGUsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZV9wYXRoPQo9M0Rm
aWxlcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBzdGF0dXM9M0RzPQp0YXR1cywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPTNEbmFtPQpl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGVycm9yX21zZz0KPTNEJycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZT0zRHNpej0KZSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBleHRlcm5hbF9zPQplcnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlICkKLSAgICAgICAgICAgICAg
ICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5hZGQoIHNhbXBsZV9kYXRhc2V0ICkKLSAgICAgICAgICAg
ICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICAgICAgICAgICAgIHNh
bXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMuYXBwZW5kKCBzdHIoIHNhbXBsZV9kYXRhc2V0Lj0KbmFt
ZSApICkKLSAgICAgICAgcmV0dXJuIHNhbXBsZV9kYXRhc2V0X2ZpbGVfbmFtZXMKLQotICAgIGRl
ZiBfX3JlbmFtZV9kYXRhc2V0KCBzZWxmLCBzYW1wbGUsIGZpbGVwYXRoLCBzY3BfY29uZmlncyAp
OgotICAgICAgICBuYW1lID0zRCBmaWxlcGF0aC5zcGxpdCggJy8nIClbLTFdCi0gICAgICAgIG9w
dGlvbnMgPTNEIHNhbXBsZS5yZXF1ZXN0LnR5cGUucmVuYW1lX2RhdGFzZXRfb3B0aW9ucwotICAg
ICAgICBvcHRpb24gPTNEIHNjcF9jb25maWdzLmdldCggJ3JlbmFtZV9kYXRhc2V0Jywgb3B0aW9u
cy5OTyApCi0gICAgICAgIGlmIG9wdGlvbiA9M0Q9M0Qgb3B0aW9ucy5TQU1QTEVfTkFNRToKLSAg
ICAgICAgICAgIG5ld19uYW1lID0zRCBzYW1wbGUubmFtZSArICdfJyArIG5hbWUKLSAgICAgICAg
aWYgb3B0aW9uID0zRD0zRCBvcHRpb25zLkVYUEVSSU1FTlRfQU5EX1NBTVBMRV9OQU1FOgotICAg
ICAgICAgICAgbmV3X25hbWUgPTNEIHNhbXBsZS5yZXF1ZXN0Lm5hbWUgKyAnXycgKyBzYW1wbGUu
bmFtZSArICdfJyArIG49CmFtZQotICAgICAgICBpZiBvcHRpb24gPTNEPTNEIG9wdGlvbnMuRVhQ
RVJJTUVOVF9OQU1FOgotICAgICAgICAgICAgbmV3X25hbWUgPTNEIHNhbXBsZS5yZXF1ZXN0Lm5h
bWUgKyAnXycgKyBuYW1lCi0gICAgICAgIGVsc2U6Ci0gICAgICAgICAgICBuZXdfbmFtZSA9M0Qg
bmFtZQotICAgICAgICByZXR1cm4gdXRpbC5zYW5pdGl6ZV9mb3JfZmlsZW5hbWUoIG5ld19uYW1l
ICkKLQogICAgIGRlZiBfX2Vuc3VyZV9saWJyYXJ5X2FkZF9wZXJtaXNzaW9uKCBzZWxmLCB0cmFu
cywgdGFyZ2V0X2xpYnJhcnksIHRhcmc9CmV0X2ZvbGRlciApOgogICAgICAgICAiIiIKICAgICAg
ICAgRW5zdXJlcyB0aGUgY3VycmVudCBhZG1pbiB1c2VyIGhhcyBBRERfTElCUkFSWSBwZXJtaXNz
aW9uIG9uIHRoZSB0PQphcmdldCBkYXRhIGxpYnJhcnkgYW5kIGZvbGRlci4KQEAgLTU5NSw5MiAr
Mzg2LDYgQEAKICAgICAgICAgaWYgZmx1c2hfbmVlZGVkOgogICAgICAgICAgICAgdHJhbnMuc2Ff
c2Vzc2lvbi5mbHVzaCgpCj0yMAotICAgIGRlZiBfX2NyZWF0ZV9kYXRhX3RyYW5zZmVyX21lc3Nh
Z2VzKCBzZWxmLCB0cmFucywgc2FtcGxlLCBzZWxlY3RlZF9zYW09CnBsZV9kYXRhc2V0cyApOgot
ICAgICAgICAiIiIKLSAgICAgICAgQ3JlYXRlcyB0aGUgeG1sIG1lc3NhZ2VzIHRvIHNlbmQgdG8g
dGhlIHJhYmJpdG1xIHNlcnZlci4gSXQgcmV0dXJuPQpzIGEgZGljdGlvbmFyeSBvZiBtZXNzYWdl
cwotICAgICAgICBrZXllZCBieSB0aGUgZXh0ZXJuYWwgc2VydmljZSB1c2VkIHRvIHRyYW5zZmVy
IHRoZSBkYXRhc2V0cwotICAgICAgICAiIiIKLSAgICAgICAgIyBDcmVhdGUgdGhlIHhtbCBtZXNz
YWdlIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgdGVtcGxhdGUKLSAgICAgICAgeG1sID0zRCBcCi0g
ICAgICAgICAgICAnJycgPGRhdGFfdHJhbnNmZXI+Ci0gICAgICAgICAgICAgICAgICAgIDxnYWxh
eHlfaG9zdD4lKEdBTEFYWV9IT1NUKXM8L2dhbGF4eV9ob3N0PgotICAgICAgICAgICAgICAgICAg
ICA8YXBpX2tleT4lKEFQSV9LRVkpczwvYXBpX2tleT4KLSAgICAgICAgICAgICAgICAgICAgPGRh
dGFfaG9zdD4lKERBVEFfSE9TVClzPC9kYXRhX2hvc3Q+Ci0gICAgICAgICAgICAgICAgICAgIDxk
YXRhX3VzZXI+JShEQVRBX1VTRVIpczwvZGF0YV91c2VyPgotICAgICAgICAgICAgICAgICAgICA8
ZGF0YV9wYXNzd29yZD4lKERBVEFfUEFTU1dPUkQpczwvZGF0YV9wYXNzd29yZD4KLSAgICAgICAg
ICAgICAgICAgICAgPHJlcXVlc3RfaWQ+JShSRVFVRVNUX0lEKXM8L3JlcXVlc3RfaWQ+Ci0gICAg
ICAgICAgICAgICAgICAgIDxzYW1wbGVfaWQ+JShTQU1QTEVfSUQpczwvc2FtcGxlX2lkPgotICAg
ICAgICAgICAgICAgICAgICA8bGlicmFyeV9pZD4lKExJQlJBUllfSUQpczwvbGlicmFyeV9pZD4K
LSAgICAgICAgICAgICAgICAgICAgPGZvbGRlcl9pZD4lKEZPTERFUl9JRClzPC9mb2xkZXJfaWQ+
Ci0gICAgICAgICAgICAgICAgICAgICUoREFUQVNFVFMpcwotICAgICAgICAgICAgICAgIDwvZGF0
YV90cmFuc2Zlcj4nJycKLSAgICAgICAgZGF0YXNldF94bWwgPTNEIFwKLSAgICAgICAgICAgICcn
JzxkYXRhc2V0PgotICAgICAgICAgICAgICAgICAgIDxkYXRhc2V0X2lkPiUoSUQpczwvZGF0YXNl
dF9pZD4KLSAgICAgICAgICAgICAgICAgICA8bmFtZT4lKE5BTUUpczwvbmFtZT4KLSAgICAgICAg
ICAgICAgICAgICA8ZmlsZT4lKEZJTEUpczwvZmlsZT4KLSAgICAgICAgICAgICAgIDwvZGF0YXNl
dD4nJycKLSAgICAgICAgIyBIZXJlIHdlIGdyb3VwIGFsbCB0aGUgc2FtcGxlX2RhdGFzZXRzIGJ5
IHRoZSBleHRlcm5hbCBzZXJ2aWNlIHVzPQplZCB0byB0cmFuc2ZlciB0aGVtLgotICAgICAgICAj
IFRoZSBpZGVhIGlzIHRvIGJ1bmRsZSB1cCB0aGUgc2FtcGxlX2RhdGFzZXRzIHdoaWNoIHVzZXMg
dGhlIHNhbWU9CiBleHRlcm5hbCBzZXJ2aWNlIGFuZAotICAgICAgICAjIHNlbmQgYSBzaW5nbGUg
QU1RUCBtZXNzYWdlIHRvIHRoZSBnYWxheHlfbGlzdGVuZXIKLSAgICAgICAgZGF0YXNldF9lbGVt
ZW50cyA9M0Qge30KLSAgICAgICAgZm9yIHNhbXBsZV9kYXRhc2V0IGluIHNlbGVjdGVkX3NhbXBs
ZV9kYXRhc2V0czoKLSAgICAgICAgICAgIGV4dGVybmFsX3NlcnZpY2UgPTNEIHNhbXBsZV9kYXRh
c2V0LmV4dGVybmFsX3NlcnZpY2UKLSAgICAgICAgICAgIGlmIHNhbXBsZV9kYXRhc2V0LnN0YXR1
cyA9M0Q9M0QgdHJhbnMuYXBwLm1vZGVsLlNhbXBsZURhdGFzZXQuPQp0cmFuc2Zlcl9zdGF0dXMu
Tk9UX1NUQVJURUQ6Ci0gICAgICAgICAgICAgICAgaWYgZXh0ZXJuYWxfc2VydmljZSBub3QgaW4g
ZGF0YXNldF9lbGVtZW50czoKLSAgICAgICAgICAgICAgICAgICAgZGF0YXNldF9lbGVtZW50c1sg
ZXh0ZXJuYWxfc2VydmljZSBdID0zRCAnJwotICAgICAgICAgICAgICAgIGRhdGFzZXRfZWxlbWVu
dHNbIGV4dGVybmFsX3NlcnZpY2UgXSArPTNEIGRhdGFzZXRfeG1sICUgZGk9CmN0KCBJRD0zRHN0
ciggc2FtcGxlX2RhdGFzZXQuaWQgKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPQogIE5BTUU9M0RzYW1w
bGVfZGF0YXNldC5uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgRklMRT0zRHNhbXBsZV9kYXRh
c2V0LmZpbGVfcGF0aCApCi0gICAgICAgICAgICAgICAgIyB1cGRhdGUgdGhlIGRhdGFzZXQgdHJh
bnNmZXIgc3RhdHVzCi0gICAgICAgICAgICAgICAgc2FtcGxlX2RhdGFzZXQuc3RhdHVzID0zRCB0
cmFucy5hcHAubW9kZWwuU2FtcGxlRGF0YXNldC50cj0KYW5zZmVyX3N0YXR1cy5JTl9RVUVVRQot
ICAgICAgICAgICAgICAgIHRyYW5zLnNhX3Nlc3Npb24uYWRkKCBzYW1wbGVfZGF0YXNldCApCi0g
ICAgICAgICAgICAgICAgdHJhbnMuc2Ffc2Vzc2lvbi5mbHVzaCgpCi0gICAgICAgICMgRmluYWxs
eSBwcmVwZW5kIHRoZSBleHRlcm5hbCBzZXJ2aWNlIGluZm8gdG8gdGhlIHNldHMgb2Ygc2FtcGxl
ID0KZGF0YXNldHMKLSAgICAgICAgbWVzc2FnZXMgPTNEIFtdCi0gICAgICAgIGZvciBleHRlcm5h
bF9zZXJ2aWNlLCBkYXRhc2V0X2VsZW0gaW4gZGF0YXNldF9lbGVtZW50cy5pdGVtcygpOgotICAg
ICAgICAgICAgZXh0ZXJuYWxfc2VydmljZS5sb2FkX2RhdGFfdHJhbnNmZXJfc2V0dGluZ3MoIHRy
YW5zICkKLSAgICAgICAgICAgIHNjcF9jb25maWdzID0zRCBleHRlcm5hbF9zZXJ2aWNlLmRhdGFf
dHJhbnNmZXJbIHRyYW5zLm1vZGVsLkV4PQp0ZXJuYWxTZXJ2aWNlLmRhdGFfdHJhbnNmZXJfcHJv
dG9jb2wuU0NQIF0KLSAgICAgICAgICAgICMgQ2hlY2sgZGF0YSB0cmFuc2ZlciBzZXR0aW5ncwot
ICAgICAgICAgICAgZXJyX21zZyA9M0Qgc2VsZi5fX3ZhbGlkYXRlX2RhdGFfdHJhbnNmZXJfc2V0
dGluZ3MoIHRyYW5zLCBzYW09CnBsZS5yZXF1ZXN0LnR5cGUsIHNjcF9jb25maWdzICkKLSAgICAg
ICAgICAgIGlmIGVycl9tc2c6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zLnJlc3BvbnNl
LnNlbmRfcmVkaXJlY3QoIHdlYi51cmxfZm9yKCBjb250cm9sbD0KZXI9M0QncmVxdWVzdHNfYWRt
aW4nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uPQo9M0QnbWFuYWdlX2RhdGFzZXRzJywKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNh
bXBsZV9pPQpkPTNEdHJhbnMuc2VjdXJpdHkuZW5jb2RlX2lkKCBzYW1wbGUuaWQgKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXR1cz0KPTNEJ2Vycm9yJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U9Cj0zRGVycl9tc2cgKSAp
Ci0gICAgICAgICAgICBtZXNzYWdlID0zRCB4bWwgJSBkaWN0KCBHQUxBWFlfSE9TVD0zRHRyYW5z
LnJlcXVlc3QuaG9zdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUElfS0VZ
PTNEdHJhbnMudXNlci5hcGlfa2V5c1swXS5rZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgREFUQV9IT1NUPTNEc2NwX2NvbmZpZ3NbICdob3N0JyBdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIERBVEFfVVNFUj0zRHNjcF9jb25maWdzWyAndXNlcl9uYW1l
JyBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERBVEFfUEFTU1dPUkQ9M0Rz
Y3BfY29uZmlnc1sgJ3Bhc3N3b3JkJyA9Cl0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgUkVRVUVTVF9JRD0zRHN0ciggc2FtcGxlLnJlcXVlc3QuaWQgKSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTQU1QTEVfSUQ9M0RzdHIoIHNhbXBsZS5pZCApLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExJQlJBUllfSUQ9M0RzdHIoIHNhbXBsZS5s
aWJyYXJ5LmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRk9MREVSX0lE
PTNEc3RyKCBzYW1wbGUuZm9sZGVyLmlkICksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgREFUQVNFVFM9M0RkYXRhc2V0X2VsZW0gKQotICAgICAgICAgICAgbWVzc2FnZXMuYXBw
ZW5kKCBtZXNzYWdlLnJlcGxhY2UoICdcbicsICcnICkucmVwbGFjZSggJ1xyJywgJyc9CiApICkK
LSAgICAgICAgcmV0dXJuIG1lc3NhZ2VzCi0KLSAgICBkZWYgX192YWxpZGF0ZV9kYXRhX3RyYW5z
ZmVyX3NldHRpbmdzKCBzZWxmLCB0cmFucywgcmVxdWVzdF90eXBlLCBzY3BfPQpjb25maWdzICk6
Ci0gICAgICAgIGVycl9tc2cgPTNEICcnCi0gICAgICAgICMgY2hlY2sgdGhlIGV4dGVybmFsIHNl
cnZpY2UgbG9naW4gaW5mbwotICAgICAgICBpZiBub3Qgc2NwX2NvbmZpZ3MuZ2V0KCAnaG9zdCcs
ICcnICkgb3IgXAotICAgICAgICAgICAgICAgIG5vdCBzY3BfY29uZmlncy5nZXQoICd1c2VyX25h
bWUnLCAnJyApIG9yIFwKLSAgICAgICAgICAgICAgICBub3Qgc2NwX2NvbmZpZ3MuZ2V0KCAncGFz
c3dvcmQnLCAnJyApOgotICAgICAgICAgICAgZXJyX21zZyArPTNEICJFcnJvciBpbiBleHRlcm5h
bCBzZXJ2aWNlIGxvZ2luIGluZm9ybWF0aW9uLiAiCi0gICAgICAgIGlmIG5vdCB0cmFucy51c2Vy
LmFwaV9rZXlzOgotICAgICAgICAgICAgZXJyX21zZyArPTNEICJTZXQgeW91ciBBUEkgS2V5IGlu
IHlvdXIgVXNlciBQcmVmZXJlbmNlcyB0byB0cmE9Cm5zZmVyIGRhdGFzZXRzLiAiCi0gICAgICAg
ICMgQ2hlY2sgaWYgbGlicmFyeV9pbXBvcnRfZGlyIGlzIHNldAotICAgICAgICBpZiBub3QgdHJh
bnMuYXBwLmNvbmZpZy5saWJyYXJ5X2ltcG9ydF9kaXI6Ci0gICAgICAgICAgICBlcnJfbXNnID0z
RCAiJ1RoZSBsaWJyYXJ5X2ltcG9ydF9kaXInIHNldHRpbmcgaXMgbm90IGNvcnJlY3RseT0KIHNl
dCBpbiB0aGUgR2FsYXh5IGNvbmZpZyBmaWxlLiAiCi0gICAgICAgICMgQ2hlY2sgdGhlIFJhYmJp
dE1RIHNlcnZlciBzZXR0aW5ncyBpbiB0aGUgY29uZmlnIGZpbGUKLSAgICAgICAgZm9yIGssIHYg
aW4gdHJhbnMuYXBwLmNvbmZpZy5hbXFwLml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiBub3QgdjoK
LSAgICAgICAgICAgICAgICBlcnJfbXNnICs9M0QgJ1NldCBSYWJiaXRNUSBzZXJ2ZXIgc2V0dGlu
Z3MgaW4gdGhlICJnYWxheHlfPQphbXFwIiBzZWN0aW9uIG9mIHRoZSBHYWxheHkgY29uZmlnIGZp
bGUsIHNwZWNpZmljYWxseSAiJXMiIGlzIG5vdCBzZXQuJyAlIGsKLSAgICAgICAgICAgICAgICBi
cmVhawotICAgICAgICByZXR1cm4gZXJyX21zZwotCiAgICAgQHdlYi5leHBvc2UKICAgICBAd2Vi
LnJlcXVpcmVfYWRtaW4KICAgICBkZWYgaW5pdGlhdGVfZGF0YV90cmFuc2Zlciggc2VsZiwgdHJh
bnMsIHNhbXBsZV9pZCwgc2FtcGxlX2RhdGFzZXRzPTNEPQpbXSwgc2FtcGxlX2RhdGFzZXRfaWQ9
M0QnJyApOgpAQCAtNzIyLDM1ICs0MjcsOCBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA9CiAgICAgICAg
ICAgICAgICAgIGV4dGVybmFsX3NlcnZpY2U9M0RleHRlcm5hbF9zZXJ2aWNlLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA9CiAgICAgICAgICAgICAgICAgIGV4dGVybmFsX3NlcnZpY2VfdHlwZT0zRGV4dGVy
bmFsX3NlcnZpY2VfdHlwZSApCiAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAjIFRPRE86IFVz
aW5nIFJhYmJpdE1xIGZvciBub3csIGJ1dCBlbGltaW5hdGUgdGhpcyBlbnRpcmUgYmxvYz0KayB3
aGVuIHdlIHJlcGxhY2UgUmFiYml0TXEgd2l0aCBHYWxheHkncwotICAgICAgICAgICAgIyBvd24g
bWVzc2FnaW5nIGVuZ2luZS4gIFdlJ3JlIGhvbGRpbmcgb2ZmIG9uIHVzaW5nIHRoZSBuZXcgd2E9
CnkgdG8gdHJhbnNmZXIgZmlsZXMgbWFudWFsbHkgdW50aWwgd2UKLSAgICAgICAgICAgICMgaW1w
bGVtZW50IGEgR2FsYXh5LXByb3ByaWV0YXJ5IG1lc3NhZ2luZyBlbmdpbmUgYmVjYXVzZSB0aGUg
PQpkZWZlcnJlZCBqb2IgcGx1Z2lucyBjdXJyZW50bHkgcGVyZm9ybQotICAgICAgICAgICAgIyBj
b25zdGFudCBkYiBoaXRzIHRvIGNoZWNrIGZvciBkZWZlcnJlZCBqb2JzIHRoYXQgYXJlIG5vdCBp
biA9CmEgZmluaXNoZWQgc3RhdGUuCi0gICAgICAgICAgICAjIENyZWF0ZSB0aGUgbWVzc2FnZQot
ICAgICAgICAgICAgbWVzc2FnZXMgPTNEIHNlbGYuX19jcmVhdGVfZGF0YV90cmFuc2Zlcl9tZXNz
YWdlcyggdHJhbnMsIHNhbXA9CmxlLCBzYW1wbGVfZGF0YXNldHMgKQotICAgICAgICAgICAgIyBT
ZW5kIHRoZSBtZXNzYWdlcwotICAgICAgICAgICAgZm9yIHJtcV9tc2cgaW4gbWVzc2FnZXM6Ci0g
ICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBjb25uID0zRCBhbXFwLkNv
bm5lY3Rpb24oIGhvc3Q9M0R0cmFucy5hcHAuY29uZmlnLmFtcXA9ClsgJ2hvc3QnIF0gKyAiOiIg
KyB0cmFucy5hcHAuY29uZmlnLmFtcXBbICdwb3J0JyBdLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1c2VyaWQ9M0R0cmFucy5hcHAuY29uZmlnLmFtcXA9Clsg
J3VzZXJpZCcgXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGFzc3dvcmQ9M0R0cmFucy5hcHAuY29uZmlnLmFtPQpxcFsgJ3Bhc3N3b3JkJyBdLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aXJ0dWFsX2hvc3Q9M0R0cmFu
cy5hcHAuY29uZmk9CmcuYW1xcFsgJ3ZpcnR1YWxfaG9zdCcgXSkKLSAgICAgICAgICAgICAgICAg
ICAgY2hhbiA9M0QgY29ubi5jaGFubmVsKCkKLSAgICAgICAgICAgICAgICAgICAgbXNnID0zRCBh
bXFwLk1lc3NhZ2UoIHJtcV9tc2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29udGVudF90eXBlPTNEJ3RleHQvcGxhaW4nLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uX2hlYWRlcnM9M0R7ICdtc2dfdHlwZSc9Cjog
J2RhdGFfdHJhbnNmZXInIH0gKQotICAgICAgICAgICAgICAgICAgICBtc2cucHJvcGVydGllc1sg
ImRlbGl2ZXJ5X21vZGUiIF0gPTNEIDIKLSAgICAgICAgICAgICAgICAgICAgY2hhbi5iYXNpY19w
dWJsaXNoKCBtc2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhj
aGFuZ2U9M0R0cmFucy5hcHAuY29uZmlnLmFtcXBbID0KJ2V4Y2hhbmdlJyBdLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRpbmdfa2V5PTNEdHJhbnMuYXBwLmNv
bmZpZy5hbXE9CnBbICdyb3V0aW5nX2tleScgXSApCi0gICAgICAgICAgICAgICAgICAgIGNoYW4u
Y2xvc2UoKQotICAgICAgICAgICAgICAgICAgICBjb25uLmNsb3NlKCkKLSAgICAgICAgICAgICAg
ICBleGNlcHQgRXhjZXB0aW9uLCBlOgotICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0zRCAi
RXJyb3Igc2VuZGluZyB0aGUgZGF0YSB0cmFuc2ZlciBtZXNzYWdlIHQ9Cm8gdGhlIEdhbGF4eSBB
TVFQIG1lc3NhZ2UgcXVldWU6PGJyLz4lcyIgJSBzdHIoZSkKLSAgICAgICAgICAgICAgICAgICAg
c3RhdHVzID0zRCAiZXJyb3IiCi0gICAgICAgICAgICBpZiBub3QgbWVzc2FnZToKLSAgICAgICAg
ICAgICAgICBtZXNzYWdlID0zRCAiJWkgZGF0YXNldHMgaGF2ZSBiZWVuIHF1ZXVlZCBmb3IgdHJh
bnNmZXIgZnJvPQptIHRoZSBleHRlcm5hbCBzZXJ2aWNlLiIgJSBsZW4oIHNhbXBsZV9kYXRhc2V0
cyApCi0gICAgICAgICAgICAgICAgc3RhdHVzID0zRCAiZG9uZSIKKyAgICAgICAgICAgIG1lc3Nh
Z2UgPTNEICJNZXNzYWdlIHF1ZXVlIHRyYW5zZmVyIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQsIHBs
PQplYXNlIHNldCBlbmFibGVfYmV0YV9qb2JfbWFuYWdlcnMgPTNEIFRydWUgaW4gZ2FsYXh5Lmlu
aSIKKyAgICAgICAgICAgIHN0YXR1cyA9M0QgImVycm9yIgogICAgICAgICByZXR1cm4gdHJhbnMu
cmVzcG9uc2Uuc2VuZF9yZWRpcmVjdCggd2ViLnVybF9mb3IoIGNvbnRyb2xsZXI9M0QncmU9CnF1
ZXN0c19hZG1pbicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWN0aW9uPTNEJ21hbmFnZT0KX2RhdGFzZXRzJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGVfaWQ9
M0R0cmFuPQpzLnNlY3VyaXR5LmVuY29kZV9pZCggc2FtcGxlLmlkICksCgpkaWZmIC1yIGQ2MmYz
ZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIgMzZjMDUyNjEzNDM0MTIzNzBm
OWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkvd2ViYXBwcy90b29sX3NoZWQvY29u
dHJvbGxlcnMvcmVwb3NpdG9yeS5weQotLS0gYS9saWIvZ2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVk
L2NvbnRyb2xsZXJzL3JlcG9zaXRvcnkucHkKKysrIGIvbGliL2dhbGF4eS93ZWJhcHBzL3Rvb2xf
c2hlZC9jb250cm9sbGVycy9yZXBvc2l0b3J5LnB5CkBAIC0xNDcwLDExICsxNDcwLDExIEBACiAg
ICAgICAgIHJldHVybiAnJwo9MjAKICAgICBAd2ViLmpzb24KLSAgICBkZWYgZ2V0X2ZpbGVfY29u
dGVudHMoIHNlbGYsIHRyYW5zLCBmaWxlX3BhdGggKToKKyAgICBkZWYgZ2V0X2ZpbGVfY29udGVu
dHMoIHNlbGYsIHRyYW5zLCBmaWxlX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKICAgICAgICAgIyBB
dm9pZCBjYWNoaW5nCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ1ByYWdtYSddID0z
RCAnbm8tY2FjaGUnCiAgICAgICAgIHRyYW5zLnJlc3BvbnNlLmhlYWRlcnNbJ0V4cGlyZXMnXSA9
M0QgJzAnCi0gICAgICAgIHJldHVybiBzdWMuZ2V0X3JlcG9zaXRvcnlfZmlsZV9jb250ZW50cygg
ZmlsZV9wYXRoICkKKyAgICAgICAgcmV0dXJuIHN1Yy5nZXRfcmVwb3NpdG9yeV9maWxlX2NvbnRl
bnRzKCB0cmFucy5hcHAsIGZpbGVfcGF0aCwgcmVwPQpvc2l0b3J5X2lkICkKPTIwCiAgICAgQHdl
Yi5leHBvc2UKICAgICBkZWYgZ2V0X2Z1bmN0aW9uYWxfdGVzdF9yc3MoIHNlbGYsIHRyYW5zLCAq
Kmt3ZCApOgpAQCAtMTY4NCw2ICsxNjg0LDE0IEBACiAgICAgICAgICAgICAgICAgICAgICBpbmNs
dWRlc190b29sX2RlcGVuZGVuY2llcz0zRGluY2x1ZGVzX3Rvb2xfZGVwZW5kZW5jaT0KZXMsCiAg
ICAgICAgICAgICAgICAgICAgICByZXBvX2luZm9fZGljdHM9M0RyZXBvX2luZm9fZGljdHMgKQo9
MjAKKyAgICBAd2ViLmV4cG9zZQorICAgIGRlZiBnZXRfcmVwb3NpdG9yeV90eXBlKCBzZWxmLCB0
cmFucywgKiprd2QgKToKKyAgICAgICAgIiIiR2l2ZW4gYSByZXBvc2l0b3J5IG5hbWUgYW5kIG93
bmVyLCByZXR1cm4gdGhlIHR5cGUuIiIiCisgICAgICAgIHJlcG9zaXRvcnlfbmFtZSA9M0Qga3dk
WyAnbmFtZScgXQorICAgICAgICByZXBvc2l0b3J5X293bmVyID0zRCBrd2RbICdvd25lcicgXQor
ICAgICAgICByZXBvc2l0b3J5ID0zRCBzdWMuZ2V0X3JlcG9zaXRvcnlfYnlfbmFtZV9hbmRfb3du
ZXIoIHRyYW5zLmFwcCwgcmU9CnBvc2l0b3J5X25hbWUsIHJlcG9zaXRvcnlfb3duZXIgKQorICAg
ICAgICByZXR1cm4gc3RyKCByZXBvc2l0b3J5LnR5cGUgKQorCiAgICAgQHdlYi5qc29uCiAgICAg
ZGVmIGdldF9yZXF1aXJlZF9yZXBvX2luZm9fZGljdCggc2VsZiwgdHJhbnMsIGVuY29kZWRfc3Ry
PTNETm9uZSApOgogICAgICAgICAiIiIKQEAgLTE3NTEsNiArMTc1OSwyMiBAQAogICAgICAgICAg
ICAgcmV0dXJuIGNvbnRlbnRzCiAgICAgICAgIHJldHVybiAnJwo9MjAKKyAgICBAd2ViLmpzb24K
KyAgICBkZWYgZ2V0X3Rvb2xfZGVwZW5kZW5jeV9kZWZpbml0aW9uX21ldGFkYXRhKCBzZWxmLCB0
cmFucywgKiprd2QgKToKKyAgICAgICAgIiIiCisgICAgICAgIEdpdmVuIGEgcmVwb3NpdG9yeSBu
YW1lIGFuZCBvd25lcm9mIGEgcmVwb3NpdG9yeSB3aG9zZSB0eXBlIGlzCisgICAgICAgIHRvb2xf
ZGVwZW5kZW5jeV9kZWZpbml0aW9uLCByZXR1cm4gdGhlIGN1cnJlbnQgbWV0YWRhdGEuCisgICAg
ICAgICIiIgorICAgICAgICByZXBvc2l0b3J5X25hbWUgPTNEIGt3ZFsgJ25hbWUnIF0KKyAgICAg
ICAgcmVwb3NpdG9yeV9vd25lciA9M0Qga3dkWyAnb3duZXInIF0KKyAgICAgICAgcmVwb3NpdG9y
eSA9M0Qgc3VjLmdldF9yZXBvc2l0b3J5X2J5X25hbWVfYW5kX293bmVyKCB0cmFucy5hcHAsIHJl
PQpwb3NpdG9yeV9uYW1lLCByZXBvc2l0b3J5X293bmVyICkKKyAgICAgICAgZW5jb2RlZF9pZCA9
M0QgdHJhbnMuYXBwLnNlY3VyaXR5LmVuY29kZV9pZCggcmVwb3NpdG9yeS5pZCApCisgICAgICAg
IHJlcG9zaXRvcnlfdGlwID0zRCByZXBvc2l0b3J5LnRpcCggdHJhbnMuYXBwICkKKyAgICAgICAg
cmVwb3NpdG9yeV9tZXRhZGF0YSA9M0Qgc3VjLmdldF9yZXBvc2l0b3J5X21ldGFkYXRhX2J5X2No
YW5nZXNldF9yPQpldmlzaW9uKCB0cmFucy5hcHAsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KICAgICAg
IGVuY29kZWRfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0KICAgICAgIHJlcG9zaXRvcnlfdGlwICkK
KyAgICAgICAgcmV0dXJuIHJlcG9zaXRvcnlfbWV0YWRhdGEubWV0YWRhdGEKKwogICAgIEB3ZWIu
ZXhwb3NlCiAgICAgZGVmIGdldF90b29sX3ZlcnNpb25zKCBzZWxmLCB0cmFucywgKiprd2QgKToK
ICAgICAgICAgIiIiCkBAIC0yNDE1LDExICsyNDM5LDExIEBACiAgICAgICAgIHJldHVybiAnJwo9
MjAKICAgICBAd2ViLmpzb24KLSAgICBkZWYgb3Blbl9mb2xkZXIoIHNlbGYsIHRyYW5zLCBmb2xk
ZXJfcGF0aCApOgorICAgIGRlZiBvcGVuX2ZvbGRlciggc2VsZiwgdHJhbnMsIGZvbGRlcl9wYXRo
LCByZXBvc2l0b3J5X2lkICk6CiAgICAgICAgICMgQXZvaWQgY2FjaGluZwogICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydQcmFnbWEnXSA9M0QgJ25vLWNhY2hlJwogICAgICAgICB0cmFu
cy5yZXNwb25zZS5oZWFkZXJzWydFeHBpcmVzJ10gPTNEICcwJwotICAgICAgICByZXR1cm4gc3Vj
Lm9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRoICkKKyAgICAgICAgcmV0
dXJuIHN1Yy5vcGVuX3JlcG9zaXRvcnlfZmlsZXNfZm9sZGVyKCB0cmFucy5hcHAsIGZvbGRlcl9w
YXRoLCByPQplcG9zaXRvcnlfaWQgKQo9MjAKICAgICBAd2ViLmV4cG9zZQogICAgIGRlZiBwcmV2
aWV3X3Rvb2xzX2luX2NoYW5nZXNldCggc2VsZiwgdHJhbnMsIHJlcG9zaXRvcnlfaWQsICoqa3dk
ICk6CgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIg
MzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IGxpYi9nYWxheHkvd2Vi
YXBwcy90b29sX3NoZWQvZnJhbWV3b3JrL21pZGRsZXdhcmUvaGcucHkKLS0tIGEvbGliL2dhbGF4
eS93ZWJhcHBzL3Rvb2xfc2hlZC9mcmFtZXdvcmsvbWlkZGxld2FyZS9oZy5weQorKysgYi9saWIv
Z2FsYXh5L3dlYmFwcHMvdG9vbF9zaGVkL2ZyYW1ld29yay9taWRkbGV3YXJlL2hnLnB5CkBAIC0x
MCw3ICsxMCw3IEBACiBmcm9tIHBhc3RlLmh0dHBoZWFkZXJzIGltcG9ydCBBVVRIX1RZUEUKIGZy
b20gcGFzdGUuaHR0cGhlYWRlcnMgaW1wb3J0IFJFTU9URV9VU0VSCj0yMAotZnJvbSBnYWxheHku
dXRpbCBpbXBvcnQgYXNib29sCitmcm9tIGdhbGF4eS51dGlsIGltcG9ydCBhc2Jvb2wsIHNhZmVf
cmVscGF0aAogZnJvbSBnYWxheHkudXRpbC5oYXNoX3V0aWwgaW1wb3J0IG5ld19zZWN1cmVfaGFz
aAogZnJvbSB0b29sX3NoZWQudXRpbCBpbXBvcnQgaGdfdXRpbAogZnJvbSB0b29sX3NoZWQudXRp
bCBpbXBvcnQgY29tbWl0X3V0aWwKQEAgLTExNSw3ICsxMTUsMTEgQEAKICAgICAgICAgICAgICAg
ICAgICAgZmgud3JpdGUoIGNodW5rICkKICAgICAgICAgICAgICAgICBmaC5jbG9zZSgpCiAgICAg
ICAgICAgICAgICAgZmggPTNEIG9wZW4oIHRtcF9maWxlbmFtZSwgJ3JiJyApCi0gICAgICAgICAg
ICAgICAgY2hhbmdlc2V0X2dyb3VwcyA9M0QganNvbi5sb2FkcyggaGdfdXRpbC5idW5kbGVfdG9f
anNvbiggZj0KaCApICkKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAg
IGNoYW5nZXNldF9ncm91cHMgPTNEIGpzb24ubG9hZHMoIGhnX3V0aWwuYnVuZGxlX3RvX2pzbz0K
biggZmggKSApCisgICAgICAgICAgICAgICAgZXhjZXB0IEF0dHJpYnV0ZUVycm9yOgorICAgICAg
ICAgICAgICAgICAgICBtc2cgPTNEICdZb3VyIHZlcnNpb24gb2YgTWVyY3VyaWFsIGlzIG5vdCBz
dXBwb3J0ZWQuIFA9CmxlYXNlIHVzZSBhIHZlcnNpb24gPCAzLjUnCisgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBzZWxmLl9fZGlzcGxheV9leGNlcHRpb25fcmVtb3RlbHkoIHN0YXJ0X3Jlc3Bv
bj0Kc2UsIG1zZyApCiAgICAgICAgICAgICAgICAgZmguY2xvc2UoKQogICAgICAgICAgICAgICAg
IHRyeToKICAgICAgICAgICAgICAgICAgICAgb3MudW5saW5rKCB0bXBfZmlsZW5hbWUgKQpAQCAt
MTI0LDYgKzEyOCwxOSBAQAogICAgICAgICAgICAgICAgIGlmIGNoYW5nZXNldF9ncm91cHM6CiAg
ICAgICAgICAgICAgICAgICAgICMgQ2hlY2sgdGhlIHJlcG9zaXRvcnkgdHlwZSB0byBtYWtlIHN1
cmUgaW5hcHByb3ByaWF0ZT0KIGZpbGVzIGFyZSBub3QgYmVpbmcgcHVzaGVkLgogICAgICAgICAg
ICAgICAgICAgICBpZiAnUEFUSF9JTkZPJyBpbiBlbnZpcm9uOgorICAgICAgICAgICAgICAgICAg
ICAgICAgIyBFbnN1cmUgdGhlcmUgYXJlIG5vIHN5bWxpbmtzIHdpdGggdGFyZ2V0cyBvdXRzaWQ9
CmUgdGhlIHJlcG8KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciBlbnRyeSBpbiBjaGFuZ2Vz
ZXRfZ3JvdXBzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGxlbiggZW50cnkgKSA9
M0Q9M0QgMjoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWUsIGNoYW5n
ZV9saXN0ID0zRCBlbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qg
aXNpbnN0YW5jZShjaGFuZ2VfbGlzdCwgbGlzdCk6CisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjaGFuZ2VfbGlzdCA9M0QgW2NoYW5nZV9saXN0XQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmb3IgY2hhbmdlIGluIGNoYW5nZV9saXN0OgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHBhdGNoIGluIGNoYW5nZVsnZGF0YSddOgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldCA9M0QgcGF0Y2hbJ2Js
b2NrJ10uc3RyaXAoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICggKCBwYXRjaFsnZW5kJ10gLSBwYXRjaFsnc3RhcnQ9CiddID0zRD0zRCAwICkgYW5kIG5vdCBz
YWZlX3JlbHBhdGgoIHRhcmdldCApICk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1zZyA9M0QgIkNoYW5nZXMgaW5jbHVkZSBhIHN5bT0KbGluayBvdXRzaWRl
IG9mIHRoZSByZXBvc2l0b3J5OiAlcyAtPiAlcyIgJSAoIGZpbGVuYW1lLCB0YXJnZXQgKQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2cud2FybmluZyggbXNn
ICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNl
bGYuX19kaXNwbGF5X2V4Y2VwdGlvPQpuX3JlbW90ZWx5KCBzdGFydF9yZXNwb25zZSwgbXNnICkK
ICAgICAgICAgICAgICAgICAgICAgICAgICMgSW5zdGFudGlhdGUgYSBkYXRhYmFzZSBjb25uZWN0
aW9uCiAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUgPTNEIHNxbGFsY2hlbXkuY3JlYXRl
X2VuZ2luZSggc2VsZi5kYl91cmwgKQogICAgICAgICAgICAgICAgICAgICAgICAgY29ubmVjdGlv
biA9M0QgZW5naW5lLmNvbm5lY3QoKQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNh
ZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3
YWE1NSBsaWIvZ2FsYXh5L3dvcmtmbG93L2V4dHJhY3QucHkKLS0tIGEvbGliL2dhbGF4eS93b3Jr
Zmxvdy9leHRyYWN0LnB5CisrKyBiL2xpYi9nYWxheHkvd29ya2Zsb3cvZXh0cmFjdC5weQpAQCAt
MTQsNyArMTQsOCBAQAogZnJvbSBnYWxheHkudG9vbHMgaW1wb3J0IFRvb2xPdXRwdXRDb2xsZWN0
aW9uUGFydAogZnJvbSBnYWxheHkudG9vbHMucGFyYW1ldGVycy5ncm91cGluZyBpbXBvcnQgKAog
ICAgIENvbmRpdGlvbmFsLAotICAgIFJlcGVhdAorICAgIFJlcGVhdCwKKyAgICBTZWN0aW9uCiAp
CiBmcm9tIC5zdGVwcyBpbXBvcnQgKAogICAgIGF0dGFjaF9vcmRlcmVkX3N0ZXBzLApAQCAtMzQw
LDEwICszNDEsMTEgQEAKICAgICAgICAgICAgICAgICAgICAgaWYgay5zdGFydHN3aXRoKCBrZXkg
KToKICAgICAgICAgICAgICAgICAgICAgICAgIGRlbCByb290X3ZhbHVlc1trXQogICAgICAgICAg
ICAgZWxpZiBpc2luc3RhbmNlKCBpbnB1dCwgUmVwZWF0ICk6Ci0gICAgICAgICAgICAgICAgZ3Jv
dXBfdmFsdWVzID0zRCB2YWx1ZXNba2V5XQotICAgICAgICAgICAgICAgIGZvciBpLCByZXBfdmFs
dWVzIGluIGVudW1lcmF0ZSggZ3JvdXBfdmFsdWVzICk6Ci0gICAgICAgICAgICAgICAgICAgIHJl
cF9pbmRleCA9M0QgcmVwX3ZhbHVlc1snX19pbmRleF9fJ10KLSAgICAgICAgICAgICAgICAgICAg
Y2xlYW51cCggIiVzJXNfJWR8IiAlIChwcmVmaXgsIGtleSwgcmVwX2luZGV4ICksIGlucHV0PQou
aW5wdXRzLCBncm91cF92YWx1ZXNbaV0gKQorICAgICAgICAgICAgICAgIGlmIGtleSBpbiB2YWx1
ZXM6CisgICAgICAgICAgICAgICAgICAgIGdyb3VwX3ZhbHVlcyA9M0QgdmFsdWVzW2tleV0KKyAg
ICAgICAgICAgICAgICAgICAgZm9yIGksIHJlcF92YWx1ZXMgaW4gZW51bWVyYXRlKCBncm91cF92
YWx1ZXMgKToKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcF9pbmRleCA9M0QgcmVwX3ZhbHVl
c1snX19pbmRleF9fJ10KKyAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFudXAoICIlcyVzXyVk
fCIgJSAocHJlZml4LCBrZXksIHJlcF9pbmRleCApLCBpPQpucHV0LmlucHV0cywgZ3JvdXBfdmFs
dWVzW2ldICkKICAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZSggaW5wdXQsIENvbmRpdGlvbmFs
ICk6CiAgICAgICAgICAgICAgICAgIyBTY3J1YiBkeW5hbWljIHJlc291cmNlIHJlbGF0ZWQgcGFy
YW1ldGVycyBmcm9tIHdvcmtmbG93cywKICAgICAgICAgICAgICAgICAjIHRoZXkgY2F1c2UgcHJv
YmxlbXMgYW5kIHRoZSB3b3JrZmxvdyBwcm9iYWJseSBzaG91bGQgaW5jPQpsdWRlCkBAIC0zNTIs
OSArMzU0LDEzIEBACiAgICAgICAgICAgICAgICAgICAgIGlmIGlucHV0Lm5hbWUgaW4gdmFsdWVz
OgogICAgICAgICAgICAgICAgICAgICAgICAgZGVsIHZhbHVlc1tpbnB1dC5uYW1lXQogICAgICAg
ICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICAgICBncm91cF92YWx1ZXMgPTNEIHZh
bHVlc1tpbnB1dC5uYW1lXQotICAgICAgICAgICAgICAgIGN1cnJlbnRfY2FzZSA9M0QgZ3JvdXBf
dmFsdWVzWydfX2N1cnJlbnRfY2FzZV9fJ10KLSAgICAgICAgICAgICAgICBjbGVhbnVwKCAiJXMl
c3wiICUgKCBwcmVmaXgsIGtleSApLCBpbnB1dC5jYXNlc1tjdXJyZW50X2NhPQpzZV0uaW5wdXRz
LCBncm91cF92YWx1ZXMgKQorICAgICAgICAgICAgICAgIGlmIGlucHV0Lm5hbWUgaW4gdmFsdWVz
OgorICAgICAgICAgICAgICAgICAgICBncm91cF92YWx1ZXMgPTNEIHZhbHVlc1tpbnB1dC5uYW1l
XQorICAgICAgICAgICAgICAgICAgICBjdXJyZW50X2Nhc2UgPTNEIGdyb3VwX3ZhbHVlc1snX19j
dXJyZW50X2Nhc2VfXyddCisgICAgICAgICAgICAgICAgICAgIGNsZWFudXAoICIlcyVzfCIgJSAo
IHByZWZpeCwga2V5ICksIGlucHV0LmNhc2VzW2N1cnJlbj0KdF9jYXNlXS5pbnB1dHMsIGdyb3Vw
X3ZhbHVlcyApCisgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoIGlucHV0LCBTZWN0aW9uICk6
CisgICAgICAgICAgICAgICAgaWYgaW5wdXQubmFtZSBpbiB2YWx1ZXM6CisgICAgICAgICAgICAg
ICAgICAgIGNsZWFudXAoICIlcyVzfCIgJSAoIHByZWZpeCwga2V5ICksIGlucHV0LmlucHV0cywg
dmFsdT0KZXNbaW5wdXQubmFtZV0gKQogICAgIGNsZWFudXAoICIiLCBpbnB1dHMsIHZhbHVlcyAp
CiAgICAgcmV0dXJuIGFzc29jaWF0aW9ucwo9MjAKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2Mw
OTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRi
MWUxOWE5N2FhNTUgbGliL3Rvb2xfc2hlZC9jYXBzdWxlL2NhcHN1bGVfbWFuYWdlci5weQotLS0g
YS9saWIvdG9vbF9zaGVkL2NhcHN1bGUvY2Fwc3VsZV9tYW5hZ2VyLnB5CisrKyBiL2xpYi90b29s
X3NoZWQvY2Fwc3VsZS9jYXBzdWxlX21hbmFnZXIucHkKQEAgLTE2LDYgKzE2LDcgQEAKIGZyb20g
Z2FsYXh5IGltcG9ydCB3ZWIKIGZyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IGFzYm9vbAogZnJvbSBn
YWxheHkudXRpbCBpbXBvcnQgQ0hVTktfU0laRQorZnJvbSBnYWxheHkudXRpbCBpbXBvcnQgc2Fm
ZV9yZWxwYXRoCiBmcm9tIGdhbGF4eS51dGlsLm9kaWN0IGltcG9ydCBvZGljdAogZnJvbSB0b29s
X3NoZWQuZGVwZW5kZW5jaWVzLnJlcG9zaXRvcnkucmVsYXRpb25fYnVpbGRlciBpbXBvcnQgUmVs
YXRpb25CdWk9CmxkZXIKIGZyb20gdG9vbF9zaGVkLmRlcGVuZGVuY2llcyBpbXBvcnQgYXR0cmli
dXRlX2hhbmRsZXJzCkBAIC03MjEsMjkgKzcyMiwxNiBAQAogICAgICAgICBoZ191dGlsLmdldF9y
ZXBvX2Zvcl9yZXBvc2l0b3J5KCBzZWxmLmFwcCwgcmVwb3NpdG9yeT0zRE5vbmUsIHJlcG89Cl9w
YXRoPTNEcmVwb19kaXIsIGNyZWF0ZT0zREZhbHNlICkKICAgICAgICAgdW5kZXNpcmFibGVfZGly
c19yZW1vdmVkID0zRCAwCiAgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIDAK
LSAgICAgICAgb2ssIGVycm9yX21lc3NhZ2UgPTNEIGNvbW1pdF91dGlsLmNoZWNrX2FyY2hpdmUo
IHJlcG9zaXRvcnksIGFyY2hpPQp2ZSApCi0gICAgICAgIGlmIG9rOgorICAgICAgICBjaGVja19y
ZXN1bHRzID0zRCBjb21taXRfdXRpbC5jaGVja19hcmNoaXZlKCByZXBvc2l0b3J5LCBhcmNoaXZl
ICkKKyAgICAgICAgIyBXZSBmaWx0ZXIgb3V0IHVuZGVzaXJhYmxlIGZpbGVzIGJ1dCBmYWlsIG9u
IHVuZGVzcmlhYmxlIGRpcnMuIE5vdAorICAgICAgICAjIHN1cmUgd2h5LCBqdXN0IHRyeWluZyB0
byBtYWludGFpbiB0aGUgc2FtZSBiZWhhdmlvciBhcyBiZWZvcmUuIC09Cm5hdGUKKyAgICAgICAg
aWYgbm90IGNoZWNrX3Jlc3VsdHMuaW52YWxpZCBhbmQgbm90IGNoZWNrX3Jlc3VsdHMudW5kZXNp
cmFibGVfZGlyPQpzOgogICAgICAgICAgICAgZnVsbF9wYXRoID0zRCBvcy5wYXRoLmFic3BhdGgo
IHJlcG9fZGlyICkKLSAgICAgICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlID0zRCBbXQotICAg
ICAgICAgICAgZm9yIHRhcmluZm9fb2JqIGluIGFyY2hpdmUuZ2V0bWVtYmVycygpOgotICAgICAg
ICAgICAgICAgICMgQ2hlY2sgZmlsZXMgYW5kIGRpcmVjdG9yaWVzIGluIHRoZSBhcmNoaXZlLgot
ICAgICAgICAgICAgICAgIG9rID0zRCBvcy5wYXRoLmJhc2VuYW1lKCB0YXJpbmZvX29iai5uYW1l
ICkgbm90IGluIGNvbW1pdF89CnV0aWwuVU5ERVNJUkFCTEVfRklMRVMKLSAgICAgICAgICAgICAg
ICBpZiBvazoKLSAgICAgICAgICAgICAgICAgICAgZm9yIGZpbGVfcGF0aF9pdGVtIGluIHRhcmlu
Zm9fb2JqLm5hbWUuc3BsaXQoICcvJyApOgotICAgICAgICAgICAgICAgICAgICAgICAgaWYgZmls
ZV9wYXRoX2l0ZW0gaW4gY29tbWl0X3V0aWwuVU5ERVNJUkFCTEVfRElSUzoKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB1bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQgKz0zRCAxCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZXJyb3JfbWVzc2FnZSA9M0QgJ0ltcG9ydCBmYWlsZWQ6IGlu
dmFsaWQgZmlsZT0KIHBhdGggPGI+JXM8L2I+IGluIGFyY2hpdmUgPGI+JXM8L2I+JyAlIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCBzdHIoIGZpbGVfcGF0aF9pdGVtICksIHN0
ciggYXJjaGl2ZV9maWxlPQpfbmFtZSApICkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXN1bHRzX2RpY3RbICdvaycgXSA9M0QgRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICByZXN1bHRzX2RpY3RbICdlcnJvcl9tZXNzYWdlJyBdICs9M0QgZXJyb3JfbWVzPQpzYWdlCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHNfZGljdAotICAgICAgICAg
ICAgICAgICAgICBmaWxlbmFtZXNfaW5fYXJjaGl2ZS5hcHBlbmQoIHRhcmluZm9fb2JqLm5hbWUg
KQotICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHVuZGVzaXJhYmxl
X2ZpbGVzX3JlbW92ZWQgKz0zRCAxCiAgICAgICAgICAgICAjIEV4dHJhY3QgdGhlIHVwbG9hZGVk
IGFyY2hpdmUgdG8gdGhlIHJlcG9zaXRvcnkgcm9vdC4KLSAgICAgICAgICAgIGFyY2hpdmUuZXh0
cmFjdGFsbCggcGF0aD0zRGZ1bGxfcGF0aCApCisgICAgICAgICAgICBhcmNoaXZlLmV4dHJhY3Rh
bGwoIHBhdGg9M0RmdWxsX3BhdGgsIG1lbWJlcnM9M0RjaGVja19yZXN1bHRzLj0KdmFsaWQgKQog
ICAgICAgICAgICAgYXJjaGl2ZS5jbG9zZSgpCi0gICAgICAgICAgICBmb3IgZmlsZW5hbWUgaW4g
ZmlsZW5hbWVzX2luX2FyY2hpdmU6CisgICAgICAgICAgICBmb3IgdGFyX21lbWJlciBpbiBjaGVj
a19yZXN1bHRzLnZhbGlkOgorICAgICAgICAgICAgICAgIGZpbGVuYW1lID0zRCB0YXJfbWVtYmVy
Lm5hbWUKICAgICAgICAgICAgICAgICB1cGxvYWRlZF9maWxlX25hbWUgPTNEIG9zLnBhdGguam9p
biggZnVsbF9wYXRoLCBmaWxlbmFtZSApCiAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5zcGxp
dCggdXBsb2FkZWRfZmlsZV9uYW1lIClbIC0xIF0gPTNEPTNEIHJ0X3V0aT0KbC5SRVBPU0lUT1JZ
X0RFUEVOREVOQ1lfREVGSU5JVElPTl9GSUxFTkFNRToKICAgICAgICAgICAgICAgICAgICAgIyBJ
bnNwZWN0IHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSB0byBzZWUgaWYgdG9vbHNoZWQgPQpvciBj
aGFuZ2VzZXRfcmV2aXNpb24gYXR0cmlidXRlcwpAQCAtNzcwLDYgKzc1OCw5IEBACiAgICAgICAg
ICAgICBuZXdfcmVwb19hbGVydCA9M0QgVHJ1ZQogICAgICAgICAgICAgIyBTaW5jZSB0aGUgcmVw
b3NpdG9yeSBpcyBuZXcsIHRoZSBmb2xsb3dpbmcgbXVzdCBiZSBGYWxzZS4KICAgICAgICAgICAg
IHJlbW92ZV9yZXBvX2ZpbGVzX25vdF9pbl90YXIgPTNEIEZhbHNlCisgICAgICAgICAgICBmaWxl
bmFtZXNfaW5fYXJjaGl2ZSA9M0QgWyBtZW1iZXIubmFtZSBmb3IgbWVtYmVyIGluIGNoZWNrX3Jl
cz0KdWx0cy52YWxpZCBdCisgICAgICAgICAgICB1bmRlc2lyYWJsZV9maWxlc19yZW1vdmVkID0z
RCBsZW4oIGNoZWNrX3Jlc3VsdHMudW5kZXNpcmFibGVfZj0KaWxlcyApCisgICAgICAgICAgICB1
bmRlc2lyYWJsZV9kaXJzX3JlbW92ZWQgPTNEIDAKICAgICAgICAgICAgIG9rLCBlcnJvcl9tZXNz
YWdlLCBmaWxlc190b19yZW1vdmUsIGNvbnRlbnRfYWxlcnRfc3RyLCB1bmRlc2lyPQphYmxlX2Rp
cnNfcmVtb3ZlZCwgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCA9M0QgXAogICAgICAgICAgICAg
ICAgIGNvbW1pdF91dGlsLmhhbmRsZV9kaXJlY3RvcnlfY2hhbmdlcyggc2VsZi5hcHAsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmhv
c3QsCkBAIC04MDAsNyArNzkxLDEzIEBACiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBhcmNo
aXZlLmNsb3NlKCkKICAgICAgICAgICAgIHJlc3VsdHNfZGljdFsgJ29rJyBdID0zRCBGYWxzZQot
ICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAnZXJyb3JfbWVzc2FnZScgXSArPTNEIGVycm9yX21l
c3NhZ2UKKyAgICAgICAgICAgIHJlc3VsdHNfZGljdFsgJ2Vycm9yX21lc3NhZ2UnIF0gKz0zRCAn
Q2Fwc3VsZSBlcnJvcnMgd2VyZSBmb3VuPQpkOiAnCisgICAgICAgICAgICBpZiBjaGVja19yZXN1
bHRzLmludmFsaWQ6CisgICAgICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAnZXJyb3JfbWVzc2Fn
ZScgXSArPTNEICclcyBJbnZhbGlkIGZpbGVzIHdlcj0KZTogJXMuJyAlICgKKyAgICAgICAgICAg
ICAgICAgICAgJyAnLmpvaW4oIGNoZWNrX3Jlc3VsdHMuZXJyb3JzICksICcsICcuam9pbiggY2hl
Y2tfcmVzPQp1bHRzLmludmFsaWQgKSApCisgICAgICAgICAgICBpZiBjaGVja19yZXN1bHRzLnVu
ZGVzaXJhYmxlX2RpcnM6CisgICAgICAgICAgICAgICAgcmVzdWx0c19kaWN0WyAnZXJyb3JfbWVz
c2FnZScgXSArPTNEICcgVW5kZXNpcmFibGUgZGlyZWN0bz0KcmllcyB3ZXJlOiAlcy4nICUgKAor
ICAgICAgICAgICAgICAgICAgICAnLCAnLmpvaW4oIGNoZWNrX3Jlc3VsdHMudW5kZXNpcmFibGVf
ZGlycyApICkKICAgICAgICAgcmV0dXJuIHJlc3VsdHNfZGljdAo9MjAKICAgICBkZWYgdXBsb2Fk
X2NhcHN1bGUoIHNlbGYsICoqa3dkICk6CkBAIC04NTMsNiArODUwLDEyIEBACiAgICAgICAgICAg
ICAgICAgcmV0dXJuX2RpY3RbICdzdGF0dXMnIF0gPTNEICdlcnJvcicKICAgICAgICAgICAgICAg
ICB1cGxvYWRlZF9maWxlLmNsb3NlKCkKICAgICAgICAgICAgICAgICByZXR1cm4gcmV0dXJuX2Rp
Y3QKKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLnZhbGlkYXRlX2FyY2hpdmVfcGF0aHMoIHRhcl9h
cmNoaXZlICk6CisgICAgICAgICAgICAgICAgcmV0dXJuX2RpY3RbICdzdGF0dXMnIF0gPTNEICdl
cnJvcicKKyAgICAgICAgICAgICAgICByZXR1cm5fZGljdFsgJ21lc3NhZ2UnIF0gPTNEICggJ1Ro
aXMgY2Fwc3VsZSBjb250YWlucyBhbiBpPQpudmFsaWQgbWVtYmVyIHR5cGUgJworICAgICAgICAg
ICAgICAgICAgICAnb3IgYSBmaWxlIG91dHNpZGUgdGhlIGFyY2hpdmUgcGF0aC4nICkKKyAgICAg
ICAgICAgICAgICB1cGxvYWRlZF9maWxlLmNsb3NlKCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
cmV0dXJuX2RpY3QKICAgICAgICAgICAgIHJldHVybl9kaWN0WyAndGFyX2FyY2hpdmUnIF0gPTNE
IHRhcl9hcmNoaXZlCiAgICAgICAgICAgICByZXR1cm5fZGljdFsgJ2NhcHN1bGVfZmlsZV9uYW1l
JyBdID0zRCB1cGxvYWRlZF9maWxlX2ZpbGVuYW1lCiAgICAgICAgICAgICB1cGxvYWRlZF9maWxl
LmNsb3NlKCkKQEAgLTg2Miw2ICs4NjUsMTggQEAKICAgICAgICAgICAgIHJldHVybiByZXR1cm5f
ZGljdAogICAgICAgICByZXR1cm4gcmV0dXJuX2RpY3QKPTIwCisgICAgZGVmIHZhbGlkYXRlX2Fy
Y2hpdmVfcGF0aHMoIHNlbGYsIHRhcl9hcmNoaXZlICk6CisgICAgICAgICcnJworICAgICAgICBJ
bnNwZWN0IHRoZSBhcmNoaXZlIGNvbnRlbnRzIHRvIGVuc3VyZSB0aGF0IHRoZXJlIGFyZSBubyBy
aXNreSBzeW09CmxpbmtzLgorICAgICAgICBSZXR1cm5zIFRydWUgaWYgYSBzdXNwaWNpb3VzIHBh
dGggaXMgZm91bmQuCisgICAgICAgICcnJworICAgICAgICBmb3IgbWVtYmVyIGluIHRhcl9hcmNo
aXZlLmdldG1lbWJlcnMoKToKKyAgICAgICAgICAgIGlmIG5vdCAoIG1lbWJlci5pc2RpcigpIG9y
IG1lbWJlci5pc2ZpbGUoKSBvciBtZW1iZXIuaXNsbmsoKSApOgorICAgICAgICAgICAgICAgIHJl
dHVybiBGYWxzZQorICAgICAgICAgICAgZWxpZiBub3Qgc2FmZV9yZWxwYXRoKCBtZW1iZXIubmFt
ZSApOgorICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQorICAgICAgICByZXR1cm4gVHJ1ZQor
CiAgICAgZGVmIHZhbGlkYXRlX2NhcHN1bGUoIHNlbGYsICoqa3dkICk6CiAgICAgICAgICIiIgog
ICAgICAgICBJbnNwZWN0IHRoZSB1cGxvYWRlZCBjYXBzdWxlJ3MgbWFuaWZlc3QgYW5kIGl0cyBj
b250YWluZWQgZmlsZXMgdG89CiBlbnN1cmUgaXQgaXMgYSB2YWxpZAoKZGlmZiAtciBkNjJmM2U1
MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjll
NDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvdG9vbF9zaGVkL2dhbGF4eV9pbnN0YWxsL3JlcG9z
aXRvcnlfZGVwZW5kZW5jaWVzL3JlcG89CnNpdG9yeV9kZXBlbmRlbmN5X21hbmFnZXIucHkKLS0t
IGEvbGliL3Rvb2xfc2hlZC9nYWxheHlfaW5zdGFsbC9yZXBvc2l0b3J5X2RlcGVuZGVuY2llcy9y
ZXBvc2l0b3J5X2RlcGVuPQpkZW5jeV9tYW5hZ2VyLnB5CisrKyBiL2xpYi90b29sX3NoZWQvZ2Fs
YXh5X2luc3RhbGwvcmVwb3NpdG9yeV9kZXBlbmRlbmNpZXMvcmVwb3NpdG9yeV9kZXBlbj0KZGVu
Y3lfbWFuYWdlci5weQpAQCAtNDE0LDYgKzQxNCwyMyBAQAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxsX3JlcG9faW5mb19kaWN0c19rZXlzID0zRCBbIGQua2V5cyg9Cilb
IDAgXSBmb3IgZCBpbiBhbGxfcmVwb19pbmZvX2RpY3RzIF0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIHJlcXVpcmVkX3JlcG9faW5mb19kaWN0X2tleSBub3QgaW4gPQph
bGxfcmVwb19pbmZvX2RpY3RzX2tleXM6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWxsX3JlcG9faW5mb19kaWN0cy5hcHBlbmQoIHJlcXVpcj0KZWRfcmVwb19pbmZv
X2RpY3QgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHJlcXVpcmVkX3JlcG9faW5mb19k
aWN0X2tleSBjb3JyPQplc3BvbmRzIHRvIHRoZSByZXBvIG5hbWUuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIyBBIHNpbmdsZSBpbnN0YWxsIHRyYW5zYWN0aW9uIG1p
Zz0KaHQgcmVxdWlyZSB0aGUgaW5zdGFsbGF0aW9uIG9mIDIgb3IgbW9yZSByZXBvcworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgd2l0aCB0aGUgc2FtZSByZXBvIG5h
bWUgYnV0IGRpZmY9CmVyZW50IG93bmVycyBvciB2ZXJzaW9ucy4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjIFRoZXJlZm9yZSwgaWYgcmVxdWlyZWRfcmVwb19pbmZv
PQpfZGljdF9rZXkgaXMgYWxyZWFkeSBpbiBhbGxfcmVwb19pbmZvX2RpY3RzLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgY2hlY2sgdGhhdCB0aGUgdG9vbCBpZCBp
cyBhbHJlYWQ9CnkgcHJlc2VudC4gSWYgaXQgaXMgbm90LCB3ZSBhcmUgZGVhbGluZyB3aXRoIHRo
ZSBzYW1lIHJlcG8gbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAjIGJ1dCBhIGRpZmZlcmVudCBvd25lci9jaGFuZ2VzZXQgPQpyZXZpc2lvbiBvciB2ZXJzaW9u
IGFuZCB3ZSBhZGQgdGhlIHJlcG8gdG8gdGhlIGxpc3Qgb2YgcmVwb3MgdG8gYmUgaW5zdGFsbGU9
CmQuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbF9pZCA9M0Qg
cmVxdWlyZWRfcmVwb19pbmZvX2RpYz0KdFsgcmVxdWlyZWRfcmVwb19pbmZvX2RpY3Rfa2V5IF1b
IDEgXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzX3ByZXNlbnQg
PTNEIEZhbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHJl
cG9faW5mb19kaWN0IGluIGFsbF9yZXBvX2luZj0Kb19kaWN0czoKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGssIHYgaW4gcmVwb19pbmZvX2RpY3QuaXRl
PQptcygpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
aWYgcmVxdWlyZWRfcmVwb19pbmZvX2RpY3Q9Cl9rZXkgPTNEPTNEIGs6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgdG9vbF9pZCA9M0Q9M0Qg
dlsxXToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaXNfcHJlc2VudCA9M0QgVHJ1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlmIG5vdCBpc19wcmVzZW50OgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBhbGxfcmVwb19pbmZvX2RpY3RzLmFwcGVuZCggcmU9CnF1
aXJlZF9yZXBvX2luZm9fZGljdCApCiAgICAgICAgICAgICAgICAgICAgICAgICBhbGxfcmVxdWly
ZWRfcmVwb19pbmZvX2RpY3RbICdhbGxfcmVwb19pbmZvX2RpY3RzJz0KIF0gPTNEIGFsbF9yZXBv
X2luZm9fZGljdHMKICAgICAgICAgcmV0dXJuIGFsbF9yZXF1aXJlZF9yZXBvX2luZm9fZGljdAo9
MjAKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAz
NmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL3Rvb2xfc2hlZC91
dGlsL2NvbW1pdF91dGlsLnB5Ci0tLSBhL2xpYi90b29sX3NoZWQvdXRpbC9jb21taXRfdXRpbC5w
eQorKysgYi9saWIvdG9vbF9zaGVkL3V0aWwvY29tbWl0X3V0aWwucHkKQEAgLTUsNiArNSw3IEBA
CiBpbXBvcnQgb3MKIGltcG9ydCBzaHV0aWwKIGltcG9ydCB0ZW1wZmlsZQorZnJvbSBjb2xsZWN0
aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQo9MjAKIGZyb20gZ2FsYXh5IGltcG9ydCBlZ2dzCiBlZ2dz
LnJlcXVpcmUoJ1NRTEFsY2hlbXknKQpAQCAtMTIsNiArMTMsNyBAQAo9MjAKIGltcG9ydCB0b29s
X3NoZWQucmVwb3NpdG9yeV90eXBlcy51dGlsIGFzIHJ0X3V0aWwKIGZyb20gZ2FsYXh5LmRhdGF0
eXBlcyBpbXBvcnQgY2hlY2tlcnMKK2Zyb20gZ2FsYXh5LnV0aWwgaW1wb3J0IHNhZmVfcmVscGF0
aAogZnJvbSB0b29sX3NoZWQudG9vbHMgaW1wb3J0IGRhdGFfdGFibGVfbWFuYWdlcgogZnJvbSB0
b29sX3NoZWQudXRpbCBpbXBvcnQgYmFzaWNfdXRpbCwgaGdfdXRpbCwgc2hlZF91dGlsX2NvbW1v
biBhcyBzdWMKPTIwCkBAIC0yMiwzMCArMjQsNDQgQEAKPTIwCj0yMAogZGVmIGNoZWNrX2FyY2hp
dmUoIHJlcG9zaXRvcnksIGFyY2hpdmUgKToKKyAgICB2YWxpZCA9M0QgW10KKyAgICBpbnZhbGlk
ID0zRCBbXQorICAgIGVycm9ycyA9M0QgW10KKyAgICB1bmRlc2lyYWJsZV9maWxlcyA9M0QgW10K
KyAgICB1bmRlc2lyYWJsZV9kaXJzID0zRCBbXQogICAgIGZvciBtZW1iZXIgaW4gYXJjaGl2ZS5n
ZXRtZW1iZXJzKCk6CiAgICAgICAgICMgQWxsb3cgcmVndWxhciBmaWxlcyBhbmQgZGlyZWN0b3Jp
ZXMgb25seQogICAgICAgICBpZiBub3QgKCBtZW1iZXIuaXNkaXIoKSBvciBtZW1iZXIuaXNmaWxl
KCkgb3IgbWVtYmVyLmlzbG5rKCkgKToKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICJVcGxvYWRl
ZCBhcmNoaXZlcyBjYW4gb25seSBpbmNsdWRlIHJlZ3VsYXIgZGlyZWN0PQpvcmllcyBhbmQgZmls
ZXMgKG5vIHN5bWJvbGljIGxpbmtzLCBkZXZpY2VzLCBldGMpLiAgIgotICAgICAgICAgICAgbWVz
c2FnZSArPTNEICJUaGUgcHJvYmxlbWF0aWMgbWVtYmVyIGluIHRoaXMgYXJjaGl2ZSBpcyAlcywi
ICU9CiBzdHIoIG1lbWJlci5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2Fn
ZQotICAgICAgICBmb3IgaXRlbSBpbiBbICcuaGcnLCAnLi4nLCAnLycgXToKLSAgICAgICAgICAg
IGlmIG1lbWJlci5uYW1lLnN0YXJ0c3dpdGgoIGl0ZW0gKToKLSAgICAgICAgICAgICAgICBtZXNz
YWdlID0zRCAiVXBsb2FkZWQgYXJjaGl2ZXMgY2Fubm90IGNvbnRhaW4gLmhnIGRpcmVjdG9yPQpp
ZXMsIGFic29sdXRlIGZpbGVuYW1lcyBzdGFydGluZyB3aXRoICcvJywgb3IgZmlsZW5hbWVzIHdp
dGggdHdvIGRvdHMgJy4uJy49CiAgIgotICAgICAgICAgICAgICAgIG1lc3NhZ2UgKz0zRCAiVGhl
IHByb2JsZW1hdGljIG1lbWJlciBpbiB0aGlzIGFyY2hpdmUgaXMgJXM9Ci4iICUgc3RyKCBtZW1i
ZXIubmFtZSApCi0gICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBtZXNzYWdlCi0gICAgICAg
IGlmIG1lbWJlci5uYW1lIGluIFsgJ2hncmMnIF06Ci0gICAgICAgICAgICBtZXNzYWdlID0zRCAi
VXBsb2FkZWQgYXJjaGl2ZXMgY2Fubm90IGNvbnRhaW4gaGdyYyBmaWxlcy4gICIKLSAgICAgICAg
ICAgIG1lc3NhZ2UgKz0zRCAiVGhlIHByb2JsZW1hdGljIG1lbWJlciBpbiB0aGlzIGFyY2hpdmUg
aXMgJXMuIiAlPQogc3RyKCBtZW1iZXIubmFtZSApCi0gICAgICAgICAgICByZXR1cm4gRmFsc2Us
IG1lc3NhZ2UKKyAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoICJVcGxvYWRlZCBhcmNoaXZlcyBj
YW4gb25seSBpbmNsdWRlIHJlZ3VsYXIgZGlyPQplY3RvcmllcyBhbmQgZmlsZXMgKG5vIHN5bWJv
bGljIGxpbmtzLCBkZXZpY2VzLCBldGMpLiIgKQorICAgICAgICAgICAgaW52YWxpZC5hcHBlbmQo
IG1lbWJlciApCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBpZiBub3Qgc2FmZV9yZWxw
YXRoKCBtZW1iZXIubmFtZSApOgorICAgICAgICAgICAgZXJyb3JzLmFwcGVuZCggIlVwbG9hZGVk
IGFyY2hpdmVzIGNhbm5vdCBjb250YWluIGZpbGVzIHRoYXQgd289CnVsZCBleHRyYWN0IG91dHNp
ZGUgb2YgdGhlIGFyY2hpdmUuIiApCisgICAgICAgICAgICBpbnZhbGlkLmFwcGVuZCggbWVtYmVy
ICkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGlmIG9zLnBhdGguYmFzZW5hbWUoIG1l
bWJlci5uYW1lICkgaW4gVU5ERVNJUkFCTEVfRklMRVM6CisgICAgICAgICAgICB1bmRlc2lyYWJs
ZV9maWxlcy5hcHBlbmQoIG1lbWJlciApCisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBo
ZWFkID0zRCB0YWlsID0zRCBtZW1iZXIubmFtZQorICAgICAgICB0cnk6CisgICAgICAgICAgICB3
aGlsZSB0YWlsOgorICAgICAgICAgICAgICAgIGhlYWQsIHRhaWwgPTNEIG9zLnBhdGguc3BsaXQo
aGVhZCkKKyAgICAgICAgICAgICAgICBpZiB0YWlsIGluIFVOREVTSVJBQkxFX0RJUlM6CisgICAg
ICAgICAgICAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnMuYXBwZW5kKCBtZW1iZXIgKQorICAgICAg
ICAgICAgICAgICAgICBhc3NlcnQgRmFsc2UKKyAgICAgICAgZXhjZXB0IEFzc2VydGlvbkVycm9y
OgorICAgICAgICAgICAgY29udGludWUKICAgICAgICAgaWYgcmVwb3NpdG9yeS50eXBlID0zRD0z
RCBydF91dGlsLlJFUE9TSVRPUllfU1VJVEVfREVGSU5JVElPTiBhbmQgPQptZW1iZXIubmFtZSAh
PTNEIHJ0X3V0aWwuUkVQT1NJVE9SWV9ERVBFTkRFTkNZX0RFRklOSVRJT05fRklMRU5BTUU6Ci0g
ICAgICAgICAgICBtZXNzYWdlID0zRCAnUmVwb3NpdG9yaWVzIG9mIHR5cGUgPGI+UmVwb3NpdG9y
eSBzdWl0ZSBkZWZpbml0aT0Kb248L2I+IGNhbiBjb250YWluIG9ubHkgYSBzaW5nbGUgZmlsZSBu
YW1lZCA8Yj5yZXBvc2l0b3J5X2RlcGVuZGVuY2llcy54bWw8PQovYj4uJwotICAgICAgICAgICAg
bWVzc2FnZSArPTNEICdUaGlzIGFyY2hpdmUgY29udGFpbnMgYSBtZW1iZXIgbmFtZWQgJXMuJyAl
IHN0cig9CiBtZW1iZXIubmFtZSApCi0gICAgICAgICAgICByZXR1cm4gRmFsc2UsIG1lc3NhZ2UK
KyAgICAgICAgICAgIGVycm9ycy5hcHBlbmQoICdSZXBvc2l0b3JpZXMgb2YgdHlwZSA8Yj5SZXBv
c2l0b3J5IHN1aXRlIGRlZmluPQppdGlvbjwvYj4gY2FuIGNvbnRhaW4gb25seSBhIHNpbmdsZSBm
aWxlIG5hbWVkIDxiPnJlcG9zaXRvcnlfZGVwZW5kZW5jaWVzLng9Cm1sPC9iPi4nICkKKyAgICAg
ICAgICAgIGludmFsaWQuYXBwZW5kKCBtZW1iZXIgKQorICAgICAgICAgICAgY29udGludWUKICAg
ICAgICAgaWYgcmVwb3NpdG9yeS50eXBlID0zRD0zRCBydF91dGlsLlRPT0xfREVQRU5ERU5DWV9E
RUZJTklUSU9OIGFuZCBtPQplbWJlci5uYW1lICE9M0QgcnRfdXRpbC5UT09MX0RFUEVOREVOQ1lf
REVGSU5JVElPTl9GSUxFTkFNRToKLSAgICAgICAgICAgIG1lc3NhZ2UgPTNEICdSZXBvc2l0b3Jp
ZXMgb2YgdHlwZSA8Yj5Ub29sIGRlcGVuZGVuY3kgZGVmaW5pdGlvPQpuPC9iPiBjYW4gY29udGFp
biBvbmx5IGEgc2luZ2xlIGZpbGUgbmFtZWQgPGI+dG9vbF9kZXBlbmRlbmNpZXMueG1sPC9iPi4n
Ci0gICAgICAgICAgICBtZXNzYWdlICs9M0QgJ1RoaXMgYXJjaGl2ZSBjb250YWlucyBhIG1lbWJl
ciBuYW1lZCAlcy4nICUgc3RyKD0KIG1lbWJlci5uYW1lICkKLSAgICAgICAgICAgIHJldHVybiBG
YWxzZSwgbWVzc2FnZQotICAgIHJldHVybiBUcnVlLCAnJworICAgICAgICAgICAgZXJyb3JzLmFw
cGVuZCggJ1JlcG9zaXRvcmllcyBvZiB0eXBlIDxiPlRvb2wgZGVwZW5kZW5jeSBkZWZpbmk9CnRp
b248L2I+IGNhbiBjb250YWluIG9ubHkgYSBzaW5nbGUgZmlsZSBuYW1lZCA8Yj50b29sX2RlcGVu
ZGVuY2llcy54bWw8L2I+Lj0KJyApCisgICAgICAgICAgICBpbnZhbGlkLmFwcGVuZCggbWVtYmVy
ICkKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIHZhbGlkLmFwcGVuZCggbWVtYmVyICkK
KyAgICBBcmNoaXZlQ2hlY2tSZXN1bHRzID0zRCBuYW1lZHR1cGxlKCAnQXJjaGl2ZUNoZWNrUmVz
dWx0cycsIFsgJ3ZhbGlkJywgPQonaW52YWxpZCcsICd1bmRlc2lyYWJsZV9maWxlcycsICd1bmRl
c2lyYWJsZV9kaXJzJywgJ2Vycm9ycycgXSApCisgICAgcmV0dXJuIEFyY2hpdmVDaGVja1Jlc3Vs
dHMoIHZhbGlkLCBpbnZhbGlkLCB1bmRlc2lyYWJsZV9maWxlcywgdW5kZXNpcj0KYWJsZV9kaXJz
LCBlcnJvcnMgKQo9MjAKPTIwCiBkZWYgY2hlY2tfZmlsZV9jb250ZW50c19mb3JfZW1haWxfYWxl
cnRzKCBhcHAgKToKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1
MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJkZDRiMWUxOWE5N2FhNTUgbGliL3Rv
b2xfc2hlZC91dGlsL2VuY29kaW5nX3V0aWwucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC91dGlsL2Vu
Y29kaW5nX3V0aWwucHkKKysrIGIvbGliL3Rvb2xfc2hlZC91dGlsL2VuY29kaW5nX3V0aWwucHkK
QEAgLTMsNyArMyw2IEBACiBpbXBvcnQgbG9nZ2luZwo9MjAKIGZyb20gZ2FsYXh5LnV0aWwuaGFz
aF91dGlsIGltcG9ydCBobWFjX25ldwotZnJvbSBnYWxheHkudXRpbC5qc29uIGltcG9ydCBqc29u
X2ZpeAo9MjAKIGxvZyA9M0QgbG9nZ2luZy5nZXRMb2dnZXIoIF9fbmFtZV9fICkKPTIwCkBAIC0y
MSwxMyArMjAsOCBAQAogICAgIHZhbHVlcyA9M0QgTm9uZQogICAgIHRyeToKICAgICAgICAgdmFs
dWVzID0zRCBqc29uLmxvYWRzKCB2YWx1ZSApCi0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKyAg
ICBleGNlcHQgRXhjZXB0aW9uOgogICAgICAgICBwYXNzCi0gICAgaWYgdmFsdWVzIGlzIG5vdCBO
b25lOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICByZXR1cm4ganNvbl9maXgoIHZhbHVlcyAp
Ci0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6Ci0gICAgICAgICAgICBsb2cuZGVidWcoICJG
aXhpbmcgZGVjb2RlZCBqc29uIHZhbHVlcyAnJXMnIGZyb20gdG9vbCBzaGVkIHRocj0KZXcgZXhj
ZXB0aW9uOiAlcyIgJSAoIHN0ciggdmFsdWVzICksIHN0ciggZSApICkgKQogICAgIGlmIHZhbHVl
cyBpcyBOb25lOgogICAgICAgICB2YWx1ZXMgPTNEIHZhbHVlCiAgICAgcmV0dXJuIHZhbHVlcwoK
ZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2YzA1
MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBsaWIvdG9vbF9zaGVkL3V0aWwv
cmVwb3NpdG9yeV9jb250ZW50X3V0aWwucHkKLS0tIGEvbGliL3Rvb2xfc2hlZC91dGlsL3JlcG9z
aXRvcnlfY29udGVudF91dGlsLnB5CisrKyBiL2xpYi90b29sX3NoZWQvdXRpbC9yZXBvc2l0b3J5
X2NvbnRlbnRfdXRpbC5weQpAQCAtMTUsMzEgKzE1LDIzIEBACiAgICAgaGdfdXRpbC5nZXRfcmVw
b19mb3JfcmVwb3NpdG9yeSggdHJhbnMuYXBwLCByZXBvc2l0b3J5PTNETm9uZSwgcmVwb19wYT0K
dGg9M0RyZXBvX2RpciwgY3JlYXRlPTNERmFsc2UgKQogICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVt
b3ZlZCA9M0QgMAogICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIDAKLSAgICBvaywg
bWVzc2FnZSA9M0QgY29tbWl0X3V0aWwuY2hlY2tfYXJjaGl2ZSggcmVwb3NpdG9yeSwgdGFyICkK
LSAgICBpZiBub3Qgb2s6CisgICAgY2hlY2tfcmVzdWx0cyA9M0QgY29tbWl0X3V0aWwuY2hlY2tf
YXJjaGl2ZSggcmVwb3NpdG9yeSwgdGFyICkKKyAgICBpZiBjaGVja19yZXN1bHRzLmludmFsaWQ6
CiAgICAgICAgIHRhci5jbG9zZSgpCiAgICAgICAgIHVwbG9hZGVkX2ZpbGUuY2xvc2UoKQotICAg
ICAgICByZXR1cm4gb2ssIG1lc3NhZ2UsIFtdLCAnJywgdW5kZXNpcmFibGVfZGlyc19yZW1vdmVk
LCB1bmRlc2lyYWJsZV89CmZpbGVzX3JlbW92ZWQKKyAgICAgICAgbWVzc2FnZSA9M0QgJyVzIElu
dmFsaWQgcGF0aHMgd2VyZTogJXMnICUgKAorICAgICAgICAgICAgJyAnLmpvaW4oIGNoZWNrX3Jl
c3VsdHMuZXJyb3JzICksICcsICcuam9pbiggY2hlY2tfcmVzdWx0cy5pbnY9CmFsaWQgKSApCisg
ICAgICAgIHJldHVybiBGYWxzZSwgbWVzc2FnZSwgW10sICcnLCB1bmRlc2lyYWJsZV9kaXJzX3Jl
bW92ZWQsIHVuZGVzaXJhYj0KbGVfZmlsZXNfcmVtb3ZlZAogICAgIGVsc2U6CiAgICAgICAgIGlm
IHVwbG9hZF9wb2ludCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3Mu
cGF0aC5hYnNwYXRoKCBvcy5wYXRoLmpvaW4oIHJlcG9fZGlyLCB1cGxvYWRfPQpwb2ludCApICkK
ICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGZ1bGxfcGF0aCA9M0Qgb3MucGF0aC5hYnNwYXRo
KCByZXBvX2RpciApCi0gICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlID0zRCBbXQotICAgICAg
ICBmb3IgdGFyaW5mb19vYmogaW4gdGFyLmdldG1lbWJlcnMoKToKLSAgICAgICAgICAgIG9rID0z
RCBvcy5wYXRoLmJhc2VuYW1lKCB0YXJpbmZvX29iai5uYW1lICkgbm90IGluIGNvbW1pdF91dGls
PQouVU5ERVNJUkFCTEVfRklMRVMKLSAgICAgICAgICAgIGlmIG9rOgotICAgICAgICAgICAgICAg
IGZvciBmaWxlX3BhdGhfaXRlbSBpbiB0YXJpbmZvX29iai5uYW1lLnNwbGl0KCAnLycgKToKLSAg
ICAgICAgICAgICAgICAgICAgaWYgZmlsZV9wYXRoX2l0ZW0gaW4gY29tbWl0X3V0aWwuVU5ERVNJ
UkFCTEVfRElSUzoKLSAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVzaXJhYmxlX2RpcnNfcmVt
b3ZlZCArPTNEIDEKLSAgICAgICAgICAgICAgICAgICAgICAgIG9rID0zRCBGYWxzZQotICAgICAg
ICAgICAgICAgICAgICAgICAgYnJlYWsKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg
ICAgdW5kZXNpcmFibGVfZmlsZXNfcmVtb3ZlZCArPTNEIDEKLSAgICAgICAgICAgIGlmIG9rOgot
ICAgICAgICAgICAgICAgIGZpbGVuYW1lc19pbl9hcmNoaXZlLmFwcGVuZCggdGFyaW5mb19vYmou
bmFtZSApCisgICAgICAgIHVuZGVzaXJhYmxlX2ZpbGVzX3JlbW92ZWQgPTNEIGxlbiggY2hlY2tf
cmVzdWx0cy51bmRlc2lyYWJsZV9maWxlcz0KICkKKyAgICAgICAgdW5kZXNpcmFibGVfZGlyc19y
ZW1vdmVkID0zRCBsZW4oIGNoZWNrX3Jlc3VsdHMudW5kZXNpcmFibGVfZGlycyApCisgICAgICAg
IGZpbGVuYW1lc19pbl9hcmNoaXZlID0zRCBbIHRpLm5hbWUgZm9yIHRpIGluIGNoZWNrX3Jlc3Vs
dHMudmFsaWQgXQogICAgICAgICAjIEV4dHJhY3QgdGhlIHVwbG9hZGVkIHRhciB0byB0aGUgbG9h
ZF9wb2ludCB3aXRoaW4gdGhlIHJlcG9zaXRvcnk9CiBoaWVyYXJjaHkuCi0gICAgICAgIHRhci5l
eHRyYWN0YWxsKCBwYXRoPTNEZnVsbF9wYXRoICkKKyAgICAgICAgdGFyLmV4dHJhY3RhbGwoIHBh
dGg9M0RmdWxsX3BhdGgsIG1lbWJlcnM9M0RjaGVja19yZXN1bHRzLnZhbGlkICkKICAgICAgICAg
dGFyLmNsb3NlKCkKICAgICAgICAgdXBsb2FkZWRfZmlsZS5jbG9zZSgpCiAgICAgICAgIGZvciBm
aWxlbmFtZSBpbiBmaWxlbmFtZXNfaW5fYXJjaGl2ZToKCmRpZmYgLXIgZDYyZjNlNTBiNTY3YTE1
N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0KNGJk
ZDRiMWUxOWE5N2FhNTUgbGliL3Rvb2xfc2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKLS0t
IGEvbGliL3Rvb2xfc2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKKysrIGIvbGliL3Rvb2xf
c2hlZC91dGlsL3NoZWRfdXRpbF9jb21tb24ucHkKQEAgLTgzLDYgKzgzLDU5IEBACiAiIiIKPTIw
Cj0yMAorZGVmIGNhbl9lbGltaW5hdGVfcmVwb3NpdG9yeV9kZXBlbmRlbmN5KG1ldGFkYXRhX2Rp
Y3QsIHRvb2xfc2hlZF91cmwsIG5hbWU9Ciwgb3duZXIpOgorICAgICIiIgorICAgIERldGVybWlu
ZSBpZiB0aGUgcmVsYXRpb25zaGlwIGJldHdlZW4gYSByZXBvc2l0b3J5X2RlcGVuZGVuY3kgcmVj
b3JkCisgICAgYXNzb2NpYXRlZCB3aXRoIGEgdG9vbF9zaGVkX3JlcG9zaXRvcnkgcmVjb3JkIG9u
IHRoZSBHYWxheHkgc2lkZQorICAgIGNhbiBiZSBlbGltaW5hdGVkLgorICAgICIiIgorICAgIHJk
X2RpY3QgPTNEIG1ldGFkYXRhX2RpY3QuZ2V0KCdyZXBvc2l0b3J5X2RlcGVuZGVuY2llcycsIHt9
KQorICAgIHJkX3R1cHMgPTNEIHJkX2RpY3QuZ2V0KCAncmVwb3NpdG9yeV9kZXBlbmRlbmNpZXMn
LCBbXSApCisgICAgZm9yIHJkX3R1cCBpbiByZF90dXBzOgorICAgICAgICB0c3UsIG4sIG8sIG5v
bmUxLCBub25lMiwgbm9uZTMgPTNEIGNvbW1vbl91dGlsLnBhcnNlX3JlcG9zaXRvcnlfZGU9CnBl
bmRlbmN5X3R1cGxlKHJkX3R1cCkKKyAgICAgICAgaWYgdHN1ID0zRD0zRCB0b29sX3NoZWRfdXJs
IGFuZCBuID0zRD0zRCBuYW1lIGFuZCBvID0zRD0zRCBvd25lcjoKKyAgICAgICAgICAgICMgVGhl
IHJlcG9zaXRvcnkgZGVwZW5kZW5jeSBpcyBjdXJyZW50LCBzbyBrZWVwIGl0LgorICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCisgICAgcmV0dXJuIFRydWUKKworCitkZWYgY2FuX2VsaW1pbmF0ZV90
b29sX2RlcGVuZGVuY3kobWV0YWRhdGFfZGljdCwgbmFtZSwgdHlwZSwgdmVyc2lvbik6CisgICAg
IiIiCisgICAgRGV0ZXJtaW5lIGlmIHRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBhIHRvb2xfZGVw
ZW5kZW5jeSByZWNvcmQKKyAgICBhc3NvY2lhdGVkIHdpdGggYSB0b29sX3NoZWRfcmVwb3NpdG9y
eSByZWNvcmQgb24gdGhlIEdhbGF4eSBzaWRlCisgICAgY2FuIGJlIGVsaW1pbmF0ZWQuCisgICAg
IiIiCisgICAgdGRfZGljdCA9M0QgbWV0YWRhdGFfZGljdC5nZXQoJ3Rvb2xfZGVwZW5kZW5jaWVz
Jywge30pCisgICAgZm9yIHRkX2tleSwgdGRfdmFsIGluIHRkX2RpY3QuaXRlbXMoKToKKyAgICAg
ICAgbiA9M0QgdGRfdmFsLmdldCgnbmFtZScsIE5vbmUpCisgICAgICAgIHQgPTNEIHRkX3ZhbC5n
ZXQoJ3R5cGUnLCBOb25lKQorICAgICAgICB2ID0zRCB0ZF92YWwuZ2V0KCd2ZXJzaW9uJywgTm9u
ZSkKKyAgICAgICAgaWYgbiA9M0Q9M0QgbmFtZSBhbmQgdCA9M0Q9M0QgdHlwZSBhbmQgdiA9M0Q9
M0QgdmVyc2lvbjoKKyAgICAgICAgICAgICMgVGhlIHRvb2wgZGVwZW5kZW5jeSBpcyBjdXJyZW50
LCBzbyBrZWVwIGl0LgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgcmV0dXJuIFRydWUK
KworCitkZWYgY2xlYW5fZGVwZW5kZW5jeV9yZWxhdGlvbnNoaXBzKHRyYW5zLCBtZXRhZGF0YV9k
aWN0LCB0b29sX3NoZWRfcmVwb3NpdD0Kb3J5LCB0b29sX3NoZWRfdXJsKToKKyAgICAiIiIKKyAg
ICBSZXBvc2l0b3JpZXMgb2YgdHlwZSB0b29sX2RlcGVuZGVuY3lfZGVmaW5pdGlvbiBhbGxvdyBm
b3IgZGVmaW5pbmcgYQorICAgIHBhY2thZ2UgZGVwZW5kZW5jeSBhdCBzb21lIHBvaW50IGluIHRo
ZSBjaGFuZ2UgbG9nIGFuZCB0aGVuIHJlbW92aW5nIHQ9CmhlCisgICAgZGVwZW5kZW5jeSBsYXRl
ciBpbiB0aGUgY2hhbmdlIGxvZy4gIFRoaXMgZnVuY3Rpb24ga2VlcHMgdGhlIGRlcGVuZGVuY3kK
KyAgICByZWxhdGlvbnNoaXBzIG9uIHRoZSBHYWxheHkgc2lkZSBjdXJyZW50IGJ5IGRlbGV0aW5n
IGRhdGFiYXNlIHJlY29yZHMKKyAgICB0aGF0IGRlZmluZWQgdGhlIG5vdy1icm9rZW4gcmVsYXRp
b25zaGlwcy4KKyAgICAiIiIKKyAgICBmb3IgcnJkYSBpbiB0b29sX3NoZWRfcmVwb3NpdG9yeS5y
ZXF1aXJlZF9yZXBvc2l0b3JpZXM6CisgICAgICAgIHJkID0zRCBycmRhLnJlcG9zaXRvcnlfZGVw
ZW5kZW5jeQorICAgICAgICByID0zRCByZC5yZXBvc2l0b3J5CisgICAgICAgIGlmIGNhbl9lbGlt
aW5hdGVfcmVwb3NpdG9yeV9kZXBlbmRlbmN5KG1ldGFkYXRhX2RpY3QsIHRvb2xfc2hlZF91cj0K
bCwgci5uYW1lLCByLm93bmVyKToKKyAgICAgICAgICAgIHRyYW5zLmluc3RhbGxfbW9kZWwuY29u
dGV4dC5kZWxldGUocnJkYSkKKyAgICAgICAgICAgIHRyYW5zLmluc3RhbGxfbW9kZWwuY29udGV4
dC5mbHVzaCgpCisgICAgZm9yIHRkIGluIHRvb2xfc2hlZF9yZXBvc2l0b3J5LnRvb2xfZGVwZW5k
ZW5jaWVzOgorICAgICAgICBpZiBjYW5fZWxpbWluYXRlX3Rvb2xfZGVwZW5kZW5jeShtZXRhZGF0
YV9kaWN0LCB0ZC5uYW1lLCB0ZC50eXBlLCA9CnRkLnZlcnNpb24pOgorICAgICAgICAgICAgdHJh
bnMuaW5zdGFsbF9tb2RlbC5jb250ZXh0LmRlbGV0ZSh0ZCkKKyAgICAgICAgICAgIHRyYW5zLmlu
c3RhbGxfbW9kZWwuY29udGV4dC5mbHVzaCgpCisKKwogZGVmIGNyZWF0ZV9vcl91cGRhdGVfdG9v
bF9zaGVkX3JlcG9zaXRvcnkoIGFwcCwgbmFtZSwgZGVzY3JpcHRpb24sIGluc3RhbGw9CmVkX2No
YW5nZXNldF9yZXZpc2lvbiwgY3R4X3JldiwgcmVwb3NpdG9yeV9jbG9uZV91cmwsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGFfZGljdCwgc3RhdHVz
LCBjdXJyZW50Xz0KY2hhbmdlc2V0X3JldmlzaW9uPTNETm9uZSwgb3duZXI9M0QnJywgZGlzdF90
b19zaGVkPTNERmFsc2UgKToKICAgICAiIiIKQEAgLTMwMCw2ICszNTMsMTkgQEAKICAgICByZXR1
cm4gaGdfdXRpbC5JTklUSUFMX0NIQU5HRUxPR19IQVNICj0yMAo9MjAKK2RlZiBnZXRfdG9vbF9k
ZXBlbmRlbmN5X2RlZmluaXRpb25fbWV0YWRhdGFfZnJvbV90b29sX3NoZWQoIGFwcCwgdG9vbF9z
aGVkPQpfdXJsLCBuYW1lLCBvd25lciApOgorICAgICIiIgorICAgIFNlbmQgYSByZXF1ZXN0IHRv
IHRoZSB0b29sIHNoZWQgdG8gcmV0cmlldmUgdGhlIGN1cnJlbnQgbWV0YWRhdGEgZm9yIGEKKyAg
ICByZXBvc2l0b3J5IG9mIHR5cGUgdG9vbF9kZXBlbmRlbmN5X2RlZmluaXRpb24gZGVmaW5lZCBi
eSB0aGUgY29tYmluYXRpPQpvbgorICAgIG9mIGEgbmFtZSBhbmQgb3duZXIuCisgICAgIiIiCisg
ICAgdG9vbF9zaGVkX3VybCA9M0QgY29tbW9uX3V0aWwuZ2V0X3Rvb2xfc2hlZF91cmxfZnJvbV90
b29sX3NoZWRfcmVnaXN0cj0KeSggYXBwLCB0b29sX3NoZWRfdXJsICkKKyAgICBwYXJhbXMgPTNE
IGRpY3QoIG5hbWU9M0RuYW1lLCBvd25lcj0zRG93bmVyICkKKyAgICBwYXRoc3BlYyA9M0QgWyAn
cmVwb3NpdG9yeScsICdnZXRfdG9vbF9kZXBlbmRlbmN5X2RlZmluaXRpb25fbWV0YWRhdGEnPQog
XQorICAgIG1ldGFkYXRhID0zRCBjb21tb25fdXRpbC50b29sX3NoZWRfZ2V0KCBhcHAsIHRvb2xf
c2hlZF91cmwsIHBhdGhzcGVjPQo9M0RwYXRoc3BlYywgcGFyYW1zPTNEcGFyYW1zICkKKyAgICBy
ZXR1cm4gbWV0YWRhdGEKKworCiBkZWYgZ2V0X25leHRfZG93bmxvYWRhYmxlX2NoYW5nZXNldF9y
ZXZpc2lvbiggcmVwb3NpdG9yeSwgcmVwbywgYWZ0ZXJfY2hhbj0KZ2VzZXRfcmV2aXNpb24gKToK
ICAgICAiIiIKICAgICBSZXR1cm4gdGhlIGluc3RhbGxhYmxlIGNoYW5nZXNldF9yZXZpc2lvbiBp
biB0aGUgcmVwb3NpdG9yeSBjaGFuZ2Vsb2cgPQphZnRlciB0aGUgY2hhbmdlc2V0IHRvIHdoaWNo
CkBAIC01MzQsOSArNjAwLDE3IEBACiAgICAgcmV0dXJuIHJlcG9zaXRvcnkKPTIwCj0yMAotZGVm
IGdldF9yZXBvc2l0b3J5X2ZpbGVfY29udGVudHMoIGZpbGVfcGF0aCApOgorZGVmIGdldF9yZXBv
c2l0b3J5X2ZpbGVfY29udGVudHMoIGFwcCwgZmlsZV9wYXRoLCByZXBvc2l0b3J5X2lkICk6CiAg
ICAgIiIiUmV0dXJuIHRoZSBkaXNwbGF5LXNhZmUgY29udGVudHMgb2YgYSByZXBvc2l0b3J5IGZp
bGUgZm9yIGRpc3BsYXkgaT0KbiBhIGJyb3dzZXIuIiIiCi0gICAgaWYgY2hlY2tlcnMuaXNfZ3pp
cCggZmlsZV9wYXRoICk6CisgICAgc2FmZV9zdHIgPTNEICcnCisgICAgaWYgbm90IGlzX3BhdGhf
d2l0aGluX3JlcG8oIGFwcCwgZmlsZV9wYXRoLCByZXBvc2l0b3J5X2lkICk6CisgICAgICAgIGxv
Zy53YXJuaW5nKCAnUmVxdWVzdCB0cmllcyB0byBhY2Nlc3MgYSBmaWxlIG91dHNpZGUgb2YgdGhl
IHJlcG9zaT0KdG9yeSBsb2NhdGlvbi4gRmlsZSBwYXRoOiAlcycsIGZpbGVfcGF0aCApCisgICAg
ICAgIHJldHVybiAnSW52YWxpZCBmaWxlIHBhdGgnCisgICAgIyBTeW1saW5rIHRhcmdldHMgYXJl
IGNoZWNrZWQgYnkgaXNfcGF0aF93aXRoaW5fcmVwbworICAgIGlmIG9zLnBhdGguaXNsaW5rKCBm
aWxlX3BhdGggKToKKyAgICAgICAgc2FmZV9zdHIgPTNEICdsaW5rIHRvOiAnICsgYmFzaWNfdXRp
bC50b19odG1sX3N0cmluZyggb3MucmVhZGxpbmsoPQogZmlsZV9wYXRoICkgKQorICAgICAgICBy
ZXR1cm4gc2FmZV9zdHIKKyAgICBlbGlmIGNoZWNrZXJzLmlzX2d6aXAoIGZpbGVfcGF0aCApOgog
ICAgICAgICByZXR1cm4gJzxici8+Z3ppcCBjb21wcmVzc2VkIGZpbGU8YnIvPicKICAgICBlbGlm
IGNoZWNrZXJzLmlzX2J6MiggZmlsZV9wYXRoICk6CiAgICAgICAgIHJldHVybiAnPGJyLz5iejIg
Y29tcHJlc3NlZCBmaWxlPGJyLz4nCkBAIC01NDUsNyArNjE5LDYgQEAKICAgICBlbGlmIGNoZWNr
ZXJzLmNoZWNrX2JpbmFyeSggZmlsZV9wYXRoICk6CiAgICAgICAgIHJldHVybiAnPGJyLz5CaW5h
cnkgZmlsZTxici8+JwogICAgIGVsc2U6Ci0gICAgICAgIHNhZmVfc3RyID0zRCAnJwogICAgICAg
ICBmb3IgaSwgbGluZSBpbiBlbnVtZXJhdGUoIG9wZW4oIGZpbGVfcGF0aCApICk6CiAgICAgICAg
ICAgICBzYWZlX3N0ciA9M0QgJyVzJXMnICUgKCBzYWZlX3N0ciwgYmFzaWNfdXRpbC50b19odG1s
X3N0cmluZyggbD0KaW5lICkgKQogICAgICAgICAgICAgIyBTdG9wIHJlYWRpbmcgYWZ0ZXIgc3Ry
aW5nIGlzIGxhcmdlciB0aGFuIE1BWF9DT05URU5UX1NJWkUuCkBAIC01NTUsNiArNjI4LDcgQEAK
ICAgICAgICAgICAgICAgICAgICAgdXRpbC5uaWNlX3NpemUoIE1BWF9DT05URU5UX1NJWkUgKQog
ICAgICAgICAgICAgICAgIHNhZmVfc3RyID0zRCAnJXMlcycgJSAoIHNhZmVfc3RyLCBsYXJnZV9z
dHIgKQogICAgICAgICAgICAgICAgIGJyZWFrCisKICAgICAgICAgaWYgbGVuKCBzYWZlX3N0ciAp
ID4gYmFzaWNfdXRpbC5NQVhfRElTUExBWV9TSVpFOgogICAgICAgICAgICAgIyBFbGltaW5hdGUg
dGhlIG1pZGRsZSBvZiB0aGUgZmlsZSB0byBkaXNwbGF5IGEgZmlsZSBubyBsYXJnZXI9CiB0aGFu
IGJhc2ljX3V0aWwuTUFYX0RJU1BMQVlfU0laRS4KICAgICAgICAgICAgICMgVGhpcyBtYXkgbm90
IGJlIGlkZWFsIGlmIHRoZSBmaWxlIGlzIGxhcmdlciB0aGFuIE1BWF9DT05URU5UPQpfU0laRS4K
QEAgLTU3Niw5ICs2NTAsNiBAQAogICAgICAgICAjIFNraXAgLmhnIGRpcmVjdG9yaWVzCiAgICAg
ICAgIGlmIGl0ZW0uc3RhcnRzd2l0aCggJy5oZycgKToKICAgICAgICAgICAgIGNvbnRpbnVlCi0g
ICAgICAgIGlmIG9zLnBhdGguaXNkaXIoIG9zLnBhdGguam9pbiggZm9sZGVyX3BhdGgsIGl0ZW0g
KSApOgotICAgICAgICAgICAgIyBBcHBlbmQgYSAnLycgY2hhcmFjdGVyIHNvIHRoYXQgb3VyIGpx
dWVyeSBkeW5hdHJlZSB3aWxsIGZ1bmM9CnRpb24gcHJvcGVybHkuCi0gICAgICAgICAgICBpdGVt
ID0zRCAnJXMvJyAlIGl0ZW0KICAgICAgICAgY29udGVudHMuYXBwZW5kKCBpdGVtICkKICAgICBp
ZiBjb250ZW50czoKICAgICAgICAgY29udGVudHMuc29ydCgpCkBAIC03MTMsNiArNzg0LDE4IEBA
CiAgICAgcmV0dXJuIHF1ZXJ5Cj0yMAo9MjAKK2RlZiBnZXRfcmVwb3NpdG9yeV90eXBlX2Zyb21f
dG9vbF9zaGVkKCBhcHAsIHRvb2xfc2hlZF91cmwsIG5hbWUsIG93bmVyICk6CisgICAgIiIiCisg
ICAgU2VuZCBhIHJlcXVlc3QgdG8gdGhlIHRvb2wgc2hlZCB0byByZXRyaWV2ZSB0aGUgdHlwZSBm
b3IgYSByZXBvc2l0b3J5ID0KZGVmaW5lZCBieSB0aGUKKyAgICBjb21iaW5hdGlvbiBvZiBhIG5h
bWUgYW5kIG93bmVyLgorICAgICIiIgorICAgIHRvb2xfc2hlZF91cmwgPTNEIGNvbW1vbl91dGls
LmdldF90b29sX3NoZWRfdXJsX2Zyb21fdG9vbF9zaGVkX3JlZ2lzdHI9CnkoIGFwcCwgdG9vbF9z
aGVkX3VybCApCisgICAgcGFyYW1zID0zRCBkaWN0KCBuYW1lPTNEbmFtZSwgb3duZXI9M0Rvd25l
ciApCisgICAgcGF0aHNwZWMgPTNEIFsgJ3JlcG9zaXRvcnknLCAnZ2V0X3JlcG9zaXRvcnlfdHlw
ZScgXQorICAgIHJlcG9zaXRvcnlfdHlwZSA9M0QgY29tbW9uX3V0aWwudG9vbF9zaGVkX2dldCgg
YXBwLCB0b29sX3NoZWRfdXJsLCBwYXQ9CmhzcGVjPTNEcGF0aHNwZWMsIHBhcmFtcz0zRHBhcmFt
cyApCisgICAgcmV0dXJuIHJlcG9zaXRvcnlfdHlwZQorCisKIGRlZiBnZXRfdG9vbF9wYW5lbF9j
b25maWdfdG9vbF9wYXRoX2luc3RhbGxfZGlyKCBhcHAsIHJlcG9zaXRvcnkgKToKICAgICAiIiIK
ICAgICBSZXR1cm4gc2hlZC1yZWxhdGVkIHRvb2wgcGFuZWwgY29uZmlnLCB0aGUgdG9vbF9wYXRo
IGNvbmZpZ3VyZWQgaW4gaXQsPQogYW5kIHRoZSByZWxhdGl2ZSBwYXRoIHRvCkBAIC0xMDMxLDEx
ICsxMTE0LDE1IEBACiAgICAgcmV0dXJuIGhhc2F0dHIoIGFwcCwgImluc3RhbGxfbW9kZWwiICkK
PTIwCj0yMAotZGVmIG9wZW5fcmVwb3NpdG9yeV9maWxlc19mb2xkZXIoIGZvbGRlcl9wYXRoICk6
CitkZWYgb3Blbl9yZXBvc2l0b3J5X2ZpbGVzX2ZvbGRlciggYXBwLCBmb2xkZXJfcGF0aCwgcmVw
b3NpdG9yeV9pZCApOgogICAgICIiIgogICAgIFJldHVybiBhIGxpc3Qgb2YgZGljdGlvbmFyaWVz
LCBlYWNoIG9mIHdoaWNoIGNvbnRhaW5zIGluZm9ybWF0aW9uIGZvciA9CmEgZmlsZSBvciBkaXJl
Y3RvcnkgY29udGFpbmVkCiAgICAgd2l0aGluIGEgZGlyZWN0b3J5IGluIGEgcmVwb3NpdG9yeSBm
aWxlIGhpZXJhcmNoeS4KICAgICAiIiIKKyAgICAjIFN5bWxpbmsgdGFyZ2V0cyBhcmUgY2hlY2tl
ZCBieSBpc19wYXRoX3dpdGhpbl9yZXBvCisgICAgaWYgbm90IGlzX3BhdGhfd2l0aGluX3JlcG8o
IGFwcCwgZm9sZGVyX3BhdGgsIHJlcG9zaXRvcnlfaWQgKToKKyAgICAgICAgbG9nLndhcm5pbmco
ICdSZXF1ZXN0IHRyaWVzIHRvIGFjY2VzcyBhIGZvbGRlciBvdXRzaWRlIG9mIHRoZSByZXBvPQpz
aXRvcnkgbG9jYXRpb24uIEZvbGRlciBwYXRoOiAlcycsIGZvbGRlcl9wYXRoICkKKyAgICAgICAg
cmV0dXJuIFtdCiAgICAgdHJ5OgogICAgICAgICBmaWxlc19saXN0ID0zRCBnZXRfcmVwb3NpdG9y
eV9maWxlcyggZm9sZGVyX3BhdGggKQogICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgpAQCAtMTA0NSwx
MCArMTEzMiwxNyBAQAogICAgIGZvbGRlcl9jb250ZW50cyA9M0QgW10KICAgICBmb3IgZmlsZW5h
bWUgaW4gZmlsZXNfbGlzdDoKICAgICAgICAgaXNfZm9sZGVyID0zRCBGYWxzZQotICAgICAgICBp
ZiBmaWxlbmFtZSBhbmQgZmlsZW5hbWVbIC0xIF0gPTNEPTNEIG9zLnNlcDoKLSAgICAgICAgICAg
IGlzX2ZvbGRlciA9M0QgVHJ1ZQorICAgICAgICBmdWxsX3BhdGggPTNEIG9zLnBhdGguam9pbigg
Zm9sZGVyX3BhdGgsIGZpbGVuYW1lICkKKyAgICAgICAgaXNfbGluayA9M0Qgb3MucGF0aC5pc2xp
bmsoIGZ1bGxfcGF0aCApCisgICAgICAgIHBhdGhfaXNfd2l0aGluX3JlcG8gPTNEIGlzX3BhdGhf
d2l0aGluX3JlcG8oIGFwcCwgZnVsbF9wYXRoLCByZXBvcz0KaXRvcnlfaWQgKQorICAgICAgICBp
ZiBpc19saW5rIGFuZCBub3QgcGF0aF9pc193aXRoaW5fcmVwbzoKKyAgICAgICAgICAgIGxvZy53
YXJuaW5nKCAnVmFsaWQgZm9sZGVyIGNvbnRhaW5zIGEgc3ltbGluayBvdXRzaWRlIG9mIHRoZSBy
PQplcG9zaXRvcnkgbG9jYXRpb24uIExpbmsgZm91bmQgaW46ICcgKyBzdHIoIGZ1bGxfcGF0aCAp
ICkKICAgICAgICAgaWYgZmlsZW5hbWU6Ci0gICAgICAgICAgICBmdWxsX3BhdGggPTNEIG9zLnBh
dGguam9pbiggZm9sZGVyX3BhdGgsIGZpbGVuYW1lICkKKyAgICAgICAgICAgIGlmIG9zLnBhdGgu
aXNkaXIoIGZ1bGxfcGF0aCApIGFuZCBwYXRoX2lzX3dpdGhpbl9yZXBvOgorICAgICAgICAgICAg
ICAgICMgQXBwZW5kIGEgJy8nIGNoYXJhY3RlciBzbyB0aGF0IG91ciBqcXVlcnkgZHluYXRyZWUg
d2lsbCA9CmZ1bmN0aW9uIHByb3Blcmx5LgorICAgICAgICAgICAgICAgIGZpbGVuYW1lID0zRCAn
JXMvJyAlIGZpbGVuYW1lCisgICAgICAgICAgICAgICAgZnVsbF9wYXRoID0zRCAnJXMvJyAlIGZ1
bGxfcGF0aAorICAgICAgICAgICAgICAgIGlzX2ZvbGRlciA9M0QgVHJ1ZQogICAgICAgICAgICAg
bm9kZSA9M0QgeyAidGl0bGUiOiBmaWxlbmFtZSwKICAgICAgICAgICAgICAgICAgICAgICJpc0Zv
bGRlciI6IGlzX2ZvbGRlciwKICAgICAgICAgICAgICAgICAgICAgICJpc0xhenkiOiBpc19mb2xk
ZXIsCkBAIC0xMDU4LDYgKzExNTIsMTYgQEAKICAgICByZXR1cm4gZm9sZGVyX2NvbnRlbnRzCj0y
MAo9MjAKK2RlZiBpc19wYXRoX3dpdGhpbl9yZXBvKCBhcHAsIHBhdGgsIHJlcG9zaXRvcnlfaWQg
KToKKyAgICAiIiIKKyAgICBEZXRlY3Qgd2hldGhlciB0aGUgZ2l2ZW4gcGF0aCBpcyB3aXRoaW4g
dGhlIHJlcG9zaXRvcnkgZm9sZGUgcm9uIHRoZSBkPQppc2suCisgICAgVXNlIHRvIGZpbHRlciBt
YWxpY2lvdXMgc3ltbGlua3MgdGFyZ2V0aW5nIG91dHNpZGUgcGF0aHMuCisgICAgIiIiCisgICAg
cmVwb19wYXRoID0zRCBvcy5wYXRoLmFic3BhdGgoIGdldF9yZXBvc2l0b3J5X2J5X2lkKCBhcHAs
IHJlcG9zaXRvcnlfaT0KZCApLnJlcG9fcGF0aCggYXBwICkgKQorICAgIHJlc29sdmVkX3BhdGgg
PTNEIG9zLnBhdGgucmVhbHBhdGgoIHBhdGggKQorICAgIHJldHVybiBvcy5wYXRoLmNvbW1vbnBy
ZWZpeCggWyByZXBvX3BhdGgsIHJlc29sdmVkX3BhdGggXSApID0zRD0zRCByZXA9Cm9fcGF0aAor
CisKIGRlZiByZXBvc2l0b3J5X3dhc19wcmV2aW91c2x5X2luc3RhbGxlZCggYXBwLCB0b29sX3No
ZWRfdXJsLCByZXBvc2l0b3J5X25hPQptZSwgcmVwb19pbmZvX3R1cGxlLCBmcm9tX3RpcD0zREZh
bHNlICk6CiAgICAgIiIiCiAgICAgRmluZCBvdXQgaWYgYSByZXBvc2l0b3J5IGlzIGFscmVhZHkg
aW5zdGFsbGVkIGludG8gR2FsYXh5IC0gdGhlcmUgYXJlID0Kc2V2ZXJhbCBzY2VuYXJpb3Mgd2hl
cmUgdGhpcwoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFh
IC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBzY3JpcHRzL2Z1
bmN0aW9uYWxfdGVzdHMucHkKLS0tIGEvc2NyaXB0cy9mdW5jdGlvbmFsX3Rlc3RzLnB5CisrKyBi
L3NjcmlwdHMvZnVuY3Rpb25hbF90ZXN0cy5weQpAQCAtMzM2LDYgKzMzNiw3IEBACiAgICAgICAg
ICAgICAgICAgICAgICAgIHVzZXJfbGlicmFyeV9pbXBvcnRfZGlyPTNEdXNlcl9saWJyYXJ5X2lt
cG9ydF9kaXIsCiAgICAgICAgICAgICAgICAgICAgICAgIG1hc3Rlcl9hcGlfa2V5PTNEbWFzdGVy
X2FwaV9rZXksCiAgICAgICAgICAgICAgICAgICAgICAgIHVzZV90YXNrZWRfam9icz0zRFRydWUs
CisgICAgICAgICAgICAgICAgICAgICAgIGNoZWNrX21pZ3JhdGVfdG9vbHM9M0RGYWxzZSwKICAg
ICAgICAgICAgICAgICAgICAgICAgY2xlYW51cF9qb2I9M0Qnb25zdWNjZXNzJywKICAgICAgICAg
ICAgICAgICAgICAgICAgZW5hYmxlX2JldGFfdG9vbF9mb3JtYXRzPTNEVHJ1ZSwKICAgICAgICAg
ICAgICAgICAgICAgICAgYXV0b19jb25maWd1cmVfbG9nZ2luZz0zRGxvZ2dpbmdfY29uZmlnX2Zp
bGUgaXMgTm9uPQplLAoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1
NTUyZDFhIC1yIDM2YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBzdGF0
aWMvbWFwcy9tdmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcy5tYXAKLS0t
IGEvc3RhdGljL21hcHMvbXZjL2NvbGxlY3Rpb24vbGlzdC1jb2xsZWN0aW9uLWNyZWF0b3IuanMu
bWFwCisrKyBiL3N0YXRpYy9tYXBzL212Yy9jb2xsZWN0aW9uL2xpc3QtY29sbGVjdGlvbi1jcmVh
dG9yLmpzLm1hcApAQCAtMSwxICsxLDEgQEAKLXsidmVyc2lvbiI6MywiZmlsZSI6Imxpc3QtY29s
bGVjdGlvbi1jcmVhdG9yLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvPQptdmMvY29sbGVj
dGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcyJdLCJuYW1lcyI6WyJkZWZpbmUiLCJIRENB
IiwiU1RBVEU9ClMiLCJCQVNFX01WQyIsIlVJX01PREFMIiwibmF0dXJhbFNvcnQiLCJfbCIsImNy
ZWF0ZUxpc3RDb2xsZWN0aW9uIiwiY29udGVudD0KcyIsImVsZW1lbnRzIiwidG9KU09OIiwicHJv
bWlzZSIsImxpc3RDb2xsZWN0aW9uQ3JlYXRvck1vZGFsIiwiY3JlYXRpb25GbiIsPQoibmFtZSIs
Im1hcCIsImVsZW1lbnQiLCJpZCIsInNyYyIsImhpc3RvcnlfY29udGVudF90eXBlIiwiY3JlYXRl
SERDQSIsIkRhdGE9CnNldENvbGxlY3Rpb25FbGVtZW50VmlldyIsIkJhY2tib25lIiwiVmlldyIs
ImV4dGVuZCIsIkxvZ2dhYmxlTWl4aW4iLCJ0YWdOYT0KbWUiLCJjbGFzc05hbWUiLCJpbml0aWFs
aXplIiwiYXR0cmlidXRlcyIsInRoaXMiLCJzZWxlY3RlZCIsInJlbmRlciIsIiRlbCIsPQoiYXR0
ciIsImh0bWwiLCJ0ZW1wbGF0ZSIsImFkZENsYXNzIiwiXyIsImpvaW4iLCJzZWxlY3QiLCJ0b2dn
bGUiLCJ0b2dnbGVDbGE9CnNzIiwidHJpZ2dlciIsInNvdXJjZSIsImhhc0NsYXNzIiwiZGlzY2Fy
ZCIsInZpZXciLCJwYXJlbnRXaWR0aCIsInBhcmVudCIsIj0Kd2lkdGgiLCJhbmltYXRlIiwibWFy
Z2luLXJpZ2h0IiwiZGVzdHJveSIsIm9mZiIsInJlbW92ZSIsImV2ZW50cyIsImNsaWNrIiwiPQpj
bGljayAubmFtZSIsImNsaWNrIC5kaXNjYXJkIiwiZHJhZ3N0YXJ0IiwiZHJhZ2VuZCIsImRyYWdv
dmVyIiwiZHJvcCIsIl9jbGk9CmNrIiwiZXYiLCJzdG9wUHJvcGFnYXRpb24iLCJfY2xpY2tOYW1l
IiwicHJldmVudERlZmF1bHQiLCJyZXNwb25zZSIsInByb21wdD0KIiwiX2NsaWNrRGlzY2FyZCIs
Il9kcmFnc3RhcnQiLCJvcmlnaW5hbEV2ZW50IiwiZGF0YVRyYW5zZmVyIiwiZWZmZWN0QWxsb3dl
PQpkIiwic2V0RGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJfZHJhZ2VuZCIsInJlbW92ZUNsYXNz
IiwiX3NlbmRUb1BhcmVudCIsInQ9Cm9TdHJpbmciLCJMaXN0Q29sbGVjdGlvbkNyZWF0b3IiLCJl
bGVtZW50Vmlld0NsYXNzIiwiY29sbGVjdGlvbkNsYXNzIiwiSGlzdD0Kb3J5TGlzdERhdGFzZXRD
b2xsZWN0aW9uIiwibWluRWxlbWVudHMiLCJkZWZhdWx0QXR0cmlidXRlcyIsIlR5cGVFcnJvciIs
Im9uPQpjcmVhdGUiLCJvbmNhbmNlbCIsImF1dG9zY3JvbGxEaXN0IiwiaGlnaGxpZ2h0Q2xyIiwi
bWV0cmljIiwiY3JlYXRvciIsImVhY2g9CiIsInZhbHVlIiwia2V5IiwiaW5pdGlhbEVsZW1lbnRz
IiwiX2luc3RhbmNlU2V0VXAiLCJfZWxlbWVudHNTZXRVcCIsIl9zZXRVcD0KQmVoYXZpb3JzIiwi
c2VsZWN0ZWRJZHMiLCIkZHJhZ2dpbmciLCJibG9ja2luZyIsImludmFsaWRFbGVtZW50cyIsIndv
cmtpbmdFPQpsZW1lbnRzIiwiZWxlbWVudFZpZXdzIiwic2xpY2UiLCJfZW5zdXJlRWxlbWVudElk
cyIsIl92YWxpZGF0ZUVsZW1lbnRzIiwiX209CmFuZ2xlRHVwbGljYXRlTmFtZXMiLCJfc29ydEVs
ZW1lbnRzIiwiZm9yRWFjaCIsImhhc093blByb3BlcnR5IiwidW5pcXVlSWQiLD0KImZpbHRlciIs
InByb2JsZW0iLCJfaXNFbGVtZW50SW52YWxpZCIsInB1c2giLCJ0ZXh0Iiwic3RhdGUiLCJPSyIs
ImNvbnRhaW5zPQoiLCJOT1RfUkVBRFlfU1RBVEVTIiwiZGVsZXRlZCIsInB1cmdlZCIsIlNBRkVU
WSIsImNvdW50ZXIiLCJleGlzdGluZ05hbWVzIiw9CiJjdXJyTmFtZSIsIkVycm9yIiwic3BlZWQi
LCJjYWxsYmFjayIsImxlbmd0aCIsIl9yZW5kZXJJbnZhbGlkIiwiZW1wdHkiLCJ0ZT0KbXBsYXRl
cyIsIm1haW4iLCJfcmVuZGVySGVhZGVyIiwiX3JlbmRlck1pZGRsZSIsIl9yZW5kZXJGb290ZXIi
LCJfYWRkUGx1Z2luPQpDb21wb25lbnRzIiwiJCIsImZvY3VzIiwiaW52YWxpZEluaXRpYWwiLCJw
cm9ibGVtcyIsInNob3ciLCIkaGVhZGVyIiwiaGVhZGU9CnIiLCJmaW5kIiwicHJlcGVuZCIsImhl
bHBDb250ZW50IiwiX2ludmFsaWRFbGVtZW50c0FsZXJ0IiwiJG1pZGRsZSIsIm1pZGRsZT0KIiwi
X3JlbmRlckxpc3QiLCIkZm9vdGVyIiwiZm9vdGVyIiwiaG92ZXJoaWdobGlnaHQiLCJfc2hvd0Fs
ZXJ0IiwiX3ZhbGlkYXRpPQpvbldhcm5pbmciLCJ3aGF0IiwiY2xlYXIiLCJWQUxJREFUSU9OX0NM
QVNTIiwiYWRkIiwiX2Rpc2FibGVOYW1lQW5kQ3JlYXRlIiw9CiJkaXNhYmxlIiwiaXNVbmRlZmlu
ZWQiLCJwcm9wIiwiJGxpc3QiLCJfcmVuZGVyQ2xlYXJTZWxlY3RlZCIsInNpemUiLCJoaWRlIj0K
LCIkdG1wIiwialF1ZXJ5IiwicmVtb3ZlRWxlbWVudFZpZXciLCJlbGVtZW50VmlldyIsIl9jcmVh
dGVFbGVtZW50VmlldyIsImFwPQpwZW5kIiwiY2hpbGRyZW4iLCJpbnZva2UiLCJoZWlnaHQiLCJj
c3MiLCJoYXMiLCJfbGlzdGVuVG9FbGVtZW50VmlldyIsImxpc3Q9CmVuVG8iLCJkYXRhIiwiYWRk
RWxlbWVudFZpZXciLCJ3aXRob3V0Iiwic3RvcExpc3RlbmluZyIsIl9yZW5kZXJOb0VsZW1lbnRz
TD0KZWZ0Iiwibm9FbGVtZW50c0xlZnQiLCJfZWxlbWVudFRvSlNPTiIsImNyZWF0ZUxpc3QiLCJt
ZXNzYWdlIiwiYWx3YXlzIiwiZmFpPQpsIiwieGhyIiwic3RhdHVzIiwiZG9uZSIsImNhbGwiLCJv
biIsIl9lcnJvckhhbmRsZXIiLCJvbmNlIiwiZXJyb3IiLCJjb250ZW49CnQiLCJyZWFkeVN0YXRl
IiwicmVzcG9uc2VKU09OIiwiY2xpY2sgLm1vcmUtaGVscCIsImNsaWNrIC5sZXNzLWhlbHAiLCJj
bGljaz0KIC5tYWluLWhlbHAiLCJjbGljayAuaGVhZGVyIC5hbGVydCBidXR0b24iLCJjbGljayAu
cmVzZXQiLCJjbGljayAuY2xlYXItc2VsPQplY3RlZCIsImNsaWNrIC5jb2xsZWN0aW9uLWVsZW1l
bnRzIiwiZHJhZ292ZXIgLmNvbGxlY3Rpb24tZWxlbWVudHMiLCJkcm9wIC49CmNvbGxlY3Rpb24t
ZWxlbWVudHMiLCJjb2xsZWN0aW9uLWVsZW1lbnQuZHJhZ3N0YXJ0IC5jb2xsZWN0aW9uLWVsZW1l
bnRzIiwiYz0Kb2xsZWN0aW9uLWVsZW1lbnQuZHJhZ2VuZCAgIC5jb2xsZWN0aW9uLWVsZW1lbnRz
IiwiY2hhbmdlIC5jb2xsZWN0aW9uLW5hbWUiPQosImtleWRvd24gLmNvbGxlY3Rpb24tbmFtZSIs
ImNsaWNrIC5jYW5jZWwtY3JlYXRlIiwiY2xpY2sgLmNyZWF0ZS1jb2xsZWN0aW89Cm4iLCJfY2xp
Y2tNb3JlSGVscCIsIl9jbGlja0xlc3NIZWxwIiwiX3RvZ2dsZUhlbHAiLCJhbGVydENsYXNzIiwi
X2hpZGVBbGVydD0KIiwicmVzZXQiLCJjbGVhclNlbGVjdGVkRWxlbWVudHMiLCJfZHJhZ292ZXJF
bGVtZW50cyIsIl9jaGVja0ZvckF1dG9zY3JvbGwiPQosImNsaWVudFkiLCIkbmVhcmVzdCIsIl9n
ZXROZWFyZXN0RWxlbWVudCIsIiRwbGFjZWhvbGRlciIsImJlZm9yZSIsIiRlbGVtZW49CnQiLCJ5
IiwiQVVUT1NDUk9MTF9TUEVFRCIsIm9mZnNldCIsInNjcm9sbFRvcCIsInVwcGVyRGlzdCIsInRv
cCIsImxvd2VyRGlzdD0KIiwib3V0ZXJIZWlnaHQiLCJXSUdHTEUiLCJsaXMiLCJ0b0FycmF5Iiwi
aSIsIiRsaSIsImhhbGZIZWlnaHQiLCJNYXRoIiwiZmxvPQpvciIsIl9kcm9wRWxlbWVudHMiLCJk
cm9wRWZmZWN0IiwiaW5zZXJ0QmVmb3JlIiwiaW5zZXJ0QWZ0ZXIiLCJsYXN0IiwiX3N5bmM9Ck9y
ZGVyVG9Eb20iLCJuZXdFbGVtZW50cyIsImZpbmRXaGVyZSIsImNvbnNvbGUiLCJfZWxlbWVudERy
YWdzdGFydCIsIl9lbGVtZT0KbnREcmFnZW5kIiwiX2NoYW5nZU5hbWUiLCJfZ2V0TmFtZSIsIl9u
YW1lQ2hlY2tGb3JFbnRlciIsImtleUNvZGUiLCJfY2xpY2tDPQpyZWF0ZSIsImVzY2FwZSIsInZh
bCIsImNvbGxlY3Rpb25DcmVhdG9yTW9kYWwiLCJvcHRpb25zIiwiQ3JlYXRvckNsYXNzIiwiZGU9
CmZlcnJlZCIsIkRlZmVycmVkIiwibW9kYWwiLCJHYWxheHkiLCJkZWZhdWx0cyIsInJlamVjdCIs
InJlc29sdmUiLCJ0aXRsZSIsIj0KYm9keSIsImNsb3NpbmdfZXZlbnRzIiwid2luZG93IiwiX2Nv
bGxlY3Rpb25DcmVhdG9yIl0sIm1hcHBpbmdzIjoiQUFDQUEsUUFDPQpJLHlCQUNBLHFCQUNBLGVB
Q0Esa0JBQ0EscUJBQ0EscUJBQ0EscUJBQ0QsU0FBVUMsRUFBTUMsRUFBUUMsRUFBVUMsRUFBVUMs
RUE9CkFhQyxHQTAvQjVELFFBQVNDLEdBQXNCQyxHQUMzQixHQUFJQyxHQUFXRCxFQUFTRSxTQUNw
QkMsRUFBVUMsRUFBNEJILEdBQ2xDST0KLFdBQWEsU0FBVUosRUFBVUssR0FTN0IsTUFSQUwsR0FB
V0EsRUFBU00sSUFBSyxTQUFVQyxHQUMvQixPQUNJQyxHQUFVRCxFQUFRPQpDLEdBQ2xCSCxLQUFV
RSxFQUFRRixLQUVsQkksSUFBNkMsWUFBakNGLEVBQVFHLHFCQUFvQyxNQUFRLFVBR2pFWCxFQUFT
WSxXQUE9CllYLEVBQVUsT0FBUUssS0FHMUQsT0FBT0gsR0E3L0JYLEdBQUlVLEdBQStCQyxTQUFT
QyxLQUFLQyxPQUFRckIsRUFBU3NCLGVBQT0KZ0JELFFBRTlFRSxRQUFjLEtBQ2RDLFVBQWMscUJB
RWRDLFdBQWEsU0FBVUMsR0FDbkJDLEtBQUtkLFFBQVVhLEVBQVdiLFlBQzFCPQpjLEtBQUtDLFNB
QVdGLEVBQVdFLFdBQVksR0FHM0NDLE9BQVMsV0FRTCxNQVBBRixNQUFLRyxJQUNBQyxLQUFNLGtC
QUFtQkosS0E9CkFLZCxRQUFRQyxJQUN0Q2lCLEtBQU0sYUFBYSxHQUNuQkMsS0FBTUwsS0FBS00s
VUFBV3BCLFFBQVNjLEtBQUtkLFdBQ3JDYyxLQT0KQUtDLFVBQ0xELEtBQUtHLElBQUlJLFNBQVUs
WUFFaEJQLE1BSVhNLFNBQVdFLEVBQUVGLFVBQ1QsMEJBQTJCOUIsRUFBSSxtQkFBPQpxQiwrQkFD
aEQsc0JBQ0osT0FDQSw2Q0FBOENBLEVBQUkscUNBQXVDLEtBQ3JGQSxFQUFJLFdBQ1IsYUFDRmlD
LEtBQUssS0FHUEM9CixPQUFTLFNBQVVDLEdBQ2ZYLEtBQUtHLElBQUlTLFlBQWEsV0FBWUQsR0FD
bENYLEtBQUthLFFBQVMsVUFDVkMsT0FBV2QsS0FDWD0KQyxTQUFXRCxLQUFLRyxJQUFJWSxTQUFV
LGVBS3RDQyxRQUFVLFdBQ04sR0FBSUMsR0FBT2pCLEtBQ1BrQixFQUFjbEIsS0FBS0csPQpJQUFJ
Z0IsU0FBU0MsT0FDcENwQixNQUFLRyxJQUFJa0IsU0FBVUMsZUFBaUJKLEdBQWUsT0FBUSxXQUN2
REQsRUFBS0osUUFBUyw9CldBQ1ZDLE9BQVNHLElBRWJBLEVBQUtNLGFBS2JBLFFBQVUsV0FDTnZC
LEtBQUt3QixNQUNMeEIsS0FBS0csSUFBSXNCLFVBR2JDLD0KUUFDSUMsTUFBa0IsU0FDbEJDLGNB
QWtCLGFBQ2xCQyxpQkFBa0IsZ0JBRWxCQyxVQUFrQixhQUNsQkMsUUFBa0IsV0FDbEJDLFNBPQpB
a0IsZ0JBQ2xCQyxLQUFrQixpQkFJdEJDLE9BQVMsU0FBVUMsR0FDZkEsRUFBR0Msa0JBQ0hwQyxL
QUFLVSxPQUFReUIsSUFJakI9CkUsV0FBYSxTQUFVRixHQUNuQkEsRUFBR0Msa0JBQ0hELEVBQUdH
LGdCQUNILElBRUlDLEtBRmlCL0QsRUFBSSxvQ0FBc0MsT0FDMT0KQ0EsRUFBSSxnRUFBa0UsS0FB
TWlDLEtBQU0sSUFDeEYrQixPQUFRaEUsRUFBSSxvQ0FBdUMsSUFBS3dCLEtBQUtkLFFBQVFGLE1B
PQpDaEZ1RCxLQUNBdkMsS0FBS2QsUUFBUUYsS0FBT3VELEVBQ3BCdkMsS0FBS0UsV0FNYnVDLGNB
QWdCLFNBQVVOLEdBQ3RCQSxFQUE9CkdDLGtCQUNIcEMsS0FBS2dCLFdBSVQwQixXQUFhLFNBQVVQ
LEdBQ2ZBLEVBQUdRLGdCQUFpQlIsRUFBS0EsRUFBR1EsZUFDaENSLD0KRUFBR1MsYUFBYUMsY0FB
Z0IsT0FDaENWLEVBQUdTLGFBQWFFLFFBQVMsYUFBY0MsS0FBS0MsVUFBV2hELEtBQUtkLFVBRTVE
YyxLPQpBQUtHLElBQUlJLFNBQVUsWUFDbkJQLEtBQUtHLElBQUlnQixTQUFTTixRQUFTLGdDQUFr
Q2IsUUFJakVpRCxTQUFXLFdBQ1BqRCw9CktBQUtHLElBQUkrQyxZQUFhLFlBQ3RCbEQsS0FBS0cs
SUFBSWdCLFNBQVNOLFFBQVMsOEJBQWdDYixRQUkvRG1ELGNBQWdCLFNBQT0KVWhCLEdBQ3RCbkMs
S0FBS0csSUFBSWdCLFNBQVNOLFFBQVNzQixJQUkvQmlCLFNBQVcsV0FDUCxNQUFPLG9DQVFYQyxF
QUF3QjdEPQosU0FBU0MsS0FBS0MsT0FBUXJCLEVBQVNzQixlQUFnQkQsUUFHdkU0RCxpQkFBbUIv
RCxFQUVuQmdFLGdCQUFtQnBGLEVBQUtxRiw9CjZCQUN4QjNELFVBQW1CLGdFQUduQjRELFlBQW1C
LEVBRW5CQyxtQkFHSTNFLFdBQWEsV0FBWSxLQUFNLElBQUk0RSxXQUFXLCtCQT0KRTlDQyxTQUFh
LGFBRWJDLFNBQWEsYUFFYkMsZUFBa0IsR0FFbEJDLGFBQWtCLDZCQUl0QmpFLFdBQWEsU0FBVUMs
R0FDbkJDLEtBPQpBS2dFLE9BQVEsbUNBQW9DakUsRUFDakQsSUFBSWtFLEdBQVVqRSxJQUNkUSxH
QUFFMEQsS0FBTWxFLEtBQUswRCxrQkFBbUIsU0E9CkFVUyxFQUFPQyxHQUM3Q0QsRUFBUXBFLEVB
QVlxRSxJQUFTRCxFQUM3QkYsRUFBU0csR0FBUUQsSUFJckJGLEVBQVFJLGdCQUFrQj0KdEUsRUFB
V3BCLGFBRXJDcUIsS0FBS3NFLGlCQUNMdEUsS0FBS3VFLGlCQUNMdkUsS0FBS3dFLG1CQUlURixl
QUFpQixXQUVidEUsPQpLQUFLeUUsZUFFTHpFLEtBQUswRSxVQUFZLEtBRWpCMUUsS0FBSzJFLFVB
QVcsR0FLcEJKLGVBQWlCLFdBR2J2RSxLQUFLNEUsbUI9CkFHTDVFLEtBQUs2RSxtQkFFTDdFLEtB
QUs4RSxnQkFHTDlFLEtBQUs2RSxnQkFBa0I3RSxLQUFLcUUsZ0JBQWdCVSxNQUFPLEdBQz0KbkQv
RSxLQUFLZ0Ysb0JBQ0xoRixLQUFLaUYsb0JBQ0xqRixLQUFLa0Ysd0JBQ0xsRixLQUFLbUYsaUJB
SVRILGtCQUFvQixXQU1oPQpCLE1BTEFoRixNQUFLNkUsZ0JBQWdCTyxRQUFTLFNBQVVsRyxHQUMv
QkEsRUFBUW1HLGVBQWdCLFFBQ3pCbkcsRUFBUUMsR0FBS3E9CkIsRUFBRThFLGNBR2hCdEYsS0FB
SzZFLGlCQUloQkksa0JBQW9CLFdBQ2hCLEdBQUloQixHQUFVakUsSUFjZCxPQVpBaUUsR0FBUT0K
VyxtQkFFUjVFLEtBQUs2RSxnQkFBa0I3RSxLQUFLNkUsZ0JBQWdCVSxPQUFRLFNBQVVyRyxHQUMx
RCxHQUFJc0csR0FBVXZCLEVBPQpBUXdCLGtCQUFtQnZHLEVBT3pDLE9BTklzRyxJQUNBdkIsRUFB
UVcsZ0JBQWdCYyxNQUNwQnhHLFFBQVVBLEVBQ1Z5RyxLQUFVSCw9CktBR1ZBLElBRUx4RixLQUFL
NkUsaUJBSWhCWSxrQkFBb0IsU0FBVXZHLEdBQzFCLE1BQXFDLFlBQWpDQSxFQUFRRyxxQkFDRGIs
RT0KQUFJLG9CQUVYVSxFQUFRMEcsUUFBVXhILEVBQU95SCxHQUVkckgsRUFEUGdDLEVBQUVzRixT
QUFVMUgsRUFBTzJILGlCQUFrQjdHPQosRUFBUTBHLE9BQ2xDLDhCQUVKLGdEQUVYMUcsRUFBUThH
LFNBQVc5RyxFQUFRK0csT0FDcEJ6SCxFQUFJLDhCQUVSLE1BSVgwRyw9CnNCQUF3QixXQUNwQixH
QUFJZ0IsR0FBUyxJQUNUQyxFQUFVLEVBQ1ZDLElBQ0pwRyxNQUFLNkUsZ0JBQWdCTyxRQUFTLFNB
QVVsRz0KLEdBRXBDLElBREEsR0FBSW1ILEdBQVduSCxFQUFRRixLQUNoQm9ILEVBQWNmLGVBQWdC
Z0IsSUFHakMsR0FGQUEsRUFBV25ILEVBPQpBUUYsS0FBTyxLQUFPbUgsRUFBVSxJQUMzQ0EsR0FB
VyxFQUNQQSxHQUFXRCxFQUNYLEtBQU0sSUFBSUksT0FBTyw4Q0FHekJwSCw9CkdBQVFGLEtBQU9x
SCxFQUNmRCxFQUFlbEgsRUFBUUYsT0FBUyxLQUt4Q21HLGNBQWdCLGFBU2hCakYsT0FBUyxTQUFV
cUcsRUFBTz0KQyxHQUV0QixNQUFJeEcsTUFBSzZFLGdCQUFnQjRCLE9BQVN6RyxLQUFLeUQsWUFD
NUJ6RCxLQUFLMEcsZUFBZ0JILEVBQU9DLElBPQpHdkN4RyxLQUFLRyxJQUFJd0csUUFBUXRHLEtB
QU1MLEtBQUs0RyxVQUFVQyxRQUN0QzdHLEtBQUs4RyxjQUFlUCxHQUNwQnZHLEs9CkFBSytHLGNB
QWVSLEdBQ3BCdkcsS0FBS2dILGNBQWVULEdBQ3BCdkcsS0FBS2lILHVCQUNMakgsS0FBS2tILEVB
QUcsb0JBQXFCQz0KLFFBQzdCbkgsS0FBS2EsUUFBUyxXQUFZYixNQUNuQkEsT0FLWDBHLGVBQWlC
LFdBVWIsTUFSQTFHLE1BQUtHLElBQUl3RyxRQUFRPQp0RyxLQUFNTCxLQUFLNEcsVUFBVVEsZ0JB
Q2xDQyxTQUFVckgsS0FBSzRFLGdCQUNmakcsU0FBVXFCLEtBQUs2RSxtQkFFVSxrQkE9CkFsQjdF
LE1BQUs2RCxVQUNaN0QsS0FBS2tILEVBQUcsc0JBQXVCSSxPQUVuQ3RILEtBQUthLFFBQVMsV0FB
WWIsTUFDbkJBLE1BST0KWDhHLGNBQWdCLFdBQ1osR0FBSVMsR0FBVXZILEtBQUtrSCxFQUFHLFdB
QVlQLFFBQVF0RyxLQUFNTCxLQUFLNEcsVUFBVVksVUFDPQoxREMsS0FBTSxpQkFBa0JDLFFBQVNS
LEVBQUdsSCxLQUFLNEcsVUFBVWUsZUFLeEQsT0FISTNILE1BQUs0RSxnQkFBZ0I2QixRQUM9CnJC
ekcsS0FBSzRILHdCQUVGTCxHQUlYUixjQUFnQixTQUFVUixHQUN0QixHQUFJc0IsR0FBVTdILEtB
QUtrSCxFQUFHLFdBQVlQLD0KUUFBUXRHLEtBQU1MLEtBQUs0RyxVQUFVa0IsU0FFL0QsT0FEQTlI
LE1BQUsrSCxZQUFheEIsR0FDWHNCLEdBSVhiLGNBQWdCLFdBPQpDWixHQUFJZ0IsR0FBVWhJLEtB
QUtrSCxFQUFHLFdBQVlQLFFBQVF0RyxLQUFNTCxLQUFLNEcsVUFBVXFCLFNBSS9ELE9BSDZCLGs9
CkJBQWxCakksTUFBSzZELFVBQ1o3RCxLQUFLa0gsRUFBRyxzQkFBdUJJLE9BRTVCVSxHQUlYZixx
QkFBdUIsV0FDbkJqSCxLQUFLaz0KSCxFQUFHLG1CQUFvQmdCLGVBQWdCLHNCQUF1QmxJLEtBQUsr
RCxlQUk1RTZELHNCQUF3QixXQUNwQjVILEtBQUttSSxXQUFZbkksPQpLQUFLNEcsVUFBVWhDLGlC
QUFrQnlDLFNBQVVySCxLQUFLNEUsa0JBQW9CLGtCQUl6RndELG1CQUFxQixTQUFVQyxFQUFNQyxH
QUM9CmpDLEdBQUlDLEdBQW1CLG9CQUNWLFVBQVRGLElBQ0FBLEVBQU9ySSxLQUFLa0gsRUFBRyxv
QkFBcUJzQixJQUFLeEksS0FBS2tILD0KRUFBRyw0QkFDakRsSCxLQUFLa0gsRUFBRyxvQkFBcUJD
LFFBQVF6RyxVQUVyQzRILEdBQ0FELEVBQU9BLEdBQVFySSxLQUFLa0gsPQpFQUFHLElBQU1xQixH
QUM3QkYsRUFBS25GLFlBQWFxRixJQUVsQkYsRUFBSzlILFNBQVVnSSxJQUl2QkUsc0JBQXdCLFNB
QVVDLEc9CkFDOUJBLEVBQVdsSSxFQUFFbUksWUFBYUQsSUFBcUIsRUFBVkEsRUFDakNBLElBQ0Ex
SSxLQUFLa0gsRUFBRyxvQkFBcUIwQixLQT0KQU0sWUFBWSxHQUMvQzVJLEtBQUtrSCxFQUFHLHNC
QUF1QnRHLFlBQWEsWUFBWSxLQVNoRWlJLE1BQVEsV0FDSixNQUFPN0ksTUFBPQpLa0gsRUFBRyx5
QkFJbkI0QixxQkFBdUIsV0FDZnRJLEVBQUV1SSxLQUFNL0ksS0FBS3lFLGFBQ2J6RSxLQUFLa0gs
RUFBRyxtREE9CkFvREksT0FFNUR0SCxLQUFLa0gsRUFBRyxtREFBb0Q4QixRQUtwRWpCLFlBQWMs
V0FFVixHQUFJOUQsR0FBVWpFLEtBQ1ZpSixFQT0KQU9DLE9BQVEsVUFDZkwsRUFBUTVFLEVBQVE0
RSxPQUVwQnJJLEdBQUUwRCxLQUFNbEUsS0FBSzhFLGFBQWMsU0FBVTdELEdBQ2pDPQpBLEVBQUtN
LFVBQ0wwQyxFQUFRa0Ysa0JBQW1CbEksS0FRL0JnRCxFQUFRWSxnQkFBZ0JPLFFBQVMsU0FBVWxH
LEdBQ3ZDLEdBQUk9CmtLLEdBQWNuRixFQUFRb0YsbUJBQW9CbkssRUFDOUMrSixHQUFLSyxPQUFR
RixFQUFZakosT0FHN0I4RCxFQUFRNkUsdUJBQ1JELD0KRUFBTWxDLFFBQVEyQyxPQUFRTCxFQUFL
TSxZQUMzQi9JLEVBQUVnSixPQUFRdkYsRUFBUWEsYUFBYyxVQUU1QitELEVBQU1ZLFNBPQpBV1os
RUFBTWEsSUFBSyxjQUM1QmIsRUFBTWEsSUFBSyxlQUFnQixtQkFFM0JiLEVBQU1hLElBQUssZUFB
Z0IsUUFLbkNMLG1CQUE9CnFCLFNBQVVuSyxHQUMzQixHQUFJa0ssR0FBYyxHQUFJcEosTUFBS3NE
LGtCQUd2QnBFLFFBQVVBLEVBQ1ZlLFNBQVVPLEVBQUVtSj0KLElBQUszSixLQUFLeUUsWUFBYXZG
LEVBQVFDLEtBSS9DLE9BRkFhLE1BQUs4RSxhQUFhWSxLQUFNMEQsR0FDeEJwSixLQUFLNEosPQpx
QkFBc0JSLEdBQ3BCQSxHQUlYUSxxQkFBdUIsU0FBVTNJLEdBQzdCLEdBQUlnRCxHQUFVakUsSUFD
ZGlFLEdBQVE0RixTQUFVNUk9CixHQUNkUCxPQUFTLFNBQVVvSixHQUNmLEdBQUk1SyxHQUFVNEss
RUFBS2hKLE9BQU81QixPQUN0QjRLLEdBQUs3SixTQUNMZ0UsRT0KQUFRUSxZQUFhdkYsRUFBUUMs
S0FBTyxRQUU3QjhFLEdBQVFRLFlBQWF2RixFQUFRQyxJQUV4QzhFLEVBQVFwRCxRQUFTLGtCQUFt
PQpCaUosSUFFeEM5SSxRQUFVLFNBQVU4SSxHQUNoQjdGLEVBQVFwRCxRQUFTLG1CQUFvQmlKLE9B
TWpEQyxlQUFpQixhQVFqQlosa0I9CkFBb0IsU0FBVWxJLFNBQ25CakIsTUFBS3lFLFlBQWF4RCxF
QUFLL0IsUUFBUUMsSUFDdENhLEtBQUs4SSx1QkFFTDlJLEtBQUs4RT0KLGFBQWV0RSxFQUFFd0os
UUFBU2hLLEtBQUs4RSxhQUFjN0QsR0FDbERqQixLQUFLaUssY0FBZWhKLElBSXhCaUosc0JBQXdC
LFdBPQpDcEJsSyxLQUFLeUksdUJBQXVCLEdBQzVCekksS0FBS2tILEVBQUcsd0JBQXlCb0MsT0FB
UXRKLEtBQUs0RyxVQUFVdUQsbUJBVzU9CkRDLGVBQWlCLFNBQVVsTCxHQUV2QixNQUFPQSxJQU1Y
bUwsV0FBYSxTQUFVckwsR0FDbkIsSUFBS2dCLEtBQUs2RSxnQkFBZ0I0Qj0KLE9BQVEsQ0FDOUIs
R0FBSTZELEdBQVU5TCxFQUFJLG9DQUF1QyxJQUt6RCxPQUpBOEwsSUFBVyx1REFBeUQ5TCxFQUFJ
LFVBQWEsPQpRQUNyRjhMLEdBQVc5TCxFQUFJLE1BQ2Y4TCxHQUFXLGdEQUFrRDlMLEVBQUksY0FB
aUIsWUFDbEZ3QixNQUFLbUksV0FBWW1DLEc9CkFJckIsR0FBSXJHLEdBQVVqRSxLQUNWckIsRUFB
V3FCLEtBQUs2RSxnQkFBZ0I1RixJQUFLLFNBQVVDLEdBQzNDLE1BQU8rRSxHQT0KQVFtRyxlQUFn
QmxMLElBSXZDLE9BREErRSxHQUFRVSxVQUFXLEVBQ1pWLEVBQVFsRixXQUFZSixFQUFVSyxHQUNo
Q3VMLE9BQVEsPQpXQUNMdEcsRUFBUVUsVUFBVyxJQUV0QjZGLEtBQU0sU0FBVUMsRUFBS0MsR0FD
bEJ6RyxFQUFRcEQsUUFBUyxTQUNiNEosSUFBVUE9CixFQUNWQyxPQUFVQSxFQUNWSixRQUFVOUws
RUFBSSx3REFHckJtTSxLQUFNLFNBQVVwSSxFQUFVK0gsRUFBU0csR0FDaEN4RyxFQT0KQVFwRCxR
QUFTLHFCQUFzQjBCLEVBQVUrSCxFQUFTRyxHQUMxRHhHLEVBQVFELE9BQVEscUJBQXNCekIsR0FD
TixrQkFBckIwQixHPQpBQVFMLFVBQ2ZLLEVBQVFMLFNBQVNnSCxLQUFNNUssS0FBTXVDLEVBQVUr
SCxFQUFTRyxNQU9oRWpHLGdCQUFrQixXQXdCZCxNQXY9CkJBeEUsTUFBSzZLLEdBQUksUUFBUzdL
LEtBQUs4SyxlQUV2QjlLLEtBQUsrSyxLQUFNLFdBQVksV0FDbkIvSyxLQUFLYSxRQUFTLD0KbUJB
QW9CYixRQUd0Q0EsS0FBSzZLLEdBQUksa0JBQW1CLFdBQ3hCN0ssS0FBSzhJLHlCQUdUOUksS0FB
SzZLLEdBQUksbUJBQW9CPQosU0FBVWYsR0FDbkMsR0FBSTVLLEdBQVU0SyxFQUFLaEosT0FBTzVC
LE9BQzFCYyxNQUFLbUosa0JBQW1CVyxFQUFLaEosUUFFN0I9CmQsS0FBSzZFLGdCQUFrQnJFLEVB
QUV3SixRQUFTaEssS0FBSzZFLGdCQUFpQjNGLEdBQ25EYyxLQUFLNkUsZ0JBQWdCNEIsUUFDdD0K
QnpHLEtBQUtrSywwQkFPTmxLLE1BSVg4SyxjQUFnQixTQUFVaEIsR0FDdEI5SixLQUFLZ0wsTUFB
T2xCLEVBRVosSUFBSTdGLEdBPQpBVWpFLElBRWQsSUFESWlMLFFBQVVuQixFQUFLUSxTQUFXOUws
RUFBSSxxQkFDOUJzTCxFQUFLVyxJQUFLLENBQ1YsR0FBSUEsR0E9CkFNWCxFQUFLVyxJQUNYSCxF
QUFVUixFQUFLUSxPQUVmVyxVQURtQixJQUFuQlIsRUFBSVMsWUFBbUMsSUFBZlQsRUFBSUMsT0FD
aj0KQixLQUFPbE0sRUFBSSxvREFDbEJBLEVBQUksZ0NBQ0RpTSxFQUFJVSxhQUNBLGVBQWlCcEks
S0FBS0MsVUFBV3lILEVBQUlVLGNBPQpBaUIsU0FFdEQsS0FBT2IsRUFHMUJyRyxFQUFRa0UsV0FB
WThDLFFBQVMsaUJBR2pDdkosUUFFSTBKLG1CQUFrQyxpQkFDbENDLG09CkJBQWtDLGlCQUNsQ0Ms
bUJBQWtDLGNBQ2xDQyw4QkFBa0MsYUFFbENDLGVBQWtDLFFBQ2xDQyx3QkFBa0Msd0JBR2xDQyw2
QkFBaz0KQyx3QkFLbENDLGdDQUFrQyxvQkFDbENDLDRCQUFrQyxnQkFHbENDLG9EQUFzRCxvQkFD
dERDLG9EQUFzRCxrQkFHdERDLDBCQUFrPQpDLGNBQ2xDQywyQkFBa0MscUJBQ2xDQyx1QkFBa0Ms
V0FDRCxrQkFBbEJqTSxNQUFLNkQsVUFDWjdELEtBQUs2RCxTQUFTK0csS0E9CkFNNUssT0FHNUJr
TSwyQkFBa0MsZ0JBS3RDQyxlQUFpQixTQUFVaEssR0FDdkJBLEVBQUdDLGtCQUNIcEMsS0FBS2tI
LEVBQUcsYz0KQUFlM0csU0FBVSxZQUNqQ1AsS0FBS2tILEVBQUcsY0FBZThCLFFBRzNCb0QsZUFB
aUIsU0FBVWpLLEdBQ3ZCQSxFQUFHQyxrQkFDPQpIcEMsS0FBS2tILEVBQUcsY0FBZWhFLFlBQWEs
WUFDcENsRCxLQUFLa0gsRUFBRyxjQUFlSSxRQUczQitFLFlBQWMsU0FBVWxLLEc9CkFDcEJBLEVB
QUdDLGtCQUNIcEMsS0FBS2tILEVBQUcsY0FBZXRHLFlBQWEsWUFDcENaLEtBQUtrSCxFQUFHLGNB
QWV2RyxVQUkzQj0Kd0gsV0FBYSxTQUFVbUMsRUFBU2dDLEdBQzVCQSxFQUFhQSxHQUFjLGVBQzNC
dE0sS0FBS2tILEVBQUcsY0FBZThCLE9BQ3ZCaEosPQpLQUFLa0gsRUFBRyxrQkFDSDlHLEtBQU0s
UUFBUywyQkFBNEJHLFNBQVUrTCxHQUFhaEYsT0FDbEVHLEtBQU0sa0JBQW1CcEgsS0E9CkFNaUss
SUFHeENpQyxXQUFhLFdBQ1R2TSxLQUFLa0gsRUFBRyxjQUFlSSxPQUN2QnRILEtBQUtrSCxFQUFH
LGtCQUFtQjhCLFFBSz0KL0J3RCxNQUFRLFdBQ0p4TSxLQUFLc0UsaUJBQ0x0RSxLQUFLdUUsaUJB
Q0x2RSxLQUFLRSxVQUlUdU0sc0JBQXdCLFdBQ3BCek0sPQpLQUFLa0gsRUFBRyw0Q0FBNkNoRSxZ
QUFhLFlBQ2xFbEQsS0FBS2tILEVBQUcsbURBQW9EOEIsUUFZaEUwRCxrQkFBb0IsU0FBVXY9Ckss
R0FFMUJBLEVBQUdHLGdCQUVILElBQUl1RyxHQUFRN0ksS0FBSzZJLE9BQ2pCN0ksTUFBSzJNLG9C
QUFxQjlELEVBQU8xRyxFQT0KQUdRLGNBQWNpSyxRQUNsRCxJQUFJQyxHQUFXN00sS0FBSzhNLG1C
QUFvQjNLLEVBQUdRLGNBQWNpSyxRQUd6RDVNLE1BQUtrSCxFPQpBQUcsNkJBQThCekYsUUFDdEMs
SUFBSXNMLEdBQWU3RixFQUFHLCtDQUNqQjJGLEdBQVM5RCxPQUdWOEQsRUFBU0csT0FBUUQsR0E9
CkZqQmxFLEVBQU1TLE9BQVF5RCxJQU90Qkosb0JBQXNCLFNBQVVNLEVBQVVDLEdBQ3RDLEdBQUlD
LEdBQW1CLEVBQ25CQyxFQUFTSD0KLEVBQVNHLFNBQ2xCQyxFQUFZSixFQUFTSSxZQUNyQkMsRUFB
WUosRUFBSUUsRUFBT0csSUFDdkJDLEVBQWNKLEVBQU9HLElBQU1OPQosRUFBU1EsY0FBa0JQLENB
Q3RESSxJQUFhLEdBQUtBLEVBQVl0TixLQUFLOEQsZUFDbkNtSixFQUFTSSxVQUFXQSxFQUFZRixH
QUM9CnpCSyxHQUFhLEdBQUtBLEVBQVl4TixLQUFLOEQsZ0JBQzFDbUosRUFBU0ksVUFBV0EsRUFB
WUYsSUFPeENMLG1CQUFxQixTQUFVST0KLEdBRzNCLElBQUssR0FGRFEsR0FBUyxFQUNUQyxFQUFN
M04sS0FBS2tILEVBQUcsOENBQStDMEcsVUFDeERDLEVBQUUsRUFBR0EsPQpFQUFFRixFQUFJbEgs
T0FBUW9ILElBQUssQ0FDN0IsR0FBSUMsR0FBTTVHLEVBQUd5RyxFQUFJRSxJQUNiTixFQUFNTyxF
QUFJViw9ClNBQVNHLElBQ25CUSxFQUFhQyxLQUFLQyxNQUFPSCxFQUFJTCxjQUFnQixHQUFNQyxD
QUN2RCxJQUFJSCxFQUFNUSxFQUFhYixHQT0KQXdCQSxFQUFuQkssRUFBTVEsRUFDOUIsTUFBT0Qs
R0FHZixNQUFPNUcsTUFJWGdILGNBQWdCLFNBQVUvTCxHQUNsQkEsRUFBR1EsPQpnQkFBaUJSLEVB
QUtBLEVBQUdRLGVBRWhDUixFQUFHRyxpQkFDSEgsRUFBR1MsYUFBYXVMLFdBQWEsTUFHN0IsSUFB
SXRCLEdBQVc9CjdNLEtBQUs4TSxtQkFBb0IzSyxFQUFHeUssUUFTM0MsT0FSSUMsR0FBUzlELE9B
Q1QvSSxLQUFLMEUsVUFBVTBKLGFBQWN2QixHQT0KRzdCN00sS0FBSzBFLFVBQVUySixZQUFhck8s
S0FBS2tILEVBQUcsNENBQTZDb0gsUUFHckZ0TyxLQUFLdU8sbUJBQ0UsR0FJWEEsPQpnQkFBa0Is
V0FDZCxHQUFJdEssR0FBVWpFLEtBQ1Z3TyxJQUVKeE8sTUFBS2tILEVBQUcsNENBQTZDaEQsS0FB
TSxXQUN2RCxHQUE9CkkvRSxHQUFLK0gsRUFBR2xILE1BQU9JLEtBQU0sbUJBQ3JCbEIsRUFBVXNC
LEVBQUVpTyxVQUFXeEssRUFBUVksaUJBQW1CMUYsRz0KQUFJQSxHQUN0REQsR0FDQXNQLEVBQVk5
SSxLQUFNeEcsR0FFbEJ3UCxRQUFRMUQsTUFBTyxvQkFBcUI3TCxLQUc1Q2EsS0FBSzZFPQosZ0JB
QWtCMkosRUFDdkJ4TyxLQUFLK0gsZUFJVDRHLGtCQUFvQixTQUFVeE0sRUFBSWpELEdBRTlCQSxF
QUFRd0IsUUFBUSxHQUM9CmhCVixLQUFLMEUsVUFBWTFFLEtBQUtrSCxFQUFHLHNEQUk3QjBILGdC
QUFrQixXQUNkMUgsRUFBRyw2QkFBOEJ6RixTQUNqQ3pCLD0KS0FBSzBFLFVBQVksTUFLckJtSyxZ
QUFjLFdBQ1Y3TyxLQUFLb0ksbUJBQW9CLFNBQVVwSSxLQUFLOE8sYUFJNUNDLG1CQUFxQixTPQpB
QVU1TSxHQUNSLEtBQWZBLEVBQUc2TSxTQUFtQmhQLEtBQUsyRSxVQUMzQjNFLEtBQUtpUCxnQkFL
YkgsU0FBVyxXQUNQLE1BQU89CnRPLEdBQUUwTyxPQUFRbFAsS0FBS2tILEVBQUcsb0JBQXFCaUks
UUFJbERGLGFBQWUsV0FDWCxHQUFJalEsR0FBT2dCLEtBQUs4Tz0KLFVBQ1g5UCxHQUVPZ0IsS0FB
SzJFLFVBQ2IzRSxLQUFLcUssV0FBWXJMLEdBRmpCZ0IsS0FBS29JLG1CQUFvQixTQVdqQ3hCLFdB
PQpFSUMsS0FBT3JHLEVBQUVGLFVBQ0wsOENBQ0EseURBQ0EsK0NBQ0ZHLEtBQUssS0FHUCtHLE9B
QVNoSCxFQUFFRixVQUNQLHFDQUM9CkksbURBQW9EOUIsRUFBSSxhQUFlLE9BQ3ZFLDZCQUNJLG1E
QUFvREEsRUFBSSxRQUFVLE9BQ3RFLFNBQ0osU0FDQSx3Q0FDSSw0RD0KQUNJLFVBQVdBLEVBQUks
NEJBQThCLHdDQUNqRCxzQ0FDSixVQUNGaUMsS0FBSyxLQUdQcUgsT0FBU3RILEVBQUVGLFVBQ1As
NkNBPQpDSSwrQ0FDSSxVQUFXOUIsRUFBSSxvQ0FBc0MsS0FDckRBLEVBQUksY0FDUixPQUNBLHdE
QUNJLFVBQVdBLEVBQUksbUNBQXFDLEs9CkFDcERBLEVBQUksa0JBQ1IsT0FDSixTQUNBLDhEQUNB
LFVBQ0ZpQyxLQUFLLEtBR1B3SCxPQUFTekgsRUFBRUYsVUFDUCxpQ0FDST0KLHNCQUNJLDBEQUNJ
LGdCQUFpQjlCLEVBQUksd0NBQTBDLE9BQ25FLGtEQUFtREEsRUFBSSxRQUFVLFVBQ3JFLFNBQ0os
U0FFQSxnPQpEQUNJLHdDQUNJLG1EQUFvREEsRUFBSSxVQUFZLFlBQ3BFLDhDQUNJLDBFQUNNQSxF
QUFJLHlDQUNKLCtCQUNOLFlBQ0EseUNBQ009CixtQkFBb0JBLEVBQUksK0JBQWlDLFlBQ3pELG1C
QUFvQkEsRUFBSSw2Q0FBK0MsWUFDN0UsUUFDSixTQUNKLFNBRUEsd0NBQ0kscT0KREFBc0RBLEVB
QUksZUFBaUIsWUFDL0UsU0FDSixVQUNGaUMsS0FBSyxLQUdQa0gsWUFBY25ILEVBQUVGLFVBQ1os
TUFBTzlCLEdBPQpDSCxvR0FDQSxzR0FDQSxpRUFDRmlDLEtBQU0sS0FBTyxPQUNmLE9BQ0ksT0FB
UWpDLEdBQ0osOENBQ0EscUVBQ0ZpQyxLQUFNLEs9CkFBTyxRQUNmLE9BQVFqQyxHQUNKLG1FQUNB
LHVFQUNGaUMsS0FBTSxLQUFPLFFBQ2YsT0FBUWpDLEdBQ0osK0ZBQ0Esc0dBQ0EseT0KRUFDQSxt
RUFDRmlDLEtBQU0sS0FBTyxRQUNmLE9BQVFqQyxHQUNKLG9HQUNBLGtCQUNGaUMsS0FBTSxLQUFP
LFFBQ2YsT0FBUWpDPQosR0FDSix3RkFDRmlDLEtBQU0sS0FBTyxRQUNuQixjQUNBLE1BQU9qQyxH
QUNILDRGQUNBLGdFQUNGaUMsS0FBTSxLQUFPLFFBQ2o9CkJBLEtBQUssS0FHUG1FLGdCQUFrQnBF
LEVBQUVGLFVBQ2hCOUIsRUFBSSxtRUFDSixtREFDSSxtRUFDSixrQkFDRmlDLEtBQUssSz0KQUdQ
MEosZUFBaUIzSixFQUFFRixVQUNmLHdDQUNJOUIsRUFBSSxzQkFDSkEsRUFBSSxzQkFBd0IsOENB
QStDQSxFQUFJLGNBQWdCPQosUUFDbkcsU0FDRmlDLEtBQUssS0FHUDJHLGVBQWlCNUcsRUFBRUYs
VUFDZix3Q0FDSSwyREFDSSwrQkFDSSxrQ0FDSTlCLEVBQUk9CixrRUFBb0UsSUFDeEUsbURBQ0ks
bUVBQ0osaUJBQ0osNkNBQ0lBLEVBQUksNkJBQStCLElBQ3ZDLFVBQ0EsU0FDQUEsRUFBSSxxRD0K
QUF1RCxLQUMzREEsRUFBSSxvQkFDSixzREFBdURBLEVBQUksVUFBWSxRQUN2RUEsRUFBSSw2QkFB
K0IsSUFDdkMsVUFDSixTQUNKPQosU0FDQSx3Q0FDSSxnREFDSSx3Q0FDSSxtREFBb0RBLEVBQUks
VUFBWSxZQUV4RSxTQUNKLFNBQ0osVUFDRmlDLEtBQUssTUFLWDI9CkMsU0FBVyxXQUFZLE1BQU8s
MkJBUzlCZ00sRUFBeUIsU0FBa0N6USxFQUFVMFEsRUFBU0MsR0FFOUUsR0FFSXJMLEdBRkFzTCxF
QT0KQVdyRyxPQUFPc0csV0FDbEJDLEVBQVFDLE9BQU9ELE9BQVMsR0FBTW5SLEdBQVNtQixJQTJC
M0MsT0F4QkE0UCxHQUFVN08sRUFBPQpFbVAsU0FBVU4sT0FDbEIxUSxTQUFjQSxFQUNka0YsU0FB
YyxXQUNWNEwsRUFBTXpHLE9BQ051RyxFQUFTSyxPQUFRLGNBRXJCaE09CixTQUFjLFNBQVVLLEVB
QVMxQixHQUM3QmtOLEVBQU16RyxPQUNOdUcsRUFBU00sUUFBU3ROLE1BSTFCMEIsRUFBVSxHQUFJ
cUwsRz0KQUFjRCxHQUM1QkksRUFBTW5JLE1BQ0Z3SSxNQUFVVCxFQUFRUyxPQUFTdFIsRUFBSSx1
QkFDL0J1UixLQUFVOUwsRUFBUTlELElBPQpDbEJpQixNQUFVLE1BQ1ZxSSxPQUFVLGNBQ1Z1Ryxn
QkFBZ0IsSUFFcEIvTCxFQUFRL0QsU0FDUitQLE9BQU9DLG1CQUFxQmpNLEU9CkFHckJzTCxHQUlQ
elEsRUFBNkIsU0FBc0NILEVBQVUwUSxHQUc3RSxNQUZBQSxHQUFVQSxNQUNWQSxFQUFRUyxNQUFR
dFIsRUFBST0KLCtDQUNiNFEsRUFBd0J6USxFQUFVMFEsRUFBU2hNLEdBMkJsRCxRQUNJOUQsNkJB
QThCQSxFQUM5QjhELHNCQUE4QkEsRUFFOUIrPQpMLHVCQUE4QkEsRUFDOUJ0USwyQkFBOEJBLEVB
QzlCTCxxQkFBOEJBIn0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCit7InZlcnNpb24iOjMs
ImZpbGUiOiJsaXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4v
c3JjLz0KbXZjL2NvbGxlY3Rpb24vbGlzdC1jb2xsZWN0aW9uLWNyZWF0b3IuanMiXSwibmFtZXMi
OlsiZGVmaW5lIiwiSERDQSIsIlNUQVRFPQpTIiwiQkFTRV9NVkMiLCJVSV9NT0RBTCIsIm5hdHVy
YWxTb3J0IiwiX2wiLCJjcmVhdGVMaXN0Q29sbGVjdGlvbiIsImNvbnRlbnQ9CnMiLCJlbGVtZW50
cyIsInRvSlNPTiIsInByb21pc2UiLCJsaXN0Q29sbGVjdGlvbkNyZWF0b3JNb2RhbCIsImNyZWF0
aW9uRm4iLD0KIm5hbWUiLCJtYXAiLCJlbGVtZW50IiwiaWQiLCJzcmMiLCJoaXN0b3J5X2NvbnRl
bnRfdHlwZSIsImNyZWF0ZUhEQ0EiLCJEYXRhPQpzZXRDb2xsZWN0aW9uRWxlbWVudFZpZXciLCJC
YWNrYm9uZSIsIlZpZXciLCJleHRlbmQiLCJMb2dnYWJsZU1peGluIiwidGFnTmE9Cm1lIiwiY2xh
c3NOYW1lIiwiaW5pdGlhbGl6ZSIsImF0dHJpYnV0ZXMiLCJ0aGlzIiwic2VsZWN0ZWQiLCJyZW5k
ZXIiLCIkZWwiLD0KImF0dHIiLCJodG1sIiwidGVtcGxhdGUiLCJhZGRDbGFzcyIsIl8iLCJqb2lu
Iiwic2VsZWN0IiwidG9nZ2xlIiwidG9nZ2xlQ2xhPQpzcyIsInRyaWdnZXIiLCJzb3VyY2UiLCJo
YXNDbGFzcyIsImRpc2NhcmQiLCJ2aWV3IiwicGFyZW50V2lkdGgiLCJwYXJlbnQiLCI9CndpZHRo
IiwiYW5pbWF0ZSIsIm1hcmdpbi1yaWdodCIsImRlc3Ryb3kiLCJvZmYiLCJyZW1vdmUiLCJldmVu
dHMiLCJjbGljayIsIj0KY2xpY2sgLm5hbWUiLCJjbGljayAuZGlzY2FyZCIsImRyYWdzdGFydCIs
ImRyYWdlbmQiLCJkcmFnb3ZlciIsImRyb3AiLCJfY2xpPQpjayIsImV2Iiwic3RvcFByb3BhZ2F0
aW9uIiwiX2NsaWNrTmFtZSIsInByZXZlbnREZWZhdWx0IiwicmVzcG9uc2UiLCJwcm9tcHQ9CiIs
Il9jbGlja0Rpc2NhcmQiLCJfZHJhZ3N0YXJ0Iiwib3JpZ2luYWxFdmVudCIsImRhdGFUcmFuc2Zl
ciIsImVmZmVjdEFsbG93ZT0KZCIsInNldERhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwiX2RyYWdl
bmQiLCJyZW1vdmVDbGFzcyIsIl9zZW5kVG9QYXJlbnQiLCJ0PQpvU3RyaW5nIiwiTGlzdENvbGxl
Y3Rpb25DcmVhdG9yIiwiZWxlbWVudFZpZXdDbGFzcyIsImNvbGxlY3Rpb25DbGFzcyIsIkhpc3Q9
Cm9yeUxpc3REYXRhc2V0Q29sbGVjdGlvbiIsIm1pbkVsZW1lbnRzIiwiZGVmYXVsdEF0dHJpYnV0
ZXMiLCJUeXBlRXJyb3IiLCJvbj0KY3JlYXRlIiwib25jYW5jZWwiLCJhdXRvc2Nyb2xsRGlzdCIs
ImhpZ2hsaWdodENsciIsIm1ldHJpYyIsImNyZWF0b3IiLCJlYWNoPQoiLCJ2YWx1ZSIsImtleSIs
ImluaXRpYWxFbGVtZW50cyIsIl9pbnN0YW5jZVNldFVwIiwiX2VsZW1lbnRzU2V0VXAiLCJfc2V0
VXA9CkJlaGF2aW9ycyIsInNlbGVjdGVkSWRzIiwiJGRyYWdnaW5nIiwiYmxvY2tpbmciLCJpbnZh
bGlkRWxlbWVudHMiLCJ3b3JraW5nRT0KbGVtZW50cyIsImVsZW1lbnRWaWV3cyIsInNsaWNlIiwi
X2Vuc3VyZUVsZW1lbnRJZHMiLCJfdmFsaWRhdGVFbGVtZW50cyIsIl9tPQphbmdsZUR1cGxpY2F0
ZU5hbWVzIiwiX3NvcnRFbGVtZW50cyIsImZvckVhY2giLCJoYXNPd25Qcm9wZXJ0eSIsInVuaXF1
ZUlkIiw9CiJmaWx0ZXIiLCJwcm9ibGVtIiwiX2lzRWxlbWVudEludmFsaWQiLCJwdXNoIiwidGV4
dCIsInN0YXRlIiwiT0siLCJjb250YWlucz0KIiwiTk9UX1JFQURZX1NUQVRFUyIsImRlbGV0ZWQi
LCJwdXJnZWQiLCJTQUZFVFkiLCJjb3VudGVyIiwiZXhpc3RpbmdOYW1lcyIsPQoiY3Vyck5hbWUi
LCJFcnJvciIsInNwZWVkIiwiY2FsbGJhY2siLCJsZW5ndGgiLCJfcmVuZGVySW52YWxpZCIsImVt
cHR5IiwidGU9Cm1wbGF0ZXMiLCJtYWluIiwiX3JlbmRlckhlYWRlciIsIl9yZW5kZXJNaWRkbGUi
LCJfcmVuZGVyRm9vdGVyIiwiX2FkZFBsdWdpbj0KQ29tcG9uZW50cyIsIiQiLCJmb2N1cyIsImlu
dmFsaWRJbml0aWFsIiwicHJvYmxlbXMiLCJzaG93IiwiJGhlYWRlciIsImhlYWRlPQpyIiwiZmlu
ZCIsInByZXBlbmQiLCJoZWxwQ29udGVudCIsIl9pbnZhbGlkRWxlbWVudHNBbGVydCIsIiRtaWRk
bGUiLCJtaWRkbGU9CiIsIl9yZW5kZXJMaXN0IiwiJGZvb3RlciIsImZvb3RlciIsImhvdmVyaGln
aGxpZ2h0IiwiX3Nob3dBbGVydCIsIl92YWxpZGF0aT0Kb25XYXJuaW5nIiwid2hhdCIsImNsZWFy
IiwiVkFMSURBVElPTl9DTEFTUyIsImFkZCIsIl9kaXNhYmxlTmFtZUFuZENyZWF0ZSIsPQoiZGlz
YWJsZSIsImlzVW5kZWZpbmVkIiwicHJvcCIsIiRsaXN0IiwiX3JlbmRlckNsZWFyU2VsZWN0ZWQi
LCJzaXplIiwiaGlkZSI9CiwiJHRtcCIsImpRdWVyeSIsInJlbW92ZUVsZW1lbnRWaWV3IiwiZWxl
bWVudFZpZXciLCJfY3JlYXRlRWxlbWVudFZpZXciLCJhcD0KcGVuZCIsImNoaWxkcmVuIiwiaW52
b2tlIiwiaGVpZ2h0IiwiY3NzIiwiaGFzIiwiX2xpc3RlblRvRWxlbWVudFZpZXciLCJsaXN0PQpl
blRvIiwiZGF0YSIsImFkZEVsZW1lbnRWaWV3Iiwid2l0aG91dCIsInN0b3BMaXN0ZW5pbmciLCJf
cmVuZGVyTm9FbGVtZW50c0w9CmVmdCIsIm5vRWxlbWVudHNMZWZ0IiwiX2VsZW1lbnRUb0pTT04i
LCJjcmVhdGVMaXN0IiwibWVzc2FnZSIsImFsd2F5cyIsImZhaT0KbCIsInhociIsInN0YXR1cyIs
ImRvbmUiLCJjYWxsIiwib24iLCJfZXJyb3JIYW5kbGVyIiwib25jZSIsImVycm9yIiwiY29udGVu
PQp0IiwicmVhZHlTdGF0ZSIsInJlc3BvbnNlSlNPTiIsImNsaWNrIC5tb3JlLWhlbHAiLCJjbGlj
ayAubGVzcy1oZWxwIiwiY2xpY2s9CiAubWFpbi1oZWxwIiwiY2xpY2sgLmhlYWRlciAuYWxlcnQg
YnV0dG9uIiwiY2xpY2sgLnJlc2V0IiwiY2xpY2sgLmNsZWFyLXNlbD0KZWN0ZWQiLCJjbGljayAu
Y29sbGVjdGlvbi1lbGVtZW50cyIsImRyYWdvdmVyIC5jb2xsZWN0aW9uLWVsZW1lbnRzIiwiZHJv
cCAuPQpjb2xsZWN0aW9uLWVsZW1lbnRzIiwiY29sbGVjdGlvbi1lbGVtZW50LmRyYWdzdGFydCAu
Y29sbGVjdGlvbi1lbGVtZW50cyIsImM9Cm9sbGVjdGlvbi1lbGVtZW50LmRyYWdlbmQgICAuY29s
bGVjdGlvbi1lbGVtZW50cyIsImNoYW5nZSAuY29sbGVjdGlvbi1uYW1lIj0KLCJrZXlkb3duIC5j
b2xsZWN0aW9uLW5hbWUiLCJjbGljayAuY2FuY2VsLWNyZWF0ZSIsImNsaWNrIC5jcmVhdGUtY29s
bGVjdGlvPQpuIiwiX2NsaWNrTW9yZUhlbHAiLCJfY2xpY2tMZXNzSGVscCIsIl90b2dnbGVIZWxw
IiwiYWxlcnRDbGFzcyIsIl9oaWRlQWxlcnQ9CiIsInJlc2V0IiwiY2xlYXJTZWxlY3RlZEVsZW1l
bnRzIiwiX2RyYWdvdmVyRWxlbWVudHMiLCJfY2hlY2tGb3JBdXRvc2Nyb2xsIj0KLCJjbGllbnRZ
IiwiJG5lYXJlc3QiLCJfZ2V0TmVhcmVzdEVsZW1lbnQiLCIkcGxhY2Vob2xkZXIiLCJiZWZvcmUi
LCIkZWxlbWVuPQp0IiwieSIsIkFVVE9TQ1JPTExfU1BFRUQiLCJvZmZzZXQiLCJzY3JvbGxUb3Ai
LCJ1cHBlckRpc3QiLCJ0b3AiLCJsb3dlckRpc3Q9CiIsIm91dGVySGVpZ2h0IiwiV0lHR0xFIiwi
bGlzIiwidG9BcnJheSIsImkiLCIkbGkiLCJoYWxmSGVpZ2h0IiwiTWF0aCIsImZsbz0Kb3IiLCJf
ZHJvcEVsZW1lbnRzIiwiZHJvcEVmZmVjdCIsImluc2VydEJlZm9yZSIsImluc2VydEFmdGVyIiwi
bGFzdCIsIl9zeW5jPQpPcmRlclRvRG9tIiwibmV3RWxlbWVudHMiLCJmaW5kV2hlcmUiLCJjb25z
b2xlIiwiX2VsZW1lbnREcmFnc3RhcnQiLCJfZWxlbWU9Cm50RHJhZ2VuZCIsIl9jaGFuZ2VOYW1l
IiwiX2dldE5hbWUiLCJfbmFtZUNoZWNrRm9yRW50ZXIiLCJrZXlDb2RlIiwiX2NsaWNrQz0KcmVh
dGUiLCJlc2NhcGUiLCJ2YWwiLCJjb2xsZWN0aW9uQ3JlYXRvck1vZGFsIiwib3B0aW9ucyIsIkNy
ZWF0b3JDbGFzcyIsImRlPQpmZXJyZWQiLCJEZWZlcnJlZCIsIm1vZGFsIiwiR2FsYXh5IiwiZGVm
YXVsdHMiLCJyZWplY3QiLCJyZXNvbHZlIiwidGl0bGUiLCI9CmJvZHkiLCJjbG9zaW5nX2V2ZW50
cyIsIndpbmRvdyIsIl9jb2xsZWN0aW9uQ3JlYXRvciJdLCJtYXBwaW5ncyI6IkFBQ0FBLFFBQz0K
SSx5QkFDQSxxQkFDQSxlQUNBLGtCQUNBLHFCQUNBLHFCQUNBLHFCQUNELFNBQVVDLEVBQU1DLEVB
QVFDLEVBQVVDLEVBQVVDLEVBPQpBYUMsR0EwL0I1RCxRQUFTQyxHQUFzQkMsR0FDM0IsR0FBSUMs
R0FBV0QsRUFBU0UsU0FDcEJDLEVBQVVDLEVBQTRCSCxHQUNsQ0k9CixXQUFhLFNBQVVKLEVBQVVL
LEdBUzdCLE1BUkFMLEdBQVdBLEVBQVNNLElBQUssU0FBVUMsR0FDL0IsT0FDSUMsR0FBVUQsRUFB
UT0KQyxHQUNsQkgsS0FBVUUsRUFBUUYsS0FFbEJJLElBQTZDLFlBQWpDRixFQUFRRyxxQkFBb0Ms
TUFBUSxVQUdqRVgsRUFBU1ksV0FBPQpZWCxFQUFVLE9BQVFLLEtBRzFELE9BQU9ILEdBNy9CWCxH
QUFJVSxHQUErQkMsU0FBU0MsS0FBS0MsT0FBUXJCLEVBQVNzQixlQUE9CmdCRCxRQUU5RUUsUUFB
YyxLQUNkQyxVQUFjLHFCQUVkQyxXQUFhLFNBQVVDLEdBQ25CQyxLQUFLZCxRQUFVYSxFQUFXYixZ
QUMxQj0KYyxLQUFLQyxTQUFXRixFQUFXRSxXQUFZLEdBRzNDQyxPQUFTLFdBUUwsTUFQQUYsTUFB
S0csSUFDQUMsS0FBTSxrQkFBbUJKLEtBPQpBS2QsUUFBUUMsSUFDdENpQixLQUFNLGFBQWEsR0FD
bkJDLEtBQU1MLEtBQUtNLFVBQVdwQixRQUFTYyxLQUFLZCxXQUNyQ2MsS0E9CkFLQyxVQUNMRCxL
QUFLRyxJQUFJSSxTQUFVLFlBRWhCUCxNQUlYTSxTQUFXRSxFQUFFRixVQUNULDBCQUEyQjlCLEVB
QUksbUJBQT0KcUIsK0JBQ2hELHNCQUNKLE9BQ0EsNkNBQThDQSxFQUFJLHFDQUF1QyxLQUNyRkEs
RUFBSSxXQUNSLGFBQ0ZpQyxLQUFLLEtBR1BDPQosT0FBUyxTQUFVQyxHQUNmWCxLQUFLRyxJQUFJ
UyxZQUFhLFdBQVlELEdBQ2xDWCxLQUFLYSxRQUFTLFVBQ1ZDLE9BQVdkLEtBQ1g9CkMsU0FBV0Qs
S0FBS0csSUFBSVksU0FBVSxlQUt0Q0MsUUFBVSxXQUNOLEdBQUlDLEdBQU9qQixLQUNQa0IsRUFB
Y2xCLEtBQUtHLD0KSUFBSWdCLFNBQVNDLE9BQ3BDcEIsTUFBS0csSUFBSWtCLFNBQVVDLGVBQWlC
SixHQUFlLE9BQVEsV0FDdkRELEVBQUtKLFFBQVMsPQpXQUNWQyxPQUFTRyxJQUViQSxFQUFLTSxh
QUtiQSxRQUFVLFdBQ052QixLQUFLd0IsTUFDTHhCLEtBQUtHLElBQUlzQixVQUdiQyw9ClFBQ0lD
LE1BQWtCLFNBQ2xCQyxjQUFrQixhQUNsQkMsaUJBQWtCLGdCQUVsQkMsVUFBa0IsYUFDbEJDLFFB
QWtCLFdBQ2xCQyxTQT0KQWtCLGdCQUNsQkMsS0FBa0IsaUJBSXRCQyxPQUFTLFNBQVVDLEdBQ2ZB
LEVBQUdDLGtCQUNIcEMsS0FBS1UsT0FBUXlCLElBSWpCPQpFLFdBQWEsU0FBVUYsR0FDbkJBLEVB
QUdDLGtCQUNIRCxFQUFHRyxnQkFDSCxJQUVJQyxLQUZpQi9ELEVBQUksb0NBQXNDLE9BQzE9CkNB
LEVBQUksZ0VBQWtFLEtBQU1pQyxLQUFNLElBQ3hGK0IsT0FBUWhFLEVBQUksb0NBQXVDLElBQUt3
QixLQUFLZCxRQUFRRixNQT0KQ2hGdUQsS0FDQXZDLEtBQUtkLFFBQVFGLEtBQU91RCxFQUNwQnZD
LEtBQUtFLFdBTWJ1QyxjQUFnQixTQUFVTixHQUN0QkEsRUFBPQpHQyxrQkFDSHBDLEtBQUtnQixX
QUlUMEIsV0FBYSxTQUFVUCxHQUNmQSxFQUFHUSxnQkFBaUJSLEVBQUtBLEVBQUdRLGVBQ2hDUiw9
CkVBQUdTLGFBQWFDLGNBQWdCLE9BQ2hDVixFQUFHUyxhQUFhRSxRQUFTLGFBQWNDLEtBQUtDLFVB
QVdoRCxLQUFLZCxVQUU1RGMsSz0KQUFLRyxJQUFJSSxTQUFVLFlBQ25CUCxLQUFLRyxJQUFJZ0Is
U0FBU04sUUFBUyxnQ0FBa0NiLFFBSWpFaUQsU0FBVyxXQUNQakQsPQpLQUFLRyxJQUFJK0MsWUFB
YSxZQUN0QmxELEtBQUtHLElBQUlnQixTQUFTTixRQUFTLDhCQUFnQ2IsUUFJL0RtRCxjQUFnQixT
QUE9ClVoQixHQUN0Qm5DLEtBQUtHLElBQUlnQixTQUFTTixRQUFTc0IsSUFJL0JpQixTQUFXLFdB
Q1AsTUFBTyxvQ0FRWEMsRUFBd0I3RD0KLFNBQVNDLEtBQUtDLE9BQVFyQixFQUFTc0IsZUFBZ0JE
LFFBR3ZFNEQsaUJBQW1CL0QsRUFFbkJnRSxnQkFBbUJwRixFQUFLcUYsPQo2QkFDeEIzRCxVQUFt
QixnRUFHbkI0RCxZQUFtQixFQUVuQkMsbUJBR0kzRSxXQUFhLFdBQVksS0FBTSxJQUFJNEUsV0FB
VywrQkE9CkU5Q0MsU0FBYSxhQUViQyxTQUFhLGFBRWJDLGVBQWtCLEdBRWxCQyxhQUFrQiw2QkFJ
dEJqRSxXQUFhLFNBQVVDLEdBQ25CQyxLQT0KQUtnRSxPQUFRLG1DQUFvQ2pFLEVBQ2pELElBQUlr
RSxHQUFVakUsSUFDZFEsR0FBRTBELEtBQU1sRSxLQUFLMEQsa0JBQW1CLFNBPQpBVVMsRUFBT0Ms
R0FDN0NELEVBQVFwRSxFQUFZcUUsSUFBU0QsRUFDN0JGLEVBQVNHLEdBQVFELElBSXJCRixFQUFR
SSxnQkFBa0I9CnRFLEVBQVdwQixhQUVyQ3FCLEtBQUtzRSxpQkFDTHRFLEtBQUt1RSxpQkFDTHZF
LEtBQUt3RSxtQkFJVEYsZUFBaUIsV0FFYnRFLD0KS0FBS3lFLGVBRUx6RSxLQUFLMEUsVUFBWSxL
QUVqQjFFLEtBQUsyRSxVQUFXLEdBS3BCSixlQUFpQixXQUdidkUsS0FBSzRFLG1CPQpBR0w1RSxL
QUFLNkUsbUJBRUw3RSxLQUFLOEUsZ0JBR0w5RSxLQUFLNkUsZ0JBQWtCN0UsS0FBS3FFLGdCQUFn
QlUsTUFBTyxHQUM9Cm5EL0UsS0FBS2dGLG9CQUNMaEYsS0FBS2lGLG9CQUNMakYsS0FBS2tGLHdC
QUNMbEYsS0FBS21GLGlCQUlUSCxrQkFBb0IsV0FNaD0KQixNQUxBaEYsTUFBSzZFLGdCQUFnQk8s
UUFBUyxTQUFVbEcsR0FDL0JBLEVBQVFtRyxlQUFnQixRQUN6Qm5HLEVBQVFDLEdBQUtxPQpCLEVB
QUU4RSxjQUdoQnRGLEtBQUs2RSxpQkFJaEJJLGtCQUFvQixXQUNoQixHQUFJaEIsR0FBVWpFLElB
Y2QsT0FaQWlFLEdBQVE9ClcsbUJBRVI1RSxLQUFLNkUsZ0JBQWtCN0UsS0FBSzZFLGdCQUFnQlUs
T0FBUSxTQUFVckcsR0FDMUQsR0FBSXNHLEdBQVV2QixFQT0KQVF3QixrQkFBbUJ2RyxFQU96QyxP
QU5Jc0csSUFDQXZCLEVBQVFXLGdCQUFnQmMsTUFDcEJ4RyxRQUFVQSxFQUNWeUcsS0FBVUgsPQpL
QUdWQSxJQUVMeEYsS0FBSzZFLGlCQUloQlksa0JBQW9CLFNBQVV2RyxHQUMxQixNQUFxQyxZQUFq
Q0EsRUFBUUcscUJBQ0RiLEU9CkFBSSxvQkFFWFUsRUFBUTBHLFFBQVV4SCxFQUFPeUgsR0FFZHJI
LEVBRFBnQyxFQUFFc0YsU0FBVTFILEVBQU8ySCxpQkFBa0I3Rz0KLEVBQVEwRyxPQUNsQyw4QkFF
SixnREFFWDFHLEVBQVE4RyxTQUFXOUcsRUFBUStHLE9BQ3BCekgsRUFBSSw4QkFFUixNQUlYMEcs
PQpzQkFBd0IsV0FDcEIsR0FBSWdCLEdBQVMsSUFDVEMsRUFBVSxFQUNWQyxJQUNKcEcsTUFBSzZF
LGdCQUFnQk8sUUFBUyxTQUFVbEc9CixHQUVwQyxJQURBLEdBQUltSCxHQUFXbkgsRUFBUUYsS0FD
aEJvSCxFQUFjZixlQUFnQmdCLElBR2pDLEdBRkFBLEVBQVduSCxFQT0KQVFGLEtBQU8sS0FBT21I
LEVBQVUsSUFDM0NBLEdBQVcsRUFDUEEsR0FBV0QsRUFDWCxLQUFNLElBQUlJLE9BQU8sOENBR3pC
cEgsPQpHQUFRRixLQUFPcUgsRUFDZkQsRUFBZWxILEVBQVFGLE9BQVMsS0FLeENtRyxjQUFnQixh
QVNoQmpGLE9BQVMsU0FBVXFHLEVBQU89CkMsR0FFdEIsTUFBSXhHLE1BQUs2RSxnQkFBZ0I0QixP
QUFTekcsS0FBS3lELFlBQzVCekQsS0FBSzBHLGVBQWdCSCxFQUFPQyxJQT0KR3ZDeEcsS0FBS0cs
SUFBSXdHLFFBQVF0RyxLQUFNTCxLQUFLNEcsVUFBVUMsUUFDdEM3RyxLQUFLOEcsY0FBZVAsR0FD
cEJ2RyxLPQpBQUsrRyxjQUFlUixHQUNwQnZHLEtBQUtnSCxjQUFlVCxHQUNwQnZHLEtBQUtpSCx1
QkFDTGpILEtBQUtrSCxFQUFHLG9CQUFxQkM9CixRQUM3Qm5ILEtBQUthLFFBQVMsV0FBWWIsTUFD
bkJBLE9BS1gwRyxlQUFpQixXQVViLE1BUkExRyxNQUFLRyxJQUFJd0csUUFBUT0KdEcsS0FBTUws
S0FBSzRHLFVBQVVRLGdCQUNsQ0MsU0FBVXJILEtBQUs0RSxnQkFDZmpHLFNBQVVxQixLQUFLNkUs
bUJBRVUsa0JBPQpBbEI3RSxNQUFLNkQsVUFDWjdELEtBQUtrSCxFQUFHLHNCQUF1QkksT0FFbkN0
SCxLQUFLYSxRQUFTLFdBQVliLE1BQ25CQSxNQUk9Clg4RyxjQUFnQixXQUNaLEdBQUlTLEdBQVV2
SCxLQUFLa0gsRUFBRyxXQUFZUCxRQUFRdEcsS0FBTUwsS0FBSzRHLFVBQVVZLFVBQz0KMURDLEtB
QU0saUJBQWtCQyxRQUFTUixFQUFHbEgsS0FBSzRHLFVBQVVlLGVBS3hELE9BSEkzSCxNQUFLNEUs
Z0JBQWdCNkIsUUFDPQpyQnpHLEtBQUs0SCx3QkFFRkwsR0FJWFIsY0FBZ0IsU0FBVVIsR0FDdEIs
R0FBSXNCLEdBQVU3SCxLQUFLa0gsRUFBRyxXQUFZUCw9ClFBQVF0RyxLQUFNTCxLQUFLNEcsVUFB
VWtCLFNBRS9ELE9BREE5SCxNQUFLK0gsWUFBYXhCLEdBQ1hzQixHQUlYYixjQUFnQixXQT0KQ1os
R0FBSWdCLEdBQVVoSSxLQUFLa0gsRUFBRyxXQUFZUCxRQUFRdEcsS0FBTUwsS0FBSzRHLFVBQVVx
QixTQUkvRCxPQUg2QixrPQpCQUFsQmpJLE1BQUs2RCxVQUNaN0QsS0FBS2tILEVBQUcsc0JBQXVC
SSxPQUU1QlUsR0FJWGYscUJBQXVCLFdBQ25CakgsS0FBS2s9CkgsRUFBRyxtQkFBb0JnQixlQUFn
QixzQkFBdUJsSSxLQUFLK0QsZUFJNUU2RCxzQkFBd0IsV0FDcEI1SCxLQUFLbUksV0FBWW5JLD0K
S0FBSzRHLFVBQVVoQyxpQkFBa0J5QyxTQUFVckgsS0FBSzRFLGtCQUFvQixrQkFJekZ3RCxtQkFB
cUIsU0FBVUMsRUFBTUMsR0FDPQpqQyxHQUFJQyxHQUFtQixvQkFDVixVQUFURixJQUNBQSxFQUFP
ckksS0FBS2tILEVBQUcsb0JBQXFCc0IsSUFBS3hJLEtBQUtrSCw9CkVBQUcsNEJBQ2pEbEgsS0FB
S2tILEVBQUcsb0JBQXFCQyxRQUFRekcsVUFFckM0SCxHQUNBRCxFQUFPQSxHQUFRckksS0FBS2tI
LD0KRUFBRyxJQUFNcUIsR0FDN0JGLEVBQUtuRixZQUFhcUYsSUFFbEJGLEVBQUs5SCxTQUFVZ0ks
SUFJdkJFLHNCQUF3QixTQUFVQyxHPQpBQzlCQSxFQUFXbEksRUFBRW1JLFlBQWFELElBQXFCLEVB
QVZBLEVBQ2pDQSxJQUNBMUksS0FBS2tILEVBQUcsb0JBQXFCMEIsS0E9CkFNLFlBQVksR0FDL0M1
SSxLQUFLa0gsRUFBRyxzQkFBdUJ0RyxZQUFhLFlBQVksS0FTaEVpSSxNQUFRLFdBQ0osTUFBTzdJ
LE1BQT0KS2tILEVBQUcseUJBSW5CNEIscUJBQXVCLFdBQ2Z0SSxFQUFFdUksS0FBTS9JLEtBQUt5
RSxhQUNiekUsS0FBS2tILEVBQUcsbURBPQpBb0RJLE9BRTVEdEgsS0FBS2tILEVBQUcsbURBQW9E
OEIsUUFLcEVqQixZQUFjLFdBRVYsR0FBSTlELEdBQVVqRSxLQUNWaUosRUE9CkFPQyxPQUFRLFVB
Q2ZMLEVBQVE1RSxFQUFRNEUsT0FFcEJySSxHQUFFMEQsS0FBTWxFLEtBQUs4RSxhQUFjLFNBQVU3
RCxHQUNqQz0KQSxFQUFLTSxVQUNMMEMsRUFBUWtGLGtCQUFtQmxJLEtBUS9CZ0QsRUFBUVksZ0JB
QWdCTyxRQUFTLFNBQVVsRyxHQUN2QyxHQUFJPQprSyxHQUFjbkYsRUFBUW9GLG1CQUFvQm5LLEVB
QzlDK0osR0FBS0ssT0FBUUYsRUFBWWpKLE9BRzdCOEQsRUFBUTZFLHVCQUNSRCw9CkVBQU1sQyxR
QUFRMkMsT0FBUUwsRUFBS00sWUFDM0IvSSxFQUFFZ0osT0FBUXZGLEVBQVFhLGFBQWMsVUFFNUIr
RCxFQUFNWSxTQT0KQVdaLEVBQU1hLElBQUssY0FDNUJiLEVBQU1hLElBQUssZUFBZ0IsbUJBRTNC
YixFQUFNYSxJQUFLLGVBQWdCLFFBS25DTCxtQkFBPQpxQixTQUFVbkssR0FDM0IsR0FBSWtLLEdB
QWMsR0FBSXBKLE1BQUtzRCxrQkFHdkJwRSxRQUFVQSxFQUNWZSxTQUFVTyxFQUFFbUo9CixJQUFL
M0osS0FBS3lFLFlBQWF2RixFQUFRQyxLQUkvQyxPQUZBYSxNQUFLOEUsYUFBYVksS0FBTTBELEdB
Q3hCcEosS0FBSzRKLD0KcUJBQXNCUixHQUNwQkEsR0FJWFEscUJBQXVCLFNBQVUzSSxHQUM3QixH
QUFJZ0QsR0FBVWpFLElBQ2RpRSxHQUFRNEYsU0FBVTVJPQosR0FDZFAsT0FBUyxTQUFVb0osR0FD
ZixHQUFJNUssR0FBVTRLLEVBQUtoSixPQUFPNUIsT0FDdEI0SyxHQUFLN0osU0FDTGdFLEU9CkFB
UVEsWUFBYXZGLEVBQVFDLEtBQU8sUUFFN0I4RSxHQUFRUSxZQUFhdkYsRUFBUUMsSUFFeEM4RSxF
QUFRcEQsUUFBUyxrQkFBbT0KQmlKLElBRXhDOUksUUFBVSxTQUFVOEksR0FDaEI3RixFQUFRcEQs
UUFBUyxtQkFBb0JpSixPQU1qREMsZUFBaUIsYUFRakJaLGtCPQpBQW9CLFNBQVVsSSxTQUNuQmpC
LE1BQUt5RSxZQUFheEQsRUFBSy9CLFFBQVFDLElBQ3RDYSxLQUFLOEksdUJBRUw5SSxLQUFLOEU9
CixhQUFldEUsRUFBRXdKLFFBQVNoSyxLQUFLOEUsYUFBYzdELEdBQ2xEakIsS0FBS2lLLGNBQWVo
SixJQUl4QmlKLHNCQUF3QixXQT0KQ3BCbEssS0FBS3lJLHVCQUF1QixHQUM1QnpJLEtBQUtrSCxF
QUFHLHdCQUF5Qm9DLE9BQVF0SixLQUFLNEcsVUFBVXVELG1CQVc1PQpEQyxlQUFpQixTQUFVbEws
R0FFdkIsTUFBT0EsSUFNWG1MLFdBQWEsU0FBVXJMLEdBQ25CLElBQUtnQixLQUFLNkUsZ0JBQWdC
NEI9CixPQUFRLENBQzlCLEdBQUk2RCxHQUFVOUwsRUFBSSxvQ0FBdUMsSUFLekQsT0FKQThMLElB
QVcsdURBQXlEOUwsRUFBSSxVQUFhLD0KUUFDckY4TCxHQUFXOUwsRUFBSSxNQUNmOEwsR0FBVyxn
REFBa0Q5TCxFQUFJLGNBQWlCLFlBQ2xGd0IsTUFBS21JLFdBQVltQyxHPQpBSXJCLEdBQUlyRyxH
QUFVakUsS0FDVnJCLEVBQVdxQixLQUFLNkUsZ0JBQWdCNUYsSUFBSyxTQUFVQyxHQUMzQyxNQUFP
K0UsR0E9CkFRbUcsZUFBZ0JsTCxJQUl2QyxPQURBK0UsR0FBUVUsVUFBVyxFQUNaVixFQUFRbEYs
V0FBWUosRUFBVUssR0FDaEN1TCxPQUFRLD0KV0FDTHRHLEVBQVFVLFVBQVcsSUFFdEI2RixLQUFN
LFNBQVVDLEVBQUtDLEdBQ2xCekcsRUFBUXBELFFBQVMsU0FDYjRKLElBQVVBPQosRUFDVkMsT0FB
VUEsRUFDVkosUUFBVTlMLEVBQUksd0RBR3JCbU0sS0FBTSxTQUFVcEksRUFBVStILEVBQVNHLEdB
Q2hDeEcsRUE9CkFRcEQsUUFBUyxxQkFBc0IwQixFQUFVK0gsRUFBU0csR0FDMUR4RyxFQUFRRCxP
QUFRLHFCQUFzQnpCLEdBQ04sa0JBQXJCMEIsRz0KQUFRTCxVQUNmSyxFQUFRTCxTQUFTZ0gsS0FB
TTVLLEtBQU11QyxFQUFVK0gsRUFBU0csTUFPaEVqRyxnQkFBa0IsV0F3QmQsTUF2PQpCQXhFLE1B
QUs2SyxHQUFJLFFBQVM3SyxLQUFLOEssZUFFdkI5SyxLQUFLK0ssS0FBTSxXQUFZLFdBQ25CL0ss
S0FBS2EsUUFBUyw9Cm1CQUFvQmIsUUFHdENBLEtBQUs2SyxHQUFJLGtCQUFtQixXQUN4QjdLLEtB
QUs4SSx5QkFHVDlJLEtBQUs2SyxHQUFJLG1CQUFvQj0KLFNBQVVmLEdBQ25DLEdBQUk1SyxHQUFV
NEssRUFBS2hKLE9BQU81QixPQUMxQmMsTUFBS21KLGtCQUFtQlcsRUFBS2hKLFFBRTdCPQpkLEtB
QUs2RSxnQkFBa0JyRSxFQUFFd0osUUFBU2hLLEtBQUs2RSxnQkFBaUIzRixHQUNuRGMsS0FBSzZF
LGdCQUFnQjRCLFFBQ3Q9CkJ6RyxLQUFLa0ssMEJBT05sSyxNQUlYOEssY0FBZ0IsU0FBVWhCLEdB
Q3RCOUosS0FBS2dMLE1BQU9sQixFQUVaLElBQUk3RixHQT0KQVVqRSxJQUVkLElBRElpTCxRQUFV
bkIsRUFBS1EsU0FBVzlMLEVBQUkscUJBQzlCc0wsRUFBS1csSUFBSyxDQUNWLEdBQUlBLEdBPQpB
TVgsRUFBS1csSUFDWEgsRUFBVVIsRUFBS1EsT0FFZlcsVUFEbUIsSUFBbkJSLEVBQUlTLFlBQW1D
LElBQWZULEVBQUlDLE9BQ2o9CkIsS0FBT2xNLEVBQUksb0RBQ2xCQSxFQUFJLGdDQUNEaU0sRUFB
SVUsYUFDQSxlQUFpQnBJLEtBQUtDLFVBQVd5SCxFQUFJVSxjQT0KQWlCLFNBRXRELEtBQU9iLEVB
RzFCckcsRUFBUWtFLFdBQVk4QyxRQUFTLGlCQUdqQ3ZKLFFBRUkwSixtQkFBa0MsaUJBQ2xDQyxt
PQpCQUFrQyxpQkFDbENDLG1CQUFrQyxjQUNsQ0MsOEJBQWtDLGFBRWxDQyxlQUFrQyxRQUNsQ0Ms
d0JBQWtDLHdCQUdsQ0MsNkJBQWs9CkMsd0JBS2xDQyxnQ0FBa0Msb0JBQ2xDQyw0QkFBa0MsZ0JB
R2xDQyxvREFBc0Qsb0JBQ3REQyxvREFBc0Qsa0JBR3REQywwQkFBaz0KQyxjQUNsQ0MsMkJBQWtD
LHFCQUNsQ0MsdUJBQWtDLFdBQ0Qsa0JBQWxCak0sTUFBSzZELFVBQ1o3RCxLQUFLNkQsU0FBUytH
LEtBPQpBTTVLLE9BRzVCa00sMkJBQWtDLGdCQUt0Q0MsZUFBaUIsU0FBVWhLLEdBQ3ZCQSxFQUFH
QyxrQkFDSHBDLEtBQUtrSCxFQUFHLGM9CkFBZTNHLFNBQVUsWUFDakNQLEtBQUtrSCxFQUFHLGNB
QWU4QixRQUczQm9ELGVBQWlCLFNBQVVqSyxHQUN2QkEsRUFBR0Msa0JBQz0KSHBDLEtBQUtrSCxF
QUFHLGNBQWVoRSxZQUFhLFlBQ3BDbEQsS0FBS2tILEVBQUcsY0FBZUksUUFHM0IrRSxZQUFjLFNB
QVVsSyxHPQpBQ3BCQSxFQUFHQyxrQkFDSHBDLEtBQUtrSCxFQUFHLGNBQWV0RyxZQUFhLFlBQ3BD
WixLQUFLa0gsRUFBRyxjQUFldkcsVUFJM0I9CndILFdBQWEsU0FBVW1DLEVBQVNnQyxHQUM1QkEs
RUFBYUEsR0FBYyxlQUMzQnRNLEtBQUtrSCxFQUFHLGNBQWU4QixPQUN2QmhKLD0KS0FBS2tILEVB
QUcsa0JBQ0g5RyxLQUFNLFFBQVMsMkJBQTRCRyxTQUFVK0wsR0FBYWhGLE9BQ2xFRyxLQUFNLGtC
QUFtQnBILEtBPQpBTWlLLElBR3hDaUMsV0FBYSxXQUNUdk0sS0FBS2tILEVBQUcsY0FBZUksT0FD
dkJ0SCxLQUFLa0gsRUFBRyxrQkFBbUI4QixRQUs9Ci9Cd0QsTUFBUSxXQUNKeE0sS0FBS3NFLGlC
QUNMdEUsS0FBS3VFLGlCQUNMdkUsS0FBS0UsVUFJVHVNLHNCQUF3QixXQUNwQnpNLD0KS0FBS2tI
LEVBQUcsNENBQTZDaEUsWUFBYSxZQUNsRWxELEtBQUtrSCxFQUFHLG1EQUFvRDhCLFFBWWhFMEQs
a0JBQW9CLFNBQVV2PQpLLEdBRTFCQSxFQUFHRyxnQkFFSCxJQUFJdUcsR0FBUTdJLEtBQUs2SSxP
QUNqQjdJLE1BQUsyTSxvQkFBcUI5RCxFQUFPMUcsRUE9CkFHUSxjQUFjaUssUUFDbEQsSUFBSUMs
R0FBVzdNLEtBQUs4TSxtQkFBb0IzSyxFQUFHUSxjQUFjaUssUUFHekQ1TSxNQUFLa0gsRT0KQUFH
LDZCQUE4QnpGLFFBQ3RDLElBQUlzTCxHQUFlN0YsRUFBRywrQ0FDakIyRixHQUFTOUQsT0FHVjhE
LEVBQVNHLE9BQVFELEdBPQpGakJsRSxFQUFNUyxPQUFReUQsSUFPdEJKLG9CQUFzQixTQUFVTSxF
QUFVQyxHQUN0QyxHQUFJQyxHQUFtQixFQUNuQkMsRUFBU0g9CixFQUFTRyxTQUNsQkMsRUFBWUos
RUFBU0ksWUFDckJDLEVBQVlKLEVBQUlFLEVBQU9HLElBQ3ZCQyxFQUFjSixFQUFPRyxJQUFNTj0K
LEVBQVNRLGNBQWtCUCxDQUN0REksSUFBYSxHQUFLQSxFQUFZdE4sS0FBSzhELGVBQ25DbUosRUFB
U0ksVUFBV0EsRUFBWUYsR0FDPQp6QkssR0FBYSxHQUFLQSxFQUFZeE4sS0FBSzhELGdCQUMxQ21K
LEVBQVNJLFVBQVdBLEVBQVlGLElBT3hDTCxtQkFBcUIsU0FBVUk9CixHQUczQixJQUFLLEdBRkRR
LEdBQVMsRUFDVEMsRUFBTTNOLEtBQUtrSCxFQUFHLDhDQUErQzBHLFVBQ3hEQyxFQUFFLEVBQUdB
LD0KRUFBRUYsRUFBSWxILE9BQVFvSCxJQUFLLENBQzdCLEdBQUlDLEdBQU01RyxFQUFHeUcsRUFB
SUUsSUFDYk4sRUFBTU8sRUFBSVYsPQpTQUFTRyxJQUNuQlEsRUFBYUMsS0FBS0MsTUFBT0gsRUFB
SUwsY0FBZ0IsR0FBTUMsQ0FDdkQsSUFBSUgsRUFBTVEsRUFBYWIsR0E9CkF3QkEsRUFBbkJLLEVB
QU1RLEVBQzlCLE1BQU9ELEdBR2YsTUFBTzVHLE1BSVhnSCxjQUFnQixTQUFVL0wsR0FDbEJBLEVB
QUdRLD0KZ0JBQWlCUixFQUFLQSxFQUFHUSxlQUVoQ1IsRUFBR0csaUJBQ0hILEVBQUdTLGFBQWF1
TCxXQUFhLE1BRzdCLElBQUl0QixHQUFXPQo3TSxLQUFLOE0sbUJBQW9CM0ssRUFBR3lLLFFBUzND
LE9BUklDLEdBQVM5RCxPQUNUL0ksS0FBSzBFLFVBQVUwSixhQUFjdkIsR0E9Ckc3QjdNLEtBQUsw
RSxVQUFVMkosWUFBYXJPLEtBQUtrSCxFQUFHLDRDQUE2Q29ILFFBR3JGdE8sS0FBS3VPLG1CQUNF
LEdBSVhBLD0KZ0JBQWtCLFdBQ2QsR0FBSXRLLEdBQVVqRSxLQUNWd08sSUFFSnhPLE1BQUtrSCxF
QUFHLDRDQUE2Q2hELEtBQU0sV0FDdkQsR0FBPQpJL0UsR0FBSytILEVBQUdsSCxNQUFPSSxLQUFN
LG1CQUNyQmxCLEVBQVVzQixFQUFFaU8sVUFBV3hLLEVBQVFZLGlCQUFtQjFGLEc9CkFBSUEsR0FD
dERELEdBQ0FzUCxFQUFZOUksS0FBTXhHLEdBRWxCd1AsUUFBUTFELE1BQU8sb0JBQXFCN0wsS0FH
NUNhLEtBQUs2RT0KLGdCQUFrQjJKLEVBQ3ZCeE8sS0FBSytILGVBSVQ0RyxrQkFBb0IsU0FBVXhN
LEVBQUlqRCxHQUU5QkEsRUFBUXdCLFFBQVEsR0FDPQpoQlYsS0FBSzBFLFVBQVkxRSxLQUFLa0gs
RUFBRyxzREFJN0IwSCxnQkFBa0IsV0FDZDFILEVBQUcsNkJBQThCekYsU0FDakN6Qiw9CktBQUsw
RSxVQUFZLE1BS3JCbUssWUFBYyxXQUNWN08sS0FBS29JLG1CQUFvQixTQUFVcEksS0FBSzhPLGFB
STVDQyxtQkFBcUIsUz0KQUFVNU0sR0FDUixLQUFmQSxFQUFHNk0sU0FBbUJoUCxLQUFLMkUsVUFD
M0IzRSxLQUFLaVAsZ0JBS2JILFNBQVcsV0FDUCxNQUFPPQp0TyxHQUFFME8sT0FBUWxQLEtBQUtr
SCxFQUFHLG9CQUFxQmlJLFFBSWxERixhQUFlLFdBQ1gsR0FBSWpRLEdBQU9nQixLQUFLOE89CixV
QUNYOVAsR0FFT2dCLEtBQUsyRSxVQUNiM0UsS0FBS3FLLFdBQVlyTCxHQUZqQmdCLEtBQUtvSSxt
QkFBb0IsU0FXakN4QixXQT0KRUlDLEtBQU9yRyxFQUFFRixVQUNMLDhDQUNBLHlEQUNBLCtDQUNG
RyxLQUFLLEtBR1ArRyxPQUFTaEgsRUFBRUYsVUFDUCxxQ0FDPQpJLG1EQUFvRDlCLEVBQUksYUFB
ZSxPQUN2RSw2QkFDSSxtREFBb0RBLEVBQUksUUFBVSxPQUN0RSxTQUNKLFNBQ0Esd0NBQ0ksNEQ9
CkFDSSxVQUFXQSxFQUFJLDRCQUE4Qix3Q0FDakQsc0NBQ0osVUFDRmlDLEtBQUssS0FHUHFILE9B
QVN0SCxFQUFFRixVQUNQLDZDQT0KQ0ksK0NBQ0ksVUFBVzlCLEVBQUksb0NBQXNDLEtBQ3JEQSxF
QUFJLGNBQ1IsT0FDQSx3REFDSSxVQUFXQSxFQUFJLG1DQUFxQyxLPQpBQ3BEQSxFQUFJLGtCQUNS
LE9BQ0osU0FDQSw4REFDQSxVQUNGaUMsS0FBSyxLQUdQd0gsT0FBU3pILEVBQUVGLFVBQ1AsaUNB
Q0k9CixzQkFDSSwwREFDSSxnQkFBaUI5QixFQUFJLHdDQUEwQyxPQUNuRSxrREFBbURBLEVBQUks
UUFBVSxVQUNyRSxTQUNKLFNBRUEsZz0KREFDSSx3Q0FDSSxtREFBb0RBLEVBQUksVUFBWSxZQUNw
RSw4Q0FDSSwwRUFDTUEsRUFBSSx5Q0FDSiwrQkFDTixZQUNBLHlDQUNNPQosbUJBQW9CQSxFQUFJ
LCtCQUFpQyxZQUN6RCxtQkFBb0JBLEVBQUksNkNBQStDLFlBQzdFLFFBQ0osU0FDSixTQUVBLHdD
QUNJLHE9CkRBQXNEQSxFQUFJLGVBQWlCLFlBQy9FLFNBQ0osVUFDRmlDLEtBQUssS0FHUGtILFlB
QWNuSCxFQUFFRixVQUNaLE1BQU85QixHQT0KQ0gsb0dBQ0Esc0dBQ0EsaUVBQ0ZpQyxLQUFNLEtB
QU8sT0FDZixPQUNJLE9BQVFqQyxHQUNKLDhDQUNBLHFFQUNGaUMsS0FBTSxLPQpBQU8sUUFDZixP
QUFRakMsR0FDSixtRUFDQSx1RUFDRmlDLEtBQU0sS0FBTyxRQUNmLE9BQVFqQyxHQUNKLCtGQUNB
LHNHQUNBLHk9CkVBQ0EsbUVBQ0ZpQyxLQUFNLEtBQU8sUUFDZixPQUFRakMsR0FDSixvR0FDQSxr
QkFDRmlDLEtBQU0sS0FBTyxRQUNmLE9BQVFqQz0KLEdBQ0osd0ZBQ0ZpQyxLQUFNLEtBQU8sUUFD
bkIsY0FDQSxNQUFPakMsR0FDSCw0RkFDQSxnRUFDRmlDLEtBQU0sS0FBTyxRQUNqPQpCQSxLQUFL
LEtBR1BtRSxnQkFBa0JwRSxFQUFFRixVQUNoQjlCLEVBQUksbUVBQ0osbURBQ0ksbUVBQ0osa0JB
Q0ZpQyxLQUFLLEs9CkFHUDBKLGVBQWlCM0osRUFBRUYsVUFDZix3Q0FDSTlCLEVBQUksc0JBQ0pB
LEVBQUksc0JBQXdCLDhDQUErQ0EsRUFBSSxjQUFnQj0KLFFBQ25HLFNBQ0ZpQyxLQUFLLEtBR1Ay
RyxlQUFpQjVHLEVBQUVGLFVBQ2Ysd0NBQ0ksMkRBQ0ksK0JBQ0ksa0NBQ0k5QixFQUFJPQosa0VB
QW9FLElBQ3hFLG1EQUNJLG1FQUNKLGlCQUNKLDZDQUNJQSxFQUFJLDZCQUErQixJQUN2QyxVQUNB
LFNBQ0FBLEVBQUkscUQ9CkFBdUQsS0FDM0RBLEVBQUksb0JBQ0osc0RBQXVEQSxFQUFJLFVBQVks
UUFDdkVBLEVBQUksNkJBQStCLElBQ3ZDLFVBQ0osU0FDSj0KLFNBQ0Esd0NBQ0ksZ0RBQ0ksd0NB
Q0ksbURBQW9EQSxFQUFJLFVBQVksWUFFeEUsU0FDSixTQUNKLFVBQ0ZpQyxLQUFLLE1BS1gyPQpD
LFNBQVcsV0FBWSxNQUFPLDJCQVM5QmdNLEVBQXlCLFNBQWtDelEsRUFBVTBRLEVBQVNDLEdBRTlF
LEdBRUlyTCxHQUZBc0wsRUE9CkFXckcsT0FBT3NHLFdBQ2xCQyxFQUFRQyxPQUFPRCxPQUFTLEdB
QU1uUixHQUFTbUIsSUEyQjNDLE9BeEJBNFAsR0FBVTdPLEVBQT0KRW1QLFNBQVVOLE9BQ2xCMVEs
U0FBY0EsRUFDZGtGLFNBQWMsV0FDVjRMLEVBQU16RyxPQUNOdUcsRUFBU0ssT0FBUSxjQUVyQmhN
PQosU0FBYyxTQUFVSyxFQUFTMUIsR0FDN0JrTixFQUFNekcsT0FDTnVHLEVBQVNNLFFBQVN0TixN
QUkxQjBCLEVBQVUsR0FBSXFMLEc9CkFBY0QsR0FDNUJJLEVBQU1uSSxNQUNGd0ksTUFBVVQsRUFB
UVMsT0FBU3RSLEVBQUksdUJBQy9CdVIsS0FBVTlMLEVBQVE5RCxJQT0KQ2xCaUIsTUFBVSxNQUNW
cUksT0FBVSxPQUNWdUcsZ0JBQWdCLElBRXBCL0wsRUFBUS9ELFNBQ1IrUCxPQUFPQyxtQkFBcUJq
TSxFPQpBR3JCc0wsR0FJUHpRLEVBQTZCLFNBQXNDSCxFQUFVMFEsR0FHN0UsTUFGQUEsR0FBVUEs
TUFDVkEsRUFBUVMsTUFBUXRSLEVBQUk9CiwrQ0FDYjRRLEVBQXdCelEsRUFBVTBRLEVBQVNoTSxH
QTJCbEQsUUFDSTlELDZCQUE4QkEsRUFDOUI4RCxzQkFBOEJBLEVBRTlCKz0KTCx1QkFBOEJBLEVB
QzlCdFEsMkJBQThCQSxFQUM5QkwscUJBQThCQSJ9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2
YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBzdGF0aWMvbWFwcy9tdmMv
bGlicmFyeS9saWJyYXJ5LWZvbGRlcnRvb2xiYXItdmlldy5qcy5tYXAKLS0tIGEvc3RhdGljL21h
cHMvbXZjL2xpYnJhcnkvbGlicmFyeS1mb2xkZXJ0b29sYmFyLXZpZXcuanMubWFwCisrKyBiL3N0
YXRpYy9tYXBzL212Yy9saWJyYXJ5L2xpYnJhcnktZm9sZGVydG9vbGJhci12aWV3LmpzLm1hcApA
QCAtMSwxICsxLDEgQEAKLXsidmVyc2lvbiI6MywiZmlsZSI6ImxpYnJhcnktZm9sZGVydG9vbGJh
ci12aWV3LmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zPQpyYy9tdmMvbGlicmFyeS9saWJyYXJ5
LWZvbGRlcnRvb2xiYXItdmlldy5qcyJdLCJuYW1lcyI6WyJkZWZpbmUiLCJtb2RfbWFzdGg9CmVh
ZCIsIm1vZF91dGlscyIsIm1vZF90b2FzdHIiLCJtb2RfbGlicmFyeV9tb2RlbCIsIm1vZF9zZWxl
Y3QiLCJGb2xkZXJUb29sYj0KYXJWaWV3IiwiQmFja2JvbmUiLCJWaWV3IiwiZXh0ZW5kIiwiZWwi
LCJldmVudHMiLCJjbGljayAjdG9vbGJ0bl9jcmVhdGVfZm9sPQpkZXIiLCJjbGljayAjdG9vbGJ0
bl9idWxrX2ltcG9ydCIsImNsaWNrICNpbmNsdWRlX2RlbGV0ZWRfZGF0YXNldHNfY2hrIiwiY2w9
CmljayAjdG9vbGJ0bl9zaG93X2xpYmluZm8iLCJjbGljayAjdG9vbGJ0bl9idWxrX2RlbGV0ZSIs
ImNsaWNrICNwYWdlX3NpemVfcD0Kcm9tcHQiLCJkZWZhdWx0cyIsImNhbl9hZGRfbGlicmFyeV9p
dGVtIiwiY29udGFpbnNfZmlsZV9vcl9mb2xkZXIiLCJjaGFpbl9jPQphbGxfY29udHJvbCIsInRv
dGFsX251bWJlciIsImZhaWxlZF9udW1iZXIiLCJkaXNhYmxlZF9qc3RyZWVfZWxlbWVudCIsIm1v
ZGE9CmwiLCJqc3RyZWUiLCJoaXN0b3JpZXMiLCJzZWxlY3RfZ2Vub21lIiwic2VsZWN0X2V4dGVu
c2lvbiIsImxpc3RfZXh0ZW5zaW9ucz0KIiwiYXV0byIsImlkIiwidGV4dCIsImRlc2NyaXB0aW9u
IiwibGlzdF9nZW5vbWVzIiwiaW5pdGlhbGl6ZSIsIm9wdGlvbnMiLCJ0PQpoaXMiLCJfIiwiZmV0
Y2hFeHRBbmRHZW5vbWVzIiwicmVuZGVyIiwidG9vbGJhcl90ZW1wbGF0ZSIsInRlbXBsYXRlVG9v
bEJhciI9CiwidGVtcGxhdGVfZGVmYXVsdHMiLCJpc19hZG1pbiIsImlzX2Fub255bSIsIm11dGlw
bGVfYWRkX2RhdGFzZXRfb3B0aW9ucyIsIj0KR2FsYXh5IiwiY3VyclVzZXIiLCJpc0FkbWluIiwi
aXNBbm9ueW1vdXMiLCJjb25maWciLCJ1c2VyX2xpYnJhcnlfaW1wb3J0X2RpPQpyIiwiYWxsb3df
bGlicmFyeV9wYXRoX3Bhc3RlIiwibGlicmFyeV9pbXBvcnRfZGlyIiwiJGVsIiwiaHRtbCIsInJl
bmRlclBhZ2k9Cm5hdG9yIiwicGFnaW5hdG9yX3RlbXBsYXRlIiwidGVtcGxhdGVQYWdpbmF0b3Ii
LCJmaW5kIiwic2hvd19wYWdlIiwicGFyc2VJbj0KdCIsInBhZ2VfY291bnQiLCJ0b3RhbF9pdGVt
c19jb3VudCIsIml0ZW1zX3Nob3duIiwiY29uZmlndXJlRWxlbWVudHMiLCIkIiwiPQpzaG93Iiwi
aGlkZSIsInRvb2x0aXAiLCJjcmVhdGVGb2xkZXJGcm9tTW9kYWwiLCJldmVudCIsInByZXZlbnRE
ZWZhdWx0Iiwic3Q9Cm9wUHJvcGFnYXRpb24iLCJzZWxmIiwidGVtcGxhdGUiLCJ0ZW1wbGF0ZU5l
d0ZvbGRlckluTW9kYWwiLCJjbG9zaW5nX2V2ZW50cz0KIiwidGl0bGUiLCJib2R5IiwiYnV0dG9u
cyIsIkNyZWF0ZSIsImNyZWF0ZV9uZXdfZm9sZGVyX2V2ZW50IiwiQ2xvc2UiLCJmb2xkPQplckRl
dGFpbHMiLCJzZXJpYWxpemVfbmV3X2ZvbGRlciIsInZhbGlkYXRlX25ld19mb2xkZXIiLCJmb2xk
ZXIiLCJGb2xkZXJBc009Cm9kZWwiLCJ1cmxfaXRlbXMiLCJoaXN0b3J5IiwiZnJhZ21lbnQiLCJz
cGxpdCIsImN1cnJlbnRfZm9sZGVyX2lkIiwibGVuZ3RoIj0KLCJ1cmwiLCJ1cmxSb290Iiwic2F2
ZSIsInN1Y2Nlc3MiLCJzZXQiLCJ0eXBlIiwibGlicmFyaWVzIiwiZm9sZGVyTGlzdFZpZXciPQos
ImNvbGxlY3Rpb24iLCJhZGQiLCJlcnJvciIsIm1vZGVsIiwicmVzcG9uc2UiLCJyZXNwb25zZUpT
T04iLCJlcnJfbXNnIiwibmE9Cm1lIiwidmFsIiwibW9kYWxCdWxrSW1wb3J0IiwiY2hlY2tlZFZh
bHVlcyIsImluZm8iLCJyZWZyZXNoVXNlckhpc3Rvcmllc0xpcz0KdCIsInRoYXQiLCJ0ZW1wbGF0
ZUJ1bGtJbXBvcnRJbk1vZGFsIiwibW9kZWxzIiwiSW1wb3J0IiwiaW1wb3J0QWxsSW50b0hpc3Rv
PQpyeSIsImNhbGxiYWNrIiwiR2FsYXh5SGlzdG9yaWVzIiwiZmV0Y2giLCJkaXNhYmxlQnV0dG9u
IiwiaGlzdG9yeV9pZCIsImhpc3Q9Cm9yeV9uYW1lIiwibGFzdF91c2VkX2hpc3RvcnlfaWQiLCJk
YXRhc2V0X2lkcyIsImZvbGRlcl9pZHMiLCJlYWNoIiwicGFyZW50RT0KbGVtZW50IiwiY2xhc3NM
aXN0IiwiY29udGFpbnMiLCJwdXNoIiwiZGF0YXNldHNfdG9faW1wb3J0IiwiaSIsImxpYnJhcnlf
ZGF0PQphc2V0X2lkIiwiaGlzdG9yeUl0ZW0iLCJIaXN0b3J5SXRlbSIsImNvbnRlbnQiLCJzb3Vy
Y2UiLCJsaWJyYXJ5X2ZvbGRlcl9pZCI9CiwiaW5pdENoYWluQ2FsbENvbnRyb2wiLCJhY3Rpb24i
LCJqUXVlcnkiLCJnZXRKU09OIiwiZ2FsYXh5X2NvbmZpZyIsInJvb3QiLD0KImNoYWluQ2FsbElt
cG9ydGluZ0ludG9IaXN0b3J5IiwidXBkYXRlUHJvZ3Jlc3MiLCJwcm9ncmVzcyIsInByb2dyZXNz
U3RlcCIsPQoid2lkdGgiLCJNYXRoIiwicm91bmQiLCJ0eHRfcmVwcmVzZW50YXRpb24iLCJkb3du
bG9hZCIsImZvbGRlcl9pZCIsImZvcm1hdCI9Ciwid2luZG93IiwiZGF0YSIsImxkX2lkcyIsInBy
b2Nlc3NEb3dubG9hZCIsIm1ldGhvZCIsInBhcmFtIiwiaW5wdXRzIiwicGFpcj0KIiwiYXBwZW5k
VG8iLCJzdWJtaXQiLCJyZW1vdmUiLCJhZGRGaWxlc0Zyb21IaXN0b3J5TW9kYWwiLCJ0ZW1wbGF0
ZV9tb2RhbCIsPQoidGVtcGxhdGVBZGRGaWxlc0Zyb21IaXN0b3J5IiwiZm9sZGVyX25hbWUiLCJm
dWxsX3BhdGgiLCJBZGQiLCJhZGRBbGxEYXRhc2U9CnRzRnJvbUhpc3RvcnkiLCJjbG9zaW5nX2Nh
bGxiYWNrIiwibGlicmFyeV9yb3V0ZXIiLCJiYWNrIiwiZmV0Y2hBbmREaXNwbGF5SD0KaXN0b3J5
Q29udGVudHMiLCJjaGFuZ2UiLCJ0YXJnZXQiLCJ2YWx1ZSIsImltcG9ydEZpbGVzRnJvbVBhdGhN
b2RhbCIsInRlbXBsPQphdGVJbXBvcnRQYXRoTW9kYWwiLCJpbXBvcnRGcm9tUGF0aHNDbGlja2Vk
IiwibmF2aWdhdGUiLCJ0cmlnZ2VyIiwicmVuZGVyU2U9CmxlY3RCb3hlcyIsImdldCIsImRhdGF0
eXBlcyIsImtleSIsImV4dGVuc2lvbiIsImRlc2NyaXB0aW9uX3VybCIsInNvcnQiLCJhIj0KLCJi
IiwidW5zaGlmdCIsImdlbm9tZXMiLCJjc3MiLCJjb250YWluZXIiLCJpbXBvcnRGaWxlc0Zyb21H
YWxheHlGb2xkZXJNb2RhPQpsIiwidGVtcGxhdGVCcm93c2VyTW9kYWwiLCJpbXBvcnRGcm9tSnN0
cmVlUGF0aCIsInJlbmRlckpzdHJlZSIsIkpzdHJlZSIsInI9CmVxdWlyZSIsImNvcmUiLCJwbHVn
aW5zIiwidHlwZXMiLCJpY29uIiwiZmlsZSIsImNoZWNrYm94IiwidGhyZWVfc3RhdGUiLCJwcj0K
ZXNlcnZlX2RpcnMiLCJpcyIsImxpbmtfZGF0YSIsImZpbGVfdHlwZSIsImRia2V5IiwicGF0aHMi
LCJ2YWxpZF9wYXRocyIsInRyPQppbW1lZCIsInRyaW0iLCJjaGFpbkNhbGxJbXBvcnRpbmdGb2xk
ZXJzIiwidGVtcGxhdGVBZGRpbmdEYXRhc2V0c1Byb2dyZXNzQmE9CnIiLCJ0ZW1wbGF0ZURlbGV0
aW5nRGF0YXNldHNQcm9ncmVzc0JhciIsInRlbXBsYXRlSW1wb3J0SW50b0hpc3RvcnlQcm9ncmVz
cz0KQmFyIiwiY29uc29sZSIsInNlbGVjdGVkX25vZGVzIiwiZ2V0X3NlbGVjdGVkIiwic2VsZWN0
aW9uX3R5cGUiLCJ1bmRlZmluZWQiPQosImxpX2F0dHIiLCJmdWxsX3NvdXJjZSIsImNoYWluQ2Fs
bEltcG9ydGluZ1VzZXJkaXJGaWxlcyIsImhpc3RvcnlfY29udGVudHM9CiIsIkhpc3RvcnlDb250
ZW50cyIsImhpc3RvcnlfY29udGVudHNfdGVtcGxhdGUiLCJ0ZW1wbGF0ZUhpc3RvcnlDb250ZW50
cyIsIj0KY29udGVudHMiLCJyZXZlcnNlIiwiY2hlY2tlZF9oZGFzIiwiaGlzdG9yeV9kYXRhc2V0
X2lkcyIsImhkYXNfdG9fYWRkIiwiaGlkPQoiLCJoaXN0b3J5X2RhdGFzZXRfaWQiLCJmb2xkZXJf
aXRlbSIsIkl0ZW0iLCJmcm9tX2hkYV9pZCIsImNoYWluQ2FsbEFkZGluZ0g9CmRhcyIsImhpc3Rv
cnlfaXRlbV9zZXQiLCJwb3BwZWRfaXRlbSIsInBvcCIsIm9uY2xpY2siLCJsb2NhdGlvbiIsIndh
cm5pbmciLD0KInByb21pc2UiLCJ3aGVuIiwiZG9uZSIsImZhaWwiLCJwb3N0IiwiaGRhc19zZXQi
LCJhZGRlZF9oZGFzIiwiRm9sZGVyIiwiY2hhPQppbkNhbGxEZWxldGluZ0l0ZW1zIiwiaXRlbXNf
dG9fZGVsZXRlIiwiZGVsZXRlZF9pdGVtcyIsImRlc3Ryb3kiLCJpdGVtIiwiaW49CmNsdWRlX2Rl
bGV0ZWQiLCJ1cGRhdGVkX2l0ZW0iLCJtb2RlbF9jbGFzcyIsImNoZWNrSW5jbHVkZURlbGV0ZWQi
LCJmZXRjaEZvbD0KZGVyIiwiY2hlY2tlZCIsImRlbGV0ZVNlbGVjdGVkRGF0YXNldHMiLCJzdWJz
dHJpbmciLCJpdGVtc190b3RhbCIsImRhdGFzZXQiPQosInNob3dMaWJJbmZvIiwibGlicmFyeV9p
ZCIsImZvbGRlckNvbnRhaW5lciIsImF0dHJpYnV0ZXMiLCJtZXRhZGF0YSIsInBhcmU9Cm50X2xp
YnJhcnlfaWQiLCJsaWJyYXJ5IiwibGlicmFyeUxpc3RWaWV3Iiwic2hvd0xpYkluZm9Nb2RhbCIs
IkxpYnJhcnkiLCJ0ZT0KbXBsYXRlTGliSW5mb0luTW9kYWwiLCJzaG93SW1wb3J0TW9kYWwiLCJz
aG93UGFnZVNpemVQcm9tcHQiLCJmb2xkZXJfcGFnZV9zPQppemUiLCJwcm9tcHQiLCJwcmVmZXJl
bmNlcyIsInRtcGxfYXJyYXkiLCJqb2luIl0sIm1hcHBpbmdzIjoiQUFBQUEsUUFDSSxrQkE9CkNB
LGNBQ0EsY0FDQSw0QkFDQSxvQkFFSixTQUFVQyxFQUNBQyxFQUNBQyxFQUNBQyxFQUNBQyxHQUdW
LEdBQUlDLEdBQW9CQyxTQT0KQVNDLEtBQUtDLFFBQ3BDQyxHQUFJLFVBRUpDLFFBQ0VDLCtCQUF3
Qyx3QkFDeENDLDZCQUF3QyxrQkFDeENDLHNDQUF3QyxzQkFDPQp4Q0MsOEJBQXdDLGNBQ3hDQyw2
QkFBd0MseUJBQ3hDQywwQkFBd0Msc0JBSTFDQyxVQUNFQyxzQkFBNEIsRUFDNUJDLHlCQUE0Qiw9
CkVBQzVCQyxvQkFDNEJDLGFBQWtCLEVBQ2xCQyxjQUFrQixHQUU5Q0Msd0JBQTRCLFdBRzlCQyxN
QUFRLEtBR1JDLE9BQVEsS0FHUj0KQyxVQUFZLEtBR1pDLGNBQWdCLEtBR2hCQyxpQkFBbUIsS0FH
bkJDLG1CQUdBQyxNQUNJQyxHQUFjLE9BQ2RDLEtBQWMsY0FDZEMsPQpZQUFjLHNaQVNsQkMsZ0JB
RUFDLFdBQVksU0FBU0MsR0FDbkJDLEtBQUtELFFBQVVFLEVBQUVyQixTQUFVbUIsTUFBZUMsS0FB
S3A9CkIsVUFDL0NvQixLQUFLRSxxQkFDTEYsS0FBS0csVUFHUEEsT0FBUSxTQUFTSixHQUNmQyxL
QUFLRCxRQUFVRSxFQUFFOUIsT0FBUT0KNkIsS0FBS0QsUUFBU0EsRUFDdkMsSUFBSUssR0FBbUJK
LEtBQUtLLGtCQUN4QkMsR0FDQVosR0FBSU0sS0FBS0QsUUFBUUwsR0FDPQpqQmEsVUFBVSxFQUNW
QyxXQUFXLEVBQ1hDLDZCQUE2QixFQUU3QkMsUUFBT0MsV0FDVEwsRUFBa0JDLFNBQVdHLE9BQU9D
LFNBQVM9CkMsVUFDN0NOLEVBQWtCRSxVQUFZRSxPQUFPQyxTQUFTRSxlQUNDLE9BQTFDSCxPQUFP
SSxPQUFPQyx5QkFBb0NMLE9BQU9JLE9BQT0KT0UsNEJBQTZCLEdBQThDLE9BQXJDTixPQUFPSSxP
QUFPRyxzQkFDdkhYLEVBQWtCRyw2QkFBOEIsSUFHcERULEtBQUtrQixJQUFJPQpDLEtBQUtmLEVB
QWlCRSxLQU9qQ2MsZ0JBQWlCLFNBQVVyQixHQUN2QkMsS0FBS0QsUUFBVUUsRUFBRTlCLE9BQVE2
QixLQUFLRCw9ClFBQVNBLEVBQ3ZDLElBQUlzQixHQUFxQnJCLEtBQUtzQixtQkFDOUJ0QixNQUFL
a0IsSUFBSUssS0FBTSxxQkFBc0JKLEtBQU1FLD0KR0FDdkMzQixHQUFJTSxLQUFLRCxRQUFRTCxH
QUNqQjhCLFVBQVdDLFNBQVV6QixLQUFLRCxRQUFReUIsV0FDbENFLFdBQVlELFNBPQpBVXpCLEtB
QUtELFFBQVEyQixZQUNuQ0Msa0JBQW1CM0IsS0FBS0QsUUFBUTRCLGtCQUNoQ0MsWUFBYTVCLEtB
QUtELFFBQVE2Qiw9CmdCQUlsQ0Msa0JBQW1CLFNBQVM5QixHQUMxQkMsS0FBS0QsUUFBVUUsRUFB
RTlCLE9BQU82QixLQUFLRCxRQUFTQSxHQUVsQ0MsSz0KQUFLRCxRQUFRbEIsd0JBQXlCLEVBQ3hD
aUQsRUFBRSxzQkFBc0JDLE9BRXhCRCxFQUFFLHNCQUFzQkUsT0FFdEJoQyxLQUFLRCxRPQpBQVFq
QiwyQkFBNEIsR0FDdkM0QixPQUFPQyxTQUNKRCxPQUFPQyxTQUFTRSxlQUluQmlCLEVBQUUseUJB
QXlCQyxPQUMzQkQsRUE9CkFFLGdDQUFnQ0UsU0FKbENGLEVBQUUsZ0NBQWdDQyxPQUNsQ0QsRUFB
RSx5QkFBeUJDLFNBVS9CRCxFQUFFLGdDQUFnQ0UsT0FDbD0KQ0YsRUFBRSx5QkFBeUJFLFFBRTdC
aEMsS0FBS2tCLElBQUlLLEtBQUssaUJBQWlCVSxXQUlqQ0Msc0JBQXVCLFNBQVVDLEdBQy9CPQpB
LEVBQU1DLGlCQUNORCxFQUFNRSxpQkFHTixJQUFJQyxHQUFPdEMsS0FDUHVDLEVBQVd2QyxLQUFL
d0MsMEJBQ3BCeEMsTUFBS2I9CixNQUFRdUIsT0FBT3ZCLE1BQ3BCYSxLQUFLYixNQUFNNEMsTUFD
UFUsZ0JBQWtCLEVBQ2xCQyxNQUFrQixvQkFDbEJDLEtBQWtCSj0KLElBQ2xCSyxTQUNJQyxPQUFj
LFdBQVlQLEVBQUtRLDJCQUMvQkMsTUFBYyxXQUFZckMsT0FBT3ZCLE1BQU02QyxZQU1qRGMsd0JB
PQpBeUIsV0FDckIsR0FBSUUsR0FBZ0JoRCxLQUFLaUQsc0JBQ3pCLElBQUlqRCxLQUFLa0Qsb0JB
QW9CRixHQUFlLENBQ3hDLEdBQUk9CkcsR0FBUyxHQUFJckYsR0FBa0JzRixhQUNuQ0MsV0FBWXBG
LFNBQVNxRixRQUFRQyxTQUFTQyxNQUFNLEtBQzVDQyxrQkFBb0JKLD0KVUFBVUEsVUFBVUssT0FB
TyxHQUMvQ1AsRUFBT1EsSUFBTVIsRUFBT1MsUUFBVUgsa0JBRTlCTixFQUFPVSxLQUFLYixHQUNW
YyxRPQpBQVMsU0FBVVgsR0FDakJ6QyxPQUFPdkIsTUFBTTZDLE9BQ2JuRSxFQUFXaUcsUUFBUSxt
QkFDbkJYLEVBQU9ZLEtBQUtDLEtBQVM9CixXQUNyQnRELE9BQU91RCxVQUFVQyxlQUFlQyxXQUFX
QyxJQUFJakIsSUFFakRrQixNQUFPLFNBQVNDLEVBQU9DLEdBQ3JCN0QsTz0KQUFPdkIsTUFBTTZD
LE9BRVhuRSxFQUFXd0csTUFEd0IsbUJBQTFCRSxHQUFTQyxhQUNERCxFQUFTQyxhQUFhQyxRQUV0
Qiw0QkFLPQp2QjVHLEdBQVd3RyxNQUFNLDRCQUVyQixRQUFPLEdBSVhwQixxQkFBdUIsV0FDbkIs
T0FDSXlCLEtBQU01QyxFQUFFLHNCQUFzQjY9CkMsTUFDOUIvRSxZQUFha0MsRUFBRSw2QkFBNkI2
QyxRQUtwRHpCLG9CQUFxQixTQUFTRixHQUMxQixNQUE4QixLQUF2QkEsRUFBYz0KMEIsTUFLekJF
LGdCQUFrQixXQUNkLEdBQUlDLEdBQWdCL0MsRUFBRSxpQkFBaUJQLEtBQUssV0FDaEIsS0FBekJz
RCxFQUFjbkIsPQpPQUNiN0YsRUFBV2lILEtBQUssd0NBRWhCOUUsS0FBSytFLHlCQUF5QixTQUFT
QyxHQUNyQyxHQUFJekMsR0FBV3lDLEVBQUtDLDI9CkJBQ3BCRCxHQUFLN0YsTUFBUXVCLE9BQU92
QixNQUNwQjZGLEVBQUs3RixNQUFNNEMsTUFDUFUsZ0JBQWtCLEVBQ2xCQyxNQUFrQj0KLHNCQUNs
QkMsS0FBa0JKLEdBQVVsRCxVQUFZMkYsRUFBSzNGLFVBQVU2RixTQUN2RHRDLFNBQ0l1QyxPQUFj
LFdBQVlILEVBQUtJPQosd0JBQy9CckMsTUFBYyxXQUFZckMsT0FBT3ZCLE1BQU02QyxjQU96RCtD
LHlCQUEwQixTQUFTTSxHQUNqQyxHQUFJTCxHQUFPaEY9CixJQUNYQSxNQUFLWCxVQUFZLEdBQUl2
QixHQUFrQndILGdCQUN2Q3RGLEtBQUtYLFVBQVVrRyxPQUNiekIsUUFBUyxXQUNQdUIsRT0KQUFT
TCxJQUVYWCxNQUFPLFNBQVNDLEVBQU9DLEdBRW5CMUcsRUFBV3dHLE1BRHdCLG1CQUExQkUsR0FB
U0MsYUFDREQsRUFBU0MsPQphQUFhQyxRQUV0Qix5QkFTekJXLHFCQUF1QixXQUNyQnBGLEtBQUti
LE1BQU1xRyxjQUFjLFNBQ3pCLElBQUlDLEdBQWEzRCxFQUE9CkUsb0RBQW9ENkMsTUFDbkVlLEVB
QWU1RCxFQUFFLG9EQUFvRG5DLE1BRXpFSyxNQUFLRCxRQUFRNEYscUJBQXVCRixDQUNwQyxJQT0K
QUlHLE1BQ0FDLElBQ0ovRCxHQUFFLGlCQUFpQlAsS0FBSyxZQUFZdUUsS0FBSyxXQUNPLEtBQXhD
OUYsS0FBSytGLGNBQWNBLGNBPQpBY3JHLElBQWFNLEtBQUsrRixjQUFjQSxjQUFjQyxVQUFVQyxT
QUFTLGVBQ2xHTCxFQUFZTSxLQUFLbEcsS0FBSytGLGNBQWNBLGM9CkFBY3JHLElBQ0gsS0FBeENN
LEtBQUsrRixjQUFjQSxjQUFjckcsSUFBYU0sS0FBSytGLGNBQWNBLGNBQWNDLFVBQVVDLFNBQVMs
ZT0KQUN6R0osRUFBV0ssS0FBS2xHLEtBQUsrRixjQUFjQSxjQUFjckcsS0FLekQsS0FBSyxHQURE
eUcsTUFDS0MsRUFBSVIsRUFBWWxDPQosT0FBUyxFQUFHMEMsR0FBSyxFQUFHQSxJQUFLLENBQzlD
LEdBQUlDLEdBQXFCVCxFQUFZUSxHQUNqQ0UsRUFBYyxHQUFJeEksR0E9CkFrQnlJLFdBQ3hDRCxH
QUFZM0MsSUFBTTJDLEVBQVkxQyxRQUFVNkIsRUFBYSxZQUNyRGEsRUFBWUUsUUFBVUgsRUFDdEJD
LEVBQT0KWUcsT0FBUyxVQUNyQk4sRUFBbUJELEtBQUtJLEdBSzVCLElBQUssR0FBSUYsR0FBSVAs
RUFBV25DLE9BQVMsRUFBRzBDLEdBQUssPQpFQUFHQSxJQUFLLENBQzdDLEdBQUlNLEdBQW9CYixF
QUFXTyxHQUMvQkUsRUFBYyxHQUFJeEksR0FBa0J5SSxXQUN4Q0QsR0FBWTM9CkMsSUFBTTJDLEVB
QVkxQyxRQUFVNkIsRUFBYSxZQUNyRGEsRUFBWUUsUUFBVUUsRUFDdEJKLEVBQVlHLE9BQVMsaUJB
Q3JCTixFQT0KQW1CRCxLQUFLSSxHQUc1QnRHLEtBQUsyRyxzQkFBd0JqRCxPQUFReUMsRUFBbUJ6
QyxPQUFRa0QsT0FBUSxhQUFjbEIsYUFBY0EsPQpJQUdwR21CLE9BQU9DLFFBQVNDLGNBQWNDLEtB
QU8sNkJBQStCdkIsR0FDcEV6RixLQUFLaUgsOEJBQStCZCxFQUFvQlQsSUFNMUQ9CndCLGVBQWdC
LFdBQ1psSCxLQUFLbUgsVUFBWW5ILEtBQUtvSCxhQUN0QnRGLEVBQUcsd0JBQXlCdUYsTUFBT0Ms
S0FBS0MsTUFBTz0KdkgsS0FBS21ILFVBQWEsS0FDakVLLG1CQUFxQkYsS0FBS0MsTUFBT3ZILEtB
QUttSCxVQUFhLGFBQ25EckYsRUFBRyxvQkFBcUJuPQpDLEtBQU02SCxxQkFRbENDLFNBQVcsU0FB
VUMsRUFBV0MsR0FDOUIsR0FBSS9CLE1BQ0FDLElBQ0EvRCxHQUFHLGlCQUFrQlAsS0E9CkFNLFlB
QWF1RSxLQUFNLFdBQ0csS0FBeEM5RixLQUFLK0YsY0FBY0EsY0FBY3JHLElBQWFNLEtBQUsrRixj
QUFjQSxjQUFjQyxVQT0KQVVDLFNBQVMsZUFDbkdMLEVBQVlNLEtBQU1sRyxLQUFLK0YsY0FBY0Es
Y0FBY3JHLElBQ0gsS0FBeENNLEtBQUsrRixjQUFjQSxjPQpBQWNyRyxJQUFhTSxLQUFLK0YsY0FB
Y0EsY0FBY0MsVUFBVUMsU0FBUyxlQUMxR0osRUFBV0ssS0FBTWxHLEtBQUsrRixjQUFjQSw9CmNB
QWNyRyxLQUc5RCxJQUFJaUUsSUFBUWlFLE9BQU9iLGNBQWdCQSxjQUFjQyxLQUFPLEtBQVEsbUNB
QXFDVyxFQUNqR0UsR0FBUz0KQyxPQUFXbEMsRUFBYUMsV0FBZUEsRUFDcEQ3RixNQUFLK0gsZ0JB
QWlCcEUsRUFBS2tFLEVBQU0sUUFVbkNFLGdCQUFpQixTQUFVPQpwRSxFQUFLa0UsRUFBTUcsR0FD
cEMsR0FBS3JFLEdBQU9rRSxFQUFNLENBRWhCQSxFQUF1QixnQkFBVEEsR0FBb0JBLEVBQU8vRiw9
CkVBQUVtRyxNQUFPSixFQUVsRCxJQUFJSyxHQUFTLEVBQ2JwRyxHQUFFZ0UsS0FBTStCLEVBQUty
RSxNQUFPLEtBQU8sV0FDbkIsRz0KQUFJMkUsR0FBT25JLEtBQUt3RCxNQUFPLElBQ3ZCMEUsSUFB
USw4QkFBK0JDLEVBQUssR0FBSSxZQUFhQSxFQUFLLEdBQUksU0FHPQo5RXJHLEVBQUUsaUJBQWtC
NkIsRUFBSyxjQUFlcUUsR0FBUSxRQUFTLEtBQUtFLEVBQU8sV0FDcEVFLFNBQVUsUUFBU0MsU0FB
U0M9CixTQUM3QnpLLEVBQVdpSCxLQUFNLHNDQUVqQmpILEdBQVd3RyxNQUFPLHVCQUl0QmtFLHlC
QUEwQixXQUN4QnZJLEtBQUsrRSx5Qj0KQUEwQixTQUFVekMsR0FDdkNBLEVBQUtuRCxNQUFRdUIs
T0FBT3ZCLEtBQ3BCLElBQUlxSixHQUFpQmxHLEVBQUttRyw4QkFDdEJDPQosRUFBY3BHLEVBQUt2
QyxRQUFRNEksVUFBVXJHLEVBQUt2QyxRQUFRNEksVUFBVWpGLE9BQVMsR0FBRyxFQUM1RXBCLEdB
QUtuRCw9Ck1BQU00QyxNQUNQVSxnQkFBa0IsRUFDbEJDLE1BQWtCLCtDQUFpRGdHLEVBQ25FL0Ys
S0FBa0I2RixHQUFnQm5KLFVBQVdpRCxFQT0KQUtqRCxVQUFVNkYsU0FDNUR0QyxTQUNJZ0csSUFB
YyxXQUFZdEcsRUFBS3VHLDZCQUMvQjlGLE1BQWMsV0FBWXJDLE9BQU92QixNPQpBQU02QyxTQUUz
QzhHLGlCQUFrQixXQUNoQnBJLE9BQU91RCxVQUFVOEUsZUFBZUMsVUFLbEMxRyxFQUFLakQsVUFB
VTZGLE9BQU89CnhCLE9BQVMsR0FDakNwQixFQUFLMkcsK0JBQStCM0csRUFBS2pELFVBQVU2RixP
QUFPLEdBQUd4RixJQUM3RG9DLEVBQUcscUJBQT0Kc0JvSCxPQUFPLFNBQVMvRyxHQUN2Q0csRUFB
SzJHLCtCQUErQjlHLEVBQU1nSCxPQUFPQyxVQUduRHZMLEVBQVd3RyxNQUFPLHdCPQpBU3hCZ0Ys
eUJBQTBCLFdBQ3hCLEdBQUlyRSxHQUFPaEYsSUFDWEEsTUFBS2IsTUFBUXVCLE9BQU92QixLQUNw
QixJQUFJcUosR0E9CkFpQnhJLEtBQUtzSix5QkFDMUJ0SixNQUFLYixNQUFNNEMsTUFDUFUsZ0JB
QWtCLEVBQ2xCQyxNQUFrQiwrQkFDbEJDLEtBQWtCNj0KRixNQUNsQjVGLFNBQ0l1QyxPQUFjLFdB
QWFILEVBQUt1RSx1QkFBdUJ2RSxJQUN2RGpDLE1BQWMsV0FBYXJDLE9BQU92QixNQUFNPQo2QyxT
QUU1QzhHLGlCQUFrQixXQUVoQnBJLE9BQU91RCxVQUFVOEUsZUFBZVMsU0FBVSxXQUFheEUsRUFB
S3RGLElBQU0rSixTQUE9ClMsT0FHakZ6SixLQUFLMEoscUJBT1B4SixtQkFBb0IsV0FDbEIsR0FB
SThFLEdBQU9oRixJQUNYcEMsR0FBVStMLEtBQ05oRyxLQT0KQWNpRSxPQUFPYixjQUFnQkEsY0FB
Y0MsS0FBTyxLQUFRLHFDQUNsRWxELFFBQVksU0FBVThGLEdBQ04sSUFBS0MsTUFBT0QsR0FDPQpS
NUUsRUFBS3hGLGdCQUFnQjBHLE1BQ2pCeEcsR0FBa0JrSyxFQUFVQyxLQUFLQyxVQUNqQ25LLEtB
QWtCaUssRUFBVUMsS0FBS0M9CixVQUNqQ2xLLFlBQWtCZ0ssRUFBVUMsS0FBS2pLLFlBQ2pDbUss
Z0JBQWtCSCxFQUFVQyxLQUFLRSxpQkFHekMvRSxHQUFLeEYsZz0KQkFBZ0J3SyxLQUFLLFNBQVND
LEVBQUdDLEdBQ2xDLE1BQU9ELEdBQUV2SyxHQUFLd0ssRUFBRXhLLEdBQUssRUFBSXVLLEVBQUV2
PQpLLEdBQUt3SyxFQUFFeEssR0FBSyxHQUFLLElBRWhEc0YsRUFBS3hGLGdCQUFnQjJLLFFBQVFu
RixFQUFLdkYsU0FHdEQ3QixFQUE9ClUrTCxLQUNOaEcsS0FBVWlFLE9BQU9iLGNBQWdCQSxjQUFj
QyxLQUFPLEtBQVEsY0FDOURsRCxRQUFTLFNBQVVzRyxHQUNQLElBQT0KTVAsTUFBT08sR0FDVHBG
LEVBQUtuRixhQUFhcUcsTUFDZHhHLEdBQVUwSyxFQUFRUCxLQUFLLEdBQ3ZCbEssS0FBVXlLLEVB
QVFQPQosS0FBSyxJQUcvQjdFLEdBQUtuRixhQUFhbUssS0FBSyxTQUFTQyxFQUFHQyxHQUMvQixN
QUFPRCxHQUFFdkssR0FBS3dLLEVBQUU9CnhLLEdBQUssRUFBSXVLLEVBQUV2SyxHQUFLd0ssRUFB
RXhLLEdBQUssR0FBSyxRQU1sRWdLLGtCQUFtQixXQUtqQixHQUFJMUUsRz0KQUFPaEYsSUFDWEEs
TUFBS1YsY0FBZ0IsR0FBSXZCLEdBQVdHLE1BQ2hDbU0sSUFBSyx3QkFDTHhDLEtBQU03QyxFQUFL
bkYsYUFDPQpYeUssVUFBVzVKLE9BQU92QixNQUFNK0IsSUFBSUssS0FBTSwwQkFDbEM2SCxNQUFP
LE1BRVhwSixLQUFLVCxpQkFBbUIsR0FBSXg9CkIsR0FBV0csTUFDckNtTSxJQUFLLDJCQUNMeEMs
S0FBTTdDLEVBQUt4RixnQkFDWDhLLFVBQVc1SixPQUFPdkIsTUFBTStCLElBQT0KSUssS0FBTSw2
QkFDbEM2SCxNQUFPLFVBUVhtQixpQ0FBa0MsU0FBVXhLLEdBQzFDLEdBQUlpRixHQUFPaEYsS0FD
UHdJLEVBQWlCPQp4SSxLQUFLd0ssc0JBQzFCeEssTUFBS2IsTUFBUXVCLE9BQU92QixNQUNwQmEs
S0FBS2IsTUFBTTRDLE1BQ1RVLGdCQUFrQixFQUM9CmxCQyxNQUFrQixpQ0FDbEJDLEtBQWtCNkYs
TUFDbEI1RixTQUNJdUMsT0FBYyxXQUNaSCxFQUFLeUYscUJBQXNCekYsRUFBTWpGLD0KSUFFbkNn
RCxNQUFjLFdBQ1pyQyxPQUFPdkIsTUFBTTZDLFNBR25COEcsaUJBQWtCLFdBRWhCcEksT0FBT3VE
LFVBQVU4RSxlQUFlPQpTLFNBQVMsV0FBYXhFLEVBQUt0RixJQUFLK0osU0FBUyxPQUk3RXpKLEtB
QUswSixvQkFDTDNKLEVBQVFiLHdCQUEwQixVQUNsQ2M9CixLQUFLMEssYUFBYzNLLEdBRW5CK0Is
RUFBRyxxQkFBc0JvSCxPQUFRLFNBQVUvRyxHQUNiLDJCQUF0QkEsRUFBTWdILE9BQU9DLD0KT0FD
ZnJKLEVBQVFiLHdCQUEwQixVQUNsQzhGLEVBQUswRixhQUFjM0ssR0FDbkIrQixFQUFFLDJCQUEy
QkUsT0FDN0JGLEVBQUUsPQo4QkFBOEJFLE9BQ2hDRixFQUFFLHNCQUFzQkUsT0FDeEJGLEVBQUUs
eUJBQXlCQyxRQUNLLHlCQUF0QkksRUFBTWdILE9BQU9DLFE9CkFDdkJ0SCxFQUFFLHlCQUF5QkUs
T0FDM0JGLEVBQUUsMkJBQTJCQyxPQUM3QkQsRUFBRSxzQkFBc0JDLE9BQ3hCRCxFQUFFLDhCQT0K
QThCQyxPQUNoQ2hDLEVBQVFiLHdCQUEwQixRQUNsQzhGLEVBQUswRixhQUFjM0ssT0FZM0IySyxh
QUFjLFNBQVUzSyxHQUV0QkMsPQpLQUFLRCxRQUFVRSxFQUFFOUIsT0FBUTZCLEtBQUtELFFBQVNB
LEVBQ3ZDLElBQUlvSixHQUFTcEosRUFBUTBHLFFBQVUsVUFDM0I9CnZILEVBQTBCYyxLQUFLRCxR
QUFRYix1QkFDM0NjLE1BQUtaLE9BQVMsR0FBSXRCLEdBQWtCNk0sT0FDcEMzSyxLQUFLWixPQUFP
dT0KRSxJQUFNM0QsS0FBS1osT0FBT3dFLFFBQ1YsV0FBYXVGLEVBQ2IsMEJBQ2NqSyxFQUNsQ2Ms
S0FBS1osT0FBT21HLE9BQ1Z6QixRPQpBQVMsU0FBU1EsR0FFaEI1RyxPQUFRLFNBQVUsV0FBWSxN
QUFPbUosVUFFckMrRCxTQUFVLHNCQUF3QixXQUNoQzlJLEVBQUUsbUI9CkFBbUIxQyxPQUFPLFdB
QzVCMEMsRUFBRSxtQkFBbUIxQyxRQUNuQnlMLE1BQ0VoRCxLQUFRdkQsR0FFVndHLFNBQVksUUFB
UyxZQT0KQ3JCQyxPQUNFNUgsUUFDRTZILEtBQVEsaUJBRVZDLE1BQ0VELEtBQVEsZ0JBR1pFLFVB
Q0VDLGFBQWEsUUFLckI5RyxNQUFPLFNBPQpBU0MsRUFBT0MsR0FFbkIxRyxFQUFXd0csTUFEd0Is
bUJBQTFCRSxHQUFTQyxhQUNERCxFQUFTQyxhQUFhQyxRQUV0Qix5QkFXekI9CjhFLHVCQUF3QixX
QUN0QixHQUFJNkIsR0FBZ0JwTCxLQUFLYixNQUFNK0IsSUFBSUssS0FBSyxzQkFBc0I4SixHQUFH
LFlBQzdEQz0KLEVBQVl0TCxLQUFLYixNQUFNK0IsSUFBSUssS0FBSyxrQkFBa0I4SixHQUFHLFlB
Q3JERSxFQUFZdkwsS0FBS1QsaUJBQWlCNkosPQpRQUNsQ29DLEVBQVF4TCxLQUFLVixjQUFjOEos
UUFDM0JxQyxFQUFRM0osRUFBRSx5QkFBeUI2QyxNQUNuQytHLElBQ0osSUFBS0Q9CixFQUVFLENB
Q0x6TCxLQUFLYixNQUFNcUcsY0FBYyxVQUN6QmlHLEVBQVFBLEVBQU1qSSxNQUFNLEtBQ3BCLEtB
QUssR0FBSTRDLD0KR0FBSXFGLEVBQU0vSCxPQUFTLEVBQUcwQyxHQUFLLEVBQUdBLElBQ3JDdUYs
UUFBVUYsRUFBTXJGLEdBQUd3RixPQUNFLElBQWpCPQpELFFBQVFqSSxRQUNWZ0ksRUFBWXhGLEtB
QUt5RixRQUdyQjNMLE1BQUsyRyxzQkFBd0JqRCxPQUFRZ0ksRUFBWWhJLE9BQVFrRCw9Ck9BQVEs
b0JBQ2pFNUcsS0FBSzZMLDJCQUE2QkosTUFBT0MsRUFDUE4sY0FBZUEsRUFDZkUsVUFBV0EsRUFD
WDdFLE9BQVEsYUFDUj0KOEUsVUFBV0EsRUFDWEMsTUFBT0EsUUFoQnpDM04sR0FBV2lILEtBQUss
aURBeUJwQjZCLHFCQUFzQixTQUFVNUcsR0FDOUIsR0FBPQpJd0MsRUFDSixRQUFReEMsRUFBUTZH
LFFBQ2QsSUFBSyxrQkFDSHJFLEVBQVd2QyxLQUFLOEwsb0NBQ2hCOUwsS0FBS2IsTUFBTSs9CkIs
SUFBSUssS0FBTSxlQUFnQkosS0FBTW9CLEdBQVltRyxZQUFjMUksS0FBS0QsUUFBUTJJLGNBQ2xG
LE1BQ0YsS0FBSyxvQkFDSD0KbkcsRUFBV3ZDLEtBQUsrTCxzQ0FDaEIvTCxLQUFLYixNQUFNK0Is
SUFBSUssS0FBTSxlQUFnQkosS0FBTW9CLElBQzNDLE1BQ0YsPQpLQUFLLGFBQ0hBLEVBQVd2QyxL
QUFLZ00sdUNBQ2hCaE0sS0FBS2IsTUFBTStCLElBQUlLLEtBQU0sZUFBZ0JKLEtBQU1vQixHQUE9
ClltRCxhQUFlM0YsRUFBUTJGLGVBQzlFLE1BQ0YsU0FDRXVHLFFBQVE1SCxNQUFPLDJCQU1uQnJF
LEtBQUttSCxTQUFXLEVBQ2hCbj0KSCxLQUFLb0gsYUFBZSxJQUFNckgsRUFBUTJELE9BQ2xDMUQs
S0FBS0QsUUFBUWhCLG1CQUFtQkMsYUFBZWUsRUFBUTJELE9BQ3ZEPQoxRCxLQUFLRCxRQUFRaEIs
bUJBQW1CRSxjQUFnQixHQVdsRHdMLHFCQUFzQixTQUFXekYsRUFBTWpGLEdBQ3JDLEdBQUltTSxH
QUE9CmlCcEssRUFBRyxtQkFBb0IxQyxTQUFTK00sY0FBYyxHQUMvRGYsRUFBZ0JwTCxLQUFLYixN
QUFNK0IsSUFBSUssS0FBTSxzQkFBdT0KQjhKLEdBQUksWUFDaEVDLEVBQVl0TCxLQUFLYixNQUFN
K0IsSUFBSUssS0FBTSxrQkFBbUI4SixHQUFJLFlBQ3hERSxFQUFZdkwsPQpLQUFLVCxpQkFBaUI2
SixRQUNsQ29DLEVBQVF4TCxLQUFLVixjQUFjOEosUUFDM0JnRCxFQUFpQkYsRUFBZSxHQUFHbEks
S0FDbkM9CnlILElBQ0osSUFBS1MsRUFBZXhJLE9BQVMsRUFDM0I3RixFQUFXaUgsS0FBTSx1Q0FD
WixDQUNMOUUsS0FBS2IsTUFBTXFHLGNBQT0KZSxTQUMxQixLQUFNLEdBQUlZLEdBQUk4RixFQUFl
eEksT0FBUyxFQUFHMEMsR0FBSyxFQUFHQSxJQUNGaUcsU0FBeENILEVBQWU5PQpGLEdBQUdrRyxR
QUFRM0QsV0FDN0I4QyxFQUFNdkYsS0FBTWdHLEVBQWU5RixHQUFHa0csUUFBUTNELFVBSTFDLElB
REEzSSxLQUE9CksyRyxzQkFBd0JqRCxPQUFRK0gsRUFBTS9ILE9BQVFrRCxPQUFRLG9CQUNuQyxX
QUFuQndGLEVBQTZCLENBQ2hDLEdBQUlHLEdBQT0KY3hNLEVBQVEwRyxPQUFTLFNBQ25DekcsTUFB
SzZMLDJCQUE2QkosTUFBT0EsRUFDUEwsY0FBZUEsRUFDZkUsVUFBV0EsRUFDWDdFPQosT0FBUThG
LEVBQ1JoQixVQUFXQSxFQUNYQyxNQUFPQSxRQUNwQyxJQUF3QixTQUFuQlksRUFBMkIsQ0FDckMs
R0FBSUcsR0FBY3g9Ck0sRUFBUTBHLE9BQVMsT0FDbkN6RyxNQUFLd00sZ0NBQWtDZixNQUFRQSxF
QUNSRixVQUFXQSxFQUNYQyxNQUFPQSxFQUNQL0UsTz0KQUFROEYsT0FLckR0RCwrQkFBZ0MsU0FB
U3hELEdBQ3ZDLEdBQUlnSCxHQUFtQixHQUFJM08sR0FBa0I0TyxpQkFBaUJoTixHQUFHPQorRixJ
QUM3RG5ELEVBQU90QyxJQUNYeU0sR0FBaUJsSCxPQUNmekIsUUFBUyxTQUFTMkksR0FDaEIsR0FB
SUUsR0FBNEJySyxFQUE9CktzSyx5QkFDckN0SyxHQUFLakQsVUFBVXNLLElBQUlsRSxHQUFZMUIs
S0FBSzhJLFNBQWFKLElBQ2pEbkssRUFBS25ELE1BQU0rQj0KLElBQUlLLEtBQUssNkJBQTZCSixL
QUFLd0wsR0FBMkJGLGlCQUFrQkEsRUFBaUJ2SCxPQUFPNEgsY0FFN0h6SSxNQUFPLFNBQVNDPQos
RUFBT0MsR0FFbkIxRyxFQUFXd0csTUFEd0IsbUJBQTFCRSxHQUFTQyxhQUNERCxFQUFTQyxhQUFh
QyxRQUV0Qix5QkFTekJvRSw9CjBCQUE0QixXQUMxQixHQUFJa0UsR0FBZS9NLEtBQUtiLE1BQU0r
QixJQUFJSyxLQUFNLDZCQUE4QkEsS0FBTSxZQUN4RXlMLEtBQz0KQUMsSUFDSixJQUFLRixFQUFh
ckosT0FBUyxFQUN6QjdGLEVBQVdpSCxLQUFNLDRDQUNaLENBQ0w5RSxLQUFLYixNQUFNcUcsY0FB
PQplLE9BQzFCdUgsRUFBYWpILEtBQUssV0FDaEIsR0FBSW9ILEdBQU1wTCxFQUFHOUIsS0FBSytG
LGVBQWdCOEIsS0FBTSxLQUNqQ3E9CkYsSUFDSEYsRUFBb0I5RyxLQUFNZ0gsSUFHaEMsS0FBTSxH
QUFJOUcsR0FBSTRHLEVBQW9CdEosT0FBUyxFQUFHMEMsR0FBSyxFQT0KQUdBLElBQU0sQ0FDMUQr
RyxtQkFBcUJILEVBQW9CNUcsRUFDekMsSUFBSWdILEdBQWMsR0FBSXRQLEdBQWtCdVAsSUFDeENE
LEdBPQpBWXpKLEtBQVFpRSxPQUFPYixjQUFnQkEsY0FBY0MsS0FBTyxLQUFRLGVBQWlCaEgsS0FB
S0QsUUFBUUwsR0FBSyxZQUMzRzBOLEU9CkFBWXJKLEtBQU91SixZQUFjSCxxQkFDakNGLEVBQVkv
RyxLQUFNa0gsR0FFcEJwTixLQUFLMkcsc0JBQXdCakQsT0FBUXVKLEVBQT0KWXZKLE9BQVFrRCxP
QUFRLG9CQUNqRTVHLEtBQUt1TixvQkFBcUJOLEtBVTlCaEcsOEJBQStCLFNBQVV1RyxFQUFrQjlI
LEdBQ3pEPQosR0FBSXBELEdBQU90QyxLQUNQeU4sRUFBY0QsRUFBaUJFLEtBQ25DLElBQTJCLG1C
QUFmRCxHQVNWLE1BUnVELEtBQWxEek4sS0E9CkFLRCxRQUFRaEIsbUJBQW1CRSxjQUNuQ3BCLEVB
QVdpRyxRQUFTLDZFQUE4RSxJQUFNNkosUUFBUyxXQUFhL0YsT0FBT2dHLFNBQT0KUyxPQUNwSTVO
LEtBQUtELFFBQVFoQixtQkFBbUJFLGdCQUFrQmUsS0FBS0QsUUFBUWhCLG1CQUFtQkMsYUFDNUZu
QixFQUFXd0csPQpNQUFPLGtFQUNSckUsS0FBS0QsUUFBUWhCLG1CQUFtQkUsY0FBZ0JlLEtBQUtE
LFFBQVFoQixtQkFBbUJDLGNBQzFGbkIsRUFBV2c9ClEsUUFBUyxnR0FBaUcsSUFBTUYsUUFBUyxX
QUFhL0YsT0FBT2dHLFNBQVMsT0FFbktsTixPQUFPdkIsTUFBTTZDLFFBQ04sQ0FFVD0KLElBQUk4
TCxHQUFVaE0sRUFBRWlNLEtBQU1OLEVBQVk1SixNQUFRMkMsUUFBU2lILEVBQVlqSCxRQUFTQyxP
QUFRZ0gsRUFBWWhIPQosU0FFNUZxSCxHQUFRRSxLQUFNLFdBQ0oxTCxFQUFLNEUsaUJBQ0w1RSxF
QUFLMkUsOEJBQStCdUcsRUFBa0I5SCxLQUV2RHVJLEs9CkFBTSxXQUNMM0wsRUFBS3ZDLFFBQVFo
QixtQkFBbUJFLGVBQWlCLEVBQ2pEcUQsRUFBSzRFLGlCQUNMNUUsRUFBSzJFLDhCQUErQj0KdUcs
RUFBa0I5SCxNQVNsRThHLCtCQUFnQyxTQUFVek0sR0FFeEMsR0FBSWlGLEdBQU9oRixLQUNQeU4s
RUFBYzFOLEVBQVEwTCxNPQpBQU1pQyxLQUNoQyxJQUE0QixtQkFBaEJELEdBT1YsTUFOdUQsS0FB
bER6TixLQUFLRCxRQUFRaEIsbUJBQW1CRSxlQUNuQ3BCLEU9CkFBV2lHLFFBQVMsbURBQ3BCcEQs
T0FBT3ZCLE1BQU02QyxRQUVibkUsRUFBV3dHLE1BQU8sc0JBRWIsQ0FFVCxJQUFJeUosR0FBVT0K
aE0sRUFBRWlNLEtBQU1qTSxFQUFFb00sTUFBUXRHLE9BQU9iLGNBQWdCQSxjQUFjQyxLQUFPLEtB
QVEsNENBQThDaEMsRUFBS3RGPQosR0FDcEYsV0FBYUssRUFBUTBHLE9BQ3JCLFNBQVdnSCxFQUNY
LGNBQWdCMU4sRUFBUXdMLFVBQ3hCLFVBQVl4TCxFQUFReUwsT0E9CkN2RXNDLEdBQVFFLEtBQU0s
V0FDSmhKLEVBQUtrQyxpQkFDTGxDLEVBQUt3SCwrQkFBZ0N6TSxLQUV0Q2tPLEtBQU0sV0FDTGpK
LD0KRUFBS2pGLFFBQVFoQixtQkFBbUJFLGVBQWlCLEVBQ2pEK0YsRUFBS2tDLGlCQUNMbEMsRUFB
S3dILCtCQUFnQ3pNLE1BYWpEOEwsPQowQkFBMkIsU0FBVTlMLEdBRW5DLEdBQUlpRixHQUFPaEYs
S0FDUHlOLEVBQWMxTixFQUFRMEwsTUFBTWlDLEtBQ2hDLElBQTBCLG09CkJBQWZELEdBUVQsTUFQ
c0QsS0FBbER6TixLQUFLRCxRQUFRaEIsbUJBQW1CRSxlQUNsQ3BCLEVBQVdpRyxRQUFRLHlFQUNu
QnBELD0KT0FBT3ZCLE1BQU02QyxRQUdibkUsRUFBV3dHLE1BQU0sc0JBRVosQ0FFVCxJQUFJeUos
R0FBVWhNLEVBQUVpTSxLQUFNak0sRUFBPQpFb00sTUFBUXRHLE9BQU9iLGNBQWdCQSxjQUFjQyxL
QUFPLEtBQVEsNENBQThDaEMsRUFBS3RGLEdBQ2pGLFdBQWFLLEVBQVEwRyw9Ck9BQ3JCLFNBQVdn
SCxFQUNYLGtCQUFvQjFOLEVBQVFxTCxjQUM1QixjQUFnQnJMLEVBQVF1TCxVQUN4QixjQUFnQnZM
LEVBQVF3TD0KLFVBQ3hCLFVBQVl4TCxFQUFReUwsT0FDMUVzQyxHQUFRRSxLQUFLLFdBQ0hoSixF
QUFLa0MsaUJBQ0xsQyxFQUFLNkcsMEJBQTJCPQo5TCxLQUVqQ2tPLEtBQUssV0FDSmpKLEVBQUtq
RixRQUFRaEIsbUJBQW1CRSxlQUFpQixFQUNqRCtGLEVBQUtrQyxpQkFDTGxDLEU9CkFBSzZHLDBC
QUEyQjlMLE1BUzVDd04sb0JBQXFCLFNBQVVZLEdBQzdCLEdBQUk3TCxHQUFPdEMsSUFDWEEsTUFB
S29PLFdBQWEsRz0KQUFJdFEsR0FBa0J1USxNQUN4QyxJQUFJWixHQUFjVSxFQUFTVCxLQUMzQixJ
QUEyQixtQkFBZkQsR0FTVixNQVJ1RCxLQUFsRHpOPQosS0FBS0QsUUFBUWhCLG1CQUFtQkUsY0FD
bkNwQixFQUFXaUcsUUFBUyxzREFDVjlELEtBQUtELFFBQVFoQixtQkFBbUJFLGdCQUE9CmtCZSxL
QUFLRCxRQUFRaEIsbUJBQW1CQyxhQUM1Rm5CLEVBQVd3RyxNQUFPLGdFQUNSckUsS0FBS0QsUUFB
UWhCLG1CQUFtQkUsYz0KQUFnQmUsS0FBS0QsUUFBUWhCLG1CQUFtQkMsY0FDMUZuQixFQUFXZ1Es
UUFBUyx5REFFdEJuTixPQUFPdkIsTUFBTTZDLE9BQ05oPQpDLEtBQUtvTyxVQUVkLElBQUlOLEdB
QVVoTSxFQUFFaU0sS0FBTU4sRUFBWTVKLE1BQVF5SixZQUFhRyxFQUFZOUQsSUFBSyxpQkE9CkV4
RW1FLEdBQVFFLEtBQU0sU0FBVTFKLEdBQ2Q1RCxPQUFPdUQsVUFBVUMsZUFBZUMsV0FBV0MsSUFB
S0UsR0FDaERoQyxFQUFLND0KRSxpQkFDTDVFLEVBQUtpTCxvQkFBcUJZLEtBRTNCRixLQUFNLFdB
Q0wzTCxFQUFLdkMsUUFBUWhCLG1CQUFtQkUsZUFBaUIsRUFDPQpqRHFELEVBQUs0RSxpQkFDTDVF
LEVBQUtpTCxvQkFBcUJZLE1BU3RDRyx1QkFBd0IsU0FBVUMsR0FDbEMsR0FBSWpNLEdBQU90Qyw9
CklBQ1hBLE1BQUt3TyxjQUFnQixHQUFJMVEsR0FBa0J1USxNQUMzQyxJQUFJWixHQUFjYyxFQUFn
QmIsS0FDbEMsSUFBNEIsbUJBQT0KaEJELEdBU1YsTUFSdUQsS0FBbER6TixLQUFLRCxRQUFRaEIs
bUJBQW1CRSxjQUNuQ3BCLEVBQVdpRyxRQUFTLGdDQUNWOUQsS0FBPQpLRCxRQUFRaEIsbUJBQW1C
RSxnQkFBa0JlLEtBQUtELFFBQVFoQixtQkFBbUJDLGFBQzVGbkIsRUFBV3dHLE1BQU8sbUdBQ1Jy
RSw9CktBQUtELFFBQVFoQixtQkFBbUJFLGNBQWdCZSxLQUFLRCxRQUFRaEIsbUJBQW1CQyxjQUMx
Rm5CLEVBQVdnUSxRQUFTLDZGQUV0Qj0Kbk4sT0FBT3ZCLE1BQU02QyxPQUNOaEMsS0FBS3dPLGFB
RWQsSUFBSVYsR0FBVWhNLEVBQUVpTSxLQUFNTixFQUFZZ0IsVUFFbENYPQosR0FBUUUsS0FBTSxT
QUFVVSxHQUlkLEdBSEFoTyxPQUFPdUQsVUFBVUMsZUFBZUMsV0FBV21FLE9BQVFtRixFQUFZL04s
SUFDL0Q9CjRDLEVBQUs0RSxpQkFFQXhHLE9BQU91RCxVQUFVQyxlQUFlbkUsUUFBUTRPLGdCQUFp
QixDQUM1RCxHQUFJQyxHQUFlLElBQ0QsWT0KQUFkRixFQUFLMUssTUFBMEMsa0JBQXJCMEssRUFB
S0csWUFDakNELEVBQWUsR0FBSTlRLEdBQWtCc0YsY0FBZXNMLEdBQzdCLFNBPQpBZEEsRUFBSzFL
LE1BQXdDLG1CQUFyQjBLLEVBQUtHLFlBQ3RDRCxFQUFlLEdBQUk5USxHQUFrQnVQLEtBQU1xQixJ
QUUzQ3pDLFE9CkFBUTVILE1BQU0sb0NBQ2Q0SCxRQUFRNUgsTUFBTXFLLEVBQUsxSyxNQUFRMEss
RUFBS0csY0FFbENuTyxPQUFPdUQsVUFBVUMsZT0KQUFlQyxXQUFXQyxJQUFLd0ssR0FFbER0TSxF
QUFLZ00sdUJBQXdCQyxLQUU5Qk4sS0FBTSxXQUNMM0wsRUFBS3ZDLFFBQVFoQixtPQpCQUFtQkUs
ZUFBaUIsRUFDakRxRCxFQUFLNEUsaUJBQ0w1RSxFQUFLZ00sdUJBQXdCQyxNQU92Q08sb0JBQXFC
LFNBQVMzTSxHQUU9CjFCekIsT0FBT3VELFVBQVVDLGVBQWU2SyxZQUQ5QjVNLEVBQU1nSCxPQUFP
NkYsU0FDOEJMLGlCQUFpQixJQUVqQkEsaUJBQWlCLD0KS0FPbEVNLHVCQUF3QixXQUN0QixHQUFJ
cEssR0FBZ0IvQyxFQUFFLGlCQUFpQlAsS0FBSyxXQUM1QyxJQUE0QixJQUF6QnNELEVBPQpBY25C
LE9BQ2I3RixFQUFXaUgsS0FBSywwREFDYixDQUNMLEdBQUl2QyxHQUFXdkMsS0FBSytMLHFDQUNw
Qi9MLE1BQUtiLE1BQVE9CnVCLE9BQU92QixNQUNwQmEsS0FBS2IsTUFBTTRDLE1BQ1BVLGdCQUFr
QixFQUNsQkMsTUFBa0IsNkJBQ2xCQyxLQUFrQkosTUFDbD0KQkssU0FDSUcsTUFBYyxXQUFZckMs
T0FBT3ZCLE1BQU02QyxXQUkvQ2hDLEtBQUtELFFBQVFoQixtQkFBbUJDLGFBQWUsRUFDL0NnPQpC
LEtBQUtELFFBQVFoQixtQkFBbUJFLGNBQWdCLENBRWhELElBQUkyRyxNQUNBQyxJQUNKaEIsR0FB
Y2lCLEtBQUssV0FDNkIsS0E9CkF4QzlGLEtBQUsrRixjQUFjQSxjQUFjckcsS0FDeUIsS0FBdERN
LEtBQUsrRixjQUFjQSxjQUFjckcsR0FBR3dQLFVBQVUsRUFBRT0KLEdBQ2xEckosRUFBV0ssS0FB
S2xHLEtBQUsrRixjQUFjQSxjQUFjckcsSUFFakRrRyxFQUFZTSxLQUFLbEcsS0FBSytGLGNBQWNB
PQosY0FBY3JHLE1BSzVELElBQUl5UCxHQUFjdkosRUFBWWxDLE9BQVNtQyxFQUFXbkMsTUFDbEQx
RCxNQUFLb0gsYUFBZSxJQUFNK0g9CixFQUMxQm5QLEtBQUttSCxTQUFXLENBSWhCLEtBQUssR0FE
RG9ILE1BQ0tuSSxFQUFJUixFQUFZbEMsT0FBUyxFQUFHMEMsR0FBSz0KLEVBQUdBLElBQUssQ0FD
OUMsR0FBSWdKLEdBQVUsR0FBSXRSLEdBQWtCdVAsTUFBTTNOLEdBQUdrRyxFQUFZUSxJQUN6RG1J
LEdBPQpBZ0JySSxLQUFLa0osR0FFekIsSUFBSyxHQUFJaEosR0FBSVAsRUFBV25DLE9BQVMsRUFB
RzBDLEdBQUssRUFBR0EsSUFBSyxDQUM9CjdDLEdBQUlqRCxHQUFTLEdBQUlyRixHQUFrQnNGLGVB
QWUxRCxHQUFHbUcsRUFBV08sSUFDaEVtSSxHQUFnQnJJLEtBQUsvQyxHQT0KR3pCbkQsS0FBS0Qs
UUFBUWhCLG1CQUFtQkMsYUFBZW1RLEVBQVl6TCxPQUUzRDFELEtBQUtzTyx1QkFBdUJDLEtBS2hD
YyxZQUFhPQosV0FDWCxHQUFJQyxHQUFhNU8sT0FBT3VELFVBQVVDLGVBQWVxTCxnQkFBZ0JDLFdB
QVdDLFNBQVNDLGtCQUNqRkMsRUFBVSxLQUM9ClYzSyxFQUFPaEYsSUFDOEIsUUFBckNVLE9BQU91
RCxVQUFVMkwsaUJBQ25CRCxFQUFValAsT0FBT3VELFVBQVUyTCxnQkFBZ0J6TD0KLFdBQVd3RixJ
QUFJMkYsR0FDMUR0UCxLQUFLNlAsaUJBQWlCRixLQUV0QkEsRUFBVSxHQUFJN1IsR0FBa0JnUyxT
QUFTcFEsR0FBPQpJNFAsSUFDN0NLLEVBQVFwSyxPQUNOekIsUUFBUyxXQUNQa0IsRUFBSzZLLGlC
QUFpQkYsSUFFeEJ0TCxNQUFPLFNBQVNDLEVBQU89CkMsR0FFbkIxRyxFQUFXd0csTUFEd0IsbUJB
QTFCRSxHQUFTQyxhQUNERCxFQUFTQyxhQUFhQyxRQUV0QiwwQkFPM0JvTCxpQkFBaz0KQixTQUFT
RixHQUN6QixHQUFJcE4sR0FBV3ZDLEtBQUsrUCx3QkFDcEIvUCxNQUFLYixNQUFRdUIsT0FBT3ZC
LE1BQ3BCYSxLQUFLPQpiLE1BQU00QyxNQUNQVSxnQkFBa0IsRUFDbEJDLE1BQWtCLHNCQUNsQkMs
S0FBa0JKLEdBQVVvTixRQUFRQSxJQUNwQy9NLFNBQ0k9CkcsTUFBYyxXQUFZckMsT0FBT3ZCLE1B
QU02QyxZQUtqRGdPLGdCQUFpQixTQUFTalEsR0FDeEIsT0FBT0EsRUFBUTBHLFFBQ2IsST0KQUFL
LFVBQ0h6RyxLQUFLdUksMEJBQ0wsTUFDRixLQUFLLFlBQ0h2SSxLQUFLdUssa0NBQW9DOUQsT0FB
USxhQUNqRCxNQUNGLEtBPQpBSyxPQUNIekcsS0FBS3FKLDBCQUNMLE1BQ0YsS0FBSyxVQUNIckos
S0FBS3VLLGtDQUFvQzlELE9BQVEsV0FDakQsTUFDRixTQUM9CkUvRixPQUFPdUQsVUFBVThFLGVB
QWVDLE9BQ2hDbkwsRUFBV3dHLE1BQU0sNEJBUXZCNEwsbUJBQW9CLFdBQ2xCLEdBQUlDLEdBQT0K
bUJDLE9BQVEsOENBQStDelAsT0FBT3VELFVBQVVtTSxZQUFZekcsSUFBSyxvQkFDckYsT0FBcEJ1
RyxHQUFnQ0EsR0FBb0J6TyxTPQpBQVV5TyxLQUNqRXhQLE9BQU91RCxVQUFVbU0sWUFBWXJNLEtB
QU9tTSxpQkFBb0J6TyxTQUFVeU8sS0FDbEV4UCxPQUFPdUQsVUE9CkFVQyxlQUFlL0QsUUFBVVQs
R0FBSU0sS0FBS0QsUUFBUUwsR0FBSThCLFVBQVcsTUFJaEZuQixnQkFBaUIsV0F1RWYsTUF0RUFn
UT0KLGVBR0FBLFdBQVduSyxLQUFLLHlDQUVoQm1LLFdBQVduSyxLQUFLLCtCQUNoQm1LLFdBQVdu
SyxLQUFLLDBDQUNoQm1LLFdBQVduPQpLLEtBQUssbURBQ2hCbUssV0FBV25LLEtBQUssb0VBRWhC
bUssV0FBV25LLEtBQUsscUJBQ2hCbUssV0FBV25LLEtBQUssdUdBQ2g9CkJtSyxXQUFXbkssS0FB
SyxXQUNoQm1LLFdBQVduSyxLQUFLLHNGQUNoQm1LLFdBQVduSyxLQUFLLFlBQ2hCbUssV0FBV25L
LEtBQT0KSyxVQUNoQm1LLFdBQVduSyxLQUFLLHdSQUVoQm1LLFdBQVduSyxLQUFLLDJDQUNoQm1L
LFdBQVduSyxLQUFLLHNFQUNoQm1LLFdBPQpBV25LLEtBQUssMElBQ2hCbUssV0FBV25LLEtBQUss
c0dBQ2hCbUssV0FBV25LLEtBQUssa0JBQ2hCbUssV0FBV25LLEtBQUssK0M9CkFDaEJtSyxXQUFX
bkssS0FBSyxrRkFDaEJtSyxXQUFXbkssS0FBSyw4REFDaEJtSyxXQUFXbkssS0FBSyx5RkFDaEJt
SyxXQUFXbj0KSyxLQUFLLFdBQ2hCbUssV0FBV25LLEtBQUssc0RBRWhCbUssV0FBV25LLEtBQUss
Z0NBQ2hCbUssV0FBV25LLEtBQUssbURBRWhCPQptSyxXQUFXbkssS0FBSyx5REFDaEJtSyxXQUFX
bkssS0FBSyx1RkFDaEJtSyxXQUFXbkssS0FBSyxXQUVoQm1LLFdBQVduSyxLQUE9Ckssc0RBQ2hC
bUssV0FBV25LLEtBQUssMkVBQ2hCbUssV0FBV25LLEtBQUssV0FDaEJtSyxXQUFXbkssS0FBSyxX
QUNoQm1LLFdBQT0KV25LLEtBQUssY0FDaEJtSyxXQUFXbkssS0FBSyxhQUNoQm1LLFdBQVduSyxL
QUFLLGtCQUNoQm1LLFdBQVduSyxLQUFLLHdRQUNoPQpCbUssV0FBV25LLEtBQUssV0FFaEJtSyxX
QUFXbkssS0FBSyx3UkFDaEJtSyxXQUFXbkssS0FBSyw4R0FDaEJtSyxXQUFXbkssS0E9CkFLLDRK
QUNoQm1LLFdBQVduSyxLQUFLLGtGQUNoQm1LLFdBQVduSyxLQUFLLGtCQUNoQm1LLFdBQVduSyxL
QUFLLCtDQUNoQm1LLD0KV0FBV25LLEtBQUssMkVBQ2hCbUssV0FBV25LLEtBQUssMkVBQ2hCbUss
V0FBV25LLEtBQUssd0VBQ2hCbUssV0FBV25LLEtBQUssPQpjQUNoQm1LLFdBQVduSyxLQUFLLGFB
Q2hCbUssV0FBV25LLEtBQUssdVJBQ2hCbUssV0FBV25LLEtBQUssdVFBQ2hCbUssV0FBV249Ckss
S0FBSyx1VEFDaEJtSyxXQUFXbkssS0FBSyxXQUNoQm1LLFdBQVduSyxLQUFLLFdBR2hCbUssV0FB
V25LLEtBQUssb0NBQ2hCbT0KSyxXQUFXbkssS0FBSyxXQUNoQm1LLFdBQVduSyxLQUFLLFVBR1Rq
RyxFQUFFc0MsU0FBUzhOLFdBQVdDLEtBQUssTUFHcENQLHVCPQpBQXdCLFdBY3RCLE1BYkFNLGVB
RUFBLFdBQVduSyxLQUFLLDZCQUNoQm1LLFdBQVduSyxLQUFLLDBCQUNoQm1LLFdBQVduSyxLQUE9
CksscUNBQ2hCbUssV0FBV25LLEtBQUssaUNBQ2hCbUssV0FBV25LLEtBQUssNENBQ2hCbUssV0FB
V25LLEtBQUssOEJBQ2hCbUssVz0KQUFXbkssS0FBSyx5Q0FDaEJtSyxXQUFXbkssS0FBSyxnSkFF
aEJtSyxXQUFXbkssS0FBSyxVQUVUakcsRUFBRXNDLFNBQVM4TixXPQpBQVdDLEtBQUssTUFHcEM5
Tix5QkFBMEIsV0FVeEIsTUFUQTZOLGVBRUFBLFdBQVduSyxLQUFLLCtCQUNoQm1LLFdBQVduSyxL
QUE9CkssVUFDaEJtSyxXQUFXbkssS0FBSywrREFDaEJtSyxXQUFXbkssS0FBSyw2RUFDaEJtSyxX
QUFXbkssS0FBSyxXQUNoQm1LLFdBQT0KV25LLEtBQUssVUFFVGpHLEVBQUVzQyxTQUFTOE4sV0FB
V0MsS0FBSyxNQUlwQ3JMLDBCQUE0QixXQUMxQixHQUFJb0wsS0FXSixPPQpBVEFBLEdBQVduSyxL
QUFLLGlHQUNoQm1LLEVBQVduSyxLQUFLLG9CQUNoQm1LLEVBQVduSyxLQUFLLHlHQUNoQm1LLEVB
QVduSyw9CktBQUssa0RBQ2hCbUssRUFBV25LLEtBQUssMkdBQ2hCbUssRUFBV25LLEtBQUssZ0JB
Q2hCbUssRUFBV25LLEtBQUssYUFDaEJtSz0KLEVBQVduSyxLQUFLLFdBRVRqRyxFQUFFc0MsU0FB
UzhOLEVBQVdDLEtBQUssTUFHcEN0RSxxQ0FBdUMsV0FDckMsR0FBSXFFLEtBPQpZSixPQVZBQSxH
QUFXbkssS0FBSyw2QkFDaEJtSyxFQUFXbkssS0FBSywrRUFDaEJtSyxFQUFXbkssS0FBSyxVQUNo
Qm1LLEVBQVc9Cm5LLEtBQUssMEJBQ2hCbUssRUFBV25LLEtBQUssb0pBQ2hCbUssRUFBV25LLEtB
QUssMkRBQ2hCbUssRUFBV25LLEtBQUssYUFDaD0KQm1LLEVBQVduSyxLQUFLLFVBQ2hCbUssRUFB
V25LLEtBQUssSUFFVGpHLEVBQUVzQyxTQUFTOE4sRUFBV0MsS0FBSyxNQUdwQ3hFPQosa0NBQW1D
LFdBQ2pDLEdBQUl1RSxLQVlKLE9BVkFBLEdBQVduSyxLQUFLLDZCQUNoQm1LLEVBQVduSyxLQUFL
LGtGQUNoQm1LLEU9CkFBV25LLEtBQUssVUFDaEJtSyxFQUFXbkssS0FBSywwQkFDaEJtSyxFQUFX
bkssS0FBSyxvSkFDaEJtSyxFQUFXbkssS0FBSywyRD0KQUNoQm1LLEVBQVduSyxLQUFLLGFBQ2hC
bUssRUFBV25LLEtBQUssVUFDaEJtSyxFQUFXbkssS0FBSyxJQUVUakcsRUFBRXNDLFNBPQpBUzhO
LEVBQVdDLEtBQUssTUFHcEN2RSxvQ0FBcUMsV0FDbkMsR0FBSXNFLEtBV0osT0FUQUEsR0FBV25L
LEtBQUssNkJBQ2hCbUs9CixFQUFXbkssS0FBSyxVQUNoQm1LLEVBQVduSyxLQUFLLDBCQUNoQm1L
LEVBQVduSyxLQUFLLG9KQUNoQm1LLEVBQVduSyxLQUFLLD0KMkRBQ2hCbUssRUFBV25LLEtBQUss
YUFDaEJtSyxFQUFXbkssS0FBSyxVQUNoQm1LLEVBQVduSyxLQUFLLElBRVRqRyxFQUFFc0MsPQpT
QUFTOE4sRUFBV0MsS0FBSyxNQUdwQzlGLHFCQUFzQixXQUNwQixHQUFJNkYsS0FvQ0osT0FsQ0FB
LEdBQVduSyxLQUFLLGlDQUM9CmhCbUssRUFBV25LLEtBQUssMkhBQ2hCbUssRUFBV25LLEtBQUss
eUxBR2hCbUssRUFBV25LLEtBQUssb0NBQ2hCbUssRUFBV25LLD0KS0FBSyxnQ0FDaEJtSyxFQUFX
bkssS0FBSyx1SUFDaEJtSyxFQUFXbkssS0FBSyxZQUNoQm1LLEVBQVduSyxLQUFLLGdDQUNoQm1L
PQosRUFBV25LLEtBQUssdUhBQ2hCbUssRUFBV25LLEtBQUssWUFDaEJtSyxFQUFXbkssS0FBSyxV
QUNoQm1LLEVBQVduSyxLQUFLLG89CkNBQ2hCbUssRUFBV25LLEtBQUssbUZBQ2hCbUssRUFBV25L
LEtBQUssNkZBQ2hCbUssRUFBV25LLEtBQUssZ0NBQ2hCbUssRUFBVz0KbkssS0FBSyxhQUNoQm1L
LEVBQVduSyxLQUFLLDJFQUNoQm1LLEVBQVduSyxLQUFLLHVFQUNoQm1LLEVBQVduSyxLQUFLLGlD
QUNoPQpCbUssRUFBV25LLEtBQUssYUFDaEJtSyxFQUFXbkssS0FBSyxVQUNoQm1LLEVBQVduSyxL
QUFLLDZCQUNoQm1LLEVBQVduSyxLQUE9CkssVUFFaEJtSyxFQUFXbkssS0FBSyxVQUNoQm1LLEVB
QVduSyxLQUFLLG1GQUNoQm1LLEVBQVduSyxLQUFLLFNBQ2hCbUssRUFBVz0KbkssS0FBSyxpRkFD
aEJtSyxFQUFXbkssS0FBSywrRUFDaEJtSyxFQUFXbkssS0FBSyxVQUNoQm1LLEVBQVduSyxLQUFL
LFVBRVRqPQpHLEVBQUVzQyxTQUFTOE4sRUFBV0MsS0FBSyxNQUdwQ2hILHdCQUF5QixXQUN2QixH
QUFJK0csS0EyQkosT0F6QkFBLEdBQVduSyw9CktBQUssaUNBQ2hCbUssRUFBV25LLEtBQUssZ0tB
RWhCbUssRUFBV25LLEtBQUssdUNBQ2hCbUssRUFBV25LLEtBQUssNkRBQ2hCbT0KSyxFQUFXbkss
S0FBSyw2RkFDaEJtSyxFQUFXbkssS0FBSyxnQ0FDaEJtSyxFQUFXbkssS0FBSyxhQUNoQm1LLEVB
QVduSyxLQUFLPQoscURBQ2hCbUssRUFBV25LLEtBQUssdUVBQ2hCbUssRUFBV25LLEtBQUssaUNB
Q2hCbUssRUFBV25LLEtBQUssYUFDaEJtSyxFQUE9ClduSyxLQUFLLFVBRWhCbUssRUFBV25LLEtB
QUssOEpBRWhCbUssRUFBV25LLEtBQUssVUFDaEJtSyxFQUFXbkssS0FBSyxtRkFDaD0KQm1LLEVB
QVduSyxLQUFLLFNBQ2hCbUssRUFBV25LLEtBQUssaUZBQ2hCbUssRUFBV25LLEtBQUssK0VBQ2hC
bUssRUFBV25LLEtBPQpBSyxVQUVoQm1LLEVBQVduSyxLQUFLLFVBRVRqRyxFQUFFc0MsU0FBUzhO
LEVBQVdDLEtBQUssTUFHcEM3SCw0QkFBNkIsV0FDM0I9CixHQUFJNEgsS0FpQkosT0FmQUEsR0FB
V25LLEtBQUssOEJBQ2hCbUssRUFBV25LLEtBQUssdUNBQ2hCbUssRUFBV25LLEtBQUsscT0KQkFD
aEJtSyxFQUFXbkssS0FBSywrRUFDaEJtSyxFQUFXbkssS0FBSyxrREFDaEJtSyxFQUFXbkssS0FB
SztBQUNoQm1LLEVBQVduPQpLLEtBQUssZ0JBQ2hCbUssRUFBV25LLEtBQUssYUFDaEJtSyxFQUFX
bkssS0FBSyxVQUNoQm1LLEVBQVduSyxLQUFLLFNBQ2hCbUs9CixFQUFXbkssS0FBSyx1Q0FFaEJt
SyxFQUFXbkssS0FBSyxVQUNoQm1LLEVBQVduSyxLQUFLLFVBRVRqRyxFQUFFc0MsU0FBUzhOLD0K
RUFBV0MsS0FBSyxNQUdwQzFELHdCQUF5QixXQUN2QixHQUFJeUQsS0FXSixPQVRBQSxHQUFXbkss
S0FBSyxtREFDaEJtSyxFQUFXPQpuSyxLQUFLLFFBQ2hCbUssRUFBV25LLEtBQUssNERBQ2hCbUss
RUFBV25LLEtBQUssMkRBQ2hCbUssRUFBV25LLEtBQUsscUlBQ2g9CkJtSyxFQUFXbkssS0FBSyxV
QUNoQm1LLEVBQVduSyxLQUFLLGNBQ2hCbUssRUFBV25LLEtBQUssU0FFVGpHLEVBQUVzQyxTQUFT
OD0KTixFQUFXQyxLQUFLLE1BR3BDaFAsa0JBQW1CLFdBK0JqQixNQTlCQStPLGVBRUFBLFdBQVdu
SyxLQUFLLDRDQUNoQm1LLFdBQVduPQpLLEtBQUssK0NBQ2hCbUssV0FBV25LLEtBQUssNERBQ2hC
bUssV0FBV25LLEtBQUssaUhBQ2hCbUssV0FBV25LLEtBQUssd0lBQ2g9CkJtSyxXQUFXbkssS0FB
Syw2QkFDaEJtSyxXQUFXbkssS0FBSyxpSEFDaEJtSyxXQUFXbkssS0FBSywySEFDaEJtSyxXQUFX
bkssSz0KQUFLLHNCQUNoQm1LLFdBQVduSyxLQUFLLHlCQUNoQm1LLFdBQVduSyxLQUFLLDhIQUNo
Qm1LLFdBQVduSyxLQUFLLG9JQUNoQm1LPQosV0FBV25LLEtBQUssa0JBQ2hCbUssV0FBV25LLEtB
QUssOEJBQ2hCbUssV0FBV25LLEtBQUssa0dBQ2hCbUssV0FBV25LLEtBQUs9CixnQkFDaEJtSyxX
QUFXbkssS0FBSyxvREFDaEJtSyxXQUFXbkssS0FBSyx1SEFDaEJtSyxXQUFXbkssS0FBSyxzSUFD
aEJtSyxXQT0KQVduSyxLQUFLLHlCQUNoQm1LLFdBQVduSyxLQUFLLHFJQUNoQm1LLFdBQVduSyxL
QUFLLHVKQUNoQm1LLFdBQVduSyxLQUFLLGtCPQpBQ2hCbUssV0FBV25LLEtBQUssWUFDaEJtSyxX
QUFXbkssS0FBSyxhQUNoQm1LLFdBQVduSyxLQUFLLG1NQUNoQm1LLFdBQVduSyw9CktBQUssY0FF
VGpHLEVBQUVzQyxTQUFTOE4sV0FBV0MsS0FBSyxPQUt0QyxRQUNJdFMsa0JBQW1CQSJ9ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQoreyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1mb2xk
ZXJ0b29sYmFyLXZpZXcuanMiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3M9CnJjL212Yy9saWJyYXJ5
L2xpYnJhcnktZm9sZGVydG9vbGJhci12aWV3LmpzIl0sIm5hbWVzIjpbImRlZmluZSIsIm1vZF9t
YXN0aD0KZWFkIiwibW9kX3V0aWxzIiwibW9kX3RvYXN0ciIsIm1vZF9saWJyYXJ5X21vZGVsIiwi
bW9kX3NlbGVjdCIsIkZvbGRlclRvb2xiPQphclZpZXciLCJCYWNrYm9uZSIsIlZpZXciLCJleHRl
bmQiLCJlbCIsImV2ZW50cyIsImNsaWNrICN0b29sYnRuX2NyZWF0ZV9mb2w9CmRlciIsImNsaWNr
ICN0b29sYnRuX2J1bGtfaW1wb3J0IiwiY2xpY2sgI2luY2x1ZGVfZGVsZXRlZF9kYXRhc2V0c19j
aGsiLCJjbD0KaWNrICN0b29sYnRuX3Nob3dfbGliaW5mbyIsImNsaWNrICN0b29sYnRuX2J1bGtf
ZGVsZXRlIiwiY2xpY2sgI3BhZ2Vfc2l6ZV9wPQpyb21wdCIsImRlZmF1bHRzIiwiY2FuX2FkZF9s
aWJyYXJ5X2l0ZW0iLCJjb250YWluc19maWxlX29yX2ZvbGRlciIsImNoYWluX2M9CmFsbF9jb250
cm9sIiwidG90YWxfbnVtYmVyIiwiZmFpbGVkX251bWJlciIsImRpc2FibGVkX2pzdHJlZV9lbGVt
ZW50IiwibW9kYT0KbCIsImpzdHJlZSIsImhpc3RvcmllcyIsInNlbGVjdF9nZW5vbWUiLCJzZWxl
Y3RfZXh0ZW5zaW9uIiwibGlzdF9leHRlbnNpb25zPQoiLCJhdXRvIiwiaWQiLCJ0ZXh0IiwiZGVz
Y3JpcHRpb24iLCJsaXN0X2dlbm9tZXMiLCJpbml0aWFsaXplIiwib3B0aW9ucyIsInQ9CmhpcyIs
Il8iLCJmZXRjaEV4dEFuZEdlbm9tZXMiLCJyZW5kZXIiLCJ0b29sYmFyX3RlbXBsYXRlIiwidGVt
cGxhdGVUb29sQmFyIj0KLCJ0ZW1wbGF0ZV9kZWZhdWx0cyIsImlzX2FkbWluIiwiaXNfYW5vbnlt
IiwibXV0aXBsZV9hZGRfZGF0YXNldF9vcHRpb25zIiwiPQpHYWxheHkiLCJjdXJyVXNlciIsImlz
QWRtaW4iLCJpc0Fub255bW91cyIsImNvbmZpZyIsInVzZXJfbGlicmFyeV9pbXBvcnRfZGk9CnIi
LCJhbGxvd19saWJyYXJ5X3BhdGhfcGFzdGUiLCJsaWJyYXJ5X2ltcG9ydF9kaXIiLCIkZWwiLCJo
dG1sIiwicmVuZGVyUGFnaT0KbmF0b3IiLCJwYWdpbmF0b3JfdGVtcGxhdGUiLCJ0ZW1wbGF0ZVBh
Z2luYXRvciIsImZpbmQiLCJzaG93X3BhZ2UiLCJwYXJzZUluPQp0IiwicGFnZV9jb3VudCIsInRv
dGFsX2l0ZW1zX2NvdW50IiwiaXRlbXNfc2hvd24iLCJjb25maWd1cmVFbGVtZW50cyIsIiQiLCI9
CnNob3ciLCJoaWRlIiwidG9vbHRpcCIsImNyZWF0ZUZvbGRlckZyb21Nb2RhbCIsImV2ZW50Iiwi
cHJldmVudERlZmF1bHQiLCJzdD0Kb3BQcm9wYWdhdGlvbiIsInNlbGYiLCJ0ZW1wbGF0ZSIsInRl
bXBsYXRlTmV3Rm9sZGVySW5Nb2RhbCIsImNsb3NpbmdfZXZlbnRzPQoiLCJ0aXRsZSIsImJvZHki
LCJidXR0b25zIiwiQ3JlYXRlIiwiY3JlYXRlX25ld19mb2xkZXJfZXZlbnQiLCJDbG9zZSIsImZv
bGQ9CmVyRGV0YWlscyIsInNlcmlhbGl6ZV9uZXdfZm9sZGVyIiwidmFsaWRhdGVfbmV3X2ZvbGRl
ciIsImZvbGRlciIsIkZvbGRlckFzTT0Kb2RlbCIsInVybF9pdGVtcyIsImhpc3RvcnkiLCJmcmFn
bWVudCIsInNwbGl0IiwiY3VycmVudF9mb2xkZXJfaWQiLCJsZW5ndGgiPQosInVybCIsInVybFJv
b3QiLCJzYXZlIiwic3VjY2VzcyIsInNldCIsInR5cGUiLCJsaWJyYXJpZXMiLCJmb2xkZXJMaXN0
VmlldyI9CiwiY29sbGVjdGlvbiIsImFkZCIsImVycm9yIiwibW9kZWwiLCJyZXNwb25zZSIsInJl
c3BvbnNlSlNPTiIsImVycl9tc2ciLCJuYT0KbWUiLCJ2YWwiLCJtb2RhbEJ1bGtJbXBvcnQiLCJj
aGVja2VkVmFsdWVzIiwiaW5mbyIsInJlZnJlc2hVc2VySGlzdG9yaWVzTGlzPQp0IiwidGhhdCIs
InRlbXBsYXRlQnVsa0ltcG9ydEluTW9kYWwiLCJtb2RlbHMiLCJJbXBvcnQiLCJpbXBvcnRBbGxJ
bnRvSGlzdG89CnJ5IiwiY2FsbGJhY2siLCJHYWxheHlIaXN0b3JpZXMiLCJmZXRjaCIsImRpc2Fi
bGVCdXR0b24iLCJoaXN0b3J5X2lkIiwiaGlzdD0Kb3J5X25hbWUiLCJsYXN0X3VzZWRfaGlzdG9y
eV9pZCIsImRhdGFzZXRfaWRzIiwiZm9sZGVyX2lkcyIsImVhY2giLCJwYXJlbnRFPQpsZW1lbnQi
LCJjbGFzc0xpc3QiLCJjb250YWlucyIsInB1c2giLCJkYXRhc2V0c190b19pbXBvcnQiLCJpIiwi
bGlicmFyeV9kYXQ9CmFzZXRfaWQiLCJoaXN0b3J5SXRlbSIsIkhpc3RvcnlJdGVtIiwiY29udGVu
dCIsInNvdXJjZSIsImxpYnJhcnlfZm9sZGVyX2lkIj0KLCJpbml0Q2hhaW5DYWxsQ29udHJvbCIs
ImFjdGlvbiIsImpRdWVyeSIsImdldEpTT04iLCJnYWxheHlfY29uZmlnIiwicm9vdCIsPQoiY2hh
aW5DYWxsSW1wb3J0aW5nSW50b0hpc3RvcnkiLCJ1cGRhdGVQcm9ncmVzcyIsInByb2dyZXNzIiwi
cHJvZ3Jlc3NTdGVwIiw9CiJ3aWR0aCIsIk1hdGgiLCJyb3VuZCIsInR4dF9yZXByZXNlbnRhdGlv
biIsImRvd25sb2FkIiwiZm9sZGVyX2lkIiwiZm9ybWF0Ij0KLCJ3aW5kb3ciLCJkYXRhIiwibGRf
aWRzIiwicHJvY2Vzc0Rvd25sb2FkIiwibWV0aG9kIiwicGFyYW0iLCJpbnB1dHMiLCJwYWlyPQoi
LCJhcHBlbmRUbyIsInN1Ym1pdCIsInJlbW92ZSIsImFkZEZpbGVzRnJvbUhpc3RvcnlNb2RhbCIs
InRlbXBsYXRlX21vZGFsIiw9CiJ0ZW1wbGF0ZUFkZEZpbGVzRnJvbUhpc3RvcnkiLCJmb2xkZXJf
bmFtZSIsImZ1bGxfcGF0aCIsIkFkZCIsImFkZEFsbERhdGFzZT0KdHNGcm9tSGlzdG9yeSIsImNs
b3NpbmdfY2FsbGJhY2siLCJsaWJyYXJ5X3JvdXRlciIsImJhY2siLCJmZXRjaEFuZERpc3BsYXlI
PQppc3RvcnlDb250ZW50cyIsImNoYW5nZSIsInRhcmdldCIsInZhbHVlIiwiaW1wb3J0RmlsZXNG
cm9tUGF0aE1vZGFsIiwidGVtcGw9CmF0ZUltcG9ydFBhdGhNb2RhbCIsImltcG9ydEZyb21QYXRo
c0NsaWNrZWQiLCJuYXZpZ2F0ZSIsInRyaWdnZXIiLCJyZW5kZXJTZT0KbGVjdEJveGVzIiwiZ2V0
IiwiZGF0YXR5cGVzIiwia2V5IiwiZXh0ZW5zaW9uIiwiZGVzY3JpcHRpb25fdXJsIiwic29ydCIs
ImEiPQosImIiLCJ1bnNoaWZ0IiwiZ2Vub21lcyIsImNzcyIsImNvbnRhaW5lciIsImltcG9ydEZp
bGVzRnJvbUdhbGF4eUZvbGRlck1vZGE9CmwiLCJ0ZW1wbGF0ZUJyb3dzZXJNb2RhbCIsImltcG9y
dEZyb21Kc3RyZWVQYXRoIiwicmVuZGVySnN0cmVlIiwiSnN0cmVlIiwicj0KZXF1aXJlIiwiY29y
ZSIsInBsdWdpbnMiLCJ0eXBlcyIsImljb24iLCJmaWxlIiwiY2hlY2tib3giLCJ0aHJlZV9zdGF0
ZSIsImVyPQpyX2NvZGUiLCJ3YXJuaW5nIiwicHJlc2VydmVfZGlycyIsImlzIiwibGlua19kYXRh
IiwiZmlsZV90eXBlIiwiZGJrZXkiLCJwYXQ9CmhzIiwidmFsaWRfcGF0aHMiLCJ0cmltbWVkIiwi
dHJpbSIsImNoYWluQ2FsbEltcG9ydGluZ0ZvbGRlcnMiLCJ0ZW1wbGF0ZUFkZD0KaW5nRGF0YXNl
dHNQcm9ncmVzc0JhciIsInRlbXBsYXRlRGVsZXRpbmdEYXRhc2V0c1Byb2dyZXNzQmFyIiwidGVt
cGxhdGVJbXBvPQpydEludG9IaXN0b3J5UHJvZ3Jlc3NCYXIiLCJjb25zb2xlIiwic2VsZWN0ZWRf
bm9kZXMiLCJnZXRfc2VsZWN0ZWQiLCJzZWxlY3Q9Cmlvbl90eXBlIiwidW5kZWZpbmVkIiwibGlf
YXR0ciIsImZ1bGxfc291cmNlIiwiY2hhaW5DYWxsSW1wb3J0aW5nVXNlcmRpckZpbD0KZXMiLCJo
aXN0b3J5X2NvbnRlbnRzIiwiSGlzdG9yeUNvbnRlbnRzIiwiaGlzdG9yeV9jb250ZW50c190ZW1w
bGF0ZSIsInRlbXBsPQphdGVIaXN0b3J5Q29udGVudHMiLCJjb250ZW50cyIsInJldmVyc2UiLCJj
aGVja2VkX2hkYXMiLCJoaXN0b3J5X2RhdGFzZXRfaWQ9CnMiLCJoZGFzX3RvX2FkZCIsImhpZCIs
Imhpc3RvcnlfZGF0YXNldF9pZCIsImZvbGRlcl9pdGVtIiwiSXRlbSIsImZyb21faGRhXz0KaWQi
LCJjaGFpbkNhbGxBZGRpbmdIZGFzIiwiaGlzdG9yeV9pdGVtX3NldCIsInBvcHBlZF9pdGVtIiwi
cG9wIiwib25jbGljayIsPQoibG9jYXRpb24iLCJwcm9taXNlIiwid2hlbiIsImRvbmUiLCJmYWls
IiwicG9zdCIsImhkYXNfc2V0IiwiYWRkZWRfaGRhcyIsIkY9Cm9sZGVyIiwiY2hhaW5DYWxsRGVs
ZXRpbmdJdGVtcyIsIml0ZW1zX3RvX2RlbGV0ZSIsImRlbGV0ZWRfaXRlbXMiLCJkZXN0cm95Ij0K
LCJpdGVtIiwiaW5jbHVkZV9kZWxldGVkIiwidXBkYXRlZF9pdGVtIiwibW9kZWxfY2xhc3MiLCJj
aGVja0luY2x1ZGVEZWxldGVkPQoiLCJmZXRjaEZvbGRlciIsImNoZWNrZWQiLCJkZWxldGVTZWxl
Y3RlZERhdGFzZXRzIiwic3Vic3RyaW5nIiwiaXRlbXNfdG90YWw9CiIsImRhdGFzZXQiLCJzaG93
TGliSW5mbyIsImxpYnJhcnlfaWQiLCJmb2xkZXJDb250YWluZXIiLCJhdHRyaWJ1dGVzIiwibWV0
YT0KZGF0YSIsInBhcmVudF9saWJyYXJ5X2lkIiwibGlicmFyeSIsImxpYnJhcnlMaXN0VmlldyIs
InNob3dMaWJJbmZvTW9kYWwiLCJMPQppYnJhcnkiLCJ0ZW1wbGF0ZUxpYkluZm9Jbk1vZGFsIiwi
c2hvd0ltcG9ydE1vZGFsIiwic2hvd1BhZ2VTaXplUHJvbXB0IiwiZm89CmxkZXJfcGFnZV9zaXpl
IiwicHJvbXB0IiwicHJlZmVyZW5jZXMiLCJ0bXBsX2FycmF5Iiwiam9pbiJdLCJtYXBwaW5ncyI6
IkFBQT0KQUEsUUFDSSxrQkFDQSxjQUNBLGNBQ0EsNEJBQ0Esb0JBRUosU0FBVUMsRUFDQUMsRUFD
QUMsRUFDQUMsRUFDQUMsR0FHVixHQUFJPQpDLEdBQW9CQyxTQUFTQyxLQUFLQyxRQUNwQ0MsR0FB
SSxVQUVKQyxRQUNFQywrQkFBd0Msd0JBQ3hDQyw2QkFBd0Msa0JBQ3hDQyw9CnNDQUF3QyxzQkFD
eENDLDhCQUF3QyxjQUN4Q0MsNkJBQXdDLHlCQUN4Q0MsMEJBQXdDLHNCQUkxQ0MsVUFDRUMsc0JB
QTRCLEVBQz0KNUJDLHlCQUE0QixFQUM1QkMsb0JBQzRCQyxhQUFrQixFQUNsQkMsY0FBa0IsR0FF
OUNDLHdCQUE0QixXQUc5QkMsTUFBUSxLQUdSPQpDLE9BQVEsS0FHUkMsVUFBWSxLQUdaQyxjQUFn
QixLQUdoQkMsaUJBQW1CLEtBR25CQyxtQkFHQUMsTUFDSUMsR0FBYyxPQUNkQyw9CktBQWMsY0FD
ZEMsWUFBYyxzWkFTbEJDLGdCQUVBQyxXQUFZLFNBQVNDLEdBQ25CQyxLQUFLRCxRQUFVRSxFQUFF
ckIsU0FBVW1CLD0KTUFBZUMsS0FBS3BCLFVBQy9Db0IsS0FBS0UscUJBQ0xGLEtBQUtHLFVBR1BB
LE9BQVEsU0FBU0osR0FDZkMsS0FBS0QsUUFBVUUsPQpFQUFFOUIsT0FBUTZCLEtBQUtELFFBQVNB
LEVBQ3ZDLElBQUlLLEdBQW1CSixLQUFLSyxrQkFDeEJDLEdBQ0FaLEdBQUlNLEtBQUs9CkQsUUFB
UUwsR0FDakJhLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyw2QkFBNkIsRUFFN0JDLFFBQU9DLFdBQ1RM
LEVBQWtCQyxTQUFXRz0KLE9BQU9DLFNBQVNDLFVBQzdDTixFQUFrQkUsVUFBWUUsT0FBT0MsU0FB
U0UsZUFDQyxPQUExQ0gsT0FBT0ksT0FBT0MseUJBQW9DPQpMLE9BQU9JLE9BQU9FLDRCQUE2QixH
QUE4QyxPQUFyQ04sT0FBT0ksT0FBT0csc0JBQ3ZIWCxFQUFrQkcsNkJBQThCLElBR3BEVCw9CktB
QUtrQixJQUFJQyxLQUFLZixFQUFpQkUsS0FPakNjLGdCQUFpQixTQUFVckIsR0FDdkJDLEtBQUtE
LFFBQVVFLEVBQUU5QixPQT0KQVE2QixLQUFLRCxRQUFTQSxFQUN2QyxJQUFJc0IsR0FBcUJyQixL
QUFLc0IsbUJBQzlCdEIsTUFBS2tCLElBQUlLLEtBQU0scUJBPQpBc0JKLEtBQU1FLEdBQ3ZDM0Is
R0FBSU0sS0FBS0QsUUFBUUwsR0FDakI4QixVQUFXQyxTQUFVekIsS0FBS0QsUUFBUXlCLFdBQ2w9
CkNFLFdBQVlELFNBQVV6QixLQUFLRCxRQUFRMkIsWUFDbkNDLGtCQUFtQjNCLEtBQUtELFFBQVE0
QixrQkFDaENDLFlBQWE1QixLQT0KQUtELFFBQVE2QixnQkFJbENDLGtCQUFtQixTQUFTOUIsR0FD
MUJDLEtBQUtELFFBQVVFLEVBQUU5QixPQUFPNkIsS0FBS0QsUUFBPQpTQSxHQUVsQ0MsS0FBS0Qs
UUFBUWxCLHdCQUF5QixFQUN4Q2lELEVBQUUsc0JBQXNCQyxPQUV4QkQsRUFBRSxzQkFBc0JFLE9B
RXQ9CkJoQyxLQUFLRCxRQUFRakIsMkJBQTRCLEdBQ3ZDNEIsT0FBT0MsU0FDSkQsT0FBT0MsU0FB
U0UsZUFJbkJpQixFQUFFLHlCQUF5Qj0KQyxPQUMzQkQsRUFBRSxnQ0FBZ0NFLFNBSmxDRixFQUFF
LGdDQUFnQ0MsT0FDbENELEVBQUUseUJBQXlCQyxTQVUvQkQsRUFBRSxnPQpDQUFnQ0UsT0FDbENG
LEVBQUUseUJBQXlCRSxRQUU3QmhDLEtBQUtrQixJQUFJSyxLQUFLLGlCQUFpQlUsV0FJakNDLHNC
QUF1Qiw9ClNBQVVDLEdBQy9CQSxFQUFNQyxpQkFDTkQsRUFBTUUsaUJBR04sSUFBSUMsR0FBT3RD
LEtBQ1B1QyxFQUFXdkMsS0FBS3dDLDBCQT0KQ3BCeEMsTUFBS2IsTUFBUXVCLE9BQU92QixNQUNw
QmEsS0FBS2IsTUFBTTRDLE1BQ1BVLGdCQUFrQixFQUNsQkMsTUFBa0Isb0JBPQpDbEJDLEtBQWtC
SixJQUNsQkssU0FDSUMsT0FBYyxXQUFZUCxFQUFLUSwyQkFDL0JDLE1BQWMsV0FBWXJDLE9BQU92
QixNQUFNNkM9CixZQU1qRGMsd0JBQXlCLFdBQ3JCLEdBQUlFLEdBQWdCaEQsS0FBS2lELHNCQUN6
QixJQUFJakQsS0FBS2tELG9CQUFvQkYsR0FBZT0KLENBQ3hDLEdBQUlHLEdBQVMsR0FBSXJGLEdB
QWtCc0YsYUFDbkNDLFdBQVlwRixTQUFTcUYsUUFBUUMsU0FBU0MsTUFBTSxLQUM1PQpDQyxrQkFB
b0JKLFVBQVVBLFVBQVVLLE9BQU8sR0FDL0NQLEVBQU9RLElBQU1SLEVBQU9TLFFBQVVILGtCQUU5
Qk4sRUFBT1UsS0E9CkFLYixHQUNWYyxRQUFTLFNBQVVYLEdBQ2pCekMsT0FBT3ZCLE1BQU02QyxP
QUNibkUsRUFBV2lHLFFBQVEsbUJBQ25CWCxFQUFPWT0KLEtBQUtDLEtBQVMsV0FDckJ0RCxPQUFP
dUQsVUFBVUMsZUFBZUMsV0FBV0MsSUFBSWpCLElBRWpEa0IsTUFBTyxTQUFTQyxFQUFPPQpDLEdB
Q3JCN0QsT0FBT3ZCLE1BQU02QyxPQUVYbkUsRUFBV3dHLE1BRHdCLG1CQUExQkUsR0FBU0MsYUFD
REQsRUFBU0MsYUFBYUM9CixRQUV0Qiw0QkFLdkI1RyxHQUFXd0csTUFBTSw0QkFFckIsUUFBTyxH
QUlYcEIscUJBQXVCLFdBQ25CLE9BQ0l5QixLQUFNNUMsRT0KQUFFLHNCQUFzQjZDLE1BQzlCL0Us
WUFBYWtDLEVBQUUsNkJBQTZCNkMsUUFLcER6QixvQkFBcUIsU0FBU0YsR0FDMUIsTUFBOEIsPQpL
QUF2QkEsRUFBYzBCLE1BS3pCRSxnQkFBa0IsV0FDZCxHQUFJQyxHQUFnQi9DLEVBQUUsaUJBQWlC
UCxLQUFLLFdBQ2hCLEtBQXo9CkJzRCxFQUFjbkIsT0FDYjdGLEVBQVdpSCxLQUFLLHdDQUVoQjlF
LEtBQUsrRSx5QkFBeUIsU0FBU0MsR0FDckMsR0FBSXpDLEdBQT0KV3lDLEVBQUtDLDJCQUNwQkQs
R0FBSzdGLE1BQVF1QixPQUFPdkIsTUFDcEI2RixFQUFLN0YsTUFBTTRDLE1BQ1BVLGdCQUFrQixF
PQpBQ2xCQyxNQUFrQixzQkFDbEJDLEtBQWtCSixHQUFVbEQsVUFBWTJGLEVBQUszRixVQUFVNkYs
U0FDdkR0QyxTQUNJdUMsT0FBYyw9CldBQVlILEVBQUtJLHdCQUMvQnJDLE1BQWMsV0FBWXJDLE9B
QU92QixNQUFNNkMsY0FPekQrQyx5QkFBMEIsU0FBU00sR0FDakMsRz0KQUFJTCxHQUFPaEYsSUFD
WEEsTUFBS1gsVUFBWSxHQUFJdkIsR0FBa0J3SCxnQkFDdkN0RixLQUFLWCxVQUFVa0csT0FDYnpC
LFFBPQpBUyxXQUNQdUIsRUFBU0wsSUFFWFgsTUFBTyxTQUFTQyxFQUFPQyxHQUVuQjFHLEVBQVd3
RyxNQUR3QixtQkFBMUJFLEdBQVNDLGE9CkFDREQsRUFBU0MsYUFBYUMsUUFFdEIseUJBU3pCVyxx
QkFBdUIsV0FDckJwRixLQUFLYixNQUFNcUcsY0FBYyxTQUN6QixJQUFJQz0KLEdBQWEzRCxFQUFF
LG9EQUFvRDZDLE1BQ25FZSxFQUFlNUQsRUFBRSxvREFBb0RuQyxNQUV6RUssTUFBS0QsUUFBUTRG
LHFCQUF1PQpCRixDQUNwQyxJQUFJRyxNQUNBQyxJQUNKL0QsR0FBRSxpQkFBaUJQLEtBQUssWUFB
WXVFLEtBQUssV0FDTyxLQUF4QzlGLEtBQUs9CitGLGNBQWNBLGNBQWNyRyxJQUFhTSxLQUFLK0Ys
Y0FBY0EsY0FBY0MsVUFBVUMsU0FBUyxlQUNsR0wsRUFBWU0sS0FBS2xHLEtBQT0KSytGLGNBQWNB
LGNBQWNyRyxJQUNILEtBQXhDTSxLQUFLK0YsY0FBY0EsY0FBY3JHLElBQWFNLEtBQUsrRixjQUFj
QSxjQUFjQyxVPQpBQVVDLFNBQVMsZUFDekdKLEVBQVdLLEtBQUtsRyxLQUFLK0YsY0FBY0EsY0FB
Y3JHLEtBS3pELEtBQUssR0FERHlHLE1BQ0tDLEU9CkFBSVIsRUFBWWxDLE9BQVMsRUFBRzBDLEdB
QUssRUFBR0EsSUFBSyxDQUM5QyxHQUFJQyxHQUFxQlQsRUFBWVEsR0FDakNFLEVBQT0KYyxHQUFJ
eEksR0FBa0J5SSxXQUN4Q0QsR0FBWTNDLElBQU0yQyxFQUFZMUMsUUFBVTZCLEVBQWEsWUFDckRh
LEVBQVlFLFFBQVVIPQosRUFDdEJDLEVBQVlHLE9BQVMsVUFDckJOLEVBQW1CRCxLQUFLSSxHQUs1
QixJQUFLLEdBQUlGLEdBQUlQLEVBQVduQyxPQUFTLEU9CkFBRzBDLEdBQUssRUFBR0EsSUFBSyxD
QUM3QyxHQUFJTSxHQUFvQmIsRUFBV08sR0FDL0JFLEVBQWMsR0FBSXhJLEdBQWtCeUksVz0KQUN4
Q0QsR0FBWTNDLElBQU0yQyxFQUFZMUMsUUFBVTZCLEVBQWEsWUFDckRhLEVBQVlFLFFBQVVFLEVB
Q3RCSixFQUFZRyxPQUFTPQosaUJBQ3JCTixFQUFtQkQsS0FBS0ksR0FHNUJ0RyxLQUFLMkcsc0JB
QXdCakQsT0FBUXlDLEVBQW1CekMsT0FBUWtELE9BQVEsYUE9CkFjbEIsYUFBY0EsSUFHcEdtQixP
QUFPQyxRQUFTQyxjQUFjQyxLQUFPLDZCQUErQnZCLEdBQ3BFekYsS0FBS2lILDhCQUErQmQsRT0K
QUFvQlQsSUFNMUR3QixlQUFnQixXQUNabEgsS0FBS21ILFVBQVluSCxLQUFLb0gsYUFDdEJ0RixF
QUFHLHdCQUF5QnVGLE1BQU9DPQosS0FBS0MsTUFBT3ZILEtBQUttSCxVQUFhLEtBQ2pFSyxtQkFB
cUJGLEtBQUtDLE1BQU92SCxLQUFLbUgsVUFBYSxhQUNuRHJGLEU9CkFBRyxvQkFBcUJuQyxLQUFN
NkgscUJBUWxDQyxTQUFXLFNBQVVDLEVBQVdDLEdBQzlCLEdBQUkvQixNQUNBQyxJQUNBL0QsR0FB
Rz0KLGlCQUFrQlAsS0FBTSxZQUFhdUUsS0FBTSxXQUNHLEtBQXhDOUYsS0FBSytGLGNBQWNBLGNB
QWNyRyxJQUFhTSxLQUFLK0YsY0FBPQpjQSxjQUFjQyxVQUFVQyxTQUFTLGVBQ25HTCxFQUFZTSxL
QUFNbEcsS0FBSytGLGNBQWNBLGNBQWNyRyxJQUNILEtBQXhDTSxLQUE9CksrRixjQUFjQSxjQUFj
ckcsSUFBYU0sS0FBSytGLGNBQWNBLGNBQWNDLFVBQVVDLFNBQVMsZUFDMUdKLEVBQVdLLEtBQU1s
RyxLQT0KQUsrRixjQUFjQSxjQUFjckcsS0FHOUQsSUFBSWlFLElBQVFpRSxPQUFPYixjQUFnQkEs
Y0FBY0MsS0FBTyxLQUFRLG1DQUFxQ1csPQpFQUNqR0UsR0FBU0MsT0FBV2xDLEVBQWFDLFdBQWVB
LEVBQ3BEN0YsTUFBSytILGdCQUFpQnBFLEVBQUtrRSxFQUFNLFFBVW5DRSw9CmdCQUFpQixTQUFV
cEUsRUFBS2tFLEVBQU1HLEdBQ3BDLEdBQUtyRSxHQUFPa0UsRUFBTSxDQUVoQkEsRUFBdUIsZ0JB
QVRBLEdBQT0Kb0JBLEVBQU8vRixFQUFFbUcsTUFBT0osRUFFbEQsSUFBSUssR0FBUyxFQUNicEcs
R0FBRWdFLEtBQU0rQixFQUFLckUsTUFBTyxLPQpBQU8sV0FDbkIsR0FBSTJFLEdBQU9uSSxLQUFL
d0QsTUFBTyxJQUN2QjBFLElBQVEsOEJBQStCQyxFQUFLLEdBQUksWUFBYUEsRUE9CkFLLEdBQUks
U0FHOUVyRyxFQUFFLGlCQUFrQjZCLEVBQUssY0FBZXFFLEdBQVEsUUFBUyxLQUFLRSxFQUFPLFdB
Q3BFRSxTQUFVLD0KUUFBU0MsU0FBU0MsU0FDN0J6SyxFQUFXaUgsS0FBTSxzQ0FFakJqSCxHQUFX
d0csTUFBTyx1QkFJdEJrRSx5QkFBMEIsV0FDeEJ2PQpJLEtBQUsrRSx5QkFBMEIsU0FBVXpDLEdB
Q3ZDQSxFQUFLbkQsTUFBUXVCLE9BQU92QixLQUNwQixJQUFJcUosR0FBaUJsRyxFQUE9CkttRyw4
QkFDdEJDLEVBQWNwRyxFQUFLdkMsUUFBUTRJLFVBQVVyRyxFQUFLdkMsUUFBUTRJLFVBQVVqRixP
QUFTLEdBQUcsRUFDNT0KRXBCLEdBQUtuRCxNQUFNNEMsTUFDUFUsZ0JBQWtCLEVBQ2xCQyxNQUFr
QiwrQ0FBaURnRyxFQUNuRS9GLEtBQWtCNkYsR0FBZ0JuPQpKLFVBQVdpRCxFQUFLakQsVUFBVTZG
LFNBQzVEdEMsU0FDSWdHLElBQWMsV0FBWXRHLEVBQUt1Ryw2QkFDL0I5RixNQUFjLFdBQVk9CnJD
LE9BQU92QixNQUFNNkMsU0FFM0M4RyxpQkFBa0IsV0FDaEJwSSxPQUFPdUQsVUFBVThFLGVBQWVD
LFVBS2xDMUcsRUFBS2pELD0KVUFBVTZGLE9BQU94QixPQUFTLEdBQ2pDcEIsRUFBSzJHLCtCQUEr
QjNHLEVBQUtqRCxVQUFVNkYsT0FBTyxHQUFHeEYsSUFDN0RvPQpDLEVBQUcscUJBQXNCb0gsT0FB
TyxTQUFTL0csR0FDdkNHLEVBQUsyRywrQkFBK0I5RyxFQUFNZ0gsT0FBT0MsVUFHbkR2TCxFQUE9
Cld3RyxNQUFPLHdCQVN4QmdGLHlCQUEwQixXQUN4QixHQUFJckUsR0FBT2hGLElBQ1hBLE1BQUti
LE1BQVF1QixPQUFPdkIsS0FDcD0KQixJQUFJcUosR0FBaUJ4SSxLQUFLc0oseUJBQzFCdEosTUFB
S2IsTUFBTTRDLE1BQ1BVLGdCQUFrQixFQUNsQkMsTUFBa0IsK0JBPQpDbEJDLEtBQWtCNkYsTUFD
bEI1RixTQUNJdUMsT0FBYyxXQUFhSCxFQUFLdUUsdUJBQXVCdkUsSUFDdkRqQyxNQUFjLFdBQWFy
Qyw9Ck9BQU92QixNQUFNNkMsU0FFNUM4RyxpQkFBa0IsV0FFaEJwSSxPQUFPdUQsVUFBVThFLGVB
QWVTLFNBQVUsV0FBYXhFLEVBQUt0Rj0KLElBQU0rSixTQUFTLE9BR2pGekosS0FBSzBKLHFCQU9Q
eEosbUJBQW9CLFdBQ2xCLEdBQUk4RSxHQUFPaEYsSUFDWHBDLEdBQVUrPQpMLEtBQ05oRyxLQUFj
aUUsT0FBT2IsY0FBZ0JBLGNBQWNDLEtBQU8sS0FBUSxxQ0FDbEVsRCxRQUFZLFNBQVU4RixHQUNO
LElBQUs9CkMsTUFBT0QsR0FDUjVFLEVBQUt4RixnQkFBZ0IwRyxNQUNqQnhHLEdBQWtCa0ssRUFB
VUMsS0FBS0MsVUFDakNuSyxLQUFrQmlLLD0KRUFBVUMsS0FBS0MsVUFDakNsSyxZQUFrQmdLLEVB
QVVDLEtBQUtqSyxZQUNqQ21LLGdCQUFrQkgsRUFBVUMsS0FBS0UsaUJBR3pDPQovRSxHQUFLeEYs
Z0JBQWdCd0ssS0FBSyxTQUFTQyxFQUFHQyxHQUNsQyxNQUFPRCxHQUFFdkssR0FBS3dLLEVBQUV4
SyxHQUFLLEU9CkFBSXVLLEVBQUV2SyxHQUFLd0ssRUFBRXhLLEdBQUssR0FBSyxJQUVoRHNGLEVB
QUt4RixnQkFBZ0IySyxRQUFRbkYsRUFBS3ZGLD0KU0FHdEQ3QixFQUFVK0wsS0FDTmhHLEtBQVVp
RSxPQUFPYixjQUFnQkEsY0FBY0MsS0FBTyxLQUFRLGNBQzlEbEQsUUFBUyxTQUFVPQpzRyxHQUNQ
LElBQU1QLE1BQU9PLEdBQ1RwRixFQUFLbkYsYUFBYXFHLE1BQ2R4RyxHQUFVMEssRUFBUVAsS0FB
SyxHQUN2QmxLLEs9CkFBVXlLLEVBQVFQLEtBQUssSUFHL0I3RSxHQUFLbkYsYUFBYW1LLEtBQUss
U0FBU0MsRUFBR0MsR0FDL0IsTUFBT0QsR0FBRXZLLD0KR0FBS3dLLEVBQUV4SyxHQUFLLEVBQUl1
SyxFQUFFdkssR0FBS3dLLEVBQUV4SyxHQUFLLEdBQUssUUFNbEVnSyxrQkFBbUIsV0FLPQpqQixH
QUFJMUUsR0FBT2hGLElBQ1hBLE1BQUtWLGNBQWdCLEdBQUl2QixHQUFXRyxNQUNoQ21NLElBQUss
d0JBQ0x4QyxLQUFNN0M9CixFQUFLbkYsYUFDWHlLLFVBQVc1SixPQUFPdkIsTUFBTStCLElBQUlL
LEtBQU0sMEJBQ2xDNkgsTUFBTyxNQUVYcEosS0FBS1QsaT0KQkFBbUIsR0FBSXhCLEdBQVdHLE1B
Q3JDbU0sSUFBSywyQkFDTHhDLEtBQU03QyxFQUFLeEYsZ0JBQ1g4SyxVQUFXNUosT0FBT3ZCPQos
TUFBTStCLElBQUlLLEtBQU0sNkJBQ2xDNkgsTUFBTyxVQVFYbUIsaUNBQWtDLFNBQVV4SyxHQUMx
QyxHQUFJaUYsR0FBT2hGLEs9CkFDUHdJLEVBQWlCeEksS0FBS3dLLHNCQUMxQnhLLE1BQUtiLE1B
QVF1QixPQUFPdkIsTUFDcEJhLEtBQUtiLE1BQU00QyxNQUNUVT0KLGdCQUFrQixFQUNsQkMsTUFB
a0IsaUNBQ2xCQyxLQUFrQjZGLE1BQ2xCNUYsU0FDSXVDLE9BQWMsV0FDWkgsRUFBS3lGLHFCQUFz
PQpCekYsRUFBTWpGLElBRW5DZ0QsTUFBYyxXQUNackMsT0FBT3ZCLE1BQU02QyxTQUduQjhHLGlC
QUFrQixXQUVoQnBJLE9BQU91RCw9ClVBQVU4RSxlQUFlUyxTQUFTLFdBQWF4RSxFQUFLdEYsSUFB
SytKLFNBQVMsT0FJN0V6SixLQUFLMEosb0JBQ0wzSixFQUFRYix3Qj0KQUEwQixVQUNsQ2MsS0FB
SzBLLGFBQWMzSyxHQUVuQitCLEVBQUcscUJBQXNCb0gsT0FBUSxTQUFVL0csR0FDYiwyQkFBdEJB
LEVBPQpBTWdILE9BQU9DLE9BQ2ZySixFQUFRYix3QkFBMEIsVUFDbEM4RixFQUFLMEYsYUFBYzNL
LEdBQ25CK0IsRUFBRSwyQkFBMkJFLE89CkFDN0JGLEVBQUUsOEJBQThCRSxPQUNoQ0YsRUFBRSxz
QkFBc0JFLE9BQ3hCRixFQUFFLHlCQUF5QkMsUUFDSyx5QkFBdEJJLEVBQT0KTWdILE9BQU9DLFFB
Q3ZCdEgsRUFBRSx5QkFBeUJFLE9BQzNCRixFQUFFLDJCQUEyQkMsT0FDN0JELEVBQUUsc0JBQXNC
QyxPQUN4PQpCRCxFQUFFLDhCQUE4QkMsT0FDaENoQyxFQUFRYix3QkFBMEIsUUFDbEM4RixFQUFL
MEYsYUFBYzNLLE9BWTNCMkssYUFBYyxTQUE9ClUzSyxHQUV0QkMsS0FBS0QsUUFBVUUsRUFBRTlC
LE9BQVE2QixLQUFLRCxRQUFTQSxFQUN2QyxJQUFJb0osR0FBU3BKLEVBQVEwRz0KLFFBQVUsVUFD
M0J2SCxFQUEwQmMsS0FBS0QsUUFBUWIsdUJBQzNDYyxNQUFLWixPQUFTLEdBQUl0QixHQUFrQjZN
LE9BQ3BDM0ssPQpLQUFLWixPQUFPdUUsSUFBTTNELEtBQUtaLE9BQU93RSxRQUNWLFdBQWF1RixF
QUNiLDBCQUNjakssRUFDbENjLEtBQUtaLE9BQU89Cm1HLE9BQ1Z6QixRQUFTLFNBQVNRLEdBRWhC
NUcsT0FBUSxTQUFVLFdBQVksTUFBT21KLFVBRXJDK0QsU0FBVSxzQkFBd0IsV0FDaD0KQzlJLEVB
QUUsbUJBQW1CMUMsT0FBTyxXQUM1QjBDLEVBQUUsbUJBQW1CMUMsUUFDbkJ5TCxNQUNFaEQsS0FB
UXZELEdBRVZ3RyxTPQpBQVksUUFBUyxZQUNyQkMsT0FDRTVILFFBQ0U2SCxLQUFRLGlCQUVWQyxN
QUNFRCxLQUFRLGdCQUdaRSxVQUNFQyxhQUFhLFFBS3I9CkI5RyxNQUFPLFNBQVNDLEVBQU9DLEdB
Q2dCLG1CQUExQkEsR0FBU0MsYUFDcUIsU0FBbkNELEVBQVNDLGFBQWE0RyxTQUN4QnZOLD0KRUFB
V3dOLFFBQVE5RyxFQUFTQyxhQUFhQyxTQUV6QzVHLEVBQVd3RyxNQUFNRSxFQUFTQyxhQUFhQyxT
QUd6QzVHLEVBQVd3RyxNPQpBQU0seUJBV3pCa0YsdUJBQXdCLFdBQ3RCLEdBQUkrQixHQUFnQnRM
LEtBQUtiLE1BQU0rQixJQUFJSyxLQUFLLHNCQUFzQmdLLEc9CkFBRyxZQUM3REMsRUFBWXhMLEtB
QUtiLE1BQU0rQixJQUFJSyxLQUFLLGtCQUFrQmdLLEdBQUcsWUFDckRFLEVBQVl6TCxLQUFLVD0K
LGlCQUFpQjZKLFFBQ2xDc0MsRUFBUTFMLEtBQUtWLGNBQWM4SixRQUMzQnVDLEVBQVE3SixFQUFF
LHlCQUF5QjZDLE1BQ25DaUgsPQpJQUNKLElBQUtELEVBRUUsQ0FDTDNMLEtBQUtiLE1BQU1xRyxj
QUFjLFVBQ3pCbUcsRUFBUUEsRUFBTW5JLE1BQU0sS0FDcEIsS0E9CkFLLEdBQUk0QyxHQUFJdUYs
RUFBTWpJLE9BQVMsRUFBRzBDLEdBQUssRUFBR0EsSUFDckN5RixRQUFVRixFQUFNdkYsR0FBRzBG
LD0KT0FDRSxJQUFqQkQsUUFBUW5JLFFBQ1ZrSSxFQUFZMUYsS0FBSzJGLFFBR3JCN0wsTUFBSzJH
LHNCQUF3QmpELE9BQVFrSSxFQUFZPQpsSSxPQUFRa0QsT0FBUSxvQkFDakU1RyxLQUFLK0wsMkJB
QTZCSixNQUFPQyxFQUNQTixjQUFlQSxFQUNmRSxVQUFXQSxFQUNYL0U9CixPQUFRLGFBQ1JnRixV
QUFXQSxFQUNYQyxNQUFPQSxRQWhCekM3TixHQUFXaUgsS0FBSyxpREF5QnBCNkIscUJBQXNCLFNB
QVU1Rz0KLEdBQzlCLEdBQUl3QyxFQUNKLFFBQVF4QyxFQUFRNkcsUUFDZCxJQUFLLGtCQUNIckUs
RUFBV3ZDLEtBQUtnTSxvQ0FDaEJoTSxLPQpBQUtiLE1BQU0rQixJQUFJSyxLQUFNLGVBQWdCSixL
QUFNb0IsR0FBWW1HLFlBQWMxSSxLQUFLRCxRQUFRMkksY0FDbEYsTUFDRiw9CktBQUssb0JBQ0hu
RyxFQUFXdkMsS0FBS2lNLHNDQUNoQmpNLEtBQUtiLE1BQU0rQixJQUFJSyxLQUFNLGVBQWdCSixL
QUFNb0IsST0KQUMzQyxNQUNGLEtBQUssYUFDSEEsRUFBV3ZDLEtBQUtrTSx1Q0FDaEJsTSxLQUFL
YixNQUFNK0IsSUFBSUssS0FBTSxlQUFnQkosPQpLQUFNb0IsR0FBWW1ELGFBQWUzRixFQUFRMkYs
ZUFDOUUsTUFDRixTQUNFeUcsUUFBUTlILE1BQU8sMkJBTW5CckUsS0FBS21ILFM9CkFBVyxFQUNo
Qm5ILEtBQUtvSCxhQUFlLElBQU1ySCxFQUFRMkQsT0FDbEMxRCxLQUFLRCxRQUFRaEIsbUJBQW1C
QyxhQUFlZSxFQT0KQVEyRCxPQUN2RDFELEtBQUtELFFBQVFoQixtQkFBbUJFLGNBQWdCLEdBV2xE
d0wscUJBQXNCLFNBQVd6RixFQUFNakYsR0FDckMsPQpHQUFJcU0sR0FBaUJ0SyxFQUFHLG1CQUFv
QjFDLFNBQVNpTixjQUFjLEdBQy9EZixFQUFnQnRMLEtBQUtiLE1BQU0rQixJQUFJSyw9CktBQU0s
c0JBQXVCZ0ssR0FBSSxZQUNoRUMsRUFBWXhMLEtBQUtiLE1BQU0rQixJQUFJSyxLQUFNLGtCQUFt
QmdLLEdBQUksWUFDeD0KREUsRUFBWXpMLEtBQUtULGlCQUFpQjZKLFFBQ2xDc0MsRUFBUTFMLEtB
QUtWLGNBQWM4SixRQUMzQmtELEVBQWlCRixFQUFlLEdBPQpBR3BJLEtBQ25DMkgsSUFDSixJQUFL
UyxFQUFlMUksT0FBUyxFQUMzQjdGLEVBQVdpSCxLQUFNLHVDQUNaLENBQ0w5RSxLQUFLYiw9Ck1B
QU1xRyxjQUFlLFNBQzFCLEtBQU0sR0FBSVksR0FBSWdHLEVBQWUxSSxPQUFTLEVBQUcwQyxHQUFL
LEVBQUdBLElBQ0ZtRyxTQT0KQXhDSCxFQUFlaEcsR0FBR29HLFFBQVE3RCxXQUM3QmdELEVBQU16
RixLQUFNa0csRUFBZWhHLEdBQUdvRyxRQUFRN0QsVUFJMUMsPQpJQURBM0ksS0FBSzJHLHNCQUF3
QmpELE9BQVFpSSxFQUFNakksT0FBUWtELE9BQVEsb0JBQ25DLFdBQW5CMEYsRUFBNkIsQ0FDaEM9
CixHQUFJRyxHQUFjMU0sRUFBUTBHLE9BQVMsU0FDbkN6RyxNQUFLK0wsMkJBQTZCSixNQUFPQSxF
QUNQTCxjQUFlQSxFQUNmRSxVQT0KQVdBLEVBQ1gvRSxPQUFRZ0csRUFDUmhCLFVBQVdBLEVBQ1hD
LE1BQU9BLFFBQ3BDLElBQXdCLFNBQW5CWSxFQUEyQixDQUNyQyxHPQpBQUlHLEdBQWMxTSxFQUFR
MEcsT0FBUyxPQUNuQ3pHLE1BQUswTSxnQ0FBa0NmLE1BQVFBLEVBQ1JGLFVBQVdBLEVBQ1hDLE1B
QU89CkEsRUFDUGpGLE9BQVFnRyxPQUtyRHhELCtCQUFnQyxTQUFTeEQsR0FDdkMsR0FBSWtILEdB
QW1CLEdBQUk3TyxHQUFrQjhPLGlCQT0KQWlCbE4sR0FBRytGLElBQzdEbkQsRUFBT3RDLElBQ1gy
TSxHQUFpQnBILE9BQ2Z6QixRQUFTLFNBQVM2SSxHQUNoQixHQUFJRSxHPQpBQTRCdkssRUFBS3dL
LHlCQUNyQ3hLLEdBQUtqRCxVQUFVc0ssSUFBSWxFLEdBQVkxQixLQUFLZ0osU0FBYUosSUFDakRy
SyxFQUE9CktuRCxNQUFNK0IsSUFBSUssS0FBSyw2QkFBNkJKLEtBQUswTCxHQUEyQkYsaUJBQWtC
QSxFQUFpQnpILE9BQU84SCxjQUU3SDNJLD0KTUFBTyxTQUFTQyxFQUFPQyxHQUVuQjFHLEVBQVd3
RyxNQUR3QixtQkFBMUJFLEdBQVNDLGFBQ0RELEVBQVNDLGFBQWFDLFFBRXRCPQoseUJBU3pCb0Us
MEJBQTRCLFdBQzFCLEdBQUlvRSxHQUFlak4sS0FBS2IsTUFBTStCLElBQUlLLEtBQU0sNkJBQThC
QSxLQUFNLFk9CkFDeEUyTCxLQUNBQyxJQUNKLElBQUtGLEVBQWF2SixPQUFTLEVBQ3pCN0YsRUFB
V2lILEtBQU0sNENBQ1osQ0FDTDlFLEtBQUtiLD0KTUFBTXFHLGNBQWUsT0FDMUJ5SCxFQUFhbkgs
S0FBSyxXQUNoQixHQUFJc0gsR0FBTXRMLEVBQUc5QixLQUFLK0YsZUFBZ0I4QixLPQpBQU0sS0FD
akN1RixJQUNIRixFQUFvQmhILEtBQU1rSCxJQUdoQyxLQUFNLEdBQUloSCxHQUFJOEcsRUFBb0J4
SixPQUFTLEVBQUc9CjBDLEdBQUssRUFBR0EsSUFBTSxDQUMxRGlILG1CQUFxQkgsRUFBb0I5RyxF
QUN6QyxJQUFJa0gsR0FBYyxHQUFJeFAsR0FBa0J5UD0KLElBQ3hDRCxHQUFZM0osS0FBUWlFLE9B
QU9iLGNBQWdCQSxjQUFjQyxLQUFPLEtBQVEsZUFBaUJoSCxLQUFLRCxRQUFRTCxHQUFLPQosWUFD
M0c0TixFQUFZdkosS0FBT3lKLFlBQWNILHFCQUNqQ0YsRUFBWWpILEtBQU1vSCxHQUVwQnROLEtB
QUsyRyxzQkFBd0JqRCw9Ck9BQVF5SixFQUFZekosT0FBUWtELE9BQVEsb0JBQ2pFNUcsS0FBS3lO
LG9CQUFxQk4sS0FVOUJsRyw4QkFBK0IsU0FBVXlHLEVBQT0Ka0JoSSxHQUN6RCxHQUFJcEQsR0FB
T3RDLEtBQ1AyTixFQUFjRCxFQUFpQkUsS0FDbkMsSUFBMkIsbUJBQWZELEdBU1YsTUFSdUQsPQpL
QUFsRDNOLEtBQUtELFFBQVFoQixtQkFBbUJFLGNBQ25DcEIsRUFBV2lHLFFBQVMsNkVBQThFLElB
QU0rSixRQUFTLFdBQWFqRyw9Ck9BQU9rRyxTQUFTLE9BQ3BJOU4sS0FBS0QsUUFBUWhCLG1CQUFt
QkUsZ0JBQWtCZSxLQUFLRCxRQUFRaEIsbUJBQW1CQyxhQUM1Rj0KbkIsRUFBV3dHLE1BQU8sa0VB
Q1JyRSxLQUFLRCxRQUFRaEIsbUJBQW1CRSxjQUFnQmUsS0FBS0QsUUFBUWhCLG1CQUFtQkMsY0FD
PQoxRm5CLEVBQVd3TixRQUFTLGdHQUFpRyxJQUFNd0MsUUFBUyxXQUFhakcsT0FBT2tHLFNBQVMs
T0FFbktwTixPQUFPdkIsTUFBTTY9CkMsUUFDTixDQUVULElBQUkrTCxHQUFVak0sRUFBRWtNLEtB
QU1MLEVBQVk5SixNQUFRMkMsUUFBU21ILEVBQVluSCxRQUFTQyxPQT0KQVFrSCxFQUFZbEgsU0FF
NUZzSCxHQUFRRSxLQUFNLFdBQ0ozTCxFQUFLNEUsaUJBQ0w1RSxFQUFLMkUsOEJBQStCeUcsRUFB
a0JoPQpJLEtBRXZEd0ksS0FBTSxXQUNMNUwsRUFBS3ZDLFFBQVFoQixtQkFBbUJFLGVBQWlCLEVB
Q2pEcUQsRUFBSzRFLGlCQUNMNUUsRUE9CkFLMkUsOEJBQStCeUcsRUFBa0JoSSxNQVNsRWdILCtC
QUFnQyxTQUFVM00sR0FFeEMsR0FBSWlGLEdBQU9oRixLQUNQMk4sRUFBYz0KNU4sRUFBUTRMLE1B
QU1pQyxLQUNoQyxJQUE0QixtQkFBaEJELEdBT1YsTUFOdUQsS0FBbEQzTixLQUFLRCxRQUFRaEIs
bUJBQW1CPQpFLGVBQ25DcEIsRUFBV2lHLFFBQVMsbURBQ3BCcEQsT0FBT3ZCLE1BQU02QyxRQUVi
bkUsRUFBV3dHLE1BQU8sc0JBRWIsQ0FFVCw9CklBQUkwSixHQUFVak0sRUFBRWtNLEtBQU1sTSxF
QUFFcU0sTUFBUXZHLE9BQU9iLGNBQWdCQSxjQUFjQyxLQUFPLEtBQVEsNENBQT0KOENoQyxFQUFL
dEYsR0FDcEYsV0FBYUssRUFBUTBHLE9BQ3JCLFNBQVdrSCxFQUNYLGNBQWdCNU4sRUFBUTBMLFVB
Q3hCLFVBQVkxPQpMLEVBQVEyTCxPQUN2RXFDLEdBQVFFLEtBQU0sV0FDSmpKLEVBQUtrQyxpQkFD
TGxDLEVBQUswSCwrQkFBZ0MzTSxLQUV0Q21PLEs9CkFBTSxXQUNMbEosRUFBS2pGLFFBQVFoQixt
QkFBbUJFLGVBQWlCLEVBQ2pEK0YsRUFBS2tDLGlCQUNMbEMsRUFBSzBILCtCQUFnQz0KM00sTUFh
akRnTSwwQkFBMkIsU0FBVWhNLEdBRW5DLEdBQUlpRixHQUFPaEYsS0FDUDJOLEVBQWM1TixFQUFR
NEwsTUFBTWlDLEtBPQpDaEMsSUFBMEIsbUJBQWZELEdBUVQsTUFQc0QsS0FBbEQzTixLQUFLRCxR
QUFRaEIsbUJBQW1CRSxlQUNsQ3BCLEVBQVdpRyxRQUE9ClEseUVBQ25CcEQsT0FBT3ZCLE1BQU02
QyxRQUdibkUsRUFBV3dHLE1BQU0sc0JBRVosQ0FFVCxJQUFJMEosR0FBVWpNLEVBQUVrTT0KLEtB
QU1sTSxFQUFFcU0sTUFBUXZHLE9BQU9iLGNBQWdCQSxjQUFjQyxLQUFPLEtBQVEsNENBQThDaEMs
RUFBS3RGLEdBQ2pGLFdBPQpBYUssRUFBUTBHLE9BQ3JCLFNBQVdrSCxFQUNYLGtCQUFvQjVOLEVB
QVF1TCxjQUM1QixjQUFnQnZMLEVBQVF5TCxVQUN4QixjQUE9CmdCekwsRUFBUTBMLFVBQ3hCLFVB
QVkxTCxFQUFRMkwsT0FDMUVxQyxHQUFRRSxLQUFLLFdBQ0hqSixFQUFLa0MsaUJBQ0xsQyxFQT0K
QUsrRywwQkFBMkJoTSxLQUVqQ21PLEtBQUssV0FDSmxKLEVBQUtqRixRQUFRaEIsbUJBQW1CRSxl
QUFpQixFQUNqRCtGLEVBQUtrPQpDLGlCQUNMbEMsRUFBSytHLDBCQUEyQmhNLE1BUzVDME4sb0JB
QXFCLFNBQVVXLEdBQzdCLEdBQUk5TCxHQUFPdEMsSUFDWEEsTUE9CkFLcU8sV0FBYSxHQUFJdlEs
R0FBa0J3USxNQUN4QyxJQUFJWCxHQUFjUyxFQUFTUixLQUMzQixJQUEyQixtQkFBZkQsR0FTVixN
QT0KUnVELEtBQWxEM04sS0FBS0QsUUFBUWhCLG1CQUFtQkUsY0FDbkNwQixFQUFXaUcsUUFBUyxz
REFDVjlELEtBQUtELFFBQVFoQixtPQpCQUFtQkUsZ0JBQWtCZSxLQUFLRCxRQUFRaEIsbUJBQW1C
QyxhQUM1Rm5CLEVBQVd3RyxNQUFPLGdFQUNSckUsS0FBS0QsUUFBUWg9CkIsbUJBQW1CRSxjQUFn
QmUsS0FBS0QsUUFBUWhCLG1CQUFtQkMsY0FDMUZuQixFQUFXd04sUUFBUyx5REFFdEIzSyxPQUFP
dkIsTT0KQUFNNkMsT0FDTmhDLEtBQUtxTyxVQUVkLElBQUlOLEdBQVVqTSxFQUFFa00sS0FBTUws
RUFBWTlKLE1BQVEySixZQUFhRyxFQUFZPQpoRSxJQUFLLGlCQUV4RW9FLEdBQVFFLEtBQU0sU0FB
VTNKLEdBQ2Q1RCxPQUFPdUQsVUFBVUMsZUFBZUMsV0FBV0MsSUFBS0UsR0E9CkNoRGhDLEVBQUs0
RSxpQkFDTDVFLEVBQUttTCxvQkFBcUJXLEtBRTNCRixLQUFNLFdBQ0w1TCxFQUFLdkMsUUFBUWhC
LG1CQUFtQj0KRSxlQUFpQixFQUNqRHFELEVBQUs0RSxpQkFDTDVFLEVBQUttTCxvQkFBcUJXLE1B
U3RDRyx1QkFBd0IsU0FBVUMsR0FDbEMsR0FBPQpJbE0sR0FBT3RDLElBQ1hBLE1BQUt5TyxjQUFn
QixHQUFJM1EsR0FBa0J3USxNQUMzQyxJQUFJWCxHQUFjYSxFQUFnQlosS0FDbEM9CixJQUE0Qixt
QkFBaEJELEdBU1YsTUFSdUQsS0FBbEQzTixLQUFLRCxRQUFRaEIsbUJBQW1CRSxjQUNuQ3BCLEVB
QVdpRyxRQUFTLD0KZ0NBQ1Y5RCxLQUFLRCxRQUFRaEIsbUJBQW1CRSxnQkFBa0JlLEtBQUtELFFB
QVFoQixtQkFBbUJDLGFBQzVGbkIsRUFBV3dHLE1BPQpBTyxtR0FDUnJFLEtBQUtELFFBQVFoQixt
QkFBbUJFLGNBQWdCZSxLQUFLRCxRQUFRaEIsbUJBQW1CQyxjQUMxRm5CLEVBQVd3Tiw9ClFBQVMs
NkZBRXRCM0ssT0FBT3ZCLE1BQU02QyxPQUNOaEMsS0FBS3lPLGFBRWQsSUFBSVYsR0FBVWpNLEVB
QUVrTSxLQUFNTCxFQT0KQVllLFVBRWxDWCxHQUFRRSxLQUFNLFNBQVVVLEdBSWQsR0FIQWpPLE9B
QU91RCxVQUFVQyxlQUFlQyxXQUFXbUUsT0FBUXFGLEVBPQpBWWpPLElBQy9ENEMsRUFBSzRFLGlC
QUVBeEcsT0FBT3VELFVBQVVDLGVBQWVuRSxRQUFRNk8sZ0JBQWlCLENBQzVELEdBQUlDLEc9CkFB
ZSxJQUNELFlBQWRGLEVBQUszSyxNQUEwQyxrQkFBckIySyxFQUFLRyxZQUNqQ0QsRUFBZSxHQUFJ
L1EsR0FBa0JzRixjQUFldT0KTCxHQUM3QixTQUFkQSxFQUFLM0ssTUFBd0MsbUJBQXJCMkssRUFB
S0csWUFDdENELEVBQWUsR0FBSS9RLEdBQWtCeVAsS0FBTW9CPQosSUFFM0N4QyxRQUFROUgsTUFB
TSxvQ0FDZDhILFFBQVE5SCxNQUFNc0ssRUFBSzNLLE1BQVEySyxFQUFLRyxjQUVsQ3BPLE9BQU89
CnVELFVBQVVDLGVBQWVDLFdBQVdDLElBQUt5SyxHQUVsRHZNLEVBQUtpTSx1QkFBd0JDLEtBRTlC
TixLQUFNLFdBQ0w1TCxFQUFLdj0KQyxRQUFRaEIsbUJBQW1CRSxlQUFpQixFQUNqRHFELEVBQUs0
RSxpQkFDTDVFLEVBQUtpTSx1QkFBd0JDLE1BT3ZDTyxvQkFBcUIsPQpTQUFTNU0sR0FFMUJ6QixP
QUFPdUQsVUFBVUMsZUFBZThLLFlBRDlCN00sRUFBTWdILE9BQU84RixTQUM4QkwsaUJBQWlCLElB
RWo9CkJBLGlCQUFpQixLQU9sRU0sdUJBQXdCLFdBQ3RCLEdBQUlySyxHQUFnQi9DLEVBQUUsaUJB
QWlCUCxLQUFLLFdBQzVDLElBQTRCLD0KSUFBekJzRCxFQUFjbkIsT0FDYjdGLEVBQVdpSCxLQUFL
LDBEQUNiLENBQ0wsR0FBSXZDLEdBQVd2QyxLQUFLaU0scUNBQ3BCak0sPQpNQUFLYixNQUFRdUIs
T0FBT3ZCLE1BQ3BCYSxLQUFLYixNQUFNNEMsTUFDUFUsZ0JBQWtCLEVBQ2xCQyxNQUFrQiw2QkFD
bEJDLEs9CkFBa0JKLE1BQ2xCSyxTQUNJRyxNQUFjLFdBQVlyQyxPQUFPdkIsTUFBTTZDLFdBSS9D
aEMsS0FBS0QsUUFBUWhCLG1CQUFtQkMsYT0KQUFlLEVBQy9DZ0IsS0FBS0QsUUFBUWhCLG1CQUFt
QkUsY0FBZ0IsQ0FFaEQsSUFBSTJHLE1BQ0FDLElBQ0poQixHQUFjaUIsS0FBPQpLLFdBQzZCLEtB
QXhDOUYsS0FBSytGLGNBQWNBLGNBQWNyRyxLQUN5QixLQUF0RE0sS0FBSytGLGNBQWNBLGNBQWNy
RyxHQUFHeVA9CixVQUFVLEVBQUUsR0FDbER0SixFQUFXSyxLQUFLbEcsS0FBSytGLGNBQWNBLGNB
QWNyRyxJQUVqRGtHLEVBQVlNLEtBQUtsRyxLQT0KQUsrRixjQUFjQSxjQUFjckcsTUFLNUQsSUFB
STBQLEdBQWN4SixFQUFZbEMsT0FBU21DLEVBQVduQyxNQUNsRDFELE1BQUtvSCxhPQpBQWUsSUFB
TWdJLEVBQzFCcFAsS0FBS21ILFNBQVcsQ0FJaEIsS0FBSyxHQUREcUgsTUFDS3BJLEVBQUlSLEVB
QVlsQyxPQUFTLEU9CkFBRzBDLEdBQUssRUFBR0EsSUFBSyxDQUM5QyxHQUFJaUosR0FBVSxHQUFJ
dlIsR0FBa0J5UCxNQUFNN04sR0FBR2tHLEVBQVlRLD0KSUFDekRvSSxHQUFnQnRJLEtBQUttSixH
QUV6QixJQUFLLEdBQUlqSixHQUFJUCxFQUFXbkMsT0FBUyxFQUFHMEMsR0FBSyxFQUFHPQpBLElB
QUssQ0FDN0MsR0FBSWpELEdBQVMsR0FBSXJGLEdBQWtCc0YsZUFBZTFELEdBQUdtRyxFQUFXTyxJ
QUNoRW9JLEdBQWdCdEk9CixLQUFLL0MsR0FHekJuRCxLQUFLRCxRQUFRaEIsbUJBQW1CQyxhQUFl
b1EsRUFBWTFMLE9BRTNEMUQsS0FBS3VPLHVCQUF1QkMsSz0KQUtoQ2MsWUFBYSxXQUNYLEdBQUlD
LEdBQWE3TyxPQUFPdUQsVUFBVUMsZUFBZXNMLGdCQUFnQkMsV0FBV0MsU0FBU0Msa0JBQ2pGPQpD
LEVBQVUsS0FDVjVLLEVBQU9oRixJQUM4QixRQUFyQ1UsT0FBT3VELFVBQVU0TCxpQkFDbkJELEVB
QVVsUCxPQUFPdUQsVUFBVTQ9CkwsZ0JBQWdCMUwsV0FBV3dGLElBQUk0RixHQUMxRHZQLEtBQUs4
UCxpQkFBaUJGLEtBRXRCQSxFQUFVLEdBQUk5UixHQUFrQmlTLD0KU0FBU3JRLEdBQUk2UCxJQUM3
Q0ssRUFBUXJLLE9BQ056QixRQUFTLFdBQ1BrQixFQUFLOEssaUJBQWlCRixJQUV4QnZMLE1BQU8s
PQpTQUFTQyxFQUFPQyxHQUVuQjFHLEVBQVd3RyxNQUR3QixtQkFBMUJFLEdBQVNDLGFBQ0RELEVB
QVNDLGFBQWFDLFFBRXRCLDBCQU89CjNCcUwsaUJBQWtCLFNBQVNGLEdBQ3pCLEdBQUlyTixHQUFX
dkMsS0FBS2dRLHdCQUNwQmhRLE1BQUtiLE1BQVF1QixPQUFPdkIsTT0KQUNwQmEsS0FBS2IsTUFB
TTRDLE1BQ1BVLGdCQUFrQixFQUNsQkMsTUFBa0Isc0JBQ2xCQyxLQUFrQkosR0FBVXFOLFFBQVFB
LElBPQpDcENoTixTQUNJRyxNQUFjLFdBQVlyQyxPQUFPdkIsTUFBTTZDLFlBS2pEaU8sZ0JBQWlC
LFNBQVNsUSxHQUN4QixPQUFPQSxFQUE9ClEwRyxRQUNiLElBQUssVUFDSHpHLEtBQUt1SSwwQkFD
TCxNQUNGLEtBQUssWUFDSHZJLEtBQUt1SyxrQ0FBb0M5RCxPQUFRLGFBQz0KakQsTUFDRixLQUFL
LE9BQ0h6RyxLQUFLcUosMEJBQ0wsTUFDRixLQUFLLFVBQ0hySixLQUFLdUssa0NBQW9DOUQsT0FB
USxXQUNqPQpELE1BQ0YsU0FDRS9GLE9BQU91RCxVQUFVOEUsZUFBZUMsT0FDaENuTCxFQUFXd0cs
TUFBTSw0QkFRdkI2TCxtQkFBb0IsV0FDbEI9CixHQUFJQyxHQUFtQkMsT0FBUSw4Q0FBK0MxUCxP
QUFPdUQsVUFBVW9NLFlBQVkxRyxJQUFLLG9CQUNyRixPQUFwQndHLEdBQWdDQT0KLEdBQW9CMU8s
U0FBVTBPLEtBQ2pFelAsT0FBT3VELFVBQVVvTSxZQUFZdE0sS0FBT29NLGlCQUFvQjFPLFNBQVUw
TyxLQUNsRXpQPQosT0FBT3VELFVBQVVDLGVBQWUvRCxRQUFVVCxHQUFJTSxLQUFLRCxRQUFRTCxH
QUFJOEIsVUFBVyxNQUloRm5CLGdCQUFpQixXQXU9CkVmLE1BdEVBaVEsZUFHQUEsV0FBV3BLLEtB
QUsseUNBRWhCb0ssV0FBV3BLLEtBQUssK0JBQ2hCb0ssV0FBV3BLLEtBQUssMENBQz0KaEJvSyxX
QUFXcEssS0FBSyxtREFDaEJvSyxXQUFXcEssS0FBSyxvRUFFaEJvSyxXQUFXcEssS0FBSyxxQkFD
aEJvSyxXQUFXcEssPQpLQUFLLHVHQUNoQm9LLFdBQVdwSyxLQUFLLFdBQ2hCb0ssV0FBV3BLLEtB
QUssc0ZBQ2hCb0ssV0FBV3BLLEtBQUssWUFDaEJvSyw9CldBQVdwSyxLQUFLLFVBQ2hCb0ssV0FB
V3BLLEtBQUssd1JBRWhCb0ssV0FBV3BLLEtBQUssMkNBQ2hCb0ssV0FBV3BLLEtBQUsscz0KRUFD
aEJvSyxXQUFXcEssS0FBSywwSUFDaEJvSyxXQUFXcEssS0FBSyxzR0FDaEJvSyxXQUFXcEssS0FB
SyxrQkFDaEJvSyxXQUFXPQpwSyxLQUFLLCtDQUNoQm9LLFdBQVdwSyxLQUFLLGtGQUNoQm9LLFdB
QVdwSyxLQUFLLDhEQUNoQm9LLFdBQVdwSyxLQUFLLHlGQUM9CmhCb0ssV0FBV3BLLEtBQUssV0FD
aEJvSyxXQUFXcEssS0FBSyxzREFFaEJvSyxXQUFXcEssS0FBSyxnQ0FDaEJvSyxXQUFXcEssSz0K
QUFLLG1EQUVoQm9LLFdBQVdwSyxLQUFLLHlEQUNoQm9LLFdBQVdwSyxLQUFLLHVGQUNoQm9LLFdB
QVdwSyxLQUFLLFdBRWhCb0ssPQpXQUFXcEssS0FBSyxzREFDaEJvSyxXQUFXcEssS0FBSywyRUFD
aEJvSyxXQUFXcEssS0FBSyxXQUNoQm9LLFdBQVdwSyxLQUFLLFc9CkFDaEJvSyxXQUFXcEssS0FB
SyxjQUNoQm9LLFdBQVdwSyxLQUFLLGFBQ2hCb0ssV0FBV3BLLEtBQUssa0JBQ2hCb0ssV0FBV3BL
LD0KS0FBSyx3UUFDaEJvSyxXQUFXcEssS0FBSyxXQUVoQm9LLFdBQVdwSyxLQUFLLHdSQUNoQm9L
LFdBQVdwSyxLQUFLLDhHQUNoQm9LPQosV0FBV3BLLEtBQUssNEpBQ2hCb0ssV0FBV3BLLEtBQUss
a0ZBQ2hCb0ssV0FBV3BLLEtBQUssa0JBQ2hCb0ssV0FBV3BLLEtBQUs9CiwrQ0FDaEJvSyxXQUFX
cEssS0FBSywyRUFDaEJvSyxXQUFXcEssS0FBSywyRUFDaEJvSyxXQUFXcEssS0FBSyx3RUFDaEJv
SyxXQT0KQVdwSyxLQUFLLGNBQ2hCb0ssV0FBV3BLLEtBQUssYUFDaEJvSyxXQUFXcEssS0FBSyx1
UkFDaEJvSyxXQUFXcEssS0FBSyx1UUFDPQpoQm9LLFdBQVdwSyxLQUFLLHVUQUNoQm9LLFdBQVdw
SyxLQUFLLFdBQ2hCb0ssV0FBV3BLLEtBQUssV0FHaEJvSyxXQUFXcEssS0E9CkFLLG9DQUNoQm9L
LFdBQVdwSyxLQUFLLFdBQ2hCb0ssV0FBV3BLLEtBQUssVUFHVGpHLEVBQUVzQyxTQUFTK04sV0FB
V0MsS0FBSz0KLE1BR3BDUCx1QkFBd0IsV0FjdEIsTUFiQU0sZUFFQUEsV0FBV3BLLEtBQUssNkJB
Q2hCb0ssV0FBV3BLLEtBQUssMEJBQ2hCb0ssPQpXQUFXcEssS0FBSyxxQ0FDaEJvSyxXQUFXcEss
S0FBSyxpQ0FDaEJvSyxXQUFXcEssS0FBSyw0Q0FDaEJvSyxXQUFXcEssS0FBSyw9CjhCQUNoQm9L
LFdBQVdwSyxLQUFLLHlDQUNoQm9LLFdBQVdwSyxLQUFLLGdKQUVoQm9LLFdBQVdwSyxLQUFLLFVB
RVRqRyxFQUFFcz0KQyxTQUFTK04sV0FBV0MsS0FBSyxNQUdwQy9OLHlCQUEwQixXQVV4QixNQVRB
OE4sZUFFQUEsV0FBV3BLLEtBQUssK0JBQ2hCb0ssPQpXQUFXcEssS0FBSyxVQUNoQm9LLFdBQVdw
SyxLQUFLLCtEQUNoQm9LLFdBQVdwSyxLQUFLLDZFQUNoQm9LLFdBQVdwSyxLQUFLLFc9CkFDaEJv
SyxXQUFXcEssS0FBSyxVQUVUakcsRUFBRXNDLFNBQVMrTixXQUFXQyxLQUFLLE1BSXBDdEwsMEJB
QTRCLFdBQzFCLEdBQT0KSXFMLEtBV0osT0FUQUEsR0FBV3BLLEtBQUssaUdBQ2hCb0ssRUFBV3BL
LEtBQUssb0JBQ2hCb0ssRUFBV3BLLEtBQUsseUdBQ2hCPQpvSyxFQUFXcEssS0FBSyxrREFDaEJv
SyxFQUFXcEssS0FBSywyR0FDaEJvSyxFQUFXcEssS0FBSyxnQkFDaEJvSyxFQUFXcEssS0E9CkFL
LGFBQ2hCb0ssRUFBV3BLLEtBQUssV0FFVGpHLEVBQUVzQyxTQUFTK04sRUFBV0MsS0FBSyxNQUdw
Q3JFLHFDQUF1QyxXQUNyQz0KLEdBQUlvRSxLQVlKLE9BVkFBLEdBQVdwSyxLQUFLLDZCQUNoQm9L
LEVBQVdwSyxLQUFLLCtFQUNoQm9LLEVBQVdwSyxLQUFLLFVBPQpDaEJvSyxFQUFXcEssS0FBSyww
QkFDaEJvSyxFQUFXcEssS0FBSyxvSkFDaEJvSyxFQUFXcEssS0FBSywyREFDaEJvSyxFQUFXcEs9
CixLQUFLLGFBQ2hCb0ssRUFBV3BLLEtBQUssVUFDaEJvSyxFQUFXcEssS0FBSyxJQUVUakcsRUFB
RXNDLFNBQVMrTixFQUFXQyxLQT0KQUssTUFHcEN2RSxrQ0FBbUMsV0FDakMsR0FBSXNFLEtBWUos
T0FWQUEsR0FBV3BLLEtBQUssNkJBQ2hCb0ssRUFBV3BLLEtBQUssPQprRkFDaEJvSyxFQUFXcEss
S0FBSyxVQUNoQm9LLEVBQVdwSyxLQUFLLDBCQUNoQm9LLEVBQVdwSyxLQUFLLG9KQUNoQm9LLEVB
QVc9CnBLLEtBQUssMkRBQ2hCb0ssRUFBV3BLLEtBQUssYUFDaEJvSyxFQUFXcEssS0FBSyxVQUNo
Qm9LLEVBQVdwSyxLQUFLLElBRVRqRz0KLEVBQUVzQyxTQUFTK04sRUFBV0MsS0FBSyxNQUdwQ3RF
LG9DQUFxQyxXQUNuQyxHQUFJcUUsS0FXSixPQVRBQSxHQUFXcEssS0FBPQpLLDZCQUNoQm9LLEVB
QVdwSyxLQUFLLFVBQ2hCb0ssRUFBV3BLLEtBQUssMEJBQ2hCb0ssRUFBV3BLLEtBQUssb0pBQ2hC
b0ssRUE9CkFXcEssS0FBSywyREFDaEJvSyxFQUFXcEssS0FBSyxhQUNoQm9LLEVBQVdwSyxLQUFL
LFVBQ2hCb0ssRUFBV3BLLEtBQUssSUFFVD0KakcsRUFBRXNDLFNBQVMrTixFQUFXQyxLQUFLLE1B
R3BDL0YscUJBQXNCLFdBQ3BCLEdBQUk4RixLQW9DSixPQWxDQUEsR0FBV3BLPQosS0FBSyxpQ0FD
aEJvSyxFQUFXcEssS0FBSywySEFDaEJvSyxFQUFXcEssS0FBSyx5TEFHaEJvSyxFQUFXcEssS0FB
SyxvQ0FDaEI9Cm9LLEVBQVdwSyxLQUFLLGdDQUNoQm9LLEVBQVdwSyxLQUFLLHVJQUNoQm9LLEVB
QVdwSyxLQUFLLFlBQ2hCb0ssRUFBV3BLLEtBQT0KSyxnQ0FDaEJvSyxFQUFXcEssS0FBSyx1SEFD
aEJvSyxFQUFXcEssS0FBSyxZQUNoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFBPQpXcEssS0FB
SyxvQ0FDaEJvSyxFQUFXcEssS0FBSyxtRkFDaEJvSyxFQUFXcEssS0FBSyw2RkFDaEJvSyxFQUFX
cEssS0FBSyxnQ0E9CkNoQm9LLEVBQVdwSyxLQUFLLGFBQ2hCb0ssRUFBV3BLLEtBQUssMkVBQ2hC
b0ssRUFBV3BLLEtBQUssdUVBQ2hCb0ssRUFBV3BLLD0KS0FBSyxpQ0FDaEJvSyxFQUFXcEssS0FB
SyxhQUNoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFBV3BLLEtBQUssNkJBQ2hCb0ssPQpFQUFX
cEssS0FBSyxVQUVoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFBV3BLLEtBQUssbUZBQ2hCb0ss
RUFBV3BLLEtBQUssU0E9CkNoQm9LLEVBQVdwSyxLQUFLLGlGQUNoQm9LLEVBQVdwSyxLQUFLLCtF
QUNoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFBV3BLLD0KS0FBSyxVQUVUakcsRUFBRXNDLFNB
QVMrTixFQUFXQyxLQUFLLE1BR3BDakgsd0JBQXlCLFdBQ3ZCLEdBQUlnSCxLQTJCSixPQXpCPQpB
QSxHQUFXcEssS0FBSyxpQ0FDaEJvSyxFQUFXcEssS0FBSyxnS0FFaEJvSyxFQUFXcEssS0FBSyx1
Q0FDaEJvSyxFQUFXcEssS0E9CkFLLDZEQUNoQm9LLEVBQVdwSyxLQUFLLDZGQUNoQm9LLEVBQVdw
SyxLQUFLLGdDQUNoQm9LLEVBQVdwSyxLQUFLLGFBQ2hCb0ssRT0KQUFXcEssS0FBSyxxREFDaEJv
SyxFQUFXcEssS0FBSyx1RUFDaEJvSyxFQUFXcEssS0FBSyxpQ0FDaEJvSyxFQUFXcEssS0FBSyxh
PQpBQ2hCb0ssRUFBV3BLLEtBQUssVUFFaEJvSyxFQUFXcEssS0FBSyw4SkFFaEJvSyxFQUFXcEss
S0FBSyxVQUNoQm9LLEVBQVdwSyw9CktBQUssbUZBQ2hCb0ssRUFBV3BLLEtBQUssU0FDaEJvSyxF
QUFXcEssS0FBSyxpRkFDaEJvSyxFQUFXcEssS0FBSywrRUFDaEJvSz0KLEVBQVdwSyxLQUFLLFVB
RWhCb0ssRUFBV3BLLEtBQUssVUFFVGpHLEVBQUVzQyxTQUFTK04sRUFBV0MsS0FBSyxNQUdwQzlI
LDRCPQpBQTZCLFdBQzNCLEdBQUk2SCxLQWlCSixPQWZBQSxHQUFXcEssS0FBSyw4QkFDaEJvSyxF
QUFXcEssS0FBSyx1Q0FDaEJvSyxFQUE9CldwSyxLQUFLLHFCQUNoQm9LLEVBQVdwSyxLQUFLLCtF
QUNoQm9LLEVBQVdwSyxLQUFLLGtEQUNoQm9LLEVBQVdwSyxLQUFLO0FBQz0KaEJvSyxFQUFXcEss
S0FBSyxnQkFDaEJvSyxFQUFXcEssS0FBSyxhQUNoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFB
V3BLLEtBPQpBSyxTQUNoQm9LLEVBQVdwSyxLQUFLLHVDQUVoQm9LLEVBQVdwSyxLQUFLLFVBQ2hC
b0ssRUFBV3BLLEtBQUssVUFFVGpHLEVBQUU9CnNDLFNBQVMrTixFQUFXQyxLQUFLLE1BR3BDekQs
d0JBQXlCLFdBQ3ZCLEdBQUl3RCxLQVdKLE9BVEFBLEdBQVdwSyxLQUFLLG1EQT0KQ2hCb0ssRUFB
V3BLLEtBQUssUUFDaEJvSyxFQUFXcEssS0FBSyw0REFDaEJvSyxFQUFXcEssS0FBSywyREFDaEJv
SyxFQUFXcEssPQpLQUFLLHFJQUNoQm9LLEVBQVdwSyxLQUFLLFVBQ2hCb0ssRUFBV3BLLEtBQUss
Y0FDaEJvSyxFQUFXcEssS0FBSyxTQUVUakcsRUE9CkFFc0MsU0FBUytOLEVBQVdDLEtBQUssTUFH
cENqUCxrQkFBbUIsV0ErQmpCLE1BOUJBZ1AsZUFFQUEsV0FBV3BLLEtBQUssNENBQz0KaEJvSyxX
QUFXcEssS0FBSywrQ0FDaEJvSyxXQUFXcEssS0FBSyw0REFDaEJvSyxXQUFXcEssS0FBSyxpSEFD
aEJvSyxXQUFXcEssPQpLQUFLLHdJQUNoQm9LLFdBQVdwSyxLQUFLLDZCQUNoQm9LLFdBQVdwSyxL
QUFLLGlIQUNoQm9LLFdBQVdwSyxLQUFLLDJIQUNoQm89CkssV0FBV3BLLEtBQUssc0JBQ2hCb0ss
V0FBV3BLLEtBQUsseUJBQ2hCb0ssV0FBV3BLLEtBQUssOEhBQ2hCb0ssV0FBV3BLLEtBQT0KSyxv
SUFDaEJvSyxXQUFXcEssS0FBSyxrQkFDaEJvSyxXQUFXcEssS0FBSyw4QkFDaEJvSyxXQUFXcEss
S0FBSyxrR0FDaEJvSyxXPQpBQVdwSyxLQUFLLGdCQUNoQm9LLFdBQVdwSyxLQUFLLG9EQUNoQm9L
LFdBQVdwSyxLQUFLLHVIQUNoQm9LLFdBQVdwSyxLQUFLLHM9CklBQ2hCb0ssV0FBV3BLLEtBQUss
eUJBQ2hCb0ssV0FBV3BLLEtBQUsscUlBQ2hCb0ssV0FBV3BLLEtBQUssdUpBQ2hCb0ssV0FBVz0K
cEssS0FBSyxrQkFDaEJvSyxXQUFXcEssS0FBSyxZQUNoQm9LLFdBQVdwSyxLQUFLLGFBQ2hCb0ss
V0FBV3BLLEtBQUssbU1BQ2hCPQpvSyxXQUFXcEssS0FBSyxjQUVUakcsRUFBRXNDLFNBQVMrTixX
QUFXQyxLQUFLLE9BS3RDLFFBQ0l2UyxrQkFBbUJBIn0KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCgpkaWZmIC1yIGQ2MmYzZTUwYjU2N2ExNTdjMDk0NDQ3M2FkYmJjNDEwYzU1NTJkMWEgLXIg
MzZjMDUyNjEzNDM0MTIzNzBmOWU0NGY9CjRiZGQ0YjFlMTlhOTdhYTU1IHN0YXRpYy9tYXBzL3V0
aWxzL3VwbG9hZGJveC5qcy5tYXAKLS0tIGEvc3RhdGljL21hcHMvdXRpbHMvdXBsb2FkYm94Lmpz
Lm1hcAorKysgYi9zdGF0aWMvbWFwcy91dGlscy91cGxvYWRib3guanMubWFwCkBAIC0xLDEgKzEs
MSBAQAoteyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkYm94LmpzIiwic291cmNlcyI6WyIuLi8u
Li9zcmMvdXRpbHMvdXBsb2FkYm94Lmo9CnMiXSwibmFtZXMiOlsiJCIsImpRdWVyeSIsImV2ZW50
IiwicHJvcHMiLCJwdXNoIiwidXBsb2FkcG9zdCIsImNvbmZpZyIsImNuZj0KIiwiZXh0ZW5kIiwi
ZGF0YSIsInN1Y2Nlc3MiLCJlcnJvciIsInByb2dyZXNzIiwidXJsIiwibWF4ZmlsZXNpemUiLCJl
cnJvcl9mPQppbGVzaXplIiwiZXJyb3JfZGVmYXVsdCIsImVycm9yX3NlcnZlciIsImVycm9yX2xv
Z2luIiwiZXJyb3JfbWVzc2FnZSIsImZvcm09CiIsIkZvcm1EYXRhIiwia2V5IiwicGF5bG9hZCIs
ImFwcGVuZCIsInNpemVzIiwiZmlsZXMiLCJkIiwibmFtZSIsImZpbGUiLCJzaT0KemUiLCJ4aHIi
LCJYTUxIdHRwUmVxdWVzdCIsIm9wZW4iLCJzZXRSZXF1ZXN0SGVhZGVyIiwib25yZWFkeXN0YXRl
Y2hhbmdlIiwiPQpyZWFkeVN0YXRlIiwiRE9ORSIsInJlc3BvbnNlIiwicmVzcG9uc2VUZXh0Iiwi
cGFyc2VKU09OIiwiZSIsInN0YXR1cyIsInRleHQ9CiIsInN0YXR1c1RleHQiLCJ1cGxvYWQiLCJh
ZGRFdmVudExpc3RlbmVyIiwibGVuZ3RoQ29tcHV0YWJsZSIsIk1hdGgiLCJyb3VuZD0KIiwibG9h
ZGVkIiwidG90YWwiLCJjb25zb2xlIiwiZGVidWciLCJzZW5kIiwiZm4iLCJ1cGxvYWRpbnB1dCIs
Im9wdGlvbnMiLCJlPQpsIiwidGhpcyIsIm9wdHMiLCJvbmRyYWdvdmVyIiwib25kcmFnbGVhdmUi
LCJvbmNoYW5nZSIsIm11bHRpcGxlIiwiJGlucHV0Iiw9CiJjaGFuZ2UiLCJ0YXJnZXQiLCJ2YWwi
LCJvbiIsImRhdGFUcmFuc2ZlciIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aT0Kb24i
LCJkaWFsb2ciLCJ0cmlnZ2VyIiwidXBsb2FkYm94IiwiYWRkIiwibGVuZ3RoIiwicXVldWVfcnVu
bmluZyIsImN1cnJlbnRfPQppbmRleCIsInF1ZXVlX2luZGV4IiwiaSIsImluZGV4IiwiU3RyaW5n
IiwicXVldWUiLCJhbm5vdW5jZSIsInF1ZXVlX2xlbmd0aCI9CiwicmVtb3ZlIiwicHJvY2VzcyIs
InF1ZXVlX3N0b3AiLCJjb21wbGV0ZSIsImluaXRpYWxpemUiLCJtZXNzYWdlIiwicGVyY2VudD0K
YWdlIiwic2VsZWN0IiwicmVzZXQiLCJzdGFydCIsInN0b3AiLCJjb25maWd1cmUiLCJjb21wYXRp
YmxlIiwid2luZG93IiwiRmlsPQplIiwiRmlsZUxpc3QiLCJkcmFnb3ZlciIsImRyYWdsZWF2ZSIs
Im0iLCJhbGVydCJdLCJtYXBwaW5ncyI6IkNBR0MsU0FBVUEsR0E9CkVQQyxPQUFPQyxNQUFNQyxN
QUFNQyxLQUFLLGdCQUt4QkosRUFBRUssV0FBYSxTQUFVQyxHQUVyQixHQUFJQyxHQUFNUCxFQUFF
UT0KLFdBQ1JDLFFBQ0FDLFFBQWtCLGFBQ2xCQyxNQUFrQixhQUNsQkMsU0FBa0IsYUFDbEJDLElB
QWtCLEtBQ2xCQyxZQUFrQixLQUNsPQpCQyxlQUFrQiw4Q0FDbEJDLGNBQWtCLDBDQUNsQkMsYUFB
a0IseUJBQ2xCQyxZQUFrQixrQ0FDbkJaLEdBR0NHLEVBQU9GLEVBQUk9CkUsSUFHZixJQUFJQSxF
QUFLVSxjQUVMLFdBREFaLEdBQUlJLE1BQU1GLEVBQUtVLGNBS25CLElBQUlDLEdBQU8sR0FBSUMs
U0FDZj0KLEtBQUssR0FBSUMsS0FBT2IsR0FBS2MsUUFDakJILEVBQUtJLE9BQU9GLEVBQUtiLEVB
QUtjLFFBQVFELEdBSWxDLElBQUlHLEdBPQpBUSxDQUNaLEtBQUssR0FBSUgsS0FBT2IsR0FBS2lC
LE1BQU8sQ0FDeEIsR0FBSUMsR0FBSWxCLEVBQUtpQixNQUFNSixFQUNuQkY9CixHQUFLSSxPQUFP
RyxFQUFFQyxLQUFNRCxFQUFFRSxLQUFNRixFQUFFRSxLQUFLRCxNQUNuQ0gsR0FBU0UsRUFBRUUs
S0FBS0MsSz0KQUlwQixNQUFJTCxHQUFRLFFBQVVsQixFQUFJTyxnQkFDdEJQLEdBQUlJLE1BQU1K
LEVBQUlRLGlCQUtsQmdCLElBQU0sR0FBSUMsPQpnQkFDVkQsSUFBSUUsS0FBSyxPQUFRMUIsRUFB
SU0sS0FBSyxHQUMxQmtCLElBQUlHLGlCQUFpQixTQUFVLG9CQUMvQkgsSUFBSUc9CixpQkFBaUIs
Z0JBQWlCLFlBQ3RDSCxJQUFJRyxpQkFBaUIsbUJBQW9CLGtCQUd6Q0gsSUFBSUksbUJBQXFCLFdB
RXJCLEdBQUlKLD0KSUFBSUssWUFBY0wsSUFBSU0sS0FBTSxDQUU1QixHQUFJQyxHQUFXLElBQ2Ys
SUFBSVAsSUFBSVEsYUFDSixJQUNJRCxFQUFXckMsPQpPQUFPdUMsVUFBVVQsSUFBSVEsY0FDbEMs
TUFBT0UsR0FDTEgsRUFBV1AsSUFBSVEsYUFJdkIsR0FBSVIsSUFBSVcsT0FBUyxLQUE9Ck9YLElB
QUlXLE9BQVMsSUFBSyxDQUN0QyxHQUFJQyxHQUFPWixJQUFJYSxVQUNHLE1BQWRiLElBQUlXLE9B
Q0pDLEVBQU9wQyxFQT0KQUlXLFlBQ1UsR0FBZGEsSUFBSVcsT0FDWEMsRUFBT3BDLEVBQUlVLGFB
Q0gwQixJQUNSQSxFQUFPcEMsRUFBSVMsZUFFZlQsRUFBPQpJSSxNQUFNZ0MsRUFBTyxLQUFPWixJ
QUFJVyxPQUFTLFNBRXJDbkMsR0FBSUcsUUFBUTRCLEtBTXhCUCxJQUFJYyxPQUFPQyxpQkE9CkFp
QixXQUFZLFNBQVNMLEdBQ3pDQSxFQUFFTSxrQkFDRnhDLEVBQUlLLFNBQVNvQyxLQUFLQyxNQUFr
QixJQUFYUixFQUFFUyxPQT0KQWdCVCxFQUFFVSxVQUVsRCxHQUdIQyxRQUFRQyxNQUFNLHFEQUNk
RCxRQUFRQyxNQUFNOUMsT0FDZHdCLEtBQUl1QixLQUFLbEMsPQpLQU1icEIsRUFBRXVELEdBQUdD
LFlBQWMsU0FBU0MsR0FFeEIsR0FBSUMsR0FBS0MsS0FDTEMsRUFBTzVELEVBQUVRLFdBQ1RxRCw9
CldBQWMsYUFDZEMsWUFBYyxhQUNkQyxTQUFjLGFBQ2RDLFVBQWMsR0FDZlAsR0FHQ1EsRUFBU2pF
LEVBQUUsNkNBQStDNEQsRUFBSz0KSSxVQUFZLFlBQWMsSUFBTSxLQXdCbkcsT0F2QkFOLEdBQUds
QyxPQUFPeUMsR0FBUUMsT0FBTyxTQUFVekIsR0FDL0JtQixFQUFLPQpHLFNBQVN0QixFQUFFMEIs
T0FBT3pDLE9BQ3ZCMUIsRUFBRTJELE1BQU1TLElBQUksTUFJaEJWLEVBQUdXLEdBQUcsT0FBUSxT
QUE9ClU1QixHQUNwQm1CLEVBQUtFLFlBQVlyQixHQUNkQSxFQUFFNkIsZUFDRFYsRUFBS0csU0FB
U3RCLEVBQUU2QixhQUFhNUMsT0FDNz0KQmUsRUFBRThCLG9CQUdWYixFQUFHVyxHQUFHLFdBQWEs
U0FBVTVCLEdBQ3pCQSxFQUFFOEIsaUJBQ0ZYLEVBQUtDLFdBQVdwQixLPQpBRXBCaUIsRUFBR1cs
R0FBRyxZQUFhLFNBQVU1QixHQUN6QkEsRUFBRStCLGtCQUNGWixFQUFLRSxZQUFZckIsTUFLakJn
QyxPQUE9ClEsV0FDSlIsRUFBT1MsUUFBUSxZQVEzQjFFLEVBQUV1RCxHQUFHb0IsVUFBWSxTQUFT
bEIsR0FpQ3RCLFFBQVNtQixHQUFJbEQsRz0KQUNULEdBQUlBLEdBQVNBLEVBQU1tRCxTQUFXQyxF
QUFlLENBRXpDLElBQUssR0FEREMsR0FBZ0JDLEVBQ1hDLEVBQUksRUFBR0EsPQpFQUFJdkQsRUFB
TW1ELE9BQVFJLElBQUssQ0FDbkMsR0FBSUMsR0FBUUMsT0FBT0gsSUFDbkJJLEdBQU1GLEdBQVN4
RCxFQUFNdUQ9CixHQUNyQnJCLEVBQUt5QixTQUFTSCxFQUFPRSxFQUFNRixJQUMzQkksSUFFSixN
QUFPUCxJQUtmLFFBQVNRLEdBQU9MLEdBQ1JFLD0KRUFBTUYsV0FDQ0UsR0FBTUYsR0FDYkksS0FL
UixRQUFTRSxLQUVMLEdBQW9CLEdBQWhCRixHQUFxQkcsRUFJckIsTUFIQUEsSUFBPQphLEVBQ2JY
LEdBQWdCLE1BQ2hCbEIsR0FBSzhCLFVBR0xaLElBQWdCLENBSXBCLElBQUlJLEdBQVEsRUFDWixL
QUFLLEdBQUk1RCw9CktBQU84RCxHQUFPLENBQ25CRixFQUFRNUQsQ0FDUixPQUlPOEQsRUFBTUYs
RUFHakJLLEdBQU9MLEdBR1BsRixFQUFFSyxZQUNFUT0KLElBQVcrQyxFQUFLL0MsSUFDaEJKLEtB
QVdtRCxFQUFLK0IsV0FBV1QsR0FDM0J4RSxRQUFXLFNBQVNrRixHQUFXaEMsRUFBS2xEPQosUUFB
UXdFLEVBQU9VLEdBQVVKLEtBQzdEN0UsTUFBVyxTQUFTaUYsR0FBV2hDLEVBQUtqRCxNQUFNdUUs
RUFBT1UsR0FBVUosS0E9CkMzRDVFLFNBQVcsU0FBU2lGLEdBQWNqQyxFQUFLaEQsU0FBU3NFLEVB
QU9XLE1BUy9ELFFBQVNDLEtBQ0x0QyxFQUFZaUIsU0FJaD0KQixRQUFTc0IsR0FBTWIsR0FDWCxJ
QUFLQSxJQUFTRSxHQUNWRyxFQUFPTCxHQUtmLFFBQVNjLEtBQ0FsQixJQUNEQSxHQUFnQixFPQpB
Q2hCVSxLQUtSLFFBQVNTLEtBQ0xSLEdBQWEsRUFJakIsUUFBU1MsR0FBVXpDLEdBRWYsTUFEQUcs
R0FBTzVELEVBQUVRLFVBQVc9Cm9ELEVBQU1ILEdBSzlCLFFBQVMwQyxLQUNMLE1BQU9DLFFBQU9D
LE1BQVFELE9BQU8vRSxVQUFZK0UsT0FBT3BFLGdCQUFrQm9FLD0KT0FBT0UsU0E1SDdFLEdBQUkx
QyxHQUFPNUQsRUFBRVEsV0FDVCtGLFNBQWtCLGFBQ2xCQyxVQUFrQixhQUNsQm5CLFNBQWtCLGFB
PQpDbEJNLFdBQWtCLGFBQ2xCL0UsU0FBa0IsYUFDbEJGLFFBQWtCLGFBQ2xCQyxNQUFrQixTQUFT
Z0IsRUFBRzhFLEdBQUtDLE1BQU09CkQsSUFDekNmLFNBQWtCLGNBQ25CakMsR0FHQzJCLEtBR0FK
LEVBQWMsRUFDZE0sRUFBZSxFQUdmUixHQUFnQixFQUNoQlcsR0FBYT0KLEVBR2JqQyxFQUFjeEQs
RUFBRTJELE1BQU1ILGFBQ3RCUSxVQUFjLEVBQ2RELFNBQWMsU0FBU3JDLEdBQVNrRCxFQUFJbEQs
SUFDPQpwQ21DLFdBQWNKLEVBQVFJLFdBQ3RCQyxZQUFjTCxFQUFRSyxhQXFHMUIsUUFDSWdDLE9B
QWtCQSxFQUNsQmxCLElBQWtCQSxFQUM9CmxCVyxPQUFrQkEsRUFDbEJTLE1BQWtCQSxFQUNsQkMs
S0FBa0JBLEVBQ2xCRixNQUFrQkEsRUFDbEJHLFVBQWtCQSxFQUNsQkMsVz0KQUFrQkEsS0FHM0Js
RyJ9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoreyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBs
b2FkYm94LmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvdXBsb2FkYm94Lmo9CnMiXSwi
bmFtZXMiOlsiJCIsImpRdWVyeSIsImV2ZW50IiwicHJvcHMiLCJwdXNoIiwidXBsb2FkcG9zdCIs
ImNvbmZpZyIsImNuZj0KIiwiZXh0ZW5kIiwiZGF0YSIsInN1Y2Nlc3MiLCJlcnJvciIsInByb2dy
ZXNzIiwidXJsIiwibWF4ZmlsZXNpemUiLCJlcnJvcl9mPQppbGVzaXplIiwiZXJyb3JfZGVmYXVs
dCIsImVycm9yX3NlcnZlciIsImVycm9yX2xvZ2luIiwiZXJyb3JfbWVzc2FnZSIsImZvcm09CiIs
IkZvcm1EYXRhIiwia2V5IiwicGF5bG9hZCIsImFwcGVuZCIsInNpemVzIiwiZmlsZXMiLCJkIiwi
bmFtZSIsImZpbGUiLCJzaT0KemUiLCJ4aHIiLCJYTUxIdHRwUmVxdWVzdCIsIm9wZW4iLCJzZXRS
ZXF1ZXN0SGVhZGVyIiwib25yZWFkeXN0YXRlY2hhbmdlIiwiPQpyZWFkeVN0YXRlIiwiRE9ORSIs
InJlc3BvbnNlIiwicmVzcG9uc2VUZXh0IiwicGFyc2VKU09OIiwiZSIsInN0YXR1cyIsInRleHQ9
CiIsInN0YXR1c1RleHQiLCJ1cGxvYWQiLCJhZGRFdmVudExpc3RlbmVyIiwibGVuZ3RoQ29tcHV0
YWJsZSIsIk1hdGgiLCJyb3VuZD0KIiwibG9hZGVkIiwidG90YWwiLCJjb25zb2xlIiwiZGVidWci
LCJzZW5kIiwiZm4iLCJ1cGxvYWRpbnB1dCIsIm9wdGlvbnMiLCJlPQpsIiwidGhpcyIsIm9wdHMi
LCJvbmRyYWdvdmVyIiwib25kcmFnbGVhdmUiLCJvbmNoYW5nZSIsIm11bHRpcGxlIiwiJGlucHV0
Iiw9CiJjaGFuZ2UiLCJ0YXJnZXQiLCJ2YWwiLCJvbiIsImRhdGFUcmFuc2ZlciIsInByZXZlbnRE
ZWZhdWx0Iiwic3RvcFByb3BhZ2F0aT0Kb24iLCJkaWFsb2ciLCJ0cmlnZ2VyIiwidXBsb2FkYm94
IiwiYWRkIiwibGVuZ3RoIiwicXVldWVfcnVubmluZyIsImN1cnJlbnRfPQppbmRleCIsInF1ZXVl
X2luZGV4IiwiaSIsImluZGV4IiwiU3RyaW5nIiwicXVldWUiLCJhbm5vdW5jZSIsInF1ZXVlX2xl
bmd0aCI9CiwicmVtb3ZlIiwicHJvY2VzcyIsInF1ZXVlX3N0b3AiLCJjb21wbGV0ZSIsImluaXRp
YWxpemUiLCJtZXNzYWdlIiwicGVyY2VudD0KYWdlIiwic2VsZWN0IiwicmVzZXQiLCJzdGFydCIs
InN0b3AiLCJjb25maWd1cmUiLCJjb21wYXRpYmxlIiwid2luZG93IiwiRmlsPQplIiwiRmlsZUxp
c3QiLCJkcmFnb3ZlciIsImRyYWdsZWF2ZSIsIm0iLCJhbGVydCJdLCJtYXBwaW5ncyI6IkNBR0Ms
U0FBVUEsR0E9CkVQQyxPQUFPQyxNQUFNQyxNQUFNQyxLQUFLLGdCQUt4QkosRUFBRUssV0FBYSxT
QUFVQyxHQUVyQixHQUFJQyxHQUFNUCxFQUFFUT0KLFdBQ1JDLFFBQ0FDLFFBQWtCLGFBQ2xCQyxN
QUFrQixhQUNsQkMsU0FBa0IsYUFDbEJDLElBQWtCLEtBQ2xCQyxZQUFrQixLQUNsPQpCQyxlQUFr
Qiw4Q0FDbEJDLGNBQWtCLDBDQUNsQkMsYUFBa0IseUJBQ2xCQyxZQUFrQixrQ0FDbkJaLEdBR0NH
LEVBQU9GLEVBQUk9CkUsSUFHZixJQUFJQSxFQUFLVSxjQUVMLFdBREFaLEdBQUlJLE1BQU1GLEVB
QUtVLGNBS25CLElBQUlDLEdBQU8sR0FBSUMsU0FDZj0KLEtBQUssR0FBSUMsS0FBT2IsR0FBS2Ms
UUFDakJILEVBQUtJLE9BQU9GLEVBQUtiLEVBQUtjLFFBQVFELEdBSWxDLElBQUlHLEdBPQpBUSxD
QUNaLEtBQUssR0FBSUgsS0FBT2IsR0FBS2lCLE1BQU8sQ0FDeEIsR0FBSUMsR0FBSWxCLEVBQUtp
QixNQUFNSixFQUNuQkY9CixHQUFLSSxPQUFPRyxFQUFFQyxLQUFNRCxFQUFFRSxLQUFNRixFQUFF
RSxLQUFLRCxNQUNuQ0gsR0FBU0UsRUFBRUUsS0FBS0MsSz0KQUlwQixNQUFJTCxHQUFRLFFBQVVs
QixFQUFJTyxnQkFDdEJQLEdBQUlJLE1BQU1KLEVBQUlRLGlCQUtsQmdCLElBQU0sR0FBSUMsPQpn
QkFDVkQsSUFBSUUsS0FBSyxPQUFRMUIsRUFBSU0sS0FBSyxHQUMxQmtCLElBQUlHLGlCQUFpQixT
QUFVLG9CQUMvQkgsSUFBSUc9CixpQkFBaUIsZ0JBQWlCLFlBQ3RDSCxJQUFJRyxpQkFBaUIsbUJB
QW9CLGtCQUd6Q0gsSUFBSUksbUJBQXFCLFdBRXJCLEdBQUlKLD0KSUFBSUssWUFBY0wsSUFBSU0s
S0FBTSxDQUU1QixHQUFJQyxHQUFXLElBQ2YsSUFBSVAsSUFBSVEsYUFDSixJQUNJRCxFQUFXckMs
PQpPQUFPdUMsVUFBVVQsSUFBSVEsY0FDbEMsTUFBT0UsR0FDTEgsRUFBV1AsSUFBSVEsYUFJdkIs
R0FBSVIsSUFBSVcsT0FBUyxLQUE9Ck9YLElBQUlXLE9BQVMsSUFBSyxDQUN0QyxHQUFJQyxHQUFP
WixJQUFJYSxVQUNHLE1BQWRiLElBQUlXLE9BQ0pDLEVBQU9wQyxFQT0KQUlXLFlBQ1UsR0FBZGEs
SUFBSVcsT0FDWEMsRUFBT3BDLEVBQUlVLGFBQ0gwQixJQUNSQSxFQUFPcEMsRUFBSVMsZUFFZlQs
RUFBPQpJSSxNQUFNZ0MsRUFBTyxLQUFPWixJQUFJVyxPQUFTLFNBRXJDbkMsR0FBSUcsUUFBUTRC
LEtBTXhCUCxJQUFJYyxPQUFPQyxpQkE9CkFpQixXQUFZLFNBQVNMLEdBQ3pDQSxFQUFFTSxrQkFD
RnhDLEVBQUlLLFNBQVNvQyxLQUFLQyxNQUFrQixJQUFYUixFQUFFUyxPQT0KQWdCVCxFQUFFVSxV
QUVsRCxHQUdIQyxRQUFRQyxNQUFNLHFEQUNkRCxRQUFRQyxNQUFNOUMsT0FDZHdCLEtBQUl1QixL
QUFLbEMsPQpLQU1icEIsRUFBRXVELEdBQUdDLFlBQWMsU0FBU0MsR0FFeEIsR0FBSUMsR0FBS0Ms
S0FDTEMsRUFBTzVELEVBQUVRLFdBQ1RxRCw9CldBQWMsYUFDZEMsWUFBYyxhQUNkQyxTQUFjLGFB
Q2RDLFVBQWMsR0FDZlAsR0FHQ1EsRUFBU2pFLEVBQUUsNkNBQStDNEQsRUFBSz0KSSxVQUFZLFlB
QWMsSUFBTSxLQXdCbkcsT0F2QkFOLEdBQUdsQyxPQUFPeUMsRUFBT0MsT0FBTyxTQUFVekIsR0FD
OUJtQixFQUFLPQpHLFNBQVN0QixFQUFFMEIsT0FBT3pDLE9BQ3ZCMUIsRUFBRTJELE1BQU1TLElB
QUksT0FJaEJWLEVBQUdXLEdBQUcsT0FBUSxTQUE9ClU1QixHQUNwQm1CLEVBQUtFLFlBQVlyQixH
QUNkQSxFQUFFNkIsZUFDRFYsRUFBS0csU0FBU3RCLEVBQUU2QixhQUFhNUMsT0FDNz0KQmUsRUFB
RThCLG9CQUdWYixFQUFHVyxHQUFHLFdBQWEsU0FBVTVCLEdBQ3pCQSxFQUFFOEIsaUJBQ0ZYLEVB
QUtDLFdBQVdwQixLPQpBRXBCaUIsRUFBR1csR0FBRyxZQUFhLFNBQVU1QixHQUN6QkEsRUFBRStC
LGtCQUNGWixFQUFLRSxZQUFZckIsTUFLakJnQyxPQUE9ClEsV0FDSlIsRUFBT1MsUUFBUSxZQVEz
QjFFLEVBQUV1RCxHQUFHb0IsVUFBWSxTQUFTbEIsR0FpQ3RCLFFBQVNtQixHQUFJbEQsRz0KQUNU
LEdBQUlBLEdBQVNBLEVBQU1tRCxTQUFXQyxFQUFlLENBRXpDLElBQUssR0FEREMsR0FBZ0JDLEVB
Q1hDLEVBQUksRUFBR0EsPQpFQUFJdkQsRUFBTW1ELE9BQVFJLElBQUssQ0FDbkMsR0FBSUMsR0FB
UUMsT0FBT0gsSUFDbkJJLEdBQU1GLEdBQVN4RCxFQUFNdUQ9CixHQUNyQnJCLEVBQUt5QixTQUFT
SCxFQUFPRSxFQUFNRixJQUMzQkksSUFFSixNQUFPUCxJQUtmLFFBQVNRLEdBQU9MLEdBQ1JFLD0K
RUFBTUYsV0FDQ0UsR0FBTUYsR0FDYkksS0FLUixRQUFTRSxLQUVMLEdBQW9CLEdBQWhCRixHQUFx
QkcsRUFJckIsTUFIQUEsSUFBPQphLEVBQ2JYLEdBQWdCLE1BQ2hCbEIsR0FBSzhCLFVBR0xaLElB
QWdCLENBSXBCLElBQUlJLEdBQVEsRUFDWixLQUFLLEdBQUk1RCw9CktBQU84RCxHQUFPLENBQ25C
RixFQUFRNUQsQ0FDUixPQUlPOEQsRUFBTUYsRUFHakJLLEdBQU9MLEdBR1BsRixFQUFFSyxZQUNF
UT0KLElBQVcrQyxFQUFLL0MsSUFDaEJKLEtBQVdtRCxFQUFLK0IsV0FBV1QsR0FDM0J4RSxRQUFX
LFNBQVNrRixHQUFXaEMsRUFBS2xEPQosUUFBUXdFLEVBQU9VLEdBQVVKLEtBQzdEN0UsTUFBVyxT
QUFTaUYsR0FBV2hDLEVBQUtqRCxNQUFNdUUsRUFBT1UsR0FBVUosS0E9CkMzRDVFLFNBQVcsU0FB
U2lGLEdBQWNqQyxFQUFLaEQsU0FBU3NFLEVBQU9XLE1BUy9ELFFBQVNDLEtBQ0x0QyxFQUFZaUIs
U0FJaD0KQixRQUFTc0IsR0FBTWIsR0FDWCxJQUFLQSxJQUFTRSxHQUNWRyxFQUFPTCxHQUtmLFFB
QVNjLEtBQ0FsQixJQUNEQSxHQUFnQixFPQpBQ2hCVSxLQUtSLFFBQVNTLEtBQ0xSLEdBQWEsRUFJ
akIsUUFBU1MsR0FBVXpDLEdBRWYsTUFEQUcsR0FBTzVELEVBQUVRLFVBQVc9Cm9ELEVBQU1ILEdB
SzlCLFFBQVMwQyxLQUNMLE1BQU9DLFFBQU9DLE1BQVFELE9BQU8vRSxVQUFZK0UsT0FBT3BFLGdC
QUFrQm9FLD0KT0FBT0UsU0E1SDdFLEdBQUkxQyxHQUFPNUQsRUFBRVEsV0FDVCtGLFNBQWtCLGFB
Q2xCQyxVQUFrQixhQUNsQm5CLFNBQWtCLGFBPQpDbEJNLFdBQWtCLGFBQ2xCL0UsU0FBa0IsYUFD
bEJGLFFBQWtCLGFBQ2xCQyxNQUFrQixTQUFTZ0IsRUFBRzhFLEdBQUtDLE1BQU09CkQsSUFDekNm
LFNBQWtCLGNBQ25CakMsR0FHQzJCLEtBR0FKLEVBQWMsRUFDZE0sRUFBZSxFQUdmUixHQUFnQixF
QUNoQlcsR0FBYT0KLEVBR2JqQyxFQUFjeEQsRUFBRTJELE1BQU1ILGFBQ3RCUSxVQUFjLEVBQ2RE
LFNBQWMsU0FBU3JDLEdBQVNrRCxFQUFJbEQsSUFDPQpwQ21DLFdBQWNKLEVBQVFJLFdBQ3RCQyxZ
QUFjTCxFQUFRSyxhQXFHMUIsUUFDSWdDLE9BQWtCQSxFQUNsQmxCLElBQWtCQSxFQUM9CmxCVyxP
QUFrQkEsRUFDbEJTLE1BQWtCQSxFQUNsQkMsS0FBa0JBLEVBQ2xCRixNQUFrQkEsRUFDbEJHLFVB
QWtCQSxFQUNsQkMsVz0KQUFrQkEsS0FHM0JsRyJ9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQoKZGlmZiAtciBkNjJmM2U1MGI1NjdhMTU3YzA5NDQ0NzNhZGJiYzQxMGM1NTUyZDFhIC1yIDM2
YzA1MjYxMzQzNDEyMzcwZjllNDRmPQo0YmRkNGIxZTE5YTk3YWE1NSBzdGF0aWMvc2NyaXB0cy9t
dmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcwotLS0gYS9zdGF0aWMvc2Ny
aXB0cy9tdmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcworKysgYi9zdGF0
aWMvc2NyaXB0cy9tdmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRvci5qcwpAQCAt
MSwyICsxLDIgQEAKLWRlZmluZShbIm12Yy9oaXN0b3J5L2hkY2EtbW9kZWwiLCJtdmMvZGF0YXNl
dC9zdGF0ZXMiLCJtdmMvYmFzZS1tdmMiLCJtdmMvPQp1aS91aS1tb2RhbCIsInV0aWxzL25hdHVy
YWwtc29ydCIsInV0aWxzL2xvY2FsaXphdGlvbiIsInVpL2hvdmVyaGlnaGxpZ2h0Il09CixmdW5j
dGlvbihhLGIsYyxkLGUsZil7ZnVuY3Rpb24gZyhhKXt2YXIgYj0zRGEudG9KU09OKCksYz0zRGso
Yix7Y3JlYXRpb25Gbj0KOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9M0RiLm1hcChmdW5jdGlvbihh
KXtyZXR1cm57aWQ6YS5pZCxuYW1lOmEubmFtZSxzcmM6PQoiZGF0YXNldCI9M0Q9M0Q9M0RhLmhp
c3RvcnlfY29udGVudF90eXBlPyJoZGEiOiJoZGNhIn19KSxhLmNyZWF0ZUhEQ0EoYiwibGk9CnN0
IixjKX19KTtyZXR1cm4gY312YXIgaD0zREJhY2tib25lLlZpZXcuZXh0ZW5kKGMuTG9nZ2FibGVN
aXhpbikuZXh0ZW5kKHt0YT0KZ05hbWU6ImxpIixjbGFzc05hbWU6ImNvbGxlY3Rpb24tZWxlbWVu
dCIsaW5pdGlhbGl6ZTpmdW5jdGlvbihhKXt0aGlzLmVsZW1lPQpudD0zRGEuZWxlbWVudHx8e30s
dGhpcy5zZWxlY3RlZD0zRGEuc2VsZWN0ZWR8fCExfSxyZW5kZXI6ZnVuY3Rpb24oKXtyZXR1cm49
CiB0aGlzLiRlbC5hdHRyKCJkYXRhLWVsZW1lbnQtaWQiLHRoaXMuZWxlbWVudC5pZCkuYXR0cigi
ZHJhZ2dhYmxlIiwhMCkuaHRtbD0KKHRoaXMudGVtcGxhdGUoe2VsZW1lbnQ6dGhpcy5lbGVtZW50
fSkpLHRoaXMuc2VsZWN0ZWQmJnRoaXMuJGVsLmFkZENsYXNzKCJzPQplbGVjdGVkIiksdGhpc30s
dGVtcGxhdGU6Xy50ZW1wbGF0ZShbJzxhIGNsYXNzPTNEIm5hbWUiIHRpdGxlPTNEIicsZigiQ2xp
Y2s9CiB0byByZW5hbWUiKSwnIiBocmVmPTNEImphdmFzY3JpcHQ6dm9pZCgwKSI+JywiPCUtIGVs
ZW1lbnQubmFtZSAlPiIsIjwvYT4iLD0KJzxidXR0b24gY2xhc3M9M0QiZGlzY2FyZCBidG4gYnRu
LXNtIiB0aXRsZT0zRCInLGYoIlJlbW92ZSB0aGlzIGRhdGFzZXQgZnJvPQptIHRoZSBsaXN0Iiks
JyI+JyxmKCJEaXNjYXJkIiksIjwvYnV0dG9uPiJdLmpvaW4oIiIpKSxzZWxlY3Q6ZnVuY3Rpb24o
YSl7dGg9CmlzLiRlbC50b2dnbGVDbGFzcygic2VsZWN0ZWQiLGEpLHRoaXMudHJpZ2dlcigic2Vs
ZWN0Iix7c291cmNlOnRoaXMsc2VsZWN0ZT0KZDp0aGlzLiRlbC5oYXNDbGFzcygic2VsZWN0ZWQi
KX0pfSxkaXNjYXJkOmZ1bmN0aW9uKCl7dmFyIGE9M0R0aGlzLGI9M0R0aGlzPQouJGVsLnBhcmVu
dCgpLndpZHRoKCk7dGhpcy4kZWwuYW5pbWF0ZSh7Im1hcmdpbi1yaWdodCI6Yn0sImZhc3QiLGZ1
bmN0aW9uKCk9CnthLnRyaWdnZXIoImRpc2NhcmQiLHtzb3VyY2U6YX0pLGEuZGVzdHJveSgpfSl9
LGRlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLm9mZj0KKCksdGhpcy4kZWwucmVtb3ZlKCl9LGV2ZW50
czp7Y2xpY2s6Il9jbGljayIsImNsaWNrIC5uYW1lIjoiX2NsaWNrTmFtZSIsImNsPQppY2sgLmRp
c2NhcmQiOiJfY2xpY2tEaXNjYXJkIixkcmFnc3RhcnQ6Il9kcmFnc3RhcnQiLGRyYWdlbmQ6Il9k
cmFnZW5kIixkcmE9CmdvdmVyOiJfc2VuZFRvUGFyZW50Iixkcm9wOiJfc2VuZFRvUGFyZW50In0s
X2NsaWNrOmZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZz0KYXRpb24oKSx0aGlzLnNlbGVjdChhKX0s
X2NsaWNrTmFtZTpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVuPQp0RGVm
YXVsdCgpO3ZhciBiPTNEKFtmKCJFbnRlciBhIG5ldyBuYW1lIGZvciB0aGUgZWxlbWVudCIpLCI6
XG4oIixmKCJOb3RlIHQ9CmhhdCBjaGFuZ2luZyB0aGUgbmFtZSBoZXJlIHdpbGwgbm90IHJlbmFt
ZSB0aGUgZGF0YXNldCIpLCIpIl0uam9pbigiIikscHJvbT0KcHQoZigiRW50ZXIgYSBuZXcgbmFt
ZSBmb3IgdGhlIGVsZW1lbnQiKSsiOiIsdGhpcy5lbGVtZW50Lm5hbWUpKTtiJiYodGhpcy5lPQps
ZW1lbnQubmFtZT0zRGIsdGhpcy5yZW5kZXIoKSl9LF9jbGlja0Rpc2NhcmQ6ZnVuY3Rpb24oYSl7
YS5zdG9wUHJvcGFnYXRpb249CigpLHRoaXMuZGlzY2FyZCgpfSxfZHJhZ3N0YXJ0OmZ1bmN0aW9u
KGEpe2Eub3JpZ2luYWxFdmVudCYmKGE9M0RhLm9yaWdpbmFsRT0KdmVudCksYS5kYXRhVHJhbnNm
ZXIuZWZmZWN0QWxsb3dlZD0zRCJtb3ZlIixhLmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3Bs
PQphaW4iLEpTT04uc3RyaW5naWZ5KHRoaXMuZWxlbWVudCkpLHRoaXMuJGVsLmFkZENsYXNzKCJk
cmFnZ2luZyIpLHRoaXMuJGVsLnA9CmFyZW50KCkudHJpZ2dlcigiY29sbGVjdGlvbi1lbGVtZW50
LmRyYWdzdGFydCIsW3RoaXNdKX0sX2RyYWdlbmQ6ZnVuY3Rpb24oKT0Ke3RoaXMuJGVsLnJlbW92
ZUNsYXNzKCJkcmFnZ2luZyIpLHRoaXMuJGVsLnBhcmVudCgpLnRyaWdnZXIoImNvbGxlY3Rpb24t
ZWxlPQptZW50LmRyYWdlbmQiLFt0aGlzXSl9LF9zZW5kVG9QYXJlbnQ6ZnVuY3Rpb24oYSl7dGhp
cy4kZWwucGFyZW50KCkudHJpZ2dlcig9CmEpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJE
YXRhc2V0Q29sbGVjdGlvbkVsZW1lbnRWaWV3KCkifX0pLGk9M0RCYWNrYj0Kb25lLlZpZXcuZXh0
ZW5kKGMuTG9nZ2FibGVNaXhpbikuZXh0ZW5kKHtlbGVtZW50Vmlld0NsYXNzOmgsY29sbGVjdGlv
bkNsYXNzPQo6YS5IaXN0b3J5TGlzdERhdGFzZXRDb2xsZWN0aW9uLGNsYXNzTmFtZToibGlzdC1j
b2xsZWN0aW9uLWNyZWF0b3IgY29sbGVjdGk9Cm9uLWNyZWF0b3IgZmxleC1yb3ctY29udGFpbmVy
IixtaW5FbGVtZW50czoxLGRlZmF1bHRBdHRyaWJ1dGVzOntjcmVhdGlvbkZuOj0KZnVuY3Rpb24o
KXt0aHJvdyBuZXcgVHlwZUVycm9yKCJubyBjcmVhdGlvbiBmbiBmb3IgY3JlYXRvciIpfSxvbmNy
ZWF0ZTpmdW5jPQp0aW9uKCl7fSxvbmNhbmNlbDpmdW5jdGlvbigpe30sYXV0b3Njcm9sbERpc3Q6
MjQsaGlnaGxpZ2h0Q2xyOiJyZ2JhKCA2NCwgMjU9CjUsIDI1NSwgMS4wICkifSxpbml0aWFsaXpl
OmZ1bmN0aW9uKGEpe3RoaXMubWV0cmljKCJMaXN0Q29sbGVjdGlvbkNyZWF0b3IuaT0Kbml0aWFs
aXplIixhKTt2YXIgYj0zRHRoaXM7Xy5lYWNoKHRoaXMuZGVmYXVsdEF0dHJpYnV0ZXMsZnVuY3Rp
b24oYyxkKXtjPTNEPQphW2RdfHxjLGJbZF09M0RjfSksYi5pbml0aWFsRWxlbWVudHM9M0RhLmVs
ZW1lbnRzfHxbXSx0aGlzLl9pbnN0YW5jZVNldFVwKCk9Cix0aGlzLl9lbGVtZW50c1NldFVwKCks
dGhpcy5fc2V0VXBCZWhhdmlvcnMoKX0sX2luc3RhbmNlU2V0VXA6ZnVuY3Rpb24oKXt0aD0KaXMu
c2VsZWN0ZWRJZHM9M0R7fSx0aGlzLiRkcmFnZ2luZz0zRG51bGwsdGhpcy5ibG9ja2luZz0zRCEx
fSxfZWxlbWVudHNTZXRVPQpwOmZ1bmN0aW9uKCl7dGhpcy5pbnZhbGlkRWxlbWVudHM9M0RbXSx0
aGlzLndvcmtpbmdFbGVtZW50cz0zRFtdLHRoaXMuZWxlbWU9Cm50Vmlld3M9M0RbXSx0aGlzLndv
cmtpbmdFbGVtZW50cz0zRHRoaXMuaW5pdGlhbEVsZW1lbnRzLnNsaWNlKDApLHRoaXMuX2Vucz0K
dXJlRWxlbWVudElkcygpLHRoaXMuX3ZhbGlkYXRlRWxlbWVudHMoKSx0aGlzLl9tYW5nbGVEdXBs
aWNhdGVOYW1lcygpLHRoaXMuPQpfc29ydEVsZW1lbnRzKCl9LF9lbnN1cmVFbGVtZW50SWRzOmZ1
bmN0aW9uKCl7cmV0dXJuIHRoaXMud29ya2luZ0VsZW1lbnRzLmY9Cm9yRWFjaChmdW5jdGlvbihh
KXthLmhhc093blByb3BlcnR5KCJpZCIpfHwoYS5pZD0zRF8udW5pcXVlSWQoKSl9KSx0aGlzLndv
cj0Ka2luZ0VsZW1lbnRzfSxfdmFsaWRhdGVFbGVtZW50czpmdW5jdGlvbigpe3ZhciBhPTNEdGhp
cztyZXR1cm4gYS5pbnZhbGlkRWxlPQptZW50cz0zRFtdLHRoaXMud29ya2luZ0VsZW1lbnRzPTNE
dGhpcy53b3JraW5nRWxlbWVudHMuZmlsdGVyKGZ1bmN0aW9uKGIpe3Y9CmFyIGM9M0RhLl9pc0Vs
ZW1lbnRJbnZhbGlkKGIpO3JldHVybiBjJiZhLmludmFsaWRFbGVtZW50cy5wdXNoKHtlbGVtZW50
OmIsdD0KZXh0OmN9KSwhY30pLHRoaXMud29ya2luZ0VsZW1lbnRzfSxfaXNFbGVtZW50SW52YWxp
ZDpmdW5jdGlvbihhKXtyZXR1cm4iZGF0PQphc2V0IiE9M0Q9M0RhLmhpc3RvcnlfY29udGVudF90
eXBlP2YoImlzIG5vdCBhIGRhdGFzZXQiKTphLnN0YXRlIT0zRD0zRGIuT0s9Cj9mKF8uY29udGFp
bnMoYi5OT1RfUkVBRFlfU1RBVEVTLGEuc3RhdGUpPyJoYXNuJ3QgZmluaXNoZWQgcnVubmluZyB5
ZXQiOiJoYT0KcyBlcnJvcmVkLCBpcyBwYXVzZWQsIG9yIGlzIG5vdCBhY2Nlc3NpYmxlIik6YS5k
ZWxldGVkfHxhLnB1cmdlZD9mKCJoYXMgYmVlPQpuIGRlbGV0ZWQgb3IgcHVyZ2VkIik6bnVsbH0s
X21hbmdsZUR1cGxpY2F0ZU5hbWVzOmZ1bmN0aW9uKCl7dmFyIGE9M0Q5MDAsYj0KPTNEMSxjPTNE
e307dGhpcy53b3JraW5nRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbihkKXtmb3IodmFyIGU9M0Rk
Lm5hbWU7Yy5oPQphc093blByb3BlcnR5KGUpOylpZihlPTNEZC5uYW1lKyIgKCIrYisiKSIsYis9
M0QxLGI+PTNEYSl0aHJvdyBuZXcgRXJyb3IoIlM9CmFmZXR5IGhpdCBpbiB3aGlsZSBsb29wIC0g
dGhhdHMgaW1wcmVzc2l2ZSIpO2QubmFtZT0zRGUsY1tkLm5hbWVdPTNEITB9KX0sXz0Kc29ydEVs
ZW1lbnRzOmZ1bmN0aW9uKCl7fSxyZW5kZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy53b3Jr
aW5nRWxlbWVudHMuPQpsZW5ndGg8dGhpcy5taW5FbGVtZW50cz90aGlzLl9yZW5kZXJJbnZhbGlk
KGEsYik6KHRoaXMuJGVsLmVtcHR5KCkuaHRtbCh0aGk9CnMudGVtcGxhdGVzLm1haW4oKSksdGhp
cy5fcmVuZGVySGVhZGVyKGEpLHRoaXMuX3JlbmRlck1pZGRsZShhKSx0aGlzLl9yZW5kZT0KckZv
b3RlcihhKSx0aGlzLl9hZGRQbHVnaW5Db21wb25lbnRzKCksdGhpcy4kKCIuY29sbGVjdGlvbi1u
YW1lIikuZm9jdXMoKSx0PQpoaXMudHJpZ2dlcigicmVuZGVyZWQiLHRoaXMpLHRoaXMpfSxfcmVu
ZGVySW52YWxpZDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiQ9CmVsLmVtcHR5KCkuaHRtbCh0aGlz
LnRlbXBsYXRlcy5pbnZhbGlkSW5pdGlhbCh7cHJvYmxlbXM6dGhpcy5pbnZhbGlkRWxlbWVudD0K
cyxlbGVtZW50czp0aGlzLndvcmtpbmdFbGVtZW50c30pKSwiZnVuY3Rpb24iPTNEPTNEdHlwZW9m
IHRoaXMub25jYW5jZWwmJnRoPQppcy4kKCIuY2FuY2VsLWNyZWF0ZS5idG4iKS5zaG93KCksdGhp
cy50cmlnZ2VyKCJyZW5kZXJlZCIsdGhpcyksdGhpc30sX3JlbmQ9CmVySGVhZGVyOmZ1bmN0aW9u
KCl7dmFyIGE9M0R0aGlzLiQoIi5oZWFkZXIiKS5lbXB0eSgpLmh0bWwodGhpcy50ZW1wbGF0ZXMu
aD0KZWFkZXIoKSkuZmluZCgiLmhlbHAtY29udGVudCIpLnByZXBlbmQoJCh0aGlzLnRlbXBsYXRl
cy5oZWxwQ29udGVudCgpKSk7cmV0PQp1cm4gdGhpcy5pbnZhbGlkRWxlbWVudHMubGVuZ3RoJiZ0
aGlzLl9pbnZhbGlkRWxlbWVudHNBbGVydCgpLGF9LF9yZW5kZXJNaWQ9CmRsZTpmdW5jdGlvbihh
KXt2YXIgYj0zRHRoaXMuJCgiLm1pZGRsZSIpLmVtcHR5KCkuaHRtbCh0aGlzLnRlbXBsYXRlcy5t
aWRkbD0KZSgpKTtyZXR1cm4gdGhpcy5fcmVuZGVyTGlzdChhKSxifSxfcmVuZGVyRm9vdGVyOmZ1
bmN0aW9uKCl7dmFyIGE9M0R0aGlzLiQoPQoiLmZvb3RlciIpLmVtcHR5KCkuaHRtbCh0aGlzLnRl
bXBsYXRlcy5mb290ZXIoKSk7cmV0dXJuImZ1bmN0aW9uIj0zRD0zRHR5cGU9Cm9mIHRoaXMub25j
YW5jZWwmJnRoaXMuJCgiLmNhbmNlbC1jcmVhdGUuYnRuIikuc2hvdygpLGF9LF9hZGRQbHVnaW5D
b21wb25lbj0KdHM6ZnVuY3Rpb24oKXt0aGlzLiQoIi5oZWxwLWNvbnRlbnQgaSIpLmhvdmVyaGln
aGxpZ2h0KCIuY29sbGVjdGlvbi1jcmVhdG9yPQoiLHRoaXMuaGlnaGxpZ2h0Q2xyKX0sX2ludmFs
aWRFbGVtZW50c0FsZXJ0OmZ1bmN0aW9uKCl7dGhpcy5fc2hvd0FsZXJ0KHRoaXM9Ci50ZW1wbGF0
ZXMuaW52YWxpZEVsZW1lbnRzKHtwcm9ibGVtczp0aGlzLmludmFsaWRFbGVtZW50c30pLCJhbGVy
dC13YXJuaW5nIj0KKX0sX3ZhbGlkYXRpb25XYXJuaW5nOmZ1bmN0aW9uKGEsYil7dmFyIGM9M0Qi
dmFsaWRhdGlvbi13YXJuaW5nIjsibmFtZSI9M0Q9Cj0zRD0zRGEmJihhPTNEdGhpcy4kKCIuY29s
bGVjdGlvbi1uYW1lIikuYWRkKHRoaXMuJCgiLmNvbGxlY3Rpb24tbmFtZS1wcm9tcD0KdCIpKSx0
aGlzLiQoIi5jb2xsZWN0aW9uLW5hbWUiKS5mb2N1cygpLnNlbGVjdCgpKSxiPyhhPTNEYXx8dGhp
cy4kKCIuIitjKSxhPQoucmVtb3ZlQ2xhc3MoYykpOmEuYWRkQ2xhc3MoYyl9LF9kaXNhYmxlTmFt
ZUFuZENyZWF0ZTpmdW5jdGlvbihhKXthPTNEXy5pc1U9Cm5kZWZpbmVkKGEpPyEwOmEsYSYmKHRo
aXMuJCgiLmNvbGxlY3Rpb24tbmFtZSIpLnByb3AoImRpc2FibGVkIiwhMCksdGhpcy4kKD0KIi5j
cmVhdGUtY29sbGVjdGlvbiIpLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsITApKX0sJGxpc3Q6ZnVu
Y3Rpb24oKXtyZXR1cm4gPQp0aGlzLiQoIi5jb2xsZWN0aW9uLWVsZW1lbnRzIil9LF9yZW5kZXJD
bGVhclNlbGVjdGVkOmZ1bmN0aW9uKCl7Xy5zaXplKHRoaXM9Ci5zZWxlY3RlZElkcyk/dGhpcy4k
KCIuY29sbGVjdGlvbi1lbGVtZW50cy1jb250cm9scyA+IC5jbGVhci1zZWxlY3RlZCIpLnNobz0K
dygpOnRoaXMuJCgiLmNvbGxlY3Rpb24tZWxlbWVudHMtY29udHJvbHMgPiAuY2xlYXItc2VsZWN0
ZWQiKS5oaWRlKCl9LF9yZW5kPQplckxpc3Q6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXMsYj0zRGpR
dWVyeSgiPGRpdi8+IiksYz0zRGEuJGxpc3QoKTtfLmVhY2godGg9CmlzLmVsZW1lbnRWaWV3cyxm
dW5jdGlvbihiKXtiLmRlc3Ryb3koKSxhLnJlbW92ZUVsZW1lbnRWaWV3KGIpfSksYS53b3JraW5n
RT0KbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGMpe3ZhciBkPTNEYS5fY3JlYXRlRWxlbWVudFZp
ZXcoYyk7Yi5hcHBlbmQoZC4kZWwpPQp9KSxhLl9yZW5kZXJDbGVhclNlbGVjdGVkKCksYy5lbXB0
eSgpLmFwcGVuZChiLmNoaWxkcmVuKCkpLF8uaW52b2tlKGEuZWxlbWU9Cm50Vmlld3MsInJlbmRl
ciIpLGMuaGVpZ2h0KCk+Yy5jc3MoIm1heC1oZWlnaHQiKT9jLmNzcygiYm9yZGVyLXdpZHRoIiwi
MXB4ID0KMHB4IDFweCAwcHgiKTpjLmNzcygiYm9yZGVyLXdpZHRoIiwiMHB4Iil9LF9jcmVhdGVF
bGVtZW50VmlldzpmdW5jdGlvbihhKXt2PQphciBiPTNEbmV3IHRoaXMuZWxlbWVudFZpZXdDbGFz
cyh7ZWxlbWVudDphLHNlbGVjdGVkOl8uaGFzKHRoaXMuc2VsZWN0ZWRJZHM9CixhLmlkKX0pO3Jl
dHVybiB0aGlzLmVsZW1lbnRWaWV3cy5wdXNoKGIpLHRoaXMuX2xpc3RlblRvRWxlbWVudFZpZXco
YiksYn0sXz0KbGlzdGVuVG9FbGVtZW50VmlldzpmdW5jdGlvbihhKXt2YXIgYj0zRHRoaXM7Yi5s
aXN0ZW5UbyhhLHtzZWxlY3Q6ZnVuY3Rpb24oPQphKXt2YXIgYz0zRGEuc291cmNlLmVsZW1lbnQ7
YS5zZWxlY3RlZD9iLnNlbGVjdGVkSWRzW2MuaWRdPTNEITA6ZGVsZXRlIGIuc2U9CmxlY3RlZElk
c1tjLmlkXSxiLnRyaWdnZXIoImVsZW1lbnRzOnNlbGVjdCIsYSl9LGRpc2NhcmQ6ZnVuY3Rpb24o
YSl7Yi50cmlnZz0KZXIoImVsZW1lbnRzOmRpc2NhcmQiLGEpfX0pfSxhZGRFbGVtZW50Vmlldzpm
dW5jdGlvbigpe30scmVtb3ZlRWxlbWVudFZpZXc6PQpmdW5jdGlvbihhKXtkZWxldGUgdGhpcy5z
ZWxlY3RlZElkc1thLmVsZW1lbnQuaWRdLHRoaXMuX3JlbmRlckNsZWFyU2VsZWN0ZWQ9CigpLHRo
aXMuZWxlbWVudFZpZXdzPTNEXy53aXRob3V0KHRoaXMuZWxlbWVudFZpZXdzLGEpLHRoaXMuc3Rv
cExpc3RlbmluZyhhKT0KfSxfcmVuZGVyTm9FbGVtZW50c0xlZnQ6ZnVuY3Rpb24oKXt0aGlzLl9k
aXNhYmxlTmFtZUFuZENyZWF0ZSghMCksdGhpcy4kKCIuPQpjb2xsZWN0aW9uLWVsZW1lbnRzIiku
YXBwZW5kKHRoaXMudGVtcGxhdGVzLm5vRWxlbWVudHNMZWZ0KCkpfSxfZWxlbWVudFRvSlM9Ck9O
OmZ1bmN0aW9uKGEpe3JldHVybiBhfSxjcmVhdGVMaXN0OmZ1bmN0aW9uKGEpe2lmKCF0aGlzLndv
cmtpbmdFbGVtZW50cy5sZT0Kbmd0aCl7dmFyIGI9M0RmKCJObyB2YWxpZCBlbGVtZW50cyBmb3Ig
ZmluYWwgbGlzdCIpKyIuICI7cmV0dXJuIGIrPTNEJzxhIGNsPQphc3M9M0QiY2FuY2VsLWNyZWF0
ZSIgaHJlZj0zRCJqYXZhc2NyaXB0OnZvaWQoMCk7Ij4nK2YoIkNhbmNlbCIpKyI8L2E+ICIsYis9
Cj0zRGYoIm9yIiksYis9M0QnIDxhIGNsYXNzPTNEInJlc2V0IiBocmVmPTNEImphdmFzY3JpcHQ6
dm9pZCgwKTsiPicrZigic3Rhcj0KdCBvdmVyIikrIjwvYT4uIix2b2lkIHRoaXMuX3Nob3dBbGVy
dChiKX12YXIgYz0zRHRoaXMsZD0zRHRoaXMud29ya2luZ0VsZW1lPQpudHMubWFwKGZ1bmN0aW9u
KGEpe3JldHVybiBjLl9lbGVtZW50VG9KU09OKGEpfSk7cmV0dXJuIGMuYmxvY2tpbmc9M0QhMCxj
LmM9CnJlYXRpb25GbihkLGEpLmFsd2F5cyhmdW5jdGlvbigpe2MuYmxvY2tpbmc9M0QhMX0pLmZh
aWwoZnVuY3Rpb24oYSxiKXtjLnRyaT0KZ2dlcigiZXJyb3IiLHt4aHI6YSxzdGF0dXM6YixtZXNz
YWdlOmYoIkFuIGVycm9yIG9jY3VycmVkIHdoaWxlIGNyZWF0aW5nIHRoPQppcyBjb2xsZWN0aW9u
Iil9KX0pLmRvbmUoZnVuY3Rpb24oYSxiLGQpe2MudHJpZ2dlcigiY29sbGVjdGlvbjpjcmVhdGVk
IixhLGI9CixkKSxjLm1ldHJpYygiY29sbGVjdGlvbjpjcmVhdGVkIixhKSwiZnVuY3Rpb24iPTNE
PTNEdHlwZW9mIGMub25jcmVhdGUmJmMubz0KbmNyZWF0ZS5jYWxsKHRoaXMsYSxiLGQpfSl9LF9z
ZXRVcEJlaGF2aW9yczpmdW5jdGlvbigpe3JldHVybiB0aGlzLm9uKCJlcnJvPQpyIix0aGlzLl9l
cnJvckhhbmRsZXIpLHRoaXMub25jZSgicmVuZGVyZWQiLGZ1bmN0aW9uKCl7dGhpcy50cmlnZ2Vy
KCJyZW5kZXI9CmVkOmluaXRpYWwiLHRoaXMpfSksdGhpcy5vbigiZWxlbWVudHM6c2VsZWN0Iixm
dW5jdGlvbigpe3RoaXMuX3JlbmRlckNsZWFyUz0KZWxlY3RlZCgpfSksdGhpcy5vbigiZWxlbWVu
dHM6ZGlzY2FyZCIsZnVuY3Rpb24oYSl7dmFyIGI9M0RhLnNvdXJjZS5lbGVtZW50PQo7dGhpcy5y
ZW1vdmVFbGVtZW50VmlldyhhLnNvdXJjZSksdGhpcy53b3JraW5nRWxlbWVudHM9M0RfLndpdGhv
dXQodGhpcy53b3I9CmtpbmdFbGVtZW50cyxiKSx0aGlzLndvcmtpbmdFbGVtZW50cy5sZW5ndGh8
fHRoaXMuX3JlbmRlck5vRWxlbWVudHNMZWZ0KCl9KT0KLHRoaXN9LF9lcnJvckhhbmRsZXI6ZnVu
Y3Rpb24oYSl7dGhpcy5lcnJvcihhKTt2YXIgYj0zRHRoaXM7aWYoY29udGVudD0zRGEuPQptZXNz
YWdlfHxmKCJBbiBlcnJvciBvY2N1cnJlZCIpLGEueGhyKXt2YXIgYz0zRGEueGhyLGQ9M0RhLm1l
c3NhZ2U7Y29udGVudCs9Cj0zRDA9M0Q9M0Q9M0RjLnJlYWR5U3RhdGUmJjA9M0Q9M0Q9M0RjLnN0
YXR1cz8iOiAiK2YoIkdhbGF4eSBjb3VsZCBub3QgYmUgcj0KZWFjaGVkIGFuZCBtYXkgYmUgdXBk
YXRpbmcuIikrZigiIFRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLiIpOmMucmVzcG9uc2VKPQpT
T04/Ijo8YnIgLz48cHJlPiIrSlNPTi5zdHJpbmdpZnkoYy5yZXNwb25zZUpTT04pKyI8L3ByZT4i
OiI6ICIrZH1iLl9zaG93QWw9CmVydChjb250ZW50LCJhbGVydC1kYW5nZXIiKX0sZXZlbnRzOnsi
Y2xpY2sgLm1vcmUtaGVscCI6Il9jbGlja01vcmVIZWxwIiwiYz0KbGljayAubGVzcy1oZWxwIjoi
X2NsaWNrTGVzc0hlbHAiLCJjbGljayAubWFpbi1oZWxwIjoiX3RvZ2dsZUhlbHAiLCJjbGljayAu
PQpoZWFkZXIgLmFsZXJ0IGJ1dHRvbiI6Il9oaWRlQWxlcnQiLCJjbGljayAucmVzZXQiOiJyZXNl
dCIsImNsaWNrIC5jbGVhci1zZWw9CmVjdGVkIjoiY2xlYXJTZWxlY3RlZEVsZW1lbnRzIiwiY2xp
Y2sgLmNvbGxlY3Rpb24tZWxlbWVudHMiOiJjbGVhclNlbGVjdGVkRT0KbGVtZW50cyIsImRyYWdv
dmVyIC5jb2xsZWN0aW9uLWVsZW1lbnRzIjoiX2RyYWdvdmVyRWxlbWVudHMiLCJkcm9wIC5jb2xs
ZWN0PQppb24tZWxlbWVudHMiOiJfZHJvcEVsZW1lbnRzIiwiY29sbGVjdGlvbi1lbGVtZW50LmRy
YWdzdGFydCAuY29sbGVjdGlvbi1lbGU9Cm1lbnRzIjoiX2VsZW1lbnREcmFnc3RhcnQiLCJjb2xs
ZWN0aW9uLWVsZW1lbnQuZHJhZ2VuZCAgIC5jb2xsZWN0aW9uLWVsZW1lbj0KdHMiOiJfZWxlbWVu
dERyYWdlbmQiLCJjaGFuZ2UgLmNvbGxlY3Rpb24tbmFtZSI6Il9jaGFuZ2VOYW1lIiwia2V5ZG93
biAuY29sPQpsZWN0aW9uLW5hbWUiOiJfbmFtZUNoZWNrRm9yRW50ZXIiLCJjbGljayAuY2FuY2Vs
LWNyZWF0ZSI6ZnVuY3Rpb24oKXsiZnVuY3Q9CmlvbiI9M0Q9M0R0eXBlb2YgdGhpcy5vbmNhbmNl
bCYmdGhpcy5vbmNhbmNlbC5jYWxsKHRoaXMpfSwiY2xpY2sgLmNyZWF0ZS1jbz0KbGxlY3Rpb24i
OiJfY2xpY2tDcmVhdGUifSxfY2xpY2tNb3JlSGVscDpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdh
dGlvbigpLHRoPQppcy4kKCIubWFpbi1oZWxwIikuYWRkQ2xhc3MoImV4cGFuZGVkIiksdGhpcy4k
KCIubW9yZS1oZWxwIikuaGlkZSgpfSxfY2xpY2s9Ckxlc3NIZWxwOmZ1bmN0aW9uKGEpe2Euc3Rv
cFByb3BhZ2F0aW9uKCksdGhpcy4kKCIubWFpbi1oZWxwIikucmVtb3ZlQ2xhc3MoIj0KZXhwYW5k
ZWQiKSx0aGlzLiQoIi5tb3JlLWhlbHAiKS5zaG93KCl9LF90b2dnbGVIZWxwOmZ1bmN0aW9uKGEp
e2Euc3RvcFByb3BhPQpnYXRpb24oKSx0aGlzLiQoIi5tYWluLWhlbHAiKS50b2dnbGVDbGFzcygi
ZXhwYW5kZWQiKSx0aGlzLiQoIi5tb3JlLWhlbHAiKS49CnRvZ2dsZSgpfSxfc2hvd0FsZXJ0OmZ1
bmN0aW9uKGEsYil7Yj0zRGJ8fCJhbGVydC1kYW5nZXIiLHRoaXMuJCgiLm1haW4taGVscD0KIiku
aGlkZSgpLHRoaXMuJCgiLmhlYWRlciAuYWxlcnQiKS5hdHRyKCJjbGFzcyIsImFsZXJ0IGFsZXJ0
LWRpc21pc3NhYmxlIikuPQphZGRDbGFzcyhiKS5zaG93KCkuZmluZCgiLmFsZXJ0LW1lc3NhZ2Ui
KS5odG1sKGEpfSxfaGlkZUFsZXJ0OmZ1bmN0aW9uKCl7dGg9CmlzLiQoIi5tYWluLWhlbHAiKS5z
aG93KCksdGhpcy4kKCIuaGVhZGVyIC5hbGVydCIpLmhpZGUoKX0scmVzZXQ6ZnVuY3Rpb24oKT0K
e3RoaXMuX2luc3RhbmNlU2V0VXAoKSx0aGlzLl9lbGVtZW50c1NldFVwKCksdGhpcy5yZW5kZXIo
KX0sY2xlYXJTZWxlY3RlZEVsPQplbWVudHM6ZnVuY3Rpb24oKXt0aGlzLiQoIi5jb2xsZWN0aW9u
LWVsZW1lbnRzIC5jb2xsZWN0aW9uLWVsZW1lbnQiKS5yZW1vdmU9CkNsYXNzKCJzZWxlY3RlZCIp
LHRoaXMuJCgiLmNvbGxlY3Rpb24tZWxlbWVudHMtY29udHJvbHMgPiAuY2xlYXItc2VsZWN0ZWQi
KT0KLmhpZGUoKX0sX2RyYWdvdmVyRWxlbWVudHM6ZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVs
dCgpO3ZhciBiPTNEdGhpcy4kbGlzPQp0KCk7dGhpcy5fY2hlY2tGb3JBdXRvc2Nyb2xsKGIsYS5v
cmlnaW5hbEV2ZW50LmNsaWVudFkpO3ZhciBjPTNEdGhpcy5fZ2V0TmU9CmFyZXN0RWxlbWVudChh
Lm9yaWdpbmFsRXZlbnQuY2xpZW50WSk7dGhpcy4kKCIuZWxlbWVudC1kcm9wLXBsYWNlaG9sZGVy
Iikucj0KZW1vdmUoKTt2YXIgZD0zRCQoJzxkaXYgY2xhc3M9M0QiZWxlbWVudC1kcm9wLXBsYWNl
aG9sZGVyIj48L2Rpdj4nKTtjLnNpemUoPQopP2MuYmVmb3JlKGQpOmIuYXBwZW5kKGQpfSxfY2hl
Y2tGb3JBdXRvc2Nyb2xsOmZ1bmN0aW9uKGEsYil7dmFyIGM9M0QyLGQ9M0Q9CmEub2Zmc2V0KCks
ZT0zRGEuc2Nyb2xsVG9wKCksZj0zRGItZC50b3AsZz0zRGQudG9wK2Eub3V0ZXJIZWlnaHQoKS1i
O2Y+PTNEMD0KJiZmPHRoaXMuYXV0b3Njcm9sbERpc3Q/YS5zY3JvbGxUb3AoZS1jKTpnPj0zRDAm
Jmc8dGhpcy5hdXRvc2Nyb2xsRGlzdCYmYS5zPQpjcm9sbFRvcChlK2MpfSxfZ2V0TmVhcmVzdEVs
ZW1lbnQ6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTNENCxjPTNEdGhpcy4kKCIuY289CmxsZWN0aW9u
LWVsZW1lbnRzIGxpLmNvbGxlY3Rpb24tZWxlbWVudCIpLnRvQXJyYXkoKSxkPTNEMDtkPGMubGVu
Z3RoO2QrKyl7dj0KYXIgZT0zRCQoY1tkXSksZj0zRGUub2Zmc2V0KCkudG9wLGc9M0RNYXRoLmZs
b29yKGUub3V0ZXJIZWlnaHQoKS8yKStiO2lmKGYrPQpnPmEmJmE+Zi1nKXJldHVybiBlfXJldHVy
biAkKCl9LF9kcm9wRWxlbWVudHM6ZnVuY3Rpb24oYSl7YS5vcmlnaW5hbEV2ZW50JiY9CihhPTNE
YS5vcmlnaW5hbEV2ZW50KSxhLnByZXZlbnREZWZhdWx0KCksYS5kYXRhVHJhbnNmZXIuZHJvcEVm
ZmVjdD0zRCJtb3ZlIj0KO3ZhciBiPTNEdGhpcy5fZ2V0TmVhcmVzdEVsZW1lbnQoYS5jbGllbnRZ
KTtyZXR1cm4gYi5zaXplKCk/dGhpcy4kZHJhZ2dpbmcuPQppbnNlcnRCZWZvcmUoYik6dGhpcy4k
ZHJhZ2dpbmcuaW5zZXJ0QWZ0ZXIodGhpcy4kKCIuY29sbGVjdGlvbi1lbGVtZW50cyAuY289Cmxs
ZWN0aW9uLWVsZW1lbnQiKS5sYXN0KCkpLHRoaXMuX3N5bmNPcmRlclRvRG9tKCksITF9LF9zeW5j
T3JkZXJUb0RvbTpmdW5jdD0KaW9uKCl7dmFyIGE9M0R0aGlzLGI9M0RbXTt0aGlzLiQoIi5jb2xs
ZWN0aW9uLWVsZW1lbnRzIC5jb2xsZWN0aW9uLWVsZW1lbnQiPQopLmVhY2goZnVuY3Rpb24oKXt2
YXIgYz0zRCQodGhpcykuYXR0cigiZGF0YS1lbGVtZW50LWlkIiksZD0zRF8uZmluZFdoZXJlKGE9
Ci53b3JraW5nRWxlbWVudHMse2lkOmN9KTtkP2IucHVzaChkKTpjb25zb2xlLmVycm9yKCJtaXNz
aW5nIGVsZW1lbnQ6ICIsYyl9KT0KLHRoaXMud29ya2luZ0VsZW1lbnRzPTNEYix0aGlzLl9yZW5k
ZXJMaXN0KCl9LF9lbGVtZW50RHJhZ3N0YXJ0OmZ1bmN0aW9uKGEsPQpiKXtiLnNlbGVjdCghMCks
dGhpcy4kZHJhZ2dpbmc9M0R0aGlzLiQoIi5jb2xsZWN0aW9uLWVsZW1lbnRzIC5jb2xsZWN0aW9u
LWU9CmxlbWVudC5zZWxlY3RlZCIpfSxfZWxlbWVudERyYWdlbmQ6ZnVuY3Rpb24oKXskKCIuZWxl
bWVudC1kcm9wLXBsYWNlaG9sZGVyIj0KKS5yZW1vdmUoKSx0aGlzLiRkcmFnZ2luZz0zRG51bGx9
LF9jaGFuZ2VOYW1lOmZ1bmN0aW9uKCl7dGhpcy5fdmFsaWRhdGlvbldhPQpybmluZygibmFtZSIs
ISF0aGlzLl9nZXROYW1lKCkpfSxfbmFtZUNoZWNrRm9yRW50ZXI6ZnVuY3Rpb24oYSl7MTMhPTNE
PTNEYS49CmtleUNvZGV8fHRoaXMuYmxvY2tpbmd8fHRoaXMuX2NsaWNrQ3JlYXRlKCl9LF9nZXRO
YW1lOmZ1bmN0aW9uKCl7cmV0dXJuIF8uZT0Kc2NhcGUodGhpcy4kKCIuY29sbGVjdGlvbi1uYW1l
IikudmFsKCkpfSxfY2xpY2tDcmVhdGU6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoPQppcy5fZ2V0TmFt
ZSgpO2E/dGhpcy5ibG9ja2luZ3x8dGhpcy5jcmVhdGVMaXN0KGEpOnRoaXMuX3ZhbGlkYXRpb25X
YXJuaW5nKCI9Cm5hbWUiKX0sdGVtcGxhdGVzOnttYWluOl8udGVtcGxhdGUoWyc8ZGl2IGNsYXNz
PTNEImhlYWRlciBmbGV4LXJvdyBuby1mbGV4Ij0KPjwvZGl2PicsJzxkaXYgY2xhc3M9M0QibWlk
ZGxlIGZsZXgtcm93IGZsZXgtcm93LWNvbnRhaW5lciI+PC9kaXY+JywnPGRpdiBjPQpsYXNzPTNE
ImZvb3RlciBmbGV4LXJvdyBuby1mbGV4Ij48L2Rpdj4nXS5qb2luKCIiKSksaGVhZGVyOl8udGVt
cGxhdGUoWyc8ZGk9CnYgY2xhc3M9M0QibWFpbi1oZWxwIHdlbGwgY2xlYXIiPicsJzxhIGNsYXNz
PTNEIm1vcmUtaGVscCIgaHJlZj0zRCJqYXZhc2NyaT0KcHQ6dm9pZCgwKTsiPicsZigiTW9yZSBo
ZWxwIiksIjwvYT4iLCc8ZGl2IGNsYXNzPTNEImhlbHAtY29udGVudCI+JywnPGEgY2xhPQpzcz0z
RCJsZXNzLWhlbHAiIGhyZWY9M0QiamF2YXNjcmlwdDp2b2lkKDApOyI+JyxmKCJMZXNzIiksIjwv
YT4iLCI8L2Rpdj4iLCI9CjwvZGl2PiIsJzxkaXYgY2xhc3M9M0QiYWxlcnQgYWxlcnQtZGlzbWlz
c2FibGUiPicsJzxidXR0b24gdHlwZT0zRCJidXR0b24iID0KY2xhc3M9M0QiY2xvc2UiIGRhdGEt
ZGlzbWlzcz0zRCJhbGVydCIgJywndGl0bGU9M0QiJyxmKCJDbG9zZSBhbmQgc2hvdyBtb3JlPQog
aGVscCIpLCciIGFyaWEtaGlkZGVuPTNEInRydWUiPiZ0aW1lczs8L2J1dHRvbj4nLCc8c3BhbiBj
bGFzcz0zRCJhbGVydC1tZXM9CnNhZ2UiPjwvc3Bhbj4nLCI8L2Rpdj4iXS5qb2luKCIiKSksbWlk
ZGxlOl8udGVtcGxhdGUoWyc8ZGl2IGNsYXNzPTNEImNvbGxlYz0KdGlvbi1lbGVtZW50cy1jb250
cm9scyI+JywnPGEgY2xhc3M9M0QicmVzZXQiIGhyZWY9M0QiamF2YXNjcmlwdDp2b2lkKDApOyIg
PQonLCd0aXRsZT0zRCInLGYoIlVuZG8gYWxsIHJlb3JkZXJpbmcgYW5kIGRpc2NhcmRzIiksJyI+
JyxmKCJTdGFydCBvdmVyIiksIjw9Ci9hPiIsJzxhIGNsYXNzPTNEImNsZWFyLXNlbGVjdGVkIiBo
cmVmPTNEImphdmFzY3JpcHQ6dm9pZCgwKTsiICcsJ3RpdGxlPTNEIj0KJyxmKCJEZS1zZWxlY3Qg
YWxsIHNlbGVjdGVkIGRhdGFzZXRzIiksJyI+JyxmKCJDbGVhciBzZWxlY3RlZCIpLCI8L2E+Iiwi
PC9kPQppdj4iLCc8ZGl2IGNsYXNzPTNEImNvbGxlY3Rpb24tZWxlbWVudHMgc2Nyb2xsLWNvbnRh
aW5lciBmbGV4LXJvdyI+JywiPC9kaXY9Cj4iXS5qb2luKCIiKSksZm9vdGVyOl8udGVtcGxhdGUo
Wyc8ZGl2IGNsYXNzPTNEImF0dHJpYnV0ZXMgY2xlYXIiPicsJzxkaXYgYz0KbGFzcz0zRCJjbGVh
ciI+JywnPGlucHV0IGNsYXNzPTNEImNvbGxlY3Rpb24tbmFtZSBmb3JtLWNvbnRyb2wgcHVsbC1y
aWdodCIgPQonLCdwbGFjZWhvbGRlcj0zRCInLGYoIkVudGVyIGEgbmFtZSBmb3IgeW91ciBuZXcg
Y29sbGVjdGlvbiIpLCciIC8+JywnPGRpdiA9CmNsYXNzPTNEImNvbGxlY3Rpb24tbmFtZS1wcm9t
cHQgcHVsbC1yaWdodCI+JyxmKCJOYW1lIiksIjo8L2Rpdj4iLCI8L2Rpdj4iLD0KIjwvZGl2PiIs
JzxkaXYgY2xhc3M9M0QiYWN0aW9ucyBjbGVhciB2ZXJ0aWNhbGx5LXNwYWNlZCI+JywnPGRpdiBj
bGFzcz0zRCJvPQp0aGVyLW9wdGlvbnMgcHVsbC1sZWZ0Ij4nLCc8YnV0dG9uIGNsYXNzPTNEImNh
bmNlbC1jcmVhdGUgYnRuIiB0YWJpbmRleD0zRCI9Ci0xIj4nLGYoIkNhbmNlbCIpLCI8L2J1dHRv
bj4iLCc8ZGl2IGNsYXNzPTNEImNyZWF0ZS1vdGhlciBidG4tZ3JvdXAgZHJvcHVwIj0KPicsJzxi
dXR0b24gY2xhc3M9M0QiYnRuIGJ0bi1kZWZhdWx0IGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dn
bGU9M0QiZHJvcGRvPQp3biI+JyxmKCJDcmVhdGUgYSBkaWZmZXJlbnQga2luZCBvZiBjb2xsZWN0
aW9uIiksJyA8c3BhbiBjbGFzcz0zRCJjYXJldCI+PC89CnNwYW4+JywiPC9idXR0b24+IiwnPHVs
IGNsYXNzPTNEImRyb3Bkb3duLW1lbnUiIHJvbGU9M0QibWVudSI+JywnPGxpPjxhIGhyZT0KZj0z
RCIjIj4nLGYoIkNyZWF0ZSBhIDxpPnNpbmdsZTwvaT4gcGFpciIpLCI8L2E+PC9saT4iLCc8bGk+
PGEgaHJlZj0zRCIjIj4nPQosZigiQ3JlYXRlIGEgbGlzdCBvZiA8aT51bnBhaXJlZDwvaT4gZGF0
YXNldHMiKSwiPC9hPjwvbGk+IiwiPC91bD4iLCI8L2Rpdj49CiIsIjwvZGl2PiIsJzxkaXYgY2xh
c3M9M0QibWFpbi1vcHRpb25zIHB1bGwtcmlnaHQiPicsJzxidXR0b24gY2xhc3M9M0QiY3JlYT0K
dGUtY29sbGVjdGlvbiBidG4gYnRuLXByaW1hcnkiPicsZigiQ3JlYXRlIGxpc3QiKSwiPC9idXR0
b24+IiwiPC9kaXY+IiwiPC9kPQppdj4iXS5qb2luKCIiKSksaGVscENvbnRlbnQ6Xy50ZW1wbGF0
ZShbIjxwPiIsZihbIkNvbGxlY3Rpb25zIG9mIGRhdGFzZXRzIGE9CnJlIHBlcm1hbmVudCwgb3Jk
ZXJlZCBsaXN0cyBvZiBkYXRhc2V0cyB0aGF0IGNhbiBiZSBwYXNzZWQgdG8gdG9vbHMgYW5kICIs
Ij0Kd29ya2Zsb3dzIGluIG9yZGVyIHRvIGhhdmUgYW5hbHlzZXMgZG9uZSBvbiBlYWNoIG1lbWJl
ciBvZiB0aGUgZW50aXJlIGdyb3VwPQouIFRoaXMgaW50ZXJmYWNlIGFsbG93cyAiLCJ5b3UgdG8g
Y3JlYXRlIGEgY29sbGVjdGlvbiBhbmQgcmUtb3JkZXIgdGhlIGZpbmE9CmwgY29sbGVjdGlvbi4i
XS5qb2luKCIiKSksIjwvcD4iLCI8dWw+IiwiPGxpPiIsZihbIlJlbmFtZSBlbGVtZW50cyBpbiB0
aGUgbD0KaXN0IGJ5IGNsaWNraW5nIG9uICIsJzxpIGRhdGEtdGFyZ2V0PTNEIi5jb2xsZWN0aW9u
LWVsZW1lbnQgLm5hbWUiPnRoZSBleGlzPQp0aW5nIG5hbWU8L2k+LiddLmpvaW4oIiIpKSwiPC9s
aT4iLCI8bGk+IixmKFsiRGlzY2FyZCBlbGVtZW50cyBmcm9tIHRoZSBmaW49CmFsIGNyZWF0ZWQg
bGlzdCBieSBjbGlja2luZyBvbiB0aGUgIiwnPGkgZGF0YS10YXJnZXQ9M0QiLmNvbGxlY3Rpb24t
ZWxlbWVudD0KIC5kaXNjYXJkIj4iRGlzY2FyZCI8L2k+IGJ1dHRvbi4nXS5qb2luKCIiKSksIjwv
bGk+IiwiPGxpPiIsZihbIlJlb3JkZXIgdGhlPQogbGlzdCBieSBjbGlja2luZyBhbmQgZHJhZ2dp
bmcgZWxlbWVudHMuIFNlbGVjdCBtdWx0aXBsZSBlbGVtZW50cyBieSBjbGlja2k9Cm5nIG9uICIs
JzxpIGRhdGEtdGFyZ2V0PTNEIi5jb2xsZWN0aW9uLWVsZW1lbnQiPnRoZW08L2k+IGFuZCB5b3Ug
Y2FuIHRoZW4gbT0Kb3ZlIHRob3NlIHNlbGVjdGVkIGJ5IGRyYWdnaW5nIHRoZSAnLCJlbnRpcmUg
Z3JvdXAuIERlc2VsZWN0IHRoZW0gYnkgY2xpY2tpPQpuZyB0aGVtIGFnYWluIG9yIGJ5IGNsaWNr
aW5nIHRoZSAiLCd0aGUgPGkgZGF0YS10YXJnZXQ9M0QiLmNsZWFyLXNlbGVjdGVkIj49CiJDbGVh
ciBzZWxlY3RlZCI8L2k+IGxpbmsuJ10uam9pbigiIikpLCI8L2xpPiIsIjxsaT4iLGYoWydDbGlj
ayB0aGUgPGkgZGF0YT0KLXRhcmdldD0zRCIucmVzZXQiPiJTdGFydCBvdmVyIjwvaT4gbGluayB0
byBiZWdpbiBhZ2FpbiBhcyBpZiB5b3UgaGFkIGp1c3QgPQpvcGVuZWQgJywidGhlIGludGVyZmFj
ZS4iXS5qb2luKCIiKSksIjwvbGk+IiwiPGxpPiIsZihbJ0NsaWNrIHRoZSA8aSBkYXRhLXQ9CmFy
Z2V0PTNEIi5jYW5jZWwtY3JlYXRlIj4iQ2FuY2VsIjwvaT4gYnV0dG9uIHRvIGV4aXQgdGhlIGlu
dGVyZmFjZS4nXS5qb2luKD0KIiIpKSwiPC9saT4iLCI8L3VsPjxiciAvPiIsIjxwPiIsZihbJ09u
Y2UgeW91ciBjb2xsZWN0aW9uIGlzIGNvbXBsZXRlLCBlbnRlPQpyIGEgPGkgZGF0YS10YXJnZXQ9
M0QiLmNvbGxlY3Rpb24tbmFtZSI+bmFtZTwvaT4gYW5kICcsJ2NsaWNrIDxpIGRhdGEtdGFyZ2U9
CnQ9M0QiLmNyZWF0ZS1jb2xsZWN0aW9uIj4iQ3JlYXRlIGxpc3QiPC9pPi4nXS5qb2luKCIiKSks
IjwvcD4iXS5qb2luKCIiKSksaT0KbnZhbGlkRWxlbWVudHM6Xy50ZW1wbGF0ZShbZigiVGhlIGZv
bGxvd2luZyBzZWxlY3Rpb25zIGNvdWxkIG5vdCBiZSBpbmNsdWRlPQpkIGR1ZSB0byBwcm9ibGVt
czoiKSwiPHVsPjwlIF8uZWFjaCggcHJvYmxlbXMsIGZ1bmN0aW9uKCBwcm9ibGVtICl7ICU+Iiwi
PGw9Cmk+PGI+PCUtIHByb2JsZW0uZWxlbWVudC5uYW1lICU+PC9iPjogPCUtIHByb2JsZW0udGV4
dCAlPjwvbGk+IiwiPCUgfSk7ICU+PD0KL3VsPiJdLmpvaW4oIiIpKSxub0VsZW1lbnRzTGVmdDpf
LnRlbXBsYXRlKFsnPGxpIGNsYXNzPTNEIm5vLWVsZW1lbnRzLWxlZnQtPQptZXNzYWdlIj4nLGYo
Ik5vIGVsZW1lbnRzIGxlZnQhICIpLGYoIldvdWxkIHlvdSBsaWtlIHRvICIpLCc8YSBjbGFzcz0z
RCJyZXM9CmV0IiBocmVmPTNEImphdmFzY3JpcHQ6dm9pZCgwKSI+JyxmKCJzdGFydCBvdmVyIiks
IjwvYT4/IiwiPC9saT4iXS5qb2luKCIiKT0KKSxpbnZhbGlkSW5pdGlhbDpfLnRlbXBsYXRlKFsn
PGRpdiBjbGFzcz0zRCJoZWFkZXIgZmxleC1yb3cgbm8tZmxleCI+JywnPGRpPQp2IGNsYXNzPTNE
ImFsZXJ0IGFsZXJ0LXdhcm5pbmciIHN0eWxlPTNEImRpc3BsYXk6IGJsb2NrIj4nLCc8c3BhbiBj
bGFzcz0zRCI9CmFsZXJ0LW1lc3NhZ2UiPicsIjwlIGlmKCBfLnNpemUoIHByb2JsZW1zICkgKXsg
JT4iLGYoIlRoZSBmb2xsb3dpbmcgc2VsZWN0aT0Kb25zIGNvdWxkIG5vdCBiZSBpbmNsdWRlZCBk
dWUgdG8gcHJvYmxlbXMiKSwiOiIsIjx1bD48JSBfLmVhY2goIHByb2JsZW1zLCBmPQp1bmN0aW9u
KCBwcm9ibGVtICl7ICU+IiwiPGxpPjxiPjwlLSBwcm9ibGVtLmVsZW1lbnQubmFtZSAlPjwvYj46
IDwlLSBwcm9ibGU9Cm0udGV4dCAlPjwvbGk+IiwiPCUgfSk7ICU+PC91bD4iLCI8JSB9IGVsc2Ug
aWYoIF8uc2l6ZSggZWxlbWVudHMgKSA8IDEgKXsgJT0KPiIsZigiTm8gZGF0YXNldHMgd2VyZSBz
ZWxlY3RlZCIpLCIuIiwiPCUgfSAlPiIsIjxiciAvPiIsZigiQXQgbGVhc3Qgb25lIGVsPQplbWVu
dCBpcyBuZWVkZWQgZm9yIHRoZSBjb2xsZWN0aW9uIiksIi4gIixmKCJZb3UgbWF5IG5lZWQgdG8g
IiksJzxhIGNsYXNzPQo9M0QiY2FuY2VsLWNyZWF0ZSIgaHJlZj0zRCJqYXZhc2NyaXB0OnZvaWQo
MCkiPicsZigiY2FuY2VsIiksIjwvYT4gIixmKCJhbmQ9CiByZXNlbGVjdCBuZXcgZWxlbWVudHMi
KSwiLiIsIjwvc3Bhbj4iLCI8L2Rpdj4iLCI8L2Rpdj4iLCc8ZGl2IGNsYXNzPTNEImZvbz0KdGVy
IGZsZXgtcm93IG5vLWZsZXgiPicsJzxkaXYgY2xhc3M9M0QiYWN0aW9ucyBjbGVhciB2ZXJ0aWNh
bGx5LXNwYWNlZCI+JywnPQo8ZGl2IGNsYXNzPTNEIm90aGVyLW9wdGlvbnMgcHVsbC1sZWZ0Ij4n
LCc8YnV0dG9uIGNsYXNzPTNEImNhbmNlbC1jcmVhdGUgYnQ9Cm4iIHRhYmluZGV4PTNEIi0xIj4n
LGYoIkNhbmNlbCIpLCI8L2J1dHRvbj4iLCI8L2Rpdj4iLCI8L2Rpdj4iLCI8L2Rpdj4iXS5qbz0K
aW4oIiIpKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4iTGlzdENvbGxlY3Rpb25DcmVhdG9y
In19KSxqPTNEZnVuY3Rpb24oPQphLGIsYyl7dmFyIGUsZz0zRGpRdWVyeS5EZWZlcnJlZCgpLGg9
M0RHYWxheHkubW9kYWx8fG5ldyBkLlZpZXc7cmV0dXJuIGI9M0Q9Cl8uZGVmYXVsdHMoYnx8e30s
e2VsZW1lbnRzOmEsb25jYW5jZWw6ZnVuY3Rpb24oKXtoLmhpZGUoKSxnLnJlamVjdCgiY2FuY2Vs
bD0KZWQiKX0sb25jcmVhdGU6ZnVuY3Rpb24oYSxiKXtoLmhpZGUoKSxnLnJlc29sdmUoYil9fSks
ZT0zRG5ldyBjKGIpLGguc2hvdyh7PQp0aXRsZTpiLnRpdGxlfHxmKCJDcmVhdGUgYSBjb2xsZWN0
aW9uIiksYm9keTplLiRlbCx3aWR0aDoiODAlIixoZWlnaHQ6Im1pbi09CmNvbnRlbnQiLGNsb3Np
bmdfZXZlbnRzOiEwfSksZS5yZW5kZXIoKSx3aW5kb3cuX2NvbGxlY3Rpb25DcmVhdG9yPTNEZSxn
fSxrPQo9M0RmdW5jdGlvbihhLGIpe3JldHVybiBiPTNEYnx8e30sYi50aXRsZT0zRGYoIkNyZWF0
ZSBhIGNvbGxlY3Rpb24gZnJvbSBhIGw9CmlzdCBvZiBkYXRhc2V0cyIpLGooYSxiLGkpfTtyZXR1
cm57RGF0YXNldENvbGxlY3Rpb25FbGVtZW50VmlldzpoLExpc3RDb2xsZT0KY3Rpb25DcmVhdG9y
OmksY29sbGVjdGlvbkNyZWF0b3JNb2RhbDpqLGxpc3RDb2xsZWN0aW9uQ3JlYXRvck1vZGFsOmss
Y3JlYXRlPQpMaXN0Q29sbGVjdGlvbjpnfX0pOworZGVmaW5lKFsibXZjL2hpc3RvcnkvaGRjYS1t
b2RlbCIsIm12Yy9kYXRhc2V0L3N0YXRlcyIsIm12Yy9iYXNlLW12YyIsIm12Yy89CnVpL3VpLW1v
ZGFsIiwidXRpbHMvbmF0dXJhbC1zb3J0IiwidXRpbHMvbG9jYWxpemF0aW9uIiwidWkvaG92ZXJo
aWdobGlnaHQiXT0KLGZ1bmN0aW9uKGEsYixjLGQsZSxmKXtmdW5jdGlvbiBnKGEpe3ZhciBiPTNE
YS50b0pTT04oKSxjPTNEayhiLHtjcmVhdGlvbkZuPQo6ZnVuY3Rpb24oYixjKXtyZXR1cm4gYj0z
RGIubWFwKGZ1bmN0aW9uKGEpe3JldHVybntpZDphLmlkLG5hbWU6YS5uYW1lLHNyYzo9CiJkYXRh
c2V0Ij0zRD0zRD0zRGEuaGlzdG9yeV9jb250ZW50X3R5cGU/ImhkYSI6ImhkY2EifX0pLGEuY3Jl
YXRlSERDQShiLCJsaT0Kc3QiLGMpfX0pO3JldHVybiBjfXZhciBoPTNEQmFja2JvbmUuVmlldy5l
eHRlbmQoYy5Mb2dnYWJsZU1peGluKS5leHRlbmQoe3RhPQpnTmFtZToibGkiLGNsYXNzTmFtZToi
Y29sbGVjdGlvbi1lbGVtZW50Iixpbml0aWFsaXplOmZ1bmN0aW9uKGEpe3RoaXMuZWxlbWU9Cm50
PTNEYS5lbGVtZW50fHx7fSx0aGlzLnNlbGVjdGVkPTNEYS5zZWxlY3RlZHx8ITF9LHJlbmRlcjpm
dW5jdGlvbigpe3JldHVybj0KIHRoaXMuJGVsLmF0dHIoImRhdGEtZWxlbWVudC1pZCIsdGhpcy5l
bGVtZW50LmlkKS5hdHRyKCJkcmFnZ2FibGUiLCEwKS5odG1sPQoodGhpcy50ZW1wbGF0ZSh7ZWxl
bWVudDp0aGlzLmVsZW1lbnR9KSksdGhpcy5zZWxlY3RlZCYmdGhpcy4kZWwuYWRkQ2xhc3MoInM9
CmVsZWN0ZWQiKSx0aGlzfSx0ZW1wbGF0ZTpfLnRlbXBsYXRlKFsnPGEgY2xhc3M9M0QibmFtZSIg
dGl0bGU9M0QiJyxmKCJDbGljaz0KIHRvIHJlbmFtZSIpLCciIGhyZWY9M0QiamF2YXNjcmlwdDp2
b2lkKDApIj4nLCI8JS0gZWxlbWVudC5uYW1lICU+IiwiPC9hPiIsPQonPGJ1dHRvbiBjbGFzcz0z
RCJkaXNjYXJkIGJ0biBidG4tc20iIHRpdGxlPTNEIicsZigiUmVtb3ZlIHRoaXMgZGF0YXNldCBm
cm89Cm0gdGhlIGxpc3QiKSwnIj4nLGYoIkRpc2NhcmQiKSwiPC9idXR0b24+Il0uam9pbigiIikp
LHNlbGVjdDpmdW5jdGlvbihhKXt0aD0KaXMuJGVsLnRvZ2dsZUNsYXNzKCJzZWxlY3RlZCIsYSks
dGhpcy50cmlnZ2VyKCJzZWxlY3QiLHtzb3VyY2U6dGhpcyxzZWxlY3RlPQpkOnRoaXMuJGVsLmhh
c0NsYXNzKCJzZWxlY3RlZCIpfSl9LGRpc2NhcmQ6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXMsYj0z
RHRoaXM9Ci4kZWwucGFyZW50KCkud2lkdGgoKTt0aGlzLiRlbC5hbmltYXRlKHsibWFyZ2luLXJp
Z2h0IjpifSwiZmFzdCIsZnVuY3Rpb24oKT0Ke2EudHJpZ2dlcigiZGlzY2FyZCIse3NvdXJjZTph
fSksYS5kZXN0cm95KCl9KX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMub2ZmPQooKSx0aGlzLiRl
bC5yZW1vdmUoKX0sZXZlbnRzOntjbGljazoiX2NsaWNrIiwiY2xpY2sgLm5hbWUiOiJfY2xpY2tO
YW1lIiwiY2w9CmljayAuZGlzY2FyZCI6Il9jbGlja0Rpc2NhcmQiLGRyYWdzdGFydDoiX2RyYWdz
dGFydCIsZHJhZ2VuZDoiX2RyYWdlbmQiLGRyYT0KZ292ZXI6Il9zZW5kVG9QYXJlbnQiLGRyb3A6
Il9zZW5kVG9QYXJlbnQifSxfY2xpY2s6ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnPQphdGlvbigp
LHRoaXMuc2VsZWN0KGEpfSxfY2xpY2tOYW1lOmZ1bmN0aW9uKGEpe2Euc3RvcFByb3BhZ2F0aW9u
KCksYS5wcmV2ZW49CnREZWZhdWx0KCk7dmFyIGI9M0QoW2YoIkVudGVyIGEgbmV3IG5hbWUgZm9y
IHRoZSBlbGVtZW50IiksIjpcbigiLGYoIk5vdGUgdD0KaGF0IGNoYW5naW5nIHRoZSBuYW1lIGhl
cmUgd2lsbCBub3QgcmVuYW1lIHRoZSBkYXRhc2V0IiksIikiXS5qb2luKCIiKSxwcm9tPQpwdChm
KCJFbnRlciBhIG5ldyBuYW1lIGZvciB0aGUgZWxlbWVudCIpKyI6Iix0aGlzLmVsZW1lbnQubmFt
ZSkpO2ImJih0aGlzLmU9CmxlbWVudC5uYW1lPTNEYix0aGlzLnJlbmRlcigpKX0sX2NsaWNrRGlz
Y2FyZDpmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbj0KKCksdGhpcy5kaXNjYXJkKCl9LF9k
cmFnc3RhcnQ6ZnVuY3Rpb24oYSl7YS5vcmlnaW5hbEV2ZW50JiYoYT0zRGEub3JpZ2luYWxFPQp2
ZW50KSxhLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPTNEIm1vdmUiLGEuZGF0YVRyYW5zZmVy
LnNldERhdGEoInRleHQvcGw9CmFpbiIsSlNPTi5zdHJpbmdpZnkodGhpcy5lbGVtZW50KSksdGhp
cy4kZWwuYWRkQ2xhc3MoImRyYWdnaW5nIiksdGhpcy4kZWwucD0KYXJlbnQoKS50cmlnZ2VyKCJj
b2xsZWN0aW9uLWVsZW1lbnQuZHJhZ3N0YXJ0IixbdGhpc10pfSxfZHJhZ2VuZDpmdW5jdGlvbigp
PQp7dGhpcy4kZWwucmVtb3ZlQ2xhc3MoImRyYWdnaW5nIiksdGhpcy4kZWwucGFyZW50KCkudHJp
Z2dlcigiY29sbGVjdGlvbi1lbGU9Cm1lbnQuZHJhZ2VuZCIsW3RoaXNdKX0sX3NlbmRUb1BhcmVu
dDpmdW5jdGlvbihhKXt0aGlzLiRlbC5wYXJlbnQoKS50cmlnZ2VyKD0KYSl9LHRvU3RyaW5nOmZ1
bmN0aW9uKCl7cmV0dXJuIkRhdGFzZXRDb2xsZWN0aW9uRWxlbWVudFZpZXcoKSJ9fSksaT0zREJh
Y2tiPQpvbmUuVmlldy5leHRlbmQoYy5Mb2dnYWJsZU1peGluKS5leHRlbmQoe2VsZW1lbnRWaWV3
Q2xhc3M6aCxjb2xsZWN0aW9uQ2xhc3M9CjphLkhpc3RvcnlMaXN0RGF0YXNldENvbGxlY3Rpb24s
Y2xhc3NOYW1lOiJsaXN0LWNvbGxlY3Rpb24tY3JlYXRvciBjb2xsZWN0aT0Kb24tY3JlYXRvciBm
bGV4LXJvdy1jb250YWluZXIiLG1pbkVsZW1lbnRzOjEsZGVmYXVsdEF0dHJpYnV0ZXM6e2NyZWF0
aW9uRm46PQpmdW5jdGlvbigpe3Rocm93IG5ldyBUeXBlRXJyb3IoIm5vIGNyZWF0aW9uIGZuIGZv
ciBjcmVhdG9yIil9LG9uY3JlYXRlOmZ1bmM9CnRpb24oKXt9LG9uY2FuY2VsOmZ1bmN0aW9uKCl7
fSxhdXRvc2Nyb2xsRGlzdDoyNCxoaWdobGlnaHRDbHI6InJnYmEoIDY0LCAyNT0KNSwgMjU1LCAx
LjAgKSJ9LGluaXRpYWxpemU6ZnVuY3Rpb24oYSl7dGhpcy5tZXRyaWMoIkxpc3RDb2xsZWN0aW9u
Q3JlYXRvci5pPQpuaXRpYWxpemUiLGEpO3ZhciBiPTNEdGhpcztfLmVhY2godGhpcy5kZWZhdWx0
QXR0cmlidXRlcyxmdW5jdGlvbihjLGQpe2M9M0Q9CmFbZF18fGMsYltkXT0zRGN9KSxiLmluaXRp
YWxFbGVtZW50cz0zRGEuZWxlbWVudHN8fFtdLHRoaXMuX2luc3RhbmNlU2V0VXAoKT0KLHRoaXMu
X2VsZW1lbnRzU2V0VXAoKSx0aGlzLl9zZXRVcEJlaGF2aW9ycygpfSxfaW5zdGFuY2VTZXRVcDpm
dW5jdGlvbigpe3RoPQppcy5zZWxlY3RlZElkcz0zRHt9LHRoaXMuJGRyYWdnaW5nPTNEbnVsbCx0
aGlzLmJsb2NraW5nPTNEITF9LF9lbGVtZW50c1NldFU9CnA6ZnVuY3Rpb24oKXt0aGlzLmludmFs
aWRFbGVtZW50cz0zRFtdLHRoaXMud29ya2luZ0VsZW1lbnRzPTNEW10sdGhpcy5lbGVtZT0KbnRW
aWV3cz0zRFtdLHRoaXMud29ya2luZ0VsZW1lbnRzPTNEdGhpcy5pbml0aWFsRWxlbWVudHMuc2xp
Y2UoMCksdGhpcy5fZW5zPQp1cmVFbGVtZW50SWRzKCksdGhpcy5fdmFsaWRhdGVFbGVtZW50cygp
LHRoaXMuX21hbmdsZUR1cGxpY2F0ZU5hbWVzKCksdGhpcy49Cl9zb3J0RWxlbWVudHMoKX0sX2Vu
c3VyZUVsZW1lbnRJZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53b3JraW5nRWxlbWVudHMuZj0K
b3JFYWNoKGZ1bmN0aW9uKGEpe2EuaGFzT3duUHJvcGVydHkoImlkIil8fChhLmlkPTNEXy51bmlx
dWVJZCgpKX0pLHRoaXMud29yPQpraW5nRWxlbWVudHN9LF92YWxpZGF0ZUVsZW1lbnRzOmZ1bmN0
aW9uKCl7dmFyIGE9M0R0aGlzO3JldHVybiBhLmludmFsaWRFbGU9Cm1lbnRzPTNEW10sdGhpcy53
b3JraW5nRWxlbWVudHM9M0R0aGlzLndvcmtpbmdFbGVtZW50cy5maWx0ZXIoZnVuY3Rpb24oYil7
dj0KYXIgYz0zRGEuX2lzRWxlbWVudEludmFsaWQoYik7cmV0dXJuIGMmJmEuaW52YWxpZEVsZW1l
bnRzLnB1c2goe2VsZW1lbnQ6Yix0PQpleHQ6Y30pLCFjfSksdGhpcy53b3JraW5nRWxlbWVudHN9
LF9pc0VsZW1lbnRJbnZhbGlkOmZ1bmN0aW9uKGEpe3JldHVybiJkYXQ9CmFzZXQiIT0zRD0zRGEu
aGlzdG9yeV9jb250ZW50X3R5cGU/ZigiaXMgbm90IGEgZGF0YXNldCIpOmEuc3RhdGUhPTNEPTNE
Yi5PSz0KP2YoXy5jb250YWlucyhiLk5PVF9SRUFEWV9TVEFURVMsYS5zdGF0ZSk/Imhhc24ndCBm
aW5pc2hlZCBydW5uaW5nIHlldCI6ImhhPQpzIGVycm9yZWQsIGlzIHBhdXNlZCwgb3IgaXMgbm90
IGFjY2Vzc2libGUiKTphLmRlbGV0ZWR8fGEucHVyZ2VkP2YoImhhcyBiZWU9Cm4gZGVsZXRlZCBv
ciBwdXJnZWQiKTpudWxsfSxfbWFuZ2xlRHVwbGljYXRlTmFtZXM6ZnVuY3Rpb24oKXt2YXIgYT0z
RDkwMCxiPQo9M0QxLGM9M0R7fTt0aGlzLndvcmtpbmdFbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9u
KGQpe2Zvcih2YXIgZT0zRGQubmFtZTtjLmg9CmFzT3duUHJvcGVydHkoZSk7KWlmKGU9M0RkLm5h
bWUrIiAoIitiKyIpIixiKz0zRDEsYj49M0RhKXRocm93IG5ldyBFcnJvcigiUz0KYWZldHkgaGl0
IGluIHdoaWxlIGxvb3AgLSB0aGF0cyBpbXByZXNzaXZlIik7ZC5uYW1lPTNEZSxjW2QubmFtZV09
M0QhMH0pfSxfPQpzb3J0RWxlbWVudHM6ZnVuY3Rpb24oKXt9LHJlbmRlcjpmdW5jdGlvbihhLGIp
e3JldHVybiB0aGlzLndvcmtpbmdFbGVtZW50cy49Cmxlbmd0aDx0aGlzLm1pbkVsZW1lbnRzP3Ro
aXMuX3JlbmRlckludmFsaWQoYSxiKToodGhpcy4kZWwuZW1wdHkoKS5odG1sKHRoaT0Kcy50ZW1w
bGF0ZXMubWFpbigpKSx0aGlzLl9yZW5kZXJIZWFkZXIoYSksdGhpcy5fcmVuZGVyTWlkZGxlKGEp
LHRoaXMuX3JlbmRlPQpyRm9vdGVyKGEpLHRoaXMuX2FkZFBsdWdpbkNvbXBvbmVudHMoKSx0aGlz
LiQoIi5jb2xsZWN0aW9uLW5hbWUiKS5mb2N1cygpLHQ9Cmhpcy50cmlnZ2VyKCJyZW5kZXJlZCIs
dGhpcyksdGhpcyl9LF9yZW5kZXJJbnZhbGlkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJD0KZWwu
ZW1wdHkoKS5odG1sKHRoaXMudGVtcGxhdGVzLmludmFsaWRJbml0aWFsKHtwcm9ibGVtczp0aGlz
LmludmFsaWRFbGVtZW50PQpzLGVsZW1lbnRzOnRoaXMud29ya2luZ0VsZW1lbnRzfSkpLCJmdW5j
dGlvbiI9M0Q9M0R0eXBlb2YgdGhpcy5vbmNhbmNlbCYmdGg9CmlzLiQoIi5jYW5jZWwtY3JlYXRl
LmJ0biIpLnNob3coKSx0aGlzLnRyaWdnZXIoInJlbmRlcmVkIix0aGlzKSx0aGlzfSxfcmVuZD0K
ZXJIZWFkZXI6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXMuJCgiLmhlYWRlciIpLmVtcHR5KCkuaHRt
bCh0aGlzLnRlbXBsYXRlcy5oPQplYWRlcigpKS5maW5kKCIuaGVscC1jb250ZW50IikucHJlcGVu
ZCgkKHRoaXMudGVtcGxhdGVzLmhlbHBDb250ZW50KCkpKTtyZXQ9CnVybiB0aGlzLmludmFsaWRF
bGVtZW50cy5sZW5ndGgmJnRoaXMuX2ludmFsaWRFbGVtZW50c0FsZXJ0KCksYX0sX3JlbmRlck1p
ZD0KZGxlOmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhpcy4kKCIubWlkZGxlIikuZW1wdHkoKS5odG1s
KHRoaXMudGVtcGxhdGVzLm1pZGRsPQplKCkpO3JldHVybiB0aGlzLl9yZW5kZXJMaXN0KGEpLGJ9
LF9yZW5kZXJGb290ZXI6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXMuJCg9CiIuZm9vdGVyIikuZW1w
dHkoKS5odG1sKHRoaXMudGVtcGxhdGVzLmZvb3RlcigpKTtyZXR1cm4iZnVuY3Rpb24iPTNEPTNE
dHlwZT0Kb2YgdGhpcy5vbmNhbmNlbCYmdGhpcy4kKCIuY2FuY2VsLWNyZWF0ZS5idG4iKS5zaG93
KCksYX0sX2FkZFBsdWdpbkNvbXBvbmVuPQp0czpmdW5jdGlvbigpe3RoaXMuJCgiLmhlbHAtY29u
dGVudCBpIikuaG92ZXJoaWdobGlnaHQoIi5jb2xsZWN0aW9uLWNyZWF0b3I9CiIsdGhpcy5oaWdo
bGlnaHRDbHIpfSxfaW52YWxpZEVsZW1lbnRzQWxlcnQ6ZnVuY3Rpb24oKXt0aGlzLl9zaG93QWxl
cnQodGhpcz0KLnRlbXBsYXRlcy5pbnZhbGlkRWxlbWVudHMoe3Byb2JsZW1zOnRoaXMuaW52YWxp
ZEVsZW1lbnRzfSksImFsZXJ0LXdhcm5pbmciPQopfSxfdmFsaWRhdGlvbldhcm5pbmc6ZnVuY3Rp
b24oYSxiKXt2YXIgYz0zRCJ2YWxpZGF0aW9uLXdhcm5pbmciOyJuYW1lIj0zRD0KPTNEPTNEYSYm
KGE9M0R0aGlzLiQoIi5jb2xsZWN0aW9uLW5hbWUiKS5hZGQodGhpcy4kKCIuY29sbGVjdGlvbi1u
YW1lLXByb21wPQp0IikpLHRoaXMuJCgiLmNvbGxlY3Rpb24tbmFtZSIpLmZvY3VzKCkuc2VsZWN0
KCkpLGI/KGE9M0RhfHx0aGlzLiQoIi4iK2MpLGE9Ci5yZW1vdmVDbGFzcyhjKSk6YS5hZGRDbGFz
cyhjKX0sX2Rpc2FibGVOYW1lQW5kQ3JlYXRlOmZ1bmN0aW9uKGEpe2E9M0RfLmlzVT0KbmRlZmlu
ZWQoYSk/ITA6YSxhJiYodGhpcy4kKCIuY29sbGVjdGlvbi1uYW1lIikucHJvcCgiZGlzYWJsZWQi
LCEwKSx0aGlzLiQoPQoiLmNyZWF0ZS1jb2xsZWN0aW9uIikudG9nZ2xlQ2xhc3MoImRpc2FibGVk
IiwhMCkpfSwkbGlzdDpmdW5jdGlvbigpe3JldHVybiA9CnRoaXMuJCgiLmNvbGxlY3Rpb24tZWxl
bWVudHMiKX0sX3JlbmRlckNsZWFyU2VsZWN0ZWQ6ZnVuY3Rpb24oKXtfLnNpemUodGhpcz0KLnNl
bGVjdGVkSWRzKT90aGlzLiQoIi5jb2xsZWN0aW9uLWVsZW1lbnRzLWNvbnRyb2xzID4gLmNsZWFy
LXNlbGVjdGVkIikuc2hvPQp3KCk6dGhpcy4kKCIuY29sbGVjdGlvbi1lbGVtZW50cy1jb250cm9s
cyA+IC5jbGVhci1zZWxlY3RlZCIpLmhpZGUoKX0sX3JlbmQ9CmVyTGlzdDpmdW5jdGlvbigpe3Zh
ciBhPTNEdGhpcyxiPTNEalF1ZXJ5KCI8ZGl2Lz4iKSxjPTNEYS4kbGlzdCgpO18uZWFjaCh0aD0K
aXMuZWxlbWVudFZpZXdzLGZ1bmN0aW9uKGIpe2IuZGVzdHJveSgpLGEucmVtb3ZlRWxlbWVudFZp
ZXcoYil9KSxhLndvcmtpbmdFPQpsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24oYyl7dmFyIGQ9M0Rh
Ll9jcmVhdGVFbGVtZW50VmlldyhjKTtiLmFwcGVuZChkLiRlbCk9Cn0pLGEuX3JlbmRlckNsZWFy
U2VsZWN0ZWQoKSxjLmVtcHR5KCkuYXBwZW5kKGIuY2hpbGRyZW4oKSksXy5pbnZva2UoYS5lbGVt
ZT0KbnRWaWV3cywicmVuZGVyIiksYy5oZWlnaHQoKT5jLmNzcygibWF4LWhlaWdodCIpP2MuY3Nz
KCJib3JkZXItd2lkdGgiLCIxcHggPQowcHggMXB4IDBweCIpOmMuY3NzKCJib3JkZXItd2lkdGgi
LCIwcHgiKX0sX2NyZWF0ZUVsZW1lbnRWaWV3OmZ1bmN0aW9uKGEpe3Y9CmFyIGI9M0RuZXcgdGhp
cy5lbGVtZW50Vmlld0NsYXNzKHtlbGVtZW50OmEsc2VsZWN0ZWQ6Xy5oYXModGhpcy5zZWxlY3Rl
ZElkcz0KLGEuaWQpfSk7cmV0dXJuIHRoaXMuZWxlbWVudFZpZXdzLnB1c2goYiksdGhpcy5fbGlz
dGVuVG9FbGVtZW50VmlldyhiKSxifSxfPQpsaXN0ZW5Ub0VsZW1lbnRWaWV3OmZ1bmN0aW9uKGEp
e3ZhciBiPTNEdGhpcztiLmxpc3RlblRvKGEse3NlbGVjdDpmdW5jdGlvbig9CmEpe3ZhciBjPTNE
YS5zb3VyY2UuZWxlbWVudDthLnNlbGVjdGVkP2Iuc2VsZWN0ZWRJZHNbYy5pZF09M0QhMDpkZWxl
dGUgYi5zZT0KbGVjdGVkSWRzW2MuaWRdLGIudHJpZ2dlcigiZWxlbWVudHM6c2VsZWN0IixhKX0s
ZGlzY2FyZDpmdW5jdGlvbihhKXtiLnRyaWdnPQplcigiZWxlbWVudHM6ZGlzY2FyZCIsYSl9fSl9
LGFkZEVsZW1lbnRWaWV3OmZ1bmN0aW9uKCl7fSxyZW1vdmVFbGVtZW50Vmlldzo9CmZ1bmN0aW9u
KGEpe2RlbGV0ZSB0aGlzLnNlbGVjdGVkSWRzW2EuZWxlbWVudC5pZF0sdGhpcy5fcmVuZGVyQ2xl
YXJTZWxlY3RlZD0KKCksdGhpcy5lbGVtZW50Vmlld3M9M0RfLndpdGhvdXQodGhpcy5lbGVtZW50
Vmlld3MsYSksdGhpcy5zdG9wTGlzdGVuaW5nKGEpPQp9LF9yZW5kZXJOb0VsZW1lbnRzTGVmdDpm
dW5jdGlvbigpe3RoaXMuX2Rpc2FibGVOYW1lQW5kQ3JlYXRlKCEwKSx0aGlzLiQoIi49CmNvbGxl
Y3Rpb24tZWxlbWVudHMiKS5hcHBlbmQodGhpcy50ZW1wbGF0ZXMubm9FbGVtZW50c0xlZnQoKSl9
LF9lbGVtZW50VG9KUz0KT046ZnVuY3Rpb24oYSl7cmV0dXJuIGF9LGNyZWF0ZUxpc3Q6ZnVuY3Rp
b24oYSl7aWYoIXRoaXMud29ya2luZ0VsZW1lbnRzLmxlPQpuZ3RoKXt2YXIgYj0zRGYoIk5vIHZh
bGlkIGVsZW1lbnRzIGZvciBmaW5hbCBsaXN0IikrIi4gIjtyZXR1cm4gYis9M0QnPGEgY2w9CmFz
cz0zRCJjYW5jZWwtY3JlYXRlIiBocmVmPTNEImphdmFzY3JpcHQ6dm9pZCgwKTsiPicrZigiQ2Fu
Y2VsIikrIjwvYT4gIixiKz0KPTNEZigib3IiKSxiKz0zRCcgPGEgY2xhc3M9M0QicmVzZXQiIGhy
ZWY9M0QiamF2YXNjcmlwdDp2b2lkKDApOyI+JytmKCJzdGFyPQp0IG92ZXIiKSsiPC9hPi4iLHZv
aWQgdGhpcy5fc2hvd0FsZXJ0KGIpfXZhciBjPTNEdGhpcyxkPTNEdGhpcy53b3JraW5nRWxlbWU9
Cm50cy5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGMuX2VsZW1lbnRUb0pTT04oYSl9KTtyZXR1cm4g
Yy5ibG9ja2luZz0zRCEwLGMuYz0KcmVhdGlvbkZuKGQsYSkuYWx3YXlzKGZ1bmN0aW9uKCl7Yy5i
bG9ja2luZz0zRCExfSkuZmFpbChmdW5jdGlvbihhLGIpe2MudHJpPQpnZ2VyKCJlcnJvciIse3ho
cjphLHN0YXR1czpiLG1lc3NhZ2U6ZigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgY3JlYXRpbmcg
dGg9CmlzIGNvbGxlY3Rpb24iKX0pfSkuZG9uZShmdW5jdGlvbihhLGIsZCl7Yy50cmlnZ2VyKCJj
b2xsZWN0aW9uOmNyZWF0ZWQiLGEsYj0KLGQpLGMubWV0cmljKCJjb2xsZWN0aW9uOmNyZWF0ZWQi
LGEpLCJmdW5jdGlvbiI9M0Q9M0R0eXBlb2YgYy5vbmNyZWF0ZSYmYy5vPQpuY3JlYXRlLmNhbGwo
dGhpcyxhLGIsZCl9KX0sX3NldFVwQmVoYXZpb3JzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub24o
ImVycm89CnIiLHRoaXMuX2Vycm9ySGFuZGxlciksdGhpcy5vbmNlKCJyZW5kZXJlZCIsZnVuY3Rp
b24oKXt0aGlzLnRyaWdnZXIoInJlbmRlcj0KZWQ6aW5pdGlhbCIsdGhpcyl9KSx0aGlzLm9uKCJl
bGVtZW50czpzZWxlY3QiLGZ1bmN0aW9uKCl7dGhpcy5fcmVuZGVyQ2xlYXJTPQplbGVjdGVkKCl9
KSx0aGlzLm9uKCJlbGVtZW50czpkaXNjYXJkIixmdW5jdGlvbihhKXt2YXIgYj0zRGEuc291cmNl
LmVsZW1lbnQ9Cjt0aGlzLnJlbW92ZUVsZW1lbnRWaWV3KGEuc291cmNlKSx0aGlzLndvcmtpbmdF
bGVtZW50cz0zRF8ud2l0aG91dCh0aGlzLndvcj0Ka2luZ0VsZW1lbnRzLGIpLHRoaXMud29ya2lu
Z0VsZW1lbnRzLmxlbmd0aHx8dGhpcy5fcmVuZGVyTm9FbGVtZW50c0xlZnQoKX0pPQosdGhpc30s
X2Vycm9ySGFuZGxlcjpmdW5jdGlvbihhKXt0aGlzLmVycm9yKGEpO3ZhciBiPTNEdGhpcztpZihj
b250ZW50PTNEYS49Cm1lc3NhZ2V8fGYoIkFuIGVycm9yIG9jY3VycmVkIiksYS54aHIpe3ZhciBj
PTNEYS54aHIsZD0zRGEubWVzc2FnZTtjb250ZW50Kz0KPTNEMD0zRD0zRD0zRGMucmVhZHlTdGF0
ZSYmMD0zRD0zRD0zRGMuc3RhdHVzPyI6ICIrZigiR2FsYXh5IGNvdWxkIG5vdCBiZSByPQplYWNo
ZWQgYW5kIG1heSBiZSB1cGRhdGluZy4iKStmKCIgVHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMu
Iik6Yy5yZXNwb25zZUo9ClNPTj8iOjxiciAvPjxwcmU+IitKU09OLnN0cmluZ2lmeShjLnJlc3Bv
bnNlSlNPTikrIjwvcHJlPiI6IjogIitkfWIuX3Nob3dBbD0KZXJ0KGNvbnRlbnQsImFsZXJ0LWRh
bmdlciIpfSxldmVudHM6eyJjbGljayAubW9yZS1oZWxwIjoiX2NsaWNrTW9yZUhlbHAiLCJjPQps
aWNrIC5sZXNzLWhlbHAiOiJfY2xpY2tMZXNzSGVscCIsImNsaWNrIC5tYWluLWhlbHAiOiJfdG9n
Z2xlSGVscCIsImNsaWNrIC49CmhlYWRlciAuYWxlcnQgYnV0dG9uIjoiX2hpZGVBbGVydCIsImNs
aWNrIC5yZXNldCI6InJlc2V0IiwiY2xpY2sgLmNsZWFyLXNlbD0KZWN0ZWQiOiJjbGVhclNlbGVj
dGVkRWxlbWVudHMiLCJjbGljayAuY29sbGVjdGlvbi1lbGVtZW50cyI6ImNsZWFyU2VsZWN0ZWRF
PQpsZW1lbnRzIiwiZHJhZ292ZXIgLmNvbGxlY3Rpb24tZWxlbWVudHMiOiJfZHJhZ292ZXJFbGVt
ZW50cyIsImRyb3AgLmNvbGxlY3Q9Cmlvbi1lbGVtZW50cyI6Il9kcm9wRWxlbWVudHMiLCJjb2xs
ZWN0aW9uLWVsZW1lbnQuZHJhZ3N0YXJ0IC5jb2xsZWN0aW9uLWVsZT0KbWVudHMiOiJfZWxlbWVu
dERyYWdzdGFydCIsImNvbGxlY3Rpb24tZWxlbWVudC5kcmFnZW5kICAgLmNvbGxlY3Rpb24tZWxl
bWVuPQp0cyI6Il9lbGVtZW50RHJhZ2VuZCIsImNoYW5nZSAuY29sbGVjdGlvbi1uYW1lIjoiX2No
YW5nZU5hbWUiLCJrZXlkb3duIC5jb2w9CmxlY3Rpb24tbmFtZSI6Il9uYW1lQ2hlY2tGb3JFbnRl
ciIsImNsaWNrIC5jYW5jZWwtY3JlYXRlIjpmdW5jdGlvbigpeyJmdW5jdD0KaW9uIj0zRD0zRHR5
cGVvZiB0aGlzLm9uY2FuY2VsJiZ0aGlzLm9uY2FuY2VsLmNhbGwodGhpcyl9LCJjbGljayAuY3Jl
YXRlLWNvPQpsbGVjdGlvbiI6Il9jbGlja0NyZWF0ZSJ9LF9jbGlja01vcmVIZWxwOmZ1bmN0aW9u
KGEpe2Euc3RvcFByb3BhZ2F0aW9uKCksdGg9CmlzLiQoIi5tYWluLWhlbHAiKS5hZGRDbGFzcygi
ZXhwYW5kZWQiKSx0aGlzLiQoIi5tb3JlLWhlbHAiKS5oaWRlKCl9LF9jbGljaz0KTGVzc0hlbHA6
ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLiQoIi5tYWluLWhlbHAiKS5yZW1v
dmVDbGFzcygiPQpleHBhbmRlZCIpLHRoaXMuJCgiLm1vcmUtaGVscCIpLnNob3coKX0sX3RvZ2ds
ZUhlbHA6ZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGE9CmdhdGlvbigpLHRoaXMuJCgiLm1haW4taGVs
cCIpLnRvZ2dsZUNsYXNzKCJleHBhbmRlZCIpLHRoaXMuJCgiLm1vcmUtaGVscCIpLj0KdG9nZ2xl
KCl9LF9zaG93QWxlcnQ6ZnVuY3Rpb24oYSxiKXtiPTNEYnx8ImFsZXJ0LWRhbmdlciIsdGhpcy4k
KCIubWFpbi1oZWxwPQoiKS5oaWRlKCksdGhpcy4kKCIuaGVhZGVyIC5hbGVydCIpLmF0dHIoImNs
YXNzIiwiYWxlcnQgYWxlcnQtZGlzbWlzc2FibGUiKS49CmFkZENsYXNzKGIpLnNob3coKS5maW5k
KCIuYWxlcnQtbWVzc2FnZSIpLmh0bWwoYSl9LF9oaWRlQWxlcnQ6ZnVuY3Rpb24oKXt0aD0KaXMu
JCgiLm1haW4taGVscCIpLnNob3coKSx0aGlzLiQoIi5oZWFkZXIgLmFsZXJ0IikuaGlkZSgpfSxy
ZXNldDpmdW5jdGlvbigpPQp7dGhpcy5faW5zdGFuY2VTZXRVcCgpLHRoaXMuX2VsZW1lbnRzU2V0
VXAoKSx0aGlzLnJlbmRlcigpfSxjbGVhclNlbGVjdGVkRWw9CmVtZW50czpmdW5jdGlvbigpe3Ro
aXMuJCgiLmNvbGxlY3Rpb24tZWxlbWVudHMgLmNvbGxlY3Rpb24tZWxlbWVudCIpLnJlbW92ZT0K
Q2xhc3MoInNlbGVjdGVkIiksdGhpcy4kKCIuY29sbGVjdGlvbi1lbGVtZW50cy1jb250cm9scyA+
IC5jbGVhci1zZWxlY3RlZCIpPQouaGlkZSgpfSxfZHJhZ292ZXJFbGVtZW50czpmdW5jdGlvbihh
KXthLnByZXZlbnREZWZhdWx0KCk7dmFyIGI9M0R0aGlzLiRsaXM9CnQoKTt0aGlzLl9jaGVja0Zv
ckF1dG9zY3JvbGwoYixhLm9yaWdpbmFsRXZlbnQuY2xpZW50WSk7dmFyIGM9M0R0aGlzLl9nZXRO
ZT0KYXJlc3RFbGVtZW50KGEub3JpZ2luYWxFdmVudC5jbGllbnRZKTt0aGlzLiQoIi5lbGVtZW50
LWRyb3AtcGxhY2Vob2xkZXIiKS5yPQplbW92ZSgpO3ZhciBkPTNEJCgnPGRpdiBjbGFzcz0zRCJl
bGVtZW50LWRyb3AtcGxhY2Vob2xkZXIiPjwvZGl2PicpO2Muc2l6ZSg9Cik/Yy5iZWZvcmUoZCk6
Yi5hcHBlbmQoZCl9LF9jaGVja0ZvckF1dG9zY3JvbGw6ZnVuY3Rpb24oYSxiKXt2YXIgYz0zRDIs
ZD0zRD0KYS5vZmZzZXQoKSxlPTNEYS5zY3JvbGxUb3AoKSxmPTNEYi1kLnRvcCxnPTNEZC50b3Ar
YS5vdXRlckhlaWdodCgpLWI7Zj49M0QwPQomJmY8dGhpcy5hdXRvc2Nyb2xsRGlzdD9hLnNjcm9s
bFRvcChlLWMpOmc+PTNEMCYmZzx0aGlzLmF1dG9zY3JvbGxEaXN0JiZhLnM9CmNyb2xsVG9wKGUr
Yyl9LF9nZXROZWFyZXN0RWxlbWVudDpmdW5jdGlvbihhKXtmb3IodmFyIGI9M0Q0LGM9M0R0aGlz
LiQoIi5jbz0KbGxlY3Rpb24tZWxlbWVudHMgbGkuY29sbGVjdGlvbi1lbGVtZW50IikudG9BcnJh
eSgpLGQ9M0QwO2Q8Yy5sZW5ndGg7ZCsrKXt2PQphciBlPTNEJChjW2RdKSxmPTNEZS5vZmZzZXQo
KS50b3AsZz0zRE1hdGguZmxvb3IoZS5vdXRlckhlaWdodCgpLzIpK2I7aWYoZis9Cmc+YSYmYT5m
LWcpcmV0dXJuIGV9cmV0dXJuICQoKX0sX2Ryb3BFbGVtZW50czpmdW5jdGlvbihhKXthLm9yaWdp
bmFsRXZlbnQmJj0KKGE9M0RhLm9yaWdpbmFsRXZlbnQpLGEucHJldmVudERlZmF1bHQoKSxhLmRh
dGFUcmFuc2Zlci5kcm9wRWZmZWN0PTNEIm1vdmUiPQo7dmFyIGI9M0R0aGlzLl9nZXROZWFyZXN0
RWxlbWVudChhLmNsaWVudFkpO3JldHVybiBiLnNpemUoKT90aGlzLiRkcmFnZ2luZy49Cmluc2Vy
dEJlZm9yZShiKTp0aGlzLiRkcmFnZ2luZy5pbnNlcnRBZnRlcih0aGlzLiQoIi5jb2xsZWN0aW9u
LWVsZW1lbnRzIC5jbz0KbGxlY3Rpb24tZWxlbWVudCIpLmxhc3QoKSksdGhpcy5fc3luY09yZGVy
VG9Eb20oKSwhMX0sX3N5bmNPcmRlclRvRG9tOmZ1bmN0PQppb24oKXt2YXIgYT0zRHRoaXMsYj0z
RFtdO3RoaXMuJCgiLmNvbGxlY3Rpb24tZWxlbWVudHMgLmNvbGxlY3Rpb24tZWxlbWVudCI9Ciku
ZWFjaChmdW5jdGlvbigpe3ZhciBjPTNEJCh0aGlzKS5hdHRyKCJkYXRhLWVsZW1lbnQtaWQiKSxk
PTNEXy5maW5kV2hlcmUoYT0KLndvcmtpbmdFbGVtZW50cyx7aWQ6Y30pO2Q/Yi5wdXNoKGQpOmNv
bnNvbGUuZXJyb3IoIm1pc3NpbmcgZWxlbWVudDogIixjKX0pPQosdGhpcy53b3JraW5nRWxlbWVu
dHM9M0RiLHRoaXMuX3JlbmRlckxpc3QoKX0sX2VsZW1lbnREcmFnc3RhcnQ6ZnVuY3Rpb24oYSw9
CmIpe2Iuc2VsZWN0KCEwKSx0aGlzLiRkcmFnZ2luZz0zRHRoaXMuJCgiLmNvbGxlY3Rpb24tZWxl
bWVudHMgLmNvbGxlY3Rpb24tZT0KbGVtZW50LnNlbGVjdGVkIil9LF9lbGVtZW50RHJhZ2VuZDpm
dW5jdGlvbigpeyQoIi5lbGVtZW50LWRyb3AtcGxhY2Vob2xkZXIiPQopLnJlbW92ZSgpLHRoaXMu
JGRyYWdnaW5nPTNEbnVsbH0sX2NoYW5nZU5hbWU6ZnVuY3Rpb24oKXt0aGlzLl92YWxpZGF0aW9u
V2E9CnJuaW5nKCJuYW1lIiwhIXRoaXMuX2dldE5hbWUoKSl9LF9uYW1lQ2hlY2tGb3JFbnRlcjpm
dW5jdGlvbihhKXsxMyE9M0Q9M0RhLj0Ka2V5Q29kZXx8dGhpcy5ibG9ja2luZ3x8dGhpcy5fY2xp
Y2tDcmVhdGUoKX0sX2dldE5hbWU6ZnVuY3Rpb24oKXtyZXR1cm4gXy5lPQpzY2FwZSh0aGlzLiQo
Ii5jb2xsZWN0aW9uLW5hbWUiKS52YWwoKSl9LF9jbGlja0NyZWF0ZTpmdW5jdGlvbigpe3ZhciBh
PTNEdGg9CmlzLl9nZXROYW1lKCk7YT90aGlzLmJsb2NraW5nfHx0aGlzLmNyZWF0ZUxpc3QoYSk6
dGhpcy5fdmFsaWRhdGlvbldhcm5pbmcoIj0KbmFtZSIpfSx0ZW1wbGF0ZXM6e21haW46Xy50ZW1w
bGF0ZShbJzxkaXYgY2xhc3M9M0QiaGVhZGVyIGZsZXgtcm93IG5vLWZsZXgiPQo+PC9kaXY+Jywn
PGRpdiBjbGFzcz0zRCJtaWRkbGUgZmxleC1yb3cgZmxleC1yb3ctY29udGFpbmVyIj48L2Rpdj4n
LCc8ZGl2IGM9Cmxhc3M9M0QiZm9vdGVyIGZsZXgtcm93IG5vLWZsZXgiPjwvZGl2PiddLmpvaW4o
IiIpKSxoZWFkZXI6Xy50ZW1wbGF0ZShbJzxkaT0KdiBjbGFzcz0zRCJtYWluLWhlbHAgd2VsbCBj
bGVhciI+JywnPGEgY2xhc3M9M0QibW9yZS1oZWxwIiBocmVmPTNEImphdmFzY3JpPQpwdDp2b2lk
KDApOyI+JyxmKCJNb3JlIGhlbHAiKSwiPC9hPiIsJzxkaXYgY2xhc3M9M0QiaGVscC1jb250ZW50
Ij4nLCc8YSBjbGE9CnNzPTNEImxlc3MtaGVscCIgaHJlZj0zRCJqYXZhc2NyaXB0OnZvaWQoMCk7
Ij4nLGYoIkxlc3MiKSwiPC9hPiIsIjwvZGl2PiIsIj0KPC9kaXY+IiwnPGRpdiBjbGFzcz0zRCJh
bGVydCBhbGVydC1kaXNtaXNzYWJsZSI+JywnPGJ1dHRvbiB0eXBlPTNEImJ1dHRvbiIgPQpjbGFz
cz0zRCJjbG9zZSIgZGF0YS1kaXNtaXNzPTNEImFsZXJ0IiAnLCd0aXRsZT0zRCInLGYoIkNsb3Nl
IGFuZCBzaG93IG1vcmU9CiBoZWxwIiksJyIgYXJpYS1oaWRkZW49M0QidHJ1ZSI+JnRpbWVzOzwv
YnV0dG9uPicsJzxzcGFuIGNsYXNzPTNEImFsZXJ0LW1lcz0Kc2FnZSI+PC9zcGFuPicsIjwvZGl2
PiJdLmpvaW4oIiIpKSxtaWRkbGU6Xy50ZW1wbGF0ZShbJzxkaXYgY2xhc3M9M0QiY29sbGVjPQp0
aW9uLWVsZW1lbnRzLWNvbnRyb2xzIj4nLCc8YSBjbGFzcz0zRCJyZXNldCIgaHJlZj0zRCJqYXZh
c2NyaXB0OnZvaWQoMCk7IiA9CicsJ3RpdGxlPTNEIicsZigiVW5kbyBhbGwgcmVvcmRlcmluZyBh
bmQgZGlzY2FyZHMiKSwnIj4nLGYoIlN0YXJ0IG92ZXIiKSwiPD0KL2E+IiwnPGEgY2xhc3M9M0Qi
Y2xlYXItc2VsZWN0ZWQiIGhyZWY9M0QiamF2YXNjcmlwdDp2b2lkKDApOyIgJywndGl0bGU9M0Qi
PQonLGYoIkRlLXNlbGVjdCBhbGwgc2VsZWN0ZWQgZGF0YXNldHMiKSwnIj4nLGYoIkNsZWFyIHNl
bGVjdGVkIiksIjwvYT4iLCI8L2Q9Cml2PiIsJzxkaXYgY2xhc3M9M0QiY29sbGVjdGlvbi1lbGVt
ZW50cyBzY3JvbGwtY29udGFpbmVyIGZsZXgtcm93Ij4nLCI8L2Rpdj0KPiJdLmpvaW4oIiIpKSxm
b290ZXI6Xy50ZW1wbGF0ZShbJzxkaXYgY2xhc3M9M0QiYXR0cmlidXRlcyBjbGVhciI+JywnPGRp
diBjPQpsYXNzPTNEImNsZWFyIj4nLCc8aW5wdXQgY2xhc3M9M0QiY29sbGVjdGlvbi1uYW1lIGZv
cm0tY29udHJvbCBwdWxsLXJpZ2h0IiA9CicsJ3BsYWNlaG9sZGVyPTNEIicsZigiRW50ZXIgYSBu
YW1lIGZvciB5b3VyIG5ldyBjb2xsZWN0aW9uIiksJyIgLz4nLCc8ZGl2ID0KY2xhc3M9M0QiY29s
bGVjdGlvbi1uYW1lLXByb21wdCBwdWxsLXJpZ2h0Ij4nLGYoIk5hbWUiKSwiOjwvZGl2PiIsIjwv
ZGl2PiIsPQoiPC9kaXY+IiwnPGRpdiBjbGFzcz0zRCJhY3Rpb25zIGNsZWFyIHZlcnRpY2FsbHkt
c3BhY2VkIj4nLCc8ZGl2IGNsYXNzPTNEIm89CnRoZXItb3B0aW9ucyBwdWxsLWxlZnQiPicsJzxi
dXR0b24gY2xhc3M9M0QiY2FuY2VsLWNyZWF0ZSBidG4iIHRhYmluZGV4PTNEIj0KLTEiPicsZigi
Q2FuY2VsIiksIjwvYnV0dG9uPiIsJzxkaXYgY2xhc3M9M0QiY3JlYXRlLW90aGVyIGJ0bi1ncm91
cCBkcm9wdXAiPQo+JywnPGJ1dHRvbiBjbGFzcz0zRCJidG4gYnRuLWRlZmF1bHQgZHJvcGRvd24t
dG9nZ2xlIiBkYXRhLXRvZ2dsZT0zRCJkcm9wZG89CnduIj4nLGYoIkNyZWF0ZSBhIGRpZmZlcmVu
dCBraW5kIG9mIGNvbGxlY3Rpb24iKSwnIDxzcGFuIGNsYXNzPTNEImNhcmV0Ij48Lz0Kc3Bhbj4n
LCI8L2J1dHRvbj4iLCc8dWwgY2xhc3M9M0QiZHJvcGRvd24tbWVudSIgcm9sZT0zRCJtZW51Ij4n
LCc8bGk+PGEgaHJlPQpmPTNEIiMiPicsZigiQ3JlYXRlIGEgPGk+c2luZ2xlPC9pPiBwYWlyIiks
IjwvYT48L2xpPiIsJzxsaT48YSBocmVmPTNEIiMiPic9CixmKCJDcmVhdGUgYSBsaXN0IG9mIDxp
PnVucGFpcmVkPC9pPiBkYXRhc2V0cyIpLCI8L2E+PC9saT4iLCI8L3VsPiIsIjwvZGl2Pj0KIiwi
PC9kaXY+IiwnPGRpdiBjbGFzcz0zRCJtYWluLW9wdGlvbnMgcHVsbC1yaWdodCI+JywnPGJ1dHRv
biBjbGFzcz0zRCJjcmVhPQp0ZS1jb2xsZWN0aW9uIGJ0biBidG4tcHJpbWFyeSI+JyxmKCJDcmVh
dGUgbGlzdCIpLCI8L2J1dHRvbj4iLCI8L2Rpdj4iLCI8L2Q9Cml2PiJdLmpvaW4oIiIpKSxoZWxw
Q29udGVudDpfLnRlbXBsYXRlKFsiPHA+IixmKFsiQ29sbGVjdGlvbnMgb2YgZGF0YXNldHMgYT0K
cmUgcGVybWFuZW50LCBvcmRlcmVkIGxpc3RzIG9mIGRhdGFzZXRzIHRoYXQgY2FuIGJlIHBhc3Nl
ZCB0byB0b29scyBhbmQgIiwiPQp3b3JrZmxvd3MgaW4gb3JkZXIgdG8gaGF2ZSBhbmFseXNlcyBk
b25lIG9uIGVhY2ggbWVtYmVyIG9mIHRoZSBlbnRpcmUgZ3JvdXA9Ci4gVGhpcyBpbnRlcmZhY2Ug
YWxsb3dzICIsInlvdSB0byBjcmVhdGUgYSBjb2xsZWN0aW9uIGFuZCByZS1vcmRlciB0aGUgZmlu
YT0KbCBjb2xsZWN0aW9uLiJdLmpvaW4oIiIpKSwiPC9wPiIsIjx1bD4iLCI8bGk+IixmKFsiUmVu
YW1lIGVsZW1lbnRzIGluIHRoZSBsPQppc3QgYnkgY2xpY2tpbmcgb24gIiwnPGkgZGF0YS10YXJn
ZXQ9M0QiLmNvbGxlY3Rpb24tZWxlbWVudCAubmFtZSI+dGhlIGV4aXM9CnRpbmcgbmFtZTwvaT4u
J10uam9pbigiIikpLCI8L2xpPiIsIjxsaT4iLGYoWyJEaXNjYXJkIGVsZW1lbnRzIGZyb20gdGhl
IGZpbj0KYWwgY3JlYXRlZCBsaXN0IGJ5IGNsaWNraW5nIG9uIHRoZSAiLCc8aSBkYXRhLXRhcmdl
dD0zRCIuY29sbGVjdGlvbi1lbGVtZW50PQogLmRpc2NhcmQiPiJEaXNjYXJkIjwvaT4gYnV0dG9u
LiddLmpvaW4oIiIpKSwiPC9saT4iLCI8bGk+IixmKFsiUmVvcmRlciB0aGU9CiBsaXN0IGJ5IGNs
aWNraW5nIGFuZCBkcmFnZ2luZyBlbGVtZW50cy4gU2VsZWN0IG11bHRpcGxlIGVsZW1lbnRzIGJ5
IGNsaWNraT0Kbmcgb24gIiwnPGkgZGF0YS10YXJnZXQ9M0QiLmNvbGxlY3Rpb24tZWxlbWVudCI+
dGhlbTwvaT4gYW5kIHlvdSBjYW4gdGhlbiBtPQpvdmUgdGhvc2Ugc2VsZWN0ZWQgYnkgZHJhZ2dp
bmcgdGhlICcsImVudGlyZSBncm91cC4gRGVzZWxlY3QgdGhlbSBieSBjbGlja2k9Cm5nIHRoZW0g
YWdhaW4gb3IgYnkgY2xpY2tpbmcgdGhlICIsJ3RoZSA8aSBkYXRhLXRhcmdldD0zRCIuY2xlYXIt
c2VsZWN0ZWQiPj0KIkNsZWFyIHNlbGVjdGVkIjwvaT4gbGluay4nXS5qb2luKCIiKSksIjwvbGk+
IiwiPGxpPiIsZihbJ0NsaWNrIHRoZSA8aSBkYXRhPQotdGFyZ2V0PTNEIi5yZXNldCI+IlN0YXJ0
IG92ZXIiPC9pPiBsaW5rIHRvIGJlZ2luIGFnYWluIGFzIGlmIHlvdSBoYWQganVzdCA9Cm9wZW5l
ZCAnLCJ0aGUgaW50ZXJmYWNlLiJdLmpvaW4oIiIpKSwiPC9saT4iLCI8bGk+IixmKFsnQ2xpY2sg
dGhlIDxpIGRhdGEtdD0KYXJnZXQ9M0QiLmNhbmNlbC1jcmVhdGUiPiJDYW5jZWwiPC9pPiBidXR0
b24gdG8gZXhpdCB0aGUgaW50ZXJmYWNlLiddLmpvaW4oPQoiIikpLCI8L2xpPiIsIjwvdWw+PGJy
IC8+IiwiPHA+IixmKFsnT25jZSB5b3VyIGNvbGxlY3Rpb24gaXMgY29tcGxldGUsIGVudGU9CnIg
YSA8aSBkYXRhLXRhcmdldD0zRCIuY29sbGVjdGlvbi1uYW1lIj5uYW1lPC9pPiBhbmQgJywnY2xp
Y2sgPGkgZGF0YS10YXJnZT0KdD0zRCIuY3JlYXRlLWNvbGxlY3Rpb24iPiJDcmVhdGUgbGlzdCI8
L2k+LiddLmpvaW4oIiIpKSwiPC9wPiJdLmpvaW4oIiIpKSxpPQpudmFsaWRFbGVtZW50czpfLnRl
bXBsYXRlKFtmKCJUaGUgZm9sbG93aW5nIHNlbGVjdGlvbnMgY291bGQgbm90IGJlIGluY2x1ZGU9
CmQgZHVlIHRvIHByb2JsZW1zOiIpLCI8dWw+PCUgXy5lYWNoKCBwcm9ibGVtcywgZnVuY3Rpb24o
IHByb2JsZW0gKXsgJT4iLCI8bD0KaT48Yj48JS0gcHJvYmxlbS5lbGVtZW50Lm5hbWUgJT48L2I+
OiA8JS0gcHJvYmxlbS50ZXh0ICU+PC9saT4iLCI8JSB9KTsgJT48PQovdWw+Il0uam9pbigiIikp
LG5vRWxlbWVudHNMZWZ0Ol8udGVtcGxhdGUoWyc8bGkgY2xhc3M9M0Qibm8tZWxlbWVudHMtbGVm
dC09Cm1lc3NhZ2UiPicsZigiTm8gZWxlbWVudHMgbGVmdCEgIiksZigiV291bGQgeW91IGxpa2Ug
dG8gIiksJzxhIGNsYXNzPTNEInJlcz0KZXQiIGhyZWY9M0QiamF2YXNjcmlwdDp2b2lkKDApIj4n
LGYoInN0YXJ0IG92ZXIiKSwiPC9hPj8iLCI8L2xpPiJdLmpvaW4oIiIpPQopLGludmFsaWRJbml0
aWFsOl8udGVtcGxhdGUoWyc8ZGl2IGNsYXNzPTNEImhlYWRlciBmbGV4LXJvdyBuby1mbGV4Ij4n
LCc8ZGk9CnYgY2xhc3M9M0QiYWxlcnQgYWxlcnQtd2FybmluZyIgc3R5bGU9M0QiZGlzcGxheTog
YmxvY2siPicsJzxzcGFuIGNsYXNzPTNEIj0KYWxlcnQtbWVzc2FnZSI+JywiPCUgaWYoIF8uc2l6
ZSggcHJvYmxlbXMgKSApeyAlPiIsZigiVGhlIGZvbGxvd2luZyBzZWxlY3RpPQpvbnMgY291bGQg
bm90IGJlIGluY2x1ZGVkIGR1ZSB0byBwcm9ibGVtcyIpLCI6IiwiPHVsPjwlIF8uZWFjaCggcHJv
YmxlbXMsIGY9CnVuY3Rpb24oIHByb2JsZW0gKXsgJT4iLCI8bGk+PGI+PCUtIHByb2JsZW0uZWxl
bWVudC5uYW1lICU+PC9iPjogPCUtIHByb2JsZT0KbS50ZXh0ICU+PC9saT4iLCI8JSB9KTsgJT48
L3VsPiIsIjwlIH0gZWxzZSBpZiggXy5zaXplKCBlbGVtZW50cyApIDwgMSApeyAlPQo+IixmKCJO
byBkYXRhc2V0cyB3ZXJlIHNlbGVjdGVkIiksIi4iLCI8JSB9ICU+IiwiPGJyIC8+IixmKCJBdCBs
ZWFzdCBvbmUgZWw9CmVtZW50IGlzIG5lZWRlZCBmb3IgdGhlIGNvbGxlY3Rpb24iKSwiLiAiLGYo
IllvdSBtYXkgbmVlZCB0byAiKSwnPGEgY2xhc3M9Cj0zRCJjYW5jZWwtY3JlYXRlIiBocmVmPTNE
ImphdmFzY3JpcHQ6dm9pZCgwKSI+JyxmKCJjYW5jZWwiKSwiPC9hPiAiLGYoImFuZD0KIHJlc2Vs
ZWN0IG5ldyBlbGVtZW50cyIpLCIuIiwiPC9zcGFuPiIsIjwvZGl2PiIsIjwvZGl2PiIsJzxkaXYg
Y2xhc3M9M0QiZm9vPQp0ZXIgZmxleC1yb3cgbm8tZmxleCI+JywnPGRpdiBjbGFzcz0zRCJhY3Rp
b25zIGNsZWFyIHZlcnRpY2FsbHktc3BhY2VkIj4nLCc9CjxkaXYgY2xhc3M9M0Qib3RoZXItb3B0
aW9ucyBwdWxsLWxlZnQiPicsJzxidXR0b24gY2xhc3M9M0QiY2FuY2VsLWNyZWF0ZSBidD0KbiIg
dGFiaW5kZXg9M0QiLTEiPicsZigiQ2FuY2VsIiksIjwvYnV0dG9uPiIsIjwvZGl2PiIsIjwvZGl2
PiIsIjwvZGl2PiJdLmpvPQppbigiIikpfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiJMaXN0
Q29sbGVjdGlvbkNyZWF0b3IifX0pLGo9M0RmdW5jdGlvbig9CmEsYixjKXt2YXIgZSxnPTNEalF1
ZXJ5LkRlZmVycmVkKCksaD0zREdhbGF4eS5tb2RhbHx8bmV3IGQuVmlldztyZXR1cm4gYj0zRD0K
Xy5kZWZhdWx0cyhifHx7fSx7ZWxlbWVudHM6YSxvbmNhbmNlbDpmdW5jdGlvbigpe2guaGlkZSgp
LGcucmVqZWN0KCJjYW5jZWxsPQplZCIpfSxvbmNyZWF0ZTpmdW5jdGlvbihhLGIpe2guaGlkZSgp
LGcucmVzb2x2ZShiKX19KSxlPTNEbmV3IGMoYiksaC5zaG93KHs9CnRpdGxlOmIudGl0bGV8fGYo
IkNyZWF0ZSBhIGNvbGxlY3Rpb24iKSxib2R5OmUuJGVsLHdpZHRoOiI4MCUiLGhlaWdodDoiMTAw
JT0KIixjbG9zaW5nX2V2ZW50czohMH0pLGUucmVuZGVyKCksd2luZG93Ll9jb2xsZWN0aW9uQ3Jl
YXRvcj0zRGUsZ30saz0zRGZ1bmN0PQppb24oYSxiKXtyZXR1cm4gYj0zRGJ8fHt9LGIudGl0bGU9
M0RmKCJDcmVhdGUgYSBjb2xsZWN0aW9uIGZyb20gYSBsaXN0IG9mIGQ9CmF0YXNldHMiKSxqKGEs
YixpKX07cmV0dXJue0RhdGFzZXRDb2xsZWN0aW9uRWxlbWVudFZpZXc6aCxMaXN0Q29sbGVjdGlv
bkNyZT0KYXRvcjppLGNvbGxlY3Rpb25DcmVhdG9yTW9kYWw6aixsaXN0Q29sbGVjdGlvbkNyZWF0
b3JNb2RhbDprLGNyZWF0ZUxpc3RDb2xsPQplY3Rpb246Z319KTsKIC8vIyBzb3VyY2VNYXBwaW5n
VVJMPTNELi4vLi4vLi4vbWFwcy9tdmMvY29sbGVjdGlvbi9saXN0LWNvbGxlY3Rpb24tY3JlYXRv
PQpyLmpzLm1hcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLXIgZDYyZjNlNTBi
NTY3YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0
Zj0KNGJkZDRiMWUxOWE5N2FhNTUgc3RhdGljL3NjcmlwdHMvbXZjL2xpYnJhcnkvbGlicmFyeS1m
b2xkZXJ0b29sYmFyLXZpZXcuanMKLS0tIGEvc3RhdGljL3NjcmlwdHMvbXZjL2xpYnJhcnkvbGli
cmFyeS1mb2xkZXJ0b29sYmFyLXZpZXcuanMKKysrIGIvc3RhdGljL3NjcmlwdHMvbXZjL2xpYnJh
cnkvbGlicmFyeS1mb2xkZXJ0b29sYmFyLXZpZXcuanMKQEAgLTEsMyArMSwzIEBACi1kZWZpbmUo
WyJnYWxheHkubWFzdGhlYWQiLCJ1dGlscy91dGlscyIsImxpYnMvdG9hc3RyIiwibXZjL2xpYnJh
cnkvbGlicmFyeT0KLW1vZGVsIiwibXZjL3VpL3VpLXNlbGVjdCJdLGZ1bmN0aW9uKGEsYixjLGQs
ZSl7dmFyIGY9M0RCYWNrYm9uZS5WaWV3LmV4dGVuPQpkKHtlbDoiI2NlbnRlciIsZXZlbnRzOnsi
Y2xpY2sgI3Rvb2xidG5fY3JlYXRlX2ZvbGRlciI6ImNyZWF0ZUZvbGRlckZyb21Nb2Q9CmFsIiwi
Y2xpY2sgI3Rvb2xidG5fYnVsa19pbXBvcnQiOiJtb2RhbEJ1bGtJbXBvcnQiLCJjbGljayAjaW5j
bHVkZV9kZWxldGVkXz0KZGF0YXNldHNfY2hrIjoiY2hlY2tJbmNsdWRlRGVsZXRlZCIsImNsaWNr
ICN0b29sYnRuX3Nob3dfbGliaW5mbyI6InNob3dMaWJJPQpuZm8iLCJjbGljayAjdG9vbGJ0bl9i
dWxrX2RlbGV0ZSI6ImRlbGV0ZVNlbGVjdGVkRGF0YXNldHMiLCJjbGljayAjcGFnZV9zaXo9CmVf
cHJvbXB0Ijoic2hvd1BhZ2VTaXplUHJvbXB0In0sZGVmYXVsdHM6e2Nhbl9hZGRfbGlicmFyeV9p
dGVtOiExLGNvbnRhaW5zXz0KZmlsZV9vcl9mb2xkZXI6ITEsY2hhaW5fY2FsbF9jb250cm9sOnt0
b3RhbF9udW1iZXI6MCxmYWlsZWRfbnVtYmVyOjB9LGRpc2FiPQpsZWRfanN0cmVlX2VsZW1lbnQ6
ImZvbGRlcnMifSxtb2RhbDpudWxsLGpzdHJlZTpudWxsLGhpc3RvcmllczpudWxsLHNlbGVjdF89
Cmdlbm9tZTpudWxsLHNlbGVjdF9leHRlbnNpb246bnVsbCxsaXN0X2V4dGVuc2lvbnM6W10sYXV0
bzp7aWQ6ImF1dG8iLHRleHQ6Ij0KQXV0by1kZXRlY3QiLGRlc2NyaXB0aW9uOiJUaGlzIHN5c3Rl
bSB3aWxsIHRyeSB0byBkZXRlY3QgdGhlIGZpbGUgdHlwZSBhdXRvPQptYXRpY2FsbHkuIElmIHlv
dXIgZmlsZSBpcyBub3QgZGV0ZWN0ZWQgcHJvcGVybHkgYXMgb25lIG9mIHRoZSBrbm93biBmb3Jt
YXQ9CnMsIGl0IG1vc3QgbGlrZWx5IG1lYW5zIHRoYXQgaXQgaGFzIHNvbWUgZm9ybWF0IHByb2Js
ZW1zIChlLmcuLCBkaWZmZXJlbnQgbj0KdW1iZXIgb2YgY29sdW1ucyBvbiBkaWZmZXJlbnQgcm93
cykuIFlvdSBjYW4gc3RpbGwgY29lcmNlIHRoZSBzeXN0ZW0gdG8gc2V0PQogeW91ciBkYXRhIHRv
IHRoZSBmb3JtYXQgeW91IHRoaW5rIGl0IHNob3VsZCBiZS4gWW91IGNhbiBhbHNvIHVwbG9hZCBj
b21wcmU9CnNzZWQgZmlsZXMsIHdoaWNoIHdpbGwgYXV0b21hdGljYWxseSBiZSBkZWNvbXByZXNz
ZWQuIn0sbGlzdF9nZW5vbWVzOltdLGluaT0KdGlhbGl6ZTpmdW5jdGlvbihhKXt0aGlzLm9wdGlv
bnM9M0RfLmRlZmF1bHRzKGF8fHt9LHRoaXMuZGVmYXVsdHMpLHRoaXMuZmV0PQpjaEV4dEFuZEdl
bm9tZXMoKSx0aGlzLnJlbmRlcigpfSxyZW5kZXI6ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zPTNE
Xy5leHRlbmQ9Cih0aGlzLm9wdGlvbnMsYSk7dmFyIGI9M0R0aGlzLnRlbXBsYXRlVG9vbEJhcigp
LGM9M0R7aWQ6dGhpcy5vcHRpb25zLmlkLGlzXz0KYWRtaW46ITEsaXNfYW5vbnltOiEwLG11dGlw
bGVfYWRkX2RhdGFzZXRfb3B0aW9uczohMX07R2FsYXh5LmN1cnJVc2VyJiYoYy5pPQpzX2FkbWlu
PTNER2FsYXh5LmN1cnJVc2VyLmlzQWRtaW4oKSxjLmlzX2Fub255bT0zREdhbGF4eS5jdXJyVXNl
ci5pc0Fub255bW89CnVzKCksKG51bGwhPTNEPTNER2FsYXh5LmNvbmZpZy51c2VyX2xpYnJhcnlf
aW1wb3J0X2Rpcnx8R2FsYXh5LmNvbmZpZy5hbGxvdz0KX2xpYnJhcnlfcGF0aF9wYXN0ZSE9M0Q9
M0QhMXx8bnVsbCE9M0Q9M0RHYWxheHkuY29uZmlnLmxpYnJhcnlfaW1wb3J0X2RpcikmPQomKGMu
bXV0aXBsZV9hZGRfZGF0YXNldF9vcHRpb25zPTNEITApKSx0aGlzLiRlbC5odG1sKGIoYykpfSxy
ZW5kZXJQYWdpbmF0b3I9CjpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9M0RfLmV4dGVuZCh0aGlz
Lm9wdGlvbnMsYSk7dmFyIGI9M0R0aGlzLnRlbXBsYXRlUD0KYWdpbmF0b3IoKTt0aGlzLiRlbC5m
aW5kKCIjZm9sZGVyX3BhZ2luYXRvciIpLmh0bWwoYih7aWQ6dGhpcy5vcHRpb25zLmlkLHNoPQpv
d19wYWdlOnBhcnNlSW50KHRoaXMub3B0aW9ucy5zaG93X3BhZ2UpLHBhZ2VfY291bnQ6cGFyc2VJ
bnQodGhpcy5vcHRpb25zLnA9CmFnZV9jb3VudCksdG90YWxfaXRlbXNfY291bnQ6dGhpcy5vcHRp
b25zLnRvdGFsX2l0ZW1zX2NvdW50LGl0ZW1zX3Nob3duOnRoaT0Kcy5vcHRpb25zLml0ZW1zX3No
b3dufSkpfSxjb25maWd1cmVFbGVtZW50czpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9M0RfLmV4
PQp0ZW5kKHRoaXMub3B0aW9ucyxhKSx0aGlzLm9wdGlvbnMuY2FuX2FkZF9saWJyYXJ5X2l0ZW09
M0Q9M0Q9M0QhMD8kKCIuYWRkLWw9CmlicmFyeS1pdGVtcyIpLnNob3coKTokKCIuYWRkLWxpYnJh
cnktaXRlbXMiKS5oaWRlKCksdGhpcy5vcHRpb25zLmNvbnRhaW5zXz0KZmlsZV9vcl9mb2xkZXI9
M0Q9M0Q9M0QhMCYmR2FsYXh5LmN1cnJVc2VyP0dhbGF4eS5jdXJyVXNlci5pc0Fub255bW91cygp
PygkPQooIi5kYXRhc2V0LW1hbmlwdWxhdGlvbiIpLnNob3coKSwkKCIubG9nZ2VkLWRhdGFzZXQt
bWFuaXB1bGF0aW9uIikuaGlkZSgpKTo9CigkKCIubG9nZ2VkLWRhdGFzZXQtbWFuaXB1bGF0aW9u
Iikuc2hvdygpLCQoIi5kYXRhc2V0LW1hbmlwdWxhdGlvbiIpLnNob3coKT0KKTooJCgiLmxvZ2dl
ZC1kYXRhc2V0LW1hbmlwdWxhdGlvbiIpLmhpZGUoKSwkKCIuZGF0YXNldC1tYW5pcHVsYXRpb24i
KS5oaWRlPQooKSksdGhpcy4kZWwuZmluZCgiW2RhdGEtdG9nZ2xlXSIpLnRvb2x0aXAoKX0sY3Jl
YXRlRm9sZGVyRnJvbU1vZGFsOmZ1bmN0aW89Cm4oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3Rv
cFByb3BhZ2F0aW9uKCk7dmFyIGI9M0R0aGlzLGM9M0R0aGlzLnRlbXBsYXRlTj0KZXdGb2xkZXJJ
bk1vZGFsKCk7dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3Np
bmdfZXZlbnRzPQo6ITAsdGl0bGU6IkNyZWF0ZSBOZXcgRm9sZGVyIixib2R5OmMoKSxidXR0b25z
OntDcmVhdGU6ZnVuY3Rpb24oKXtiLmNyZWF0ZV89Cm5ld19mb2xkZXJfZXZlbnQoKX0sQ2xvc2U6
ZnVuY3Rpb24oKXtHYWxheHkubW9kYWwuaGlkZSgpfX19KX0sY3JlYXRlX25ld19mbz0KbGRlcl9l
dmVudDpmdW5jdGlvbigpe3ZhciBhPTNEdGhpcy5zZXJpYWxpemVfbmV3X2ZvbGRlcigpO2lmKHRo
aXMudmFsaWRhdGVfPQpuZXdfZm9sZGVyKGEpKXt2YXIgYj0zRG5ldyBkLkZvbGRlckFzTW9kZWw7
dXJsX2l0ZW1zPTNEQmFja2JvbmUuaGlzdG9yeS5mcmE9CmdtZW50LnNwbGl0KCIvIiksY3VycmVu
dF9mb2xkZXJfaWQ9M0R1cmxfaXRlbXNbdXJsX2l0ZW1zLmxlbmd0aC0xXSxiLnVybD0zRD0KYi51
cmxSb290K2N1cnJlbnRfZm9sZGVyX2lkLGIuc2F2ZShhLHtzdWNjZXNzOmZ1bmN0aW9uKGEpe0dh
bGF4eS5tb2RhbC5oaWRlPQooKSxjLnN1Y2Nlc3MoIkZvbGRlciBjcmVhdGVkLiIpLGEuc2V0KHt0
eXBlOiJmb2xkZXIifSksR2FsYXh5LmxpYnJhcmllcy5mb2w9CmRlckxpc3RWaWV3LmNvbGxlY3Rp
b24uYWRkKGEpfSxlcnJvcjpmdW5jdGlvbihhLGIpe0dhbGF4eS5tb2RhbC5oaWRlKCksYy5lcj0K
cm9yKCJ1bmRlZmluZWQiIT0zRHR5cGVvZiBiLnJlc3BvbnNlSlNPTj9iLnJlc3BvbnNlSlNPTi5l
cnJfbXNnOiJBbiBlcnJvciBvPQpjdXJyZWQuIil9fSl9ZWxzZSBjLmVycm9yKCJGb2xkZXIncyBu
YW1lIGlzIG1pc3NpbmcuIik7cmV0dXJuITF9LHNlcmlhbGl6ZV89Cm5ld19mb2xkZXI6ZnVuY3Rp
b24oKXtyZXR1cm57bmFtZTokKCJpbnB1dFtuYW1lPTNEJ05hbWUnXSIpLnZhbCgpLGRlc2NyaXB0
aT0Kb246JCgiaW5wdXRbbmFtZT0zRCdEZXNjcmlwdGlvbiddIikudmFsKCl9fSx2YWxpZGF0ZV9u
ZXdfZm9sZGVyOmZ1bmN0aW9uKGEpPQp7cmV0dXJuIiIhPTNEPTNEYS5uYW1lfSxtb2RhbEJ1bGtJ
bXBvcnQ6ZnVuY3Rpb24oKXt2YXIgYT0zRCQoIiNmb2xkZXJfdGFibGU9CiIpLmZpbmQoIjpjaGVj
a2VkIik7MD0zRD0zRD0zRGEubGVuZ3RoP2MuaW5mbygiWW91IG11c3Qgc2VsZWN0IHNvbWUgZGF0
YXNldD0KcyBmaXJzdC4iKTp0aGlzLnJlZnJlc2hVc2VySGlzdG9yaWVzTGlzdChmdW5jdGlvbihh
KXt2YXIgYj0zRGEudGVtcGxhdGVCdWxrPQpJbXBvcnRJbk1vZGFsKCk7YS5tb2RhbD0zREdhbGF4
eS5tb2RhbCxhLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRzOiEwLHRpdGw9CmU6IkltcG9ydCBp
bnRvIEhpc3RvcnkiLGJvZHk6Yih7aGlzdG9yaWVzOmEuaGlzdG9yaWVzLm1vZGVsc30pLGJ1dHRv
bnM6e0ltcD0Kb3J0OmZ1bmN0aW9uKCl7YS5pbXBvcnRBbGxJbnRvSGlzdG9yeSgpfSxDbG9zZTpm
dW5jdGlvbigpe0dhbGF4eS5tb2RhbC5oaWRlPQooKX19fSl9KX0scmVmcmVzaFVzZXJIaXN0b3Jp
ZXNMaXN0OmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhpczt0aGlzLmhpc3Rvcmllcz0KPTNEbmV3IGQu
R2FsYXh5SGlzdG9yaWVzLHRoaXMuaGlzdG9yaWVzLmZldGNoKHtzdWNjZXNzOmZ1bmN0aW9uKCl7
YShiKX0sZXJyPQpvcjpmdW5jdGlvbihhLGIpe2MuZXJyb3IoInVuZGVmaW5lZCIhPTNEdHlwZW9m
IGIucmVzcG9uc2VKU09OP2IucmVzcG9uc2VKU089Ck4uZXJyX21zZzoiQW4gZXJyb3Igb2N1cnJl
ZC4iKX19KX0saW1wb3J0QWxsSW50b0hpc3Rvcnk6ZnVuY3Rpb24oKXt0aGlzLm1vZD0KYWwuZGlz
YWJsZUJ1dHRvbigiSW1wb3J0Iik7dmFyIGE9M0QkKCJzZWxlY3RbbmFtZT0zRGRhdGFzZXRfaW1w
b3J0X2J1bGtdIG9wPQp0aW9uOnNlbGVjdGVkIikudmFsKCksYj0zRCQoInNlbGVjdFtuYW1lPTNE
ZGF0YXNldF9pbXBvcnRfYnVsa10gb3B0aW9uOnNlbGU9CmN0ZWQiKS50ZXh0KCk7dGhpcy5vcHRp
b25zLmxhc3RfdXNlZF9oaXN0b3J5X2lkPTNEYTt2YXIgYz0zRFtdLGU9M0RbXTskKCIjZj0Kb2xk
ZXJfdGFibGUiKS5maW5kKCI6Y2hlY2tlZCIpLmVhY2goZnVuY3Rpb24oKXsiIiE9M0Q9M0R0aGlz
LnBhcmVudEVsZW1lbnQuPQpwYXJlbnRFbGVtZW50LmlkJiZ0aGlzLnBhcmVudEVsZW1lbnQucGFy
ZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoImRhdGE9CnNldF9yb3ciKT9jLnB1c2godGhp
cy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQpOiIiIT0zRD0zRHRoaXMucGFyZW50RT0K
bGVtZW50LnBhcmVudEVsZW1lbnQuaWQmJnRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50
LmNsYXNzTGlzdC5jb250YWluPQpzKCJmb2xkZXJfcm93IikmJmUucHVzaCh0aGlzLnBhcmVudEVs
ZW1lbnQucGFyZW50RWxlbWVudC5pZCl9KTtmb3IodmFyIGY9M0Q9CltdLGc9M0RjLmxlbmd0aC0x
O2c+PTNEMDtnLS0pe3ZhciBoPTNEY1tnXSxpPTNEbmV3IGQuSGlzdG9yeUl0ZW07aS51cmw9M0Rp
Lj0KdXJsUm9vdCthKyIvY29udGVudHMiLGkuY29udGVudD0zRGgsaS5zb3VyY2U9M0QibGlicmFy
eSIsZi5wdXNoKGkpfWZvcih2YXIgPQpnPTNEZS5sZW5ndGgtMTtnPj0zRDA7Zy0tKXt2YXIgaj0z
RGVbZ10saT0zRG5ldyBkLkhpc3RvcnlJdGVtO2kudXJsPTNEaS51cmw9ClJvb3QrYSsiL2NvbnRl
bnRzIixpLmNvbnRlbnQ9M0RqLGkuc291cmNlPTNEImxpYnJhcnlfZm9sZGVyIixmLnB1c2goaSl9
dGhpcz0KLmluaXRDaGFpbkNhbGxDb250cm9sKHtsZW5ndGg6Zi5sZW5ndGgsYWN0aW9uOiJ0b19o
aXN0b3J5IixoaXN0b3J5X25hbWU6Yn0pPQosalF1ZXJ5LmdldEpTT04oZ2FsYXh5X2NvbmZpZy5y
b290KyJoaXN0b3J5L3NldF9hc19jdXJyZW50P2lkPTNEIithKSx0aGlzLmM9CmhhaW5DYWxsSW1w
b3J0aW5nSW50b0hpc3RvcnkoZixiKX0sdXBkYXRlUHJvZ3Jlc3M6ZnVuY3Rpb24oKXt0aGlzLnBy
b2dyZXNzKz0KPTNEdGhpcy5wcm9ncmVzc1N0ZXAsJCgiLnByb2dyZXNzLWJhci1pbXBvcnQiKS53
aWR0aChNYXRoLnJvdW5kKHRoaXMucHJvZ3JlPQpzcykrIiUiKSx0eHRfcmVwcmVzZW50YXRpb249
M0RNYXRoLnJvdW5kKHRoaXMucHJvZ3Jlc3MpKyIlIENvbXBsZXRlIiwkKCIuY289Cm1wbGV0aW9u
X3NwYW4iKS50ZXh0KHR4dF9yZXByZXNlbnRhdGlvbil9LGRvd25sb2FkOmZ1bmN0aW9uKGEsYil7
dmFyIGM9M0RbXT0KLGQ9M0RbXTskKCIjZm9sZGVyX3RhYmxlIikuZmluZCgiOmNoZWNrZWQiKS5l
YWNoKGZ1bmN0aW9uKCl7IiIhPTNEPTNEdGhpcy5wPQphcmVudEVsZW1lbnQucGFyZW50RWxlbWVu
dC5pZCYmdGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuY2xhc3NMaXN0LmM9Cm9udGFp
bnMoImRhdGFzZXRfcm93Iik/Yy5wdXNoKHRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50
LmlkKToiIiE9M0Q9Cj0zRHRoaXMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmlkJiZ0aGlz
LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5jbD0KYXNzTGlzdC5jb250YWlucygiZm9sZGVy
X3JvdyIpJiZkLnB1c2godGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQpPQp9KTt2
YXIgZT0zRCh3aW5kb3cuZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBp
L2xpYnJhcmllcy9kYXQ9CmFzZXRzL2Rvd25sb2FkLyIrYixmPTNEe2xkX2lkczpjLGZvbGRlcl9p
ZHM6ZH07dGhpcy5wcm9jZXNzRG93bmxvYWQoZSxmLCJnZT0KdCIpfSxwcm9jZXNzRG93bmxvYWQ6
ZnVuY3Rpb24oYSxiLGQpe2lmKGEmJmIpe2I9M0Qic3RyaW5nIj0zRD0zRHR5cGVvZiBiP2I6PQok
LnBhcmFtKGIpO3ZhciBlPTNEIiI7JC5lYWNoKGIuc3BsaXQoIiYiKSxmdW5jdGlvbigpe3ZhciBh
PTNEdGhpcy5zcGxpdCgiPQo9M0QiKTtlKz0zRCc8aW5wdXQgdHlwZT0zRCJoaWRkZW4iIG5hbWU9
M0QiJythWzBdKyciIHZhbHVlPTNEIicrYVsxXSsnIiAvPic9Cn0pLCQoJzxmb3JtIGFjdGlvbj0z
RCInK2ErJyIgbWV0aG9kPTNEIicrKGR8fCJwb3N0IikrJyI+JytlKyI8L2Zvcm0+IikuYXBwZT0K
bmRUbygiYm9keSIpLnN1Ym1pdCgpLnJlbW92ZSgpLGMuaW5mbygiWW91ciBkb3dubG9hZCB3aWxs
IGJlZ2luIHNvb24uIil9ZWxzPQplIGMuZXJyb3IoIkFuIGVycm9yIG9jY3VycmVkLiIpfSxhZGRG
aWxlc0Zyb21IaXN0b3J5TW9kYWw6ZnVuY3Rpb24oKXt0aGlzLnI9CmVmcmVzaFVzZXJIaXN0b3Jp
ZXNMaXN0KGZ1bmN0aW9uKGEpe2EubW9kYWw9M0RHYWxheHkubW9kYWw7dmFyIGI9M0RhLnRlbXBs
YT0KdGVBZGRGaWxlc0Zyb21IaXN0b3J5KCksZD0zRGEub3B0aW9ucy5mdWxsX3BhdGhbYS5vcHRp
b25zLmZ1bGxfcGF0aC5sZW5ndGgtPQoxXVsxXTthLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRz
OiEwLHRpdGxlOiJBZGRpbmcgZGF0YXNldHMgZnJvbSB5b3VyIGhpc3Q9Cm9yeSB0byBmb2xkZXIg
IitkLGJvZHk6Yih7aGlzdG9yaWVzOmEuaGlzdG9yaWVzLm1vZGVsc30pLGJ1dHRvbnM6e0FkZDpm
dW5jdD0KaW9uKCl7YS5hZGRBbGxEYXRhc2V0c0Zyb21IaXN0b3J5KCl9LENsb3NlOmZ1bmN0aW9u
KCl7R2FsYXh5Lm1vZGFsLmhpZGUoKX19PQosY2xvc2luZ19jYWxsYmFjazpmdW5jdGlvbigpe0dh
bGF4eS5saWJyYXJpZXMubGlicmFyeV9yb3V0ZXIuYmFjaygpfX0pLGEuaGk9CnN0b3JpZXMubW9k
ZWxzLmxlbmd0aD4wPyhhLmZldGNoQW5kRGlzcGxheUhpc3RvcnlDb250ZW50cyhhLmhpc3Rvcmll
cy5tb2RlbD0Kc1swXS5pZCksJCgiI2RhdGFzZXRfYWRkX2J1bGsiKS5jaGFuZ2UoZnVuY3Rpb24o
Yil7YS5mZXRjaEFuZERpc3BsYXlIaXN0b3J5PQpDb250ZW50cyhiLnRhcmdldC52YWx1ZSl9KSk6
Yy5lcnJvcigiQW4gZXJyb3Igb2N1cnJlZC4iKX0pfSxpbXBvcnRGaWxlc0Zyb209ClBhdGhNb2Rh
bDpmdW5jdGlvbigpe3ZhciBhPTNEdGhpczt0aGlzLm1vZGFsPTNER2FsYXh5Lm1vZGFsO3ZhciBi
PTNEdGhpcy50ZT0KbXBsYXRlSW1wb3J0UGF0aE1vZGFsKCk7dGhpcy5tb2RhbC5zaG93KHtjbG9z
aW5nX2V2ZW50czohMCx0aXRsZToiUGxlYXNlIGVuPQp0ZXIgcGF0aHMgdG8gaW1wb3J0Iixib2R5
OmIoe30pLGJ1dHRvbnM6e0ltcG9ydDpmdW5jdGlvbigpe2EuaW1wb3J0RnJvbVBhdGg9CnNDbGlj
a2VkKGEpfSxDbG9zZTpmdW5jdGlvbigpe0dhbGF4eS5tb2RhbC5oaWRlKCl9fSxjbG9zaW5nX2Nh
bGxiYWNrOmZ1bmN0aT0Kb24oKXtHYWxheHkubGlicmFyaWVzLmxpYnJhcnlfcm91dGVyLm5hdmln
YXRlKCJmb2xkZXJzLyIrYS5pZCx7dHJpZ2dlcjohMH0pPQp9fSksdGhpcy5yZW5kZXJTZWxlY3RC
b3hlcygpfSxmZXRjaEV4dEFuZEdlbm9tZXM6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXM7Yi49Cmdl
dCh7dXJsOih3aW5kb3cuZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBp
L2RhdGF0eXBlcz9leHRlbj0Kc2lvbl9vbmx5PTNERmFsc2UiLHN1Y2Nlc3M6ZnVuY3Rpb24oYil7
Zm9yKGtleSBpbiBiKWEubGlzdF9leHRlbnNpb25zLnB1c2goPQp7aWQ6YltrZXldLmV4dGVuc2lv
bix0ZXh0OmJba2V5XS5leHRlbnNpb24sZGVzY3JpcHRpb246YltrZXldLmRlc2NyaXB0aW9uLGQ9
CmVzY3JpcHRpb25fdXJsOmJba2V5XS5kZXNjcmlwdGlvbl91cmx9KTthLmxpc3RfZXh0ZW5zaW9u
cy5zb3J0KGZ1bmN0aW9uKGEsYj0KKXtyZXR1cm4gYS5pZD5iLmlkPzE6YS5pZDxiLmlkPy0xOjB9
KSxhLmxpc3RfZXh0ZW5zaW9ucy51bnNoaWZ0KGEuYXV0byl9fSksPQpiLmdldCh7dXJsOih3aW5k
b3cuZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2dlbm9tZXMiLHN1
Y2M9CmVzczpmdW5jdGlvbihiKXtmb3Ioa2V5IGluIGIpYS5saXN0X2dlbm9tZXMucHVzaCh7aWQ6
YltrZXldWzFdLHRleHQ6YltrZXldWz0KMF19KTthLmxpc3RfZ2Vub21lcy5zb3J0KGZ1bmN0aW9u
KGEsYil7cmV0dXJuIGEuaWQ+Yi5pZD8xOmEuaWQ8Yi5pZD8tMTowfSl9PQp9KX0scmVuZGVyU2Vs
ZWN0Qm94ZXM6ZnVuY3Rpb24oKXt2YXIgYT0zRHRoaXM7dGhpcy5zZWxlY3RfZ2Vub21lPTNEbmV3
IGUuVmk9CmV3KHtjc3M6ImxpYnJhcnktZ2Vub21lLXNlbGVjdCIsZGF0YTphLmxpc3RfZ2Vub21l
cyxjb250YWluZXI6R2FsYXh5Lm1vZGFsLj0KJGVsLmZpbmQoIiNsaWJyYXJ5X2dlbm9tZV9zZWxl
Y3QiKSx2YWx1ZToiPyJ9KSx0aGlzLnNlbGVjdF9leHRlbnNpb249M0RuZXcgPQplLlZpZXcoe2Nz
czoibGlicmFyeS1leHRlbnNpb24tc2VsZWN0IixkYXRhOmEubGlzdF9leHRlbnNpb25zLGNvbnRh
aW5lcjpHYWw9CmF4eS5tb2RhbC4kZWwuZmluZCgiI2xpYnJhcnlfZXh0ZW5zaW9uX3NlbGVjdCIp
LHZhbHVlOiJhdXRvIn0pfSxpbXBvcnRGaWxlcz0KRnJvbUdhbGF4eUZvbGRlck1vZGFsOmZ1bmN0
aW9uKGEpe3ZhciBiPTNEdGhpcyxjPTNEdGhpcy50ZW1wbGF0ZUJyb3dzZXJNb2RhPQpsKCk7dGhp
cy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRzOiEw
LHRpdGxlOiJQbGU9CmFzZSBzZWxlY3QgZm9sZGVycyBvciBmaWxlcyIsYm9keTpjKHt9KSxidXR0
b25zOntJbXBvcnQ6ZnVuY3Rpb24oKXtiLmltcG9ydD0KRnJvbUpzdHJlZVBhdGgoYixhKX0sQ2xv
c2U6ZnVuY3Rpb24oKXtHYWxheHkubW9kYWwuaGlkZSgpfX0sY2xvc2luZ19jYWxsYmFjPQprOmZ1
bmN0aW9uKCl7R2FsYXh5LmxpYnJhcmllcy5saWJyYXJ5X3JvdXRlci5uYXZpZ2F0ZSgiZm9sZGVy
cy8iK2IuaWQse3RyaWc9CmdlcjohMH0pfX0pLHRoaXMucmVuZGVyU2VsZWN0Qm94ZXMoKSxhLmRp
c2FibGVkX2pzdHJlZV9lbGVtZW50PTNEImZvbGRlcnMiLD0KdGhpcy5yZW5kZXJKc3RyZWUoYSks
JCgiaW5wdXRbdHlwZT0zRHJhZGlvXSIpLmNoYW5nZShmdW5jdGlvbihjKXsianN0cmVlLWRpPQpz
YWJsZS1mb2xkZXJzIj0zRD0zRD0zRGMudGFyZ2V0LnZhbHVlPyhhLmRpc2FibGVkX2pzdHJlZV9l
bGVtZW50PTNEImZvbGRlcnM9CiIsYi5yZW5kZXJKc3RyZWUoYSksJCgiLmpzdHJlZS1mb2xkZXJz
LW1lc3NhZ2UiKS5oaWRlKCksJCgiLmpzdHJlZS1wcmVzZXJ2ZT0KLXN0cnVjdHVyZSIpLmhpZGUo
KSwkKCIuanN0cmVlLWxpbmstZmlsZXMiKS5oaWRlKCksJCgiLmpzdHJlZS1maWxlcy1tZXNzYWdl
PQoiKS5zaG93KCkpOiJqc3RyZWUtZGlzYWJsZS1maWxlcyI9M0Q9M0Q9M0RjLnRhcmdldC52YWx1
ZSYmKCQoIi5qc3RyZWUtZmlsZXM9Ci1tZXNzYWdlIikuaGlkZSgpLCQoIi5qc3RyZWUtZm9sZGVy
cy1tZXNzYWdlIikuc2hvdygpLCQoIi5qc3RyZWUtbGluay1maWxlcz0KIikuc2hvdygpLCQoIi5q
c3RyZWUtcHJlc2VydmUtc3RydWN0dXJlIikuc2hvdygpLGEuZGlzYWJsZWRfanN0cmVlX2VsZW1l
bnQ9Cj0zRCJmaWxlcyIsYi5yZW5kZXJKc3RyZWUoYSkpfSl9LHJlbmRlckpzdHJlZTpmdW5jdGlv
bihhKXt0aGlzLm9wdGlvbnM9M0RfLj0KZXh0ZW5kKHRoaXMub3B0aW9ucyxhKTt2YXIgYj0zRGEu
c291cmNlfHwidXNlcmRpciIsZT0zRHRoaXMub3B0aW9ucy5kaXNhYmxlPQpkX2pzdHJlZV9lbGVt
ZW50O3RoaXMuanN0cmVlPTNEbmV3IGQuSnN0cmVlLHRoaXMuanN0cmVlLnVybD0zRHRoaXMuanN0
cmVlLnU9CnJsUm9vdCsiP3RhcmdldD0zRCIrYisiJmZvcm1hdD0zRGpzdHJlZSZkaXNhYmxlPTNE
IitlLHRoaXMuanN0cmVlLmZldGNoKHtzdT0KY2Nlc3M6ZnVuY3Rpb24oYSl7ZGVmaW5lKCJqcXVl
cnkiLGZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeX0pLHJlcXVpcmUoWyJsaWJzPQovanF1ZXJ5L2pz
dHJlZSJdLGZ1bmN0aW9uKCl7JCgiI2pzdHJlZV9icm93c2VyIikuanN0cmVlKCJkZXN0cm95Iiks
JCgiI2pzdHI9CmVlX2Jyb3dzZXIiKS5qc3RyZWUoe2NvcmU6e2RhdGE6YX0scGx1Z2luczpbInR5
cGVzIiwiY2hlY2tib3giXSx0eXBlczp7Zm9sZD0KZXI6e2ljb246ImpzdHJlZS1mb2xkZXIifSxm
aWxlOntpY29uOiJqc3RyZWUtZmlsZSJ9fSxjaGVja2JveDp7dGhyZWVfc3RhdGU6PQohMX19KX0p
fSxlcnJvcjpmdW5jdGlvbihhLGIpe2MuZXJyb3IoInVuZGVmaW5lZCIhPTNEdHlwZW9mIGIucmVz
cG9uc2VKU09OP2I9Ci5yZXNwb25zZUpTT04uZXJyX21zZzoiQW4gZXJyb3Igb2N1cnJlZC4iKX19
KX0saW1wb3J0RnJvbVBhdGhzQ2xpY2tlZDpmdW5jdD0KaW9uKCl7dmFyIGE9M0R0aGlzLm1vZGFs
LiRlbC5maW5kKCIucHJlc2VydmUtY2hlY2tib3giKS5pcygiOmNoZWNrZWQiKSxiPTNEPQp0aGlz
Lm1vZGFsLiRlbC5maW5kKCIubGluay1jaGVja2JveCIpLmlzKCI6Y2hlY2tlZCIpLGQ9M0R0aGlz
LnNlbGVjdF9leHRlbnM9Cmlvbi52YWx1ZSgpLGU9M0R0aGlzLnNlbGVjdF9nZW5vbWUudmFsdWUo
KSxmPTNEJCgidGV4dGFyZWEjaW1wb3J0X3BhdGhzIikudj0KYWwoKSxnPTNEW107aWYoZil7dGhp
cy5tb2RhbC5kaXNhYmxlQnV0dG9uKCJJbXBvcnQiKSxmPTNEZi5zcGxpdCgiXG4iKTtmb3IoPQp2
YXIgaD0zRGYubGVuZ3RoLTE7aD49M0QwO2gtLSl0cmltbWVkPTNEZltoXS50cmltKCksMCE9M0Q9
M0R0cmltbWVkLmxlbmd0aCY9CiZnLnB1c2godHJpbW1lZCk7dGhpcy5pbml0Q2hhaW5DYWxsQ29u
dHJvbCh7bGVuZ3RoOmcubGVuZ3RoLGFjdGlvbjoiYWRkaW5nXz0KZGF0YXNldHMifSksdGhpcy5j
aGFpbkNhbGxJbXBvcnRpbmdGb2xkZXJzKHtwYXRoczpnLHByZXNlcnZlX2RpcnM6YSxsaW5rX2Rh
PQp0YTpiLHNvdXJjZToiYWRtaW5fcGF0aCIsZmlsZV90eXBlOmQsZGJrZXk6ZX0pfWVsc2UgYy5p
bmZvKCJQbGVhc2UgZW50ZXIgYSA9CnBhdGggcmVsYXRpdmUgdG8gR2FsYXh5IHJvb3QuIil9LGlu
aXRDaGFpbkNhbGxDb250cm9sOmZ1bmN0aW9uKGEpe3ZhciBiO3N3aT0KdGNoKGEuYWN0aW9uKXtj
YXNlImFkZGluZ19kYXRhc2V0cyI6Yj0zRHRoaXMudGVtcGxhdGVBZGRpbmdEYXRhc2V0c1Byb2dy
ZXNzPQpCYXIoKSx0aGlzLm1vZGFsLiRlbC5maW5kKCIubW9kYWwtYm9keSIpLmh0bWwoYih7Zm9s
ZGVyX25hbWU6dGhpcy5vcHRpb25zLmY9Cm9sZGVyX25hbWV9KSk7YnJlYWs7Y2FzZSJkZWxldGlu
Z19kYXRhc2V0cyI6Yj0zRHRoaXMudGVtcGxhdGVEZWxldGluZ0RhdGFzZT0KdHNQcm9ncmVzc0Jh
cigpLHRoaXMubW9kYWwuJGVsLmZpbmQoIi5tb2RhbC1ib2R5IikuaHRtbChiKCkpO2JyZWFrO2Nh
c2UidG9fPQpoaXN0b3J5IjpiPTNEdGhpcy50ZW1wbGF0ZUltcG9ydEludG9IaXN0b3J5UHJvZ3Jl
c3NCYXIoKSx0aGlzLm1vZGFsLiRlbC5maW49CmQoIi5tb2RhbC1ib2R5IikuaHRtbChiKHtoaXN0
b3J5X25hbWU6YS5oaXN0b3J5X25hbWV9KSk7YnJlYWs7ZGVmYXVsdDpjb25zbz0KbGUuZXJyb3Io
Ildyb25nIGFjdGlvbiBzcGVjaWZpZWQuIil9dGhpcy5wcm9ncmVzcz0zRDAsdGhpcy5wcm9ncmVz
c1N0ZXA9M0QxPQowMC9hLmxlbmd0aCx0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRv
dGFsX251bWJlcj0zRGEubGVuZ3RoLHRoaXMub3A9CnRpb25zLmNoYWluX2NhbGxfY29udHJvbC5m
YWlsZWRfbnVtYmVyPTNEMH0saW1wb3J0RnJvbUpzdHJlZVBhdGg6ZnVuY3Rpb24oYT0KLGIpe3Zh
ciBkPTNEJCgiI2pzdHJlZV9icm93c2VyIikuanN0cmVlKCkuZ2V0X3NlbGVjdGVkKCEwKSxlPTNE
dGhpcy5tb2RhbC4kPQplbC5maW5kKCIucHJlc2VydmUtY2hlY2tib3giKS5pcygiOmNoZWNrZWQi
KSxmPTNEdGhpcy5tb2RhbC4kZWwuZmluZCgiLmxpbms9Ci1jaGVja2JveCIpLmlzKCI6Y2hlY2tl
ZCIpLGc9M0R0aGlzLnNlbGVjdF9leHRlbnNpb24udmFsdWUoKSxoPTNEdGhpcy5zZWxlYz0KdF9n
ZW5vbWUudmFsdWUoKSxpPTNEZFswXS50eXBlLGo9M0RbXTtpZihkLmxlbmd0aDwxKWMuaW5mbygi
UGxlYXNlIHNlbGVjdCBzPQpvbWUgaXRlbXMgZmlyc3QuIik7ZWxzZXt0aGlzLm1vZGFsLmRpc2Fi
bGVCdXR0b24oIkltcG9ydCIpO2Zvcih2YXIgaz0zRGQubGU9Cm5ndGgtMTtrPj0zRDA7ay0tKXZv
aWQgMCE9M0Q9M0RkW2tdLmxpX2F0dHIuZnVsbF9wYXRoJiZqLnB1c2goZFtrXS5saV9hdHRyLj0K
ZnVsbF9wYXRoKTtpZih0aGlzLmluaXRDaGFpbkNhbGxDb250cm9sKHtsZW5ndGg6ai5sZW5ndGgs
YWN0aW9uOiJhZGRpbmdfZGF0PQphc2V0cyJ9KSwiZm9sZGVyIj0zRD0zRD0zRGkpe3ZhciBsPTNE
Yi5zb3VyY2UrIl9mb2xkZXIiO3RoaXMuY2hhaW5DYWxsSW1wb3I9CnRpbmdGb2xkZXJzKHtwYXRo
czpqLHByZXNlcnZlX2RpcnM6ZSxsaW5rX2RhdGE6Zixzb3VyY2U6bCxmaWxlX3R5cGU6ZyxkYmtl
eT0KOmh9KX1lbHNlIGlmKCJmaWxlIj0zRD0zRD0zRGkpe3ZhciBsPTNEYi5zb3VyY2UrIl9maWxl
Ijt0aGlzLmNoYWluQ2FsbEltcG9yPQp0aW5nVXNlcmRpckZpbGVzKHtwYXRoczpqLGZpbGVfdHlw
ZTpnLGRia2V5Omgsc291cmNlOmx9KX19fSxmZXRjaEFuZERpc3BsYXk9Ckhpc3RvcnlDb250ZW50
czpmdW5jdGlvbihhKXt2YXIgYj0zRG5ldyBkLkhpc3RvcnlDb250ZW50cyh7aWQ6YX0pLGU9M0R0
aGlzOz0KYi5mZXRjaCh7c3VjY2VzczpmdW5jdGlvbihiKXt2YXIgYz0zRGUudGVtcGxhdGVIaXN0
b3J5Q29udGVudHMoKTtlLmhpc3RvcmllPQpzLmdldChhKS5zZXQoe2NvbnRlbnRzOmJ9KSxlLm1v
ZGFsLiRlbC5maW5kKCIjc2VsZWN0ZWRfaGlzdG9yeV9jb250ZW50IikuaHQ9Cm1sKGMoe2hpc3Rv
cnlfY29udGVudHM6Yi5tb2RlbHMucmV2ZXJzZSgpfSkpfSxlcnJvcjpmdW5jdGlvbihhLGIpe2Mu
ZXJyb3IoIj0KdW5kZWZpbmVkIiE9M0R0eXBlb2YgYi5yZXNwb25zZUpTT04/Yi5yZXNwb25zZUpT
T04uZXJyX21zZzoiQW4gZXJyb3Igb2N1cnJlPQpkLiIpfX0pfSxhZGRBbGxEYXRhc2V0c0Zyb21I
aXN0b3J5OmZ1bmN0aW9uKCl7dmFyIGE9M0R0aGlzLm1vZGFsLiRlbC5maW5kKCI9CiNzZWxlY3Rl
ZF9oaXN0b3J5X2NvbnRlbnQiKS5maW5kKCI6Y2hlY2tlZCIpLGI9M0RbXSxlPTNEW107aWYoYS5s
ZW5ndGg8MSljLj0KaW5mbygiWW91IG11c3Qgc2VsZWN0IHNvbWUgZGF0YXNldHMgZmlyc3QuIik7
ZWxzZXt0aGlzLm1vZGFsLmRpc2FibGVCdXR0b24oPQoiQWRkIiksYS5lYWNoKGZ1bmN0aW9uKCl7
dmFyIGE9M0QkKHRoaXMucGFyZW50RWxlbWVudCkuZGF0YSgiaWQiKTthJiZiLnB1c2g9CihhKX0p
O2Zvcih2YXIgZj0zRGIubGVuZ3RoLTE7Zj49M0QwO2YtLSl7aGlzdG9yeV9kYXRhc2V0X2lkPTNE
YltmXTt2YXIgZz0zRD0KbmV3IGQuSXRlbTtnLnVybD0zRCh3aW5kb3cuZ2FsYXh5X2NvbmZpZz9n
YWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2ZvbGRlPQpycy8iK3RoaXMub3B0aW9ucy5pZCsi
L2NvbnRlbnRzIixnLnNldCh7ZnJvbV9oZGFfaWQ6aGlzdG9yeV9kYXRhc2V0X2lkfSksZS49CnB1
c2goZyl9dGhpcy5pbml0Q2hhaW5DYWxsQ29udHJvbCh7bGVuZ3RoOmUubGVuZ3RoLGFjdGlvbjoi
YWRkaW5nX2RhdGFzZXRzIj0KfSksdGhpcy5jaGFpbkNhbGxBZGRpbmdIZGFzKGUpfX0sY2hhaW5D
YWxsSW1wb3J0aW5nSW50b0hpc3Rvcnk6ZnVuY3Rpb24oYSxiPQope3ZhciBkPTNEdGhpcyxlPTNE
YS5wb3AoKTtpZigidW5kZWZpbmVkIj0zRD0zRHR5cGVvZiBlKXJldHVybiAwPTNEPTNEPTNEdGg9
CmlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI/Yy5zdWNjZXNzKCJT
ZWxlY3RlZCBkYXRhc2V0cyBpbT0KcG9ydGVkIGludG8gaGlzdG9yeS4gQ2xpY2sgdGhpcyB0byBz
dGFydCBhbmFseXNpbmcgaXQuIiwiIix7b25jbGljazpmdW5jdGlvPQpuKCl7d2luZG93LmxvY2F0
aW9uPTNEIi8ifX0pOnRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJl
cj0KPTNEPTNEPTNEdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC50b3RhbF9udW1iZXI/
Yy5lcnJvcigiVGhlcmUgd2FzIGFuPQogZXJyb3IgYW5kIG5vIGRhdGFzZXRzIHdlcmUgaW1wb3J0
ZWQgaW50byBoaXN0b3J5LiIpOnRoaXMub3B0aW9ucy5jaGFpbl9jYWw9CmxfY29udHJvbC5mYWls
ZWRfbnVtYmVyPHRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wudG90YWxfbnVtYmVyJiZj
Lndhcj0KbmluZygiU29tZSBvZiB0aGUgZGF0YXNldHMgY291bGQgbm90IGJlIGltcG9ydGVkIGlu
dG8gaGlzdG9yeS4gQ2xpY2sgdGhpcyB0PQpvIHNlZSB3aGF0IHdhcyBpbXBvcnRlZC4iLCIiLHtv
bmNsaWNrOmZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uPTNEIi8ifX0pLEc9CmFsYXh5Lm1vZGFs
LmhpZGUoKSwhMDt2YXIgZj0zRCQud2hlbihlLnNhdmUoe2NvbnRlbnQ6ZS5jb250ZW50LHNvdXJj
ZTplLnNvdT0KcmNlfSkpO2YuZG9uZShmdW5jdGlvbigpe2QudXBkYXRlUHJvZ3Jlc3MoKSxkLmNo
YWluQ2FsbEltcG9ydGluZ0ludG9IaXN0b3J5PQooYSxiKX0pLmZhaWwoZnVuY3Rpb24oKXtkLm9w
dGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXIrPTNEMSxkLnU9CnBkYXRlUHJv
Z3Jlc3MoKSxkLmNoYWluQ2FsbEltcG9ydGluZ0ludG9IaXN0b3J5KGEsYil9KX0sY2hhaW5DYWxs
SW1wb3J0aW5nVT0Kc2VyZGlyRmlsZXM6ZnVuY3Rpb24oYSl7dmFyIGI9M0R0aGlzLGQ9M0RhLnBh
dGhzLnBvcCgpO2lmKCJ1bmRlZmluZWQiPTNEPTNEPQp0eXBlb2YgZClyZXR1cm4gMD0zRD0zRD0z
RHRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcj8oYy49CnN1Y2Nl
c3MoIlNlbGVjdGVkIGZpbGVzIGltcG9ydGVkIGludG8gdGhlIGN1cnJlbnQgZm9sZGVyIiksR2Fs
YXh5Lm1vZGFsLmhpZD0KZSgpKTpjLmVycm9yKCJBbiBlcnJvciBvY2N1cmVkLiIpLCEwO3ZhciBl
PTNEJC53aGVuKCQucG9zdCgod2luZG93LmdhbGF4eV9jPQpvbmZpZz9nYWxheHlfY29uZmlnLnJv
b3Q6Ii8iKSsiYXBpL2xpYnJhcmllcy9kYXRhc2V0cz9lbmNvZGVkX2ZvbGRlcl9pZD0zRCI9Citi
LmlkKyImc291cmNlPTNEIithLnNvdXJjZSsiJnBhdGg9M0QiK2QrIiZmaWxlX3R5cGU9M0QiK2Eu
ZmlsZV90eXBlKyImZGJrZT0KeT0zRCIrYS5kYmtleSkpO2UuZG9uZShmdW5jdGlvbigpe2IudXBk
YXRlUHJvZ3Jlc3MoKSxiLmNoYWluQ2FsbEltcG9ydGluZ1VzPQplcmRpckZpbGVzKGEpfSkuZmFp
bChmdW5jdGlvbigpe2Iub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcis9
Cj0zRDEsYi51cGRhdGVQcm9ncmVzcygpLGIuY2hhaW5DYWxsSW1wb3J0aW5nVXNlcmRpckZpbGVz
KGEpfSl9LGNoYWluQ2FsbEltcD0Kb3J0aW5nRm9sZGVyczpmdW5jdGlvbihhKXt2YXIgYj0zRHRo
aXMsZD0zRGEucGF0aHMucG9wKCk7aWYoInVuZGVmaW5lZCI9M0Q9Cj0zRHR5cGVvZiBkKXJldHVy
biAwPTNEPTNEPTNEdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC5mYWlsZWRfbnVtYmVy
Pz0KKGMuc3VjY2VzcygiU2VsZWN0ZWQgZm9sZGVycyBhbmQgdGhlaXIgY29udGVudHMgaW1wb3J0
ZWQgaW50byB0aGUgY3VycmVudCBmPQpvbGRlci4iKSxHYWxheHkubW9kYWwuaGlkZSgpKTpjLmVy
cm9yKCJBbiBlcnJvciBvY2N1cmVkLiIpLCEwO3ZhciBlPTNEJC53aGU9Cm4oJC5wb3N0KCh3aW5k
b3cuZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2xpYnJhcmllcy9k
YXRhcz0KZXRzP2VuY29kZWRfZm9sZGVyX2lkPTNEIitiLmlkKyImc291cmNlPTNEIithLnNvdXJj
ZSsiJnBhdGg9M0QiK2QrIiZwcmVzZXJ2PQplX2RpcnM9M0QiK2EucHJlc2VydmVfZGlycysiJmxp
bmtfZGF0YT0zRCIrYS5saW5rX2RhdGErIiZmaWxlX3R5cGU9M0QiK2EuZmk9CmxlX3R5cGUrIiZk
YmtleT0zRCIrYS5kYmtleSkpO2UuZG9uZShmdW5jdGlvbigpe2IudXBkYXRlUHJvZ3Jlc3MoKSxi
LmNoYWluQz0KYWxsSW1wb3J0aW5nRm9sZGVycyhhKX0pLmZhaWwoZnVuY3Rpb24oKXtiLm9wdGlv
bnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlPQpkX251bWJlcis9M0QxLGIudXBkYXRlUHJvZ3Jl
c3MoKSxiLmNoYWluQ2FsbEltcG9ydGluZ0ZvbGRlcnMoYSl9KX0sY2hhaW5DYWw9CmxBZGRpbmdI
ZGFzOmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhpczt0aGlzLmFkZGVkX2hkYXM9M0RuZXcgZC5Gb2xk
ZXI7dmFyIGU9Cj0zRGEucG9wKCk7aWYoInVuZGVmaW5lZCI9M0Q9M0R0eXBlb2YgZSlyZXR1cm4g
MD0zRD0zRD0zRHRoaXMub3B0aW9ucy5jaGFpbj0KX2NhbGxfY29udHJvbC5mYWlsZWRfbnVtYmVy
P2Muc3VjY2VzcygiU2VsZWN0ZWQgZGF0YXNldHMgZnJvbSBoaXN0b3J5IGFkZGVkPQogdG8gdGhl
IGZvbGRlciIpOnRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcj0z
RD0zRD0zRHRoaXM9Ci5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC50b3RhbF9udW1iZXI/Yy5l
cnJvcigiVGhlcmUgd2FzIGFuIGVycm9yIGFuZCBubz0KIGRhdGFzZXRzIHdlcmUgYWRkZWQgdG8g
dGhlIGZvbGRlci4iKTp0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlPQpkX251
bWJlcjx0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlciYmYy53YXJu
aW5nKCJTb21lIG9mIHQ9CmhlIGRhdGFzZXRzIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGUgZm9s
ZGVyIiksR2FsYXh5Lm1vZGFsLmhpZGUoKSx0aGlzLmFkZD0KZWRfaGRhczt2YXIgZj0zRCQud2hl
bihlLnNhdmUoe2Zyb21faGRhX2lkOmUuZ2V0KCJmcm9tX2hkYV9pZCIpfSkpO2YuZG9uZShmPQp1
bmN0aW9uKGMpe0dhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGlzdFZpZXcuY29sbGVjdGlvbi5hZGQo
YyksYi51cGRhdGVQcm9ncmU9CnNzKCksYi5jaGFpbkNhbGxBZGRpbmdIZGFzKGEpfSkuZmFpbChm
dW5jdGlvbigpe2Iub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRybz0KbC5mYWlsZWRfbnVtYmVyKz0z
RDEsYi51cGRhdGVQcm9ncmVzcygpLGIuY2hhaW5DYWxsQWRkaW5nSGRhcyhhKX0pfSxjaGFpbkNh
PQpsbERlbGV0aW5nSXRlbXM6ZnVuY3Rpb24oYSl7dmFyIGI9M0R0aGlzO3RoaXMuZGVsZXRlZF9p
dGVtcz0zRG5ldyBkLkZvbGRlcjs9CnZhciBlPTNEYS5wb3AoKTtpZigidW5kZWZpbmVkIj0zRD0z
RHR5cGVvZiBlKXJldHVybiAwPTNEPTNEPTNEdGhpcy5vcHRpb25zLj0KY2hhaW5fY2FsbF9jb250
cm9sLmZhaWxlZF9udW1iZXI/Yy5zdWNjZXNzKCJTZWxlY3RlZCBpdGVtcyB3ZXJlIGRlbGV0ZWQu
Iik6PQp0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI9M0Q9M0Q9
M0R0aGlzLm9wdGlvbnMuY2hhaW5fY2E9CmxsX2NvbnRyb2wudG90YWxfbnVtYmVyP2MuZXJyb3Io
IlRoZXJlIHdhcyBhbiBlcnJvciBhbmQgbm8gaXRlbXMgd2VyZSBkZWxldD0KZWQuIFBsZWFzZSBt
YWtlIHN1cmUgeW91IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucy4iKTp0aGlzLm9wdGlvbnMu
Y2hhaW5fPQpjYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcjx0aGlzLm9wdGlvbnMuY2hhaW5fY2Fs
bF9jb250cm9sLnRvdGFsX251bWJlciYmYy49Cndhcm5pbmcoIlNvbWUgb2YgdGhlIGl0ZW1zIGNv
dWxkIG5vdCBiZSBkZWxldGVkLiBQbGVhc2UgbWFrZSBzdXJlIHlvdSBoYXZlID0Kc3VmZmljaWVu
dCBwZXJtaXNzaW9ucy4iKSxHYWxheHkubW9kYWwuaGlkZSgpLHRoaXMuZGVsZXRlZF9pdGVtczt2
YXIgZj0zRCQuPQp3aGVuKGUuZGVzdHJveSgpKTtmLmRvbmUoZnVuY3Rpb24oYyl7aWYoR2FsYXh5
LmxpYnJhcmllcy5mb2xkZXJMaXN0Vmlldy5jb2w9CmxlY3Rpb24ucmVtb3ZlKGUuaWQpLGIudXBk
YXRlUHJvZ3Jlc3MoKSxHYWxheHkubGlicmFyaWVzLmZvbGRlckxpc3RWaWV3Lm9wdD0KaW9ucy5p
bmNsdWRlX2RlbGV0ZWQpe3ZhciBmPTNEbnVsbDsiZm9sZGVyIj0zRD0zRD0zRGMudHlwZXx8Ikxp
YnJhcnlGb2xkZXIiPQo9M0Q9M0Q9M0RjLm1vZGVsX2NsYXNzP2Y9M0RuZXcgZC5Gb2xkZXJBc01v
ZGVsKGMpOiJmaWxlIj0zRD0zRD0zRGMudHlwZXx8Ikw9CmlicmFyeURhdGFzZXQiPTNEPTNEPTNE
Yy5tb2RlbF9jbGFzcz9mPTNEbmV3IGQuSXRlbShjKTooY29uc29sZS5lcnJvcigiVW5rbj0Kb3du
IGxpYnJhcnkgaXRlbSB0eXBlIGZvdW5kLiIpLGNvbnNvbGUuZXJyb3IoYy50eXBlfHxjLm1vZGVs
X2NsYXNzKSksR2FsYXh5PQoubGlicmFyaWVzLmZvbGRlckxpc3RWaWV3LmNvbGxlY3Rpb24uYWRk
KGYpfWIuY2hhaW5DYWxsRGVsZXRpbmdJdGVtcyhhKX0pLmY9CmFpbChmdW5jdGlvbigpe2Iub3B0
aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcis9M0QxLGIudXBkYXRlUHJvZz0K
cmVzcygpLGIuY2hhaW5DYWxsRGVsZXRpbmdJdGVtcyhhKX0pfSxjaGVja0luY2x1ZGVEZWxldGVk
OmZ1bmN0aW9uKGEpe0dhbGF4PQp5LmxpYnJhcmllcy5mb2xkZXJMaXN0Vmlldy5mZXRjaEZvbGRl
cihhLnRhcmdldC5jaGVja2VkP3tpbmNsdWRlX2RlbGV0ZWQ6ITA9Cn06e2luY2x1ZGVfZGVsZXRl
ZDohMX0pfSxkZWxldGVTZWxlY3RlZERhdGFzZXRzOmZ1bmN0aW9uKCl7dmFyIGE9M0QkKCIjZm9s
ZD0KZXJfdGFibGUiKS5maW5kKCI6Y2hlY2tlZCIpO2lmKDA9M0Q9M0Q9M0RhLmxlbmd0aCljLmlu
Zm8oIllvdSBtdXN0IHNlbGVjdCBhPQp0IGxlYXN0IG9uZSBkYXRhc2V0IGZvciBkZWxldGlvbi4i
KTtlbHNle3ZhciBiPTNEdGhpcy50ZW1wbGF0ZURlbGV0aW5nRGF0YXM9CmV0c1Byb2dyZXNzQmFy
KCk7dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZl
bnRzOj0KITAsdGl0bGU6IkRlbGV0aW5nIHNlbGVjdGVkIGRhdGFzZXRzIixib2R5OmIoe30pLGJ1
dHRvbnM6e0Nsb3NlOmZ1bmN0aW9uKCl7PQpHYWxheHkubW9kYWwuaGlkZSgpfX19KSx0aGlzLm9w
dGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlcj0zRDAsdGg9CmlzLm9wdGlvbnMu
Y2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI9M0QwO3ZhciBlPTNEW10sZj0zRFtdO2Eu
ZWFjaChmdT0KbmN0aW9uKCl7IiIhPTNEPTNEdGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1l
bnQuaWQmJigiRiI9M0Q9M0R0aGlzLnBhcmVuPQp0RWxlbWVudC5wYXJlbnRFbGVtZW50LmlkLnN1
YnN0cmluZygwLDEpP2YucHVzaCh0aGlzLnBhcmVudEVsZW1lbnQucGFyZW50RWw9CmVtZW50Lmlk
KTplLnB1c2godGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQpKX0pO3ZhciBnPTNE
ZS5sZW5ndGgrZj0KLmxlbmd0aDt0aGlzLnByb2dyZXNzU3RlcD0zRDEwMC9nLHRoaXMucHJvZ3Jl
c3M9M0QwO2Zvcih2YXIgaD0zRFtdLGk9M0RlLmxlPQpuZ3RoLTE7aT49M0QwO2ktLSl7dmFyIGo9
M0RuZXcgZC5JdGVtKHtpZDplW2ldfSk7aC5wdXNoKGopfWZvcih2YXIgaT0zRGYubGU9Cm5ndGgt
MTtpPj0zRDA7aS0tKXt2YXIgaz0zRG5ldyBkLkZvbGRlckFzTW9kZWwoe2lkOmZbaV19KTtoLnB1
c2goayl9dGhpcy5vcD0KdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlcj0zRGcu
bGVuZ3RoLHRoaXMuY2hhaW5DYWxsRGVsZXRpbmdJdGVtPQpzKGgpfX0sc2hvd0xpYkluZm86ZnVu
Y3Rpb24oKXt2YXIgYT0zREdhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGlzdFZpZXcuZm9sZGU9CnJD
b250YWluZXIuYXR0cmlidXRlcy5tZXRhZGF0YS5wYXJlbnRfbGlicmFyeV9pZCxiPTNEbnVsbCxl
PTNEdGhpcztudWxsIT0zRD0KPTNER2FsYXh5LmxpYnJhcmllcy5saWJyYXJ5TGlzdFZpZXc/KGI9
M0RHYWxheHkubGlicmFyaWVzLmxpYnJhcnlMaXN0Vmlldy5jPQpvbGxlY3Rpb24uZ2V0KGEpLHRo
aXMuc2hvd0xpYkluZm9Nb2RhbChiKSk6KGI9M0RuZXcgZC5MaWJyYXJ5KHtpZDphfSksYi5mZXQ9
CmNoKHtzdWNjZXNzOmZ1bmN0aW9uKCl7ZS5zaG93TGliSW5mb01vZGFsKGIpfSxlcnJvcjpmdW5j
dGlvbihhLGIpe2MuZXJyb3IoIj0KdW5kZWZpbmVkIiE9M0R0eXBlb2YgYi5yZXNwb25zZUpTT04/
Yi5yZXNwb25zZUpTT04uZXJyX21zZzoiQW4gZXJyb3Igb2N1cnJlPQpkLiIpfX0pKX0sc2hvd0xp
YkluZm9Nb2RhbDpmdW5jdGlvbihhKXt2YXIgYj0zRHRoaXMudGVtcGxhdGVMaWJJbmZvSW5Nb2Rh
bCg9Cik7dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3Npbmdf
ZXZlbnRzOiEwLHRpdGxlOiJMaWJyYT0KcnkgSW5mb3JtYXRpb24iLGJvZHk6Yih7bGlicmFyeTph
fSksYnV0dG9uczp7Q2xvc2U6ZnVuY3Rpb24oKXtHYWxheHkubW9kYWwuPQpoaWRlKCl9fX0pfSxz
aG93SW1wb3J0TW9kYWw6ZnVuY3Rpb24oYSl7c3dpdGNoKGEuc291cmNlKXtjYXNlImhpc3Rvcnki
OnRoaXM9Ci5hZGRGaWxlc0Zyb21IaXN0b3J5TW9kYWwoKTticmVhaztjYXNlImltcG9ydGRpciI6
dGhpcy5pbXBvcnRGaWxlc0Zyb21HYWxheD0KeUZvbGRlck1vZGFsKHtzb3VyY2U6ImltcG9ydGRp
ciJ9KTticmVhaztjYXNlInBhdGgiOnRoaXMuaW1wb3J0RmlsZXNGcm9tUGF0PQpoTW9kYWwoKTti
cmVhaztjYXNlInVzZXJkaXIiOnRoaXMuaW1wb3J0RmlsZXNGcm9tR2FsYXh5Rm9sZGVyTW9kYWwo
e3NvdXJjZTo9CiJ1c2VyZGlyIn0pO2JyZWFrO2RlZmF1bHQ6R2FsYXh5LmxpYnJhcmllcy5saWJy
YXJ5X3JvdXRlci5iYWNrKCksYy5lcnJvcigiST0KbnZhbGlkIGltcG9ydCBzb3VyY2UuIil9fSxz
aG93UGFnZVNpemVQcm9tcHQ6ZnVuY3Rpb24oKXt2YXIgYT0zRHByb21wdCgiSG93PQogbWFueSBp
dGVtcyBwZXIgcGFnZSBkbyB5b3Ugd2FudCB0byBzZWU/IixHYWxheHkubGlicmFyaWVzLnByZWZl
cmVuY2VzLmdldCg9CiJmb2xkZXJfcGFnZV9zaXplIikpO251bGwhPTNEYSYmYT0zRD0zRHBhcnNl
SW50KGEpJiYoR2FsYXh5LmxpYnJhcmllcy5wcmVmZT0KcmVuY2VzLnNldCh7Zm9sZGVyX3BhZ2Vf
c2l6ZTpwYXJzZUludChhKX0pLEdhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGlzdFZpZXcuPQpyZW5k
ZXIoe2lkOnRoaXMub3B0aW9ucy5pZCxzaG93X3BhZ2U6MX0pKX0sdGVtcGxhdGVUb29sQmFyOmZ1
bmN0aW9uKCl7cmV0dXI9Cm4gdG1wbF9hcnJheT0zRFtdLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBj
bGFzcz0zRCJsaWJyYXJ5X3N0eWxlX2NvbnRhaW5lciI+Jz0KKSx0bXBsX2FycmF5LnB1c2goJyA8
ZGl2IGlkPTNEImxpYnJhcnlfdG9vbGJhciI+JyksdG1wbF9hcnJheS5wdXNoKCc8Zm9ybSBjPQps
YXNzPTNEImZvcm0taW5saW5lIiByb2xlPTNEImZvcm0iPicpLHRtcGxfYXJyYXkucHVzaCgiICAg
PHNwYW4+PHN0cm9uZz5EQVQ9CkEgTElCUkFSSUVTPC9zdHJvbmc+PC9zcGFuPiIpLHRtcGxfYXJy
YXkucHVzaCgnICAgICAgICAgIDxzcGFuIGlkPTNEImZvbGRlcj0KX3BhZ2luYXRvciIgY2xhc3M9
M0QibGlicmFyeS1wYWdpbmF0b3IiPicpLHRtcGxfYXJyYXkucHVzaCgiICAgICAgICAgIDwvc3Bh
PQpuPiIpLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBjbGFzcz0zRCJjaGVja2JveCB0b29sYmFyLWl0
ZW0gbG9nZ2VkLWRhdGFzZXQtbWE9Cm5pcHVsYXRpb24iIHN0eWxlPTNEImhlaWdodDogMjBweDsg
ZGlzcGxheTpub25lOyI+JyksdG1wbF9hcnJheS5wdXNoKCI8bGFiZT0KbD4iKSx0bXBsX2FycmF5
LnB1c2goJzxpbnB1dCBpZD0zRCJpbmNsdWRlX2RlbGV0ZWRfZGF0YXNldHNfY2hrIiB0eXBlPTNE
ImNoPQplY2tib3giPiBpbmNsdWRlIGRlbGV0ZWQgPC9pbnB1dD4nKSx0bXBsX2FycmF5LnB1c2go
IjwvbGFiZWw+IiksdG1wbF9hcnJheS49CnB1c2goIjwvZGl2PiIpLHRtcGxfYXJyYXkucHVzaCgn
ICAgPGJ1dHRvbiBzdHlsZT0zRCJkaXNwbGF5Om5vbmU7IiBkYXRhLXRvZz0KZ2xlPTNEInRvb2x0
aXAiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiQ3JlYXRlIE5ldyBGb2xkZXIiIGlk
PTNEInRvPQpvbGJ0bl9jcmVhdGVfZm9sZGVyIiBjbGFzcz0zRCJidG4gYnRuLWRlZmF1bHQgcHJp
bWFyeS1idXR0b24gYWRkLWxpYnJhcnktaXQ9CmVtcyIgdHlwZT0zRCJidXR0b24iPjxzcGFuIGNs
YXNzPTNEImZhIGZhLXBsdXMiPjwvc3Bhbj48c3BhbiBjbGFzcz0zRCJmYSBmYT0KLWZvbGRlciI+
PC9zcGFuPjwvYnV0dG9uPicpLHRtcGxfYXJyYXkucHVzaCgiPCUgaWYobXV0aXBsZV9hZGRfZGF0
YXNldF9vcHRpPQpvbnMpIHsgJT4iKSx0bXBsX2FycmF5LnB1c2goJyAgIDxkaXYgY2xhc3M9M0Qi
YnRuLWdyb3VwIGFkZC1saWJyYXJ5LWl0ZW1zIiA9CnN0eWxlPTNEImRpc3BsYXk6bm9uZTsiPicp
LHRtcGxfYXJyYXkucHVzaCgnICAgICA8YnV0dG9uIHRpdGxlPTNEIkFkZCBEYXRhcz0KZXRzIHRv
IEN1cnJlbnQgRm9sZGVyIiBpZD0zRCIiIHR5cGU9M0QiYnV0dG9uIiBjbGFzcz0zRCJwcmltYXJ5
LWJ1dHRvbiBkcm9wPQpkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9M0QiZHJvcGRvd24iPicpLHRt
cGxfYXJyYXkucHVzaCgnICAgICA8c3BhbiBjbGFzcz0KPTNEImZhIGZhLXBsdXMiPjwvc3Bhbj48
c3BhbiBjbGFzcz0zRCJmYSBmYS1maWxlIj48L3NwYW4+PHNwYW4gY2xhc3M9M0QiY2FyPQpldCI+
PC9zcGFuPicpLHRtcGxfYXJyYXkucHVzaCgiICAgICA8L2J1dHRvbj4iKSx0bXBsX2FycmF5LnB1
c2goJyAgICAgPHVsIGM9Cmxhc3M9M0QiZHJvcGRvd24tbWVudSIgcm9sZT0zRCJtZW51Ij4nKSx0
bXBsX2FycmF5LnB1c2goJyAgICAgICAgPGxpPjxhIGhyZT0KZj0zRCIjZm9sZGVycy88JT0zRCBp
ZCAlPi9pbXBvcnQvaGlzdG9yeSI+IGZyb20gSGlzdG9yeTwvYT48L2xpPicpLHRtcGxfYXJyPQph
eS5wdXNoKCI8JSBpZihHYWxheHkuY29uZmlnLnVzZXJfbGlicmFyeV9pbXBvcnRfZGlyICE9M0Q9
M0QgbnVsbCkgeyAlPiIpLHQ9Cm1wbF9hcnJheS5wdXNoKCcgICAgICAgIDxsaT48YSBocmVmPTNE
IiNmb2xkZXJzLzwlPTNEIGlkICU+L2ltcG9ydC91c2VyZGlyIj0KPiBmcm9tIFVzZXIgRGlyZWN0
b3J5PC9hPjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCI8JSB9ICU+IiksdG1wbF9hcnJheS5wdXNo
PQooIjwlIGlmKEdhbGF4eS5jb25maWcuYWxsb3dfbGlicmFyeV9wYXRoX3Bhc3RlKSB7ICU+Iiks
dG1wbF9hcnJheS5wdXNoKCcgICA9CjxsaSBjbGFzcz0zRCJkaXZpZGVyIj48L2xpPicpLHRtcGxf
YXJyYXkucHVzaCgnICAgPGxpIGNsYXNzPTNEImRyb3Bkb3duLWhlYT0KZGVyIj5BZG1pbnMgb25s
eTwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCI8JSBpZihHYWxheHkuY29uZmlnLmxpYnJhcnlfaW1w
b3J0PQpfZGlyICE9M0Q9M0QgbnVsbCkgeyAlPiIpLHRtcGxfYXJyYXkucHVzaCgnICAgPGxpPjxh
IGhyZWY9M0QiI2ZvbGRlcnMvPCU9M0Q9CiBpZCAlPi9pbXBvcnQvaW1wb3J0ZGlyIj5mcm9tIElt
cG9ydCBEaXJlY3Rvcnk8L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2goIj0KPCUgfSAlPiIpLHRt
cGxfYXJyYXkucHVzaCgiPCUgaWYoR2FsYXh5LmNvbmZpZy5hbGxvd19saWJyYXJ5X3BhdGhfcGFz
dGUpIHsgPQolPiIpLHRtcGxfYXJyYXkucHVzaCgnICAgICAgICA8bGk+PGEgaHJlZj0zRCIjZm9s
ZGVycy88JT0zRCBpZCAlPi9pbXBvcnQvcGE9CnRoIj5mcm9tIFBhdGg8L2E+PC9saT4nKSx0bXBs
X2FycmF5LnB1c2goIjwlIH0gJT4iKSx0bXBsX2FycmF5LnB1c2goIjwlIH0gJT0KPiIpLHRtcGxf
YXJyYXkucHVzaCgiICAgICA8L3VsPiIpLHRtcGxfYXJyYXkucHVzaCgiICAgPC9kaXY+IiksdG1w
bF9hcnJheS5wPQp1c2goIjwlIH0gZWxzZSB7ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgPGEgIGRh
dGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0Q9CiJBZGQgRGF0YXNldHMgdG8gQ3VycmVudCBG
b2xkZXIiIHN0eWxlPTNEImRpc3BsYXk6bm9uZTsiIGNsYXNzPTNEImJ0biBidG4tZD0KZWZhdWx0
IGFkZC1saWJyYXJ5LWl0ZW1zIiBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L2ltcG9ydC9o
aXN0b3J5IiByb2xlPQo9M0QiYnV0dG9uIj48c3BhbiBjbGFzcz0zRCJmYSBmYS1wbHVzIj48L3Nw
YW4+PHNwYW4gY2xhc3M9M0QiZmEgZmEtZmlsZSI+PC89CnNwYW4+PC9zcGFuPjwvYT4nKSx0bXBs
X2FycmF5LnB1c2goIjwlIH0gJT4iKSx0bXBsX2FycmF5LnB1c2goJyAgPGJ1dHRvbiBkYT0KdGEt
dG9nZ2xlPTNEInRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiSW1wb3J0
IHNlbGVjdGVkIGRhdGFzPQpldHMgaW50byBoaXN0b3J5IiBpZD0zRCJ0b29sYnRuX2J1bGtfaW1w
b3J0IiBjbGFzcz0zRCJwcmltYXJ5LWJ1dHRvbiBkYXRhc2U9CnQtbWFuaXB1bGF0aW9uIiBzdHls
ZT0zRCJtYXJnaW4tbGVmdDogMC41ZW07IGRpc3BsYXk6bm9uZTsiIHR5cGU9M0QiYnV0dG9uIj0K
PjxzcGFuIGNsYXNzPTNEImZhIGZhLWJvb2siPjwvc3Bhbj4gdG8gSGlzdG9yeTwvYnV0dG9uPicp
LHRtcGxfYXJyYXkucHVzaCgnPQogICA8ZGl2IGlkPTNEInRvb2xidG5fZGwiIGNsYXNzPTNEImJ0
bi1ncm91cCBkYXRhc2V0LW1hbmlwdWxhdGlvbiIgc3R5bGU9M0Q9CiJtYXJnaW4tbGVmdDogMC41
ZW07IGRpc3BsYXk6bm9uZTsgIj4nKSx0bXBsX2FycmF5LnB1c2goJyAgICAgPGJ1dHRvbiB0aXRs
ZT0KPTNEIkRvd25sb2FkIHNlbGVjdGVkIGRhdGFzZXRzIGFzIGFyY2hpdmUiIGlkPTNEImRyb3Bf
dG9nZ2xlIiB0eXBlPTNEImJ1dHRvPQpuIiBjbGFzcz0zRCJwcmltYXJ5LWJ1dHRvbiBkcm9wZG93
bi10b2dnbGUiIGRhdGEtdG9nZ2xlPTNEImRyb3Bkb3duIj4nKSx0bXA9CmxfYXJyYXkucHVzaCgn
ICAgICA8c3BhbiBjbGFzcz0zRCJmYSBmYS1kb3dubG9hZCI+PC9zcGFuPiBEb3dubG9hZCA8c3Bh
biBjbD0KYXNzPTNEImNhcmV0Ij48L3NwYW4+JyksdG1wbF9hcnJheS5wdXNoKCIgICAgIDwvYnV0
dG9uPiIpLHRtcGxfYXJyYXkucHVzaCgnPQogICAgIDx1bCBjbGFzcz0zRCJkcm9wZG93bi1tZW51
IiByb2xlPTNEIm1lbnUiPicpLHRtcGxfYXJyYXkucHVzaCgnICAgICAgICA9CjxsaT48YSBocmVm
PTNEIiMvZm9sZGVycy88JT0zRCBpZCAlPi9kb3dubG9hZC90Z3oiPi50YXIuZ3o8L2E+PC9saT4n
KSx0bXBsXz0KYXJyYXkucHVzaCgnICAgICAgICA8bGk+PGEgaHJlZj0zRCIjL2ZvbGRlcnMvPCU9
M0QgaWQgJT4vZG93bmxvYWQvdGJ6Ij4udGFyPQouYno8L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1
c2goJyAgICAgICAgPGxpPjxhIGhyZWY9M0QiIy9mb2xkZXJzLzwlPTNEIGlkICU9Cj4vZG93bmxv
YWQvemlwIj4uemlwPC9hPjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCIgICAgIDwvdWw+IiksdG1w
bF9hcnJheS5wdT0Kc2goIiAgIDwvZGl2PiIpLHRtcGxfYXJyYXkucHVzaCgnICAgPGJ1dHRvbiBk
YXRhLXRvZ2dsZT0zRCJ0b29sdGlwIiBkYXRhLXBsPQphY2VtZW50PTNEInRvcCIgdGl0bGU9M0Qi
TWFyayBzZWxlY3RlZCBkYXRhc2V0cyBkZWxldGVkIiBpZD0zRCJ0b29sYnRuX2J1bGs9Cl9kZWxl
dGUiIGNsYXNzPTNEInByaW1hcnktYnV0dG9uIGxvZ2dlZC1kYXRhc2V0LW1hbmlwdWxhdGlvbiIg
c3R5bGU9M0QibWFyZz0KaW4tbGVmdDogMC41ZW07IGRpc3BsYXk6bm9uZTsgIiB0eXBlPTNEImJ1
dHRvbiI+PHNwYW4gY2xhc3M9M0QiZmEgZmEtdGltZXMiPQo+PC9zcGFuPiBEZWxldGU8L2J1dHRv
bj4nKSx0bXBsX2FycmF5LnB1c2goJyAgIDxidXR0b24gZGF0YS1pZD0zRCI8JS0gaWQgJT49CiIg
ZGF0YS10b2dnbGU9M0QidG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9M0QidG9wIiB0aXRsZT0zRCJT
aG93IGxpYnJhcnkgaW5mbz0Kcm1hdGlvbiIgaWQ9M0QidG9vbGJ0bl9zaG93X2xpYmluZm8iIGNs
YXNzPTNEInByaW1hcnktYnV0dG9uIiBzdHlsZT0zRCJtYXJnPQppbi1sZWZ0OiAwLjVlbTsiIHR5
cGU9M0QiYnV0dG9uIj48c3BhbiBjbGFzcz0zRCJmYSBmYS1pbmZvLWNpcmNsZSI+PC9zcGFuPiA9
CkxpYnJhcnkgSW5mbzwvYnV0dG9uPicpLHRtcGxfYXJyYXkucHVzaCgnICAgPHNwYW4gY2xhc3M9
M0QiaGVscC1idXR0b24iIGRhdD0KYS10b2dnbGU9M0QidG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9
M0QidG9wIiB0aXRsZT0zRCJWaXNpdCBMaWJyYXJpZXMgV2lraSI+PQo8YSBocmVmPTNEImh0dHBz
Oi8vd2lraS5nYWxheHlwcm9qZWN0Lm9yZy9EYXRhTGlicmFyaWVzL3NjcmVlbi9Gb2xkZXJDb250
ZW49CnRzIiB0YXJnZXQ9M0QiX2JsYW5rIj48YnV0dG9uIGNsYXNzPTNEInByaW1hcnktYnV0dG9u
IiB0eXBlPTNEImJ1dHRvbiI+PHNwYT0KbiBjbGFzcz0zRCJmYSBmYS1xdWVzdGlvbi1jaXJjbGUi
Pjwvc3Bhbj4gSGVscDwvYnV0dG9uPjwvYT48L3NwYW4+JyksdG1wbF9hPQpycmF5LnB1c2goIiA8
L2Rpdj4iKSx0bXBsX2FycmF5LnB1c2goIjwvZm9ybT4iKSx0bXBsX2FycmF5LnB1c2goJyA8ZGl2
IGlkPQo9M0QiZm9sZGVyX2l0ZW1zX2VsZW1lbnQiPicpLHRtcGxfYXJyYXkucHVzaCgiIDwvZGl2
PiIpLHRtcGxfYXJyYXkucHVzaCgiPC89CmRpdj4iKSxfLnRlbXBsYXRlKHRtcGxfYXJyYXkuam9p
bigiIikpfSx0ZW1wbGF0ZUxpYkluZm9Jbk1vZGFsOmZ1bmN0aW9uKCl7cj0KZXR1cm4gdG1wbF9h
cnJheT0zRFtdLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBpZD0zRCJsaWZfaW5mb19tb2RhbCI+Jyks
dG1wbF9hPQpycmF5LnB1c2goIjxoMj5MaWJyYXJ5IG5hbWU6PC9oMj4iKSx0bXBsX2FycmF5LnB1
c2goJzxwPjwlLSBsaWJyYXJ5LmdldCgibmE9Cm1lIikgJT48L3A+JyksdG1wbF9hcnJheS5wdXNo
KCI8aDM+TGlicmFyeSBkZXNjcmlwdGlvbjo8L2gzPiIpLHRtcGxfYXJyYXkucD0KdXNoKCc8cD48
JS0gbGlicmFyeS5nZXQoImRlc2NyaXB0aW9uIikgJT48L3A+JyksdG1wbF9hcnJheS5wdXNoKCI8
aDM+TGlicmFyPQp5IHN5bm9wc2lzOjwvaDM+IiksdG1wbF9hcnJheS5wdXNoKCc8cD48JS0gbGli
cmFyeS5nZXQoInN5bm9wc2lzIikgJT48L3A+Jyk9Cix0bXBsX2FycmF5LnB1c2goJzxwIGRhdGEt
dG9nZ2xlPTNEInRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9Cj0zRCI8JS0g
bGlicmFyeS5nZXQoImNyZWF0ZV90aW1lIikgJT4iPmNyZWF0ZWQgPCUtIGxpYnJhcnkuZ2V0KCJj
cmVhdGVfdGltZT0KX3ByZXR0eSIpICU+PC9wPicpLHRtcGxfYXJyYXkucHVzaCgiPC9kaXY+Iiks
Xy50ZW1wbGF0ZSh0bXBsX2FycmF5LmpvaW4oIiIpPQopfSx0ZW1wbGF0ZU5ld0ZvbGRlckluTW9k
YWw6ZnVuY3Rpb24oKXtyZXR1cm4gdG1wbF9hcnJheT0zRFtdLHRtcGxfYXJyYXkucHU9CnNoKCc8
ZGl2IGlkPTNEIm5ld19mb2xkZXJfbW9kYWwiPicpLHRtcGxfYXJyYXkucHVzaCgiPGZvcm0+Iiks
dG1wbF9hcnJheS5wdT0Kc2goJzxpbnB1dCB0eXBlPTNEInRleHQiIG5hbWU9M0QiTmFtZSIgdmFs
dWU9M0QiIiBwbGFjZWhvbGRlcj0zRCJOYW1lIj4nKSx0PQptcGxfYXJyYXkucHVzaCgnPGlucHV0
IHR5cGU9M0QidGV4dCIgbmFtZT0zRCJEZXNjcmlwdGlvbiIgdmFsdWU9M0QiIiBwbGFjZWg9Cm9s
ZGVyPTNEIkRlc2NyaXB0aW9uIj4nKSx0bXBsX2FycmF5LnB1c2goIjwvZm9ybT4iKSx0bXBsX2Fy
cmF5LnB1c2goIjwvZGl2Pj0KIiksXy50ZW1wbGF0ZSh0bXBsX2FycmF5LmpvaW4oIiIpKX0sdGVt
cGxhdGVCdWxrSW1wb3J0SW5Nb2RhbDpmdW5jdGlvbigpe3ZhPQpyIGE9M0RbXTtyZXR1cm4gYS5w
dXNoKCc8c3BhbiBpZD0zRCJoaXN0b3J5X21vZGFsX2NvbWJvX2J1bGsiIHN0eWxlPTNEIndpZHQ9
Cmg6OTAlOyBtYXJnaW4tbGVmdDogMWVtOyBtYXJnaW4tcmlnaHQ6IDFlbTsgIj4nKSxhLnB1c2go
IlNlbGVjdCBoaXN0b3J5OiAiKT0KLGEucHVzaCgnPHNlbGVjdCBpZD0zRCJkYXRhc2V0X2ltcG9y
dF9idWxrIiBuYW1lPTNEImRhdGFzZXRfaW1wb3J0X2J1bGsiIHN0PQp5bGU9M0Qid2lkdGg6NTAl
OyBtYXJnaW4tYm90dG9tOiAxZW07ICI+ICcpLGEucHVzaCgiICAgPCUgXy5lYWNoKGhpc3Rvcmll
cyw9CiBmdW5jdGlvbihoaXN0b3J5KSB7ICU+IiksYS5wdXNoKCcgICAgICAgPG9wdGlvbiB2YWx1
ZT0zRCI8JT0zRCBfLmVzY2FwZShoaT0Kc3RvcnkuZ2V0KCJpZCIpKSAlPiI+PCU9M0QgXy5lc2Nh
cGUoaGlzdG9yeS5nZXQoIm5hbWUiKSkgJT48L29wdGlvbj4nKSxhLnB1PQpzaCgiICAgPCUgfSk7
ICU+IiksYS5wdXNoKCI8L3NlbGVjdD4iKSxhLnB1c2goIjwvc3Bhbj4iKSxfLnRlbXBsYXRlKGEu
am9pbig9CiIiKSl9LHRlbXBsYXRlSW1wb3J0SW50b0hpc3RvcnlQcm9ncmVzc0JhcjpmdW5jdGlv
bigpe3ZhciBhPTNEW107cmV0dXJuIGEucD0KdXNoKCc8ZGl2IGNsYXNzPTNEImltcG9ydF90ZXh0
Ij4nKSxhLnB1c2goIkltcG9ydGluZyBzZWxlY3RlZCBkYXRhc2V0cyB0byBoPQppc3RvcnkgPGI+
PCU9M0QgXy5lc2NhcGUoaGlzdG9yeV9uYW1lKSAlPjwvYj4iKSxhLnB1c2goIjwvZGl2PiIpLGEu
cHVzaCgnPGQ9Cml2IGNsYXNzPTNEInByb2dyZXNzIj4nKSxhLnB1c2goJyAgIDxkaXYgY2xhc3M9
M0QicHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhcj0KLWltcG9ydCIgcm9sZT0zRCJwcm9ncmVzc2Jh
ciIgYXJpYS12YWx1ZW5vdz0zRCIwIiBhcmlhLXZhbHVlbWluPTNEIjAiIGFyaWEtPQp2YWx1ZW1h
eD0zRCIxMDAiIHN0eWxlPTNEIndpZHRoOiAwMCU7Ij4nKSxhLnB1c2goJyAgICAgICA8c3BhbiBj
bGFzcz0zRCJjb209CnBsZXRpb25fc3BhbiI+MCUgQ29tcGxldGU8L3NwYW4+JyksYS5wdXNoKCIg
ICA8L2Rpdj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucD0KdXNoKCIiKSxfLnRlbXBsYXRlKGEuam9p
bigiIikpfSx0ZW1wbGF0ZUFkZGluZ0RhdGFzZXRzUHJvZ3Jlc3NCYXI6ZnVuY3Rpb24oPQope3Zh
ciBhPTNEW107cmV0dXJuIGEucHVzaCgnPGRpdiBjbGFzcz0zRCJpbXBvcnRfdGV4dCI+JyksYS5w
dXNoKCJBZGRpbmcgc2U9CmxlY3RlZCBkYXRhc2V0cyB0byBsaWJyYXJ5IGZvbGRlciA8Yj48JT0z
RCBfLmVzY2FwZShmb2xkZXJfbmFtZSkgJT48L2I+IiksYT0KLnB1c2goIjwvZGl2PiIpLGEucHVz
aCgnPGRpdiBjbGFzcz0zRCJwcm9ncmVzcyI+JyksYS5wdXNoKCcgICA8ZGl2IGNsYXNzPTNEPQoi
cHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1pbXBvcnQiIHJvbGU9M0QicHJvZ3Jlc3NiYXIiIGFy
aWEtdmFsdWVub3c9M0QiMCI9CiBhcmlhLXZhbHVlbWluPTNEIjAiIGFyaWEtdmFsdWVtYXg9M0Qi
MTAwIiBzdHlsZT0zRCJ3aWR0aDogMDAlOyI+JyksYS5wdXNoKD0KJyAgICAgICA8c3BhbiBjbGFz
cz0zRCJjb21wbGV0aW9uX3NwYW4iPjAlIENvbXBsZXRlPC9zcGFuPicpLGEucHVzaCgiICAgPC9k
PQppdj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgiIiksXy50ZW1wbGF0ZShhLmpvaW4oIiIp
KX0sdGVtcGxhdGVEZWxldGluZ0Q9CmF0YXNldHNQcm9ncmVzc0JhcjpmdW5jdGlvbigpe3ZhciBh
PTNEW107cmV0dXJuIGEucHVzaCgnPGRpdiBjbGFzcz0zRCJpbXBvcj0KdF90ZXh0Ij4nKSxhLnB1
c2goIjwvZGl2PiIpLGEucHVzaCgnPGRpdiBjbGFzcz0zRCJwcm9ncmVzcyI+JyksYS5wdXNoKCcg
ICA8PQpkaXYgY2xhc3M9M0QicHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1pbXBvcnQiIHJvbGU9
M0QicHJvZ3Jlc3NiYXIiIGFyaWEtdmE9Cmx1ZW5vdz0zRCIwIiBhcmlhLXZhbHVlbWluPTNEIjAi
IGFyaWEtdmFsdWVtYXg9M0QiMTAwIiBzdHlsZT0zRCJ3aWR0aDogMDAlOz0KIj4nKSxhLnB1c2go
JyAgICAgICA8c3BhbiBjbGFzcz0zRCJjb21wbGV0aW9uX3NwYW4iPjAlIENvbXBsZXRlPC9zcGFu
PicpLGEuPQpwdXNoKCIgICA8L2Rpdj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgiIiksXy50
ZW1wbGF0ZShhLmpvaW4oIiIpKX0sdGVtcGw9CmF0ZUJyb3dzZXJNb2RhbDpmdW5jdGlvbigpe3Zh
ciBhPTNEW107cmV0dXJuIGEucHVzaCgnPGRpdiBpZD0zRCJmaWxlX2Jyb3dzZT0Kcl9tb2RhbCI+
JyksYS5wdXNoKCc8ZGl2IGNsYXNzPTNEImFsZXJ0IGFsZXJ0LWluZm8ganN0cmVlLWZpbGVzLW1l
c3NhZ2UiPkFsPQpsIGZpbGVzIHlvdSBzZWxlY3Qgd2lsbCBiZSBpbXBvcnRlZCBpbnRvIHRoZSBj
dXJyZW50IGZvbGRlci48L2Rpdj4nKSxhLnB1c2g9CignPGRpdiBjbGFzcz0zRCJhbGVydCBhbGVy
dC1pbmZvIGpzdHJlZS1mb2xkZXJzLW1lc3NhZ2UiIHN0eWxlPTNEImRpc3BsYXk6bj0Kb25lOyI+
QWxsIGZpbGVzIHdpdGhpbiB0aGUgc2VsZWN0ZWQgZm9sZGVycyBhbmQgdGhlaXIgc3ViZm9sZGVy
cyB3aWxsIGJlIGltPQpwb3J0ZWQgaW50byB0aGUgY3VycmVudCBmb2xkZXIuPC9kaXY+JyksYS5w
dXNoKCc8ZGl2IHN0eWxlPTNEIm1hcmdpbi1ib3R0b209CjoxZW07Ij4nKSxhLnB1c2goJzxsYWJl
bCBjbGFzcz0zRCJyYWRpby1pbmxpbmUiPicpLGEucHVzaCgnICA8aW5wdXQgdGl0bGU9Cj0zRCJT
d2l0Y2ggdG8gc2VsZWN0aW5nIGZpbGVzIiB0eXBlPTNEInJhZGlvIiBuYW1lPTNEImpzdHJlZS1y
YWRpbyIgdmFsdWU9Cj0zRCJqc3RyZWUtZGlzYWJsZS1mb2xkZXJzIiBjaGVja2VkPTNEImNoZWNr
ZWQiPiBGaWxlcycpLGEucHVzaCgiPC9sYWJlbD4iKT0KLGEucHVzaCgnPGxhYmVsIGNsYXNzPTNE
InJhZGlvLWlubGluZSI+JyksYS5wdXNoKCcgIDxpbnB1dCB0aXRsZT0zRCJTd2l0Y2ggPQp0byBz
ZWxlY3RpbmcgZm9sZGVycyIgdHlwZT0zRCJyYWRpbyIgbmFtZT0zRCJqc3RyZWUtcmFkaW8iIHZh
bHVlPTNEImpzdHJlZS09CmRpc2FibGUtZmlsZXMiPiBGb2xkZXJzJyksYS5wdXNoKCI8L2xhYmVs
PiIpLGEucHVzaCgiPC9kaXY+IiksYS5wdXNoKCc8ZGl2ID0Kc3R5bGU9M0QibWFyZ2luLWJvdHRv
bToxZW07Ij4nKSxhLnB1c2goJzxsYWJlbCBjbGFzcz0zRCJjaGVja2JveC1pbmxpbmUganN0PQpy
ZWUtcHJlc2VydmUtc3RydWN0dXJlIiBzdHlsZT0zRCJkaXNwbGF5Om5vbmU7Ij4nKSxhLnB1c2go
JyAgIDxpbnB1dCBjbGFzcz0KPTNEInByZXNlcnZlLWNoZWNrYm94IiB0eXBlPTNEImNoZWNrYm94
IiB2YWx1ZT0zRCJwcmVzZXJ2ZV9kaXJlY3Rvcnlfc3RydWN0PQp1cmUiPicpLGEucHVzaCgiUHJl
c2VydmUgZGlyZWN0b3J5IHN0cnVjdHVyZSIpLGEucHVzaCgiIDwvbGFiZWw+IiksYS5wdXNoKCc9
CjxsYWJlbCBjbGFzcz0zRCJjaGVja2JveC1pbmxpbmUganN0cmVlLWxpbmstZmlsZXMiIHN0eWxl
PTNEImRpc3BsYXk6bm9uZTsiPj0KJyksYS5wdXNoKCcgICA8aW5wdXQgY2xhc3M9M0QibGluay1j
aGVja2JveCIgdHlwZT0zRCJjaGVja2JveCIgdmFsdWU9M0QibGluPQprX2ZpbGVzIj4nKSxhLnB1
c2goIkxpbmsgZmlsZXMgaW5zdGVhZCBvZiBjb3B5aW5nIiksYS5wdXNoKCIgPC9sYWJlbD4iKSxh
LnA9CnVzaCgiPC9kaXY+IiksYS5wdXNoKCc8ZGl2IGlkPTNEImpzdHJlZV9icm93c2VyIj4nKSxh
LnB1c2goIjwvZGl2PiIpLGEucHVzaD0KKCI8aHIgLz4iKSxhLnB1c2goIjxwPllvdSBjYW4gc2V0
IGV4dGVuc2lvbiB0eXBlIGFuZCBnZW5vbWUgZm9yIGFsbCBpbXBvcnRlPQpkIGRhdGFzZXRzIGF0
IG9uY2U6PC9wPiIpLGEucHVzaCgiPGRpdj4iKSxhLnB1c2goJ1R5cGU6IDxzcGFuIGlkPTNEImxp
YnJhcnk9Cl9leHRlbnNpb25fc2VsZWN0IiBjbGFzcz0zRCJsaWJyYXJ5LWV4dGVuc2lvbi1zZWxl
Y3QiIC8+JyksYS5wdXNoKCcgIEdlbm9tZT0KOiA8c3BhbiBpZD0zRCJsaWJyYXJ5X2dlbm9tZV9z
ZWxlY3QiIGNsYXNzPTNEImxpYnJhcnktZ2Vub21lLXNlbGVjdCIgLz4nKSxhPQoucHVzaCgiPC9k
aXY+IiksYS5wdXNoKCI8L2Rpdj4iKSxfLnRlbXBsYXRlKGEuam9pbigiIikpfSx0ZW1wbGF0ZUlt
cG9ydFBhdGg9Ck1vZGFsOmZ1bmN0aW9uKCl7dmFyIGE9M0RbXTtyZXR1cm4gYS5wdXNoKCc8ZGl2
IGlkPTNEImZpbGVfYnJvd3Nlcl9tb2RhbCI+Jz0KKSxhLnB1c2goJzxkaXYgY2xhc3M9M0QiYWxl
cnQgYWxlcnQtaW5mbyBqc3RyZWUtZm9sZGVycy1tZXNzYWdlIj5BbGwgZmlsZXMgPQp3aXRoaW4g
dGhlIGdpdmVuIGZvbGRlcnMgYW5kIHRoZWlyIHN1YmZvbGRlcnMgd2lsbCBiZSBpbXBvcnRlZCBp
bnRvIHRoZSBjdXI9CnJlbnQgZm9sZGVyLjwvZGl2PicpLGEucHVzaCgnPGRpdiBzdHlsZT0zRCJt
YXJnaW4tYm90dG9tOiAwLjVlbTsiPicpLGEucHVzaD0KKCc8bGFiZWwgY2xhc3M9M0QiY2hlY2ti
b3gtaW5saW5lIGpzdHJlZS1wcmVzZXJ2ZS1zdHJ1Y3R1cmUiPicpLGEucHVzaCgnICAgPQo8aW5w
dXQgY2xhc3M9M0QicHJlc2VydmUtY2hlY2tib3giIHR5cGU9M0QiY2hlY2tib3giIHZhbHVlPTNE
InByZXNlcnZlX2RpcmU9CmN0b3J5X3N0cnVjdHVyZSI+JyksYS5wdXNoKCJQcmVzZXJ2ZSBkaXJl
Y3Rvcnkgc3RydWN0dXJlIiksYS5wdXNoKCIgPC9sYWJlbD0KPiIpLGEucHVzaCgnPGxhYmVsIGNs
YXNzPTNEImNoZWNrYm94LWlubGluZSBqc3RyZWUtbGluay1maWxlcyI+JyksYS5wdXNoKCcgPQog
IDxpbnB1dCBjbGFzcz0zRCJsaW5rLWNoZWNrYm94IiB0eXBlPTNEImNoZWNrYm94IiB2YWx1ZT0z
RCJsaW5rX2ZpbGVzIj4nKSw9CmEucHVzaCgiTGluayBmaWxlcyBpbnN0ZWFkIG9mIGNvcHlpbmci
KSxhLnB1c2goIiA8L2xhYmVsPiIpLGEucHVzaCgiPC9kaXY+Ij0KKSxhLnB1c2goJzx0ZXh0YXJl
YSBpZD0zRCJpbXBvcnRfcGF0aHMiIGNsYXNzPTNEImZvcm0tY29udHJvbCIgcm93cz0zRCI1IiBw
PQpsYWNlaG9sZGVyPTNEIkFic29sdXRlIHBhdGhzIChvciBwYXRocyByZWxhdGl2ZSB0byBHYWxh
eHkgcm9vdCkgc2VwYXJhdGVkIGI9CnkgbmV3bGluZSI+PC90ZXh0YXJlYT4nKSxhLnB1c2goIjxo
ciAvPiIpLGEucHVzaCgiPHA+WW91IGNhbiBzZXQgZXh0ZW5zaW9uID0KdHlwZSBhbmQgZ2Vub21l
IGZvciBhbGwgaW1wb3J0ZWQgZGF0YXNldHMgYXQgb25jZTo8L3A+IiksYS5wdXNoKCI8ZGl2PiIp
LGEuPQpwdXNoKCdUeXBlOiA8c3BhbiBpZD0zRCJsaWJyYXJ5X2V4dGVuc2lvbl9zZWxlY3QiIGNs
YXNzPTNEImxpYnJhcnktZXh0ZW5zaW89Cm4tc2VsZWN0IiAvPicpLGEucHVzaCgnICBHZW5vbWU6
IDxzcGFuIGlkPTNEImxpYnJhcnlfZ2Vub21lX3NlbGVjdCIgY2xhc3M9Cj0zRCJsaWJyYXJ5LWdl
bm9tZS1zZWxlY3QiIC8+JyksYS5wdXNoKCI8L2Rpdj4iKSxhLnB1c2goIjwvZGl2PiIpLF8udGVt
cGxhdD0KZShhLmpvaW4oIiIpKX0sdGVtcGxhdGVBZGRGaWxlc0Zyb21IaXN0b3J5OmZ1bmN0aW9u
KCl7dmFyIGE9M0RbXTtyZXR1cm4gYS5wPQp1c2goJzxkaXYgaWQ9M0QiYWRkX2ZpbGVzX21vZGFs
Ij4nKSxhLnB1c2goJzxkaXYgaWQ9M0QiaGlzdG9yeV9tb2RhbF9jb21ib189CmJ1bGsiPicpLGEu
cHVzaCgiU2VsZWN0IGhpc3Rvcnk6ICAiKSxhLnB1c2goJzxzZWxlY3QgaWQ9M0QiZGF0YXNldF9h
ZGRfYnVsaz0KIiBuYW1lPTNEImRhdGFzZXRfYWRkX2J1bGsiIHN0eWxlPTNEIndpZHRoOjY2JTsg
Ij4gJyksYS5wdXNoKCIgICA8JSBfLmVhY2goPQpoaXN0b3JpZXMsIGZ1bmN0aW9uKGhpc3Rvcnkp
IHsgJT4iKSxhLnB1c2goJyAgICAgICA8b3B0aW9uIHZhbHVlPTNEIjwlPTNEIF89Ci5lc2NhcGUo
aGlzdG9yeS5nZXQoImlkIikpICU+Ij48JT0zRCBfLmVzY2FwZShoaXN0b3J5LmdldCgibmFtZSIp
KSAlPjwvb3B0aT0Kb24+JyksCitkZWZpbmUoWyJnYWxheHkubWFzdGhlYWQiLCJ1dGlscy91dGls
cyIsImxpYnMvdG9hc3RyIiwibXZjL2xpYnJhcnkvbGlicmFyeT0KLW1vZGVsIiwibXZjL3VpL3Vp
LXNlbGVjdCJdLGZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9M0RCYWNrYm9uZS5WaWV3LmV4dGVu
PQpkKHtlbDoiI2NlbnRlciIsZXZlbnRzOnsiY2xpY2sgI3Rvb2xidG5fY3JlYXRlX2ZvbGRlciI6
ImNyZWF0ZUZvbGRlckZyb21Nb2Q9CmFsIiwiY2xpY2sgI3Rvb2xidG5fYnVsa19pbXBvcnQiOiJt
b2RhbEJ1bGtJbXBvcnQiLCJjbGljayAjaW5jbHVkZV9kZWxldGVkXz0KZGF0YXNldHNfY2hrIjoi
Y2hlY2tJbmNsdWRlRGVsZXRlZCIsImNsaWNrICN0b29sYnRuX3Nob3dfbGliaW5mbyI6InNob3dM
aWJJPQpuZm8iLCJjbGljayAjdG9vbGJ0bl9idWxrX2RlbGV0ZSI6ImRlbGV0ZVNlbGVjdGVkRGF0
YXNldHMiLCJjbGljayAjcGFnZV9zaXo9CmVfcHJvbXB0Ijoic2hvd1BhZ2VTaXplUHJvbXB0In0s
ZGVmYXVsdHM6e2Nhbl9hZGRfbGlicmFyeV9pdGVtOiExLGNvbnRhaW5zXz0KZmlsZV9vcl9mb2xk
ZXI6ITEsY2hhaW5fY2FsbF9jb250cm9sOnt0b3RhbF9udW1iZXI6MCxmYWlsZWRfbnVtYmVyOjB9
LGRpc2FiPQpsZWRfanN0cmVlX2VsZW1lbnQ6ImZvbGRlcnMifSxtb2RhbDpudWxsLGpzdHJlZTpu
dWxsLGhpc3RvcmllczpudWxsLHNlbGVjdF89Cmdlbm9tZTpudWxsLHNlbGVjdF9leHRlbnNpb246
bnVsbCxsaXN0X2V4dGVuc2lvbnM6W10sYXV0bzp7aWQ6ImF1dG8iLHRleHQ6Ij0KQXV0by1kZXRl
Y3QiLGRlc2NyaXB0aW9uOiJUaGlzIHN5c3RlbSB3aWxsIHRyeSB0byBkZXRlY3QgdGhlIGZpbGUg
dHlwZSBhdXRvPQptYXRpY2FsbHkuIElmIHlvdXIgZmlsZSBpcyBub3QgZGV0ZWN0ZWQgcHJvcGVy
bHkgYXMgb25lIG9mIHRoZSBrbm93biBmb3JtYXQ9CnMsIGl0IG1vc3QgbGlrZWx5IG1lYW5zIHRo
YXQgaXQgaGFzIHNvbWUgZm9ybWF0IHByb2JsZW1zIChlLmcuLCBkaWZmZXJlbnQgbj0KdW1iZXIg
b2YgY29sdW1ucyBvbiBkaWZmZXJlbnQgcm93cykuIFlvdSBjYW4gc3RpbGwgY29lcmNlIHRoZSBz
eXN0ZW0gdG8gc2V0PQogeW91ciBkYXRhIHRvIHRoZSBmb3JtYXQgeW91IHRoaW5rIGl0IHNob3Vs
ZCBiZS4gWW91IGNhbiBhbHNvIHVwbG9hZCBjb21wcmU9CnNzZWQgZmlsZXMsIHdoaWNoIHdpbGwg
YXV0b21hdGljYWxseSBiZSBkZWNvbXByZXNzZWQuIn0sbGlzdF9nZW5vbWVzOltdLGluaT0KdGlh
bGl6ZTpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9M0RfLmRlZmF1bHRzKGF8fHt9LHRoaXMuZGVm
YXVsdHMpLHRoaXMuZmV0PQpjaEV4dEFuZEdlbm9tZXMoKSx0aGlzLnJlbmRlcigpfSxyZW5kZXI6
ZnVuY3Rpb24oYSl7dGhpcy5vcHRpb25zPTNEXy5leHRlbmQ9Cih0aGlzLm9wdGlvbnMsYSk7dmFy
IGI9M0R0aGlzLnRlbXBsYXRlVG9vbEJhcigpLGM9M0R7aWQ6dGhpcy5vcHRpb25zLmlkLGlzXz0K
YWRtaW46ITEsaXNfYW5vbnltOiEwLG11dGlwbGVfYWRkX2RhdGFzZXRfb3B0aW9uczohMX07R2Fs
YXh5LmN1cnJVc2VyJiYoYy5pPQpzX2FkbWluPTNER2FsYXh5LmN1cnJVc2VyLmlzQWRtaW4oKSxj
LmlzX2Fub255bT0zREdhbGF4eS5jdXJyVXNlci5pc0Fub255bW89CnVzKCksKG51bGwhPTNEPTNE
R2FsYXh5LmNvbmZpZy51c2VyX2xpYnJhcnlfaW1wb3J0X2Rpcnx8R2FsYXh5LmNvbmZpZy5hbGxv
dz0KX2xpYnJhcnlfcGF0aF9wYXN0ZSE9M0Q9M0QhMXx8bnVsbCE9M0Q9M0RHYWxheHkuY29uZmln
LmxpYnJhcnlfaW1wb3J0X2RpcikmPQomKGMubXV0aXBsZV9hZGRfZGF0YXNldF9vcHRpb25zPTNE
ITApKSx0aGlzLiRlbC5odG1sKGIoYykpfSxyZW5kZXJQYWdpbmF0b3I9CjpmdW5jdGlvbihhKXt0
aGlzLm9wdGlvbnM9M0RfLmV4dGVuZCh0aGlzLm9wdGlvbnMsYSk7dmFyIGI9M0R0aGlzLnRlbXBs
YXRlUD0KYWdpbmF0b3IoKTt0aGlzLiRlbC5maW5kKCIjZm9sZGVyX3BhZ2luYXRvciIpLmh0bWwo
Yih7aWQ6dGhpcy5vcHRpb25zLmlkLHNoPQpvd19wYWdlOnBhcnNlSW50KHRoaXMub3B0aW9ucy5z
aG93X3BhZ2UpLHBhZ2VfY291bnQ6cGFyc2VJbnQodGhpcy5vcHRpb25zLnA9CmFnZV9jb3VudCks
dG90YWxfaXRlbXNfY291bnQ6dGhpcy5vcHRpb25zLnRvdGFsX2l0ZW1zX2NvdW50LGl0ZW1zX3No
b3duOnRoaT0Kcy5vcHRpb25zLml0ZW1zX3Nob3dufSkpfSxjb25maWd1cmVFbGVtZW50czpmdW5j
dGlvbihhKXt0aGlzLm9wdGlvbnM9M0RfLmV4PQp0ZW5kKHRoaXMub3B0aW9ucyxhKSx0aGlzLm9w
dGlvbnMuY2FuX2FkZF9saWJyYXJ5X2l0ZW09M0Q9M0Q9M0QhMD8kKCIuYWRkLWw9CmlicmFyeS1p
dGVtcyIpLnNob3coKTokKCIuYWRkLWxpYnJhcnktaXRlbXMiKS5oaWRlKCksdGhpcy5vcHRpb25z
LmNvbnRhaW5zXz0KZmlsZV9vcl9mb2xkZXI9M0Q9M0Q9M0QhMCYmR2FsYXh5LmN1cnJVc2VyP0dh
bGF4eS5jdXJyVXNlci5pc0Fub255bW91cygpPygkPQooIi5kYXRhc2V0LW1hbmlwdWxhdGlvbiIp
LnNob3coKSwkKCIubG9nZ2VkLWRhdGFzZXQtbWFuaXB1bGF0aW9uIikuaGlkZSgpKTo9CigkKCIu
bG9nZ2VkLWRhdGFzZXQtbWFuaXB1bGF0aW9uIikuc2hvdygpLCQoIi5kYXRhc2V0LW1hbmlwdWxh
dGlvbiIpLnNob3coKT0KKTooJCgiLmxvZ2dlZC1kYXRhc2V0LW1hbmlwdWxhdGlvbiIpLmhpZGUo
KSwkKCIuZGF0YXNldC1tYW5pcHVsYXRpb24iKS5oaWRlPQooKSksdGhpcy4kZWwuZmluZCgiW2Rh
dGEtdG9nZ2xlXSIpLnRvb2x0aXAoKX0sY3JlYXRlRm9sZGVyRnJvbU1vZGFsOmZ1bmN0aW89Cm4o
YSl7YS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGI9M0R0aGlzLGM9
M0R0aGlzLnRlbXBsYXRlTj0KZXdGb2xkZXJJbk1vZGFsKCk7dGhpcy5tb2RhbD0zREdhbGF4eS5t
b2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRzPQo6ITAsdGl0bGU6IkNyZWF0ZSBO
ZXcgRm9sZGVyIixib2R5OmMoKSxidXR0b25zOntDcmVhdGU6ZnVuY3Rpb24oKXtiLmNyZWF0ZV89
Cm5ld19mb2xkZXJfZXZlbnQoKX0sQ2xvc2U6ZnVuY3Rpb24oKXtHYWxheHkubW9kYWwuaGlkZSgp
fX19KX0sY3JlYXRlX25ld19mbz0KbGRlcl9ldmVudDpmdW5jdGlvbigpe3ZhciBhPTNEdGhpcy5z
ZXJpYWxpemVfbmV3X2ZvbGRlcigpO2lmKHRoaXMudmFsaWRhdGVfPQpuZXdfZm9sZGVyKGEpKXt2
YXIgYj0zRG5ldyBkLkZvbGRlckFzTW9kZWw7dXJsX2l0ZW1zPTNEQmFja2JvbmUuaGlzdG9yeS5m
cmE9CmdtZW50LnNwbGl0KCIvIiksY3VycmVudF9mb2xkZXJfaWQ9M0R1cmxfaXRlbXNbdXJsX2l0
ZW1zLmxlbmd0aC0xXSxiLnVybD0zRD0KYi51cmxSb290K2N1cnJlbnRfZm9sZGVyX2lkLGIuc2F2
ZShhLHtzdWNjZXNzOmZ1bmN0aW9uKGEpe0dhbGF4eS5tb2RhbC5oaWRlPQooKSxjLnN1Y2Nlc3Mo
IkZvbGRlciBjcmVhdGVkLiIpLGEuc2V0KHt0eXBlOiJmb2xkZXIifSksR2FsYXh5LmxpYnJhcmll
cy5mb2w9CmRlckxpc3RWaWV3LmNvbGxlY3Rpb24uYWRkKGEpfSxlcnJvcjpmdW5jdGlvbihhLGIp
e0dhbGF4eS5tb2RhbC5oaWRlKCksYy5lcj0Kcm9yKCJ1bmRlZmluZWQiIT0zRHR5cGVvZiBiLnJl
c3BvbnNlSlNPTj9iLnJlc3BvbnNlSlNPTi5lcnJfbXNnOiJBbiBlcnJvciBvPQpjdXJyZWQuIil9
fSl9ZWxzZSBjLmVycm9yKCJGb2xkZXIncyBuYW1lIGlzIG1pc3NpbmcuIik7cmV0dXJuITF9LHNl
cmlhbGl6ZV89Cm5ld19mb2xkZXI6ZnVuY3Rpb24oKXtyZXR1cm57bmFtZTokKCJpbnB1dFtuYW1l
PTNEJ05hbWUnXSIpLnZhbCgpLGRlc2NyaXB0aT0Kb246JCgiaW5wdXRbbmFtZT0zRCdEZXNjcmlw
dGlvbiddIikudmFsKCl9fSx2YWxpZGF0ZV9uZXdfZm9sZGVyOmZ1bmN0aW9uKGEpPQp7cmV0dXJu
IiIhPTNEPTNEYS5uYW1lfSxtb2RhbEJ1bGtJbXBvcnQ6ZnVuY3Rpb24oKXt2YXIgYT0zRCQoIiNm
b2xkZXJfdGFibGU9CiIpLmZpbmQoIjpjaGVja2VkIik7MD0zRD0zRD0zRGEubGVuZ3RoP2MuaW5m
bygiWW91IG11c3Qgc2VsZWN0IHNvbWUgZGF0YXNldD0KcyBmaXJzdC4iKTp0aGlzLnJlZnJlc2hV
c2VySGlzdG9yaWVzTGlzdChmdW5jdGlvbihhKXt2YXIgYj0zRGEudGVtcGxhdGVCdWxrPQpJbXBv
cnRJbk1vZGFsKCk7YS5tb2RhbD0zREdhbGF4eS5tb2RhbCxhLm1vZGFsLnNob3coe2Nsb3Npbmdf
ZXZlbnRzOiEwLHRpdGw9CmU6IkltcG9ydCBpbnRvIEhpc3RvcnkiLGJvZHk6Yih7aGlzdG9yaWVz
OmEuaGlzdG9yaWVzLm1vZGVsc30pLGJ1dHRvbnM6e0ltcD0Kb3J0OmZ1bmN0aW9uKCl7YS5pbXBv
cnRBbGxJbnRvSGlzdG9yeSgpfSxDbG9zZTpmdW5jdGlvbigpe0dhbGF4eS5tb2RhbC5oaWRlPQoo
KX19fSl9KX0scmVmcmVzaFVzZXJIaXN0b3JpZXNMaXN0OmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhp
czt0aGlzLmhpc3Rvcmllcz0KPTNEbmV3IGQuR2FsYXh5SGlzdG9yaWVzLHRoaXMuaGlzdG9yaWVz
LmZldGNoKHtzdWNjZXNzOmZ1bmN0aW9uKCl7YShiKX0sZXJyPQpvcjpmdW5jdGlvbihhLGIpe2Mu
ZXJyb3IoInVuZGVmaW5lZCIhPTNEdHlwZW9mIGIucmVzcG9uc2VKU09OP2IucmVzcG9uc2VKU089
Ck4uZXJyX21zZzoiQW4gZXJyb3Igb2N1cnJlZC4iKX19KX0saW1wb3J0QWxsSW50b0hpc3Rvcnk6
ZnVuY3Rpb24oKXt0aGlzLm1vZD0KYWwuZGlzYWJsZUJ1dHRvbigiSW1wb3J0Iik7dmFyIGE9M0Qk
KCJzZWxlY3RbbmFtZT0zRGRhdGFzZXRfaW1wb3J0X2J1bGtdIG9wPQp0aW9uOnNlbGVjdGVkIiku
dmFsKCksYj0zRCQoInNlbGVjdFtuYW1lPTNEZGF0YXNldF9pbXBvcnRfYnVsa10gb3B0aW9uOnNl
bGU9CmN0ZWQiKS50ZXh0KCk7dGhpcy5vcHRpb25zLmxhc3RfdXNlZF9oaXN0b3J5X2lkPTNEYTt2
YXIgYz0zRFtdLGU9M0RbXTskKCIjZj0Kb2xkZXJfdGFibGUiKS5maW5kKCI6Y2hlY2tlZCIpLmVh
Y2goZnVuY3Rpb24oKXsiIiE9M0Q9M0R0aGlzLnBhcmVudEVsZW1lbnQuPQpwYXJlbnRFbGVtZW50
LmlkJiZ0aGlzLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMo
ImRhdGE9CnNldF9yb3ciKT9jLnB1c2godGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQu
aWQpOiIiIT0zRD0zRHRoaXMucGFyZW50RT0KbGVtZW50LnBhcmVudEVsZW1lbnQuaWQmJnRoaXMu
cGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWluPQpzKCJmb2xkZXJf
cm93IikmJmUucHVzaCh0aGlzLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5pZCl9KTtmb3Io
dmFyIGY9M0Q9CltdLGc9M0RjLmxlbmd0aC0xO2c+PTNEMDtnLS0pe3ZhciBoPTNEY1tnXSxpPTNE
bmV3IGQuSGlzdG9yeUl0ZW07aS51cmw9M0RpLj0KdXJsUm9vdCthKyIvY29udGVudHMiLGkuY29u
dGVudD0zRGgsaS5zb3VyY2U9M0QibGlicmFyeSIsZi5wdXNoKGkpfWZvcih2YXIgPQpnPTNEZS5s
ZW5ndGgtMTtnPj0zRDA7Zy0tKXt2YXIgaj0zRGVbZ10saT0zRG5ldyBkLkhpc3RvcnlJdGVtO2ku
dXJsPTNEaS51cmw9ClJvb3QrYSsiL2NvbnRlbnRzIixpLmNvbnRlbnQ9M0RqLGkuc291cmNlPTNE
ImxpYnJhcnlfZm9sZGVyIixmLnB1c2goaSl9dGhpcz0KLmluaXRDaGFpbkNhbGxDb250cm9sKHts
ZW5ndGg6Zi5sZW5ndGgsYWN0aW9uOiJ0b19oaXN0b3J5IixoaXN0b3J5X25hbWU6Yn0pPQosalF1
ZXJ5LmdldEpTT04oZ2FsYXh5X2NvbmZpZy5yb290KyJoaXN0b3J5L3NldF9hc19jdXJyZW50P2lk
PTNEIithKSx0aGlzLmM9CmhhaW5DYWxsSW1wb3J0aW5nSW50b0hpc3RvcnkoZixiKX0sdXBkYXRl
UHJvZ3Jlc3M6ZnVuY3Rpb24oKXt0aGlzLnByb2dyZXNzKz0KPTNEdGhpcy5wcm9ncmVzc1N0ZXAs
JCgiLnByb2dyZXNzLWJhci1pbXBvcnQiKS53aWR0aChNYXRoLnJvdW5kKHRoaXMucHJvZ3JlPQpz
cykrIiUiKSx0eHRfcmVwcmVzZW50YXRpb249M0RNYXRoLnJvdW5kKHRoaXMucHJvZ3Jlc3MpKyIl
IENvbXBsZXRlIiwkKCIuY289Cm1wbGV0aW9uX3NwYW4iKS50ZXh0KHR4dF9yZXByZXNlbnRhdGlv
bil9LGRvd25sb2FkOmZ1bmN0aW9uKGEsYil7dmFyIGM9M0RbXT0KLGQ9M0RbXTskKCIjZm9sZGVy
X3RhYmxlIikuZmluZCgiOmNoZWNrZWQiKS5lYWNoKGZ1bmN0aW9uKCl7IiIhPTNEPTNEdGhpcy5w
PQphcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5pZCYmdGhpcy5wYXJlbnRFbGVtZW50LnBhcmVu
dEVsZW1lbnQuY2xhc3NMaXN0LmM9Cm9udGFpbnMoImRhdGFzZXRfcm93Iik/Yy5wdXNoKHRoaXMu
cGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmlkKToiIiE9M0Q9Cj0zRHRoaXMucGFyZW50RWxl
bWVudC5wYXJlbnRFbGVtZW50LmlkJiZ0aGlzLnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5j
bD0KYXNzTGlzdC5jb250YWlucygiZm9sZGVyX3JvdyIpJiZkLnB1c2godGhpcy5wYXJlbnRFbGVt
ZW50LnBhcmVudEVsZW1lbnQuaWQpPQp9KTt2YXIgZT0zRCh3aW5kb3cuZ2FsYXh5X2NvbmZpZz9n
YWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2xpYnJhcmllcy9kYXQ9CmFzZXRzL2Rvd25sb2Fk
LyIrYixmPTNEe2xkX2lkczpjLGZvbGRlcl9pZHM6ZH07dGhpcy5wcm9jZXNzRG93bmxvYWQoZSxm
LCJnZT0KdCIpfSxwcm9jZXNzRG93bmxvYWQ6ZnVuY3Rpb24oYSxiLGQpe2lmKGEmJmIpe2I9M0Qi
c3RyaW5nIj0zRD0zRHR5cGVvZiBiP2I6PQokLnBhcmFtKGIpO3ZhciBlPTNEIiI7JC5lYWNoKGIu
c3BsaXQoIiYiKSxmdW5jdGlvbigpe3ZhciBhPTNEdGhpcy5zcGxpdCgiPQo9M0QiKTtlKz0zRCc8
aW5wdXQgdHlwZT0zRCJoaWRkZW4iIG5hbWU9M0QiJythWzBdKyciIHZhbHVlPTNEIicrYVsxXSsn
IiAvPic9Cn0pLCQoJzxmb3JtIGFjdGlvbj0zRCInK2ErJyIgbWV0aG9kPTNEIicrKGR8fCJwb3N0
IikrJyI+JytlKyI8L2Zvcm0+IikuYXBwZT0KbmRUbygiYm9keSIpLnN1Ym1pdCgpLnJlbW92ZSgp
LGMuaW5mbygiWW91ciBkb3dubG9hZCB3aWxsIGJlZ2luIHNvb24uIil9ZWxzPQplIGMuZXJyb3Io
IkFuIGVycm9yIG9jY3VycmVkLiIpfSxhZGRGaWxlc0Zyb21IaXN0b3J5TW9kYWw6ZnVuY3Rpb24o
KXt0aGlzLnI9CmVmcmVzaFVzZXJIaXN0b3JpZXNMaXN0KGZ1bmN0aW9uKGEpe2EubW9kYWw9M0RH
YWxheHkubW9kYWw7dmFyIGI9M0RhLnRlbXBsYT0KdGVBZGRGaWxlc0Zyb21IaXN0b3J5KCksZD0z
RGEub3B0aW9ucy5mdWxsX3BhdGhbYS5vcHRpb25zLmZ1bGxfcGF0aC5sZW5ndGgtPQoxXVsxXTth
Lm1vZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRzOiEwLHRpdGxlOiJBZGRpbmcgZGF0YXNldHMgZnJv
bSB5b3VyIGhpc3Q9Cm9yeSB0byBmb2xkZXIgIitkLGJvZHk6Yih7aGlzdG9yaWVzOmEuaGlzdG9y
aWVzLm1vZGVsc30pLGJ1dHRvbnM6e0FkZDpmdW5jdD0KaW9uKCl7YS5hZGRBbGxEYXRhc2V0c0Zy
b21IaXN0b3J5KCl9LENsb3NlOmZ1bmN0aW9uKCl7R2FsYXh5Lm1vZGFsLmhpZGUoKX19PQosY2xv
c2luZ19jYWxsYmFjazpmdW5jdGlvbigpe0dhbGF4eS5saWJyYXJpZXMubGlicmFyeV9yb3V0ZXIu
YmFjaygpfX0pLGEuaGk9CnN0b3JpZXMubW9kZWxzLmxlbmd0aD4wPyhhLmZldGNoQW5kRGlzcGxh
eUhpc3RvcnlDb250ZW50cyhhLmhpc3Rvcmllcy5tb2RlbD0Kc1swXS5pZCksJCgiI2RhdGFzZXRf
YWRkX2J1bGsiKS5jaGFuZ2UoZnVuY3Rpb24oYil7YS5mZXRjaEFuZERpc3BsYXlIaXN0b3J5PQpD
b250ZW50cyhiLnRhcmdldC52YWx1ZSl9KSk6Yy5lcnJvcigiQW4gZXJyb3Igb2N1cnJlZC4iKX0p
fSxpbXBvcnRGaWxlc0Zyb209ClBhdGhNb2RhbDpmdW5jdGlvbigpe3ZhciBhPTNEdGhpczt0aGlz
Lm1vZGFsPTNER2FsYXh5Lm1vZGFsO3ZhciBiPTNEdGhpcy50ZT0KbXBsYXRlSW1wb3J0UGF0aE1v
ZGFsKCk7dGhpcy5tb2RhbC5zaG93KHtjbG9zaW5nX2V2ZW50czohMCx0aXRsZToiUGxlYXNlIGVu
PQp0ZXIgcGF0aHMgdG8gaW1wb3J0Iixib2R5OmIoe30pLGJ1dHRvbnM6e0ltcG9ydDpmdW5jdGlv
bigpe2EuaW1wb3J0RnJvbVBhdGg9CnNDbGlja2VkKGEpfSxDbG9zZTpmdW5jdGlvbigpe0dhbGF4
eS5tb2RhbC5oaWRlKCl9fSxjbG9zaW5nX2NhbGxiYWNrOmZ1bmN0aT0Kb24oKXtHYWxheHkubGli
cmFyaWVzLmxpYnJhcnlfcm91dGVyLm5hdmlnYXRlKCJmb2xkZXJzLyIrYS5pZCx7dHJpZ2dlcjoh
MH0pPQp9fSksdGhpcy5yZW5kZXJTZWxlY3RCb3hlcygpfSxmZXRjaEV4dEFuZEdlbm9tZXM6ZnVu
Y3Rpb24oKXt2YXIgYT0zRHRoaXM7Yi49CmdldCh7dXJsOih3aW5kb3cuZ2FsYXh5X2NvbmZpZz9n
YWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2RhdGF0eXBlcz9leHRlbj0Kc2lvbl9vbmx5PTNE
RmFsc2UiLHN1Y2Nlc3M6ZnVuY3Rpb24oYil7Zm9yKGtleSBpbiBiKWEubGlzdF9leHRlbnNpb25z
LnB1c2goPQp7aWQ6YltrZXldLmV4dGVuc2lvbix0ZXh0OmJba2V5XS5leHRlbnNpb24sZGVzY3Jp
cHRpb246YltrZXldLmRlc2NyaXB0aW9uLGQ9CmVzY3JpcHRpb25fdXJsOmJba2V5XS5kZXNjcmlw
dGlvbl91cmx9KTthLmxpc3RfZXh0ZW5zaW9ucy5zb3J0KGZ1bmN0aW9uKGEsYj0KKXtyZXR1cm4g
YS5pZD5iLmlkPzE6YS5pZDxiLmlkPy0xOjB9KSxhLmxpc3RfZXh0ZW5zaW9ucy51bnNoaWZ0KGEu
YXV0byl9fSksPQpiLmdldCh7dXJsOih3aW5kb3cuZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmln
LnJvb3Q6Ii8iKSsiYXBpL2dlbm9tZXMiLHN1Y2M9CmVzczpmdW5jdGlvbihiKXtmb3Ioa2V5IGlu
IGIpYS5saXN0X2dlbm9tZXMucHVzaCh7aWQ6YltrZXldWzFdLHRleHQ6YltrZXldWz0KMF19KTth
Lmxpc3RfZ2Vub21lcy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuaWQ+Yi5pZD8xOmEuaWQ8
Yi5pZD8tMTowfSl9PQp9KX0scmVuZGVyU2VsZWN0Qm94ZXM6ZnVuY3Rpb24oKXt2YXIgYT0zRHRo
aXM7dGhpcy5zZWxlY3RfZ2Vub21lPTNEbmV3IGUuVmk9CmV3KHtjc3M6ImxpYnJhcnktZ2Vub21l
LXNlbGVjdCIsZGF0YTphLmxpc3RfZ2Vub21lcyxjb250YWluZXI6R2FsYXh5Lm1vZGFsLj0KJGVs
LmZpbmQoIiNsaWJyYXJ5X2dlbm9tZV9zZWxlY3QiKSx2YWx1ZToiPyJ9KSx0aGlzLnNlbGVjdF9l
eHRlbnNpb249M0RuZXcgPQplLlZpZXcoe2NzczoibGlicmFyeS1leHRlbnNpb24tc2VsZWN0Iixk
YXRhOmEubGlzdF9leHRlbnNpb25zLGNvbnRhaW5lcjpHYWw9CmF4eS5tb2RhbC4kZWwuZmluZCgi
I2xpYnJhcnlfZXh0ZW5zaW9uX3NlbGVjdCIpLHZhbHVlOiJhdXRvIn0pfSxpbXBvcnRGaWxlcz0K
RnJvbUdhbGF4eUZvbGRlck1vZGFsOmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhpcyxjPTNEdGhpcy50
ZW1wbGF0ZUJyb3dzZXJNb2RhPQpsKCk7dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1v
ZGFsLnNob3coe2Nsb3NpbmdfZXZlbnRzOiEwLHRpdGxlOiJQbGU9CmFzZSBzZWxlY3QgZm9sZGVy
cyBvciBmaWxlcyIsYm9keTpjKHt9KSxidXR0b25zOntJbXBvcnQ6ZnVuY3Rpb24oKXtiLmltcG9y
dD0KRnJvbUpzdHJlZVBhdGgoYixhKX0sQ2xvc2U6ZnVuY3Rpb24oKXtHYWxheHkubW9kYWwuaGlk
ZSgpfX0sY2xvc2luZ19jYWxsYmFjPQprOmZ1bmN0aW9uKCl7R2FsYXh5LmxpYnJhcmllcy5saWJy
YXJ5X3JvdXRlci5uYXZpZ2F0ZSgiZm9sZGVycy8iK2IuaWQse3RyaWc9CmdlcjohMH0pfX0pLHRo
aXMucmVuZGVyU2VsZWN0Qm94ZXMoKSxhLmRpc2FibGVkX2pzdHJlZV9lbGVtZW50PTNEImZvbGRl
cnMiLD0KdGhpcy5yZW5kZXJKc3RyZWUoYSksJCgiaW5wdXRbdHlwZT0zRHJhZGlvXSIpLmNoYW5n
ZShmdW5jdGlvbihjKXsianN0cmVlLWRpPQpzYWJsZS1mb2xkZXJzIj0zRD0zRD0zRGMudGFyZ2V0
LnZhbHVlPyhhLmRpc2FibGVkX2pzdHJlZV9lbGVtZW50PTNEImZvbGRlcnM9CiIsYi5yZW5kZXJK
c3RyZWUoYSksJCgiLmpzdHJlZS1mb2xkZXJzLW1lc3NhZ2UiKS5oaWRlKCksJCgiLmpzdHJlZS1w
cmVzZXJ2ZT0KLXN0cnVjdHVyZSIpLmhpZGUoKSwkKCIuanN0cmVlLWxpbmstZmlsZXMiKS5oaWRl
KCksJCgiLmpzdHJlZS1maWxlcy1tZXNzYWdlPQoiKS5zaG93KCkpOiJqc3RyZWUtZGlzYWJsZS1m
aWxlcyI9M0Q9M0Q9M0RjLnRhcmdldC52YWx1ZSYmKCQoIi5qc3RyZWUtZmlsZXM9Ci1tZXNzYWdl
IikuaGlkZSgpLCQoIi5qc3RyZWUtZm9sZGVycy1tZXNzYWdlIikuc2hvdygpLCQoIi5qc3RyZWUt
bGluay1maWxlcz0KIikuc2hvdygpLCQoIi5qc3RyZWUtcHJlc2VydmUtc3RydWN0dXJlIikuc2hv
dygpLGEuZGlzYWJsZWRfanN0cmVlX2VsZW1lbnQ9Cj0zRCJmaWxlcyIsYi5yZW5kZXJKc3RyZWUo
YSkpfSl9LHJlbmRlckpzdHJlZTpmdW5jdGlvbihhKXt0aGlzLm9wdGlvbnM9M0RfLj0KZXh0ZW5k
KHRoaXMub3B0aW9ucyxhKTt2YXIgYj0zRGEuc291cmNlfHwidXNlcmRpciIsZT0zRHRoaXMub3B0
aW9ucy5kaXNhYmxlPQpkX2pzdHJlZV9lbGVtZW50O3RoaXMuanN0cmVlPTNEbmV3IGQuSnN0cmVl
LHRoaXMuanN0cmVlLnVybD0zRHRoaXMuanN0cmVlLnU9CnJsUm9vdCsiP3RhcmdldD0zRCIrYisi
JmZvcm1hdD0zRGpzdHJlZSZkaXNhYmxlPTNEIitlLHRoaXMuanN0cmVlLmZldGNoKHtzdT0KY2Nl
c3M6ZnVuY3Rpb24oYSl7ZGVmaW5lKCJqcXVlcnkiLGZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeX0p
LHJlcXVpcmUoWyJsaWJzPQovanF1ZXJ5L2pzdHJlZSJdLGZ1bmN0aW9uKCl7JCgiI2pzdHJlZV9i
cm93c2VyIikuanN0cmVlKCJkZXN0cm95IiksJCgiI2pzdHI9CmVlX2Jyb3dzZXIiKS5qc3RyZWUo
e2NvcmU6e2RhdGE6YX0scGx1Z2luczpbInR5cGVzIiwiY2hlY2tib3giXSx0eXBlczp7Zm9sZD0K
ZXI6e2ljb246ImpzdHJlZS1mb2xkZXIifSxmaWxlOntpY29uOiJqc3RyZWUtZmlsZSJ9fSxjaGVj
a2JveDp7dGhyZWVfc3RhdGU6PQohMX19KX0pfSxlcnJvcjpmdW5jdGlvbihhLGIpeyJ1bmRlZmlu
ZWQiIT0zRHR5cGVvZiBiLnJlc3BvbnNlSlNPTj80MDQwMDE9M0Q9Cj0zRD0zRGIucmVzcG9uc2VK
U09OLmVycl9jb2RlP2Mud2FybmluZyhiLnJlc3BvbnNlSlNPTi5lcnJfbXNnKTpjLmVycm9yKGIu
cj0KZXNwb25zZUpTT04uZXJyX21zZyk6Yy5lcnJvcigiQW4gZXJyb3Igb2N1cnJlZC4iKX19KX0s
aW1wb3J0RnJvbVBhdGhzQ2xpY2tlPQpkOmZ1bmN0aW9uKCl7dmFyIGE9M0R0aGlzLm1vZGFsLiRl
bC5maW5kKCIucHJlc2VydmUtY2hlY2tib3giKS5pcygiOmNoZWNrZWQ9CiIpLGI9M0R0aGlzLm1v
ZGFsLiRlbC5maW5kKCIubGluay1jaGVja2JveCIpLmlzKCI6Y2hlY2tlZCIpLGQ9M0R0aGlzLnNl
bGVjdD0KX2V4dGVuc2lvbi52YWx1ZSgpLGU9M0R0aGlzLnNlbGVjdF9nZW5vbWUudmFsdWUoKSxm
PTNEJCgidGV4dGFyZWEjaW1wb3J0X3BhPQp0aHMiKS52YWwoKSxnPTNEW107aWYoZil7dGhpcy5t
b2RhbC5kaXNhYmxlQnV0dG9uKCJJbXBvcnQiKSxmPTNEZi5zcGxpdCgiXG49CiIpO2Zvcih2YXIg
aD0zRGYubGVuZ3RoLTE7aD49M0QwO2gtLSl0cmltbWVkPTNEZltoXS50cmltKCksMCE9M0Q9M0R0
cmltbWVkLj0KbGVuZ3RoJiZnLnB1c2godHJpbW1lZCk7dGhpcy5pbml0Q2hhaW5DYWxsQ29udHJv
bCh7bGVuZ3RoOmcubGVuZ3RoLGFjdGlvbjoiPQphZGRpbmdfZGF0YXNldHMifSksdGhpcy5jaGFp
bkNhbGxJbXBvcnRpbmdGb2xkZXJzKHtwYXRoczpnLHByZXNlcnZlX2RpcnM6YSw9CmxpbmtfZGF0
YTpiLHNvdXJjZToiYWRtaW5fcGF0aCIsZmlsZV90eXBlOmQsZGJrZXk6ZX0pfWVsc2UgYy5pbmZv
KCJQbGVhc2UgZT0KbnRlciBhIHBhdGggcmVsYXRpdmUgdG8gR2FsYXh5IHJvb3QuIil9LGluaXRD
aGFpbkNhbGxDb250cm9sOmZ1bmN0aW9uKGEpe3ZhPQpyIGI7c3dpdGNoKGEuYWN0aW9uKXtjYXNl
ImFkZGluZ19kYXRhc2V0cyI6Yj0zRHRoaXMudGVtcGxhdGVBZGRpbmdEYXRhc2V0c1A9CnJvZ3Jl
c3NCYXIoKSx0aGlzLm1vZGFsLiRlbC5maW5kKCIubW9kYWwtYm9keSIpLmh0bWwoYih7Zm9sZGVy
X25hbWU6dGhpcy5vcD0KdGlvbnMuZm9sZGVyX25hbWV9KSk7YnJlYWs7Y2FzZSJkZWxldGluZ19k
YXRhc2V0cyI6Yj0zRHRoaXMudGVtcGxhdGVEZWxldGluPQpnRGF0YXNldHNQcm9ncmVzc0Jhcigp
LHRoaXMubW9kYWwuJGVsLmZpbmQoIi5tb2RhbC1ib2R5IikuaHRtbChiKCkpO2JyZWFrO2M9CmFz
ZSJ0b19oaXN0b3J5IjpiPTNEdGhpcy50ZW1wbGF0ZUltcG9ydEludG9IaXN0b3J5UHJvZ3Jlc3NC
YXIoKSx0aGlzLm1vZGFsLj0KJGVsLmZpbmQoIi5tb2RhbC1ib2R5IikuaHRtbChiKHtoaXN0b3J5
X25hbWU6YS5oaXN0b3J5X25hbWV9KSk7YnJlYWs7ZGVmYXVsPQp0OmNvbnNvbGUuZXJyb3IoIldy
b25nIGFjdGlvbiBzcGVjaWZpZWQuIil9dGhpcy5wcm9ncmVzcz0zRDAsdGhpcy5wcm9ncmVzc1M9
CnRlcD0zRDEwMC9hLmxlbmd0aCx0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFs
X251bWJlcj0zRGEubGVuZ3RoLD0KdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC5mYWls
ZWRfbnVtYmVyPTNEMH0saW1wb3J0RnJvbUpzdHJlZVBhdGg6ZnVuPQpjdGlvbihhLGIpe3ZhciBk
PTNEJCgiI2pzdHJlZV9icm93c2VyIikuanN0cmVlKCkuZ2V0X3NlbGVjdGVkKCEwKSxlPTNEdGhp
cy49Cm1vZGFsLiRlbC5maW5kKCIucHJlc2VydmUtY2hlY2tib3giKS5pcygiOmNoZWNrZWQiKSxm
PTNEdGhpcy5tb2RhbC4kZWwuZmluZD0KKCIubGluay1jaGVja2JveCIpLmlzKCI6Y2hlY2tlZCIp
LGc9M0R0aGlzLnNlbGVjdF9leHRlbnNpb24udmFsdWUoKSxoPTNEdGhpPQpzLnNlbGVjdF9nZW5v
bWUudmFsdWUoKSxpPTNEZFswXS50eXBlLGo9M0RbXTtpZihkLmxlbmd0aDwxKWMuaW5mbygiUGxl
YXNlIHM9CmVsZWN0IHNvbWUgaXRlbXMgZmlyc3QuIik7ZWxzZXt0aGlzLm1vZGFsLmRpc2FibGVC
dXR0b24oIkltcG9ydCIpO2Zvcih2YXIgaz0KPTNEZC5sZW5ndGgtMTtrPj0zRDA7ay0tKXZvaWQg
MCE9M0Q9M0RkW2tdLmxpX2F0dHIuZnVsbF9wYXRoJiZqLnB1c2goZFtrXS5sPQppX2F0dHIuZnVs
bF9wYXRoKTtpZih0aGlzLmluaXRDaGFpbkNhbGxDb250cm9sKHtsZW5ndGg6ai5sZW5ndGgsYWN0
aW9uOiJhZGQ9CmluZ19kYXRhc2V0cyJ9KSwiZm9sZGVyIj0zRD0zRD0zRGkpe3ZhciBsPTNEYi5z
b3VyY2UrIl9mb2xkZXIiO3RoaXMuY2hhaW5DYT0KbGxJbXBvcnRpbmdGb2xkZXJzKHtwYXRoczpq
LHByZXNlcnZlX2RpcnM6ZSxsaW5rX2RhdGE6Zixzb3VyY2U6bCxmaWxlX3R5cGU6PQpnLGRia2V5
Omh9KX1lbHNlIGlmKCJmaWxlIj0zRD0zRD0zRGkpe3ZhciBsPTNEYi5zb3VyY2UrIl9maWxlIjt0
aGlzLmNoYWluQ2E9CmxsSW1wb3J0aW5nVXNlcmRpckZpbGVzKHtwYXRoczpqLGZpbGVfdHlwZTpn
LGRia2V5Omgsc291cmNlOmx9KX19fSxmZXRjaEFuZD0KRGlzcGxheUhpc3RvcnlDb250ZW50czpm
dW5jdGlvbihhKXt2YXIgYj0zRG5ldyBkLkhpc3RvcnlDb250ZW50cyh7aWQ6YX0pLGU9Cj0zRHRo
aXM7Yi5mZXRjaCh7c3VjY2VzczpmdW5jdGlvbihiKXt2YXIgYz0zRGUudGVtcGxhdGVIaXN0b3J5
Q29udGVudHMoKTtlLj0KaGlzdG9yaWVzLmdldChhKS5zZXQoe2NvbnRlbnRzOmJ9KSxlLm1vZGFs
LiRlbC5maW5kKCIjc2VsZWN0ZWRfaGlzdG9yeV9jb250PQplbnQiKS5odG1sKGMoe2hpc3Rvcnlf
Y29udGVudHM6Yi5tb2RlbHMucmV2ZXJzZSgpfSkpfSxlcnJvcjpmdW5jdGlvbihhLGIpe2M9Ci5l
cnJvcigidW5kZWZpbmVkIiE9M0R0eXBlb2YgYi5yZXNwb25zZUpTT04/Yi5yZXNwb25zZUpTT04u
ZXJyX21zZzoiQW4gZXJybz0KciBvY3VycmVkLiIpfX0pfSxhZGRBbGxEYXRhc2V0c0Zyb21IaXN0
b3J5OmZ1bmN0aW9uKCl7dmFyIGE9M0R0aGlzLm1vZGFsLiRlPQpsLmZpbmQoIiNzZWxlY3RlZF9o
aXN0b3J5X2NvbnRlbnQiKS5maW5kKCI6Y2hlY2tlZCIpLGI9M0RbXSxlPTNEW107aWYoYS5sZW49
Cmd0aDwxKWMuaW5mbygiWW91IG11c3Qgc2VsZWN0IHNvbWUgZGF0YXNldHMgZmlyc3QuIik7ZWxz
ZXt0aGlzLm1vZGFsLmRpc2FibD0KZUJ1dHRvbigiQWRkIiksYS5lYWNoKGZ1bmN0aW9uKCl7dmFy
IGE9M0QkKHRoaXMucGFyZW50RWxlbWVudCkuZGF0YSgiaWQiKTthPQomJmIucHVzaChhKX0pO2Zv
cih2YXIgZj0zRGIubGVuZ3RoLTE7Zj49M0QwO2YtLSl7aGlzdG9yeV9kYXRhc2V0X2lkPTNEYltm
XTs9CnZhciBnPTNEbmV3IGQuSXRlbTtnLnVybD0zRCh3aW5kb3cuZ2FsYXh5X2NvbmZpZz9nYWxh
eHlfY29uZmlnLnJvb3Q6Ii8iKSsiYT0KcGkvZm9sZGVycy8iK3RoaXMub3B0aW9ucy5pZCsiL2Nv
bnRlbnRzIixnLnNldCh7ZnJvbV9oZGFfaWQ6aGlzdG9yeV9kYXRhc2V0PQpfaWR9KSxlLnB1c2go
Zyl9dGhpcy5pbml0Q2hhaW5DYWxsQ29udHJvbCh7bGVuZ3RoOmUubGVuZ3RoLGFjdGlvbjoiYWRk
aW5nX2Q9CmF0YXNldHMifSksdGhpcy5jaGFpbkNhbGxBZGRpbmdIZGFzKGUpfX0sY2hhaW5DYWxs
SW1wb3J0aW5nSW50b0hpc3Rvcnk6ZnVuYz0KdGlvbihhLGIpe3ZhciBkPTNEdGhpcyxlPTNEYS5w
b3AoKTtpZigidW5kZWZpbmVkIj0zRD0zRHR5cGVvZiBlKXJldHVybiAwPTNEPQo9M0Q9M0R0aGlz
Lm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI/Yy5zdWNjZXNzKCJTZWxl
Y3RlZCBkYXQ9CmFzZXRzIGltcG9ydGVkIGludG8gaGlzdG9yeS4gQ2xpY2sgdGhpcyB0byBzdGFy
dCBhbmFseXNpbmcgaXQuIiwiIix7b25jbGljaz0KOmZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9u
PTNEIi8ifX0pOnRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkPQpfbnVtYmVy
PTNEPTNEPTNEdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC50b3RhbF9udW1iZXI/Yy5l
cnJvcigiVGhlcmU9CiB3YXMgYW4gZXJyb3IgYW5kIG5vIGRhdGFzZXRzIHdlcmUgaW1wb3J0ZWQg
aW50byBoaXN0b3J5LiIpOnRoaXMub3B0aW9ucy5jaD0KYWluX2NhbGxfY29udHJvbC5mYWlsZWRf
bnVtYmVyPHRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wudG90YWxfbnVtYmVyPQomJmMu
d2FybmluZygiU29tZSBvZiB0aGUgZGF0YXNldHMgY291bGQgbm90IGJlIGltcG9ydGVkIGludG8g
aGlzdG9yeS4gQ2xpY2s9CiB0aGlzIHRvIHNlZSB3aGF0IHdhcyBpbXBvcnRlZC4iLCIiLHtvbmNs
aWNrOmZ1bmN0aW9uKCl7d2luZG93LmxvY2F0aW9uPTNEIj0KLyJ9fSksR2FsYXh5Lm1vZGFsLmhp
ZGUoKSwhMDt2YXIgZj0zRCQud2hlbihlLnNhdmUoe2NvbnRlbnQ6ZS5jb250ZW50LHNvdXJjPQpl
OmUuc291cmNlfSkpO2YuZG9uZShmdW5jdGlvbigpe2QudXBkYXRlUHJvZ3Jlc3MoKSxkLmNoYWlu
Q2FsbEltcG9ydGluZ0ludG89Ckhpc3RvcnkoYSxiKX0pLmZhaWwoZnVuY3Rpb24oKXtkLm9wdGlv
bnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXIrPQo9M0QxLGQudXBkYXRlUHJvZ3Jl
c3MoKSxkLmNoYWluQ2FsbEltcG9ydGluZ0ludG9IaXN0b3J5KGEsYil9KX0sY2hhaW5DYWxsSW09
CnBvcnRpbmdVc2VyZGlyRmlsZXM6ZnVuY3Rpb24oYSl7dmFyIGI9M0R0aGlzLGQ9M0RhLnBhdGhz
LnBvcCgpO2lmKCJ1bmRlZmluZT0KZCI9M0Q9M0R0eXBlb2YgZClyZXR1cm4gMD0zRD0zRD0zRHRo
aXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251PQptYmVyPyhjLnN1Y2Nlc3Mo
IlNlbGVjdGVkIGZpbGVzIGltcG9ydGVkIGludG8gdGhlIGN1cnJlbnQgZm9sZGVyIiksR2FsYXh5
Lm09Cm9kYWwuaGlkZSgpKTpjLmVycm9yKCJBbiBlcnJvciBvY2N1cmVkLiIpLCEwO3ZhciBlPTNE
JC53aGVuKCQucG9zdCgod2luZG93Lj0KZ2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6
Ii8iKSsiYXBpL2xpYnJhcmllcy9kYXRhc2V0cz9lbmNvZGVkX2ZvbGRlPQpyX2lkPTNEIitiLmlk
KyImc291cmNlPTNEIithLnNvdXJjZSsiJnBhdGg9M0QiK2QrIiZmaWxlX3R5cGU9M0QiK2EuZmls
ZV90eXA9CmUrIiZkYmtleT0zRCIrYS5kYmtleSkpO2UuZG9uZShmdW5jdGlvbigpe2IudXBkYXRl
UHJvZ3Jlc3MoKSxiLmNoYWluQ2FsbEltcD0Kb3J0aW5nVXNlcmRpckZpbGVzKGEpfSkuZmFpbChm
dW5jdGlvbigpe2Iub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkPQpfbnVtYmVyKz0z
RDEsYi51cGRhdGVQcm9ncmVzcygpLGIuY2hhaW5DYWxsSW1wb3J0aW5nVXNlcmRpckZpbGVzKGEp
fSl9LGNoYWk9Cm5DYWxsSW1wb3J0aW5nRm9sZGVyczpmdW5jdGlvbihhKXt2YXIgYj0zRHRoaXMs
ZD0zRGEucGF0aHMucG9wKCk7aWYoInVuZGVmaT0KbmVkIj0zRD0zRHR5cGVvZiBkKXJldHVybiAw
PTNEPTNEPTNEdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC5mYWlsZWRfPQpudW1iZXI/
KGMuc3VjY2VzcygiU2VsZWN0ZWQgZm9sZGVycyBhbmQgdGhlaXIgY29udGVudHMgaW1wb3J0ZWQg
aW50byB0aGUgY3U9CnJyZW50IGZvbGRlci4iKSxHYWxheHkubW9kYWwuaGlkZSgpKTpjLmVycm9y
KCJBbiBlcnJvciBvY2N1cmVkLiIpLCEwO3ZhciBlPQo9M0QkLndoZW4oJC5wb3N0KCh3aW5kb3cu
Z2FsYXh5X2NvbmZpZz9nYWxheHlfY29uZmlnLnJvb3Q6Ii8iKSsiYXBpL2xpYnJhcmk9CmVzL2Rh
dGFzZXRzP2VuY29kZWRfZm9sZGVyX2lkPTNEIitiLmlkKyImc291cmNlPTNEIithLnNvdXJjZSsi
JnBhdGg9M0QiK2QrIj0KJnByZXNlcnZlX2RpcnM9M0QiK2EucHJlc2VydmVfZGlycysiJmxpbmtf
ZGF0YT0zRCIrYS5saW5rX2RhdGErIiZmaWxlX3R5cGU9Cj0zRCIrYS5maWxlX3R5cGUrIiZkYmtl
eT0zRCIrYS5kYmtleSkpO2UuZG9uZShmdW5jdGlvbigpe2IudXBkYXRlUHJvZ3Jlc3MoKT0KLGIu
Y2hhaW5DYWxsSW1wb3J0aW5nRm9sZGVycyhhKX0pLmZhaWwoZnVuY3Rpb24oKXtiLm9wdGlvbnMu
Y2hhaW5fY2FsbF9jb250PQpyb2wuZmFpbGVkX251bWJlcis9M0QxLGIudXBkYXRlUHJvZ3Jlc3Mo
KSxiLmNoYWluQ2FsbEltcG9ydGluZ0ZvbGRlcnMoYSl9KX09CixjaGFpbkNhbGxBZGRpbmdIZGFz
OmZ1bmN0aW9uKGEpe3ZhciBiPTNEdGhpczt0aGlzLmFkZGVkX2hkYXM9M0RuZXcgZC5Gb2xkZT0K
cjt2YXIgZT0zRGEucG9wKCk7aWYoInVuZGVmaW5lZCI9M0Q9M0R0eXBlb2YgZSlyZXR1cm4gMD0z
RD0zRD0zRHRoaXMub3B0aW9uPQpzLmNoYWluX2NhbGxfY29udHJvbC5mYWlsZWRfbnVtYmVyP2Mu
c3VjY2VzcygiU2VsZWN0ZWQgZGF0YXNldHMgZnJvbSBoaXN0b3I9CnkgYWRkZWQgdG8gdGhlIGZv
bGRlciIpOnRoaXMub3B0aW9ucy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcj0zRD0z
RD0KPTNEdGhpcy5vcHRpb25zLmNoYWluX2NhbGxfY29udHJvbC50b3RhbF9udW1iZXI/Yy5lcnJv
cigiVGhlcmUgd2FzIGFuIGVycm9yPQogYW5kIG5vIGRhdGFzZXRzIHdlcmUgYWRkZWQgdG8gdGhl
IGZvbGRlci4iKTp0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm89CmwuZmFpbGVkX251bWJl
cjx0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlciYmYy53YXJuaW5n
KCJTbz0KbWUgb2YgdGhlIGRhdGFzZXRzIGNvdWxkIG5vdCBiZSBhZGRlZCB0byB0aGUgZm9sZGVy
IiksR2FsYXh5Lm1vZGFsLmhpZGUoKSx0PQpoaXMuYWRkZWRfaGRhczt2YXIgZj0zRCQud2hlbihl
LnNhdmUoe2Zyb21faGRhX2lkOmUuZ2V0KCJmcm9tX2hkYV9pZCIpfSkpO2Y9Ci5kb25lKGZ1bmN0
aW9uKGMpe0dhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGlzdFZpZXcuY29sbGVjdGlvbi5hZGQoYyks
Yi51cGRhdD0KZVByb2dyZXNzKCksYi5jaGFpbkNhbGxBZGRpbmdIZGFzKGEpfSkuZmFpbChmdW5j
dGlvbigpe2Iub3B0aW9ucy5jaGFpbl9jYWxsPQpfY29udHJvbC5mYWlsZWRfbnVtYmVyKz0zRDEs
Yi51cGRhdGVQcm9ncmVzcygpLGIuY2hhaW5DYWxsQWRkaW5nSGRhcyhhKX0pfSw9CmNoYWluQ2Fs
bERlbGV0aW5nSXRlbXM6ZnVuY3Rpb24oYSl7dmFyIGI9M0R0aGlzO3RoaXMuZGVsZXRlZF9pdGVt
cz0zRG5ldyBkLj0KRm9sZGVyO3ZhciBlPTNEYS5wb3AoKTtpZigidW5kZWZpbmVkIj0zRD0zRHR5
cGVvZiBlKXJldHVybiAwPTNEPTNEPTNEdGhpcy5vPQpwdGlvbnMuY2hhaW5fY2FsbF9jb250cm9s
LmZhaWxlZF9udW1iZXI/Yy5zdWNjZXNzKCJTZWxlY3RlZCBpdGVtcyB3ZXJlIGRlbGU9CnRlZC4i
KTp0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI9M0Q9M0Q9M0R0
aGlzLm9wdGlvbnMuYz0KaGFpbl9jYWxsX2NvbnRyb2wudG90YWxfbnVtYmVyP2MuZXJyb3IoIlRo
ZXJlIHdhcyBhbiBlcnJvciBhbmQgbm8gaXRlbXMgd2VyPQplIGRlbGV0ZWQuIFBsZWFzZSBtYWtl
IHN1cmUgeW91IGhhdmUgc3VmZmljaWVudCBwZXJtaXNzaW9ucy4iKTp0aGlzLm9wdGlvbnM9Ci5j
aGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcjx0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9j
b250cm9sLnRvdGFsX251bT0KYmVyJiZjLndhcm5pbmcoIlNvbWUgb2YgdGhlIGl0ZW1zIGNvdWxk
IG5vdCBiZSBkZWxldGVkLiBQbGVhc2UgbWFrZSBzdXJlIHlvPQp1IGhhdmUgc3VmZmljaWVudCBw
ZXJtaXNzaW9ucy4iKSxHYWxheHkubW9kYWwuaGlkZSgpLHRoaXMuZGVsZXRlZF9pdGVtczt2YXI9
CiBmPTNEJC53aGVuKGUuZGVzdHJveSgpKTtmLmRvbmUoZnVuY3Rpb24oYyl7aWYoR2FsYXh5Lmxp
YnJhcmllcy5mb2xkZXJMaXN0Vj0KaWV3LmNvbGxlY3Rpb24ucmVtb3ZlKGUuaWQpLGIudXBkYXRl
UHJvZ3Jlc3MoKSxHYWxheHkubGlicmFyaWVzLmZvbGRlckxpc3RWPQppZXcub3B0aW9ucy5pbmNs
dWRlX2RlbGV0ZWQpe3ZhciBmPTNEbnVsbDsiZm9sZGVyIj0zRD0zRD0zRGMudHlwZXx8IkxpYnJh
cnk9CkZvbGRlciI9M0Q9M0Q9M0RjLm1vZGVsX2NsYXNzP2Y9M0RuZXcgZC5Gb2xkZXJBc01vZGVs
KGMpOiJmaWxlIj0zRD0zRD0zRGMudD0KeXBlfHwiTGlicmFyeURhdGFzZXQiPTNEPTNEPTNEYy5t
b2RlbF9jbGFzcz9mPTNEbmV3IGQuSXRlbShjKTooY29uc29sZS5lcnJvPQpyKCJVbmtub3duIGxp
YnJhcnkgaXRlbSB0eXBlIGZvdW5kLiIpLGNvbnNvbGUuZXJyb3IoYy50eXBlfHxjLm1vZGVsX2Ns
YXNzKSk9CixHYWxheHkubGlicmFyaWVzLmZvbGRlckxpc3RWaWV3LmNvbGxlY3Rpb24uYWRkKGYp
fWIuY2hhaW5DYWxsRGVsZXRpbmdJdGVtcz0KKGEpfSkuZmFpbChmdW5jdGlvbigpe2Iub3B0aW9u
cy5jaGFpbl9jYWxsX2NvbnRyb2wuZmFpbGVkX251bWJlcis9M0QxLGIudXBkPQphdGVQcm9ncmVz
cygpLGIuY2hhaW5DYWxsRGVsZXRpbmdJdGVtcyhhKX0pfSxjaGVja0luY2x1ZGVEZWxldGVkOmZ1
bmN0aW9uKGE9Cil7R2FsYXh5LmxpYnJhcmllcy5mb2xkZXJMaXN0Vmlldy5mZXRjaEZvbGRlcihh
LnRhcmdldC5jaGVja2VkP3tpbmNsdWRlX2RlbD0KZXRlZDohMH06e2luY2x1ZGVfZGVsZXRlZDoh
MX0pfSxkZWxldGVTZWxlY3RlZERhdGFzZXRzOmZ1bmN0aW9uKCl7dmFyIGE9M0QkPQooIiNmb2xk
ZXJfdGFibGUiKS5maW5kKCI6Y2hlY2tlZCIpO2lmKDA9M0Q9M0Q9M0RhLmxlbmd0aCljLmluZm8o
IllvdSBtdXN0IHM9CmVsZWN0IGF0IGxlYXN0IG9uZSBkYXRhc2V0IGZvciBkZWxldGlvbi4iKTtl
bHNle3ZhciBiPTNEdGhpcy50ZW1wbGF0ZURlbGV0aT0KbmdEYXRhc2V0c1Byb2dyZXNzQmFyKCk7
dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3NpbmdfPQpldmVu
dHM6ITAsdGl0bGU6IkRlbGV0aW5nIHNlbGVjdGVkIGRhdGFzZXRzIixib2R5OmIoe30pLGJ1dHRv
bnM6e0Nsb3NlOmZ1bmM9CnRpb24oKXtHYWxheHkubW9kYWwuaGlkZSgpfX19KSx0aGlzLm9wdGlv
bnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlcj0KPTNEMCx0aGlzLm9wdGlvbnMuY2hh
aW5fY2FsbF9jb250cm9sLmZhaWxlZF9udW1iZXI9M0QwO3ZhciBlPTNEW10sZj0zRFtdO2EuPQpl
YWNoKGZ1bmN0aW9uKCl7IiIhPTNEPTNEdGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQu
aWQmJigiRiI9M0Q9M0R0aGk9CnMucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmlkLnN1YnN0
cmluZygwLDEpP2YucHVzaCh0aGlzLnBhcmVudEVsZW1lbnQucD0KYXJlbnRFbGVtZW50LmlkKTpl
LnB1c2godGhpcy5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQuaWQpKX0pO3ZhciBnPTNEZS5s
PQplbmd0aCtmLmxlbmd0aDt0aGlzLnByb2dyZXNzU3RlcD0zRDEwMC9nLHRoaXMucHJvZ3Jlc3M9
M0QwO2Zvcih2YXIgaD0zRFtdLGk9Cj0zRGUubGVuZ3RoLTE7aT49M0QwO2ktLSl7dmFyIGo9M0Ru
ZXcgZC5JdGVtKHtpZDplW2ldfSk7aC5wdXNoKGopfWZvcih2YXIgaT0KPTNEZi5sZW5ndGgtMTtp
Pj0zRDA7aS0tKXt2YXIgaz0zRG5ldyBkLkZvbGRlckFzTW9kZWwoe2lkOmZbaV19KTtoLnB1c2go
ayl9PQp0aGlzLm9wdGlvbnMuY2hhaW5fY2FsbF9jb250cm9sLnRvdGFsX251bWJlcj0zRGcubGVu
Z3RoLHRoaXMuY2hhaW5DYWxsRGVsZXQ9CmluZ0l0ZW1zKGgpfX0sc2hvd0xpYkluZm86ZnVuY3Rp
b24oKXt2YXIgYT0zREdhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGlzdFZpZT0Kdy5mb2xkZXJDb250
YWluZXIuYXR0cmlidXRlcy5tZXRhZGF0YS5wYXJlbnRfbGlicmFyeV9pZCxiPTNEbnVsbCxlPTNE
dGhpcztuPQp1bGwhPTNEPTNER2FsYXh5LmxpYnJhcmllcy5saWJyYXJ5TGlzdFZpZXc/KGI9M0RH
YWxheHkubGlicmFyaWVzLmxpYnJhcnlMaXM9CnRWaWV3LmNvbGxlY3Rpb24uZ2V0KGEpLHRoaXMu
c2hvd0xpYkluZm9Nb2RhbChiKSk6KGI9M0RuZXcgZC5MaWJyYXJ5KHtpZDphfT0KKSxiLmZldGNo
KHtzdWNjZXNzOmZ1bmN0aW9uKCl7ZS5zaG93TGliSW5mb01vZGFsKGIpfSxlcnJvcjpmdW5jdGlv
bihhLGIpe2MuPQplcnJvcigidW5kZWZpbmVkIiE9M0R0eXBlb2YgYi5yZXNwb25zZUpTT04/Yi5y
ZXNwb25zZUpTT04uZXJyX21zZzoiQW4gZXJyb3I9CiBvY3VycmVkLiIpfX0pKX0sc2hvd0xpYklu
Zm9Nb2RhbDpmdW5jdGlvbihhKXt2YXIgYj0zRHRoaXMudGVtcGxhdGVMaWJJbmZvST0Kbk1vZGFs
KCk7dGhpcy5tb2RhbD0zREdhbGF4eS5tb2RhbCx0aGlzLm1vZGFsLnNob3coe2Nsb3NpbmdfZXZl
bnRzOiEwLHRpdGxlPQo6IkxpYnJhcnkgSW5mb3JtYXRpb24iLGJvZHk6Yih7bGlicmFyeTphfSks
YnV0dG9uczp7Q2xvc2U6ZnVuY3Rpb24oKXtHYWxheHk9Ci5tb2RhbC5oaWRlKCl9fX0pfSxzaG93
SW1wb3J0TW9kYWw6ZnVuY3Rpb24oYSl7c3dpdGNoKGEuc291cmNlKXtjYXNlImhpc3Rvcj0KeSI6
dGhpcy5hZGRGaWxlc0Zyb21IaXN0b3J5TW9kYWwoKTticmVhaztjYXNlImltcG9ydGRpciI6dGhp
cy5pbXBvcnRGaWxlc0ZyPQpvbUdhbGF4eUZvbGRlck1vZGFsKHtzb3VyY2U6ImltcG9ydGRpciJ9
KTticmVhaztjYXNlInBhdGgiOnRoaXMuaW1wb3J0RmlsZXM9CkZyb21QYXRoTW9kYWwoKTticmVh
aztjYXNlInVzZXJkaXIiOnRoaXMuaW1wb3J0RmlsZXNGcm9tR2FsYXh5Rm9sZGVyTW9kYWwoez0K
c291cmNlOiJ1c2VyZGlyIn0pO2JyZWFrO2RlZmF1bHQ6R2FsYXh5LmxpYnJhcmllcy5saWJyYXJ5
X3JvdXRlci5iYWNrKCksYy5lPQpycm9yKCJJbnZhbGlkIGltcG9ydCBzb3VyY2UuIil9fSxzaG93
UGFnZVNpemVQcm9tcHQ6ZnVuY3Rpb24oKXt2YXIgYT0zRHByb209CnB0KCJIb3cgbWFueSBpdGVt
cyBwZXIgcGFnZSBkbyB5b3Ugd2FudCB0byBzZWU/IixHYWxheHkubGlicmFyaWVzLnByZWZlcmVu
Yz0KZXMuZ2V0KCJmb2xkZXJfcGFnZV9zaXplIikpO251bGwhPTNEYSYmYT0zRD0zRHBhcnNlSW50
KGEpJiYoR2FsYXh5LmxpYnJhcmllPQpzLnByZWZlcmVuY2VzLnNldCh7Zm9sZGVyX3BhZ2Vfc2l6
ZTpwYXJzZUludChhKX0pLEdhbGF4eS5saWJyYXJpZXMuZm9sZGVyTGk9CnN0Vmlldy5yZW5kZXIo
e2lkOnRoaXMub3B0aW9ucy5pZCxzaG93X3BhZ2U6MX0pKX0sdGVtcGxhdGVUb29sQmFyOmZ1bmN0
aW9uKD0KKXtyZXR1cm4gdG1wbF9hcnJheT0zRFtdLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBjbGFz
cz0zRCJsaWJyYXJ5X3N0eWxlX2NvbnRhPQppbmVyIj4nKSx0bXBsX2FycmF5LnB1c2goJyA8ZGl2
IGlkPTNEImxpYnJhcnlfdG9vbGJhciI+JyksdG1wbF9hcnJheS5wdXNoKCc9Cjxmb3JtIGNsYXNz
PTNEImZvcm0taW5saW5lIiByb2xlPTNEImZvcm0iPicpLHRtcGxfYXJyYXkucHVzaCgiICAgPHNw
YW4+PHN0cj0Kb25nPkRBVEEgTElCUkFSSUVTPC9zdHJvbmc+PC9zcGFuPiIpLHRtcGxfYXJyYXku
cHVzaCgnICAgICAgICAgIDxzcGFuIGlkPTNEPQoiZm9sZGVyX3BhZ2luYXRvciIgY2xhc3M9M0Qi
bGlicmFyeS1wYWdpbmF0b3IiPicpLHRtcGxfYXJyYXkucHVzaCgiICAgICAgICA9CiAgPC9zcGFu
PiIpLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBjbGFzcz0zRCJjaGVja2JveCB0b29sYmFyLWl0ZW0g
bG9nZ2VkLWRhdD0KYXNldC1tYW5pcHVsYXRpb24iIHN0eWxlPTNEImhlaWdodDogMjBweDsgZGlz
cGxheTpub25lOyI+JyksdG1wbF9hcnJheS5wdXNoPQooIjxsYWJlbD4iKSx0bXBsX2FycmF5LnB1
c2goJzxpbnB1dCBpZD0zRCJpbmNsdWRlX2RlbGV0ZWRfZGF0YXNldHNfY2hrIiB0eXA9CmU9M0Qi
Y2hlY2tib3giPiBpbmNsdWRlIGRlbGV0ZWQgPC9pbnB1dD4nKSx0bXBsX2FycmF5LnB1c2goIjwv
bGFiZWw+IiksdG1wbD0KX2FycmF5LnB1c2goIjwvZGl2PiIpLHRtcGxfYXJyYXkucHVzaCgnICAg
PGJ1dHRvbiBzdHlsZT0zRCJkaXNwbGF5Om5vbmU7IiBkPQphdGEtdG9nZ2xlPTNEInRvb2x0aXAi
IGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiQ3JlYXRlIE5ldyBGb2xkZXIiIGk9CmQ9
M0QidG9vbGJ0bl9jcmVhdGVfZm9sZGVyIiBjbGFzcz0zRCJidG4gYnRuLWRlZmF1bHQgcHJpbWFy
eS1idXR0b24gYWRkLWxpYj0KcmFyeS1pdGVtcyIgdHlwZT0zRCJidXR0b24iPjxzcGFuIGNsYXNz
PTNEImZhIGZhLXBsdXMiPjwvc3Bhbj48c3BhbiBjbGFzcz0KPTNEImZhIGZhLWZvbGRlciI+PC9z
cGFuPjwvYnV0dG9uPicpLHRtcGxfYXJyYXkucHVzaCgiPCUgaWYobXV0aXBsZV9hZGRfZGF0PQph
c2V0X29wdGlvbnMpIHsgJT4iKSx0bXBsX2FycmF5LnB1c2goJyAgIDxkaXYgY2xhc3M9M0QiYnRu
LWdyb3VwIGFkZC1saWJyYXI9CnktaXRlbXMiIHN0eWxlPTNEImRpc3BsYXk6bm9uZTsiPicpLHRt
cGxfYXJyYXkucHVzaCgnICAgICA8YnV0dG9uIHRpdGxlPTNEIj0KQWRkIERhdGFzZXRzIHRvIEN1
cnJlbnQgRm9sZGVyIiBpZD0zRCIiIHR5cGU9M0QiYnV0dG9uIiBjbGFzcz0zRCJwcmltYXJ5LWJ1
PQp0dG9uIGRyb3Bkb3duLXRvZ2dsZSIgZGF0YS10b2dnbGU9M0QiZHJvcGRvd24iPicpLHRtcGxf
YXJyYXkucHVzaCgnICAgICA8c3A9CmFuIGNsYXNzPTNEImZhIGZhLXBsdXMiPjwvc3Bhbj48c3Bh
biBjbGFzcz0zRCJmYSBmYS1maWxlIj48L3NwYW4+PHNwYW4gY2xhcz0Kcz0zRCJjYXJldCI+PC9z
cGFuPicpLHRtcGxfYXJyYXkucHVzaCgiICAgICA8L2J1dHRvbj4iKSx0bXBsX2FycmF5LnB1c2go
JyAgPQogICA8dWwgY2xhc3M9M0QiZHJvcGRvd24tbWVudSIgcm9sZT0zRCJtZW51Ij4nKSx0bXBs
X2FycmF5LnB1c2goJyAgICAgICAgPGw9Cmk+PGEgaHJlZj0zRCIjZm9sZGVycy88JT0zRCBpZCAl
Pi9pbXBvcnQvaGlzdG9yeSI+IGZyb20gSGlzdG9yeTwvYT48L2xpPicpLD0KdG1wbF9hcnJheS5w
dXNoKCI8JSBpZihHYWxheHkuY29uZmlnLnVzZXJfbGlicmFyeV9pbXBvcnRfZGlyICE9M0Q9M0Qg
bnVsbCkgPQp7ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgIDxsaT48YSBocmVmPTNEIiNm
b2xkZXJzLzwlPTNEIGlkICU+L2ltcG9ydC89CnVzZXJkaXIiPiBmcm9tIFVzZXIgRGlyZWN0b3J5
PC9hPjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCI8JSB9ICU+IiksdG1wbF9hcj0KcmF5LnB1c2go
IjwlIGlmKEdhbGF4eS5jb25maWcuYWxsb3dfbGlicmFyeV9wYXRoX3Bhc3RlKSB7ICU+IiksdG1w
bF9hcnJheS5wPQp1c2goJyAgIDxsaSBjbGFzcz0zRCJkaXZpZGVyIj48L2xpPicpLHRtcGxfYXJy
YXkucHVzaCgnICAgPGxpIGNsYXNzPTNEImRyb3A9CmRvd24taGVhZGVyIj5BZG1pbnMgb25seTwv
bGk+JyksdG1wbF9hcnJheS5wdXNoKCI8JSBpZihHYWxheHkuY29uZmlnLmxpYnJhcj0KeV9pbXBv
cnRfZGlyICE9M0Q9M0QgbnVsbCkgeyAlPiIpLHRtcGxfYXJyYXkucHVzaCgnICAgPGxpPjxhIGhy
ZWY9M0QiI2ZvbGRlPQpycy88JT0zRCBpZCAlPi9pbXBvcnQvaW1wb3J0ZGlyIj5mcm9tIEltcG9y
dCBEaXJlY3Rvcnk8L2E+PC9saT4nKSx0bXBsX2FycmE9CnkucHVzaCgiPCUgfSAlPiIpLHRtcGxf
YXJyYXkucHVzaCgiPCUgaWYoR2FsYXh5LmNvbmZpZy5hbGxvd19saWJyYXJ5X3BhdGhfcD0KYXN0
ZSkgeyAlPiIpLHRtcGxfYXJyYXkucHVzaCgnICAgICAgICA8bGk+PGEgaHJlZj0zRCIjZm9sZGVy
cy88JT0zRCBpZCAlPi9pPQptcG9ydC9wYXRoIj5mcm9tIFBhdGg8L2E+PC9saT4nKSx0bXBsX2Fy
cmF5LnB1c2goIjwlIH0gJT4iKSx0bXBsX2FycmF5LnB1c2g9CigiPCUgfSAlPiIpLHRtcGxfYXJy
YXkucHVzaCgiICAgICA8L3VsPiIpLHRtcGxfYXJyYXkucHVzaCgiICAgPC9kaXY+IiksdG1wbD0K
X2FycmF5LnB1c2goIjwlIH0gZWxzZSB7ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgPGEgIGRhdGEt
cGxhY2VtZW50PTNEInRvcCIgPQp0aXRsZT0zRCJBZGQgRGF0YXNldHMgdG8gQ3VycmVudCBGb2xk
ZXIiIHN0eWxlPTNEImRpc3BsYXk6bm9uZTsiIGNsYXNzPTNEImI9CnRuIGJ0bi1kZWZhdWx0IGFk
ZC1saWJyYXJ5LWl0ZW1zIiBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L2ltcG9ydC9oaXN0
bz0KcnkiIHJvbGU9M0QiYnV0dG9uIj48c3BhbiBjbGFzcz0zRCJmYSBmYS1wbHVzIj48L3NwYW4+
PHNwYW4gY2xhc3M9M0QiZmEgZmEtPQpmaWxlIj48L3NwYW4+PC9zcGFuPjwvYT4nKSx0bXBsX2Fy
cmF5LnB1c2goIjwlIH0gJT4iKSx0bXBsX2FycmF5LnB1c2goJyAgPGI9CnV0dG9uIGRhdGEtdG9n
Z2xlPTNEInRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiSW1wb3J0IHNl
bGVjdD0KZWQgZGF0YXNldHMgaW50byBoaXN0b3J5IiBpZD0zRCJ0b29sYnRuX2J1bGtfaW1wb3J0
IiBjbGFzcz0zRCJwcmltYXJ5LWJ1dHRvPQpuIGRhdGFzZXQtbWFuaXB1bGF0aW9uIiBzdHlsZT0z
RCJtYXJnaW4tbGVmdDogMC41ZW07IGRpc3BsYXk6bm9uZTsiIHR5cGU9M0Q9CiJidXR0b24iPjxz
cGFuIGNsYXNzPTNEImZhIGZhLWJvb2siPjwvc3Bhbj4gdG8gSGlzdG9yeTwvYnV0dG9uPicpLHRt
cGxfYXJyYT0KeS5wdXNoKCcgICA8ZGl2IGlkPTNEInRvb2xidG5fZGwiIGNsYXNzPTNEImJ0bi1n
cm91cCBkYXRhc2V0LW1hbmlwdWxhdGlvbiIgPQpzdHlsZT0zRCJtYXJnaW4tbGVmdDogMC41ZW07
IGRpc3BsYXk6bm9uZTsgIj4nKSx0bXBsX2FycmF5LnB1c2goJyAgICAgPGJ1dHQ9Cm9uIHRpdGxl
PTNEIkRvd25sb2FkIHNlbGVjdGVkIGRhdGFzZXRzIGFzIGFyY2hpdmUiIGlkPTNEImRyb3BfdG9n
Z2xlIiB0eXBlPQo9M0QiYnV0dG9uIiBjbGFzcz0zRCJwcmltYXJ5LWJ1dHRvbiBkcm9wZG93bi10
b2dnbGUiIGRhdGEtdG9nZ2xlPTNEImRyb3Bkb3c9Cm4iPicpLHRtcGxfYXJyYXkucHVzaCgnICAg
ICA8c3BhbiBjbGFzcz0zRCJmYSBmYS1kb3dubG9hZCI+PC9zcGFuPiBEb3dubG9hZD0KIDxzcGFu
IGNsYXNzPTNEImNhcmV0Ij48L3NwYW4+JyksdG1wbF9hcnJheS5wdXNoKCIgICAgIDwvYnV0dG9u
PiIpLHRtcGxfYXJyPQpheS5wdXNoKCcgICAgIDx1bCBjbGFzcz0zRCJkcm9wZG93bi1tZW51IiBy
b2xlPTNEIm1lbnUiPicpLHRtcGxfYXJyYXkucHVzaCg9CicgICAgICAgIDxsaT48YSBocmVmPTNE
IiMvZm9sZGVycy88JT0zRCBpZCAlPi9kb3dubG9hZC90Z3oiPi50YXIuZ3o8L2E+PC9saT0KPicp
LHRtcGxfYXJyYXkucHVzaCgnICAgICAgICA8bGk+PGEgaHJlZj0zRCIjL2ZvbGRlcnMvPCU9M0Qg
aWQgJT4vZG93bmxvYWQvPQp0YnoiPi50YXIuYno8L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2go
JyAgICAgICAgPGxpPjxhIGhyZWY9M0QiIy9mb2xkZXJzLzw9CiU9M0QgaWQgJT4vZG93bmxvYWQv
emlwIj4uemlwPC9hPjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCIgICAgIDwvdWw+IiksdG1wbD0K
X2FycmF5LnB1c2goIiAgIDwvZGl2PiIpLHRtcGxfYXJyYXkucHVzaCgnICAgPGJ1dHRvbiBkYXRh
LXRvZ2dsZT0zRCJ0b29sdGlwPQoiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgdGl0bGU9M0QiTWFy
ayBzZWxlY3RlZCBkYXRhc2V0cyBkZWxldGVkIiBpZD0zRCJ0b289CmxidG5fYnVsa19kZWxldGUi
IGNsYXNzPTNEInByaW1hcnktYnV0dG9uIGxvZ2dlZC1kYXRhc2V0LW1hbmlwdWxhdGlvbiIgc3R5
bD0KZT0zRCJtYXJnaW4tbGVmdDogMC41ZW07IGRpc3BsYXk6bm9uZTsgIiB0eXBlPTNEImJ1dHRv
biI+PHNwYW4gY2xhc3M9M0QiZmEgPQpmYS10aW1lcyI+PC9zcGFuPiBEZWxldGU8L2J1dHRvbj4n
KSx0bXBsX2FycmF5LnB1c2goJyAgIDxidXR0b24gZGF0YS1pZD0zRCI9CjwlLSBpZCAlPiIgZGF0
YS10b2dnbGU9M0QidG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9M0QidG9wIiB0aXRsZT0zRCJTaG93
IGxpYj0KcmFyeSBpbmZvcm1hdGlvbiIgaWQ9M0QidG9vbGJ0bl9zaG93X2xpYmluZm8iIGNsYXNz
PTNEInByaW1hcnktYnV0dG9uIiBzdHlsPQplPTNEIm1hcmdpbi1sZWZ0OiAwLjVlbTsiIHR5cGU9
M0QiYnV0dG9uIj48c3BhbiBjbGFzcz0zRCJmYSBmYS1pbmZvLWNpcmNsZSI9Cj48L3NwYW4+IExp
YnJhcnkgSW5mbzwvYnV0dG9uPicpLHRtcGxfYXJyYXkucHVzaCgnICAgPHNwYW4gY2xhc3M9M0Qi
aGVscC1idT0KdHRvbiIgZGF0YS10b2dnbGU9M0QidG9vbHRpcCIgZGF0YS1wbGFjZW1lbnQ9M0Qi
dG9wIiB0aXRsZT0zRCJWaXNpdCBMaWJyYXJpPQplcyBXaWtpIj48YSBocmVmPTNEImh0dHBzOi8v
d2lraS5nYWxheHlwcm9qZWN0Lm9yZy9EYXRhTGlicmFyaWVzL3NjcmVlbi9Gb2w9CmRlckNvbnRl
bnRzIiB0YXJnZXQ9M0QiX2JsYW5rIj48YnV0dG9uIGNsYXNzPTNEInByaW1hcnktYnV0dG9uIiB0
eXBlPTNEImJ1dD0KdG9uIj48c3BhbiBjbGFzcz0zRCJmYSBmYS1xdWVzdGlvbi1jaXJjbGUiPjwv
c3Bhbj4gSGVscDwvYnV0dG9uPjwvYT48L3NwYW4+PQonKSx0bXBsX2FycmF5LnB1c2goIiA8L2Rp
dj4iKSx0bXBsX2FycmF5LnB1c2goIjwvZm9ybT4iKSx0bXBsX2FycmF5LnB1c2goJyA9CjxkaXYg
aWQ9M0QiZm9sZGVyX2l0ZW1zX2VsZW1lbnQiPicpLHRtcGxfYXJyYXkucHVzaCgiIDwvZGl2PiIp
LHRtcGxfYXJyYXkucD0KdXNoKCI8L2Rpdj4iKSxfLnRlbXBsYXRlKHRtcGxfYXJyYXkuam9pbigi
IikpfSx0ZW1wbGF0ZUxpYkluZm9Jbk1vZGFsOmZ1bmN0PQppb24oKXtyZXR1cm4gdG1wbF9hcnJh
eT0zRFtdLHRtcGxfYXJyYXkucHVzaCgnPGRpdiBpZD0zRCJsaWZfaW5mb19tb2RhbCI+Jyk9Cix0
bXBsX2FycmF5LnB1c2goIjxoMj5MaWJyYXJ5IG5hbWU6PC9oMj4iKSx0bXBsX2FycmF5LnB1c2go
JzxwPjwlLSBsaWJyYXJ5Lj0KZ2V0KCJuYW1lIikgJT48L3A+JyksdG1wbF9hcnJheS5wdXNoKCI8
aDM+TGlicmFyeSBkZXNjcmlwdGlvbjo8L2gzPiIpLHRtcGxfPQphcnJheS5wdXNoKCc8cD48JS0g
bGlicmFyeS5nZXQoImRlc2NyaXB0aW9uIikgJT48L3A+JyksdG1wbF9hcnJheS5wdXNoKCI8aDM9
Cj5MaWJyYXJ5IHN5bm9wc2lzOjwvaDM+IiksdG1wbF9hcnJheS5wdXNoKCc8cD48JS0gbGlicmFy
eS5nZXQoInN5bm9wc2lzIikgJT0KPjwvcD4nKSx0bXBsX2FycmF5LnB1c2goJzxwIGRhdGEtdG9n
Z2xlPTNEInRvb2x0aXAiIGRhdGEtcGxhY2VtZW50PTNEInRvcCIgPQp0aXRsZT0zRCI8JS0gbGli
cmFyeS5nZXQoImNyZWF0ZV90aW1lIikgJT4iPmNyZWF0ZWQgPCUtIGxpYnJhcnkuZ2V0KCJjcmVh
dGU9Cl90aW1lX3ByZXR0eSIpICU+PC9wPicpLHRtcGxfYXJyYXkucHVzaCgiPC9kaXY+IiksXy50
ZW1wbGF0ZSh0bXBsX2FycmF5LmpvaT0KbigiIikpfSx0ZW1wbGF0ZU5ld0ZvbGRlckluTW9kYWw6
ZnVuY3Rpb24oKXtyZXR1cm4gdG1wbF9hcnJheT0zRFtdLHRtcGxfYXJyPQpheS5wdXNoKCc8ZGl2
IGlkPTNEIm5ld19mb2xkZXJfbW9kYWwiPicpLHRtcGxfYXJyYXkucHVzaCgiPGZvcm0+IiksdG1w
bF9hcnI9CmF5LnB1c2goJzxpbnB1dCB0eXBlPTNEInRleHQiIG5hbWU9M0QiTmFtZSIgdmFsdWU9
M0QiIiBwbGFjZWhvbGRlcj0zRCJOYW1lIj0KPicpLHRtcGxfYXJyYXkucHVzaCgnPGlucHV0IHR5
cGU9M0QidGV4dCIgbmFtZT0zRCJEZXNjcmlwdGlvbiIgdmFsdWU9M0QiIiBwPQpsYWNlaG9sZGVy
PTNEIkRlc2NyaXB0aW9uIj4nKSx0bXBsX2FycmF5LnB1c2goIjwvZm9ybT4iKSx0bXBsX2FycmF5
LnB1c2goIjw9Ci9kaXY+IiksXy50ZW1wbGF0ZSh0bXBsX2FycmF5LmpvaW4oIiIpKX0sdGVtcGxh
dGVCdWxrSW1wb3J0SW5Nb2RhbDpmdW5jdGlvbj0KKCl7dmFyIGE9M0RbXTtyZXR1cm4gYS5wdXNo
KCc8c3BhbiBpZD0zRCJoaXN0b3J5X21vZGFsX2NvbWJvX2J1bGsiIHN0eWxlPTNEPQoid2lkdGg6
OTAlOyBtYXJnaW4tbGVmdDogMWVtOyBtYXJnaW4tcmlnaHQ6IDFlbTsgIj4nKSxhLnB1c2goIlNl
bGVjdCBoaXN0b3I9Cnk6ICIpLGEucHVzaCgnPHNlbGVjdCBpZD0zRCJkYXRhc2V0X2ltcG9ydF9i
dWxrIiBuYW1lPTNEImRhdGFzZXRfaW1wb3J0X2J1bD0KayIgc3R5bGU9M0Qid2lkdGg6NTAlOyBt
YXJnaW4tYm90dG9tOiAxZW07ICI+ICcpLGEucHVzaCgiICAgPCUgXy5lYWNoKGhpc3RvPQpyaWVz
LCBmdW5jdGlvbihoaXN0b3J5KSB7ICU+IiksYS5wdXNoKCcgICAgICAgPG9wdGlvbiB2YWx1ZT0z
RCI8JT0zRCBfLmVzY2E9CnBlKGhpc3RvcnkuZ2V0KCJpZCIpKSAlPiI+PCU9M0QgXy5lc2NhcGUo
aGlzdG9yeS5nZXQoIm5hbWUiKSkgJT48L29wdGlvbj4nKT0KLGEucHVzaCgiICAgPCUgfSk7ICU+
IiksYS5wdXNoKCI8L3NlbGVjdD4iKSxhLnB1c2goIjwvc3Bhbj4iKSxfLnRlbXBsYXRlKGEuPQpq
b2luKCIiKSl9LHRlbXBsYXRlSW1wb3J0SW50b0hpc3RvcnlQcm9ncmVzc0JhcjpmdW5jdGlvbigp
e3ZhciBhPTNEW107cmV0dXI9Cm4gYS5wdXNoKCc8ZGl2IGNsYXNzPTNEImltcG9ydF90ZXh0Ij4n
KSxhLnB1c2goIkltcG9ydGluZyBzZWxlY3RlZCBkYXRhc2V0cz0KIHRvIGhpc3RvcnkgPGI+PCU9
M0QgXy5lc2NhcGUoaGlzdG9yeV9uYW1lKSAlPjwvYj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVz
PQpoKCc8ZGl2IGNsYXNzPTNEInByb2dyZXNzIj4nKSxhLnB1c2goJyAgIDxkaXYgY2xhc3M9M0Qi
cHJvZ3Jlc3MtYmFyIHByb2dyZXM9CnMtYmFyLWltcG9ydCIgcm9sZT0zRCJwcm9ncmVzc2JhciIg
YXJpYS12YWx1ZW5vdz0zRCIwIiBhcmlhLXZhbHVlbWluPTNEIjAiID0KYXJpYS12YWx1ZW1heD0z
RCIxMDAiIHN0eWxlPTNEIndpZHRoOiAwMCU7Ij4nKSxhLnB1c2goJyAgICAgICA8c3BhbiBjbGFz
cz0KPTNEImNvbXBsZXRpb25fc3BhbiI+MCUgQ29tcGxldGU8L3NwYW4+JyksYS5wdXNoKCIgICA8
L2Rpdj4iKSxhLnB1c2goIjwvZGl2PQo+IiksYS5wdXNoKCIiKSxfLnRlbXBsYXRlKGEuam9pbigi
IikpfSx0ZW1wbGF0ZUFkZGluZ0RhdGFzZXRzUHJvZ3Jlc3NCYXI6ZnU9Cm5jdGlvbigpe3ZhciBh
PTNEW107cmV0dXJuIGEucHVzaCgnPGRpdiBjbGFzcz0zRCJpbXBvcnRfdGV4dCI+JyksYS5wdXNo
KCJBZD0KZGluZyBzZWxlY3RlZCBkYXRhc2V0cyB0byBsaWJyYXJ5IGZvbGRlciA8Yj48JT0zRCBf
LmVzY2FwZShmb2xkZXJfbmFtZSkgJT48PQovYj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgn
PGRpdiBjbGFzcz0zRCJwcm9ncmVzcyI+JyksYS5wdXNoKCcgICA8ZGl2IGM9Cmxhc3M9M0QicHJv
Z3Jlc3MtYmFyIHByb2dyZXNzLWJhci1pbXBvcnQiIHJvbGU9M0QicHJvZ3Jlc3NiYXIiIGFyaWEt
dmFsdWVubz0Kdz0zRCIwIiBhcmlhLXZhbHVlbWluPTNEIjAiIGFyaWEtdmFsdWVtYXg9M0QiMTAw
IiBzdHlsZT0zRCJ3aWR0aDogMDAlOyI+JyksPQphLnB1c2goJyAgICAgICA8c3BhbiBjbGFzcz0z
RCJjb21wbGV0aW9uX3NwYW4iPjAlIENvbXBsZXRlPC9zcGFuPicpLGEucHVzaCg9CiIgICA8L2Rp
dj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgiIiksXy50ZW1wbGF0ZShhLmpvaW4oIiIpKX0s
dGVtcGxhdGVEZT0KbGV0aW5nRGF0YXNldHNQcm9ncmVzc0JhcjpmdW5jdGlvbigpe3ZhciBhPTNE
W107cmV0dXJuIGEucHVzaCgnPGRpdiBjbGFzcz0KPTNEImltcG9ydF90ZXh0Ij4nKSxhLnB1c2go
IjwvZGl2PiIpLGEucHVzaCgnPGRpdiBjbGFzcz0zRCJwcm9ncmVzcyI+JyksYS5wPQp1c2goJyAg
IDxkaXYgY2xhc3M9M0QicHJvZ3Jlc3MtYmFyIHByb2dyZXNzLWJhci1pbXBvcnQiIHJvbGU9M0Qi
cHJvZ3Jlc3NiYXI9CiIgYXJpYS12YWx1ZW5vdz0zRCIwIiBhcmlhLXZhbHVlbWluPTNEIjAiIGFy
aWEtdmFsdWVtYXg9M0QiMTAwIiBzdHlsZT0zRCJ3aT0KZHRoOiAwMCU7Ij4nKSxhLnB1c2goJyAg
ICAgICA8c3BhbiBjbGFzcz0zRCJjb21wbGV0aW9uX3NwYW4iPjAlIENvbXBsZXRlPC9zPQpwYW4+
JyksYS5wdXNoKCIgICA8L2Rpdj4iKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgiIiksXy50ZW1w
bGF0ZShhLmpvaW4oIiI9CikpfSx0ZW1wbGF0ZUJyb3dzZXJNb2RhbDpmdW5jdGlvbigpe3ZhciBh
PTNEW107cmV0dXJuIGEucHVzaCgnPGRpdiBpZD0zRCJmaT0KbGVfYnJvd3Nlcl9tb2RhbCI+Jyks
YS5wdXNoKCc8ZGl2IGNsYXNzPTNEImFsZXJ0IGFsZXJ0LWluZm8ganN0cmVlLWZpbGVzLW1lPQpz
c2FnZSI+QWxsIGZpbGVzIHlvdSBzZWxlY3Qgd2lsbCBiZSBpbXBvcnRlZCBpbnRvIHRoZSBjdXJy
ZW50IGZvbGRlci48L2Rpdj49CicpLGEucHVzaCgnPGRpdiBjbGFzcz0zRCJhbGVydCBhbGVydC1p
bmZvIGpzdHJlZS1mb2xkZXJzLW1lc3NhZ2UiIHN0eWxlPTNEIj0KZGlzcGxheTpub25lOyI+QWxs
IGZpbGVzIHdpdGhpbiB0aGUgc2VsZWN0ZWQgZm9sZGVycyBhbmQgdGhlaXIgc3ViZm9sZGVycyB3
PQppbGwgYmUgaW1wb3J0ZWQgaW50byB0aGUgY3VycmVudCBmb2xkZXIuPC9kaXY+JyksYS5wdXNo
KCc8ZGl2IHN0eWxlPTNEIm1hcmc9CmluLWJvdHRvbToxZW07Ij4nKSxhLnB1c2goJzxsYWJlbCBj
bGFzcz0zRCJyYWRpby1pbmxpbmUiPicpLGEucHVzaCgnICA8aW5wdT0KdCB0aXRsZT0zRCJTd2l0
Y2ggdG8gc2VsZWN0aW5nIGZpbGVzIiB0eXBlPTNEInJhZGlvIiBuYW1lPTNEImpzdHJlZS1yYWRp
byIgPQp2YWx1ZT0zRCJqc3RyZWUtZGlzYWJsZS1mb2xkZXJzIiBjaGVja2VkPTNEImNoZWNrZWQi
PiBGaWxlcycpLGEucHVzaCgiPC9sYWI9CmVsPiIpLGEucHVzaCgnPGxhYmVsIGNsYXNzPTNEInJh
ZGlvLWlubGluZSI+JyksYS5wdXNoKCcgIDxpbnB1dCB0aXRsZT0zRCJTdz0KaXRjaCB0byBzZWxl
Y3RpbmcgZm9sZGVycyIgdHlwZT0zRCJyYWRpbyIgbmFtZT0zRCJqc3RyZWUtcmFkaW8iIHZhbHVl
PTNEImpzPQp0cmVlLWRpc2FibGUtZmlsZXMiPiBGb2xkZXJzJyksYS5wdXNoKCI8L2xhYmVsPiIp
LGEucHVzaCgiPC9kaXY+IiksYS5wdXNoKCc9CjxkaXYgc3R5bGU9M0QibWFyZ2luLWJvdHRvbTox
ZW07Ij4nKSxhLnB1c2goJzxsYWJlbCBjbGFzcz0zRCJjaGVja2JveC1pbmxpbj0KZSBqc3RyZWUt
cHJlc2VydmUtc3RydWN0dXJlIiBzdHlsZT0zRCJkaXNwbGF5Om5vbmU7Ij4nKSxhLnB1c2goJyAg
IDxpbnB1dCBjPQpsYXNzPTNEInByZXNlcnZlLWNoZWNrYm94IiB0eXBlPTNEImNoZWNrYm94IiB2
YWx1ZT0zRCJwcmVzZXJ2ZV9kaXJlY3Rvcnlfc3Q9CnJ1Y3R1cmUiPicpLGEucHVzaCgiUHJlc2Vy
dmUgZGlyZWN0b3J5IHN0cnVjdHVyZSIpLGEucHVzaCgiIDwvbGFiZWw+IiksYS5wdT0Kc2goJzxs
YWJlbCBjbGFzcz0zRCJjaGVja2JveC1pbmxpbmUganN0cmVlLWxpbmstZmlsZXMiIHN0eWxlPTNE
ImRpc3BsYXk6bm9uPQplOyI+JyksYS5wdXNoKCcgICA8aW5wdXQgY2xhc3M9M0QibGluay1jaGVj
a2JveCIgdHlwZT0zRCJjaGVja2JveCIgdmFsdWU9M0Q9CiJsaW5rX2ZpbGVzIj4nKSxhLnB1c2go
IkxpbmsgZmlsZXMgaW5zdGVhZCBvZiBjb3B5aW5nIiksYS5wdXNoKCIgPC9sYWJlbD4iKT0KLGEu
cHVzaCgiPC9kaXY+IiksYS5wdXNoKCc8ZGl2IGlkPTNEImpzdHJlZV9icm93c2VyIj4nKSxhLnB1
c2goIjwvZGl2PiIpLGEuPQpwdXNoKCI8aHIgLz4iKSxhLnB1c2goIjxwPllvdSBjYW4gc2V0IGV4
dGVuc2lvbiB0eXBlIGFuZCBnZW5vbWUgZm9yIGFsbCBpbXA9Cm9ydGVkIGRhdGFzZXRzIGF0IG9u
Y2U6PC9wPiIpLGEucHVzaCgiPGRpdj4iKSxhLnB1c2goJ1R5cGU6IDxzcGFuIGlkPTNEImxpYj0K
cmFyeV9leHRlbnNpb25fc2VsZWN0IiBjbGFzcz0zRCJsaWJyYXJ5LWV4dGVuc2lvbi1zZWxlY3Qi
IC8+JyksYS5wdXNoKCcgIEdlPQpub21lOiA8c3BhbiBpZD0zRCJsaWJyYXJ5X2dlbm9tZV9zZWxl
Y3QiIGNsYXNzPTNEImxpYnJhcnktZ2Vub21lLXNlbGVjdCIgLz49CicpLGEucHVzaCgiPC9kaXY+
IiksYS5wdXNoKCI8L2Rpdj4iKSxfLnRlbXBsYXRlKGEuam9pbigiIikpfSx0ZW1wbGF0ZUltcG9y
dD0KUGF0aE1vZGFsOmZ1bmN0aW9uKCl7dmFyIGE9M0RbXTtyZXR1cm4gYS5wdXNoKCc8ZGl2IGlk
PTNEImZpbGVfYnJvd3Nlcl9tb2RhPQpsIj4nKSxhLnB1c2goJzxkaXYgY2xhc3M9M0QiYWxlcnQg
YWxlcnQtaW5mbyBqc3RyZWUtZm9sZGVycy1tZXNzYWdlIj5BbGwgZmk9CmxlcyB3aXRoaW4gdGhl
IGdpdmVuIGZvbGRlcnMgYW5kIHRoZWlyIHN1YmZvbGRlcnMgd2lsbCBiZSBpbXBvcnRlZCBpbnRv
IHRoZT0KIGN1cnJlbnQgZm9sZGVyLjwvZGl2PicpLGEucHVzaCgnPGRpdiBzdHlsZT0zRCJtYXJn
aW4tYm90dG9tOiAwLjVlbTsiPicpLGEuPQpwdXNoKCc8bGFiZWwgY2xhc3M9M0QiY2hlY2tib3gt
aW5saW5lIGpzdHJlZS1wcmVzZXJ2ZS1zdHJ1Y3R1cmUiPicpLGEucHVzaCg9CicgICA8aW5wdXQg
Y2xhc3M9M0QicHJlc2VydmUtY2hlY2tib3giIHR5cGU9M0QiY2hlY2tib3giIHZhbHVlPTNEInBy
ZXNlcnZlXz0KZGlyZWN0b3J5X3N0cnVjdHVyZSI+JyksYS5wdXNoKCJQcmVzZXJ2ZSBkaXJlY3Rv
cnkgc3RydWN0dXJlIiksYS5wdXNoKCIgPC9sPQphYmVsPiIpLGEucHVzaCgnPGxhYmVsIGNsYXNz
PTNEImNoZWNrYm94LWlubGluZSBqc3RyZWUtbGluay1maWxlcyI+JyksYS5wdXM9CmgoJyAgIDxp
bnB1dCBjbGFzcz0zRCJsaW5rLWNoZWNrYm94IiB0eXBlPTNEImNoZWNrYm94IiB2YWx1ZT0zRCJs
aW5rX2ZpbGVzIj0KPicpLGEucHVzaCgiTGluayBmaWxlcyBpbnN0ZWFkIG9mIGNvcHlpbmciKSxh
LnB1c2goIiA8L2xhYmVsPiIpLGEucHVzaCgiPC9kPQppdj4iKSxhLnB1c2goJzx0ZXh0YXJlYSBp
ZD0zRCJpbXBvcnRfcGF0aHMiIGNsYXNzPTNEImZvcm0tY29udHJvbCIgcm93cz0zRCI9CjUiIHBs
YWNlaG9sZGVyPTNEIkFic29sdXRlIHBhdGhzIChvciBwYXRocyByZWxhdGl2ZSB0byBHYWxheHkg
cm9vdCkgc2VwYXJhdD0KZWQgYnkgbmV3bGluZSI+PC90ZXh0YXJlYT4nKSxhLnB1c2goIjxociAv
PiIpLGEucHVzaCgiPHA+WW91IGNhbiBzZXQgZXh0ZW5zPQppb24gdHlwZSBhbmQgZ2Vub21lIGZv
ciBhbGwgaW1wb3J0ZWQgZGF0YXNldHMgYXQgb25jZTo8L3A+IiksYS5wdXNoKCI8ZGl2PiI9Ciks
YS5wdXNoKCdUeXBlOiA8c3BhbiBpZD0zRCJsaWJyYXJ5X2V4dGVuc2lvbl9zZWxlY3QiIGNsYXNz
PTNEImxpYnJhcnktZXh0ZT0KbnNpb24tc2VsZWN0IiAvPicpLGEucHVzaCgnICBHZW5vbWU6IDxz
cGFuIGlkPTNEImxpYnJhcnlfZ2Vub21lX3NlbGVjdCIgY2xhPQpzcz0zRCJsaWJyYXJ5LWdlbm9t
ZS1zZWxlY3QiIC8+JyksYS5wdXNoKCI8L2Rpdj4iKSxhLnB1c2goIjwvZGl2PiIpLF8udGVtcGw9
CmF0ZShhLmpvaW4oIiIpKX0sdGVtcGxhdGVBZGRGaWxlc0Zyb21IaXN0b3J5OmZ1bmN0aW9uKCl7
dmFyIGE9M0RbXTtyZXR1cm4gYT0KLnB1c2goJzxkaXYgaWQ9M0QiYWRkX2ZpbGVzX21vZGFsIj4n
KSxhLnB1c2goJzxkaXYgaWQ9M0QiaGlzdG9yeV9tb2RhbF9jb21iPQpvX2J1bGsiPicpLGEucHVz
aCgiU2VsZWN0IGhpc3Rvcnk6ICAiKSxhLnB1c2goJzxzZWxlY3QgaWQ9M0QiZGF0YXNldF9hZGRf
YnU9CmxrIiBuYW1lPTNEImRhdGFzZXRfYWRkX2J1bGsiIHN0eWxlPTNEIndpZHRoOjY2JTsgIj4g
JyksYS5wdXNoKCIgICA8JSBfLmVhYz0KaChoaXN0b3JpZXMsIGZ1bmN0aW9uKGhpc3RvcnkpIHsg
JT4iKSxhLnB1c2goJyAgICAgICA8b3B0aW9uIHZhbHVlPTNEIjwlPTNEPQogXy5lc2NhcGUoaGlz
dG9yeS5nZXQoImlkIikpICU+Ij48JT0zRCBfLmVzY2FwZShoaXN0b3J5LmdldCgibmFtZSIpKSAl
Pjwvb3A9CnRpb24+JyksCiBhLnB1c2goIiAgIDwlIH0pOyAlPiIpLGEucHVzaCgiPC9zZWxlY3Q+
IiksYS5wdXNoKCI8L2Rpdj4iKSxhLnB1c2goIjxici8+Ij0KKSxhLnB1c2goJzxkaXYgaWQ9M0Qi
c2VsZWN0ZWRfaGlzdG9yeV9jb250ZW50Ij4nKSxhLnB1c2goIjwvZGl2PiIpLGEucHVzaCgiPQo8
L2Rpdj4iKSxfLnRlbXBsYXRlKGEuam9pbigiIikpfSx0ZW1wbGF0ZUhpc3RvcnlDb250ZW50czpm
dW5jdGlvbigpe3ZhciBhPQo9M0RbXTtyZXR1cm4gYS5wdXNoKCI8c3Ryb25nPkNob29zZSB0aGUg
ZGF0YXNldHMgdG8gaW1wb3J0Ojwvc3Ryb25nPiIpLGEucHU9CnNoKCI8dWw+IiksYS5wdXNoKCIg
PCUgXy5lYWNoKGhpc3RvcnlfY29udGVudHMsIGZ1bmN0aW9uKGhpc3RvcnlfaXRlbSkgeyAlPj0K
IiksYS5wdXNoKCcgPGxpIGRhdGEtaWQ9M0QiPCU9M0QgXy5lc2NhcGUoaGlzdG9yeV9pdGVtLmdl
dCgiaWQiKSkgJT4iPicpLGEuPQpwdXNoKCcgICA8aW5wdXQgc3R5bGU9M0QibWFyZ2luOiAwOyIg
dHlwZT0zRCJjaGVja2JveCI+PCU9M0QgXy5lc2NhcGUoaGlzdG89CnJ5X2l0ZW0uZ2V0KCJoaWQi
KSkgJT46IDwlPTNEIF8uZXNjYXBlKGhpc3RvcnlfaXRlbS5nZXQoIm5hbWUiKSkgJT4nKSxhLnB1
cz0KaCgiIDwvbGk+IiksYS5wdXNoKCIgPCUgfSk7ICU+IiksYS5wdXNoKCI8L3VsPiIpLF8udGVt
cGxhdGUoYS5qb2luKCIiKSl9LHRlPQptcGxhdGVQYWdpbmF0b3I6ZnVuY3Rpb24oKXtyZXR1cm4g
dG1wbF9hcnJheT0zRFtdLHRtcGxfYXJyYXkucHVzaCgnICAgPHVsIGM9Cmxhc3M9M0QicGFnaW5h
dGlvbiBwYWdpbmF0aW9uLXNtIj4nKSx0bXBsX2FycmF5LnB1c2goIiAgICAgICA8JSBpZiAoICgg
c2hvdz0KX3BhZ2UgLSAxICkgPiAwICkgeyAlPiIpLHRtcGxfYXJyYXkucHVzaCgiICAgICAgICAg
ICA8JSBpZiAoICggc2hvd19wYWdlIC0gPQoxICkgPiBwYWdlX2NvdW50ICkgeyAlPiIpLHRtcGxf
YXJyYXkucHVzaCgnICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9M0QiI2Y9Cm9sZGVycy88JT0z
RCBpZCAlPi9wYWdlLzEiPjxzcGFuIGNsYXNzPTNEImZhIGZhLWFuZ2xlLWRvdWJsZS1sZWZ0Ij48
L3NwYW4+PD0KL2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2goJyAgICAgICAgICAgICAgIDxsaSBj
bGFzcz0zRCJkaXNhYmxlZCI+PGEgaHJlZj0KPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2Uv
PCUgcHJpbnQoIHNob3dfcGFnZSApICU+Ij48JSBwcmludCggc2hvd19wYWdlPQogLSAxICkgJT48
L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2goIiAgICAgICAgICAgPCUgfSBlbHNlIHsgJT4iKSx0
bXBsX2FycmE9CnkucHVzaCgnICAgICAgICAgICAgICAgPGxpPjxhIGhyZWY9M0QiI2ZvbGRlcnMv
PCU9M0QgaWQgJT4vcGFnZS8xIj48c3BhbiBjbD0KYXNzPTNEImZhIGZhLWFuZ2xlLWRvdWJsZS1s
ZWZ0Ij48L3NwYW4+PC9hPjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgPQogICAgICAg
IDxsaT48YSBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2UvPCUgcHJpbnQoIHNob3df
cGFnZSAtIDEgKSA9CiU+Ij48JSBwcmludCggc2hvd19wYWdlIC0gMSApICU+PC9hPjwvbGk+Jyks
dG1wbF9hcnJheS5wdXNoKCIgICAgICAgICAgIDwlID0KfSAlPiIpLHRtcGxfYXJyYXkucHVzaCgi
ICAgICAgIDwlIH0gZWxzZSB7ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgICAgPQogPGxp
IGNsYXNzPTNEImRpc2FibGVkIj48YSBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2Uv
MSI+PHNwYW4gY2xhc3M9Cj0zRCJmYSBmYS1hbmdsZS1kb3VibGUtbGVmdCI+PC9zcGFuPjwvYT48
L2xpPicpLHRtcGxfYXJyYXkucHVzaCgnICAgICAgICAgID0KIDxsaSBjbGFzcz0zRCJkaXNhYmxl
ZCI+PGEgaHJlZj0zRCIjZm9sZGVycy88JT0zRCBpZCAlPi9wYWdlLzwlIHByaW50KCBzaG93PQpf
cGFnZSApICU+Ij48JSBwcmludCggc2hvd19wYWdlIC0gMSApICU+PC9hPjwvbGk+JyksdG1wbF9h
cnJheS5wdXNoKCIgICAgICA9CiA8JSB9ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgPGxp
IGNsYXNzPTNEImFjdGl2ZSI+JyksdG1wbF9hcnJheS5wdXNoKD0KJyAgICAgICA8YSBocmVmPTNE
IiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2UvPCUgcHJpbnQoIHNob3dfcGFnZSApICU+Ij48JSBw
PQpyaW50KCBzaG93X3BhZ2UgKSAlPjwvYT4nKSx0bXBsX2FycmF5LnB1c2goIiAgICAgICA8L2xp
PiIpLHRtcGxfYXJyYXkucHVzaCg9CiIgICAgICAgPCUgaWYgKCAoIHNob3dfcGFnZSApIDwgcGFn
ZV9jb3VudCApIHsgJT4iKSx0bXBsX2FycmF5LnB1c2goJyAgICAgID0KICAgICA8bGk+PGEgaHJl
Zj0zRCIjZm9sZGVycy88JT0zRCBpZCAlPi9wYWdlLzwlIHByaW50KCBzaG93X3BhZ2UgKyAxICkg
JT4iPQo+PCUgcHJpbnQoIHNob3dfcGFnZSArIDEgKSAlPjwvYT48L2xpPicpLHRtcGxfYXJyYXku
cHVzaCgnICAgICAgICAgICA8bGk+PGE9CiBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3Bh
Z2UvPCUgcHJpbnQoIHBhZ2VfY291bnQgKSAlPiI+PHNwYW4gY2xhc3M9Cj0zRCJmYSBmYS1hbmds
ZS1kb3VibGUtcmlnaHQiPjwvc3Bhbj48L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2goIiAgICAg
ICA8JT0KIH0gZWxzZSB7ICU+IiksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgICAgIDxsaSBjbGFz
cz0zRCJkaXNhYmxlZCI+PGEgaHJlZj0KPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2UvPCUg
cHJpbnQoIHNob3dfcGFnZSAgKSAlPiI+PCUgcHJpbnQoIHNob3dfcGFnPQplICsgMSApICU+PC9h
PjwvbGk+JyksdG1wbF9hcnJheS5wdXNoKCcgICAgICAgICAgIDxsaSBjbGFzcz0zRCJkaXNhYmxl
ZCI+PGE9CiBocmVmPTNEIiNmb2xkZXJzLzwlPTNEIGlkICU+L3BhZ2UvPCUgcHJpbnQoIHBhZ2Vf
Y291bnQgKSAlPiI+PHNwYW4gY2xhc3M9Cj0zRCJmYSBmYS1hbmdsZS1kb3VibGUtcmlnaHQiPjwv
c3Bhbj48L2E+PC9saT4nKSx0bXBsX2FycmF5LnB1c2goIiAgICAgICA8JT0KIH0gJT4iKSx0bXBs
X2FycmF5LnB1c2goIiAgIDwvdWw+IiksdG1wbF9hcnJheS5wdXNoKCIgICA8c3Bhbj4iKSx0bXBs
X2FycmF5PQoucHVzaCgnICAgICAgIHNob3dpbmcgPGEgZGF0YS10b2dnbGU9M0QidG9vbHRpcCIg
ZGF0YS1wbGFjZW1lbnQ9M0QidG9wIiB0aXQ9CmxlPTNEIkNsaWNrIHRvIGNoYW5nZSB0aGUgbnVt
YmVyIG9mIGl0ZW1zIG9uIHBhZ2UiIGlkPTNEInBhZ2Vfc2l6ZV9wcm9tcHQiPj0KPCUtIGl0ZW1z
X3Nob3duICU+PC9hPiBvZiA8JS0gdG90YWxfaXRlbXNfY291bnQgJT4gaXRlbXMnKSx0bXBsX2Fy
cmF5LnB1c2goPQoiICAgPC9zcGFuPiIpLF8udGVtcGxhdGUodG1wbF9hcnJheS5qb2luKCIiKSl9
fSk7cmV0dXJue0ZvbGRlclRvb2xiYXJWaWV3OmY9Cn19KTsKIC8vIyBzb3VyY2VNYXBwaW5nVVJM
PTNELi4vLi4vLi4vbWFwcy9tdmMvbGlicmFyeS9saWJyYXJ5LWZvbGRlcnRvb2xiYXItdmllPQp3
LmpzLm1hcApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKCmRpZmYgLXIgZDYyZjNlNTBiNTY3
YTE1N2MwOTQ0NDczYWRiYmM0MTBjNTU1MmQxYSAtciAzNmMwNTI2MTM0MzQxMjM3MGY5ZTQ0Zj0K
NGJkZDRiMWUxOWE5N2FhNTUgc3RhdGljL3NjcmlwdHMvdXRpbHMvdXBsb2FkYm94LmpzCi0tLSBh
L3N0YXRpYy9zY3JpcHRzL3V0aWxzL3VwbG9hZGJveC5qcworKysgYi9zdGF0aWMvc2NyaXB0cy91
dGlscy91cGxvYWRib3guanMKQEAgLTEsMiArMSwyIEBACi0hZnVuY3Rpb24oYSl7alF1ZXJ5LmV2
ZW50LnByb3BzLnB1c2goImRhdGFUcmFuc2ZlciIpLGEudXBsb2FkcG9zdD0zRGZ1bmN0aT0Kb24o
Yil7dmFyIGM9M0RhLmV4dGVuZCh7fSx7ZGF0YTp7fSxzdWNjZXNzOmZ1bmN0aW9uKCl7fSxlcnJv
cjpmdW5jdGlvbigpe30sPQpwcm9ncmVzczpmdW5jdGlvbigpe30sdXJsOm51bGwsbWF4ZmlsZXNp
emU6MjA0OCxlcnJvcl9maWxlc2l6ZToiRmlsZSBleGNlZWQ9CnMgMkdCLiBQbGVhc2UgdXNlIGFu
IEZUUCBjbGllbnQuIixlcnJvcl9kZWZhdWx0OiJQbGVhc2UgbWFrZSBzdXJlIHRoZSBmaWxlID0K
aXMgYXZhaWxhYmxlLiIsZXJyb3Jfc2VydmVyOiJVcGxvYWQgcmVxdWVzdCBmYWlsZWQuIixlcnJv
cl9sb2dpbjoiVXBsb2FkcyByPQplcXVpcmUgeW91IHRvIGxvZyBpbi4ifSxiKSxkPTNEYy5kYXRh
O2lmKGQuZXJyb3JfbWVzc2FnZSlyZXR1cm4gdm9pZCBjLmVycm89CnIoZC5lcnJvcl9tZXNzYWdl
KTt2YXIgZT0zRG5ldyBGb3JtRGF0YTtmb3IodmFyIGYgaW4gZC5wYXlsb2FkKWUuYXBwZW5kKGYs
ZD0KLnBheWxvYWRbZl0pO3ZhciBnPTNEMDtmb3IodmFyIGYgaW4gZC5maWxlcyl7dmFyIGg9M0Rk
LmZpbGVzW2ZdO2UuYXBwZW5kKGguPQpuYW1lLGguZmlsZSxoLmZpbGUubmFtZSksZys9M0RoLmZp
bGUuc2l6ZX1yZXR1cm4gZz4xMDQ4NTc2KmMubWF4ZmlsZXNpemU/dm89CmlkIGMuZXJyb3IoYy5l
cnJvcl9maWxlc2l6ZSk6KHhocj0zRG5ldyBYTUxIdHRwUmVxdWVzdCx4aHIub3BlbigiUE9TVCIs
Yy51cj0KbCwhMCkseGhyLnNldFJlcXVlc3RIZWFkZXIoIkFjY2VwdCIsImFwcGxpY2F0aW9uL2pz
b24iKSx4aHIuc2V0UmVxdWVzdEhlYWRlPQpyKCJDYWNoZS1Db250cm9sIiwibm8tY2FjaGUiKSx4
aHIuc2V0UmVxdWVzdEhlYWRlcigiWC1SZXF1ZXN0ZWQtV2l0aCIsIlhNTEg9CnR0cFJlcXVlc3Qi
KSx4aHIub25yZWFkeXN0YXRlY2hhbmdlPTNEZnVuY3Rpb24oKXtpZih4aHIucmVhZHlTdGF0ZT0z
RD0zRHhocj0KLkRPTkUpe3ZhciBhPTNEbnVsbDtpZih4aHIucmVzcG9uc2VUZXh0KXRyeXthPTNE
alF1ZXJ5LnBhcnNlSlNPTih4aHIucmVzcG9uPQpzZVRleHQpfWNhdGNoKGIpe2E9M0R4aHIucmVz
cG9uc2VUZXh0fWlmKHhoci5zdGF0dXM8MjAwfHx4aHIuc3RhdHVzPjI5OSl7dmE9CnIgZD0zRHho
ci5zdGF0dXNUZXh0OzQwMz0zRD0zRHhoci5zdGF0dXM/ZD0zRGMuZXJyb3JfbG9naW46MD0zRD0z
RHhoci5zdGF0dT0Kcz9kPTNEYy5lcnJvcl9zZXJ2ZXI6ZHx8KGQ9M0RjLmVycm9yX2RlZmF1bHQp
LGMuZXJyb3IoZCsiICgiK3hoci5zdGF0dXMrIikiPQopfWVsc2UgYy5zdWNjZXNzKGEpfX0seGhy
LnVwbG9hZC5hZGRFdmVudExpc3RlbmVyKCJwcm9ncmVzcyIsZnVuY3Rpb24oYSl7YS49Cmxlbmd0
aENvbXB1dGFibGUmJmMucHJvZ3Jlc3MoTWF0aC5yb3VuZCgxMDAqYS5sb2FkZWQvYS50b3RhbCkp
fSwhMSksY29uc29sZT0KLmRlYnVnKCJ1cGxvYWRib3g6OnVwbG9hZHBvc3QoKSAtIFBvc3Rpbmcg
Zm9sbG93aW5nIGRhdGE6IiksY29uc29sZS5kZWJ1ZyhjPQopLHZvaWQgeGhyLnNlbmQoZSkpfSxh
LmZuLnVwbG9hZGlucHV0PTNEZnVuY3Rpb24oYil7dmFyIGM9M0R0aGlzLGQ9M0RhLmV4dGU9Cm5k
KHt9LHtvbmRyYWdvdmVyOmZ1bmN0aW9uKCl7fSxvbmRyYWdsZWF2ZTpmdW5jdGlvbigpe30sb25j
aGFuZ2U6ZnVuY3Rpb24oKT0Ke30sbXVsdGlwbGU6ITF9LGIpLGU9M0RhKCc8aW5wdXQgdHlwZT0z
RCJmaWxlIiBzdHlsZT0zRCJkaXNwbGF5OiBub25lIiAnKyhkPQoubXVsdGlwbGUmJiJtdWx0aXBs
ZSJ8fCIiKSsiLz4iKTtyZXR1cm4gYy5hcHBlbmQoZSkuY2hhbmdlKGZ1bmN0aW9uKGIpe2Qub249
CmNoYW5nZShiLnRhcmdldC5maWxlcyksYSh0aGlzKS52YWwoIiIpfSksYy5vbigiZHJvcCIsZnVu
Y3Rpb24oYSl7ZC5vbmRyYWdsZT0KYXZlKGEpLGEuZGF0YVRyYW5zZmVyJiYoZC5vbmNoYW5nZShh
LmRhdGFUcmFuc2Zlci5maWxlcyksYS5wcmV2ZW50RGVmYXVsdCgpPQopfSksYy5vbigiZHJhZ292
ZXIiLGZ1bmN0aW9uKGEpe2EucHJldmVudERlZmF1bHQoKSxkLm9uZHJhZ292ZXIoYSl9KSxjLm9u
KCI9CmRyYWdsZWF2ZSIsZnVuY3Rpb24oYSl7YS5zdG9wUHJvcGFnYXRpb24oKSxkLm9uZHJhZ2xl
YXZlKGEpfSkse2RpYWxvZzpmdW5jdD0KaW9uKCl7ZS50cmlnZ2VyKCJjbGljayIpfX19LGEuZm4u
dXBsb2FkYm94PTNEZnVuY3Rpb24oYil7ZnVuY3Rpb24gYyhhKXtpZihhPQomJmEubGVuZ3RoJiYh
cCl7Zm9yKHZhciBiPTNEbixjPTNEMDtjPGEubGVuZ3RoO2MrKyl7dmFyIGQ9M0RTdHJpbmcobisr
KTttW2Q9Cl09M0RhW2NdLGwuYW5ub3VuY2UoZCxtW2RdKSxvKyt9cmV0dXJuIGJ9fWZ1bmN0aW9u
IGQoYSl7bVthXSYmKGRlbGV0ZSBtW2FdLD0Kby0tKX1mdW5jdGlvbiBlKCl7aWYoMD0zRD0zRG98
fHEpcmV0dXJuIHE9M0QhMSxwPTNEITEsdm9pZCBsLmNvbXBsZXRlKCk7cD0KPTNEITA7dmFyIGI9
M0QtMTtmb3IodmFyIGMgaW4gbSl7Yj0zRGM7YnJlYWt9bVtiXTtkKGIpLGEudXBsb2FkcG9zdCh7
dXJsOmwuPQp1cmwsZGF0YTpsLmluaXRpYWxpemUoYiksc3VjY2VzczpmdW5jdGlvbihhKXtsLnN1
Y2Nlc3MoYixhKSxlKCl9LGVycm9yOmZ1bmM9CnRpb24oYSl7bC5lcnJvcihiLGEpLGUoKX0scHJv
Z3Jlc3M6ZnVuY3Rpb24oYSl7bC5wcm9ncmVzcyhiLGEpfX0pfWZ1bmN0aW9uID0KZigpe3IuZGlh
bG9nKCl9ZnVuY3Rpb24gZyhhKXtmb3IoYSBpbiBtKWQoYSl9ZnVuY3Rpb24gaCgpe3B8fChwPTNE
ITAsZSgpKX1mPQp1bmN0aW9uIGkoKXtxPTNEITB9ZnVuY3Rpb24gaihiKXtyZXR1cm4gbD0zRGEu
ZXh0ZW5kKHt9LGwsYil9ZnVuY3Rpb24gaygpe3I9CmV0dXJuIHdpbmRvdy5GaWxlJiZ3aW5kb3cu
Rm9ybURhdGEmJndpbmRvdy5YTUxIdHRwUmVxdWVzdCYmd2luZG93LkZpbGVMaXN0fT0KdmFyIGw9
M0RhLmV4dGVuZCh7fSx7ZHJhZ292ZXI6ZnVuY3Rpb24oKXt9LGRyYWdsZWF2ZTpmdW5jdGlvbigp
e30sYW5ub3VuY2U6PQpmdW5jdGlvbigpe30saW5pdGlhbGl6ZTpmdW5jdGlvbigpe30scHJvZ3Jl
c3M6ZnVuY3Rpb24oKXt9LHN1Y2Nlc3M6ZnVuY3Rpb249Cigpe30sZXJyb3I6ZnVuY3Rpb24oYSxi
KXthbGVydChiKX0sY29tcGxldGU6ZnVuY3Rpb24oKXt9fSxiKSxtPTNEe30sbj0zRDAsbz0KPTNE
MCxwPTNEITEscT0zRCExLHI9M0RhKHRoaXMpLnVwbG9hZGlucHV0KHttdWx0aXBsZTohMCxvbmNo
YW5nZTpmdW5jdGlvbihhPQope2MoYSl9LG9uZHJhZ292ZXI6Yi5vbmRyYWdvdmVyLG9uZHJhZ2xl
YXZlOmIub25kcmFnbGVhdmV9KTtyZXR1cm57c2VsZWN0OmY9CixhZGQ6YyxyZW1vdmU6ZCxzdGFy
dDpoLHN0b3A6aSxyZXNldDpnLGNvbmZpZ3VyZTpqLGNvbXBhdGlibGU6a319fShqUXVlcnkpOwor
IWZ1bmN0aW9uKGEpe2pRdWVyeS5ldmVudC5wcm9wcy5wdXNoKCJkYXRhVHJhbnNmZXIiKSxhLnVw
bG9hZHBvc3Q9M0RmdW5jdGk9Cm9uKGIpe3ZhciBjPTNEYS5leHRlbmQoe30se2RhdGE6e30sc3Vj
Y2VzczpmdW5jdGlvbigpe30sZXJyb3I6ZnVuY3Rpb24oKXt9LD0KcHJvZ3Jlc3M6ZnVuY3Rpb24o
KXt9LHVybDpudWxsLG1heGZpbGVzaXplOjIwNDgsZXJyb3JfZmlsZXNpemU6IkZpbGUgZXhjZWVk
PQpzIDJHQi4gUGxlYXNlIHVzZSBhbiBGVFAgY2xpZW50LiIsZXJyb3JfZGVmYXVsdDoiUGxlYXNl
IG1ha2Ugc3VyZSB0aGUgZmlsZSA9CmlzIGF2YWlsYWJsZS4iLGVycm9yX3NlcnZlcjoiVXBsb2Fk
IHJlcXVlc3QgZmFpbGVkLiIsZXJyb3JfbG9naW46IlVwbG9hZHMgcj0KZXF1aXJlIHlvdSB0byBs
b2cgaW4uIn0sYiksZD0zRGMuZGF0YTtpZihkLmVycm9yX21lc3NhZ2UpcmV0dXJuIHZvaWQgYy5l
cnJvPQpyKGQuZXJyb3JfbWVzc2FnZSk7dmFyIGU9M0RuZXcgRm9ybURhdGE7Zm9yKHZhciBmIGlu
IGQucGF5bG9hZCllLmFwcGVuZChmLGQ9Ci5wYXlsb2FkW2ZdKTt2YXIgZz0zRDA7Zm9yKHZhciBm
IGluIGQuZmlsZXMpe3ZhciBoPTNEZC5maWxlc1tmXTtlLmFwcGVuZChoLj0KbmFtZSxoLmZpbGUs
aC5maWxlLm5hbWUpLGcrPTNEaC5maWxlLnNpemV9cmV0dXJuIGc+MTA0ODU3NipjLm1heGZpbGVz
aXplP3ZvPQppZCBjLmVycm9yKGMuZXJyb3JfZmlsZXNpemUpOih4aHI9M0RuZXcgWE1MSHR0cFJl
cXVlc3QseGhyLm9wZW4oIlBPU1QiLGMudXI9CmwsITApLHhoci5zZXRSZXF1ZXN0SGVhZGVyKCJB
Y2NlcHQiLCJhcHBsaWNhdGlvbi9qc29uIikseGhyLnNldFJlcXVlc3RIZWFkZT0KcigiQ2FjaGUt
Q29udHJvbCIsIm5vLWNhY2hlIikseGhyLnNldFJlcXVlc3RIZWFkZXIoIlgtUmVxdWVzdGVkLVdp
dGgiLCJYTUxIPQp0dHBSZXF1ZXN0IikseGhyLm9ucmVhZHlzdGF0ZWNoYW5nZT0zRGZ1bmN0aW9u
KCl7aWYoeGhyLnJlYWR5U3RhdGU9M0Q9M0R4aHI9Ci5ET05FKXt2YXIgYT0zRG51bGw7aWYoeGhy
LnJlc3BvbnNlVGV4dCl0cnl7YT0zRGpRdWVyeS5wYXJzZUpTT04oeGhyLnJlc3Bvbj0Kc2VUZXh0
KX1jYXRjaChiKXthPTNEeGhyLnJlc3BvbnNlVGV4dH1pZih4aHIuc3RhdHVzPDIwMHx8eGhyLnN0
YXR1cz4yOTkpe3ZhPQpyIGQ9M0R4aHIuc3RhdHVzVGV4dDs0MDM9M0Q9M0R4aHIuc3RhdHVzP2Q9
M0RjLmVycm9yX2xvZ2luOjA9M0Q9M0R4aHIuc3RhdHU9CnM/ZD0zRGMuZXJyb3Jfc2VydmVyOmR8
fChkPTNEYy5lcnJvcl9kZWZhdWx0KSxjLmVycm9yKGQrIiAoIit4aHIuc3RhdHVzKyIpIj0KKX1l
bHNlIGMuc3VjY2VzcyhhKX19LHhoci51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3Mi
LGZ1bmN0aW9uKGEpe2EuPQpsZW5ndGhDb21wdXRhYmxlJiZjLnByb2dyZXNzKE1hdGgucm91bmQo
MTAwKmEubG9hZGVkL2EudG90YWwpKX0sITEpLGNvbnNvbGU9Ci5kZWJ1ZygidXBsb2FkYm94Ojp1
cGxvYWRwb3N0KCkgLSBQb3N0aW5nIGZvbGxvd2luZyBkYXRhOiIpLGNvbnNvbGUuZGVidWcoYz0K
KSx2b2lkIHhoci5zZW5kKGUpKX0sYS5mbi51cGxvYWRpbnB1dD0zRGZ1bmN0aW9uKGIpe3ZhciBj
PTNEdGhpcyxkPTNEYS5leHRlPQpuZCh7fSx7b25kcmFnb3ZlcjpmdW5jdGlvbigpe30sb25kcmFn
bGVhdmU6ZnVuY3Rpb24oKXt9LG9uY2hhbmdlOmZ1bmN0aW9uKCk9Cnt9LG11bHRpcGxlOiExfSxi
KSxlPTNEYSgnPGlucHV0IHR5cGU9M0QiZmlsZSIgc3R5bGU9M0QiZGlzcGxheTogbm9uZSIgJyso
ZD0KLm11bHRpcGxlJiYibXVsdGlwbGUifHwiIikrIi8+Iik7cmV0dXJuIGMuYXBwZW5kKGUuY2hh
bmdlKGZ1bmN0aW9uKGIpe2Qub25jPQpoYW5nZShiLnRhcmdldC5maWxlcyksYSh0aGlzKS52YWwo
IiIpfSkpLGMub24oImRyb3AiLGZ1bmN0aW9uKGEpe2Qub25kcmFnbGU9CmF2ZShhKSxhLmRhdGFU
cmFuc2ZlciYmKGQub25jaGFuZ2UoYS5kYXRhVHJhbnNmZXIuZmlsZXMpLGEucHJldmVudERlZmF1
bHQoKT0KKX0pLGMub24oImRyYWdvdmVyIixmdW5jdGlvbihhKXthLnByZXZlbnREZWZhdWx0KCks
ZC5vbmRyYWdvdmVyKGEpfSksYy5vbigiPQpkcmFnbGVhdmUiLGZ1bmN0aW9uKGEpe2Euc3RvcFBy
b3BhZ2F0aW9uKCksZC5vbmRyYWdsZWF2ZShhKX0pLHtkaWFsb2c6ZnVuY3Q9Cmlvbigpe2UudHJp
Z2dlcigiY2xpY2siKX19fSxhLmZuLnVwbG9hZGJveD0zRGZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMo
YSl7aWYoYT0KJiZhLmxlbmd0aCYmIXApe2Zvcih2YXIgYj0zRG4sYz0zRDA7YzxhLmxlbmd0aDtj
Kyspe3ZhciBkPTNEU3RyaW5nKG4rKyk7bVtkPQpdPTNEYVtjXSxsLmFubm91bmNlKGQsbVtkXSks
bysrfXJldHVybiBifX1mdW5jdGlvbiBkKGEpe21bYV0mJihkZWxldGUgbVthXSw9Cm8tLSl9ZnVu
Y3Rpb24gZSgpe2lmKDA9M0Q9M0RvfHxxKXJldHVybiBxPTNEITEscD0zRCExLHZvaWQgbC5jb21w
bGV0ZSgpO3A9Cj0zRCEwO3ZhciBiPTNELTE7Zm9yKHZhciBjIGluIG0pe2I9M0RjO2JyZWFrfW1b
Yl07ZChiKSxhLnVwbG9hZHBvc3Qoe3VybDpsLj0KdXJsLGRhdGE6bC5pbml0aWFsaXplKGIpLHN1
Y2Nlc3M6ZnVuY3Rpb24oYSl7bC5zdWNjZXNzKGIsYSksZSgpfSxlcnJvcjpmdW5jPQp0aW9uKGEp
e2wuZXJyb3IoYixhKSxlKCl9LHByb2dyZXNzOmZ1bmN0aW9uKGEpe2wucHJvZ3Jlc3MoYixhKX19
KX1mdW5jdGlvbiA9CmYoKXtyLmRpYWxvZygpfWZ1bmN0aW9uIGcoYSl7Zm9yKGEgaW4gbSlkKGEp
fWZ1bmN0aW9uIGgoKXtwfHwocD0zRCEwLGUoKSl9Zj0KdW5jdGlvbiBpKCl7cT0zRCEwfWZ1bmN0
aW9uIGooYil7cmV0dXJuIGw9M0RhLmV4dGVuZCh7fSxsLGIpfWZ1bmN0aW9uIGsoKXtyPQpldHVy
biB3aW5kb3cuRmlsZSYmd2luZG93LkZvcm1EYXRhJiZ3aW5kb3cuWE1MSHR0cFJlcXVlc3QmJndp
bmRvdy5GaWxlTGlzdH09CnZhciBsPTNEYS5leHRlbmQoe30se2RyYWdvdmVyOmZ1bmN0aW9uKCl7
fSxkcmFnbGVhdmU6ZnVuY3Rpb24oKXt9LGFubm91bmNlOj0KZnVuY3Rpb24oKXt9LGluaXRpYWxp
emU6ZnVuY3Rpb24oKXt9LHByb2dyZXNzOmZ1bmN0aW9uKCl7fSxzdWNjZXNzOmZ1bmN0aW9uPQoo
KXt9LGVycm9yOmZ1bmN0aW9uKGEsYil7YWxlcnQoYil9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7fX0s
YiksbT0zRHt9LG49M0QwLG89Cj0zRDAscD0zRCExLHE9M0QhMSxyPTNEYSh0aGlzKS51cGxvYWRp
bnB1dCh7bXVsdGlwbGU6ITAsb25jaGFuZ2U6ZnVuY3Rpb24oYT0KKXtjKGEpfSxvbmRyYWdvdmVy
OmIub25kcmFnb3ZlcixvbmRyYWdsZWF2ZTpiLm9uZHJhZ2xlYXZlfSk7cmV0dXJue3NlbGVjdDpm
PQosYWRkOmMscmVtb3ZlOmQsc3RhcnQ6aCxzdG9wOmkscmVzZXQ6Zyxjb25maWd1cmU6aixjb21w
YXRpYmxlOmt9fX0oalF1ZXJ5KTsKIC8vIyBzb3VyY2VNYXBwaW5nVVJMPTNELi4vLi4vbWFwcy91
dGlscy91cGxvYWRib3guanMubWFwClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQoKVGhpcyBk
aWZmIGlzIHNvIGJpZyB0aGF0IHdlIG5lZWRlZCB0byB0cnVuY2F0ZSB0aGUgcmVtYWluZGVyLgoK
UmVwb3NpdG9yeSBVUkw6IGh0dHBzOi8vYml0YnVja2V0Lm9yZy9nYWxheHkvZ2FsYXh5LWNlbnRy
YWwvCgotLQoKVGhpcyBpcyBhIGNvbW1pdCBub3RpZmljYXRpb24gZnJvbSBiaXRidWNrZXQub3Jn
LiBZb3UgYXJlIHJlY2VpdmluZwp0aGlzIGJlY2F1c2UgeW91IGhhdmUgdGhlIHNlcnZpY2UgZW5h
YmxlZCwgYWRkcmVzc2luZyB0aGUgcmVjaXBpZW50IG9mCnRoaXMgZW1haWwuCg=