W0xlZ2FjeUNvbG9yVmFsdWUgPSBUUlVFXTsKCns9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0g
PSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9CgpGdW5jdGlvbjogIEZyYWNEaWdpdAoK
QXV0aG9yOiAgICBDbHlkZSBMZWUKClJldHVybiBhIHNlbGVjdGVkIGRpZ2l0IGZyb20gYSBmcmFj
dGlvbmFsIGRlY2ltYWwgbnVtYmVyLgoKR2l2ZW4gYSBudW1iZXIgICBYLnl6YWIgIChtYXggNCBk
aWdpdHMgYWZ0ZXIgZGVjaW1hbCkKICAgICAgICAgICAgICAgICAgICAgICAgICh0b3RhbCBiZWZv
cmUgYW5kIGFmdGVyIGRpZ2l0cykKICAgICAgICAgICAgICAgICAgICAgICAgIChtdXN0IGJlIDYg
b3IgbGVzcyAgICAgICAgICAgICkKClZhbHVlMT1GcmFjRGlnaXQoWC55emFiLDMpOwoKd2lsbCBy
ZXR1cm4gdGhlIHZhbHVlIG9mIGEgLi4uLi4uLi4KCkEgbmVnYXRpdmUgRGlnaXQgdmFsdWUgd2ls
bCBhY2Nlc3MgYSB2YWx1ZSBiZWZvcmUgdGhlCmRlY2ltYWwgcG9pbnQgYnV0IHlvdSBiZXR0ZXIg
bWFrZSBzdXJlIGl0IGV4aXN0cyAnY2F1c2UKSSBhZGQgb25seSBhIHRocmVlIGxlYWRpbmcgemVy
b3MuCgogPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9ID0gPSA9
ID0gPSA9ID0gPX0KCklucHV0OiAgTnVtYmVyKE51bWVyaWNTaW1wbGUpLAogICAgICAgIERpZ2l0
KE51bWVyaWNTaW1wbGUpOwoKVmFyczogICBTdHJpbmcxKCIiKTsKClN0cmluZzE9IjAwMCIrTnVt
VG9TdHIoQWJzVmFsdWUoTnVtYmVyKSsuMDAwMDEsNCk7ClZhbHVlMT1JblN0cihTdHJpbmcxLCIu
Iik7ClZhbHVlMj1TdHJUb051bShNaWRTdHIoU3RyaW5nMSxWYWx1ZTErRGlnaXQsMSkpOwoKRnJh
Y0RpZ2l0PVZhbHVlMjsKCg==
W0xlZ2FjeUNvbG9yVmFsdWUgPSBUUlVFXTsKCklucHV0OglOdW0yQ29udihOdW1lcmljU2ltcGxl
KSwKICAJCQlOdW1EZWMgIChOdW1lcmljU2ltcGxlKSwKICAJCQlOdW1DaGFyIChOdW1lcmljU2lt
cGxlKTsKClZhcnM6CQlBbHAxKCIiKTsKCQkJQWxwMT1OdW1Ub1N0cihOdW0yQ29udixOdW1EZWMp
OwoJCQlBbHAxPVJpZ2h0U3RyKFNwYWNlcyhOdW1DaGFyKStBbHAxLE51bUNoYXIpOwoKCQkJTnVt
MlN0ck4gPSBBbHAxOwo=
W0xlZ2FjeUNvbG9yVmFsdWUgPSBUUlVFXTsKCnsKClBhdHRlcm5zIGFyZSBpZGVudGlmaWVkIGJ5
IHVzaW5nIDQgdHVybmluZyBwb2ludHMgd2hpY2ggSSBoYXZlCmNob29zZW4gdG8gaWRlbnRpZnkg
YXM6ICBBLCBCLCBDLCBhbmQgRCAgd2l0aCBEIGJlaW5nIHRoZSBtb3N0CnJlY2VudCBvZiB0aGUg
Zm91ci4KCi4uLi4uLi4uLi5DLi4uLiAuLi4uLi5CLi4uLi4uLi4uLiAgIC4uLi4uLi5DLi4uLi4u
IC4uLi4uLi4uQi4uLi4uLgouLi4uLi4uLi4vXC4uLi4gLi4uLi4vXC4uLi4uLi4uLi4gICAuLi4u
Li4vXC4uLi4uLiAuLi4uLi4uL1wuLi4uLi4KLi4uLi4uLi4vLi5cLy4uIC4uLlwvLi5cLi4uLi4u
Li4uICAgLkEuLi4vLi5cLi4uLi4gLi4uLi4uLy4uXC4uLi5ECi4uLi4uLi4vLi4uRC4uLiAuLi4u
QS4uLlwuLi4uLi4uLiAgIC9cLi4vLi4uLlwuLi4uIC4uLi4uLy4uLi5cLi4vXAouLkEuLi4vLi4u
Li4uLi4gLi4uLi4uLi4uXC4uLi5ELi4gICAuLlwvLi4uLi4uXC4uLiAuLi4uLy4uLi4uLlwvLi4K
Li9cLi4vLi4uLi4uLi4uIC4uLi4uLi4uLi5cLi4vXC4uICAgLi4uQi4uLi4uLi5cLi4gLi4uLy4u
Li4uLi4uQy4uCi4uLlwvLi4uLi4uLi4uLiAuLi4uLi4uLi4uLlwvLi4uLiAgIC4uLi4uLi4uLi4u
LlwvIC5cLy4uLi4uLi4uLi4uLgouLi4uQi4uLi4uLi4uLi4gLi4uLi4uLi4uLi4uQy4uLi4gICAu
Li4uLi4uLi4uLi4uRCAuQS4uLi4uLi4uLi4uLi4KUGF0dGVybjouLiM0Li4uIFBhdHRlcm46Li4j
NS4uLi4uICAgUGF0dGVybjouLiMxLi4gUGF0dGVybjouLiM4Li4uCkE+QiBCPEMgQz5BICAgICBB
PEIgQj5DIEM8QSAgICAgICAgIEE+QiBCPEMgQz5BICAgIEE8QiBCPkMgQz5BCkQ8QyBEPkEgICAg
ICAgICBEPkMgRDxBICAgICAgICAgICAgIEQ8QyBEPEIgICAgICAgIEQ+QyBEPEIKCgouLi4uLi4u
Li4uLkMuLi4uIC4uLi4uQi4uLi4uLi4uLi4gICAuLi5BLi4uLi4uLi4uLi4gLi4uLi4uLi4uLi4u
LkQuCi4uLi4uLi4uLi4vXC4uLi4gLi4uLi9cLi4uLi4uLi4uLiAgIC4uL1wuLi4uLi4uLi4uLiAu
Li4uLi4uLi4uLi4vXC4KLkEuLi4uLi4uLy4uXC4uLiAuLi4vLi5cLi4uLi4uLi5EICAgLi4uLlwu
Li4uQy4uLi4uIC4uLi4uLi5CLi4uLy4uLgovXC4uLi4uLi8uLi4uXC4uIC4uLy4uLi5cLi4uLi4u
L1wgICAuLi4uLlwuLi9cLi4uLi4gLi4uLi4uL1wuLi8uLi4uCi4uXC4uLi4vLi4uLi4uXC8gXC8u
Li4uLi5cLi4uLi8uLiAgIC4uLi4uLlwvLi5cLi4uLiAuLi4uLi8uLlwvLi4uLi4KLi4uXC4uLy4u
Li4uLi4uRCAuQS4uLi4uLi5cLi4vLi4uICAgLi4uLi4uLkIuLi5cLi4uIC4uLi4vLi4uLkMuLi4u
LgouLi4uXC8uLi4uLi4uLi4uIC4uLi4uLi4uLi5cLy4uLi4gICAuLi4uLi4uLi4uLi5cLy4gLi5c
Ly4uLi4uLi4uLi4uCi4uLi4uQi4uLi4uLi4uLi4gLi4uLi4uLi4uLi5DLi4uLiAgIC4uLi4uLi4u
Li4uLi5ELiAuLi5BLi4uLi4uLi4uLi4KUGF0dGVybjouLiMzLi4uLiBQYXR0ZXJuOi4uIzYuLi4u
ICAgUGF0dGVybjouLiMwLi4uIFBhdHRlcm46Li4jOS4uLgpBPkIgQjxDIEM+QSAgICAgICBBPEIg
Qj5DIEM8QSAgICAgICBBPkIgQjxDIEM8QSAgICAgQTxCIEI+QyBDPkEKCgouLi5BLi4uLi4uLi4u
Li4uLiAuLi4uLi4uLi4uLi4uRC4KLi4vXC4uLi4uLi4uLi4uLi4gLi4uLi4uLi4uLi4uL1wuCi4u
Li5cLi4uLi4uLi5DLi4uIC4uLkIuLi4uLi4uLy4uLgouLi4uLlwuLi4uLi4vXC4uLiAuLi9cLi4u
Li4uLy4uLi4KLi4uLi4uXC4uLi4vLi5cLy4gXC8uLlwuLi4uLy4uLi4uCi4uLi4uLi5cLi4vLi4u
LkQuIC5BLi4uXC4uLy4uLi4uLgouLi4uLi4uLlwvLi4uLi4uLiAuLi4uLi5cLy4uLi4uLi4KLi4u
Li4uLi4uQi4uLi4uLi4gLi4uLi4uLkMuLi4uLi4uClBhdHRlcm46Li4jMi4uLi4uIFBhdHRlcm46
Li4jNy4uLgpBPkIgQjxDIEM8QSAgICAgICBBPEIgQj5DIEM8QQpEPEMgRD5CICAgICAgICAgICBE
PkMgRD5CCgoKICAgICAgICAgICAgICAgUkVMQVRJT05TSElQUyBCRVRXRUVOIFBSSUNFUyBBVApQ
QVRURVJOIyAgICBBIDogQiAgICBCIDogQyAgICBDIDogQSAgICAgRCA6IEMgICAgRCA6IEEvQgoK
MCAgICAgICAgICAgQSA+IEIgICAgQiA8IEMgICAgQyA8IEEgICAgIEQgPCBDICAgIEQgPCBCCjEg
ICAgICAgICAgIEEgPiBCICAgIEIgPCBDICAgIEMgPiBBICAgICBEIDwgQyAgICBEIDwgQgoyICAg
ICAgICAgICBBID4gQiAgICBCIDwgQyAgICBDIDwgQSAgICAgRCA8IEMgICAgRCA8IEEKMyAgICAg
ICAgICAgQSA+IEIgICAgQiA8IEMgICAgQyA+IEEgICAgIEQgPCBDICAgIEQgPiBCICAgICBEIDwg
QQo0ICAgICAgICAgICBBID4gQiAgICBCIDwgQyAgICBDID4gQSAgICAgRCA8IEMgICAgRCA+IEEK
CjUgICAgICAgICAgIEEgPCBCICAgIEIgPiBDICAgIEMgPCBBICAgICBEID4gQyAgICBEIDwgQQo2
ICAgICAgICAgICBBIDwgQiAgICBCID4gQyAgICBDIDwgQSAgICAgRCA+IEMgICAgRCA8IEIgICAg
IEQgPiBBCjcgICAgICAgICAgIEEgPCBCICAgIEIgPiBDICAgIEMgPCBBICAgICBEID4gQyAgICBE
ID4gQgo4ICAgICAgICAgICBBIDwgQiAgICBCID4gQyAgICBDID4gQSAgICAgRCA+IEMgICAgRCA8
IEIKOSAgICAgICAgICAgQSA8IEIgICAgQiA+IEMgICAgQyA+IEEgICAgIEQgPiBDICAgIEQgPiBC
IAoKUGF0dGVybjouLiM0Li4uLi4gICAgICAgICBQYXR0ZXJuOi4uIzUuLi4gICAKQT5CIEI8QyBD
PkEgRDxDIEQ+QSAgICAgICBBPEIgQj5DIEM8QSBEPkMgRDxBICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKUGF0dGVybjouLiMzLi4uLi4gICAgICAgICBQYXR0ZXJu
Oi4uIzYuLi4gICAKQT5CIEI8QyBDPEEgRDxDIEQ+QiAgICAgICBBPEIgQj5DIEM8QSBEPkMgRD5C
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgClBhdHRlcm46Li4jMi4uLi4gICAg
ICAgICAgUGF0dGVybjouLiM3Li4uLgpBPkIgQjxDIEM+QSBEPEMgRDxBICAgICAgIEE8QiBCPkMg
QzxBIEQ+QyBEPkIKICAgICAgICAgICAgICAgICAgIApQYXR0ZXJuOi4uIzEuLiAgICAgICAgICAg
IFBhdHRlcm46Li4jOC4uLgpBPkIgQjxDIEM+QSBEPEMgRDxCICAgICAgIEE8QiBCPkMgQz5BIEQ+
QyBEPEIKICAgICAgICAgICAgICAgICAgClBhdHRlcm46Li4jMC4uLiAgICAgICAgICAgUGF0dGVy
bjouLiM5Li4uCkE+QiBCPEMgQzxBIEQ8QyBEPEIgICAgICAgQTxCIEI+QyBDPkEgRD5DIEQ+Qgog
ICAgICAgICAgICAgICAgICAKCkJlY2F1c2UgIEEgIGlzIGEgcmVzZXJ2ZWQgd29yZCBpbiBFYXN5
TGFuZ3VhZ2Ugd2UgdXNlIHRoZQphbm5vdGF0aW9uICBBQSwgQkIsIENDLCBhbmQgREQgIGZvciB0
aGUgZXF1aXZhbGVudCBsb2NhdGlvbnMKbm90ZWQgYWJvdmUuCgp9CiAgICAgICAgICAgICAgICAg
IApJbnB1dHM6ICAgQUEobnVtZXJpYyksCiAgICAgICAgICBCQihudW1lcmljKSwKICAgICAgICAg
IENDKG51bWVyaWMpLAogICAgICAgICAgREQobnVtZXJpYyk7CiAgICAgIApWYXJzOiAgICAgUmV0
dXJuKDApLFJldHVybjEoMCksUmV0dXJuMigwKTsKClJldHVybiA9IC05OwpSZXR1cm4xPSAtOTsK
UmV0dXJuMj0gLTk7Cgp7MC00ICAgICAgIEEgPiBCICAgICAgICBCIDwgQyAgICAgICBEIDwgQ30K
SWYgICAgICAgICBBQT5CQiAgIGFuZCAgQkI8Q0MgIGFuZCAgREQ8Q0MgdGhlbiBiZWdpbgoJCiAg
ezAgICAgICAgQyA8PSBBICAgICAgIEQgPD0gQn0KICBJZiAgICAgICBDQzw9QUEgIGFuZCAgREQ8
PUJCICB0aGVuIFJldHVybjE9MAoKICB7MSAgICAgICBDID49IEEgICAgICAgRCA8PSBCfQogIEVs
c2UgSWYgIENDPj1BQSAgYW5kICBERDw9QkIgIHRoZW4gUmV0dXJuMT0xCgogIHsyICAgICAgIEMg
PD0gQSAgICAgICBEID49IEJ9CiAgRWxzZSBJZiAgQ0M8PUFBICBhbmQgIEREPj1CQiAgdGhlbiBS
ZXR1cm4xPTIKCiAgezMgICAgICAgQyA+PSBBICAgICAgIEQgPD0gQSAgICAgICBEID49IEJ9CiAg
RWxzZSBJZiAgQ0M+PUFBICBhbmQgIEREPD1BQSAgYW5kICBERD49QkIgIHRoZW4gUmV0dXJuMT0z
CgogIHs0ICAgICAgIEMgPj0gQSAgICAgICBEID49IEF9CiAgRWxzZSBJZiAgQ0M+PUFBICBhbmQg
IEREPj1BQSAgdGhlbiBSZXR1cm4xPTQ7CgkJCkVuZAp7NS05ICAgICAgIEEgPCBCICAgICAgICBC
ID4gQyAgICAgICBEID4gQ30KICB7OSAgICAgICBDID49IEEgICAgICAgRCA+PSBCIH0KRWxzZSBJ
ZiAgICBDQz49QUEgIGFuZCAgREQ+PUJCICB0aGVuIFJldHVybjI9OQoKICB7OCAgICAgICBDID49
IEEgICAgICAgRCA8PSBCfQogIEVsc2UgSWYgIENDPj1BQSAgYW5kICBERDw9QkIgIHRoZW4gUmV0
dXJuMj04CgogIHs3ICAgICAgIEMgPD0gQSAgICAgICBEID49IEJ9CiAgRWxzZSBJZiAgQ0M8PUFB
ICBhbmQgIEREPj1CQiAgdGhlbiBSZXR1cm4yPTcKCiAgezYgICAgICAgQyA8PSBBICAgICAgIEQg
Pj0gQSAgICAgICBEIDw9IEJ9CiAgRWxzZSBJZiAgQ0M8PUFBICBhbmQgIEREPj1BQSAgYW5kICBE
RDw9QkIgIHRoZW4gUmV0dXJuMj02CgogIHs1ICAgICAgIEMgPD0gQSAgICAgICBEIDw9IEF9CiAg
ZWxzZSBJZiAgQUE8QkIgICBhbmQgIEJCPkNDICBhbmQgIEREPkNDIHRoZW4gYmVnaW4KICBJZiAg
ICAgICBDQzw9QUEgIGFuZCAgREQ8PUFBICB0aGVuIFJldHVybjI9NTsKCkVuZDsKCgkgICAgICAg
ICAgICAgICAgICAgIApQdHJuVHlwZT1NYXhMaXN0KFJldHVybjEsUmV0dXJuMik7Cgo=
W0xlZ2FjeUNvbG9yVmFsdWUgPSB0cnVlXTsgIAoKCnsqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogIEZ1bmN0aW9u
ICAgIDogU3dpbmdfTGVlX0lJIAogIAogIExhc3QgRWRpdCAgIDogMTIvMTkvMjAwMQoKICBGdW5j
dGlvbiBCeSA6IENseWRlIExlZSAoYykgQ29weXJpZ2h0IDIwMDAsIDIwMDEKCiAgICAgICAgICA6
IFRoaXMgdmVyc2lvbiBzaGFsbCBub3QgYmUgZGlzdHJpYnV0ZWQgd2l0aG91dAogICAgICAgICAg
OiBUaGUgd3JpdHRlbiBjb25zZW50IG9mIHRoZSBhdXRob3IuICBUaGlzCiAgICAgICAgICA6IHBy
b2hpYml0aW9uIGV4dGVuZHMgdG8gYWxsIGVsZW1lbnRzIGludm9sdmVkCiAgICAgICAgICA6IGlu
IHRoZSBjb25zdHJ1Y3Rpb24gb2YgdGhpcyBmdW5jdGlvbi4KCkRlc2NyaXB0aW9uIDogRnVuY3Rp
b24gY29tcHV0ZXMgdHVybmluZyBwb2ludHMgb2YgdGhlIFppZ1phZyBUeXBlLgpJbml0aWFsIGNv
bmNlcHQgd2hpY2ggdXNlZCAlIG9mIGN1cnJlbnQgcHJpY2UgdG8gc2V0IHJldmVyc2Fscwp3YXMg
cGFydCBvZiBhbiBJbmRpY2F0b3Igd2hpY2ggd2FzIHByb3ZpZGVkIEJ5IE9tZWdhIFJlc2VhcmNo
LCBJbmMuIApDb2RlIHdhcyBjb21wbGV0ZWx5IHJld3JpdHRlbiB0byBnZXQgYXJvdW5kIHNvbWUg
c2lnbmlmaWNhbnQKcHJvYmxlbXMgaW4gdGhlIE9tZWdhIGNvZGUuIAoKCkZlYXR1cmVzICAgIDog
MC4gIEFsbG93IGEgcGVyY2VudGFnZSBvZiBjdXJyZW50IGNsb3NlIHByaWNlIHRvIGJlCiAgICAg
ICAgICAgICAgICAgIHVzZWQgdG8gZGV0ZXJtaW5lIHJldmVyc2FsIHBvaW50cy4KICAgICAgICAg
ICAgICAxLiAgQWxsb3cgYSBtdWx0aXBsZSBvZiAyMSBiYXIgU3RhbmRhcmQgRGV2aWF0aW9uIHRv
IGJlCiAgICAgICAgICAgICAgICAgIHVzZWQgdG8gZGV0ZXJtaW5lIHJldmVyc2FsIHBvaW50cy4K
ICAgICAgICAgICAgICAyLiAgQWxsb3cgYSBtdWx0aXBsZSBvZiAyMSBiYXIgQXZlcmFnZSBUcnVl
IFJhbmdlIHRvIGJlCiAgICAgICAgICAgICAgICAgIHVzZWQgdG8gZGV0ZXJtaW5lIHJldmVyc2Fs
IHBvaW50cy4KICAgICAgICAgICAgICAzLiAgVG8gYWxsb3cgdGhlIHVzZSBvZiB0aGUgSGlnaGVz
dEhpZ2ggYW5kIExvd2VzdExvdwogICAgICAgICAgICAgICAgICBmdW5jdGlvbnMgdG8gZGV0ZXJt
aW5lIHJldmVyc2FsIHBvaW50cy4KCQk0LiAgVXNlcyBaaWdaYWdQcm8gYXMgbWV0aG9kIG9mIGRl
dGVybWluaW5nIHJldmVyc2FscwoJCSAgICBhbmQgZGVwZW5kcyBvbiBudW1iZXIgb2YgYmFycy4K
ClRoaXMgcm91dGluZSBhbGxvd3MgdXNlcnMgYSBjaG9pY2Ugb2YgbWV0aG9kcyBvZiBkZXRlbWlu
aW5nIHdoZXJlIGFuZApob3cgcmV2ZXJzYWxzIG9mIHByaWNlIHNlcXVlbmNlcyBvY2N1ci4gIFRo
ZSByZXR1cm4gdmFsdWUgaXMgdGhlIG51bWJlcgpvZiBiYXJzIGJhY2sgdG8gdGhlIGxhc3QgZGV0
ZXJtaW5lZCBUdXJuaW5nUG9pbnQgaW4gcHJpY2UgZGlyZWN0aW9uCmFuZCBpcyBzaWduZWQgcG9z
aXRpdmUgaWYgcHJpY2VzIGFyZSBjdXJyZW50bHkgZ29pbmcgdXAgYW5kIG5lZ2F0aXZlIGlmCnBy
aWNlcyBhcmUgY3VycmVudGx5IGdvaW5nIGRvd24uCgpBIHNlcGVyYXRlIGluZGljYXRvciBpbGx1
c3RyYXRlcyBhbGwgbWV0aG9kcyBjb25jdXJyZW50bHkuCgoKKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqfQoKSW5w
dXRzOiBXYXZlUGNudChudW1lcmljKSx7TW9kZUM9MCAtIFBlcmNlbnQgb2YgcHJpY2UgdG8gZGVm
aW5lIHN3aW5nICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgIHtNb2RlQz0xIC0gTXVsdGlw
bGllciBvZiAyMSBiYXIgU3RkRGV2ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg
e01vZGVDPTIgLSBNdWx0aXBsaWVyIG9mIDIxIGJhciBBVFIgICAgICAgICAgIH0KICAgICAgICAg
ICAgICAgICAgICAgICAgICB7TW9kZUM9MyAtIE51bWJlciBCYXJzIGZvciBTd2luZ19MZWUgVHlw
ZSAgICAgfQogICAgICAgIE1vZGVDKE51bWVyaWMpOyAKClZhcmlhYmxlczogVFAoYyksICAgICBU
UERhdGUoZGF0ZSksIFRQVGltZSh0aW1lKSwgIFRQQmFyKGN1cnJlbnRiYXIpLCAgRGlyZWN0KDAp
LAogICAgICAgICAgIFppZ1phZygwKSwgTmV4dFppZygwKSwgTkJhcnMoV2F2ZVBjbnQpLENNb2Rl
KDApLAogICAgICAgICAgIFRQRGVsdGEoMCksUGVyY1dhdmUoV2F2ZVBjbnQqLjAxKSA7CiAgVmFy
czogICAgSEgoaCksIExMKGwpLCBIQmFyKDEpLCBMQmFyKDEpLCBNYXhDaGFuZ2UoU3RkRGV2KGMs
MjEpKTsKICBWYXJzOiAgICBMZWZ0QmFycyhJZmYoV2F2ZVBjbnQ+PTIsSW50cG9ydGlvbihXYXZl
UGNudCkrMSwzKSksCiAgICAgICAgICAgUmlnaHRCYXJzKElmZihGcmFjUG9ydGlvbihXYXZlUGNu
dCk8LjAxLExlZnRCYXJzey0xfSxJbnRQb3J0aW9uKEZyYWNQb3J0aW9uKFdhdmVQY250Ky4wMDEp
KjEwMCkpKTsKCgpDTW9kZT1JbnRQb3J0aW9uKE1vZGVDKTsKTWF4Q2hhbmdlPTIqU3RkRGV2KGMs
MjEpOwpEaXJlY3QgPSBEaXJlY3QrU2lnbihEaXJlY3QpOwoKSWYgQ3VycmVudEJhcj0xIHRoZW4g
YmVnaW4KICBIQmFyPUhpZ2hlc3RCYXIoSCwyOSk7CiAgTEJhcj1Mb3dlc3RCYXIgKEwsMjkpOwog
IERpcmVjdD1MQmFyLUhCYXI7CglJZiBEaXJlY3Q8MCB0aGVuIERpcmVjdD0tSEJhcgoJCSAgICAg
ICAgICBlbHNlIERpcmVjdD0rTGJhcjsKICBISD1IW0hCYXJdO0xMPUxbTEJhcl07IApFbmQ7CgpJ
ZiBDTW9kZT0zIHRoZW4gYmVnaW4KICBWYWx1ZTM9SDtWYWx1ZTQ9TDsKICBWYWx1ZTE9MDtWYWx1
ZTI9MDsKICBGb3IgVmFsdWU1PTEgdG8gTkJhcnMgYmVnaW4KICAgIElmIEhbVmFsdWU1XT5WYWx1
ZTMgdGhlbiBiZWdpbgogICAgICBWYWx1ZTE9VmFsdWU1OwogICAgICBWYWx1ZTM9SFtWYWx1ZTFd
OwogICAgRW5kOwogICAgSWYgTFtWYWx1ZTVdPFZhbHVlNCB0aGVuIGJlZ2luCiAgICAgIFZhbHVl
Mj1WYWx1ZTU7CiAgICAgIFZhbHVlND1MW1ZhbHVlMl07CiAgICBFbmQ7CiAgRW5kOwogIElmIERp
cmVjdD4wIHRoZW4gYmVnaW4KICAgIElmIFZhbHVlMjxWYWx1ZTEgdGhlbiBEaXJlY3Q9LVZhbHVl
MTsKICBFbmQKICBFbHNlIGJlZ2luCiAgICBJZiBWYWx1ZTE8VmFsdWUyIHRoZW4gRGlyZWN0PSBW
YWx1ZTI7CiAgRW5kOwpFbmQKCkVsc2UgSWYgQ01vZGU8MyB0aGVuIGJlZ2luCiAgSWYgSD5ISCAg
dGhlbiBiZWdpbgogICAgSEg9SDsgSEJhcj1DdXJyZW50QmFyOwogICAgSWYgRGlyZWN0PjAgdGhl
biBMTD1MOwogIEVuZDsKCUlmIEw8TEwgdGhlbiBiZWdpbgogICAgTEw9TDsgTEJhcj1DdXJyZW50
QmFyOwogICAgSWYgRGlyZWN0PDAgdGhlbiBISD1IOwogIEVuZDsKCgogIElmIENNb2RlPDEgdGhl
biBiZWdpbgogIAlJZiBEaXJlY3Q+MCAKCQkgIHRoZW4gVFBEZWx0YT1ISCpQZXJjV2F2ZQoJCSAg
ZWxzZSBUUERlbHRhPUxMKlBlcmNXYXZlOwoJRW5kCiAgRWxzZSBJZiBDTW9kZT0xIHRoZW4gVFBE
ZWx0YT1TdGREZXYoYywyMSkqV2F2ZVBjbnQKICBFbHNlICAgICAgICAgICAgICAgICBUUERlbHRh
PUF2Z1RydWVSYW5nZSgyMSkqV2F2ZVBjbnQ7CiAgCiAgSWYgSEgtTEw+VFBEZWx0YSB0aGVuIGJl
Z2luCiAgICBJZiBEaXJlY3Q+MCBBTkQgTEJhcj5IQmFyIHRoZW4gYmVnaW4gIAoJCQlEaXJlY3Q9
Q3VycmVudEJhci1IQmFyOwoJCQkKICAgICAgRm9yIFZhbHVlMT0wIHRvIERpcmVjdCsxe0N1cnJl
bnRCYXItTEJhcisxfSBiZWdpbgogICAgICAgIElmIEhbVmFsdWUxXT5IW0RpcmVjdF0gdGhlbiBE
aXJlY3Q9VmFsdWUxOwogICAgICBFbmQ7CgkJCURpcmVjdD0tRGlyZWN0OwoJCQkKICAgICAgTEw9
SFstRGlyZWN0XTsKICAgICAgSEg9SFstRGlyZWN0XTsKICAgICAgVFA9SEg7CiAgICBFbmQ7CiAg
ICBJZiBEaXJlY3Q8MCBhbmQgSEJhcj5MQmFyIHRoZW4gYmVnaW4gIAoJCQlEaXJlY3Q9Q3VycmVu
dEJhci1MQmFyOwoJCQkKICAgICAgRm9yIFZhbHVlMT0wIHRvIERpcmVjdCsxe0N1cnJlbnRCYXIt
SEJhcisxfSBiZWdpbgogICAgICAgIElmIExbVmFsdWUxXTxMW0RpcmVjdF0gdGhlbiBEaXJlY3Q9
VmFsdWUxOwogICAgICBFbmQ7CgkJCQogICAgICBISD1MW0RpcmVjdF07CiAgICAgIExMPUxbRGly
ZWN0XTsKICAgICAgVFA9TEw7CiAgICBFbmQ7CiAgRW5kOwogIAogIElGIERpcmVjdD0wIHRoZW4g
YmVnaW4KICAgIElmIEhILUxMPlRQRGVsdGEgdGhlbiBiZWdpbgogICAgICBJZiBIQmFyPkxCYXIg
CiAgICAgICAgdGhlbiBEaXJlY3Q9TEJhci1DdXJyZW50QmFyCiAgICAgICAgRWxzZSBEaXJlY3Q9
Q3VycmVudEJhci1IQmFyOwogICAgICBJZiBEaXJlY3Q+MCB0aGVuIExMPUggZWxzZSBISD1MOwog
ICAgRW5kOwogIEVuZDsKICAKRW5kICAge0VuZCBjbW9kZT0zIGxvb3B9CkVsc2UgYmVnaW4gIHtz
dGFydCBjbW9kZT00IGxvb3B9CglEaXJlY3Q9WmlnWmFnUHJvKE5CYXJzKTsKRW5kOwpTd2luZ19M
ZWVfSUkgPSBEaXJlY3Q7IAoK
W0xlZ2FjeUNvbG9yVmFsdWUgPSB0cnVlXTsgCgpJbnB1dDogIERlbHQoTnVtZXJpYyk7ClZhcnM6
ICAgU3dpbmcoMCksIEhIKEgpLCBMTChMKSwgQkgoMCksQkwoMCksQk4oMCksRGlyZWN0KDApLAoJ
ICAgICAgS2VlcEJOU0goMCksIEtlZXBCTlNMKDApLFNpbmNlU0woMCksIFNpbmNlU0goMCksCgkg
ICAgICBVc2VEZWx0KERlbHQpOwoKSWYgRGVsdDwwIHRoZW4gVXNlRGVsdD1DbG9zZSotRGVsdC8x
MDA7CQkJCQoKQk49IGJhcm51bWJlcjsKCQpJZiBMIDwgTEwtVXNlRGVsdCBhbmQgSDw9SEggKyBV
c2VEZWx0IHRoZW4gYmVnaW4KCUxMPUw7CglISD1IOwoJU3dpbmcgPSAtMTsKZW5kOwoKSWYgSD5I
SCArVXNlRGVsdCBhbmQgTD49IExMIC0gVXNlRGVsdCB0aGVuIGJlZ2luCiAgTEw9TDsKCUhIPUg7
CglTd2luZyA9ICsxOwplbmQ7CgpJZiBTd2luZyA8PiBTd2luZ1sxXSB0aGVuIGJlZ2luCglCSCA9
IEg7CiAgQkwgPSBMOwplbmQ7CgpJZiBTd2luZyA9ICsxIHRoZW4gYmVnaW4KCVNpbmNlU0wgPSBC
TiAtIEtlZXBCTlNMOwoJSWYgSD49IEJIIHRoZW4gYmVnaW4KICAgIEJIID0gSDsKICAJS2VlcEJO
U0ggPSBCTjsKCWVuZDsKZW5kIAplbHNlIGJlZ2luCiAgU2luY2VTSCA9ICBCTiAtICBLZWVwQk5T
SDsKICBJZiBMPD1CTCB0aGVuIGJlZ2luCiAgICBCTCA9IEw7CiAgICBLZWVwQk5TTD1CTjsKICBl
bmQ7CmVuZDsKCklmIFN3aW5nPD4gU3dpbmdbMV0gdGhlbiBiZWdpbgoJSWYgU3dpbmcgPSAxIAoJ
ICB0aGVuIERpcmVjdD0rU2luY2VTTAogIAllbHNlIERpcmVjdD0tU2luY2VTSDsKZW5kOwpaaWda
YWdQcm89RGlyZWN0OwoK
W0xlZ2FjeUNvbG9yVmFsdWUgPSBUUlVFXTsKCnsKKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgIAogIEluZGljYXRv
ciAgIDogTGVuZ3RoT2ZTd2luZwogIAogIEZpcnN0IEVkaXQgIDogMTEvMDcvOTgKICBMYXN0IEVk
aXQgICA6IDAzLzIxLzAyCgogIFByb3ZpZGVkIEJ5IDogQ2x5ZGUgTGVlIChjKSBDb3B5cmlnaHQg
MTk5OC0yMDAyCgogICAgICAgICAgOiBUaGlzIHZlcnNpb24gc2hhbGwgbm90IGJlIGRpc3RyaWJ1
dGVkIHdpdGhvdXQKICAgICAgICAgIDogVGhlIHdyaXR0ZW4gY29uc2VudCBvZiB0aGUgYXV0aG9y
LgoKICBOb3RlOiBVc2VzIFN3aW5nX0xlZV9JSSBmdW5jdGlvbiB0aGF0IG1heSB1c2UgZWl0aGVy
IEhpZ2hlc3RIaWdoIAogICAgICAgIGFuZCBMb3dlc3RMb3cgZm9yIG4gZGF5cyB0byBkZXRlcm1p
bmUgVHVybmluZyBQb2ludHMgZm9yIFN3aW5nIAogICAgICAgIEFuYWx5c2lzIG9yIHBlcmNlbnQg
cHJpY2UgY2hhbmdlLiAKICAgICAgICAKICAgICAgICBJbiBhZGRpdGlvbiB0aGUgcm91dGluZSBj
b21wdXRlcyBhIFBBVFRFUk4gSUQgTlVNQkVSIGF0IGVhY2ggCiAgICAgICAgdHVybmluZ3BvaW50
IGJhc2VkIG9uIHRoZSByZWxhdGl2ZSBwb3NpdGlvbnMgb2YgdGhhdCBwb2ludCBhbmQgCiAgICAg
ICAgdGhlIHRocmVlIHBvaW50cyBwcmlvciB0byB0aGUgbGFzdCBvbmUuICBJZiB0aGUgb3B0aW9u
IHRvIHBvc3QKICAgICAgICB0aGUgbnVtYmVyIG9mIGJhcnMgaXMgc2VsZWN0ZWQgdGhlbiB0aGUg
cGF0dGVybiBJRCBpcyBhbHNvCiAgICAgICAgcG9zdGVkIGZvbGxvd2luZyBhIHRoZSBudW1iZXIg
b2YgYmFycyBhbmQgYSBkYXNoLgoKICAgICAgICBVc2luZyB0aGUgIEFub3RDb2xyICBwYXJhbWV0
ZXIsIHRoZSB1c2VyIGNhbiBzcGVjaWZ5IHRoZQogICAgICAgIGNvbG9yIGRlc2lyZWQgZm9yIGFu
bm90YXRpb24gaWYgYW5ub3RhdGlvbiBpcyBkZXNpcmVkLiAgVGhlcmUKCQkJCWFyZSB0d28gb3B0
aW9ucyBmb3IgYW5ub3RhdGlvbi4gIFRoZSBmaXJzdCAgbm4tcCAgaXMgYWNjb21wbGlzaGVkCgkJ
CQl3aGVuIHRoZSBwYXJhbWV0ZXIgaXMgcG9zaXRpdmUgb3IgIHh4JS1wICB3aWxsIGJlIGFubm90
YXRlZCBpZgoJCQkJdGhlIHBhcmFtZXRlciBpcyBuZWdhdGl2ZS4KICAgICAgICAKICAgICAgICAK
ICAgICAgICBVc2VyIG1heSBzZWxlY3QgdG8gcGxvdCBUUlVFIHR1cm5pbmcgcG9pbnRzCiAgICAg
ICAgKGkuZS4gYWN0dWFsIGRhdGVzIHdoZW4gVFAgd2FzIGRldGVybWluZWQpLgoKCioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKgp9CgpJbnB1dDogIE5CYXJzKDMpLCAgICAge0RldGVybWluZXMgd2hhdCAic3RyZW5ndGgi
IG9mIGEgc3dpbmcgdG8gfQogICAgICAgICAgICAgICAgICAgICAgIHt1c2UgZm9yIGRldGVybWlu
aW5nIHR1cm5pbmcgcG9pbnRzLiAgICAgIH0KCQkJCQkJCQkJCQkgCiAgICAgICAgTW9kZUNvbXAo
MyksICAgezAuICBBbGxvdyBhIHBlcmNlbnRhZ2Ugb2YgY3VycmVudCBjbG9zZSBwcmljZSAKCQkJ
CSAgICAgICAgICAgICAgICAgICAgdG8gYmUgdXNlZCB0byBkZXRlcm1pbmUgcmV2ZXJzYWwgcG9p
bnRzLgogICAgICAgICAgICAgICAgICAgICAgICAxLiAgQWxsb3cgYSBtdWx0aXBsZSBvZiAyMSBi
YXIgU3RhbmRhcmQgCgkJCQkJCQkJCQkJCSAgICBEZXZpYXRpb24gdG8gYmUgdXNlZCB0byBkZXRl
cm1pbmUgcmV2ZXJzYWwgCgkJCQkJCQkJCQkJCQkJcG9pbnRzLgogICAgICAgICAgICAgICAgICAg
ICAgICAyLiAgQWxsb3cgYSBtdWx0aXBsZSBvZiAyMSBiYXIgQXZlcmFnZSBUcnVlIAoJCQkJCQkJ
CQkJCQkgICAgUmFuZ2UgdG8gYmUgdXNlZCB0byBkZXRlcm1pbmUgcmV2ZXJzYWwgCgkJCQkJCQkJ
CQkJCQkJcG9pbnRzLgogICAgICAgICAgICAgICAgICAgICAgICAzLiAgVG8gYWxsb3cgdGhlIHVz
ZSBvZiB0aGUgSGlnaGVzdEhpZ2ggYW5kIAoJCQkJCQkJCQkJCQkgICAgTG93ZXN0TG93IGZ1bmN0
aW9ucyB0byBkZXRlcm1pbmUgcmV2ZXJzYWwgCgkJCQkJCQkJCQkJCQkJcG9pbnRzLgoJCQkJCQkg
ICAgICAgICAgIAk0LiAgVXNlcyBaaWdaYWdQcm8gYXMgbWV0aG9kIG9mIGRldGVybWluaW5nIAoJ
CQkJCQkJCQkJCQkgICAgcmV2ZXJzYWxzIGFuZCBkZXBlbmRzIG9uIG51bWJlciBvZiBiYXJzLn0K
CiAgICAgICAgQW5vdENvbHIoMC4wKSwge0NvbG9yIGZvciBhbm5vdGF0aW9uIG9mIHN3aW5nIHBv
aW50cyAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICB7U2V0IHRvIFplcm8gZm9yIE5PIEFO
Tk9UQVRJT04gICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgIHtJZiBub24gemVy
byBzZXRzIGNvbG9yIG9mIHRyZW5kIGxpbmVzICAgICB9CgkJCQkJCQkJCQkJIHtiYXNlZCBvbiBp
bnRlZ2VyIHBhcnQgb2YgbnVtYmVyIGFuZCwgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg
e2Fsc28sIHNldCBsaW5lIHdpZHRoIHVzaW5nIGZyYWN0aW9uYWwgICAgIH0KICAgICAgICAgICAg
ICAgICAgICAgICB7cGFydCBhcyBhIHdob2xlIG51bWJlciBsaW5lIHdpZHRoLiAgICAgICAgfQoJ
CQkJRm9sZGVySWQoIiIpOyAge0EgdmFsaWQgZmlsZSBmb2xkZXIgaWQgZm9yIGNyZWF0aW9uIG9m
IGEgIH0gCgkJCQkgICAgICAgICAgICAgICB7ZmlsZSBJRCA9IFN5bWJfZGF0ZV90aW1lX25iYXJz
IGluIHdoaWNoIHRvfQoJCQkJICAgICAgICAgICAgICAge3N0b3JlIHRpbWUsIGRhdGUsIGJhcm51
bWJlciwgYW5kIHBhdHRlcm4gIH0KCQkJCQkJCQkJCQkge251bWJlciBmb3IgZWFjaCBwaXZvdCBz
ZWxlY3RlZC4gICAgICAgICAgIH0KCQkJCQkJCQkJCQkJCQkKClZhcnM6ICAgU3RyaW5nMSgiICIp
LCAgICAgQmFzZUNvbHIoMCksICAgIERvSW5pdChUcnVlKSwKICAgICAgICBIQmFyKDApLCAgICAg
ICAgICBMQmFyKDApLCAgICAgICAgSGFuZGwxKC0xKSwgICAKCQkJCVRleHRDb2xyKElmZihBbm90
Q29scjw+MCxJbnRQb3J0aW9uKEFic1ZhbHVlKEFub3RDb2xyKSksMCkpLAogICAgICAgIElQYXNz
KDApLCAgICAgICAgIEhvbGRCYXIoMCksCiAgICAgICAgRGlyZWN0SCgwKSwgICAgICAgRGlyZWN0
KDApLCAKICAgICAgICBQbG90U2l6ZShGcmFjRGlnaXQoQW5vdENvbHIsIDEpKSwKICAgICAgICBQ
bG90Q29scihUZXh0Q29sciksCgkJCQlJZEZpbGUoRm9sZGVySUQpOwoKVmFyczogICBUUEJhckgo
MCksICAgICAgICBUUFByaWNIKDApLCAgICAgVFBEYXRlSCgwKSwgICAgIFRQVGltZUgoMCksCiAg
ICAgICAgVFBCYXJMKDApLCAgICAgICAgVFBQcmljTCgwKSwgICAgIFRQRGF0ZUwoMCksICAgICBU
UFRpbWVMKDApLAogICAgICAgIFRQQ2xvc2VMKDApLCAgICAgIFRQQ2xvc2VIKDApLCAgICBUUENC
YXJMKDApLCAgICAgVFBDQmFySCgwKTsKClZhcnM6ICAgU3VtNFBlcmMoMCksICAgICAgS250NFBl
cmMoMCk7ClZhcnM6ICAgU3VtNEJhcnMoMCksICAgICAgS250NEJhcnMoMCk7CgpWYXJzOiAgIFB0
cm5JRCgwKSwgQUEoMCksICBCQigwKSwgIENDKDApLCAgREQoMCk7ICAgICB7eHggID0gcHJpY2Ug
ICAgICB9CgoKe1RoZSB2YWx1ZSByZXR1cm5lZCBieSBTd2luZ19MZWUgc2hvd3MgdGhlIGRpcmVj
dGlvbiBvZiB0aGUgY3VycmVudAogbGVnIGFuZCB0aGUgbnVtYmVyIG9mIGRheXMgYmFjayB0byB0
aGUgcHJpb3IgcGVhayAoaWYgbGVnIGlzIGRvd24pCiBvciBwcmlvciB0cm91Z2ggKGlmIGxlZyBp
cyB1cCkufQoKSWYgRG9Jbml0IHRoZW4gYmVnaW4KICBJZiBHZXRCYWNrR3JvdW5kQ29sb3I8PlRv
b2xfQmxhY2sgCgkgIHRoZW4gIEJhc2VDb2xyPVRvb2xfUmVkCiAgICBlbHNlICBCYXNlQ29scj1U
b29sX1doaXRlOwoJSWYgSURGaWxlPD4iIiB0aGVuIGJlZ2luCgkJSWYgUmlnaHRTdHIoSURGaWxl
LDEpPD4iLyIgdGhlbiBJREZpbGU9SURGaWxlKyIvIjsKCQlJREZJTEU9SURGaWxlK0dldFN5bWJv
bE5hbWUrTnVtVG9TdHIoQ3VycmVudERhdGUsMCkrTnVtVG9TdHIoQ3VycmVudFRpbWUsMCkrTnVt
VG9TdHIoTkJhcnMsMCkrIi5jc3YiOwoJCUZpbGVBcHBlbmQoSURGaWxlLCIgICBDdXJyQmFyLCAg
ICBITERhdGUsICAgIEhMVGltZSwgICBITFByaWNlLCAgICBQdHJuSUQiK05ld0xpbmUpOwoJRW5k
OwogIERvSW5pdD1GYWxzZTsKRW5kOwoKRGlyZWN0PVN3aW5nX0xlZV9JSShOQmFycywgTW9kZUNv
bXApOwoKSWYgRGlyZWN0PDAgYW5kIERpcmVjdFsxXT4wIHRoZW4gIGJlZ2luCiAgSEJhcj0gLURp
cmVjdDsKCVRQUHJpY0g9SFtIQmFyXTsKICBIb2xkQmFyPUN1cnJlbnRCYXItSEJhcjsKICBUUEJh
ckg9Q3VycmVudEJhci1IQmFyOyAKCVRQRGF0ZUg9RGF0ZVtIQmFyXTsKICBUUFRpbWVIPVRpbWVb
SGJhcl07CglUUENsb3NlSD1DOyAKCVRQQ0Jhckg9Q3VycmVudEJhcjsKICBQbG90MVtIQmFyXShU
UFByaWNILCJTd2luZyIpOwogIEFBPUJCOyAgQkI9Q0M7ICBDQz1ERDsgICBERD1UUFByaWNIOyAK
ICBJZiBBQT4wIHRoZW4gYmVnaW4KICAgIFB0cm5JRD1QdHJuVHlwZShBQSwgQkIsIENDLCBERCk7
CiAgICBJZiBUZXh0Q29scj4wIHRoZW4gYmVnaW4KICAgICAge1ZhbHVlMT1BYnNWYWx1ZShEYXRl
VG9KdWxpYW4oVFBEYXRlSCktRGF0ZVRvSnVsaWFuKFRQRGF0ZUwpKTt9CiAgICAgIFN0cmluZzE9
TnVtVG9TdHIoUHRybklELDApOwogICAgICBWYWx1ZTE9VGV4dF9OZXcoVFBEYXRlSCxUUFRpbWVI
LFRQUHJpY0gsU3RyaW5nMSk7CiAgICAgIFRleHRfU2V0U3R5bGUoVmFsdWUxLCAyLCAxKTsKICAg
ICAgVGV4dF9TZXRDb2xvcihWYWx1ZTEsIFRleHRDb2xyKTsKICAgIEVuZDsKCQlJZiBJREZpbGU8
PiIiIHRoZW4gRmlsZUFwcGVuZChJREZpbGUsTnVtMlN0ck4oSG9sZEJhciwwLDEwKSsiLCIrCgkJ
CSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtMlN0ck4oVFBEYXRlSCwwLDEw
KSsiLCIrCgkJCQkJCQkJCQkJCQkJCQkJCQkJIE51bTJTdHJOKFRQVGltZUgsMCwxMCkrIiwiKwoJ
CQkJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtMlN0ck4oVFBQcmljSCw0LDEw
KSsiLCIrCgkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW0yU3RyTihQdHJu
SUQsMCwxMCkrTmV3TGluZSk7CiAgRW5kOwpFbmQKCkVsc2UgSWYgRGlyZWN0PjAgYW5kIERpcmVj
dFsxXTwwIHRoZW4gYmVnaW4KICBMQmFyPSBEaXJlY3Q7ICAgICAgIAoJVFBQcmljTD1MW0xCYXJd
OwogIEhvbGRCYXI9Q3VycmVudEJhci1MQmFyOwogIFRQQmFyTD1DdXJyZW50QmFyLUxCYXI7IAoJ
VFBEYXRlTD1EYXRlW0xCYXJdOwogIFRQVGltZUw9VGltZVtMQmFyXTsKCVRQQ2xvc2VMPUM7IAoJ
VFBDQmFyTD1DdXJyZW50QmFyOwogIFBsb3QxW0xCYXJdKFRQUHJpY0wsIlN3aW5nIik7CiAgQUE9
QkI7ICBCQj1DQzsgIENDPUREOyAgIEREPVRQUHJpY0w7IAogIElmIEFBPjAgIHRoZW4gYmVnaW4K
ICAgIFB0cm5JRD1QdHJuVHlwZShBQSwgQkIsIENDLCBERCk7CiAgICBJZiBUZXh0Q29scj4wIHRo
ZW4gYmVnaW4KICAgICAge1ZhbHVlMT1BYnNWYWx1ZShEYXRlVG9KdWxpYW4oVFBEYXRlTCktRGF0
ZVRvSnVsaWFuKFRQRGF0ZUgpKTt9CiAgICAgIFN0cmluZzE9TnVtVG9TdHIoUHRybklELDApOwog
ICAgICBWYWx1ZTE9VGV4dF9OZXcoVFBEYXRlTCxUUFRpbWVMLFRQUHJpY0wsU3RyaW5nMSk7CiAg
ICAgIFRleHRfU2V0U3R5bGUoVmFsdWUxLCAyLCAwKTsKICAgICAgVGV4dF9TZXRDb2xvcihWYWx1
ZTEsIFRleHRDb2xyKTsKICAgIEVuZDsKCQlJZiBJREZpbGU8PiIiIHRoZW4gRmlsZUFwcGVuZChJ
REZpbGUsTnVtMlN0ck4oSG9sZEJhciwwLDEwKSsiLCIrCgkJCSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTnVtMlN0ck4oVFBEYXRlTCwwLDEwKSsiLCIrCgkJCQkJCQkJCQkJCQkJ
CQkJCQkJIE51bTJTdHJOKFRQVGltZUwsMCwxMCkrIiwiKwoJCQkJICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgTnVtMlN0ck4oVFBQcmljTCw0LDEwKSsiLCIrCgkJCQkgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBOdW0yU3RyTihQdHJuSUQsMCwxMCkrTmV3TGluZSk7CiAg
RW5kOwpFbmQ7CgpJZiBTaWduKGRpcmVjdCk8PlNpZ24oZGlyZWN0WzFdKSB0aGVuIGJlZ2luCglJ
ZiBDQzw+MCB0aGVuIGJlZ2luCgkJS250NFBlcmM9S250NFBlcmMrMTsKCQlTdW00UGVyYz1TdW00
UGVyYytBYnNWYWx1ZShERC1DQykvREQ7CgkJS250NEJhcnM9S250NEJhcnMrMTsKCQlTdW00QmFy
cz1TdW00QmFycytBYnNWYWx1ZShUUEJhckwtVFBCYXJIKTsKCUVuZDsKRW5kOwoKe0NvbmRpdGlv
bjU9U2lnbihEaXJlY3QpPVNpZ24oRGlyZWN0WzFdKTt9CnsKSWYgTGFzdEJhck9uQ2hhcnQge2Fu
ZCBDb25kaXRpb241fSBUaGVuIEJlZ2luCglWYWx1ZTI9QWJzVmFsdWUoRGlyZWN0KTsKCUlmIERp
cmVjdD4wIHRoZW4gYmVnaW4KCQlWYWx1ZTE9SGlnaGVzdEJhcihILFZhbHVlMik7CgkJVmFsdWUz
PUxbVmFsdWUyXTsKCQlJZiBWYWx1ZTItVmFsdWUxPD4wIHRoZW4gVmFsdWU0PShIW1ZhbHVlMV0t
VmFsdWUzKS8oVmFsdWUyLVZhbHVlMSk7CiAgICBGb3IgVmFsdWU1PVZhbHVlMiBkb3dudG8gVmFs
dWUxIGJlZ2luCiAgCSAgUGxvdDFbVmFsdWU1XShWYWx1ZTMsIlN3aW5nIik7CgkJCVZhbHVlMz1W
YWx1ZTMrVmFsdWU0OwogICAgRW5kOwoJRW5kCglFbHNlIEJlZ2luCgkJVmFsdWUxPUxvd2VzdEJh
cihMLFZhbHVlMik7CgkJVmFsdWUzPUhbVmFsdWUyXTsKCQlJZiBWYWx1ZTItVmFsdWUxPD4wIHRo
ZW4gVmFsdWU0PShMW1ZhbHVlMV0tVmFsdWUzKS8oVmFsdWUyLVZhbHVlMSk7CiAgICBGb3IgVmFs
dWU1PVZhbHVlMiBkb3dudG8gVmFsdWUxIGJlZ2luCiAgCSAgUGxvdDFbVmFsdWU1XShWYWx1ZTMs
IlN3aW5nIik7CgkJCVZhbHVlMz1WYWx1ZTMrVmFsdWU0OwogICAgRW5kOwoJRW5kOwpFbmQ7CQkJ
Cn0KCQpJZiBQbG90Q29scjw+MCB0aGVuIGJlZ2luCiAgU2V0UGxvdENvbG9yKDEsUGxvdENvbHIp
OwogIFNldFBsb3RXaWR0aCgxLCBQbG90U2l6ZSk7CkVuZDsKCgo=