Re: No curses detected

Luis Pascual Forner <[email protected]> Wed, 22 Mar 2023 11:30:52 +0100
Newsgroups gmane.comp.lang.4gl.aubit.general
Organization IVAL informática <http://www.ival.com>
Message-ID <[email protected]>
VGhpcyBpcyB0aGUgcGllY2Ugb2YgY29uZmlnLmxvZyByZWZlcnJpbmcgdG8gY3Vyc2VzIChpdCdz
IGEgYml0IGxvbmcpOgoKY29uZmlndXJlOjMwNTYzOiByZXN1bHQ6IBtbMW1DaGVja2luZyBmb3Ig
Y3Vyc2VzIGxpYnJhcmllczobW20KY29uZmlndXJlOjMwNjEwOiBjaGVja2luZyBmb3IgbWFpbiBp
biAtbG5jdXJzZXMKY29uZmlndXJlOjMwNjMwOiBnY2MgLW8gY29uZnRlc3QgIC1nIC1PMiAgLUwv
bGliICAtTC91c3IvbG9jYWwvbGliIAotTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWxuY3Vyc2VzICAg
PiY1Ci91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0
LXN1c2UtbGludXgvYmluL2xkOiAKc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGlibmN1cnNl
cy5zby42IHdoZW4gc2VhcmNoaW5nIGZvciAKL2xpYi9saWJuY3Vyc2VzLnNvLjYKL3Vzci9saWI2
NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9i
aW4vbGQ6IApjYW5ub3QgZmluZCAvbGliL2xpYm5jdXJzZXMuc28uNjogZmlsZSBpbiB3cm9uZyBm
b3JtYXQKL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZf
NjQtc3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJuY3Vy
c2VzLnNvLjYgd2hlbiBzZWFyY2hpbmcgZm9yIAovbGliL2xpYm5jdXJzZXMuc28uNgovdXNyL2xp
YjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4
L2Jpbi9sZDogCnNraXBwaW5nIGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJ0aW5mby5zbyB3aGVu
IHNlYXJjaGluZyBmb3IgLWx0aW5mbwovdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83
Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCnNraXBwaW5nIGluY29tcGF0
aWJsZSAvdXNyL2xpYi9saWJ0aW5mby5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbHRpbmZvCi91c3Iv
bGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGlu
dXgvYmluL2xkOiAKc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGliZ2NjX3Muc28uMSB3aGVu
IHNlYXJjaGluZyBmb3IgbGliZ2NjX3Muc28uMQpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVk
IDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjMwNjMwOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJB
dWJpdDRnbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQ
QUNLQUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBB
Q0tBR0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2Rl
ZmluZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3Jn
ZS5uZXQiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0
Z2wiCnwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwg
I2RlZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZp
bmUgSEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUg
SEFWRV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19USU1FX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExG
Q05fSCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQg
MQp8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFW
RV9ORVRJTkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5l
IFlZVEVYVF9QT0lOVEVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFW
RV9JS1NFTUVMIDAKfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0gg
MQp8ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVm
aW5lIEhBVkVfTElCU1NMIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pM
SUJfSCAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwg
I2RlZmluZSBIQVZFX1BERiAwCnwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5l
IEhBVkVfTElCU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBI
QVZFX1NBUE9EQkMgMAp8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9E
QkMgMQp8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfT0RCQ0lOU1RfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVm
aW5lIEhBVkVfUEdPREJDIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUg
SEFWRV9HVEtfVkVSU0lPTiAwCnwgI2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQ
Q0dFTiAxCnwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8
CnwKfCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCByZXR1cm4gbWFpbiAoKTsKfCAgIDsKfCAgIHJl
dHVybiAwOwp8IH0KY29uZmlndXJlOjMwNjQwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTozMDY1MTog
Y2hlY2tpbmcgZm9yIHdpbm5zdHIgaW4gLWxuY3Vyc2VzCmNvbmZpZ3VyZTozMDY3NDogZ2NjIC1v
IGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAKLUwvdXNyL2xpYiBj
b25mdGVzdC5jIC1sbmN1cnNlcyAgID4mNQovdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51
eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCnNraXBwaW5nIGluY29t
cGF0aWJsZSAvbGliL2xpYm5jdXJzZXMuc28uNiB3aGVuIHNlYXJjaGluZyBmb3IgCi9saWIvbGli
bmN1cnNlcy5zby42Ci91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4v
Li4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKY2Fubm90IGZpbmQgL2xpYi9saWJuY3Vyc2Vz
LnNvLjY6IGZpbGUgaW4gd3JvbmcgZm9ybWF0Ci91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxp
bnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tpcHBpbmcgaW5j
b21wYXRpYmxlIC9saWIvbGlibmN1cnNlcy5zby42IHdoZW4gc2VhcmNoaW5nIGZvciAKL2xpYi9s
aWJuY3Vyc2VzLnNvLjYKL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8u
Li8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vz
ci9saWIvbGlidGluZm8uc28gd2hlbiBzZWFyY2hpbmcgZm9yIC1sdGluZm8KL3Vzci9saWI2NC9n
Y2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4v
bGQ6IApza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGlidGluZm8uYSB3aGVuIHNlYXJj
aGluZyBmb3IgLWx0aW5mbwovdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4u
Ly4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCnNraXBwaW5nIGluY29tcGF0aWJsZSAv
bGliL2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yIGxpYmdjY19zLnNvLjEKY29sbGVj
dDI6IGVycm9yOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTozMDY3NDogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVC
SVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJ
T04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRp
c2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
ZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCnwgI2Rl
ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUg
SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9O
RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU
SU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBIQVZFX1NF
TkRNQUlMIDEKfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCnwgI2RlZmluZSBIQVZFX0xJQkdNUCAx
CnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCnwgI2RlZmlu
ZSBIQVZFX1BDUkVfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlogMQp8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm
aW5lIEhBVkVfWkxJQl9ERUYgMQp8ICNkZWZpbmUgSEFWRV9QREYgMAp8ICNkZWZpbmUgSEFWRV9M
SUJSRUFETElORSAxCnwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQp8ICNkZWZpbmUgSEFWRV9T
UUxJVEUzX0ggMQp8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKfCAjZGVmaW5lIEhBVkVfSU9EQkMg
MAp8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TUUxFWFRfSCAxCnwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklYT0RCQyAxCnwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCnwgI2RlZmluZSBIQVZFX0dU
S19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9H
VEsgMAp8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQp8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz
IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciB3aW5uc3Ry
ICgpOwp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8IHJldHVybiB3aW5uc3RyICgpOwp8ICAgOwp8
ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzA2ODQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjMw
Njk0OiBjaGVja2luZyBmb3Igd2lubnN0ciBpbiAtbGN1cnNlcwpjb25maWd1cmU6MzA3MTc6IGdj
YyAtbyBjb25mdGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2NhbC9saWIgCi1ML3Vzci9s
aWIgY29uZnRlc3QuYyAtbGN1cnNlcyAgID4mNQovdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1s
aW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCmNhbm5vdCBmaW5k
IC1sY3Vyc2VzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5Ci91c3IvbGliNjQvZ2NjL3g4Nl82
NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tp
cHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3Ig
bGliZ2NjX3Muc28uMQpjb2xsZWN0MjogZXJyb3I6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMK
Y29uZmlndXJlOjMwNzE3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6Cnwg
LyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04g
IiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJB
dWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX0JV
R1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQiCnwgI2RlZmlu
ZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBW
RVJTSU9OICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NU
RExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0gg
MQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8
ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmlu
ZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFW
RV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNf
SCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9f
SCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0gg
MQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVS
IDEKfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKfCAj
ZGVmaW5lIEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFW
RV9MSUJQQ1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElCU1NM
IDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCnwgI2RlZmlu
ZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2RlZmluZSBIQVZFX1BE
RiAwCnwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRF
MyAxCnwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAp8
ICNkZWZpbmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQp8ICNkZWZpbmUg
SEFWRV9TUUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVmaW5lIEhBVkVfT0RC
Q0lOU1RfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5lIEhBVkVfUEdPREJD
IDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lP
TiAwCnwgI2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCnwgI2RlZmlu
ZSBIQVZFX1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8CnwgLyogT3ZlcnJpZGUg
YW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAg
YnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5
LiAgKi8KfCBjaGFyIHdpbm5zdHIgKCk7CnwgaW50CnwgbWFpbiAodm9pZCkKfCB7CnwgcmV0dXJu
IHdpbm5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMDcyNzogcmVz
dWx0OiBubwpjb25maWd1cmU6MzA3NDU6IHJlc3VsdDogeWVzIC0gZm91bmQKY29uZmlndXJlOjMw
NzQ3OiBjaGVja2luZyBGb3IgYW55IGxpYm5jdXJzZXMgbGlicmFyeSBvbiB0aGUgc3lzdGVtCmNv
bmZpZ3VyZTozMDc1NzogY2hlY2tpbmcgZm9yIGxpYnJhcnkgY29udGFpbmluZyBtdmFkZF93Y2hu
c3RyCmNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwv
dXNyL2xvY2FsL2xpYiAKLUwvdXNyL2xpYiBjb25mdGVzdC5jICA+JjUKL3Vzci9saWI2NC9nY2Mv
eDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6
IApza2lwcGluZyBpbmNvbXBhdGlibGUgL2xpYi9saWJnY2Nfcy5zby4xIHdoZW4gc2VhcmNoaW5n
IGZvciBsaWJnY2Nfcy5zby4xCi91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4v
Li4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tpcHBpbmcgaW5jb21wYXRpYmxl
IC9saWIvbGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IgbGliZ2NjX3Muc28uMQovdXNy
L2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxp
bnV4L2Jpbi9sZDogCi90bXAvY2NIYldHYjgubzogaW4gZnVuY3Rpb24gYG1haW4nOgovb3B0L2F1
Yml0NGdsc3JjL2NvbmZ0ZXN0LmM6NzA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG12YWRkX3dj
aG5zdHInCmNvbGxlY3QyOiBlcnJvcjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1
cmU6MzA3ODc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25m
ZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgp8ICNkZWZpbmUgUEFD
S0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklU
X1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGds
ICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JU
ICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCIKfCAjZGVmaW5lIFBBQ0tB
R0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJBdWJpdDRnbCIKfCAjZGVmaW5lIFZFUlNJT04g
IjEuNi4xIgp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0gg
MQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2Rl
ZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmlu
ZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09C
SkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VfSU5U
IDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAj
ZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2Rl
ZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNk
ZWZpbmUgSEFWRV9TRU5ETUFJTCAxCnwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAp8ICNkZWZpbmUg
SEFWRV9MSUJHTVAgMQp8ICNkZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlBD
UkUgMQp8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNk
ZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKfCAjZGVmaW5lIEhBVkVf
WkxJQiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEKfCAjZGVmaW5lIEhBVkVfUERGIDAKfCAj
ZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQp8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKfCAj
ZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCnwgI2RlZmlu
ZSBIQVZFX0lPREJDIDAKfCAjZGVmaW5lIEhBVkVfTElCT0RCQyAxCnwgI2RlZmluZSBIQVZFX1NR
TF9IIDEKfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQp8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAp8ICNk
ZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAj
ZGVmaW5lIEhBVkVfR1RLIDAKfCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKfCAjZGVmaW5lIEhBVkVf
UlBDTElCIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICovCnwKfCAvKiBPdmVycmlkZSBhbnkgR0ND
IGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNh
dXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8
IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKfCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCByZXR1cm4g
bXZhZGRfd2NobnN0ciAoKTsKfCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMwNzg3
OiBnY2MgLW8gY29uZnRlc3QgIC1nIC1PMiAgLUwvbGliICAtTC91c3IvbG9jYWwvbGliIAotTC91
c3IvbGliIGNvbmZ0ZXN0LmMgLWwvbGliL2xpYm5jdXJzZXMuc28uNSBvdGhlci1saWJzICAgPiY1
CmdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOjMwNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJ
VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRn
bCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQiCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBWRVJTSU9O
ICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9P
QkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9VX0lO
VCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwg
I2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8ICNk
ZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAj
ZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKfCAjZGVmaW5l
IEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJQ
Q1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKfCAj
ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2RlZmluZSBIQVZFX1BERiAwCnwg
I2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCnwg
I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAp8ICNkZWZp
bmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQp8ICNkZWZpbmUgSEFWRV9T
UUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1Rf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKfCAj
ZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCnwg
I2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCnwgI2RlZmluZSBIQVZF
X1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8CnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
fCBjaGFyIG12YWRkX3djaG5zdHIgKCk7CnwgaW50CnwgbWFpbiAodm9pZCkKfCB7CnwgcmV0dXJu
IG12YWRkX3djaG5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMDc4
NzogZ2NjIC1vIGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAKLUwv
dXNyL2xpYiBjb25mdGVzdC5jIC1sL2xpYi9saWJuY3Vyc2VzLnNvLjUuOSBvdGhlci1saWJzICAg
PiY1CmdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29u
ZmlndXJlOjMwNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyog
Y29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRB
VUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJp
dDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JF
UE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQiCnwgI2RlZmluZSBQ
QUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBWRVJT
SU9OICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJ
Ql9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8
ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8
ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNk
ZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBM
VF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9V
X0lOVCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAx
CnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAx
CnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8
ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEK
fCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKfCAjZGVm
aW5lIEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9M
SUJQQ1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEK
fCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2RlZmluZSBIQVZFX1BERiAw
CnwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAx
CnwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAp8ICNk
ZWZpbmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQp8ICNkZWZpbmUgSEFW
RV9TUUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVmaW5lIEhBVkVfT0RCQ0lO
U1RfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAK
fCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAw
CnwgI2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCnwgI2RlZmluZSBI
QVZFX1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8CnwgLyogT3ZlcnJpZGUgYW55
IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7CnwgaW50CnwgbWFpbiAodm9pZCkKfCB7CnwgcmV0
dXJuIG12YWRkX3djaG5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZToz
MDc4NzogZ2NjIC1vIGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwvdXNyL2xvY2FsL2xpYiAK
LUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sL2xpYi9saWJuY3Vyc2VzLnNvLjYgb3RoZXItbGlicyAg
ID4mNQpnY2M6IGVycm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bmZpZ3VyZTozMDc4NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8q
IGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCnwgI2RlZmlu
ZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIk
QVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXVi
aXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdS
RVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Igp8ICNkZWZpbmUg
UEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgp8ICNkZWZpbmUgVkVS
U0lPTiAiMS42LjEiCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERM
SUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNf
SCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAj
ZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUg
TFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVf
VV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0gg
MQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEK
fCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAx
CnwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCnwgI2Rl
ZmluZSBIQVZFX0xJQkdNUCAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVf
TElCUENSRSAxCnwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlNTTCAx
CnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQp8ICNkZWZpbmUg
SEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQp8ICNkZWZpbmUgSEFWRV9QREYg
MAp8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCnwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMg
MQp8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQp8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKfCAj
ZGVmaW5lIEhBVkVfSU9EQkMgMAp8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKfCAjZGVmaW5lIEhB
VkVfU1FMX0ggMQp8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCnwgI2RlZmluZSBIQVZFX09EQkNJ
TlNUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCnwgI2RlZmluZSBIQVZFX1BHT0RCQyAw
CnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04g
MAp8ICNkZWZpbmUgSEFWRV9HVEsgMAp8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQp8ICNkZWZpbmUg
SEFWRV9SUENMSUIgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfAp8IC8qIE92ZXJyaWRlIGFu
eSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1
aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g
ICovCnwgY2hhciBtdmFkZF93Y2huc3RyICgpOwp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8IHJl
dHVybiBtdmFkZF93Y2huc3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6
MzA3ODc6IGdjYyAtbyBjb25mdGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2NhbC9saWIg
Ci1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWIvbGlibmN1cnNlcy5zby42LjEgb3RoZXItbGli
cyAgID4mNQpnY2M6IGVycm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8
IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCnwgI2Rl
ZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O
ICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAi
QXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9C
VUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Igp8ICNkZWZp
bmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgp8ICNkZWZpbmUg
VkVSU0lPTiAiMS42LjEiCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQ
RVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19I
IDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEK
fCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZp
bmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhB
VkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRT
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlP
X0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9I
IDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRF
UiAxCnwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCnwg
I2RlZmluZSBIQVZFX0xJQkdNUCAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhB
VkVfTElCUENSRSAxCnwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlNT
TCAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQp8ICNkZWZp
bmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQp8ICNkZWZpbmUgSEFWRV9Q
REYgMAp8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCnwgI2RlZmluZSBIQVZFX0xJQlNRTElU
RTMgMQp8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQp8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAK
fCAjZGVmaW5lIEhBVkVfSU9EQkMgMAp8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKfCAjZGVmaW5l
IEhBVkVfU1FMX0ggMQp8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCnwgI2RlZmluZSBIQVZFX09E
QkNJTlNUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCnwgI2RlZmluZSBIQVZFX1BHT0RC
QyAwCnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJ
T04gMAp8ICNkZWZpbmUgSEFWRV9HVEsgMAp8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQp8ICNkZWZp
bmUgSEFWRV9SUENMSUIgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfAp8IC8qIE92ZXJyaWRl
IGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBj
aGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAg
IGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBs
eS4gICovCnwgY2hhciBtdmFkZF93Y2huc3RyICgpOwp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8
IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1
cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2NhbC9s
aWIgCi1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWI2NC9saWJuY3Vyc2VzLnNvLjUgb3RoZXIt
bGlicyAgID4mNQpnY2M6IGVycm9yOiBvdGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbmZpZ3VyZTozMDc4NzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
Ogp8IC8qIGNvbmZkZWZzLmggKi8KfCAjZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCnwg
I2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgImF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJT
SU9OICIkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklO
RyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FH
RV9CVUdSRVBPUlQgImF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Igp8ICNk
ZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAjZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgp8ICNkZWZp
bmUgVkVSU0lPTiAiMS42LjEiCnwgI2RlZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVERMSUJfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5U
VFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5H
U19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBF
U19IIDEKfCAjZGVmaW5lIEhBVkVfVU5JU1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9I
IDEKfCAjZGVmaW5lIFNURENfSEVBREVSUyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNk
ZWZpbmUgTFRfT0JKRElSICIubGlicy8iCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5l
IEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VY
SVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNf
VUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9J
Tl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9J
TlRFUiAxCnwgI2RlZmluZSBIQVZFX1NFTkRNQUlMIDEKfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAw
CnwgI2RlZmluZSBIQVZFX0xJQkdNUCAxCnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5l
IEhBVkVfTElCUENSRSAxCnwgI2RlZmluZSBIQVZFX1BDUkVfSCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJQlogMQp8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQp8ICNk
ZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVmaW5lIEhBVkVfWkxJQl9ERUYgMQp8ICNkZWZpbmUgSEFW
RV9QREYgMAp8ICNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCnwgI2RlZmluZSBIQVZFX0xJQlNR
TElURTMgMQp8ICNkZWZpbmUgSEFWRV9TUUxJVEUzX0ggMQp8ICNkZWZpbmUgSEFWRV9TQVBPREJD
IDAKfCAjZGVmaW5lIEhBVkVfSU9EQkMgMAp8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKfCAjZGVm
aW5lIEhBVkVfU1FMX0ggMQp8ICNkZWZpbmUgSEFWRV9TUUxFWFRfSCAxCnwgI2RlZmluZSBIQVZF
X09EQkNJTlNUX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklYT0RCQyAxCnwgI2RlZmluZSBIQVZFX1BH
T0RCQyAwCnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZF
UlNJT04gMAp8ICNkZWZpbmUgSEFWRV9HVEsgMAp8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQp8ICNk
ZWZpbmUgSEFWRV9SUENMSUIgMAp8IC8qIGVuZCBjb25mZGVmcy5oLiAgKi8KfAp8IC8qIE92ZXJy
aWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8
ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBh
cHBseS4gICovCnwgY2hhciBtdmFkZF93Y2huc3RyICgpOwp8IGludAp8IG1haW4gKHZvaWQpCnwg
ewp8IHJldHVybiBtdmFkZF93Y2huc3RyICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25m
aWd1cmU6MzA3ODc6IGdjYyAtbyBjb25mdGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2Nh
bC9saWIgCi1ML3Vzci9saWIgY29uZnRlc3QuYyAtbC9saWI2NC9saWJuY3Vyc2VzLnNvLjUuOSBv
dGhlci1saWJzICAgPiY1CmdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29uZmlndXJlOjMwNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRn
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdF
X1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0Vf
U1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQ
QUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQi
CnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCnwg
I2RlZmluZSBWRVJTSU9OICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmlu
ZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFW
RV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19U
SU1FX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAx
CnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNk
ZWZpbmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZF
X1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJ
TkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZVEVY
VF9QT0lOVEVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9JS1NF
TUVMIDAKfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJQQ1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5lIEhB
VkVfTElCU1NMIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfSCAx
CnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2RlZmlu
ZSBIQVZFX1BERiAwCnwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhBVkVf
TElCU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZFX1NB
UE9EQkMgMAp8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQp8
ICNkZWZpbmUgSEFWRV9TUUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVmaW5l
IEhBVkVfT0RCQ0lOU1RfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5lIEhB
VkVfUEdPREJDIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9H
VEtfVkVSU0lPTiAwCnwgI2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dFTiAx
CnwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8CnwgLyog
T3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwg
ICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEg
R0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0
aWxsIGFwcGx5LiAgKi8KfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7CnwgaW50CnwgbWFpbiAodm9p
ZCkKfCB7CnwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9
CmNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwvdXNy
L2xvY2FsL2xpYiAKLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMuc28u
NiBvdGhlci1saWJzICAgPiY1CmdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBv
ciBkaXJlY3RvcnkKY29uZmlndXJlOjMwNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6CnwgLyogY29uZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJp
dDRnbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNL
QUdFX1ZFUlNJT04gIiRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tB
R0VfU1RSSU5HICJBdWJpdDRnbCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmlu
ZSBQQUNLQUdFX0JVR1JFUE9SVCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5u
ZXQiCnwgI2RlZmluZSBQQUNLQUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wi
CnwgI2RlZmluZSBWRVJTSU9OICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2Rl
ZmluZSBIQVZFX1NURExJQl9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUg
SEFWRV9JTlRUWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFW
RV9TVFJJTkdTX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1lTX1RZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZ
U19USU1FX0ggMQp8ICNkZWZpbmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05f
SCAxCnwgI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8
ICNkZWZpbmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTRVhJVFNfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBI
QVZFX1NZU19VSU9fSCAxCnwgI2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9O
RVRJTkVUX0lOX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZ
VEVYVF9QT0lOVEVSIDEKfCAjZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9J
S1NFTUVMIDAKfCAjZGVmaW5lIEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSUJQQ1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5l
IEhBVkVfTElCU1NMIDEKfCAjZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJf
SCAxCnwgI2RlZmluZSBIQVZFX1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2Rl
ZmluZSBIQVZFX1BERiAwCnwgI2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhB
VkVfTElCU1FMSVRFMyAxCnwgI2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZF
X1NBUE9EQkMgMAp8ICNkZWZpbmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMg
MQp8ICNkZWZpbmUgSEFWRV9TUUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVm
aW5lIEhBVkVfT0RCQ0lOU1RfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5l
IEhBVkVfUEdPREJDIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFW
RV9HVEtfVkVSU0lPTiAwCnwgI2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dF
TiAxCnwgI2RlZmluZSBIQVZFX1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8Cnwg
LyogT3ZlcnJpZGUgYW55IEdDQyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
CnwgICAgVXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9m
IGEgR0NDCnwgICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KfCBjaGFyIG12YWRkX3djaG5zdHIgKCk7CnwgaW50CnwgbWFpbiAo
dm9pZCkKfCB7CnwgcmV0dXJuIG12YWRkX3djaG5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsK
fCB9CmNvbmZpZ3VyZTozMDc4NzogZ2NjIC1vIGNvbmZ0ZXN0ICAtZyAtTzIgIC1ML2xpYiAgLUwv
dXNyL2xvY2FsL2xpYiAKLUwvdXNyL2xpYiBjb25mdGVzdC5jIC1sL2xpYjY0L2xpYm5jdXJzZXMu
c28uNi4xIG90aGVyLWxpYnMgICA+JjUKZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3VjaCBm
aWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxl
ZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05BTUUg
IkF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKfCAjZGVmaW5l
IFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUg
UEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAj
ZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZv
cmdlLm5ldCIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJBdWJp
dDRnbCIKfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgp8ICNkZWZpbmUgSEFWRV9TVERJT19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwgI2Rl
ZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2RlZmlu
ZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZpbmUg
SEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFWRV9E
TEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgSEFWRV9VX0lO
VCAxCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAjZGVm
aW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmluZSBI
QVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNkZWZp
bmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCnwgI2RlZmluZSBI
QVZFX0lLU0VNRUwgMAp8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQp8ICNkZWZpbmUgSEFWRV9HTVBf
SCAxCnwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQp8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQp8ICNk
ZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhBVkVf
WkxJQl9IIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfREVGIDEK
fCAjZGVmaW5lIEhBVkVfUERGIDAKfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQp8ICNkZWZp
bmUgSEFWRV9MSUJTUUxJVEUzIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKfCAjZGVmaW5l
IEhBVkVfU0FQT0RCQyAwCnwgI2RlZmluZSBIQVZFX0lPREJDIDAKfCAjZGVmaW5lIEhBVkVfTElC
T0RCQyAxCnwgI2RlZmluZSBIQVZFX1NRTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0ggMQp8
ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQp8ICNk
ZWZpbmUgSEFWRV9QR09EQkMgMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCnwgI2RlZmlu
ZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLIDAKfCAjZGVmaW5lIEhBVkVf
UlBDR0VOIDEKfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4gICov
CnwKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBl
cnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUg
d291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKfCBpbnQKfCBt
YWluICh2b2lkKQp8IHsKfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKfCAgIDsKfCAgIHJldHVy
biAwOwp8IH0KY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3QgIC1nIC1PMiAgLUwvbGli
ICAtTC91c3IvbG9jYWwvbGliIAotTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYi9saWJu
Y3Vyc2VzLnNvIG90aGVyLWxpYnMgICA+JjUKZ2NjOiBlcnJvcjogb3RoZXItbGliczogTm8gc3Vj
aCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQQUNLQUdFX05B
TUUgIkF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRnbCIKfCAjZGVm
aW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxEIgp8ICNkZWZp
bmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIK
fCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJj
ZWZvcmdlLm5ldCIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQQUNLQUdFICJB
dWJpdDRnbCIKfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgp8ICNkZWZpbmUgSEFWRV9TVERJT19I
IDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCnwg
I2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRfSCAxCnwgI2Rl
ZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQp8ICNkZWZp
bmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKfCAjZGVmaW5l
IEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNkZWZpbmUgSEFW
RV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZpbmUgSEFWRV9V
X0lOVCAxCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVfRVJSX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tFVF9IIDEKfCAj
ZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAxCnwgI2RlZmlu
ZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQX0ggMQp8ICNk
ZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAxCnwgI2RlZmlu
ZSBIQVZFX0lLU0VNRUwgMAp8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQp8ICNkZWZpbmUgSEFWRV9H
TVBfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQp8ICNkZWZpbmUgSEFWRV9QQ1JFX0ggMQp8
ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAjZGVmaW5lIEhB
VkVfWkxJQl9IIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfREVG
IDEKfCAjZGVmaW5lIEhBVkVfUERGIDAKfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJTkUgMQp8ICNk
ZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19IIDEKfCAjZGVm
aW5lIEhBVkVfU0FQT0RCQyAwCnwgI2RlZmluZSBIQVZFX0lPREJDIDAKfCAjZGVmaW5lIEhBVkVf
TElCT0RCQyAxCnwgI2RlZmluZSBIQVZFX1NRTF9IIDEKfCAjZGVmaW5lIEhBVkVfU1FMRVhUX0gg
MQp8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5JWE9EQkMgMQp8
ICNkZWZpbmUgSEFWRV9QR09EQkMgMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCnwgI2Rl
ZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLIDAKfCAjZGVmaW5lIEhB
VkVfUlBDR0VOIDEKfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKfCAvKiBlbmQgY29uZmRlZnMuaC4g
ICovCnwKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBh
biBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJu
IHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgbXZhZGRfd2NobnN0ciAoKTsKfCBpbnQK
fCBtYWluICh2b2lkKQp8IHsKfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsKfCAgIDsKfCAgIHJl
dHVybiAwOwp8IH0KY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3QgIC1nIC1PMiAgLUwv
bGliICAtTC91c3IvbG9jYWwvbGliIAotTC91c3IvbGliIGNvbmZ0ZXN0LmMgLWwvdXNyL2xpYi9u
Y3Vyc2VzNS9saWJuY3Vyc2VzLnNvIG90aGVyLWxpYnMgICA+JjUKZ2NjOiBlcnJvcjogb3RoZXIt
bGliczogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MzA3ODc6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmlu
ZSBQQUNLQUdFX05BTUUgIkF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJp
dDRnbCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JV
SUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRB
VUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNz
QGxpc3RzLnNvdXJjZWZvcmdlLm5ldCIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmlu
ZSBQQUNLQUdFICJBdWJpdDRnbCIKfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgp8ICNkZWZpbmUg
SEFWRV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9T
VFJJTkdfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJ
TlRfSCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFU
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8
ICNkZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNk
ZWZpbmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVf
RVJSX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NP
Q0tFVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJf
SCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRf
VENQX0ggMQp8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5ETUFJ
TCAxCnwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAp8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQp8ICNk
ZWZpbmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQp8ICNkZWZpbmUgSEFW
RV9QQ1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEK
fCAjZGVmaW5lIEhBVkVfWkxJQl9IIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBI
QVZFX1pMSUJfREVGIDEKfCAjZGVmaW5lIEhBVkVfUERGIDAKfCAjZGVmaW5lIEhBVkVfTElCUkVB
RExJTkUgMQp8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRF
M19IIDEKfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCnwgI2RlZmluZSBIQVZFX0lPREJDIDAKfCAj
ZGVmaW5lIEhBVkVfTElCT0RCQyAxCnwgI2RlZmluZSBIQVZFX1NRTF9IIDEKfCAjZGVmaW5lIEhB
VkVfU1FMRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKfCAjZGVmaW5lIEhBVkVf
VU5JWE9EQkMgMQp8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVS
U0lPTiAwCnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLIDAK
fCAjZGVmaW5lIEhBVkVfUlBDR0VOIDEKfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKfCAvKiBlbmQg
Y29uZmRlZnMuaC4gICovCnwKfCAvKiBPdmVycmlkZSBhbnkgR0NDIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4KfCAgICBVc2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRj
aCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBHQ0MKfCAgICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1
bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwp8IGNoYXIgbXZhZGRfd2NobnN0
ciAoKTsKfCBpbnQKfCBtYWluICh2b2lkKQp8IHsKfCByZXR1cm4gbXZhZGRfd2NobnN0ciAoKTsK
fCAgIDsKfCAgIHJldHVybiAwOwp8IH0KY29uZmlndXJlOjMwNzg3OiBnY2MgLW8gY29uZnRlc3Qg
IC1nIC1PMiAgLUwvbGliICAtTC91c3IvbG9jYWwvbGliIAotTC91c3IvbGliIGNvbmZ0ZXN0LmMg
LWwvdXNyL2xpYjY0L2xpYm5jdXJzZXMuc28gb3RoZXItbGlicyAgID4mNQpnY2M6IGVycm9yOiBv
dGhlci1saWJzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTozMDc4NzogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgp8IC8qIGNvbmZkZWZzLmggKi8KfCAj
ZGVmaW5lIFBBQ0tBR0VfTkFNRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUg
ImF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9WRVJTSU9OICIkQVVCSVRfVkVSU0lPTi4kQVVC
SVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX1NUUklORyAiQXViaXQ0Z2wgJEFVQklUX1ZFUlNJ
T04uJEFVQklUX0JVSUxEIgp8ICNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImF1Yml0NGdsLWRp
c2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Igp8ICNkZWZpbmUgUEFDS0FHRV9VUkwgIiIKfCAj
ZGVmaW5lIFBBQ0tBR0UgIkF1Yml0NGdsIgp8ICNkZWZpbmUgVkVSU0lPTiAiMS42LjEiCnwgI2Rl
ZmluZSBIQVZFX1NURElPX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCnwgI2RlZmluZSBI
QVZFX1NUUklOR19IIDEKfCAjZGVmaW5lIEhBVkVfSU5UVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZF
X1NURElOVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lT
X1NUQVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
U1REX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKfCAjZGVmaW5lIFNURENfSEVBREVS
UyAxCnwgI2RlZmluZSBIQVZFX0RMRkNOX0ggMQp8ICNkZWZpbmUgTFRfT0JKRElSICIubGlicy8i
CnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUg
SEFWRV9FUlJfSCAxCnwgI2RlZmluZSBIQVZFX1NZU0VYSVRTX0ggMQp8ICNkZWZpbmUgSEFWRV9T
WVNfU09DS0VUX0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNfVUlPX0ggMQp8ICNkZWZpbmUgSEFWRV9O
RVREQl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKfCAjZGVmaW5lIEhBVkVfTkVU
SU5FVF9UQ1BfSCAxCnwgI2RlZmluZSBZWVRFWFRfUE9JTlRFUiAxCnwgI2RlZmluZSBIQVZFX1NF
TkRNQUlMIDEKfCAjZGVmaW5lIEhBVkVfSUtTRU1FTCAwCnwgI2RlZmluZSBIQVZFX0xJQkdNUCAx
CnwgI2RlZmluZSBIQVZFX0dNUF9IIDEKfCAjZGVmaW5lIEhBVkVfTElCUENSRSAxCnwgI2RlZmlu
ZSBIQVZFX1BDUkVfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlNTTCAxCnwgI2RlZmluZSBIQVZFX0xJ
QlogMQp8ICNkZWZpbmUgSEFWRV9aTElCX0ggMQp8ICNkZWZpbmUgSEFWRV9aTElCIDEKfCAjZGVm
aW5lIEhBVkVfWkxJQl9ERUYgMQp8ICNkZWZpbmUgSEFWRV9QREYgMAp8ICNkZWZpbmUgSEFWRV9M
SUJSRUFETElORSAxCnwgI2RlZmluZSBIQVZFX0xJQlNRTElURTMgMQp8ICNkZWZpbmUgSEFWRV9T
UUxJVEUzX0ggMQp8ICNkZWZpbmUgSEFWRV9TQVBPREJDIDAKfCAjZGVmaW5lIEhBVkVfSU9EQkMg
MAp8ICNkZWZpbmUgSEFWRV9MSUJPREJDIDEKfCAjZGVmaW5lIEhBVkVfU1FMX0ggMQp8ICNkZWZp
bmUgSEFWRV9TUUxFWFRfSCAxCnwgI2RlZmluZSBIQVZFX09EQkNJTlNUX0ggMQp8ICNkZWZpbmUg
SEFWRV9VTklYT0RCQyAxCnwgI2RlZmluZSBIQVZFX1BHT0RCQyAwCnwgI2RlZmluZSBIQVZFX0dU
S19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9H
VEsgMAp8ICNkZWZpbmUgSEFWRV9SUENHRU4gMQp8ICNkZWZpbmUgSEFWRV9SUENMSUIgMAp8IC8q
IGVuZCBjb25mZGVmcy5oLiAgKi8KfAp8IC8qIE92ZXJyaWRlIGFueSBHQ0MgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLgp8ICAgIFVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0
IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIEdDQwp8ICAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRz
IGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCnwgY2hhciBtdmFkZF93
Y2huc3RyICgpOwp8IGludAp8IG1haW4gKHZvaWQpCnwgewp8IHJldHVybiBtdmFkZF93Y2huc3Ry
ICgpOwp8ICAgOwp8ICAgcmV0dXJuIDA7CnwgfQpjb25maWd1cmU6MzA3ODc6IGdjYyAtbyBjb25m
dGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2NhbC9saWIgCi1ML3Vzci9saWIgY29uZnRl
c3QuYyAtbC91c3IvbGliNjQvbmN1cnNlczUvbGlibmN1cnNlcy5zbyBvdGhlci1saWJzICAgPiY1
CmdjYzogZXJyb3I6IG90aGVyLWxpYnM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOjMwNzg3OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CnwgLyogY29u
ZmRlZnMuaCAqLwp8ICNkZWZpbmUgUEFDS0FHRV9OQU1FICJBdWJpdDRnbCIKfCAjZGVmaW5lIFBB
Q0tBR0VfVEFSTkFNRSAiYXViaXQ0Z2wiCnwgI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIiRBVUJJ
VF9WRVJTSU9OLiRBVUJJVF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfU1RSSU5HICJBdWJpdDRn
bCAkQVVCSVRfVkVSU0lPTi4kQVVCSVRfQlVJTEQiCnwgI2RlZmluZSBQQUNLQUdFX0JVR1JFUE9S
VCAiYXViaXQ0Z2wtZGlzY3Vzc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQiCnwgI2RlZmluZSBQQUNL
QUdFX1VSTCAiIgp8ICNkZWZpbmUgUEFDS0FHRSAiQXViaXQ0Z2wiCnwgI2RlZmluZSBWRVJTSU9O
ICIxLjYuMSIKfCAjZGVmaW5lIEhBVkVfU1RESU9fSCAxCnwgI2RlZmluZSBIQVZFX1NURExJQl9I
IDEKfCAjZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQp8ICNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEK
fCAjZGVmaW5lIEhBVkVfU1RESU5UX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1RZUEVTX0ggMQp8ICNk
ZWZpbmUgSEFWRV9VTklTVERfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQp8ICNkZWZp
bmUgU1REQ19IRUFERVJTIDEKfCAjZGVmaW5lIEhBVkVfRExGQ05fSCAxCnwgI2RlZmluZSBMVF9P
QkpESVIgIi5saWJzLyIKfCAjZGVmaW5lIEhBVkVfVV9JTlQgMQp8ICNkZWZpbmUgSEFWRV9VX0lO
VCAxCnwgI2RlZmluZSBIQVZFX0VSUl9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTRVhJVFNfSCAxCnwg
I2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19VSU9fSCAxCnwg
I2RlZmluZSBIQVZFX05FVERCX0ggMQp8ICNkZWZpbmUgSEFWRV9ORVRJTkVUX0lOX0ggMQp8ICNk
ZWZpbmUgSEFWRV9ORVRJTkVUX1RDUF9IIDEKfCAjZGVmaW5lIFlZVEVYVF9QT0lOVEVSIDEKfCAj
ZGVmaW5lIEhBVkVfU0VORE1BSUwgMQp8ICNkZWZpbmUgSEFWRV9JS1NFTUVMIDAKfCAjZGVmaW5l
IEhBVkVfTElCR01QIDEKfCAjZGVmaW5lIEhBVkVfR01QX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJQ
Q1JFIDEKfCAjZGVmaW5lIEhBVkVfUENSRV9IIDEKfCAjZGVmaW5lIEhBVkVfTElCU1NMIDEKfCAj
ZGVmaW5lIEhBVkVfTElCWiAxCnwgI2RlZmluZSBIQVZFX1pMSUJfSCAxCnwgI2RlZmluZSBIQVZF
X1pMSUIgMQp8ICNkZWZpbmUgSEFWRV9aTElCX0RFRiAxCnwgI2RlZmluZSBIQVZFX1BERiAwCnwg
I2RlZmluZSBIQVZFX0xJQlJFQURMSU5FIDEKfCAjZGVmaW5lIEhBVkVfTElCU1FMSVRFMyAxCnwg
I2RlZmluZSBIQVZFX1NRTElURTNfSCAxCnwgI2RlZmluZSBIQVZFX1NBUE9EQkMgMAp8ICNkZWZp
bmUgSEFWRV9JT0RCQyAwCnwgI2RlZmluZSBIQVZFX0xJQk9EQkMgMQp8ICNkZWZpbmUgSEFWRV9T
UUxfSCAxCnwgI2RlZmluZSBIQVZFX1NRTEVYVF9IIDEKfCAjZGVmaW5lIEhBVkVfT0RCQ0lOU1Rf
SCAxCnwgI2RlZmluZSBIQVZFX1VOSVhPREJDIDEKfCAjZGVmaW5lIEhBVkVfUEdPREJDIDAKfCAj
ZGVmaW5lIEhBVkVfR1RLX1ZFUlNJT04gMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lPTiAwCnwg
I2RlZmluZSBIQVZFX0dUSyAwCnwgI2RlZmluZSBIQVZFX1JQQ0dFTiAxCnwgI2RlZmluZSBIQVZF
X1JQQ0xJQiAwCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8CnwgLyogT3ZlcnJpZGUgYW55IEdD
QyBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuCnwgICAgVXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgR0NDCnwgICAgYnVpbHRp
biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
fCBjaGFyIG12YWRkX3djaG5zdHIgKCk7CnwgaW50CnwgbWFpbiAodm9pZCkKfCB7CnwgcmV0dXJu
IG12YWRkX3djaG5zdHIgKCk7CnwgICA7CnwgICByZXR1cm4gMDsKfCB9CmNvbmZpZ3VyZTozMDgw
NzogcmVzdWx0OiBubwpjb25maWd1cmU6MzA4MzY6IHJlc3VsdDogRm91bmQgbm90aGluZyB3aXRo
IEFDIFNFQVJDSCBMSUJTIGluIAovbGliL2xpYm5jdXJzZXMuc28uNQovbGliL2xpYm5jdXJzZXMu
c28uNS45Ci9saWIvbGlibmN1cnNlcy5zby42Ci9saWIvbGlibmN1cnNlcy5zby42LjEKL2xpYjY0
L2xpYm5jdXJzZXMuc28uNQovbGliNjQvbGlibmN1cnNlcy5zby41LjkKL2xpYjY0L2xpYm5jdXJz
ZXMuc28uNgovbGliNjQvbGlibmN1cnNlcy5zby42LjEKL3Vzci9saWIvbGlibmN1cnNlcy5zbwov
dXNyL2xpYi9uY3Vyc2VzNS9saWJuY3Vyc2VzLnNvCi91c3IvbGliNjQvbGlibmN1cnNlcy5zbwov
dXNyL2xpYjY0L25jdXJzZXM1L2xpYm5jdXJzZXMuc28KY29uZmlndXJlOjMxMDc3OiBjaGVja2lu
ZyBmb3IgY3Vyc2VzLmgKY29uZmlndXJlOjMxMDc3OiBnY2MgLWMgIC1nIC1PMiAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjMxMDc3OiAkPyA9IDAKY29uZmlndXJlOjMxMDc3OiByZXN1bHQ6IHll
cwpjb25maWd1cmU6MzEwODM6IGNoZWNraW5nIGZvciBuY3Vyc2VzLmgKY29uZmlndXJlOjMxMDgz
OiBnY2MgLWMgIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMxMDgzOiAkPyA9IDAK
Y29uZmlndXJlOjMxMDgzOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEwODk6IGNoZWNraW5nIGZv
ciBuY3Vyc2VzL25jdXJzZXMuaApjb25maWd1cmU6MzEwODk6IGdjYyAtYyAgLWcgLU8yICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6MzEwODk6ICQ/ID0gMApjb25maWd1cmU6MzEwODk6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTozMTA5NTogY2hlY2tpbmcgZm9yIGN1cnNlcy9jdXJzZXMuaApjb25m
aWd1cmU6MzEwOTU6IGdjYyAtYyAgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25mdGVzdC5jOjkz
OjEwOiBmYXRhbCBlcnJvcjogY3Vyc2VzL2N1cnNlcy5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CiAgI2luY2x1ZGUgPGN1cnNlcy9jdXJzZXMuaD4KICAgICAgICAgICBefn5+fn5+fn5+fn5+
fn5+fgpjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgpjb25maWd1cmU6MzEwOTU6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKfCAvKiBjb25mZGVmcy5oICovCnwgI2RlZmluZSBQ
QUNLQUdFX05BTUUgIkF1Yml0NGdsIgp8ICNkZWZpbmUgUEFDS0FHRV9UQVJOQU1FICJhdWJpdDRn
bCIKfCAjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiJEFVQklUX1ZFUlNJT04uJEFVQklUX0JVSUxE
Igp8ICNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgIkF1Yml0NGdsICRBVUJJVF9WRVJTSU9OLiRBVUJJ
VF9CVUlMRCIKfCAjZGVmaW5lIFBBQ0tBR0VfQlVHUkVQT1JUICJhdWJpdDRnbC1kaXNjdXNzQGxp
c3RzLnNvdXJjZWZvcmdlLm5ldCIKfCAjZGVmaW5lIFBBQ0tBR0VfVVJMICIiCnwgI2RlZmluZSBQ
QUNLQUdFICJBdWJpdDRnbCIKfCAjZGVmaW5lIFZFUlNJT04gIjEuNi4xIgp8ICNkZWZpbmUgSEFW
RV9TVERJT19IIDEKfCAjZGVmaW5lIEhBVkVfU1RETElCX0ggMQp8ICNkZWZpbmUgSEFWRV9TVFJJ
TkdfSCAxCnwgI2RlZmluZSBIQVZFX0lOVFRZUEVTX0ggMQp8ICNkZWZpbmUgSEFWRV9TVERJTlRf
SCAxCnwgI2RlZmluZSBIQVZFX1NUUklOR1NfSCAxCnwgI2RlZmluZSBIQVZFX1NZU19TVEFUX0gg
MQp8ICNkZWZpbmUgSEFWRV9TWVNfVFlQRVNfSCAxCnwgI2RlZmluZSBIQVZFX1VOSVNURF9IIDEK
fCAjZGVmaW5lIEhBVkVfU1lTX1RJTUVfSCAxCnwgI2RlZmluZSBTVERDX0hFQURFUlMgMQp8ICNk
ZWZpbmUgSEFWRV9ETEZDTl9IIDEKfCAjZGVmaW5lIExUX09CSkRJUiAiLmxpYnMvIgp8ICNkZWZp
bmUgSEFWRV9VX0lOVCAxCnwgI2RlZmluZSBIQVZFX1VfSU5UIDEKfCAjZGVmaW5lIEhBVkVfRVJS
X0ggMQp8ICNkZWZpbmUgSEFWRV9TWVNFWElUU19IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1NPQ0tF
VF9IIDEKfCAjZGVmaW5lIEhBVkVfU1lTX1VJT19IIDEKfCAjZGVmaW5lIEhBVkVfTkVUREJfSCAx
CnwgI2RlZmluZSBIQVZFX05FVElORVRfSU5fSCAxCnwgI2RlZmluZSBIQVZFX05FVElORVRfVENQ
X0ggMQp8ICNkZWZpbmUgWVlURVhUX1BPSU5URVIgMQp8ICNkZWZpbmUgSEFWRV9TRU5ETUFJTCAx
CnwgI2RlZmluZSBIQVZFX0lLU0VNRUwgMAp8ICNkZWZpbmUgSEFWRV9MSUJHTVAgMQp8ICNkZWZp
bmUgSEFWRV9HTVBfSCAxCnwgI2RlZmluZSBIQVZFX0xJQlBDUkUgMQp8ICNkZWZpbmUgSEFWRV9Q
Q1JFX0ggMQp8ICNkZWZpbmUgSEFWRV9MSUJTU0wgMQp8ICNkZWZpbmUgSEFWRV9MSUJaIDEKfCAj
ZGVmaW5lIEhBVkVfWkxJQl9IIDEKfCAjZGVmaW5lIEhBVkVfWkxJQiAxCnwgI2RlZmluZSBIQVZF
X1pMSUJfREVGIDEKfCAjZGVmaW5lIEhBVkVfUERGIDAKfCAjZGVmaW5lIEhBVkVfTElCUkVBRExJ
TkUgMQp8ICNkZWZpbmUgSEFWRV9MSUJTUUxJVEUzIDEKfCAjZGVmaW5lIEhBVkVfU1FMSVRFM19I
IDEKfCAjZGVmaW5lIEhBVkVfU0FQT0RCQyAwCnwgI2RlZmluZSBIQVZFX0lPREJDIDAKfCAjZGVm
aW5lIEhBVkVfTElCT0RCQyAxCnwgI2RlZmluZSBIQVZFX1NRTF9IIDEKfCAjZGVmaW5lIEhBVkVf
U1FMRVhUX0ggMQp8ICNkZWZpbmUgSEFWRV9PREJDSU5TVF9IIDEKfCAjZGVmaW5lIEhBVkVfVU5J
WE9EQkMgMQp8ICNkZWZpbmUgSEFWRV9QR09EQkMgMAp8ICNkZWZpbmUgSEFWRV9HVEtfVkVSU0lP
TiAwCnwgI2RlZmluZSBIQVZFX0dUS19WRVJTSU9OIDAKfCAjZGVmaW5lIEhBVkVfR1RLIDAKfCAj
ZGVmaW5lIEhBVkVfUlBDR0VOIDEKfCAjZGVmaW5lIEhBVkVfUlBDTElCIDAKfCAjZGVmaW5lIEhB
VkVfQ1VSU0VTX0ggMQp8ICNkZWZpbmUgSEFWRV9OQ1VSU0VTX0ggMQp8ICNkZWZpbmUgSEFWRV9O
Q1VSU0VTX05DVVJTRVNfSCAxCnwgLyogZW5kIGNvbmZkZWZzLmguICAqLwp8ICNpbmNsdWRlIDxz
dGRkZWYuaD4KfCAjaWZkZWYgSEFWRV9TVERJT19ICnwgIyBpbmNsdWRlIDxzdGRpby5oPgp8ICNl
bmRpZgp8ICNpZmRlZiBIQVZFX1NURExJQl9ICnwgIyBpbmNsdWRlIDxzdGRsaWIuaD4KfCAjZW5k
aWYKfCAjaWZkZWYgSEFWRV9TVFJJTkdfSAp8ICMgaW5jbHVkZSA8c3RyaW5nLmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfSU5UVFlQRVNfSAp8ICMgaW5jbHVkZSA8aW50dHlwZXMuaD4KfCAjZW5k
aWYKfCAjaWZkZWYgSEFWRV9TVERJTlRfSAp8ICMgaW5jbHVkZSA8c3RkaW50Lmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1RSSU5HU19ICnwgIyBpbmNsdWRlIDxzdHJpbmdzLmg+CnwgI2VuZGlm
CnwgI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKfCAjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgp8ICNl
bmRpZgp8ICNpZmRlZiBIQVZFX1NZU19TVEFUX0gKfCAjIGluY2x1ZGUgPHN5cy9zdGF0Lmg+Cnwg
I2VuZGlmCnwgI2lmZGVmIEhBVkVfVU5JU1REX0gKfCAjIGluY2x1ZGUgPHVuaXN0ZC5oPgp8ICNl
bmRpZgp8ICNpbmNsdWRlIDxjdXJzZXMvY3Vyc2VzLmg+CmNvbmZpZ3VyZTozMTA5NTogcmVzdWx0
OiBubwpjb25maWd1cmU6MzExMzY6IGNoZWNraW5nIGZvciBtYWluIGluIC1sZm9ybQpjb25maWd1
cmU6MzExNTY6IGdjYyAtbyBjb25mdGVzdCAgLWcgLU8yICAtTC9saWIgIC1ML3Vzci9sb2NhbC9s
aWIgCi1ML3Vzci9saWIgY29uZnRlc3QuYyAtbGZvcm0gICA+JjUKL3Vzci9saWI2NC9nY2MveDg2
XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6IApz
a2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9ybS5zbyB3aGVuIHNlYXJjaGluZyBm
b3IgLWxmb3JtCi91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4v
eDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tpcHBpbmcgaW5jb21wYXRpYmxlIC91c3IvbGli
L2xpYmZvcm0uYSB3aGVuIHNlYXJjaGluZyBmb3IgLWxmb3JtCi91c3IvbGliNjQvZ2NjL3g4Nl82
NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tp
cHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGliZ2NjX3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3Ig
bGliZ2NjX3Muc28uMQovdXNyL2xpYjY0L2djYy94ODZfNjQtc3VzZS1saW51eC83Ly4uLy4uLy4u
Ly4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCnNraXBwaW5nIGluY29tcGF0aWJsZSAvbGli
L2xpYmdjY19zLnNvLjEgd2hlbiBzZWFyY2hpbmcgZm9yIGxpYmdjY19zLnNvLjEKY29uZmlndXJl
OjMxMTU2OiAkPyA9IDAKY29uZmlndXJlOjMxMTY2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MzEx
Nzc6IGNoZWNraW5nIGZvciBtYWluIGluIC1scGFuZWwKY29uZmlndXJlOjMxMTk3OiBnY2MgLW8g
Y29uZnRlc3QgIC1nIC1PMiAgLUwvbGliICAtTC91c3IvbG9jYWwvbGliIAotTC91c3IvbGliIGNv
bmZ0ZXN0LmMgLWxwYW5lbCAgLWxmb3JtICA+JjUKL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2Ut
bGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBp
bmNvbXBhdGlibGUgL3Vzci9saWIvbGlicGFuZWwuc28gd2hlbiBzZWFyY2hpbmcgZm9yIC1scGFu
ZWwKL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQt
c3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGlicGFu
ZWwuYSB3aGVuIHNlYXJjaGluZyBmb3IgLWxwYW5lbAovdXNyL2xpYjY0L2djYy94ODZfNjQtc3Vz
ZS1saW51eC83Ly4uLy4uLy4uLy4uL3g4Nl82NC1zdXNlLWxpbnV4L2Jpbi9sZDogCnNraXBwaW5n
IGluY29tcGF0aWJsZSAvdXNyL2xpYi9saWJmb3JtLnNvIHdoZW4gc2VhcmNoaW5nIGZvciAtbGZv
cm0KL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2UtbGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQt
c3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBpbmNvbXBhdGlibGUgL3Vzci9saWIvbGliZm9y
bS5hIHdoZW4gc2VhcmNoaW5nIGZvciAtbGZvcm0KL3Vzci9saWI2NC9nY2MveDg2XzY0LXN1c2Ut
bGludXgvNy8uLi8uLi8uLi8uLi94ODZfNjQtc3VzZS1saW51eC9iaW4vbGQ6IApza2lwcGluZyBp
bmNvbXBhdGlibGUgL2xpYi9saWJnY2Nfcy5zby4xIHdoZW4gc2VhcmNoaW5nIGZvciBsaWJnY2Nf
cy5zby4xCi91c3IvbGliNjQvZ2NjL3g4Nl82NC1zdXNlLWxpbnV4LzcvLi4vLi4vLi4vLi4veDg2
XzY0LXN1c2UtbGludXgvYmluL2xkOiAKc2tpcHBpbmcgaW5jb21wYXRpYmxlIC9saWIvbGliZ2Nj
X3Muc28uMSB3aGVuIHNlYXJjaGluZyBmb3IgbGliZ2NjX3Muc28uMQpjb25maWd1cmU6MzExOTc6
ICQ/ID0gMApjb25maWd1cmU6MzEyMDc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTozMTI0MDogcmVz
dWx0Ogpjb25maWd1cmU6MzEyNDI6IHJlc3VsdDogG1sxbUNoZWNraW5nIGZvciBQRGN1cnNlcy9Y
Y3Vyc2VzOhtbbQoKCkVsIDIyLzMvMjMgYSBsYXMgMTE6MjEsIE1pa2UgQXVidXJ5IGVzY3JpYmnD
szoKPiBDYW4geW91IHNlbmQgdGhlIHJlbGV2YW50IHBvcnRpb24gb2YgdGhlIGNvbmZpZy5sb2cg
Pwo+IAo+IElmIGl0cyBub3QgZmluZGluZyB0aGUgbmN1cnNlcyBkZXZlbCBsaWJyYXJ5IC0gaXQg
bWlnaHQgYmUgdGhhdCBpdCBqdXN0IAo+IG5lZWRzIGEgbnVkZ2UgYXMgdG8gd2hlcmUgaXQgaXMg
bG9jYXRlZC4uCj4gCj4gT24gV2VkLCAyMiBNYXIgMjAyMyBhdCAxMDoxOCwgTHVpcyBQYXNjdWFs
IEZvcm5lciA8bHBhc2N1YWxAaXZhbC5jb20gCj4gPG1haWx0bzpscGFzY3VhbEBpdmFsLmNvbT4+
IHdyb3RlOgo+IAo+ICAgICBEZWFyIEF1Yml0NEdMIHRlYW0sCj4gCj4gICAgIEkgaGF2ZSBjb21w
aWxlZCBhdWJpdDRnbCBvbiBvcGVuU1VTRSBMZWFwIDE1LjQuIFRoZSBjb21waWxhdGlvbiB3YXMK
PiAgICAgc3VjY2Vzc2Z1bCwgYnV0IHRoZSBjdXJzZXMgbGlicmFyaWVzIGFyZSBub3QgZGV0ZWN0
ZWQsIGV2ZW4gdGhvdWdoIEkKPiAgICAgaGF2ZSBhbGwgdGhlIGRpc3RyaWJ1dGlvbidzIG5jdXJz
ZXMgcGFja2FnZXMgaW5zdGFsbGVkOiBsaWJuY3Vyc2VzNSwKPiAgICAgbGlibmN1cnNlczUtMzJi
aXQsIGxpYm5jdXJzZXM2LCBsaWJuY3Vyc2VzNi0zMmJpdCwgbmN1cnNlcy1kZXZlbCwKPiAgICAg
bmN1cnNlczUtZGV2ZWwgYW5kIG5jdXJzZXM1LWRldmVsLTMyYml0Lgo+IAo+ICAgICBUaGUgb3V0
cHV0IG9mIGNvbmZpZ3VyZSBpczoKPiAKPiAgICAgQ2hlY2tpbmcgZm9yIGN1cnNlcyBsaWJyYXJp
ZXM6Cj4gICAgIGNoZWNraW5nIGZvciBtYWluIGluIC1sbmN1cnNlcy4uLiBubwo+ICAgICBjaGVj
a2luZyBmb3Igd2lubnN0ciBpbiAtbG5jdXJzZXMuLi4gbm8KPiAgICAgY2hlY2tpbmcgZm9yIHdp
bm5zdHIgaW4gLWxjdXJzZXMuLi4gbm8KPiAgICAgeWVzIC0gZm91bmQKPiAgICAgY2hlY2tpbmcg
Rm9yIGFueSBsaWJuY3Vyc2VzIGxpYnJhcnkgb24gdGhlIHN5c3RlbS4uLiBjaGVja2luZyBmb3IK
PiAgICAgbGlicmFyeSBjb250YWluaW5nIG12YWRkX3djaG5zdHIuLi4gbm8KPiAgICAgRGlkIG5v
dCBmaW5kIGl0Cj4gICAgIEZvdW5kIG5vdGhpbmcgd2l0aCBBQyBTRUFSQ0ggTElCUyBpbiAvbGli
L2xpYm5jdXJzZXMuc28uNQo+ICAgICAvbGliL2xpYm5jdXJzZXMuc28uNS45Cj4gICAgIC9saWIv
bGlibmN1cnNlcy5zby42Cj4gICAgIC9saWIvbGlibmN1cnNlcy5zby42LjEKPiAgICAgL2xpYjY0
L2xpYm5jdXJzZXMuc28uNQo+ICAgICAvbGliNjQvbGlibmN1cnNlcy5zby41LjkKPiAgICAgL2xp
YjY0L2xpYm5jdXJzZXMuc28uNgo+ICAgICAvbGliNjQvbGlibmN1cnNlcy5zby42LjEKPiAgICAg
L3Vzci9saWIvbGlibmN1cnNlcy5zbwo+ICAgICAvdXNyL2xpYi9uY3Vyc2VzNS9saWJuY3Vyc2Vz
LnNvCj4gICAgIC91c3IvbGliNjQvbGlibmN1cnNlcy5zbwo+ICAgICAvdXNyL2xpYjY0L25jdXJz
ZXM1L2xpYm5jdXJzZXMuc28KPiAgICAgY2hlY2tpbmcgZm9yIGN1cnNlcy5oLi4uIHllcwo+ICAg
ICBjaGVja2luZyBmb3IgbmN1cnNlcy5oLi4uIHllcwo+ICAgICBjaGVja2luZyBmb3IgbmN1cnNl
cy9uY3Vyc2VzLmguLi4geWVzCj4gICAgIGNoZWNraW5nIGZvciBjdXJzZXMvY3Vyc2VzLmguLi4g
bm8KPiAgICAgY2hlY2tpbmcgZm9yIG1haW4gaW4gLWxmb3JtLi4uIHllcwo+ICAgICBjaGVja2lu
ZyBmb3IgbWFpbiBpbiAtbHBhbmVsLi4uIHllcwo+IAo+ICAgICBXaGF0IEkgY2FuIGRvPwo+IAo+
ICAgICBUaGFua3MgaW4gYWR2YW5jZQo+IAo+IAo+ICAgICBfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXwo+ICAgICBBdWJpdDRnbC1kaXNjdXNzIG1haWxpbmcg
bGlzdAo+ICAgICBBdWJpdDRnbC1kaXNjdXNzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+ICAgICA8
bWFpbHRvOkF1Yml0NGdsLWRpc2N1c3NAbGlzdHMuc291cmNlZm9yZ2UubmV0Pgo+ICAgICBodHRw
czovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJpdDRnbC1kaXNjdXNz
Cj4gICAgIDxodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9hdWJp
dDRnbC1kaXNjdXNzPgo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fCkF1Yml0NGdsLWRpc2N1c3MgbWFpbGluZyBsaXN0CkF1Yml0NGdsLWRpc2N1c3NA
bGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3Rz
L2xpc3RpbmZvL2F1Yml0NGdsLWRpc2N1c3MK