HAVE_SENDMSG = 1
HAVE_ACCRIGHTS_IN_MSGHDR - not defined
HAVE_CONTROL_IN_MSGHDR = 1
> void
> mm_send_fd(int socket, int fd)
> {
> #if defined(HAVE_SENDMSG) && (defined(HAVE_ACCRIGHTS_IN_MSGHDR) ||
defined(HAVE_CONTROL_IN_MSGHDR))
> struct msghdr msg;
> struct iovec vec;
> char ch = '\0';
> int n;
> #ifndef HAVE_ACCRIGHTS_IN_MSGHDR
> char tmp[CMSG_SPACE(sizeof(int))];
> struct cmsghdr *cmsg;
> #endif
>
> memset(&msg, 0, sizeof(msg));
> #ifdef HAVE_ACCRIGHTS_IN_MSGHDR
> msg.msg_accrights = (caddr_t)&fd;
> msg.msg_accrightslen = sizeof(fd);
> #else
> msg.msg_control = (caddr_t)tmp;
> msg.msg_controllen = CMSG_LEN(sizeof(int));
> cmsg = CMSG_FIRSTHDR(&msg);
> cmsg->cmsg_len = CMSG_LEN(sizeof(int));
> cmsg->cmsg_level = SOL_SOCKET;
> cmsg->cmsg_type = SCM_RIGHTS;
> *(int *)CMSG_DATA(cmsg) = fd;
> #endif
>
> vec.iov_base = &ch;
> vec.iov_len = 1;
> msg.msg_iov = &vec;
> msg.msg_iovlen = 1;
>
> if ((n = sendmsg(socket, &msg, 0)) == -1)
> fatal("%s: sendmsg(%d): %s", __func__, fd,
> strerror(errno));
> if (n != 1)
> fatal("%s: sendmsg: expected sent 1 got %d",
> __func__, n);
> #else
> fatal("%s: UsePrivilegeSeparation=yes not supported",
> __func__);
> #endif
> }
Okay, compiler is complaining about CMSG_FIRSTHDR and CMSG_DATA. Where
they are??? Shouldn't be in defines.h ??? (as CMSG_LEN) ... I was
grepping for them in all files ... they are not there ...
Regards, Richard.
PS: Attaching config.log. Maybe will help you to identify the problem.
On Thu, Jun 27, 2002 at 01:51:13PM +0200, seth at kokos.cz wrote:
| Hello openssh-unix-dev,
|
| Some time ago I successfully compiled version 3.1 of OpenSSH.
| Today I tried new OpenSSH version and I am not able to compile it.
| Configuration script runned well. When running make, following error
| occured:
|
| make[1]: Entering directory `/tools/openssh-3.4p1/openbsd-compat'
| make[1]: Nothing to be done for `all'.
| make[1]: Leaving directory `/tools/openssh-3.4p1/openbsd-compat'
| gcc -o ssh ssh.o sshconnect.o sshconnect1.o sshconnect2.o sshtty.o readconf.o
clientloop.o -L. -Lopenbsd-compat/ -L/usr/local/ssl/lib -lssh -lopenbsd-compat
-lbsd -lz -lcrypto
| ./libssh.a(monitor_fdpass.o): In function `mm_send_fd':
| /tools/openssh-3.4p1/monitor_fdpass.c:54: undefined reference to
`CMSG_FIRSTHDR'
| /tools/openssh-3.4p1/monitor_fdpass.c:58: undefined reference to
`CMSG_DATA'
| ./libssh.a(monitor_fdpass.o): In function `mm_receive_fd':
| /tools/openssh-3.4p1/monitor_fdpass.c:114: undefined reference to
`CMSG_FIRSTHDR'
| /tools/openssh-3.4p1/monitor_fdpass.c:118: undefined reference to
`CMSG_DATA'
| collect2: ld returned 1 exit status
| make: *** [ssh] Error 1
|
| Really don't know where the problem could be.
|
| Some info about comp:
| i386 Slackware linux
Which specific Slackware? Too embarrassed to say?
| Kernel 2.0.34
| OpenSSL 0.9.6
Which OpenSSL? 0.9.6a? 0.9.6b? 0.9.6c? 0.9.6d?
| egcs-2.90.29 980515 (egcs-1.0.3 release)
| libc 4.7.6
|
| - don't know what other info can help you.
How about telling me how long you're going to leave this machine
running such an old system? Slackware 8.1 is out now. Be sure
to get the "patches" directory, which includes OpenSSH 3.4p1.
--
-----------------------------------------------------------------
| Phil Howard - KA9WGN | Dallas | http://linuxhomepage.com/ |
| phil-nospam at ipal.net | Texas, USA | http://phil.ipal.org/ |
-----------------------------------------------------------------
------------102196104183A44AE
Content-Type: application/octet-stream; name="config.log"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="config.log"
VGhpcyBmaWxlIGNvbnRhaW5zIGFueSBtZXNzYWdlcyBwcm9kdWNlZCBieSBjb21waWxlcnMgd2hp
bGUKcnVubmluZyBjb25maWd1cmUsIHRvIGFpZCBkZWJ1Z2dpbmcgaWYgY29uZmlndXJlIG1ha2Vz
IGEgbWlzdGFrZS4KCkl0IHdhcyBjcmVhdGVkIGJ5IGNvbmZpZ3VyZSwgd2hpY2ggd2FzCmdlbmVy
YXRlZCBieSBHTlUgQXV0b2NvbmYgMi41My4gIEludm9jYXRpb24gY29tbWFuZCBsaW5lIHdhcwoK
ICAkIC4vY29uZmlndXJlIAoKIyMgLS0tLS0tLS0tICMjCiMjIFBsYXRmb3JtLiAjIwojIyAtLS0t
LS0tLS0gIyMKCmhvc3RuYW1lID0gcG9zdAp1bmFtZSAtbSA9IGk0ODYKdW5hbWUgLXIgPSAyLjAu
MzQKdW5hbWUgLXMgPSBMaW51eAp1bmFtZSAtdiA9ICMyIFRodSBKdW4gNCAyMjozNjowNyBQRFQg
MTk5OAoKL3Vzci9iaW4vdW5hbWUgLXAgPSB1bmtub3duCi9iaW4vdW5hbWUgLVggICAgID0gdW5r
bm93bgoKL2Jpbi9hcmNoICAgICAgICAgICAgICA9IGk0ODYKL3Vzci9iaW4vYXJjaCAtayAgICAg
ICA9IHVua25vd24KL3Vzci9jb252ZXgvZ2V0c3lzaW5mbyA9IHVua25vd24KaG9zdGluZm8gICAg
ICAgICAgICAgICA9IHVua25vd24KL2Jpbi9tYWNoaW5lICAgICAgICAgICA9IHVua25vd24KL3Vz
ci9iaW4vb3NsZXZlbCAgICAgICA9IHVua25vd24KL2Jpbi91bml2ZXJzZSAgICAgICAgICA9IHVu
a25vd24KClBBVEg6IC91c3IvYmluClBBVEg6IC9iaW4KUEFUSDogL3Vzci9zYmluClBBVEg6IC9z
YmluClBBVEg6IC91c3IvbG9jYWwvYmluClBBVEg6IC91c3IvWDExUjYvYmluClBBVEg6IC91c3Iv
b3Blbndpbi9iaW4KUEFUSDogL3Rvb2xzL2pkazExNi9iaW4KUEFUSDogL3Rvb2xzL2pyZS9iaW4K
UEFUSDogLgoKCiMjIC0tLS0tLS0tLS0tICMjCiMjIENvcmUgdGVzdHMuICMjCiMjIC0tLS0tLS0t
LS0tICMjCgpjb25maWd1cmU6MTMyMjogY2hlY2tpbmcgZm9yIGdjYwpjb25maWd1cmU6MTMyMjog
Zm91bmQgL3Vzci9iaW4vZ2NjCmNvbmZpZ3VyZToxMzIyOiByZXN1bHQ6IGdjYwpjb25maWd1cmU6
MTU1NzogY2hlY2tpbmcgZm9yIEMgY29tcGlsZXIgdmVyc2lvbgpjb25maWd1cmU6MTU2MzogZ2Nj
IC0tdmVyc2lvbiA8L2Rldi9udWxsID4mNQplZ2NzLTIuOTAuMjkgOTgwNTE1IChlZ2NzLTEuMC4z
IHJlbGVhc2UpCmNvbmZpZ3VyZToxNTYzOiAkPyA9IDAKY29uZmlndXJlOjE1Njg6IGdjYyAtdiA8
L2Rldi9udWxsID4mNQpSZWFkaW5nIHNwZWNzIGZyb20gL3Vzci9saWIvZ2NjLWxpYi9pNTg2LXBj
LWxpbnV4LWdudWxpYmMxL2VnY3MtMi45MC4yOS9zcGVjcwpnY2MgdmVyc2lvbiBlZ2NzLTIuOTAu
MjkgOTgwNTE1IChlZ2NzLTEuMC4zIHJlbGVhc2UpCmNvbmZpZ3VyZToxNTY4OiAkPyA9IDAKY29u
ZmlndXJlOjE1NzM6IGdjYyAtViA8L2Rldi9udWxsID4mNQpnY2M6IGFyZ3VtZW50IHRvIGAtVicg
aXMgbWlzc2luZwpjb25maWd1cmU6MTU3MzogJD8gPSAxCmNvbmZpZ3VyZToxNTk4OiBjaGVja2lu
ZyBmb3IgQyBjb21waWxlciBkZWZhdWx0IG91dHB1dApjb25maWd1cmU6MTYzNDogZ2NjICAgIGNv
bmZ0ZXN0LmMgID4mNQpjb25maWd1cmU6MTYzNDogJD8gPSAwCmNvbmZpZ3VyZToxNjM3OiByZXN1
bHQ6IGEub3V0CmNvbmZpZ3VyZToxNjQyOiBjaGVja2luZyB3aGV0aGVyIHRoZSBDIGNvbXBpbGVy
IHdvcmtzCmNvbmZpZ3VyZToxNjY1OiAuL2Eub3V0CmNvbmZpZ3VyZToxNjY1OiAkPyA9IDAKY29u
ZmlndXJlOjE2NjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjczOiBjaGVja2luZyB3aGV0aGVy
IHdlIGFyZSBjcm9zcyBjb21waWxpbmcKY29uZmlndXJlOjE2NzU6IHJlc3VsdDogbm8KY29uZmln
dXJlOjE2Nzg6IGNoZWNraW5nIGZvciBzdWZmaXggb2YgZXhlY3V0YWJsZXMKY29uZmlndXJlOjE3
MDI6IGdjYyAtbyBjb25mdGVzdCAgICBjb25mdGVzdC5jICA+JjUKY29uZmlndXJlOjE3MDI6ICQ/
ID0gMApjb25maWd1cmU6MTcwNTogcmVzdWx0OiAKY29uZmlndXJlOjE3MTE6IGNoZWNraW5nIGZv
ciBzdWZmaXggb2Ygb2JqZWN0IGZpbGVzCmNvbmZpZ3VyZToxNzU2OiBnY2MgLWMgICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6MTc1NjogJD8gPSAwCmNvbmZpZ3VyZToxNzU3OiByZXN1bHQ6IG8K
Y29uZmlndXJlOjE3NjE6IGNoZWNraW5nIHdoZXRoZXIgd2UgYXJlIHVzaW5nIHRoZSBHTlUgQyBj
b21waWxlcgpjb25maWd1cmU6MTgwODogZ2NjIC1jICAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OjE4MDg6ICQ/ID0gMApjb25maWd1cmU6MTgwODogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3Vy
ZToxODA4OiAkPyA9IDAKY29uZmlndXJlOjE4MDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxODE1
OiBjaGVja2luZyB3aGV0aGVyIGdjYyBhY2NlcHRzIC1nCmNvbmZpZ3VyZToxODU3OiBnY2MgLWMg
LWcgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxODU3OiAkPyA9IDAKY29uZmlndXJlOjE4NTc6
IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTg1NzogJD8gPSAwCmNvbmZpZ3VyZToxODU4
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTk5MDogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+
JjUKY29uZnRlc3QuYzoyOiBwYXJzZSBlcnJvciBiZWZvcmUgYG1lJwpjb25maWd1cmU6MTk5MDog
JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojaWZuZGVmIF9fY3BsdXNwbHVz
CiAgY2hva2UgbWUKI2VuZGlmCmNvbmZpZ3VyZToyMDI5OiBjaGVja2luZyBidWlsZCBzeXN0ZW0g
dHlwZQpjb25maWd1cmU6MjA0NzogcmVzdWx0OiBpNDg2LXBjLWxpbnV4LWdudWxpYmMxCmNvbmZp
Z3VyZToyMDU1OiBjaGVja2luZyBob3N0IHN5c3RlbSB0eXBlCmNvbmZpZ3VyZToyMDY5OiByZXN1
bHQ6IGk0ODYtcGMtbGludXgtZ251bGliYzEKY29uZmlndXJlOjIwNzg6IGNoZWNraW5nIHdoZXRo
ZXIgYnl0ZSBvcmRlcmluZyBpcyBiaWdlbmRpYW4KY29uZmlndXJlOjIyNjA6IGdjYyAtYyAtZyAt
TzIgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25maWd1
cmU6MjI3NDogYGJvZ3VzJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgdGhpcyBmdW5jdGlvbikKY29u
ZmlndXJlOjIyNzQ6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5
IG9uY2UKY29uZmlndXJlOjIyNzQ6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpj
b25maWd1cmU6MjI3NDogcGFyc2UgZXJyb3IgYmVmb3JlIGBlbmRpYW4nCmNvbmZpZ3VyZToyMjYw
OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDIyNjAgImNvbmZp
Z3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2luY2x1
ZGUgPHN5cy9wYXJhbS5oPgoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNw
bHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJl
dHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CiNpZiAhQllURV9PUkRFUiB8fCAhQklHX0VO
RElBTiB8fCAhTElUVExFX0VORElBTgogYm9ndXMgZW5kaWFuIG1hY3JvcwojZW5kaWYKCiAgOwog
IHJldHVybiAwOwp9CmNvbmZpZ3VyZToyMjYwOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yICAgY29u
ZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZToyMjYwOiAkPyA9IDAKY29uZmlndXJlOjIyNjA6IC4vY29u
ZnRlc3QKY29uZmlndXJlOjIyNjA6ICQ/ID0gMApjb25maWd1cmU6MjI2MTogcmVzdWx0OiBubwpj
b25maWd1cmU6MjI4NzogY2hlY2tpbmcgaG93IHRvIHJ1biB0aGUgQyBwcmVwcm9jZXNzb3IKY29u
ZmlndXJlOjIzODg6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6MjM4ODogJD8gPSAwCmNv
bmZpZ3VyZToyMzg4OiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjIzODk6IGFjX25vbmV4
aXN0ZW50Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjIzODg6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMjM4OCAiY29uZmlndXJlIgoj
aW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPGFjX25vbmV4aXN0ZW50Lmg+CmNvbmZpZ3Vy
ZToyMzg5OiByZXN1bHQ6IGdjYyAtRQpjb25maWd1cmU6MjQ2NTogZ2NjIC1FICBjb25mdGVzdC5j
CmNvbmZpZ3VyZToyNDY1OiAkPyA9IDAKY29uZmlndXJlOjI0NjU6IGdjYyAtRSAgY29uZnRlc3Qu
Ywpjb25maWd1cmU6MjQ2NjogYWNfbm9uZXhpc3RlbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb25maWd1cmU6MjQ2NTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
OgojbGluZSAyNDY1ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8
YWNfbm9uZXhpc3RlbnQuaD4KY29uZmlndXJlOjI1NjA6IGNoZWNraW5nIGZvciByYW5saWIKY29u
ZmlndXJlOjI1NjA6IGZvdW5kIC91c3IvYmluL3JhbmxpYgpjb25maWd1cmU6MjU2MDogcmVzdWx0
OiByYW5saWIKY29uZmlndXJlOjI1NzQ6IGNoZWNraW5nIGZvciBhIEJTRC1jb21wYXRpYmxlIGlu
c3RhbGwKY29uZmlndXJlOjI2Mjg6IHJlc3VsdDogL3Vzci9iaW4vZ2luc3RhbGwgLWMKY29uZmln
dXJlOjI2NDE6IGNoZWNraW5nIGZvciBhcgpjb25maWd1cmU6MjY2NzogZm91bmQgL3Vzci9iaW4v
YXIKY29uZmlndXJlOjI2NzY6IHJlc3VsdDogL3Vzci9iaW4vYXIKY29uZmlndXJlOjI3MjA6IGNo
ZWNraW5nIGZvciBwZXJsNQpjb25maWd1cmU6MjcyMDogcmVzdWx0OiBubwpjb25maWd1cmU6Mjcy
MDogY2hlY2tpbmcgZm9yIHBlcmwKY29uZmlndXJlOjI3MjA6IGZvdW5kIC91c3IvYmluL3BlcmwK
Y29uZmlndXJlOjI3MjA6IHJlc3VsdDogL3Vzci9iaW4vcGVybApjb25maWd1cmU6MjcyNTogY2hl
Y2tpbmcgZm9yIGVudApjb25maWd1cmU6Mjc2MDogcmVzdWx0OiBubwpjb25maWd1cmU6MjgwNjog
Y2hlY2tpbmcgZm9yIGZpbGVwcml2CmNvbmZpZ3VyZToyODA2OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZToyODExOiBjaGVja2luZyBmb3IgYmFzaApjb25maWd1cmU6MjgzNzogZm91bmQgL3Vzci9iaW4v
YmFzaApjb25maWd1cmU6Mjg0NjogcmVzdWx0OiAvdXNyL2Jpbi9iYXNoCmNvbmZpZ3VyZToyODUw
OiBjaGVja2luZyBmb3Iga3NoCmNvbmZpZ3VyZToyODg1OiByZXN1bHQ6IC91c3IvYmluL2Jhc2gK
Y29uZmlndXJlOjI4ODk6IGNoZWNraW5nIGZvciBzaApjb25maWd1cmU6MjkyNDogcmVzdWx0OiAv
dXNyL2Jpbi9iYXNoCmNvbmZpZ3VyZToyOTI4OiBjaGVja2luZyBmb3Igc2gKY29uZmlndXJlOjI5
NTQ6IGZvdW5kIC9iaW4vc2gKY29uZmlndXJlOjI5NjM6IHJlc3VsdDogL2Jpbi9zaApjb25maWd1
cmU6MzI3ODogY2hlY2tpbmcgZm9yIHNwZWNpYWwgQyBjb21waWxlciBvcHRpb25zIG5lZWRlZCBm
b3IgbGFyZ2UgZmlsZXMKY29uZmlndXJlOjMyNzg6IHJlc3VsdDogbm8KY29uZmlndXJlOjMyNzg6
IGNoZWNraW5nIGZvciBfRklMRV9PRkZTRVRfQklUUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZp
bGVzCmNvbmZpZ3VyZTozMjc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1
cmU6MzI4NTogd2FybmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlCmNvbmZp
Z3VyZTozMjg1OiB3YXJuaW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUKY29u
ZmlndXJlOjMyODc6IHNpemUgb2YgYXJyYXkgYG9mZl90X2lzX2xhcmdlJyBpcyBuZWdhdGl2ZQpj
b25maWd1cmU6MzI3ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu
ZSAzMjc4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL3R5
cGVzLmg+CiAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJl
Y3RseS4KICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3
MjAzNjg1NDc3NTgwNywKICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcg
YXMgQyBjb21waWxlcnMKICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3
LiAgKi8KI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZf
dCkgMSA8PCA2MikpCiAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2
MjkgPT0gNzIxCgkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQoJCSAg
ICAgID8gMSA6IC0xXTsKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVz
CiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVy
biAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6
MzI3ODogZ2NjIC1jIC1nIC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyODY6IHdhcm5p
bmc6IGxlZnQgc2hpZnQgY291bnQgPj0gd2lkdGggb2YgdHlwZQpjb25maWd1cmU6MzI4Njogd2Fy
bmluZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlCmNvbmZpZ3VyZTozMjg4OiBz
aXplIG9mIGFycmF5IGBvZmZfdF9pc19sYXJnZScgaXMgbmVnYXRpdmUKY29uZmlndXJlOjMyNzg6
ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzI3OCAiY29uZmln
dXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2RlZmluZSBfRklMRV9PRkZTRVRfQklUUyA2NAoj
aW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQg
MioqNjMgLSAxIGNvcnJlY3RseS4KICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZG
X1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywKICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVy
cyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMKICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIz
MzcyMDM2ODU0Nzc1ODA3LiAgKi8KI2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2
MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCiAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9P
RkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCgkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4
MzY0NyA9PSAxKQoJCSAgICAgID8gMSA6IC0xXTsKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlm
ZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1Z
X01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CgogIDsKICByZXR1cm4g
MDsKfQpjb25maWd1cmU6MzI3ODogcmVzdWx0OiBubwpjb25maWd1cmU6MzI3ODogY2hlY2tpbmcg
Zm9yIF9MQVJHRV9GSUxFUyB2YWx1ZSBuZWVkZWQgZm9yIGxhcmdlIGZpbGVzCmNvbmZpZ3VyZToz
Mjc4OiBnY2MgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MzI4NTogd2Fybmlu
ZzogbGVmdCBzaGlmdCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlCmNvbmZpZ3VyZTozMjg1OiB3YXJu
aW5nOiBsZWZ0IHNoaWZ0IGNvdW50ID49IHdpZHRoIG9mIHR5cGUKY29uZmlndXJlOjMyODc6IHNp
emUgb2YgYXJyYXkgYG9mZl90X2lzX2xhcmdlJyBpcyBuZWdhdGl2ZQpjb25maWd1cmU6MzI3ODog
JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAzMjc4ICJjb25maWd1
cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAvKiBDaGVj
ayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4KICAgIFdlIGNh
bid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1NDc3NTgwNywK
ICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBjb21waWxlcnMK
ICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8KI2RlZmluZSBM
QVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8PCA2MikpCiAg
aW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0gNzIxCgkJICAg
ICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQoJCSAgICAgID8gMSA6IC0xXTsK
I2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJD
IgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgpp
bnQKbWFpbiAoKQp7CgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6MzI3ODogZ2NjIC1jIC1n
IC1PMiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjMyODY6IHdhcm5pbmc6IGxlZnQgc2hpZnQg
Y291bnQgPj0gd2lkdGggb2YgdHlwZQpjb25maWd1cmU6MzI4Njogd2FybmluZzogbGVmdCBzaGlm
dCBjb3VudCA+PSB3aWR0aCBvZiB0eXBlCmNvbmZpZ3VyZTozMjg4OiBzaXplIG9mIGFycmF5IGBv
ZmZfdF9pc19sYXJnZScgaXMgbmVnYXRpdmUKY29uZmlndXJlOjMyNzg6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMzI3OCAiY29uZmlndXJlIgojaW5jbHVkZSAi
Y29uZmRlZnMuaCIKI2RlZmluZSBfTEFSR0VfRklMRVMgMQojaW5jbHVkZSA8c3lzL3R5cGVzLmg+
CiAvKiBDaGVjayB0aGF0IG9mZl90IGNhbiByZXByZXNlbnQgMioqNjMgLSAxIGNvcnJlY3RseS4K
ICAgIFdlIGNhbid0IHNpbXBseSBkZWZpbmUgTEFSR0VfT0ZGX1QgdG8gYmUgOTIyMzM3MjAzNjg1
NDc3NTgwNywKICAgIHNpbmNlIHNvbWUgQysrIGNvbXBpbGVycyBtYXNxdWVyYWRpbmcgYXMgQyBj
b21waWxlcnMKICAgIGluY29ycmVjdGx5IHJlamVjdCA5MjIzMzcyMDM2ODU0Nzc1ODA3LiAgKi8K
I2RlZmluZSBMQVJHRV9PRkZfVCAoKChvZmZfdCkgMSA8PCA2MikgLSAxICsgKChvZmZfdCkgMSA8
PCA2MikpCiAgaW50IG9mZl90X2lzX2xhcmdlWyhMQVJHRV9PRkZfVCAlIDIxNDc0ODM2MjkgPT0g
NzIxCgkJICAgICAgICYmIExBUkdFX09GRl9UICUgMjE0NzQ4MzY0NyA9PSAxKQoJCSAgICAgID8g
MSA6IC0xXTsKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAg
ZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9
CiNlbmRpZgppbnQKbWFpbiAoKQp7CgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6MzI3ODog
cmVzdWx0OiBubwpjb25maWd1cmU6MzM0MDogY2hlY2tpbmcgZm9yIGxvZ2luCmNvbmZpZ3VyZToz
MzQwOiBmb3VuZCAvYmluL2xvZ2luCmNvbmZpZ3VyZTozMzQwOiByZXN1bHQ6IC9iaW4vbG9naW4K
Y29uZmlndXJlOjMzNDc6IGNoZWNraW5nIGZvciBnY2Mgb3B0aW9uIHRvIGFjY2VwdCBBTlNJIEMK
Y29uZmlndXJlOjM0MzI6IGdjYyAgLWMgLWcgLU8yICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6
MzQzMjogJD8gPSAwCmNvbmZpZ3VyZTozNDMyOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJl
OjM0MzI6ICQ/ID0gMApjb25maWd1cmU6MzQ0MjogcmVzdWx0OiBub25lIG5lZWRlZApjb25maWd1
cmU6MzQ0NDogY2hlY2tpbmcgZm9yIGlubGluZQpjb25maWd1cmU6MzQ4MDogZ2NjIC1jIC1nIC1P
MiAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjM0ODA6ICQ/ID0gMApjb25maWd1cmU6MzQ4MDog
dGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTozNDgwOiAkPyA9IDAKY29uZmlndXJlOjM0ODE6
IHJlc3VsdDogaW5saW5lCmNvbmZpZ3VyZTo0NDU3OiBjaGVja2luZyBmb3IgQU5TSSBDIGhlYWRl
ciBmaWxlcwpjb25maWd1cmU6NDU4MzogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0NTgz
OiAkPyA9IDAKY29uZmlndXJlOjQ1ODM6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdw
b2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1
cmU6NDU4MzogJD8gPSAwCmNvbmZpZ3VyZTo0NTgzOiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo0NTgz
OiAkPyA9IDAKY29uZmlndXJlOjQ1ODQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NjQ5OiBjaGVj
a2luZyBmb3Igc3lzL3R5cGVzLmgKY29uZmlndXJlOjQ2NDk6IGdjYyAtYyAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1cmU6NDY0OTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZp
Z3VyZTo0NjQ5OiAkPyA9IDAKY29uZmlndXJlOjQ2NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
NjQ5OiBjaGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NDY0OTogZ2NjIC1jIC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4m
NQpjb25maWd1cmU6NDY0OTogJD8gPSAwCmNvbmZpZ3VyZTo0NjQ5OiB0ZXN0IC1zIGNvbmZ0ZXN0
Lm8KY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1cmU6NDY0OTogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjQ2NDk6IGNoZWNraW5nIGZvciBzdGRsaWIuaApjb25maWd1cmU6NDY0OTogZ2NjIC1j
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6NDY0OTogJD8gPSAwCmNvbmZpZ3VyZTo0NjQ5OiB0ZXN0IC1zIGNv
bmZ0ZXN0Lm8KY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1cmU6NDY0OTogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQ2NDk6IGNoZWNraW5nIGZvciBzdHJpbmcuaApjb25maWd1cmU6NDY0OTog
Z2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBj
b25mdGVzdC5jID4mNQpjb25maWd1cmU6NDY0OTogJD8gPSAwCmNvbmZpZ3VyZTo0NjQ5OiB0ZXN0
IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1cmU6NDY0OTogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ2NDk6IGNoZWNraW5nIGZvciBtZW1vcnkuaApjb25maWd1cmU6
NDY0OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDY0OTogJD8gPSAwCmNvbmZpZ3VyZTo0NjQ5
OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1cmU6NDY0
OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ2NDk6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29u
ZmlndXJlOjQ2NDk6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1
cmU6NDY0OTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0NjQ5OiAkPyA9IDAKY29uZmln
dXJlOjQ2NDk6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0NjQ5OiBjaGVja2luZyBmb3IgaW50dHlw
ZXMuaApjb25maWd1cmU6NDY0OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGgg
LVduby11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDY4NTogaW50dHlw
ZXMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDY0OTogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0NjQ5ICJjb25maWd1cmUiCiNpbmNs
dWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8uaD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gK
IyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNpZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNs
dWRlIDxzeXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENfSEVBREVSUwojIGluY2x1ZGUgPHN0ZGxp
Yi5oPgojIGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQojIGlmIEhBVkVfU1RETElCX0gKIyAgaW5j
bHVkZSA8c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1NUUklOR19ICiMgaWYgIVNU
RENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGluY2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlm
CiMgaW5jbHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYgSEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRl
IDxzdHJpbmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRUWVBFU19ICiMgaW5jbHVkZSA8aW50dHlw
ZXMuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMgIGluY2x1ZGUgPHN0ZGludC5oPgojIGVu
ZGlmCiNlbmRpZgojaWYgSEFWRV9VTklTVERfSAojIGluY2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYK
CiNpbmNsdWRlIDxpbnR0eXBlcy5oPgpjb25maWd1cmU6NDY0OTogcmVzdWx0OiBubwpjb25maWd1
cmU6NDY0OTogY2hlY2tpbmcgZm9yIHN0ZGludC5oCmNvbmZpZ3VyZTo0NjQ5OiBnY2MgLWMgLWcg
LU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZTo0Njg1OiBzdGRpbnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b25maWd1cmU6NDY0OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu
ZSA0NjQ5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8u
aD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNp
ZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENf
SEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQoj
IGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVkZSA8c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNp
ZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGlu
Y2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMgaW5jbHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYg
SEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxzdHJpbmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRU
WVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMg
IGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9VTklTVERfSAojIGlu
Y2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKCiNpbmNsdWRlIDxzdGRpbnQuaD4KY29uZmlndXJlOjQ2
NDk6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ2NDk6IGNoZWNraW5nIGZvciB1bmlzdGQuaApjb25m
aWd1cmU6NDY0OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmlu
aXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDY0OTogJD8gPSAwCmNvbmZpZ3Vy
ZTo0NjQ5OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ2NDk6ICQ/ID0gMApjb25maWd1
cmU6NDY0OTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGJzdHJpbmcuaCB1
c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFy
aXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/
ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAk
PyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2lu
ZyBic3RyaW5nLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpj
b25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1
cmU6NDgxMjogY2hlY2tpbmcgZm9yIGJzdHJpbmcuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGNyeXB0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0
ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6
ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBjcnlwdC5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNp
bmNsdWRlIDxzdGRpby5oPgojaWYgSEFWRV9TWVNfVFlQRVNfSAojIGluY2x1ZGUgPHN5cy90eXBl
cy5oPgojZW5kaWYKI2lmIEhBVkVfU1lTX1NUQVRfSAojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CiNl
bmRpZgojaWYgU1REQ19IRUFERVJTCiMgaW5jbHVkZSA8c3RkbGliLmg+CiMgaW5jbHVkZSA8c3Rk
ZGVmLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERMSUJfSAojICBpbmNsdWRlIDxzdGRsaWIuaD4KIyBl
bmRpZgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HX0gKIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVf
TUVNT1JZX0gKIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CiMgZW5kaWYKIyBpbmNsdWRlIDxzdHJpbmcu
aD4KI2VuZGlmCiNpZiBIQVZFX1NUUklOR1NfSAojIGluY2x1ZGUgPHN0cmluZ3MuaD4KI2VuZGlm
CiNpZiBIQVZFX0lOVFRZUEVTX0gKIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgojZWxzZQojIGlmIEhB
VkVfU1RESU5UX0gKIyAgaW5jbHVkZSA8c3RkaW50Lmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBIQVZF
X1VOSVNURF9ICiMgaW5jbHVkZSA8dW5pc3RkLmg+CiNlbmRpZgojaW5jbHVkZSA8Y3J5cHQuaD4K
Y29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGNyeXB0
LmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6
NDgxMzogY3J5cHQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjog
JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1
cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8Y3J5cHQuaD4KY29uZmlndXJlOjQ4
MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBjcnlwdC5oCmNvbmZp
Z3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBlbmRpYW4uaCB1
c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFy
aXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/
ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAk
PyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2lu
ZyBlbmRpYW4uaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNv
bmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0ODEyOiBjaGVja2luZyBmb3IgZW5kaWFuLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmbG9hdGluZ3BvaW50LmggdXNhYmlsaXR5CmNvbmZp
Z3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBmbG9hdGluZ3BvaW50Lmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAi
Y29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBFU19ICiMgaW5j
bHVkZSA8c3lzL3R5cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMgaW5jbHVkZSA8
c3lzL3N0YXQuaD4KI2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxzdGRsaWIuaD4K
IyBpbmNsdWRlIDxzdGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMgIGluY2x1ZGUg
PHN0ZGxpYi5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlmICFTVERDX0hF
QURFUlMgJiYgSEFWRV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBlbmRpZgojIGlu
Y2x1ZGUgPHN0cmluZy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5jbHVkZSA8c3Ry
aW5ncy5oPgojZW5kaWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGludHR5cGVzLmg+
CiNlbHNlCiMgaWYgSEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4KIyBlbmRpZgoj
ZW5kaWYKI2lmIEhBVkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2VuZGlmCiNpbmNs
dWRlIDxmbG9hdGluZ3BvaW50Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo0ODEyOiBjaGVja2luZyBmbG9hdGluZ3BvaW50LmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDgxMzogZmxvYXRpbmdwb2ludC5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBm
YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZk
ZWZzLmgiCiNpbmNsdWRlIDxmbG9hdGluZ3BvaW50Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3IgZmxvYXRpbmdwb2ludC5oCmNvbmZpZ3Vy
ZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBnZXRvcHQuaCB1c2Fi
aWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRo
IC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/ID0g
MApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAkPyA9
IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBn
ZXRvcHQuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyBmb3IgZ2V0b3B0LmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0ODEyOiBjaGVja2luZyBnbG9iLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODEyOiBn
Y2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNv
bmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHRlc3Qg
LXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgZ2xvYi5oIHByZXNlbmNlCmNvbmZpZ3Vy
ZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1
cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBnbG9iLmgK
Y29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBsYXN0
bG9nLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9p
bnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0
ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6
NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjog
Y2hlY2tpbmcgbGFzdGxvZy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0
ZXN0LmMKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBsYXN0bG9nLmgKY29uZmlndXJlOjQ4MTI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBsaW1pdHMuaCB1c2FiaWxpdHkKY29u
ZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1
cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmln
dXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBsaW1pdHMuaCBw
cmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEy
OiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVj
a2luZyBmb3IgbGltaXRzLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyBsb2dpbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDgxMjogZ2NjIC1jIC1n
IC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6NDg0NzogbG9naW4uaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu
ZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8u
aD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNp
ZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENf
SEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQoj
IGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVkZSA8c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNp
ZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGlu
Y2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMgaW5jbHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYg
SEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxzdHJpbmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRU
WVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMg
IGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9VTklTVERfSAojIGlu
Y2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKI2luY2x1ZGUgPGxvZ2luLmg+CmNvbmZpZ3VyZTo0ODEy
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBsb2dpbi5oIHByZXNlbmNlCmNv
bmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4MTM6IGxvZ2luLmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAi
Y29uZmRlZnMuaCIKI2luY2x1ZGUgPGxvZ2luLmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3IgbG9naW4uaApjb25maWd1cmU6NDgxMjogcmVz
dWx0OiBubwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgbG9naW5fY2FwLmggdXNhYmlsaXR5CmNv
bmZpZ3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVu
aW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBsb2dpbl9jYXAuaDog
Tm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRlICJj
b25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8uaD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBpbmNs
dWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNpZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxz
eXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENfSEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5oPgoj
IGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQojIGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVkZSA8
c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENfSEVB
REVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGluY2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMgaW5j
bHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYgSEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxzdHJp
bmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRUWVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMuaD4K
I2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMgIGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlmCiNl
bmRpZgojaWYgSEFWRV9VTklTVERfSAojIGluY2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKI2luY2x1
ZGUgPGxvZ2luX2NhcC5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgx
MjogY2hlY2tpbmcgbG9naW5fY2FwLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAg
Y29uZnRlc3QuYwpjb25maWd1cmU6NDgxMzogbG9naW5fY2FwLmg6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1
ZGUgPGxvZ2luX2NhcC5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgx
MjogY2hlY2tpbmcgZm9yIGxvZ2luX2NhcC5oCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0ODEyOiBjaGVja2luZyBtYWlsbG9jay5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDgx
MjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVk
ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDg0NzogbWFpbGxvY2suaDogTm8gc3VjaCBmaWxl
IG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoj
aW5jbHVkZSA8c3RkaW8uaD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBpbmNsdWRlIDxzeXMvdHlw
ZXMuaD4KI2VuZGlmCiNpZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgoj
ZW5kaWYKI2lmIFNURENfSEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGluY2x1ZGUgPHN0
ZGRlZi5oPgojZWxzZQojIGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVkZSA8c3RkbGliLmg+CiMg
ZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZF
X01FTU9SWV9ICiMgIGluY2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMgaW5jbHVkZSA8c3RyaW5n
Lmg+CiNlbmRpZgojaWYgSEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxzdHJpbmdzLmg+CiNlbmRp
ZgojaWYgSEFWRV9JTlRUWVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMuaD4KI2Vsc2UKIyBpZiBI
QVZFX1NURElOVF9ICiMgIGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFW
RV9VTklTVERfSAojIGluY2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKI2luY2x1ZGUgPG1haWxsb2Nr
Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBt
YWlsbG9jay5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29u
ZmlndXJlOjQ4MTM6IG1haWxsb2NrLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmln
dXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgx
MiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPG1haWxsb2NrLmg+
CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Ig
bWFpbGxvY2suaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgxMjogY2hl
Y2tpbmcgbmV0ZGIuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdh
bGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNv
bmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo0ODEyOiBjaGVja2luZyBuZXRkYi5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUg
IGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBuZXRkYi5oCmNvbmZpZ3VyZTo0ODEy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgbmV0Z3JvdXAuaCB1c2FiaWxp
dHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X
bm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4NDc6IG5ldGdyb3Vw
Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVk
ZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBFU19ICiMg
aW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMgaW5jbHVk
ZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxzdGRsaWIu
aD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMgIGluY2x1
ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlmICFTVERD
X0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBlbmRpZgoj
IGluY2x1ZGUgPHN0cmluZy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5jbHVkZSA8
c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGludHR5cGVz
Lmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4KIyBlbmRp
ZgojZW5kaWYKI2lmIEhBVkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2VuZGlmCiNp
bmNsdWRlIDxuZXRncm91cC5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6
NDgxMjogY2hlY2tpbmcgbmV0Z3JvdXAuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1F
ICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEzOiBuZXRncm91cC5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNs
dWRlIDxuZXRncm91cC5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgx
MjogY2hlY2tpbmcgZm9yIG5ldGdyb3VwLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjQ4MTI6IGNoZWNraW5nIG5ldGluZXQvaW5fc3lzdG0uaCB1c2FiaWxpdHkKY29uZmln
dXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0
aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6
NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJl
OjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBuZXRpbmV0L2luX3N5
c3RtLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1
cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgx
MjogY2hlY2tpbmcgZm9yIG5ldGluZXQvaW5fc3lzdG0uaApjb25maWd1cmU6NDgxMjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHBhdGhzLmggdXNhYmlsaXR5CmNvbmZpZ3Vy
ZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlh
bGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4
MTI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0
ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgcGF0aHMuaCBwcmVzZW5j
ZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEyOiAkPyA9
IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBm
b3IgcGF0aHMuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIHB0eS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDgxMjogZ2NjIC1jIC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6NDg0NzogcHR5Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4
MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29u
ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZF
X1NZU19UWVBFU19ICiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNf
U1RBVF9ICiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBp
bmNsdWRlIDxzdGRsaWIuaD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NU
RExJQl9ICiMgIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJ
TkdfSAojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1v
cnkuaD4KIyBlbmRpZgojIGluY2x1ZGUgPHN0cmluZy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5H
U19ICiMgaW5jbHVkZSA8c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGlu
Y2x1ZGUgPGludHR5cGVzLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxz
dGRpbnQuaD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlz
dGQuaD4KI2VuZGlmCiNpbmNsdWRlIDxwdHkuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHB0eS5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBn
Y2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4MTM6IHB0eS5oOiBObyBzdWNoIGZpbGUgb3Ig
ZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNs
dWRlIDxwdHkuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIGZvciBwdHkuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgx
MjogY2hlY2tpbmcgcmVhZHBhc3NwaHJhc2UuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdj
YyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4NDc6IHJlYWRwYXNzcGhyYXNlLmg6IE5vIHN1Y2ggZmls
ZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIK
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBFU19ICiMgaW5jbHVkZSA8c3lzL3R5
cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4K
I2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxzdGRsaWIuaD4KIyBpbmNsdWRlIDxz
dGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMgIGluY2x1ZGUgPHN0ZGxpYi5oPgoj
IGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlmICFTVERDX0hFQURFUlMgJiYgSEFW
RV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBlbmRpZgojIGluY2x1ZGUgPHN0cmlu
Zy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5jbHVkZSA8c3RyaW5ncy5oPgojZW5k
aWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGludHR5cGVzLmg+CiNlbHNlCiMgaWYg
SEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4KIyBlbmRpZgojZW5kaWYKI2lmIEhB
VkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2VuZGlmCiNpbmNsdWRlIDxyZWFkcGFz
c3BocmFzZS5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25maWd1cmU6NDgxMjogY2hl
Y2tpbmcgcmVhZHBhc3NwaHJhc2UuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBj
b25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEzOiByZWFkcGFzc3BocmFzZS5oOiBObyBzdWNoIGZpbGUg
b3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNp
bmNsdWRlIDxyZWFkcGFzc3BocmFzZS5oPgpjb25maWd1cmU6NDgxMjogcmVzdWx0OiBubwpjb25m
aWd1cmU6NDgxMjogY2hlY2tpbmcgZm9yIHJlYWRwYXNzcGhyYXNlLmgKY29uZmlndXJlOjQ4MTI6
IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHJwYy90eXBlcy5oIHVzYWJpbGl0
eQpjb25maWd1cmU6NDgxMjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdu
by11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNv
bmZpZ3VyZTo0ODEyOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApj
b25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHJwYy90
eXBlcy5oIHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmln
dXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4
MTI6IGNoZWNraW5nIGZvciBycGMvdHlwZXMuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHNlY3VyaXR5L3BhbV9hcHBsLmggdXNhYmlsaXR5CmNv
bmZpZ3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVu
aW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBzZWN1cml0eS9wYW1f
YXBwbC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEK
Y29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2lu
Y2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzdGRpby5oPgojaWYgSEFWRV9TWVNfVFlQRVNf
SAojIGluY2x1ZGUgPHN5cy90eXBlcy5oPgojZW5kaWYKI2lmIEhBVkVfU1lTX1NUQVRfSAojIGlu
Y2x1ZGUgPHN5cy9zdGF0Lmg+CiNlbmRpZgojaWYgU1REQ19IRUFERVJTCiMgaW5jbHVkZSA8c3Rk
bGliLmg+CiMgaW5jbHVkZSA8c3RkZGVmLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERMSUJfSAojICBp
bmNsdWRlIDxzdGRsaWIuaD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HX0gKIyBpZiAh
U1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CiMgZW5k
aWYKIyBpbmNsdWRlIDxzdHJpbmcuaD4KI2VuZGlmCiNpZiBIQVZFX1NUUklOR1NfSAojIGluY2x1
ZGUgPHN0cmluZ3MuaD4KI2VuZGlmCiNpZiBIQVZFX0lOVFRZUEVTX0gKIyBpbmNsdWRlIDxpbnR0
eXBlcy5oPgojZWxzZQojIGlmIEhBVkVfU1RESU5UX0gKIyAgaW5jbHVkZSA8c3RkaW50Lmg+CiMg
ZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1VOSVNURF9ICiMgaW5jbHVkZSA8dW5pc3RkLmg+CiNlbmRp
ZgojaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDog
bm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHNlY3VyaXR5L3BhbV9hcHBsLmggcHJlc2VuY2UK
Y29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDgxMzogc2VjdXJp
dHkvcGFtX2FwcGwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjog
JD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1
cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4K
Y29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBz
ZWN1cml0eS9wYW1fYXBwbC5oCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyBzaGFkb3cuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAt
ZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25m
dGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzaGFkb3cuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgx
MjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4
MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Igc2hhZG93LmgKY29u
ZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzdGRkZWYu
aCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVy
LWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6
ICQ/ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEy
OiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVj
a2luZyBzdGRkZWYuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5j
CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0ODEyOiBjaGVja2luZyBmb3Igc3RkZGVmLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Igc3RkaW50LmgKY29uZmlndXJlOjQ4MTI6
IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciBzdHJpbmdzLmgKY29uZmln
dXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvYml0eXBl
cy5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDgxMjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDgx
MjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ4
MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIHN5cy9iaXR5cGVzLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29u
ZnRlc3QuYwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgZm9yIHN5cy9iaXR5cGVzLmgKY29uZmlndXJlOjQ4
MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvYnNkdHR5LmggdXNh
YmlsaXR5CmNvbmZpZ3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0
aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBzeXMv
YnNkdHR5Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0g
MQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgoj
aW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBF
U19ICiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMg
aW5jbHVkZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxz
dGRsaWIuaD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMg
IGluY2x1ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlm
ICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBl
bmRpZgojIGluY2x1ZGUgPHN0cmluZy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5j
bHVkZSA8c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGlu
dHR5cGVzLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4K
IyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2Vu
ZGlmCiNpbmNsdWRlIDxzeXMvYnNkdHR5Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvYnNkdHR5LmggcHJlc2VuY2UKY29uZmlndXJlOjQ4
MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDgxMzogc3lzL2JzZHR0eS5oOiBObyBz
dWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBm
YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZk
ZWZzLmgiCiNpbmNsdWRlIDxzeXMvYnNkdHR5Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Igc3lzL2JzZHR0eS5oCmNvbmZpZ3VyZTo0ODEy
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvY2RlZnMuaCB1c2FiaWxp
dHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X
bm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApj
b25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAK
Y29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMv
Y2RlZnMuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZp
Z3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyBmb3Igc3lzL2NkZWZzLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvbW1hbi5oIHVzYWJpbGl0eQpjb25maWd1cmU6
NDgxMjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEy
OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgx
MjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHN5cy9tbWFuLmggcHJlc2Vu
Y2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDgxMjogJD8g
PSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcg
Zm9yIHN5cy9tbWFuLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEy
OiBjaGVja2luZyBzeXMvc2VsZWN0LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODEyOiBnY2MgLWMg
LWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0
LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBzeXMvc2VsZWN0Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg
PHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBFU19ICiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNl
bmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNp
ZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxzdGRsaWIuaD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4K
I2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMgIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNl
bmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllf
SAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBlbmRpZgojIGluY2x1ZGUgPHN0cmluZy5oPgojZW5k
aWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5jbHVkZSA8c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhB
VkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGludHR5cGVzLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJ
TlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfVU5JU1RE
X0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2VuZGlmCiNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CmNv
bmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvc2Vs
ZWN0LmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1
cmU6NDgxMzogc3lzL3NlbGVjdC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3Vy
ZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIg
ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+
CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Ig
c3lzL3NlbGVjdC5oCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBj
aGVja2luZyBmb3Igc3lzL3N0YXQuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjQ4MTI6IGNoZWNraW5nIHN5cy9zdHJvcHRzLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0ODEy
OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQg
IGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiBzeXMvc3Ryb3B0cy5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi
CiNpbmNsdWRlIDxzdGRpby5oPgojaWYgSEFWRV9TWVNfVFlQRVNfSAojIGluY2x1ZGUgPHN5cy90
eXBlcy5oPgojZW5kaWYKI2lmIEhBVkVfU1lTX1NUQVRfSAojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+
CiNlbmRpZgojaWYgU1REQ19IRUFERVJTCiMgaW5jbHVkZSA8c3RkbGliLmg+CiMgaW5jbHVkZSA8
c3RkZGVmLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERMSUJfSAojICBpbmNsdWRlIDxzdGRsaWIuaD4K
IyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HX0gKIyBpZiAhU1REQ19IRUFERVJTICYmIEhB
VkVfTUVNT1JZX0gKIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CiMgZW5kaWYKIyBpbmNsdWRlIDxzdHJp
bmcuaD4KI2VuZGlmCiNpZiBIQVZFX1NUUklOR1NfSAojIGluY2x1ZGUgPHN0cmluZ3MuaD4KI2Vu
ZGlmCiNpZiBIQVZFX0lOVFRZUEVTX0gKIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgojZWxzZQojIGlm
IEhBVkVfU1RESU5UX0gKIyAgaW5jbHVkZSA8c3RkaW50Lmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBI
QVZFX1VOSVNURF9ICiMgaW5jbHVkZSA8dW5pc3RkLmg+CiNlbmRpZgojaW5jbHVkZSA8c3lzL3N0
cm9wdHMuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNr
aW5nIHN5cy9zdHJvcHRzLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRl
c3QuYwpjb25maWd1cmU6NDgxMzogc3lzL3N0cm9wdHMuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVj
dG9yeQpjb25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
OgojbGluZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8
c3lzL3N0cm9wdHMuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6
IGNoZWNraW5nIGZvciBzeXMvc3Ryb3B0cy5oCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvc3lzbWFjcm9zLmggdXNhYmlsaXR5CmNvbmZpZ3Vy
ZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlh
bGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4
MTI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0
ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgc3lzL3N5c21hY3Jvcy5o
IHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4
MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIGZvciBzeXMvc3lzbWFjcm9zLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo0ODEyOiBjaGVja2luZyBzeXMvdGltZS5oIHVzYWJpbGl0eQpjb25maWd1cmU6NDgx
MjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVk
ICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiB0
ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjog
cmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHN5cy90aW1lLmggcHJlc2VuY2UK
Y29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NDgxMjogJD8gPSAw
CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgZm9y
IHN5cy90aW1lLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBj
aGVja2luZyBzeXMvdW4uaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUK
Y29uZmlndXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5v
CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZTo0ODEyOiBjaGVja2luZyBzeXMvdW4uaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2Nj
IC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Igc3lzL3VuLmgKY29uZmlndXJl
OjQ4MTI6IHJlc3VsdDogCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyB0aW1lLmggdXNhYmlsaXR5
CmNvbmZpZ3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25v
LXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29u
ZmlndXJlOjQ4MTI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNv
bmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgdGltZS5o
IHByZXNlbmNlCmNvbmZpZ3VyZTo0ODEyOiBnY2MgLUUgIGNvbmZ0ZXN0LmMKY29uZmlndXJlOjQ4
MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIGZvciB0aW1lLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyB0dHllbnQuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAt
ZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQ4NDc6IHR0eWVudC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5
CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs
aW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCiNpbmNsdWRlIDxzdGRp
by5oPgojaWYgSEFWRV9TWVNfVFlQRVNfSAojIGluY2x1ZGUgPHN5cy90eXBlcy5oPgojZW5kaWYK
I2lmIEhBVkVfU1lTX1NUQVRfSAojIGluY2x1ZGUgPHN5cy9zdGF0Lmg+CiNlbmRpZgojaWYgU1RE
Q19IRUFERVJTCiMgaW5jbHVkZSA8c3RkbGliLmg+CiMgaW5jbHVkZSA8c3RkZGVmLmg+CiNlbHNl
CiMgaWYgSEFWRV9TVERMSUJfSAojICBpbmNsdWRlIDxzdGRsaWIuaD4KIyBlbmRpZgojZW5kaWYK
I2lmIEhBVkVfU1RSSU5HX0gKIyBpZiAhU1REQ19IRUFERVJTICYmIEhBVkVfTUVNT1JZX0gKIyAg
aW5jbHVkZSA8bWVtb3J5Lmg+CiMgZW5kaWYKIyBpbmNsdWRlIDxzdHJpbmcuaD4KI2VuZGlmCiNp
ZiBIQVZFX1NUUklOR1NfSAojIGluY2x1ZGUgPHN0cmluZ3MuaD4KI2VuZGlmCiNpZiBIQVZFX0lO
VFRZUEVTX0gKIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgojZWxzZQojIGlmIEhBVkVfU1RESU5UX0gK
IyAgaW5jbHVkZSA8c3RkaW50Lmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1VOSVNURF9ICiMg
aW5jbHVkZSA8dW5pc3RkLmg+CiNlbmRpZgojaW5jbHVkZSA8dHR5ZW50Lmg+CmNvbmZpZ3VyZTo0
ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyB0dHllbnQuaCBwcmVzZW5j
ZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEzOiB0dHll
bnQuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1cmUiCiNpbmNs
dWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8dHR5ZW50Lmg+CmNvbmZpZ3VyZTo0ODEyOiByZXN1
bHQ6IG5vCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3IgdHR5ZW50LmgKY29uZmlndXJlOjQ4
MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHVzZXJzZWMuaCB1c2FiaWxp
dHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X
bm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjQ4NDc6IHVzZXJzZWMu
aDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRl
ICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8uaD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBp
bmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNpZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRl
IDxzeXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENfSEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5o
PgojIGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQojIGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVk
ZSA8c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNpZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENf
SEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGluY2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMg
aW5jbHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYgSEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxz
dHJpbmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRUWVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMu
aD4KI2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMgIGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlm
CiNlbmRpZgojaWYgSEFWRV9VTklTVERfSAojIGluY2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKI2lu
Y2x1ZGUgPHVzZXJzZWMuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4
MTI6IGNoZWNraW5nIHVzZXJzZWMuaCBwcmVzZW5jZQpjb25maWd1cmU6NDgxMjogZ2NjIC1FICBj
b25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEzOiB1c2Vyc2VjLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJl
Y3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg
PHVzZXJzZWMuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNo
ZWNraW5nIGZvciB1c2Vyc2VjLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJl
OjQ4MTI6IGNoZWNraW5nIHV0aWwuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAt
ZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOjQ4NDc6IHV0aWwuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpj
b25maWd1cmU6NDgxMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGlu
ZSA0ODEyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8c3RkaW8u
aD4KI2lmIEhBVkVfU1lTX1RZUEVTX0gKIyBpbmNsdWRlIDxzeXMvdHlwZXMuaD4KI2VuZGlmCiNp
ZiBIQVZFX1NZU19TVEFUX0gKIyBpbmNsdWRlIDxzeXMvc3RhdC5oPgojZW5kaWYKI2lmIFNURENf
SEVBREVSUwojIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGluY2x1ZGUgPHN0ZGRlZi5oPgojZWxzZQoj
IGlmIEhBVkVfU1RETElCX0gKIyAgaW5jbHVkZSA8c3RkbGliLmg+CiMgZW5kaWYKI2VuZGlmCiNp
ZiBIQVZFX1NUUklOR19ICiMgaWYgIVNURENfSEVBREVSUyAmJiBIQVZFX01FTU9SWV9ICiMgIGlu
Y2x1ZGUgPG1lbW9yeS5oPgojIGVuZGlmCiMgaW5jbHVkZSA8c3RyaW5nLmg+CiNlbmRpZgojaWYg
SEFWRV9TVFJJTkdTX0gKIyBpbmNsdWRlIDxzdHJpbmdzLmg+CiNlbmRpZgojaWYgSEFWRV9JTlRU
WVBFU19ICiMgaW5jbHVkZSA8aW50dHlwZXMuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURElOVF9ICiMg
IGluY2x1ZGUgPHN0ZGludC5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9VTklTVERfSAojIGlu
Y2x1ZGUgPHVuaXN0ZC5oPgojZW5kaWYKI2luY2x1ZGUgPHV0aWwuaD4KY29uZmlndXJlOjQ4MTI6
IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHV0aWwuaCBwcmVzZW5jZQpjb25m
aWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEzOiB1dGlsLmg6IE5v
IHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjQ4MTI6ICQ/ID0gMQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNDgxMiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u
ZmRlZnMuaCIKI2luY2x1ZGUgPHV0aWwuaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciB1dGlsLmgKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDog
bm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHV0aW1lLmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo0
ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6
ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6
IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEy
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgdXRpbWUuaCBwcmVzZW5jZQpj
b25maWd1cmU6NDgxMjogZ2NjIC1FICBjb25mdGVzdC5jCmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDAK
Y29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0ODEyOiBjaGVja2luZyBmb3Ig
dXRpbWUuaApjb25maWd1cmU6NDgxMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNr
aW5nIHV0bXAuaCB1c2FiaWxpdHkKY29uZmlndXJlOjQ4MTI6IGdjYyAtYyAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjQ4MTI6ICQ/ID0gMApjb25maWd1cmU6NDgxMjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZp
Z3VyZTo0ODEyOiAkPyA9IDAKY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0
ODEyOiBjaGVja2luZyB1dG1wLmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29u
ZnRlc3QuYwpjb25maWd1cmU6NDgxMjogJD8gPSAwCmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IHll
cwpjb25maWd1cmU6NDgxMjogY2hlY2tpbmcgZm9yIHV0bXAuaApjb25maWd1cmU6NDgxMjogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIHV0bXB4LmggdXNhYmlsaXR5CmNvbmZp
Z3VyZTo0ODEyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo0ODQ3OiB1dG1weC5oOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo0ODEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDQ4MTIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZz
LmgiCiNpbmNsdWRlIDxzdGRpby5oPgojaWYgSEFWRV9TWVNfVFlQRVNfSAojIGluY2x1ZGUgPHN5
cy90eXBlcy5oPgojZW5kaWYKI2lmIEhBVkVfU1lTX1NUQVRfSAojIGluY2x1ZGUgPHN5cy9zdGF0
Lmg+CiNlbmRpZgojaWYgU1REQ19IRUFERVJTCiMgaW5jbHVkZSA8c3RkbGliLmg+CiMgaW5jbHVk
ZSA8c3RkZGVmLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERMSUJfSAojICBpbmNsdWRlIDxzdGRsaWIu
aD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HX0gKIyBpZiAhU1REQ19IRUFERVJTICYm
IEhBVkVfTUVNT1JZX0gKIyAgaW5jbHVkZSA8bWVtb3J5Lmg+CiMgZW5kaWYKIyBpbmNsdWRlIDxz
dHJpbmcuaD4KI2VuZGlmCiNpZiBIQVZFX1NUUklOR1NfSAojIGluY2x1ZGUgPHN0cmluZ3MuaD4K
I2VuZGlmCiNpZiBIQVZFX0lOVFRZUEVTX0gKIyBpbmNsdWRlIDxpbnR0eXBlcy5oPgojZWxzZQoj
IGlmIEhBVkVfU1RESU5UX0gKIyAgaW5jbHVkZSA8c3RkaW50Lmg+CiMgZW5kaWYKI2VuZGlmCiNp
ZiBIQVZFX1VOSVNURF9ICiMgaW5jbHVkZSA8dW5pc3RkLmg+CiNlbmRpZgojaW5jbHVkZSA8dXRt
cHguaD4KY29uZmlndXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5n
IHV0bXB4LmggcHJlc2VuY2UKY29uZmlndXJlOjQ4MTI6IGdjYyAtRSAgY29uZnRlc3QuYwpjb25m
aWd1cmU6NDgxMzogdXRtcHguaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6
NDgxMjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA0ODEyICJj
b25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgojaW5jbHVkZSA8dXRtcHguaD4KY29uZmln
dXJlOjQ4MTI6IHJlc3VsdDogbm8KY29uZmlndXJlOjQ4MTI6IGNoZWNraW5nIGZvciB1dG1weC5o
CmNvbmZpZ3VyZTo0ODEyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo0ODE2OiBjaGVja2luZyBmb3Ig
eXBfbWF0Y2gKY29uZmlndXJlOjQ4Nzc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdw
b2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgID4mNQpjb25maWd1
cmU6NDg3NzogJD8gPSAwCmNvbmZpZ3VyZTo0ODc3OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3Vy
ZTo0ODc3OiAkPyA9IDAKY29uZmlndXJlOjQ4Nzg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo0OTUw
OiBjaGVja2luZyBmb3Igc2V0c29ja29wdApjb25maWd1cmU6NTAxMTogZ2NjIC1vIGNvbmZ0ZXN0
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRl
c3QuYyAgPiY1CmNvbmZpZ3VyZTo1MDExOiAkPyA9IDAKY29uZmlndXJlOjUwMTE6IHRlc3QgLXMg
Y29uZnRlc3QKY29uZmlndXJlOjUwMTE6ICQ/ID0gMApjb25maWd1cmU6NTAxMjogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjUxNDk6IGNoZWNraW5nIGZvciBnZXRzcG5hbQpjb25maWd1cmU6NTIxMDog
Z2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRp
YWxpemVkICAgY29uZnRlc3QuYyAgPiY1CmNvbmZpZ3VyZTo1MjEwOiAkPyA9IDAKY29uZmlndXJl
OjUyMTA6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjUyMTA6ICQ/ID0gMApjb25maWd1cmU6
NTIxMTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjUzMjY6IGNoZWNraW5nIGZvciBkZWZsYXRlIGlu
IC1segpjb25maWd1cmU6NTM3ODogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbHogICA+JjUKY29uZmln
dXJlOjUzNzg6ICQ/ID0gMApjb25maWd1cmU6NTM3ODogdGVzdCAtcyBjb25mdGVzdApjb25maWd1
cmU6NTM3ODogJD8gPSAwCmNvbmZpZ3VyZTo1Mzc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NTM5
NTogY2hlY2tpbmcgZm9yIHN0cmNhc2VjbXAKY29uZmlndXJlOjU0NTY6IGdjYyAtbyBjb25mdGVz
dCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0
ZXN0LmMgLWx6ICA+JjUKY29uZmlndXJlOjU0NTY6ICQ/ID0gMApjb25maWd1cmU6NTQ1NjogdGVz
dCAtcyBjb25mdGVzdApjb25maWd1cmU6NTQ1NjogJD8gPSAwCmNvbmZpZ3VyZTo1NDU3OiByZXN1
bHQ6IHllcwpjb25maWd1cmU6NTUyNDogY2hlY2tpbmcgZm9yIHV0aW1lcwpjb25maWd1cmU6NTU4
NTogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmlu
aXRpYWxpemVkICAgY29uZnRlc3QuYyAtbHogID4mNQpjb25maWd1cmU6NTU4NTogJD8gPSAwCmNv
bmZpZ3VyZTo1NTg1OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo1NTg1OiAkPyA9IDAKY29u
ZmlndXJlOjU1ODY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo1NzY2OiBjaGVja2luZyBsaWJ1dGls
LmggdXNhYmlsaXR5CmNvbmZpZ3VyZTo1NzY2OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo1ODAx
OiBsaWJ1dGlsLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjU3NjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNTc2NiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUgPHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19U
WVBFU19ICiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNlbmRpZgojaWYgSEFWRV9TWVNfU1RBVF9I
CiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNpZiBTVERDX0hFQURFUlMKIyBpbmNsdWRl
IDxzdGRsaWIuaD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4KI2Vsc2UKIyBpZiBIQVZFX1NURExJQl9I
CiMgIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNlbmRpZgojaWYgSEFWRV9TVFJJTkdfSAoj
IGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllfSAojICBpbmNsdWRlIDxtZW1vcnkuaD4K
IyBlbmRpZgojIGluY2x1ZGUgPHN0cmluZy5oPgojZW5kaWYKI2lmIEhBVkVfU1RSSU5HU19ICiMg
aW5jbHVkZSA8c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhBVkVfSU5UVFlQRVNfSAojIGluY2x1ZGUg
PGludHR5cGVzLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJTlRfSAojICBpbmNsdWRlIDxzdGRpbnQu
aD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfVU5JU1REX0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4K
I2VuZGlmCiNpbmNsdWRlIDxsaWJ1dGlsLmg+CmNvbmZpZ3VyZTo1NzY2OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo1NzY2OiBjaGVja2luZyBsaWJ1dGlsLmggcHJlc2VuY2UKY29uZmlndXJlOjU3NjY6
IGdjYyAtRSAgY29uZnRlc3QuYwpjb25maWd1cmU6NTc2NzogbGlidXRpbC5oOiBObyBzdWNoIGZp
bGUgb3IgZGlyZWN0b3J5CmNvbmZpZ3VyZTo1NzY2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQg
cHJvZ3JhbSB3YXM6CiNsaW5lIDU3NjYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi
CiNpbmNsdWRlIDxsaWJ1dGlsLmg+CmNvbmZpZ3VyZTo1NzY2OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo1NzY2OiBjaGVja2luZyBmb3IgbGlidXRpbC5oCmNvbmZpZ3VyZTo1NzY2OiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo1NzY4OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIGxvZ2luCmNv
bmZpZ3VyZTo1ODY4OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0
aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1seiAgPiY1Ci90bXAvY2NhMjM5NDQx
Lm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjU4
ODY6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGxvZ2luJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQg
MSBleGl0IHN0YXR1cwpjb25maWd1cmU6NTg2ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHBy
b2dyYW0gd2FzOgojbGluZSA1ODY4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoK
LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
LiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KY2hhciBsb2dpbiAoKTsKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNw
bHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJl
dHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CmxvZ2luICgpOwogIDsKICByZXR1cm4gMDsK
fQpjb25maWd1cmU6NTg2ODogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXIt
YXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbHV0aWwgIC1seiAgPiY1Ci91
c3IvaTU4Ni1wYy1saW51eC1nbnVsaWJjMS9iaW4vbGQ6IGNhbm5vdCBvcGVuIC1sdXRpbDogTm8g
c3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1
cwpjb25maWd1cmU6NTg2ODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgoj
bGluZSA1ODY4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKLyogT3ZlcnJpZGUg
YW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVm
IF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50
IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhl
biBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBsb2dp
biAoKTsKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0
ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNl
bmRpZgppbnQKbWFpbiAoKQp7CmxvZ2luICgpOwogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6
NTg2ODogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11
bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAgLWx6ICA+JjUKY29uZmlndXJlOjU4Njg6
ICQ/ID0gMApjb25maWd1cmU6NTg2ODogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NTg2ODog
JD8gPSAwCmNvbmZpZ3VyZTo1ODY5OiByZXN1bHQ6IC1sYnNkCmNvbmZpZ3VyZTo1OTU1OiBjaGVj
a2luZyBmb3IgbG9nb3V0CmNvbmZpZ3VyZTo1OTU1OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1X
YWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNk
IC1seiAgPiY1CmNvbmZpZ3VyZTo1OTU1OiAkPyA9IDAKY29uZmlndXJlOjU5NTU6IHRlc3QgLXMg
Y29uZnRlc3QKY29uZmlndXJlOjU5NTU6ICQ/ID0gMApjb25maWd1cmU6NTk1NTogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjU5NTU6IGNoZWNraW5nIGZvciB1cGR3dG1wCmNvbmZpZ3VyZTo1OTU1OiBn
Y2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlh
bGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQwMTMxLm86IEluIGZ1
bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjU5ODM6IHVuZGVm
aW5lZCByZWZlcmVuY2UgdG8gYHVwZHd0bXAnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQg
c3RhdHVzCmNvbmZpZ3VyZTo1OTU1OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3
YXM6CiNsaW5lIDU5NTUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3Rl
bSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90
eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgdXBkd3RtcCAoKTsgYmVsb3cu
ICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHBy
b3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4g
IkMiCiNlbmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0
dXJuIHR5cGUgb2YgYSBnY2MyCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3Rv
dHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgdXBkd3RtcCAoKTsKY2hhciAoKmYpICgp
OwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJu
ICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRp
ZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVu
Y3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lT
LiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRp
bmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmlu
ZWQgKF9fc3R1Yl91cGR3dG1wKSB8fCBkZWZpbmVkIChfX3N0dWJfX191cGR3dG1wKQpjaG9rZSBt
ZQojZWxzZQpmID0gdXBkd3RtcDsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6
NTk1NTogcmVzdWx0OiBubwpjb25maWd1cmU6NTk1NTogY2hlY2tpbmcgZm9yIGxvZ3d0bXAKY29u
ZmlndXJlOjU5NTU6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRo
IC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJl
OjU5NTU6ICQ/ID0gMApjb25maWd1cmU6NTk1NTogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6
NTk1NTogJD8gPSAwCmNvbmZpZ3VyZTo1OTU1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjA5Nzog
Y2hlY2tpbmcgZm9yIHN0cmZ0aW1lCmNvbmZpZ3VyZTo2MDk3OiBnY2MgLW8gY29uZnRlc3QgLWcg
LU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5j
IC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2MDk3OiAkPyA9IDAKY29uZmlndXJlOjYwOTc6IHRl
c3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjYwOTc6ICQ/ID0gMApjb25maWd1cmU6NjA5NzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjYxMDE6IGNoZWNraW5nIGZvciBHTE9CX0FMVERJUkZVTkMgc3Vw
cG9ydApjb25maWd1cmU6NjEyOTogcmVzdWx0OiBubwpjb25maWd1cmU6NjEzNDogY2hlY2tpbmcg
Zm9yIGdsX21hdGNoYyBmaWVsZCBpbiBnbG9iX3QKY29uZmlndXJlOjYxNjA6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjYxNjQ6IGNoZWNraW5nIHdoZXRoZXIgc3RydWN0IGRpcmVudCBhbGxvY2F0ZXMg
c3BhY2UgZm9yIGRfbmFtZQpjb25maWd1cmU6NjIwOTogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAt
V2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJz
ZCAtbHogID4mNQpjb25maWd1cmU6NjIwOTogJD8gPSAwCmNvbmZpZ3VyZTo2MjA5OiAuL2NvbmZ0
ZXN0CmNvbmZpZ3VyZTo2MjA5OiAkPyA9IDAKY29uZmlndXJlOjYyMDk6IHJlc3VsdDogeWVzCmNv
bmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgYXJjNHJhbmRvbQpjb25maWd1cmU6NjUyNjogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQovdG1wL2NjYTI0MTExMS5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBhcmM0cmFuZG9tJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0
IHN0YXR1cwpjb25maWd1cmU6NjUyNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgojbGluZSA2NTI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0
ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3Rv
dHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGFyYzRyYW5kb20gKCk7IGJl
bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0
ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGFyYzRyYW5kb20gKCk7CmNoYXIg
KCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAg
IGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsg
fQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMg
Zm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRo
IEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5n
IHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNp
ZiBkZWZpbmVkIChfX3N0dWJfYXJjNHJhbmRvbSkgfHwgZGVmaW5lZCAoX19zdHViX19fYXJjNHJh
bmRvbSkKY2hva2UgbWUKI2Vsc2UKZiA9IGFyYzRyYW5kb207CiNlbmRpZgoKICA7CiAgcmV0dXJu
IDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MjY6IGNoZWNraW5n
IGZvciBiNjRfbnRvcApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAt
bHogID4mNQovdG1wL2NjYTI0MTMwMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVu
c3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBiNjRfbnRv
cCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBiNjRfbnRvcCAoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+
Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJv
ci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNlbmRpZgovKiBXZSB1c2UgY2hh
ciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgIGJ1
aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4g
ICovCmNoYXIgYjY0X250b3AgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJ
TgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3
N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUg
R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l
bnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh
Y3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3Jt
YWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfYjY0X250b3ApIHx8
IGRlZmluZWQgKF9fc3R1Yl9fX2I2NF9udG9wKQpjaG9rZSBtZQojZWxzZQpmID0gYjY0X250b3A7
CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29u
ZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBiY29weQpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNv
bmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAg
Y29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJl
OjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgYmluZHJlc3Zw
b3J0X3NhCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9p
bnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1
Ci90bXAvY2NhMjQxNzQxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40
cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGJpbmRyZXN2cG9ydF9z
YScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBiaW5kcmVzdnBvcnRfc2EgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFz
c2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQg
YW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2Ug
dXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2Nj
MgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwg
YXBwbHkuICAqLwpjaGFyIGJpbmRyZXN2cG9ydF9zYSAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVm
IEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBl
bmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFp
biAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdo
aWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBm
dW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBf
XyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1
Yl9iaW5kcmVzdnBvcnRfc2EpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2JpbmRyZXN2cG9ydF9zYSkK
Y2hva2UgbWUKI2Vsc2UKZiA9IGJpbmRyZXN2cG9ydF9zYTsKI2VuZGlmCgogIDsKICByZXR1cm4g
MDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcg
Zm9yIGNsb2NrCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1X
cG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAg
PiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRl
c3QKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBmY2htb2QKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAg
IGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1
cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGZjaG93bgpj
b25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJp
dGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1
cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3Vy
ZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2
OiBjaGVja2luZyBmb3IgZnJlZWFkZHJpbmZvCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25m
dGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQyNjgxLm86IEluIGZ1bmN0aW9uIGBtYWlu
JzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYGZyZWVhZGRyaW5mbycKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMK
Y29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xp
bmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRl
ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAog
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBmcmVlYWRkcmluZm8gKCk7IGJlbG93LiAg
Ki8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90
b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJD
IgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy
biB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGZyZWVhZGRyaW5mbyAoKTsKY2hhciAoKmYp
ICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0
ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNl
bmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig
ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P
U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3Rh
cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRl
ZmluZWQgKF9fc3R1Yl9mcmVlYWRkcmluZm8pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2ZyZWVhZGRy
aW5mbykKY2hva2UgbWUKI2Vsc2UKZiA9IGZyZWVhZGRyaW5mbzsKI2VuZGlmCgogIDsKICByZXR1
cm4gMDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tp
bmcgZm9yIGZ1dGltZXMKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdh
bGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2Qg
LWx6ICA+JjUKL3RtcC9jY2EyNDI4NzEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3Bl
bnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgZnV0aW1l
cycKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBmdXRpbWVzICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4K
LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
LiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KY2hhciBmdXRpbWVzICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4K
IyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdf
RFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0
dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs
IG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX2Z1dGltZXMpIHx8IGRl
ZmluZWQgKF9fc3R1Yl9fX2Z1dGltZXMpCmNob2tlIG1lCiNlbHNlCmYgPSBmdXRpbWVzOwojZW5k
aWYKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3Vy
ZTo2NTI2OiBjaGVja2luZyBmb3IgZ2FpX3N0cmVycm9yCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8g
Y29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQg
ICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQzMDYxLm86IEluIGZ1bmN0aW9u
IGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCBy
ZWZlcmVuY2UgdG8gYGdhaV9zdHJlcnJvcicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz
dGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKI2xpbmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVt
IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5
cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnYWlfc3RyZXJyb3IgKCk7IGJl
bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0
ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGdhaV9zdHJlcnJvciAoKTsKY2hh
ciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAg
ICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAx
OyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdp
dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhp
bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K
I2lmIGRlZmluZWQgKF9fc3R1Yl9nYWlfc3RyZXJyb3IpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2dh
aV9zdHJlcnJvcikKY2hva2UgbWUKI2Vsc2UKZiA9IGdhaV9zdHJlcnJvcjsKI2VuZGlmCgogIDsK
ICByZXR1cm4gMDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjog
Y2hlY2tpbmcgZm9yIGdldGFkZHJpbmZvCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3Qg
LWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVz
dC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQzMjUxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoK
L3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug
dG8gYGdldGFkZHJpbmZvJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m
aWd1cmU6NjUyNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2
NTI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRv
IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldGFkZHJpbmZvICgpOyBiZWxvdy4gICovCiNp
bmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2Vu
ZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXRhZGRyaW5mbyAoKTsKY2hhciAoKmYpICgpOwoK
I2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJD
IgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgpp
bnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg
U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg
d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQg
KF9fc3R1Yl9nZXRhZGRyaW5mbykgfHwgZGVmaW5lZCAoX19zdHViX19fZ2V0YWRkcmluZm8pCmNo
b2tlIG1lCiNlbHNlCmYgPSBnZXRhZGRyaW5mbzsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpj
b25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGdl
dGN3ZApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpj
b25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNv
bmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo2NTI2OiBjaGVja2luZyBmb3IgZ2V0Z3JvdXBsaXN0CmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8g
Y29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQg
ICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQzNjkxLm86IEluIGZ1bmN0aW9u
IGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCBy
ZWZlcmVuY2UgdG8gYGdldGdyb3VwbGlzdCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBz
dGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKI2xpbmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVt
IGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5
cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBnZXRncm91cGxpc3QgKCk7IGJl
bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0
ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGdldGdyb3VwbGlzdCAoKTsKY2hh
ciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAg
ICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAx
OyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhp
cyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdp
dGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhp
bmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8K
I2lmIGRlZmluZWQgKF9fc3R1Yl9nZXRncm91cGxpc3QpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2dl
dGdyb3VwbGlzdCkKY2hva2UgbWUKI2Vsc2UKZiA9IGdldGdyb3VwbGlzdDsKI2VuZGlmCgogIDsK
ICByZXR1cm4gMDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjog
Y2hlY2tpbmcgZm9yIGdldG5hbWVpbmZvCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3Qg
LWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVz
dC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQzODgxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoK
L3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2Ug
dG8gYGdldG5hbWVpbmZvJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25m
aWd1cmU6NjUyNjogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2
NTI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRv
IGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3
aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGdldG5hbWVpbmZvICgpOyBiZWxvdy4gICovCiNp
bmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2Vu
ZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXRuYW1laW5mbyAoKTsKY2hhciAoKmYpICgpOwoK
I2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJD
IgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgpp
bnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg
U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg
d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQg
KF9fc3R1Yl9nZXRuYW1laW5mbykgfHwgZGVmaW5lZCAoX19zdHViX19fZ2V0bmFtZWluZm8pCmNo
b2tlIG1lCiNlbHNlCmYgPSBnZXRuYW1laW5mbzsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpj
b25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGdl
dG9wdApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpj
b25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNv
bmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZTo2NTI2OiBjaGVja2luZyBmb3IgZ2V0cmxpbWl0CmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29u
ZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBj
b25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJl
OjY1MjY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6
NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBnZXRydXNhZ2UK
Y29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFy
aXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmln
dXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1
cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUy
NjogY2hlY2tpbmcgZm9yIGdldHR0eWVudApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRl
c3QuYyAtbGJzZCAtbHogID4mNQovdG1wL2NjYTI0NDgyMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6
Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNl
IHRvIGBnZXR0dHllbnQnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZp
Z3VyZTo2NTI2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY1
MjYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8g
ZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdo
aWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0dHR5ZW50ICgpOyBiZWxvdy4gICovCiNpbmNs
dWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv
IGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlm
Ci8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXR0dHllbnQgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRl
ZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAg
ZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1h
aW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3
aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUg
ZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGgg
X18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0
dWJfZ2V0dHR5ZW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19nZXR0dHllbnQpCmNob2tlIG1lCiNl
bHNlCmYgPSBnZXR0dHllbnQ7CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjY1
MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBnbG9iCmNvbmZpZ3Vy
ZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25v
LXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2
OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6
ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNr
aW5nIGZvciBpbmV0X2F0b24KY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxi
c2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAt
cyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGluZXRfbnRvYQpjb25maWd1cmU6NjUy
NjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmlu
aXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8g
PSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9
IDAKY29uZmlndXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBm
b3IgaW5ldF9udG9wCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxs
IC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1s
eiAgPiY1Ci90bXAvY2NhMjQ1NzYxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5z
c2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGluZXRfbnRv
cCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBpbmV0X250b3AgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5o
PgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJy
b3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNo
YXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBi
dWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHku
ICAqLwpjaGFyIGluZXRfbnRvcCAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9N
QUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQg
Rjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRo
ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl
bWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl
IGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v
cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9pbmV0X250b3Ap
IHx8IGRlZmluZWQgKF9fc3R1Yl9fX2luZXRfbnRvcCkKY2hva2UgbWUKI2Vsc2UKZiA9IGluZXRf
bnRvcDsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBu
bwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGlubmV0Z3IKY29uZmlndXJlOjY1MjY6IGdj
YyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFs
aXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApj
b25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNv
bmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIGxv
Z2luX2dldGNhcGJvb2wKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdh
bGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2Qg
LWx6ICA+JjUKL3RtcC9jY2EyNDYyMDEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3Bl
bnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgbG9naW5f
Z2V0Y2FwYm9vbCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJl
OjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAi
Y29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZp
bmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2gg
Y2FuIGNvbmZsaWN0IHdpdGggY2hhciBsb2dpbl9nZXRjYXBib29sICgpOyBiZWxvdy4gICovCiNp
bmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBl
IHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2Vu
ZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlw
ZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdv
dWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBsb2dpbl9nZXRjYXBib29sICgpOwpjaGFyICgqZikg
KCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRl
cm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2Vu
ZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBm
dW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9T
WVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFy
dGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVm
aW5lZCAoX19zdHViX2xvZ2luX2dldGNhcGJvb2wpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX2xvZ2lu
X2dldGNhcGJvb2wpCmNob2tlIG1lCiNlbHNlCmYgPSBsb2dpbl9nZXRjYXBib29sOwojZW5kaWYK
CiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2
NTI2OiBjaGVja2luZyBmb3IgbWQ1X2NyeXB0CmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25m
dGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjQ2MzkxLm86IEluIGZ1bmN0aW9uIGBtYWlu
JzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYG1kNV9jcnlwdCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29u
ZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg
NjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0
byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAg
d2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBtZDVfY3J5cHQgKCk7IGJlbG93LiAgKi8KI2lu
Y2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUg
dG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5k
aWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBl
IG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291
bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIG1kNV9jcnlwdCAoKTsKY2hhciAoKmYpICgpOwoKI2lm
ZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgoj
ICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQK
bWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25z
IHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29t
ZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0
aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9f
c3R1Yl9tZDVfY3J5cHQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX21kNV9jcnlwdCkKY2hva2UgbWUK
I2Vsc2UKZiA9IG1kNV9jcnlwdDsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6
NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIG1lbW1vdmUKY29u
ZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRo
IC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJl
OjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6
NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjog
Y2hlY2tpbmcgZm9yIG1rZHRlbXAKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAt
TzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMg
LWxic2QgLWx6ICA+JjUKL3RtcC9jY2EyNDY4NTEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9v
bHMvb3BlbnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBg
bWtkdGVtcCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1
MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29u
ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2Fu
IGNvbmZsaWN0IHdpdGggY2hhciBta2R0ZW1wICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3Nl
cnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFu
IGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVz
ZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIK
ICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFw
cGx5LiAgKi8KY2hhciBta2R0ZW1wICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1Z
X01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGlu
dCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyog
VGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1w
bGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBh
cmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUg
bm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX21rZHRlbXAp
IHx8IGRlZmluZWQgKF9fc3R1Yl9fX21rZHRlbXApCmNob2tlIG1lCiNlbHNlCmYgPSBta2R0ZW1w
OwojZW5kaWYKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgbW1hcApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNv
bmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAg
Y29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3Vy
ZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJl
OjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgbmdldGFkZHJp
bmZvCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90
bXAvY2NhMjQ3MjkxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEv
Y29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYG5nZXRhZGRyaW5mbycKY29s
bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJlIgojaW5j
bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv
cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
dGggY2hhciBuZ2V0YWRkcmluZm8gKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov
KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
ICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWls
dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq
LwpjaGFyIG5nZXRhZGRyaW5mbyAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9N
QUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQg
Rjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRo
ZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxl
bWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJl
IGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5v
cm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9uZ2V0YWRkcmlu
Zm8pIHx8IGRlZmluZWQgKF9fc3R1Yl9fX25nZXRhZGRyaW5mbykKY2hva2UgbWUKI2Vsc2UKZiA9
IG5nZXRhZGRyaW5mbzsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6NjUyNjog
cmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIG9wZW5wdHkKY29uZmlndXJl
OjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8t
dW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6
ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjog
JD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tp
bmcgZm9yIG9nZXRhZGRyaW5mbwpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAt
bGJzZCAtbHogID4mNQovdG1wL2NjYTI0NzczMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29s
cy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBv
Z2V0YWRkcmluZm8nCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3Vy
ZTo2NTI2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY1MjYg
ImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVm
aW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNo
IGNhbiBjb25mbGljdCB3aXRoIGNoYXIgb2dldGFkZHJpbmZvICgpOyBiZWxvdy4gICovCiNpbmNs
dWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRv
IGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlm
Ci8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBv
ZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxk
IHN0aWxsIGFwcGx5LiAgKi8KY2hhciBvZ2V0YWRkcmluZm8gKCk7CmNoYXIgKCpmKSAoKTsKCiNp
ZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIK
IyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50
Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u
cyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv
bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp
dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChf
X3N0dWJfb2dldGFkZHJpbmZvKSB8fCBkZWZpbmVkIChfX3N0dWJfX19vZ2V0YWRkcmluZm8pCmNo
b2tlIG1lCiNlbHNlCmYgPSBvZ2V0YWRkcmluZm87CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0K
Y29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBy
ZWFkcGFzc3BocmFzZQpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAt
bHogID4mNQovdG1wL2NjYTI0NzkyMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVu
c3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGByZWFkcGFz
c3BocmFzZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1
MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29u
ZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUg
X19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2Fu
IGNvbmZsaWN0IHdpdGggY2hhciByZWFkcGFzc3BocmFzZSAoKTsgYmVsb3cuICAqLwojaW5jbHVk
ZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBh
dm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNlbmRpZgov
KiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2Yg
YSBnY2MyCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBz
dGlsbCBhcHBseS4gICovCmNoYXIgcmVhZHBhc3NwaHJhc2UgKCk7CmNoYXIgKCpmKSAoKTsKCiNp
ZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIK
IyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50
Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9u
cyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNv
bWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdp
dGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChf
X3N0dWJfcmVhZHBhc3NwaHJhc2UpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3JlYWRwYXNzcGhyYXNl
KQpjaG9rZSBtZQojZWxzZQpmID0gcmVhZHBhc3NwaHJhc2U7CiNlbmRpZgoKICA7CiAgcmV0dXJu
IDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MjY6IGNoZWNraW5n
IGZvciByZWFscGF0aApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAt
bHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNv
bmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3VsdDogeWVz
CmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgcmVjdm1zZwpjb25maWd1cmU6NjUyNjogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNv
bmZpZ3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29u
ZmlndXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgcnJl
c3Zwb3J0X2FmCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1X
cG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAg
PiY1Ci90bXAvY2NhMjQ4NjExLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gt
My40cDEvY29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHJyZXN2cG9ydF9h
ZicKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJl
IgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHVi
IG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZs
aWN0IHdpdGggY2hhciBycmVzdnBvcnRfYWYgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2Vy
dC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4g
ZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNl
IGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgog
ICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBw
bHkuICAqLwpjaGFyIHJyZXN2cG9ydF9hZiAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVmIEY3N19E
VU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgog
ICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7
Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0
IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlv
bnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQg
dGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9ycmVz
dnBvcnRfYWYpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3JyZXN2cG9ydF9hZikKY2hva2UgbWUKI2Vs
c2UKZiA9IHJyZXN2cG9ydF9hZjsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6
NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHNlbmRtc2cKY29u
ZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRo
IC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJl
OjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6
NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjog
Y2hlY2tpbmcgZm9yIHNldGR0YWJsZXNpemUKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVz
dCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0
ZXN0LmMgLWxic2QgLWx6ICA+JjUKL3RtcC9jY2EyNDkwNTEubzogSW4gZnVuY3Rpb24gYG1haW4n
OgovdG9vbHMvb3BlbnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5j
ZSB0byBgc2V0ZHRhYmxlc2l6ZScKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMK
Y29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xp
bmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRl
ciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAog
ICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzZXRkdGFibGVzaXplICgpOyBiZWxvdy4g
ICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAi
QyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90
eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzZXRkdGFibGVzaXplICgpOwpjaGFyICgq
ZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBl
eHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0K
I2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZv
ciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBF
Tk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBz
dGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYg
ZGVmaW5lZCAoX19zdHViX3NldGR0YWJsZXNpemUpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3NldGR0
YWJsZXNpemUpCmNob2tlIG1lCiNlbHNlCmYgPSBzZXRkdGFibGVzaXplOwojZW5kaWYKCiAgOwog
IHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTI2OiBj
aGVja2luZyBmb3Igc2V0ZWdpZApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAt
bGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0
IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3Igc2V0ZW52CmNvbmZpZ3VyZTo2NTI2
OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9
IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6ICQ/ID0g
MApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZv
ciBzZXRldWlkCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1X
cG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAg
PiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRl
c3QKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29u
ZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBzZXRncm91cHMKY29uZmlndXJlOjY1MjY6IGdjYyAt
byBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXpl
ZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25m
aWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZp
Z3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHNldGxv
Z2luCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90
bXAvY2NhMjUwMjQxLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEv
Y29uZmlndXJlOjY1NTQ6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNldGxvZ2luJwpjb2xsZWN0
MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjUyNjogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2NTI2ICJjb25maWd1cmUiCiNpbmNsdWRl
ICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFu
ZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBj
aGFyIHNldGxvZ2luICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJp
ZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lm
ZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2Ug
aW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQg
dGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBz
ZXRsb2dpbiAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVm
IF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01B
SU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJy
YXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRv
IGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5h
bWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlz
IGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9zZXRsb2dpbikgfHwgZGVmaW5lZCAo
X19zdHViX19fc2V0bG9naW4pCmNob2tlIG1lCiNlbHNlCmYgPSBzZXRsb2dpbjsKI2VuZGlmCgog
IDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUy
NjogY2hlY2tpbmcgZm9yIHNldHByb2N0aXRsZQpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0
ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29u
ZnRlc3QuYyAtbGJzZCAtbHogID4mNQovdG1wL2NjYTI1MDQzMS5vOiBJbiBmdW5jdGlvbiBgbWFp
bic6Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJl
bmNlIHRvIGBzZXRwcm9jdGl0bGUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVz
CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs
aW5lIDY1MjYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFk
ZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywK
ICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc2V0cHJvY3RpdGxlICgpOyBiZWxvdy4g
ICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAi
QyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90
eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzZXRwcm9jdGl0bGUgKCk7CmNoYXIgKCpm
KSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4
dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQoj
ZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9y
IGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVO
T1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0
YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBk
ZWZpbmVkIChfX3N0dWJfc2V0cHJvY3RpdGxlKSB8fCBkZWZpbmVkIChfX3N0dWJfX19zZXRwcm9j
dGl0bGUpCmNob2tlIG1lCiNlbHNlCmYgPSBzZXRwcm9jdGl0bGU7CiNlbmRpZgoKICA7CiAgcmV0
dXJuIDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJlOjY1MjY6IGNoZWNr
aW5nIGZvciBzZXRyZXNnaWQKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxi
c2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAt
cyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHNldHJldWlkCmNvbmZpZ3VyZTo2NTI2
OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9
IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6ICQ/ID0g
MApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZv
ciBzZXRybGltaXQKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6
ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25m
dGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHNldHNpZApjb25maWd1cmU6NjUyNjogZ2NjIC1v
IGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVk
ICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZp
Z3VyZTo2NTI2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmln
dXJlOjY1MjY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3Igc2V0cGNy
ZWQKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVy
LWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKL3Rt
cC9jY2EyNTE2MjEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3BlbnNzaC0zLjRwMS9j
b25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2V0cGNyZWQnCmNvbGxlY3Qy
OiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDEKY29uZmln
dXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDY1MjYgImNvbmZpZ3VyZSIKI2luY2x1ZGUg
ImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5k
IGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNo
YXIgc2V0cGNyZWQgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlk
ZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZk
ZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBp
bnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0
aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNl
dHBjcmVkICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYg
X19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJ
TigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBDIGxpYnJh
cnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8g
YWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFt
ZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMg
YW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3NldHBjcmVkKSB8fCBkZWZpbmVkIChf
X3N0dWJfX19zZXRwY3JlZCkKY2hva2UgbWUKI2Vsc2UKZiA9IHNldHBjcmVkOwojZW5kaWYKCiAg
OwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTI2
OiBjaGVja2luZyBmb3Igc2V0dmJ1Zgpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1n
IC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3Qu
YyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0
ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3Igc2lnYWN0aW9uCmNvbmZpZ3Vy
ZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25v
LXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2
OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6
ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNr
aW5nIGZvciBzaWd2ZWMKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdh
bGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2Qg
LWx6ICA+JjUKL3RtcC9jY2EyNTIzMTEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3Bl
bnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc2lndmVj
Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjUyNjogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2NTI2ICJjb25maWd1cmUi
CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIHNpZ3ZlYyAoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8q
IE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4g
ICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNlbmRpZgovKiBXZSB1c2UgY2hhciBi
ZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgIGJ1aWx0
aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICov
CmNoYXIgc2lndmVjICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAg
aWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVN
TVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBD
IGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwog
ICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFs
bHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5h
bWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3NpZ3ZlYykgfHwgZGVmaW5l
ZCAoX19zdHViX19fc2lndmVjKQpjaG9rZSBtZQojZWxzZQpmID0gc2lndmVjOwojZW5kaWYKCiAg
OwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTI2
OiBjaGVja2luZyBmb3Igc25wcmludGYKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAt
ZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0
LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjog
dGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHNvY2tldHBhaXIKY29uZmln
dXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X
bm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1
MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUy
NjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hl
Y2tpbmcgZm9yIHN0cmVycm9yCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8y
IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1s
YnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3Qg
LXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciBzdHJsY2F0CmNvbmZpZ3VyZTo2NTI2
OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjUzMjUxLm86IElu
IGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjY1NTQ6IHVu
ZGVmaW5lZCByZWZlcmVuY2UgdG8gYHN0cmxjYXQnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4
aXQgc3RhdHVzCmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3Jh
bSB3YXM6CiNsaW5lIDY1MjYgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5
c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJv
dG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgc3RybGNhdCAoKTsgYmVs
b3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFs
IHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRl
cm4gIkMiCiNlbmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUg
cmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHBy
b3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgc3RybGNhdCAoKTsKY2hhciAoKmYp
ICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0
ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNl
bmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3Ig
ZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5P
U1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3Rh
cnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRl
ZmluZWQgKF9fc3R1Yl9zdHJsY2F0KSB8fCBkZWZpbmVkIChfX3N0dWJfX19zdHJsY2F0KQpjaG9r
ZSBtZQojZWxzZQpmID0gc3RybGNhdDsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1
cmU6NjUyNjogcmVzdWx0OiBubwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHN0cmxjcHkK
Y29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFy
aXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKL3RtcC9j
Y2EyNTM0NDEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3BlbnNzaC0zLjRwMS9jb25m
aWd1cmU6NjU1NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgc3RybGNweScKY29sbGVjdDI6IGxk
IHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6
IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29u
ZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9w
ZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBz
dHJsY3B5ICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55
IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9f
Y3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1p
Z2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBp
dHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBzdHJsY3B5
ICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1
c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsg
cmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVm
aW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlz
IGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAg
IHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxp
YXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3N0cmxjcHkpIHx8IGRlZmluZWQgKF9fc3R1Yl9f
X3N0cmxjcHkpCmNob2tlIG1lCiNlbHNlCmYgPSBzdHJsY3B5OwojZW5kaWYKCiAgOwogIHJldHVy
biAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2lu
ZyBmb3Igc3RybW9kZQpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAt
bHogID4mNQovdG1wL2NjYTI1MzYzMS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVu
c3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBzdHJtb2Rl
Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjUyNjogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2NTI2ICJjb25maWd1cmUi
CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIHN0cm1vZGUgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov
KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
ICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWls
dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq
LwpjaGFyIHN0cm1vZGUgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgoj
ICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19E
VU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05V
IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz
CiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1
YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg
bmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfc3RybW9kZSkgfHwgZGVm
aW5lZCAoX19zdHViX19fc3RybW9kZSkKY2hva2UgbWUKI2Vsc2UKZiA9IHN0cm1vZGU7CiNlbmRp
ZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJl
OjY1MjY6IGNoZWNraW5nIGZvciBzdHJzZXAKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVz
dCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0
ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUy
NjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIHN5c2NvbmYKY29uZmln
dXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1X
bm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1
MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUy
NjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hl
Y2tpbmcgZm9yIHRjZ2V0cGdycApjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAt
bGJzZCAtbHogID4mNQpjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiB0ZXN0
IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2luZyBmb3IgdHJ1bmNhdGUKY29uZmlndXJlOjY1
MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8g
PSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcg
Zm9yIHV0aW1lcwpjb25maWd1cmU6NjUyNjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNo
ZWNraW5nIGZvciB2aGFuZ3VwCmNvbmZpZ3VyZTo2NTI2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8y
IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1s
YnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTI2OiAkPyA9IDAKY29uZmlndXJlOjY1MjY6IHRlc3Qg
LXMgY29uZnRlc3QKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjY1MjY6IGNoZWNraW5nIGZvciB2c25wcmludGYKY29uZmlndXJlOjY1
MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/
ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NjUyNjogJD8g
PSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NjUyNjogY2hlY2tpbmcg
Zm9yIHdhaXRwaWQKY29uZmlndXJlOjY1MjY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6
ICA+JjUKY29uZmlndXJlOjY1MjY6ICQ/ID0gMApjb25maWd1cmU6NjUyNjogdGVzdCAtcyBjb25m
dGVzdApjb25maWd1cmU6NjUyNjogJD8gPSAwCmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NjUyNjogY2hlY2tpbmcgZm9yIF9fYjY0X250b3AKY29uZmlndXJlOjY1MjY6IGdj
YyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFs
aXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKL3RtcC9jY2EyNTU2NzEubzogSW4gZnVu
Y3Rpb24gYG1haW4nOgovdG9vbHMvb3BlbnNzaC0zLjRwMS9jb25maWd1cmU6NjU1NDogdW5kZWZp
bmVkIHJlZmVyZW5jZSB0byBgX19iNjRfbnRvcCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhp
dCBzdGF0dXMKY29uZmlndXJlOjY1MjY6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgNjUyNiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90
b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBfX2I2NF9udG9wICgpOyBi
ZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJu
YWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4
dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRo
ZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQg
cHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBfX2I2NF9udG9wICgpOwpjaGFy
ICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAg
ICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7
IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdOVSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlz
IGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0
aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0dWFsbHkgbmFtZWQKICAgIHNvbWV0aGlu
ZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFsIG5hbWUgaXMgYW4gYWxpYXMuICAqLwoj
aWYgZGVmaW5lZCAoX19zdHViX19fYjY0X250b3ApIHx8IGRlZmluZWQgKF9fc3R1Yl9fX19fYjY0
X250b3ApCmNob2tlIG1lCiNlbHNlCmYgPSBfX2I2NF9udG9wOwojZW5kaWYKCiAgOwogIHJldHVy
biAwOwp9CmNvbmZpZ3VyZTo2NTI2OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTo2NTI2OiBjaGVja2lu
ZyBmb3IgX2dldHB0eQpjb25maWd1cmU6NjUyNjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAt
bHogID4mNQovdG1wL2NjYTI1NTg2MS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVu
c3NoLTMuNHAxL2NvbmZpZ3VyZTo2NTU0OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBfZ2V0cHR5
Jwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0YXR1cwpjb25maWd1cmU6NjUyNjogJD8g
PSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSA2NTI2ICJjb25maWd1cmUi
CiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0gaGVhZGVyIHRvIGRlZmluZSBfX3N0dWIg
bWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlwZXMsCiAgICB3aGljaCBjYW4gY29uZmxp
Y3Qgd2l0aCBjaGFyIF9nZXRwdHkgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgov
KiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3Iu
ICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIg
YmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWls
dGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAq
LwpjaGFyIF9nZXRwdHkgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgoj
ICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19E
VU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05V
IEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRz
CiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1
YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwg
bmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfX2dldHB0eSkgfHwgZGVm
aW5lZCAoX19zdHViX19fX2dldHB0eSkKY2hva2UgbWUKI2Vsc2UKZiA9IF9nZXRwdHk7CiNlbmRp
ZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjY1MjY6IHJlc3VsdDogbm8KY29uZmlndXJl
OjY1ODQ6IGNoZWNraW5nIGZvciBtbWFwIGFub24gc2hhcmVkCmNvbmZpZ3VyZTo2NTg0OiBnY2Mg
LW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6
ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo2NTkxOiB3YXJuaW5nOiBy
ZXR1cm4tdHlwZSBkZWZhdWx0cyB0byBgaW50Jwpjb25maWd1cmU6NjU4NDogJD8gPSAwCmNvbmZp
Z3VyZTo2NTg0OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo2NTg0OiAkPyA9IDEKY29uZmlndXJlOiBw
cm9ncmFtIGV4aXRlZCB3aXRoIHN0YXR1cyAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
OgojbGluZSA2NTg0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUg
PHN0ZGlvLmg+CiNpbmNsdWRlIDxzeXMvbW1hbi5oPgojaWYgIWRlZmluZWQoTUFQX0FOT04pICYm
IGRlZmluZWQoTUFQX0FOT05ZTU9VUykKI2RlZmluZSBNQVBfQU5PTiBNQVBfQU5PTllNT1VTCiNl
bmRpZgptYWluKCkgeyBjaGFyICpwOwpwID0gKGNoYXIgKikgbW1hcChOVUxMLCAxMCwgUFJPVF9X
UklURXxQUk9UX1JFQUQsIE1BUF9BTk9OfE1BUF9TSEFSRUQsIC0xLCAwKTsKaWYgKHAgPT0gKGNo
YXIgKiktMSkKCWV4aXQoMSk7CmV4aXQoMCk7Cn0KCmNvbmZpZ3VyZTo2NTg0OiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo3MDE3OiBjaGVja2luZyBmb3IgZGlybmFtZQpjb25maWd1cmU6NzAxNzogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQovdG1wL2NjYTI1NjIzMS5vOiBJbiBmdW5j
dGlvbiBgbWFpbic6Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo3MDQ1OiB1bmRlZmlu
ZWQgcmVmZXJlbmNlIHRvIGBkaXJuYW1lJwpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0IHN0
YXR1cwpjb25maWd1cmU6NzAxNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
OgojbGluZSA3MDE3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgovKiBTeXN0ZW0g
aGVhZGVyIHRvIGRlZmluZSBfX3N0dWIgbWFjcm9zIGFuZCBob3BlZnVsbHkgZmV3IHByb3RvdHlw
ZXMsCiAgICB3aGljaCBjYW4gY29uZmxpY3Qgd2l0aCBjaGFyIGRpcm5hbWUgKCk7IGJlbG93LiAg
Ki8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90
b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJD
IgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVy
biB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5
cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIGRpcm5hbWUgKCk7CmNoYXIgKCpmKSAoKTsK
CiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAi
QyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYK
aW50Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0
aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4g
IFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5n
IHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVk
IChfX3N0dWJfZGlybmFtZSkgfHwgZGVmaW5lZCAoX19zdHViX19fZGlybmFtZSkKY2hva2UgbWUK
I2Vsc2UKZiA9IGRpcm5hbWU7CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjcw
MTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjcwMTc6IGNoZWNraW5nIGZvciBkaXJuYW1lIGluIC1s
Z2VuCmNvbmZpZ3VyZTo3MDE3OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sZ2VuICAtbGJzZCAtbHog
ID4mNQovdXNyL2k1ODYtcGMtbGludXgtZ251bGliYzEvYmluL2xkOiBjYW5ub3Qgb3BlbiAtbGdl
bjogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb2xsZWN0MjogbGQgcmV0dXJuZWQgMSBleGl0
IHN0YXR1cwpjb25maWd1cmU6NzAxNzogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0g
d2FzOgojbGluZSA3MDE3ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKLyogT3Zl
cnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8K
I2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1
c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBh
bmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hh
ciBkaXJuYW1lICgpOwojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMK
ICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJu
IDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKZGlybmFtZSAoKTsKICA7CiAgcmV0dXJuIDA7Cn0K
Y29uZmlndXJlOjcwMTc6IHJlc3VsdDogbm8KY29uZmlndXJlOjcwOTU6IGNoZWNraW5nIGZvciBn
ZXR0aW1lb2ZkYXkKY29uZmlndXJlOjcwOTU6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6
ICA+JjUKY29uZmlndXJlOjcwOTU6ICQ/ID0gMApjb25maWd1cmU6NzA5NTogdGVzdCAtcyBjb25m
dGVzdApjb25maWd1cmU6NzA5NTogJD8gPSAwCmNvbmZpZ3VyZTo3MDk1OiByZXN1bHQ6IHllcwpj
b25maWd1cmU6NzA5NTogY2hlY2tpbmcgZm9yIHRpbWUKY29uZmlndXJlOjcwOTU6IGdjYyAtbyBj
b25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAg
IGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjcwOTU6ICQ/ID0gMApjb25maWd1
cmU6NzA5NTogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NzA5NTogJD8gPSAwCmNvbmZpZ3Vy
ZTo3MDk1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzE3NjogY2hlY2tpbmcgZm9yIGVuZHV0ZW50
CmNvbmZpZ3VyZTo3MTc2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1h
cml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1CmNvbmZp
Z3VyZTo3MTc2OiAkPyA9IDAKY29uZmlndXJlOjcxNzY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmln
dXJlOjcxNzY6ICQ/ID0gMApjb25maWd1cmU6NzE3NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjcx
NzY6IGNoZWNraW5nIGZvciBnZXR1dGVudApjb25maWd1cmU6NzE3NjogZ2NjIC1vIGNvbmZ0ZXN0
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRl
c3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NzE3NjogJD8gPSAwCmNvbmZpZ3VyZTo3MTc2
OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo3MTc2OiAkPyA9IDAKY29uZmlndXJlOjcxNzY6
IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTc2OiBjaGVja2luZyBmb3IgZ2V0dXRpZApjb25maWd1
cmU6NzE3NjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdu
by11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NzE3
NjogJD8gPSAwCmNvbmZpZ3VyZTo3MTc2OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo3MTc2
OiAkPyA9IDAKY29uZmlndXJlOjcxNzY6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MTc2OiBjaGVj
a2luZyBmb3IgZ2V0dXRsaW5lCmNvbmZpZ3VyZTo3MTc2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8y
IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1s
YnNkIC1seiAgPiY1CmNvbmZpZ3VyZTo3MTc2OiAkPyA9IDAKY29uZmlndXJlOjcxNzY6IHRlc3Qg
LXMgY29uZnRlc3QKY29uZmlndXJlOjcxNzY6ICQ/ID0gMApjb25maWd1cmU6NzE3NjogcmVzdWx0
OiB5ZXMKY29uZmlndXJlOjcxNzY6IGNoZWNraW5nIGZvciBwdXR1dGxpbmUKY29uZmlndXJlOjcx
NzY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjcxNzY6ICQ/
ID0gMApjb25maWd1cmU6NzE3NjogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NzE3NjogJD8g
PSAwCmNvbmZpZ3VyZTo3MTc2OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzE3NjogY2hlY2tpbmcg
Zm9yIHNldHV0ZW50CmNvbmZpZ3VyZTo3MTc2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxs
IC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1s
eiAgPiY1CmNvbmZpZ3VyZTo3MTc2OiAkPyA9IDAKY29uZmlndXJlOjcxNzY6IHRlc3QgLXMgY29u
ZnRlc3QKY29uZmlndXJlOjcxNzY6ICQ/ID0gMApjb25maWd1cmU6NzE3NjogcmVzdWx0OiB5ZXMK
Y29uZmlndXJlOjcyNTI6IGNoZWNraW5nIGZvciB1dG1wbmFtZQpjb25maWd1cmU6NzI1MjogZ2Nj
IC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxp
emVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQpjb25maWd1cmU6NzI1MjogJD8gPSAwCmNv
bmZpZ3VyZTo3MjUyOiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo3MjUyOiAkPyA9IDAKY29u
ZmlndXJlOjcyNTI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo3MzMyOiBjaGVja2luZyBmb3IgZW5k
dXR4ZW50CmNvbmZpZ3VyZTo3MzMyOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9p
bnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1
Ci90bXAvY2NhMjU4ODExLm86IEluIGZ1bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40
cDEvY29uZmlndXJlOjczNjA6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYGVuZHV0eGVudCcKY29s
bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjczMzI6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzMzMiAiY29uZmlndXJlIgojaW5j
bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv
cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
dGggY2hhciBlbmR1dHhlbnQgKCk7IGJlbG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBP
dmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAq
LwojaWZkZWYgX19jcGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVj
YXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGlu
IGFuZCB0aGVuIGl0cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpj
aGFyIGVuZHV0eGVudCAoKTsKY2hhciAoKmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMg
IGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RV
TU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUg
QyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMK
ICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVh
bGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBu
YW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQgKF9fc3R1Yl9lbmR1dHhlbnQpIHx8IGRl
ZmluZWQgKF9fc3R1Yl9fX2VuZHV0eGVudCkKY2hva2UgbWUKI2Vsc2UKZiA9IGVuZHV0eGVudDsK
I2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6NzMzMjogcmVzdWx0OiBubwpjb25m
aWd1cmU6NzMzMjogY2hlY2tpbmcgZm9yIGdldHV0eGVudApjb25maWd1cmU6NzMzMjogZ2NjIC1v
IGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVk
ICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQovdG1wL2NjYTI1OTAwMS5vOiBJbiBmdW5jdGlv
biBgbWFpbic6Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZTo3MzYwOiB1bmRlZmluZWQg
cmVmZXJlbmNlIHRvIGBnZXR1dHhlbnQnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3Rh
dHVzCmNvbmZpZ3VyZTo3MzMyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6
CiNsaW5lIDczMzIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBo
ZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBl
cywKICAgIHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0dXR4ZW50ICgpOyBiZWxvdy4g
ICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJv
dG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAi
QyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1
cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90
eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8KY2hhciBnZXR1dHhlbnQgKCk7CmNoYXIgKCpmKSAo
KTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVy
biAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5k
aWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1
bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZ
Uy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0
aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZp
bmVkIChfX3N0dWJfZ2V0dXR4ZW50KSB8fCBkZWZpbmVkIChfX3N0dWJfX19nZXR1dHhlbnQpCmNo
b2tlIG1lCiNlbHNlCmYgPSBnZXR1dHhlbnQ7CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29u
ZmlndXJlOjczMzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjczMzI6IGNoZWNraW5nIGZvciBnZXR1
dHhpZApjb25maWd1cmU6NzMzMjogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHogID4mNQov
dG1wL2NjYTI1OTE5MS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVuc3NoLTMuNHAx
L2NvbmZpZ3VyZTo3MzYwOiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGBnZXR1dHhpZCcKY29sbGVj
dDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjczMzI6ICQ/ID0gMQpjb25m
aWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzMzMiAiY29uZmlndXJlIgojaW5jbHVk
ZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBh
bmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGgg
Y2hhciBnZXR1dHhpZCAoKTsgYmVsb3cuICAqLwojaW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJy
aWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlwZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNp
ZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNlbmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNl
IGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5cGUgb2YgYSBnY2MyCiAgIGJ1aWx0aW4gYW5k
IHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIg
Z2V0dXR4aWQgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRl
ZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9N
QUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUgR05VIEMgbGli
cmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1lbnRzCiAgICB0
byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBhY3R1YWxseSBu
YW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3JtYWwgbmFtZSBp
cyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfZ2V0dXR4aWQpIHx8IGRlZmluZWQg
KF9fc3R1Yl9fX2dldHV0eGlkKQpjaG9rZSBtZQojZWxzZQpmID0gZ2V0dXR4aWQ7CiNlbmRpZgoK
ICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjczMzI6IHJlc3VsdDogbm8KY29uZmlndXJlOjcz
MzI6IGNoZWNraW5nIGZvciBnZXR1dHhsaW5lCmNvbmZpZ3VyZTo3MzMyOiBnY2MgLW8gY29uZnRl
c3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25m
dGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjU5MzgxLm86IEluIGZ1bmN0aW9uIGBtYWlu
JzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjczNjA6IHVuZGVmaW5lZCByZWZlcmVu
Y2UgdG8gYGdldHV0eGxpbmUnCmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv
bmZpZ3VyZTo3MzMyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l
IDczMzIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIg
dG8gZGVmaW5lIF9fc3R1YiBtYWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAg
IHdoaWNoIGNhbiBjb25mbGljdCB3aXRoIGNoYXIgZ2V0dXR4bGluZSAoKTsgYmVsb3cuICAqLwoj
aW5jbHVkZSA8YXNzZXJ0Lmg+Ci8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNl
bmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBnY2MyCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3
b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgZ2V0dXR4bGluZSAoKTsKY2hhciAoKmYpICgpOwoK
I2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJD
IgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgpp
bnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBmb3IgZnVuY3Rp
b25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGggRU5PU1lTLiAg
U29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcgc3RhcnRpbmcg
d2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lmIGRlZmluZWQg
KF9fc3R1Yl9nZXR1dHhsaW5lKSB8fCBkZWZpbmVkIChfX3N0dWJfX19nZXR1dHhsaW5lKQpjaG9r
ZSBtZQojZWxzZQpmID0gZ2V0dXR4bGluZTsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsKfQpjb25m
aWd1cmU6NzMzMjogcmVzdWx0OiBubwpjb25maWd1cmU6NzMzMjogY2hlY2tpbmcgZm9yIHB1dHV0
eGxpbmUKY29uZmlndXJlOjczMzI6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2lu
dGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUK
L3RtcC9jY2EyNTk1NzEubzogSW4gZnVuY3Rpb24gYG1haW4nOgovdG9vbHMvb3BlbnNzaC0zLjRw
MS9jb25maWd1cmU6NzM2MDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgcHV0dXR4bGluZScKY29s
bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjczMzI6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgNzMzMiAiY29uZmlndXJlIgojaW5j
bHVkZSAiY29uZmRlZnMuaCIKLyogU3lzdGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3Jv
cyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdp
dGggY2hhciBwdXR1dHhsaW5lICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4KLyog
T3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9yLiAg
Ki8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFyIGJl
Y2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVpbHRp
biBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAgKi8K
Y2hhciBwdXR1dHhsaW5lICgpOwpjaGFyICgqZikgKCk7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4K
IyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdf
RFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKLyogVGhlIEdO
VSBDIGxpYnJhcnkgZGVmaW5lcyB0aGlzIGZvciBmdW5jdGlvbnMgd2hpY2ggaXQgaW1wbGVtZW50
cwogICAgdG8gYWx3YXlzIGZhaWwgd2l0aCBFTk9TWVMuICBTb21lIGZ1bmN0aW9ucyBhcmUgYWN0
dWFsbHkgbmFtZWQKICAgIHNvbWV0aGluZyBzdGFydGluZyB3aXRoIF9fIGFuZCB0aGUgbm9ybWFs
IG5hbWUgaXMgYW4gYWxpYXMuICAqLwojaWYgZGVmaW5lZCAoX19zdHViX3B1dHV0eGxpbmUpIHx8
IGRlZmluZWQgKF9fc3R1Yl9fX3B1dHV0eGxpbmUpCmNob2tlIG1lCiNlbHNlCmYgPSBwdXR1dHhs
aW5lOwojZW5kaWYKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZTo3MzMyOiByZXN1bHQ6IG5v
CmNvbmZpZ3VyZTo3NDA5OiBjaGVja2luZyBmb3Igc2V0dXR4ZW50CmNvbmZpZ3VyZTo3NDA5OiBn
Y2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlh
bGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1Ci90bXAvY2NhMjU5NzYxLm86IEluIGZ1
bmN0aW9uIGBtYWluJzoKL3Rvb2xzL29wZW5zc2gtMy40cDEvY29uZmlndXJlOjc0Mzc6IHVuZGVm
aW5lZCByZWZlcmVuY2UgdG8gYHNldHV0eGVudCcKY29sbGVjdDI6IGxkIHJldHVybmVkIDEgZXhp
dCBzdGF0dXMKY29uZmlndXJlOjc0MDk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgNzQwOSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKLyogU3lz
dGVtIGhlYWRlciB0byBkZWZpbmUgX19zdHViIG1hY3JvcyBhbmQgaG9wZWZ1bGx5IGZldyBwcm90
b3R5cGVzLAogICAgd2hpY2ggY2FuIGNvbmZsaWN0IHdpdGggY2hhciBzZXR1dHhlbnQgKCk7IGJl
bG93LiAgKi8KI2luY2x1ZGUgPGFzc2VydC5oPgovKiBPdmVycmlkZSBhbnkgZ2NjMiBpbnRlcm5h
bCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19jcGx1c3BsdXMKZXh0
ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWlnaHQgbWF0Y2ggdGhl
IHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0cyBhcmd1bWVudCBw
cm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIHNldHV0eGVudCAoKTsKY2hhciAo
KmYpICgpOwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAg
ZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9
CiNlbmRpZgppbnQKbWFpbiAoKQp7Ci8qIFRoZSBHTlUgQyBsaWJyYXJ5IGRlZmluZXMgdGhpcyBm
b3IgZnVuY3Rpb25zIHdoaWNoIGl0IGltcGxlbWVudHMKICAgIHRvIGFsd2F5cyBmYWlsIHdpdGgg
RU5PU1lTLiAgU29tZSBmdW5jdGlvbnMgYXJlIGFjdHVhbGx5IG5hbWVkCiAgICBzb21ldGhpbmcg
c3RhcnRpbmcgd2l0aCBfXyBhbmQgdGhlIG5vcm1hbCBuYW1lIGlzIGFuIGFsaWFzLiAgKi8KI2lm
IGRlZmluZWQgKF9fc3R1Yl9zZXR1dHhlbnQpIHx8IGRlZmluZWQgKF9fc3R1Yl9fX3NldHV0eGVu
dCkKY2hva2UgbWUKI2Vsc2UKZiA9IHNldHV0eGVudDsKI2VuZGlmCgogIDsKICByZXR1cm4gMDsK
fQpjb25maWd1cmU6NzQwOTogcmVzdWx0OiBubwpjb25maWd1cmU6NzQwOTogY2hlY2tpbmcgZm9y
IHV0bXB4bmFtZQpjb25maWd1cmU6NzQwOTogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAt
V3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkICAgY29uZnRlc3QuYyAtbGJzZCAtbHog
ID4mNQovdG1wL2NjYTI1OTk1MS5vOiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVuc3No
LTMuNHAxL2NvbmZpZ3VyZTo3NDM3OiB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGB1dG1weG5hbWUn
CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZTo3NDA5OiAkPyA9
IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDc0MDkgImNvbmZpZ3VyZSIK
I2luY2x1ZGUgImNvbmZkZWZzLmgiCi8qIFN5c3RlbSBoZWFkZXIgdG8gZGVmaW5lIF9fc3R1YiBt
YWNyb3MgYW5kIGhvcGVmdWxseSBmZXcgcHJvdG90eXBlcywKICAgIHdoaWNoIGNhbiBjb25mbGlj
dCB3aXRoIGNoYXIgdXRtcHhuYW1lICgpOyBiZWxvdy4gICovCiNpbmNsdWRlIDxhc3NlcnQuaD4K
LyogT3ZlcnJpZGUgYW55IGdjYzIgaW50ZXJuYWwgcHJvdG90eXBlIHRvIGF2b2lkIGFuIGVycm9y
LiAgKi8KI2lmZGVmIF9fY3BsdXNwbHVzCmV4dGVybiAiQyIKI2VuZGlmCi8qIFdlIHVzZSBjaGFy
IGJlY2F1c2UgaW50IG1pZ2h0IG1hdGNoIHRoZSByZXR1cm4gdHlwZSBvZiBhIGdjYzIKICAgYnVp
bHRpbiBhbmQgdGhlbiBpdHMgYXJndW1lbnQgcHJvdG90eXBlIHdvdWxkIHN0aWxsIGFwcGx5LiAg
Ki8KY2hhciB1dG1weG5hbWUgKCk7CmNoYXIgKCpmKSAoKTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJ
TgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3
N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewovKiBUaGUg
R05VIEMgbGlicmFyeSBkZWZpbmVzIHRoaXMgZm9yIGZ1bmN0aW9ucyB3aGljaCBpdCBpbXBsZW1l
bnRzCiAgICB0byBhbHdheXMgZmFpbCB3aXRoIEVOT1NZUy4gIFNvbWUgZnVuY3Rpb25zIGFyZSBh
Y3R1YWxseSBuYW1lZAogICAgc29tZXRoaW5nIHN0YXJ0aW5nIHdpdGggX18gYW5kIHRoZSBub3Jt
YWwgbmFtZSBpcyBhbiBhbGlhcy4gICovCiNpZiBkZWZpbmVkIChfX3N0dWJfdXRtcHhuYW1lKSB8
fCBkZWZpbmVkIChfX3N0dWJfX191dG1weG5hbWUpCmNob2tlIG1lCiNlbHNlCmYgPSB1dG1weG5h
bWU7CiNlbmRpZgoKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjc0MDk6IHJlc3VsdDogbm8K
Y29uZmlndXJlOjc0MTI6IGNoZWNraW5nIGZvciBkYWVtb24KY29uZmlndXJlOjc0NzM6IGdjYyAt
byBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXpl
ZCAgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICA+JjUKY29uZmlndXJlOjc0NzM6ICQ/ID0gMApjb25m
aWd1cmU6NzQ3MzogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6NzQ3MzogJD8gPSAwCmNvbmZp
Z3VyZTo3NDc0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6NzU0ODogY2hlY2tpbmcgZm9yIGdldHBh
Z2VzaXplCmNvbmZpZ3VyZTo3NjA5OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9p
bnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgPiY1
CmNvbmZpZ3VyZTo3NjA5OiAkPyA9IDAKY29uZmlndXJlOjc2MDk6IHRlc3QgLXMgY29uZnRlc3QK
Y29uZmlndXJlOjc2MDk6ICQ/ID0gMApjb25maWd1cmU6NzYxMDogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc3MzM6IGNoZWNraW5nIHdoZXRoZXIgc25wcmludGYgY29ycmVjdGx5IHRlcm1pbmF0ZXMg
bG9uZyBzdHJpbmdzCmNvbmZpZ3VyZTo3NzMzOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxs
IC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1s
eiAgPiY1CmNvbmZpZ3VyZTo3NzMzOiAkPyA9IDAKY29uZmlndXJlOjc3MzM6IC4vY29uZnRlc3QK
Y29uZmlndXJlOjc3MzM6ICQ/ID0gMApjb25maWd1cmU6NzczMzogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjc3MzU6IGNoZWNraW5nIHdoZXRoZXIgZ2V0cGdycCByZXF1aXJlcyB6ZXJvIGFyZ3VtZW50
cwpjb25maWd1cmU6Nzc3OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVdu
by11bmluaXRpYWxpemVkICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBt
YWluJzoKY29uZmlndXJlOjc4MjM6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiBgZ2V0
cGdycCcKY29uZmlndXJlOjc3Nzk6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdh
czoKI2xpbmUgNzc3OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKI2luY2x1ZGUg
PHN0ZGlvLmg+CiNpZiBIQVZFX1NZU19UWVBFU19ICiMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNl
bmRpZgojaWYgSEFWRV9TWVNfU1RBVF9ICiMgaW5jbHVkZSA8c3lzL3N0YXQuaD4KI2VuZGlmCiNp
ZiBTVERDX0hFQURFUlMKIyBpbmNsdWRlIDxzdGRsaWIuaD4KIyBpbmNsdWRlIDxzdGRkZWYuaD4K
I2Vsc2UKIyBpZiBIQVZFX1NURExJQl9ICiMgIGluY2x1ZGUgPHN0ZGxpYi5oPgojIGVuZGlmCiNl
bmRpZgojaWYgSEFWRV9TVFJJTkdfSAojIGlmICFTVERDX0hFQURFUlMgJiYgSEFWRV9NRU1PUllf
SAojICBpbmNsdWRlIDxtZW1vcnkuaD4KIyBlbmRpZgojIGluY2x1ZGUgPHN0cmluZy5oPgojZW5k
aWYKI2lmIEhBVkVfU1RSSU5HU19ICiMgaW5jbHVkZSA8c3RyaW5ncy5oPgojZW5kaWYKI2lmIEhB
VkVfSU5UVFlQRVNfSAojIGluY2x1ZGUgPGludHR5cGVzLmg+CiNlbHNlCiMgaWYgSEFWRV9TVERJ
TlRfSAojICBpbmNsdWRlIDxzdGRpbnQuaD4KIyBlbmRpZgojZW5kaWYKI2lmIEhBVkVfVU5JU1RE
X0gKIyBpbmNsdWRlIDx1bmlzdGQuaD4KI2VuZGlmCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBp
ZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1N
WV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewpnZXRwZ3JwICgwKTsK
ICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjc3ODA6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZTo4
MjI4OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVu
aW5pdGlhbGl6ZWQgICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1Ci91c3IvaTU4
Ni1wYy1saW51eC1nbnVsaWJjMS9iaW4vbGQ6IGNhbm5vdCBvcGVuIC1sY3J5cHRvOiBObyBzdWNo
IGZpbGUgb3IgZGlyZWN0b3J5CmNvbGxlY3QyOiBsZCByZXR1cm5lZCAxIGV4aXQgc3RhdHVzCmNv
bmZpZ3VyZTo4MjI4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5l
IDgxNDcgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgovKiBPdmVycmlkZSBhbnkg
Z2NjMiBpbnRlcm5hbCBwcm90b3R5cGUgdG8gYXZvaWQgYW4gZXJyb3IuICAqLwojaWZkZWYgX19j
cGx1c3BsdXMKZXh0ZXJuICJDIgojZW5kaWYKLyogV2UgdXNlIGNoYXIgYmVjYXVzZSBpbnQgbWln
aHQgbWF0Y2ggdGhlIHJldHVybiB0eXBlIG9mIGEgZ2NjMgogICBidWlsdGluIGFuZCB0aGVuIGl0
cyBhcmd1bWVudCBwcm90b3R5cGUgd291bGQgc3RpbGwgYXBwbHkuICAqLwpjaGFyIFJBTkRfYWRk
ICgpOwojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRl
cm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2Vu
ZGlmCmludAptYWluICgpCnsKUkFORF9hZGQgKCk7CiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3Vy
ZTo4MjI4OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25v
LXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvc3Ns
L2xpYiAgY29uZnRlc3QuYyAtbGJzZCAtbHogIC1sY3J5cHRvID4mNQpjb25maWd1cmU6ODIyODog
JD8gPSAwCmNvbmZpZ3VyZTo4MjI4OiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZTo4MjI4OiAk
PyA9IDAKY29uZmlndXJlOjgyMzM6IGNoZWNraW5nIHdoZXRoZXIgT3BlblNTTCdzIGhlYWRlcnMg
bWF0Y2ggdGhlIGxpYnJhcnkKY29uZmlndXJlOjgyNzk6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3Ns
L2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxj
cnlwdG8gPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25maWd1cmU6ODI4Mzog
d2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gYFNTTGVheScKY29uZmln
dXJlOjgyNzk6ICQ/ID0gMApjb25maWd1cmU6ODI3OTogLi9jb25mdGVzdApjb25maWd1cmU6ODI3
OTogJD8gPSAwCmNvbmZpZ3VyZTo4Mjc5OiByZXN1bHQ6IHllcwpjb25maWd1cmU6ODM0MzogY2hl
Y2tpbmcgZm9yIGNyeXB0IGluIC1sY3J5cHQKY29uZmlndXJlOjgzNDM6IGdjYyAtbyBjb25mdGVz
dCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3Iv
bG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1sY3J5
cHQgIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1Ci91c3IvaTU4Ni1wYy1saW51eC1nbnVsaWJjMS9i
aW4vbGQ6IGNhbm5vdCBvcGVuIC1sY3J5cHQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29s
bGVjdDI6IGxkIHJldHVybmVkIDEgZXhpdCBzdGF0dXMKY29uZmlndXJlOjgzNDM6ICQ/ID0gMQpj
b25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgODM0MyAiY29uZmlndXJlIgojaW5j
bHVkZSAiY29uZmRlZnMuaCIKCi8qIE92ZXJyaWRlIGFueSBnY2MyIGludGVybmFsIHByb3RvdHlw
ZSB0byBhdm9pZCBhbiBlcnJvci4gICovCiNpZmRlZiBfX2NwbHVzcGx1cwpleHRlcm4gIkMiCiNl
bmRpZgovKiBXZSB1c2UgY2hhciBiZWNhdXNlIGludCBtaWdodCBtYXRjaCB0aGUgcmV0dXJuIHR5
cGUgb2YgYSBnY2MyCiAgIGJ1aWx0aW4gYW5kIHRoZW4gaXRzIGFyZ3VtZW50IHByb3RvdHlwZSB3
b3VsZCBzdGlsbCBhcHBseS4gICovCmNoYXIgY3J5cHQgKCk7CiNpZmRlZiBGNzdfRFVNTVlfTUFJ
TgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3
N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewpjcnlwdCAo
KTsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjgzNDM6IHJlc3VsdDogbm8KY29uZmlndXJl
OjgzNDk6IGNoZWNraW5nIHdoZXRoZXIgT3BlblNTTCdzIFBSTkcgaXMgaW50ZXJuYWxseSBzZWVk
ZWQKY29uZmlndXJlOjgzOTY6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVy
LWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vz
ci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZp
Z3VyZTo4Mzk2OiAkPyA9IDAKY29uZmlndXJlOjgzOTY6IC4vY29uZnRlc3QKY29uZmlndXJlOjgz
OTY6ICQ/ID0gMApjb25maWd1cmU6ODM5NjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjg1ODk6IGNo
ZWNraW5nIGZvciBscwpjb25maWd1cmU6ODYxNTogZm91bmQgL2Jpbi9scwpjb25maWd1cmU6ODYy
NDogcmVzdWx0OiAvYmluL2xzCmNvbmZpZ3VyZTo4NjM0OiBjaGVja2luZyBmb3IgbmV0c3RhdApj
b25maWd1cmU6ODY2MDogZm91bmQgL2Jpbi9uZXRzdGF0CmNvbmZpZ3VyZTo4NjY5OiByZXN1bHQ6
IC9iaW4vbmV0c3RhdApjb25maWd1cmU6ODY3OTogY2hlY2tpbmcgZm9yIGFycApjb25maWd1cmU6
ODcwNTogZm91bmQgL3NiaW4vYXJwCmNvbmZpZ3VyZTo4NzE0OiByZXN1bHQ6IC9zYmluL2FycApj
b25maWd1cmU6ODcyNDogY2hlY2tpbmcgZm9yIGlmY29uZmlnCmNvbmZpZ3VyZTo4NzUwOiBmb3Vu
ZCAvc2Jpbi9pZmNvbmZpZwpjb25maWd1cmU6ODc1OTogcmVzdWx0OiAvc2Jpbi9pZmNvbmZpZwpj
b25maWd1cmU6ODc2OTogY2hlY2tpbmcgZm9yIGpzdGF0CmNvbmZpZ3VyZTo4ODA0OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZTo4ODE0OiBjaGVja2luZyBmb3IgcHMKY29uZmlndXJlOjg4NDA6IGZvdW5k
IC9iaW4vcHMKY29uZmlndXJlOjg4NDk6IHJlc3VsdDogL2Jpbi9wcwpjb25maWd1cmU6ODg1OTog
Y2hlY2tpbmcgZm9yIHNhcgpjb25maWd1cmU6ODg5NDogcmVzdWx0OiBubwpjb25maWd1cmU6ODkw
NDogY2hlY2tpbmcgZm9yIHcKY29uZmlndXJlOjg5MzA6IGZvdW5kIC91c3IvYmluL3cKY29uZmln
dXJlOjg5Mzk6IHJlc3VsdDogL3Vzci9iaW4vdwpjb25maWd1cmU6ODk0OTogY2hlY2tpbmcgZm9y
IHdobwpjb25maWd1cmU6ODk3NTogZm91bmQgL3Vzci9iaW4vd2hvCmNvbmZpZ3VyZTo4OTg0OiBy
ZXN1bHQ6IC91c3IvYmluL3dobwpjb25maWd1cmU6ODk5NDogY2hlY2tpbmcgZm9yIGxhc3QKY29u
ZmlndXJlOjkwMjA6IGZvdW5kIC91c3IvYmluL2xhc3QKY29uZmlndXJlOjkwMjk6IHJlc3VsdDog
L3Vzci9iaW4vbGFzdApjb25maWd1cmU6OTAzOTogY2hlY2tpbmcgZm9yIGxhc3Rsb2cKY29uZmln
dXJlOjkwNjU6IGZvdW5kIC91c3Ivc2Jpbi9sYXN0bG9nCmNvbmZpZ3VyZTo5MDc0OiByZXN1bHQ6
IC91c3Ivc2Jpbi9sYXN0bG9nCmNvbmZpZ3VyZTo5MDg0OiBjaGVja2luZyBmb3IgZGYKY29uZmln
dXJlOjkxMTA6IGZvdW5kIC9iaW4vZGYKY29uZmlndXJlOjkxMTk6IHJlc3VsdDogL2Jpbi9kZgpj
b25maWd1cmU6OTEyOTogY2hlY2tpbmcgZm9yIHZtc3RhdApjb25maWd1cmU6OTE1NTogZm91bmQg
L3Vzci9iaW4vdm1zdGF0CmNvbmZpZ3VyZTo5MTY0OiByZXN1bHQ6IC91c3IvYmluL3Ztc3RhdApj
b25maWd1cmU6OTE3NDogY2hlY2tpbmcgZm9yIHVwdGltZQpjb25maWd1cmU6OTIwMDogZm91bmQg
L3Vzci9iaW4vdXB0aW1lCmNvbmZpZ3VyZTo5MjA5OiByZXN1bHQ6IC91c3IvYmluL3VwdGltZQpj
b25maWd1cmU6OTIxOTogY2hlY2tpbmcgZm9yIGlwY3MKY29uZmlndXJlOjkyNDU6IGZvdW5kIC91
c3IvYmluL2lwY3MKY29uZmlndXJlOjkyNTQ6IHJlc3VsdDogL3Vzci9iaW4vaXBjcwpjb25maWd1
cmU6OTI2NDogY2hlY2tpbmcgZm9yIHRhaWwKY29uZmlndXJlOjkyOTA6IGZvdW5kIC91c3IvYmlu
L3RhaWwKY29uZmlndXJlOjkyOTk6IHJlc3VsdDogL3Vzci9iaW4vdGFpbApjb25maWd1cmU6OTMz
MTogY2hlY2tpbmcgZm9yIGNoYXIKY29uZmlndXJlOjkzNzY6IGdjYyAtYyAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTo5Mzc2OiAkPyA9IDAKY29uZmlndXJlOjkzNzY6
IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6OTM3NjogJD8gPSAwCmNvbmZpZ3VyZTo5Mzc3
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6OTM4MDogY2hlY2tpbmcgc2l6ZSBvZiBjaGFyCmNvbmZp
Z3VyZTo5Njg1OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAt
V25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICAtTC91c3IvbG9jYWwv
c3NsL2xpYiAgY29uZnRlc3QuYyAtbGJzZCAtbHogIC1sY3J5cHRvID4mNQpjb25maWd1cmU6OTY4
NTogJD8gPSAwCmNvbmZpZ3VyZTo5Njg1OiAuL2NvbmZ0ZXN0CmNvbmZpZ3VyZTo5Njg1OiAkPyA9
IDAKY29uZmlndXJlOjk2ODY6IHJlc3VsdDogMQpjb25maWd1cmU6OTY5MzogY2hlY2tpbmcgZm9y
IHNob3J0IGludApjb25maWd1cmU6OTczODogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXIt
YXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRl
c3QuYyA+JjUKY29uZmlndXJlOjk3Mzg6ICQ/ID0gMApjb25maWd1cmU6OTczODogdGVzdCAtcyBj
b25mdGVzdC5vCmNvbmZpZ3VyZTo5NzM4OiAkPyA9IDAKY29uZmlndXJlOjk3Mzk6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZTo5NzQyOiBjaGVja2luZyBzaXplIG9mIHNob3J0IGludApjb25maWd1cmU6
MTAwNDc6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8t
dW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wv
bGliICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZToxMDA0Nzog
JD8gPSAwCmNvbmZpZ3VyZToxMDA0NzogLi9jb25mdGVzdApjb25maWd1cmU6MTAwNDc6ICQ/ID0g
MApjb25maWd1cmU6MTAwNDg6IHJlc3VsdDogMgpjb25maWd1cmU6MTAwNTU6IGNoZWNraW5nIGZv
ciBpbnQKY29uZmlndXJlOjEwMTAwOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0
aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6MTAxMDA6ICQ/ID0gMApjb25maWd1cmU6MTAxMDA6IHRlc3QgLXMgY29u
ZnRlc3Qubwpjb25maWd1cmU6MTAxMDA6ICQ/ID0gMApjb25maWd1cmU6MTAxMDE6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxMDEwNDogY2hlY2tpbmcgc2l6ZSBvZiBpbnQKY29uZmlndXJlOjEwNDA5
OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5p
dGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvc3NsL2xpYiAg
Y29uZnRlc3QuYyAtbGJzZCAtbHogIC1sY3J5cHRvID4mNQpjb25maWd1cmU6MTA0MDk6ICQ/ID0g
MApjb25maWd1cmU6MTA0MDk6IC4vY29uZnRlc3QKY29uZmlndXJlOjEwNDA5OiAkPyA9IDAKY29u
ZmlndXJlOjEwNDEwOiByZXN1bHQ6IDQKY29uZmlndXJlOjEwNDE3OiBjaGVja2luZyBmb3IgbG9u
ZyBpbnQKY29uZmlndXJlOjEwNDYyOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0
aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5j
ID4mNQpjb25maWd1cmU6MTA0NjI6ICQ/ID0gMApjb25maWd1cmU6MTA0NjI6IHRlc3QgLXMgY29u
ZnRlc3Qubwpjb25maWd1cmU6MTA0NjI6ICQ/ID0gMApjb25maWd1cmU6MTA0NjM6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxMDQ2NjogY2hlY2tpbmcgc2l6ZSBvZiBsb25nIGludApjb25maWd1cmU6
MTA3NzE6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8t
dW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wv
bGliICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZToxMDc3MTog
JD8gPSAwCmNvbmZpZ3VyZToxMDc3MTogLi9jb25mdGVzdApjb25maWd1cmU6MTA3NzE6ICQ/ID0g
MApjb25maWd1cmU6MTA3NzI6IHJlc3VsdDogNApjb25maWd1cmU6MTA3Nzk6IGNoZWNraW5nIGZv
ciBsb25nIGxvbmcgaW50CmNvbmZpZ3VyZToxMDgyNDogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3Bv
aW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEwODI0OiAkPyA9IDAKY29uZmlndXJlOjEwODI0OiB0
ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjEwODI0OiAkPyA9IDAKY29uZmlndXJlOjEwODI1
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTA4Mjg6IGNoZWNraW5nIHNpemUgb2YgbG9uZyBsb25n
IGludApjb25maWd1cmU6MTExMzM6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2lu
dGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1M
L3Vzci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNv
bmZpZ3VyZToxMTEzMzogJD8gPSAwCmNvbmZpZ3VyZToxMTEzMzogLi9jb25mdGVzdApjb25maWd1
cmU6MTExMzM6ICQ/ID0gMApjb25maWd1cmU6MTExMzQ6IHJlc3VsdDogOApjb25maWd1cmU6MTEx
NDg6IGNoZWNraW5nIGZvciB1X2ludCB0eXBlCmNvbmZpZ3VyZToxMTE5MzogZ2NjIC1jIC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9z
c2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjExMTkzOiAkPyA9IDAKY29uZmln
dXJlOjExMTkzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjExMTkzOiAkPyA9IDAKY29u
ZmlndXJlOjExMTk0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTEyMDQ6IGNoZWNraW5nIGZvciBp
bnRYWF90IHR5cGVzCmNvbmZpZ3VyZToxMTI0OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50
ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29u
ZnRlc3QuYyA+JjUKY29uZmlndXJlOjExMjQ5OiAkPyA9IDAKY29uZmlndXJlOjExMjQ5OiB0ZXN0
IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjExMjQ5OiAkPyA9IDAKY29uZmlndXJlOjExMjUwOiBy
ZXN1bHQ6IHllcwpjb25maWd1cmU6MTEzMTM6IGNoZWNraW5nIGZvciBpbnQ2NF90IHR5cGUKY29u
ZmlndXJlOjExMzU4OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVu
aW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25m
aWd1cmU6MTEzNTg6ICQ/ID0gMApjb25maWd1cmU6MTEzNTg6IHRlc3QgLXMgY29uZnRlc3Qubwpj
b25maWd1cmU6MTEzNTg6ICQ/ID0gMApjb25maWd1cmU6MTEzNTk6IHJlc3VsdDogeWVzCmNvbmZp
Z3VyZToxMTQ3MTogY2hlY2tpbmcgZm9yIHVfaW50WFhfdCB0eXBlcwpjb25maWd1cmU6MTE1MTY6
IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAt
SS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMTUxNjog
JD8gPSAwCmNvbmZpZ3VyZToxMTUxNjogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMTUx
NjogJD8gPSAwCmNvbmZpZ3VyZToxMTUxNzogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjExNTc4OiBj
aGVja2luZyBmb3IgdV9pbnQ2NF90IHR5cGVzCmNvbmZpZ3VyZToxMTYyMzogZ2NjIC1jIC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9z
c2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjExNjIzOiAkPyA9IDAKY29uZmln
dXJlOjExNjIzOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjExNjIzOiAkPyA9IDAKY29u
ZmlndXJlOjExNjI0OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTE3OTM6IGNoZWNraW5nIGZvciB1
aW50WFhfdCB0eXBlcyBpbiBzdGRpbnQuaApjb25maWd1cmU6MTE3OTM6IGdjYyAtYyAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3Ns
L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMTc5NDogc3RkaW50Lmg6IE5vIHN1
Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjExNzkzOiAkPyA9IDEKY29uZmlndXJlOiBm
YWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDExNzkzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25m
ZGVmcy5oIgogI2luY2x1ZGUgPHN0ZGludC5oPgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZk
ZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlf
TUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKIHVpbnQ4X3QgYTsgdWlu
dDE2X3QgYjsgdWludDMyX3QgYzsgYSA9IGIgPSBjID0gMTsKICA7CiAgcmV0dXJuIDA7Cn0KY29u
ZmlndXJlOjExNzkzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMTg1OTogY2hlY2tpbmcgZm9yIHVf
Y2hhcgpjb25maWd1cmU6MTE5MDY6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRo
IC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIGNvbmZ0ZXN0LmMg
PiY1CmNvbmZpZ3VyZToxMTkwNjogJD8gPSAwCmNvbmZpZ3VyZToxMTkwNjogdGVzdCAtcyBjb25m
dGVzdC5vCmNvbmZpZ3VyZToxMTkwNjogJD8gPSAwCmNvbmZpZ3VyZToxMTkwNzogcmVzdWx0OiB5
ZXMKY29uZmlndXJlOjExOTE3OiBjaGVja2luZyBmb3Igc29ja2xlbl90CmNvbmZpZ3VyZToxMTk2
NDogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVk
IC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBm
dW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxMTk3NzogYHNvY2tsZW5fdCcgdW5kZWNsYXJlZCAo
Zmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pCmNvbmZpZ3VyZToxMTk3NzogKEVhY2ggdW5kZWNsYXJl
ZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25maWd1cmU6MTE5Nzc6IGZvciBl
YWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6MTE5Nzc6IHBhcnNlIGVycm9y
IGJlZm9yZSBgKScKY29uZmlndXJlOjExOTY0OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJv
Z3JhbSB3YXM6CiNsaW5lIDExOTY0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoj
aW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CgojaWZkZWYgRjc3
X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlm
CiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgp
CnsKaWYgKChzb2NrbGVuX3QgKikgMCkKICByZXR1cm4gMDsKaWYgKHNpemVvZiAoc29ja2xlbl90
KSkKICByZXR1cm4gMDsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjExOTY1OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMjA0NzogY2hlY2tpbmcgZm9yIHNvY2tsZW5fdCBlcXVpdmFsZW50CmNv
bmZpZ3VyZToxMjA0NzogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11
bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29u
ZmlndXJlOjEyMDQ3OiAkPyA9IDAKY29uZmlndXJlOjEyMDQ3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8K
Y29uZmlndXJlOjEyMDQ3OiAkPyA9IDAKY29uZmlndXJlOjEyMDQ3OiBnY2MgLWMgLWcgLU8yIC1X
YWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9p
bmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTIwNTI6IGNvbmZsaWN0aW5nIHR5cGVz
IGZvciBgZ2V0cGVlcm5hbWUnCi91c3IvaW5jbHVkZS9zeXMvc29ja2V0Lmg6Nzg6IHByZXZpb3Vz
IGRlY2xhcmF0aW9uIG9mIGBnZXRwZWVybmFtZScKY29uZmlndXJlOjEyMDQ3OiAkPyA9IDEKY29u
ZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyMDQ3ICJjb25maWd1cmUiCiNpbmNs
dWRlICJjb25mZGVmcy5oIgoKCQkgICNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KCQkgICNpbmNsdWRl
IDxzeXMvc29ja2V0Lmg+CgoJCSAgaW50IGdldHBlZXJuYW1lIChpbnQsIHZvaWQgKiwgaW50ICop
OwoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJu
ICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRp
ZgppbnQKbWFpbiAoKQp7CgoJCSAgaW50IGxlbjsKCQkgIGdldHBlZXJuYW1lKDAsMCwmbGVuKTsK
CiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxMjA0NzogZ2NjIC1jIC1nIC1PMiAtV2FsbCAt
V3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVk
ZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyMDUyOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig
YGdldHBlZXJuYW1lJwovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjc4OiBwcmV2aW91cyBkZWNs
YXJhdGlvbiBvZiBgZ2V0cGVlcm5hbWUnCmNvbmZpZ3VyZToxMjA0NzogJD8gPSAxCmNvbmZpZ3Vy
ZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjA0NyAiY29uZmlndXJlIgojaW5jbHVkZSAi
Y29uZmRlZnMuaCIKCgkJICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CgkJICAjaW5jbHVkZSA8c3lz
L3NvY2tldC5oPgoKCQkgIGludCBnZXRwZWVybmFtZSAoaW50LCB2b2lkICosIHNpemVfdCAqKTsK
CiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAi
QyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYK
aW50Cm1haW4gKCkKewoKCQkgIHNpemVfdCBsZW47CgkJICBnZXRwZWVybmFtZSgwLDAsJmxlbik7
CgogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6MTIwNDc6IGdjYyAtYyAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjA1MjogY29uZmxpY3RpbmcgdHlwZXMgZm9y
IGBnZXRwZWVybmFtZScKL3Vzci9pbmNsdWRlL3N5cy9zb2NrZXQuaDo3ODogcHJldmlvdXMgZGVj
bGFyYXRpb24gb2YgYGdldHBlZXJuYW1lJwpjb25maWd1cmU6MTIwNDc6ICQ/ID0gMQpjb25maWd1
cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTIwNDcgImNvbmZpZ3VyZSIKI2luY2x1ZGUg
ImNvbmZkZWZzLmgiCgoJCSAgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgoJCSAgI2luY2x1ZGUgPHN5
cy9zb2NrZXQuaD4KCgkJICBpbnQgZ2V0cGVlcm5hbWUgKGludCwgdm9pZCAqLCB1bnNpZ25lZCAq
KTsKCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVy
biAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5k
aWYKaW50Cm1haW4gKCkKewoKCQkgIHVuc2lnbmVkIGxlbjsKCQkgIGdldHBlZXJuYW1lKDAsMCwm
bGVuKTsKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxMjA0NzogZ2NjIC1jIC1nIC1PMiAt
V2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wv
aW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyMDUyOiBjb25mbGljdGluZyB0eXBl
cyBmb3IgYGdldHBlZXJuYW1lJwovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjc4OiBwcmV2aW91
cyBkZWNsYXJhdGlvbiBvZiBgZ2V0cGVlcm5hbWUnCmNvbmZpZ3VyZToxMjA0NzogJD8gPSAxCmNv
bmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjA0NyAiY29uZmlndXJlIgojaW5j
bHVkZSAiY29uZmRlZnMuaCIKCgkJICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CgkJICAjaW5jbHVk
ZSA8c3lzL3NvY2tldC5oPgoKCQkgIGludCBnZXRwZWVybmFtZSAoaW50LCB2b2lkICosIGxvbmcg
Kik7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRl
cm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2Vu
ZGlmCmludAptYWluICgpCnsKCgkJICBsb25nIGxlbjsKCQkgIGdldHBlZXJuYW1lKDAsMCwmbGVu
KTsKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxMjA0NzogZ2NjIC1jIC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5j
bHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyMDUyOiBjb25mbGljdGluZyB0eXBlcyBm
b3IgYGdldHBlZXJuYW1lJwovdXNyL2luY2x1ZGUvc3lzL3NvY2tldC5oOjc4OiBwcmV2aW91cyBk
ZWNsYXJhdGlvbiBvZiBgZ2V0cGVlcm5hbWUnCmNvbmZpZ3VyZToxMjA0NzogJD8gPSAxCmNvbmZp
Z3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxMjA0NyAiY29uZmlndXJlIgojaW5jbHVk
ZSAiY29uZmRlZnMuaCIKCgkJICAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CgkJICAjaW5jbHVkZSA8
c3lzL3NvY2tldC5oPgoKCQkgIGludCBnZXRwZWVybmFtZSAoaW50LCB2b2lkICosIHVuc2lnbmVk
IGxvbmcgKik7CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAg
ICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7
IH0KI2VuZGlmCmludAptYWluICgpCnsKCgkJICB1bnNpZ25lZCBsb25nIGxlbjsKCQkgIGdldHBl
ZXJuYW1lKDAsMCwmbGVuKTsKCiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxMjA0NzogcmVz
dWx0OiBpbnQKY29uZmlndXJlOjEyMDUxOiBjaGVja2luZyBmb3Igc2lnX2F0b21pY190CmNvbmZp
Z3VyZToxMjA5NzogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmlu
aXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmln
dXJlOjEyMDk3OiAkPyA9IDAKY29uZmlndXJlOjEyMDk3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29u
ZmlndXJlOjEyMDk3OiAkPyA9IDAKY29uZmlndXJlOjEyMDk4OiByZXN1bHQ6IHllcwpjb25maWd1
cmU6MTIxMTA6IGNoZWNraW5nIGZvciBzaXplX3QKY29uZmlndXJlOjEyMTU3OiBnY2MgLWMgLWcg
LU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2Fs
L3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTIxNTc6ICQ/ID0gMApjb25m
aWd1cmU6MTIxNTc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTIxNTc6ICQ/ID0gMApj
b25maWd1cmU6MTIxNTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjE2NzogY2hlY2tpbmcgZm9y
IHNzaXplX3QKY29uZmlndXJlOjEyMjE0OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1h
cml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVz
dC5jID4mNQpjb25maWd1cmU6MTIyMTQ6ICQ/ID0gMApjb25maWd1cmU6MTIyMTQ6IHRlc3QgLXMg
Y29uZnRlc3Qubwpjb25maWd1cmU6MTIyMTQ6ICQ/ID0gMApjb25maWd1cmU6MTIyMTU6IHJlc3Vs
dDogeWVzCmNvbmZpZ3VyZToxMjIyNDogY2hlY2tpbmcgZm9yIGNsb2NrX3QKY29uZmlndXJlOjEy
MjcxOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6
ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTIy
NzE6ICQ/ID0gMApjb25maWd1cmU6MTIyNzE6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6
MTIyNzE6ICQ/ID0gMApjb25maWd1cmU6MTIyNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjI4
MTogY2hlY2tpbmcgZm9yIHNhX2ZhbWlseV90CmNvbmZpZ3VyZToxMjM3MDogZ2NjIC1jIC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9z
c2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6
CmNvbmZpZ3VyZToxMjM4NDogYHNhX2ZhbWlseV90JyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgdGhp
cyBmdW5jdGlvbikKY29uZmlndXJlOjEyMzg0OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIg
aXMgcmVwb3J0ZWQgb25seSBvbmNlCmNvbmZpZ3VyZToxMjM4NDogZm9yIGVhY2ggZnVuY3Rpb24g
aXQgYXBwZWFycyBpbi4pCmNvbmZpZ3VyZToxMjM4NDogcGFyc2UgZXJyb3IgYmVmb3JlIGBmb28n
CmNvbmZpZ3VyZToxMjM4NDogYGZvbycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rp
b24pCmNvbmZpZ3VyZToxMjM3MDogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2Fz
OgojbGluZSAxMjM3MCAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRl
IDxzeXMvdHlwZXMuaD4KI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KCiNpZmRlZiBGNzdfRFVNTVlf
TUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50
IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewogc2Ff
ZmFtaWx5X3QgZm9vOyBmb28gPSAxMjM1OwogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6MTIz
NzA6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXpl
ZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTogSW4g
ZnVuY3Rpb24gYG1haW4nOgpjb25maWd1cmU6MTIzODU6IGBzYV9mYW1pbHlfdCcgdW5kZWNsYXJl
ZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pCmNvbmZpZ3VyZToxMjM4NTogKEVhY2ggdW5kZWNs
YXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZQpjb25maWd1cmU6MTIzODU6IGZv
ciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpjb25maWd1cmU6MTIzODU6IHBhcnNlIGVy
cm9yIGJlZm9yZSBgZm9vJwpjb25maWd1cmU6MTIzODU6IGBmb28nIHVuZGVjbGFyZWQgKGZpcnN0
IHVzZSB0aGlzIGZ1bmN0aW9uKQpjb25maWd1cmU6MTIzNzA6ICQ/ID0gMQpjb25maWd1cmU6IGZh
aWxlZCBwcm9ncmFtIHdhczoKI2xpbmUgMTIzNzAgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZk
ZWZzLmgiCgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CiNp
bmNsdWRlIDxuZXRpbmV0L2luLmg+CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19j
cGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigp
IHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKIHNhX2ZhbWlseV90IGZvbzsgZm9v
ID0gMTIzNTsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjEyMzcxOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxMjM4MDogY2hlY2tpbmcgZm9yIHBpZF90CmNvbmZpZ3VyZToxMjQyNzogZ2NjIC1j
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9s
b2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEyNDI3OiAkPyA9IDAK
Y29uZmlndXJlOjEyNDI3OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjEyNDI3OiAkPyA9
IDAKY29uZmlndXJlOjEyNDI4OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTI0Mzc6IGNoZWNraW5n
IGZvciBtb2RlX3QKY29uZmlndXJlOjEyNDg0OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6MTI0ODQ6ICQ/ID0gMApjb25maWd1cmU6MTI0ODQ6IHRlc3Qg
LXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTI0ODQ6ICQ/ID0gMApjb25maWd1cmU6MTI0ODU6IHJl
c3VsdDogeWVzCmNvbmZpZ3VyZToxMjQ5NTogY2hlY2tpbmcgZm9yIHN0cnVjdCBzb2NrYWRkcl9z
dG9yYWdlCmNvbmZpZ3VyZToxMjU0MzogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJp
dGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxMjU1Nzogc3Rv
cmFnZSBzaXplIG9mIGBzJyBpc24ndCBrbm93bgpjb25maWd1cmU6MTI1NTc6IHdhcm5pbmc6IHVu
dXNlZCB2YXJpYWJsZSBgcycKY29uZmlndXJlOjEyNTQzOiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyNTQzICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm
cy5oIgoKI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgoKI2lm
ZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgoj
ICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQK
bWFpbiAoKQp7CiBzdHJ1Y3Qgc29ja2FkZHJfc3RvcmFnZSBzOwogIDsKICByZXR1cm4gMDsKfQpj
b25maWd1cmU6MTI1NDQ6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNTUzOiBjaGVja2luZyBmb3Ig
c3RydWN0IHNvY2thZGRyX2luNgpjb25maWd1cmU6MTI2MDE6IGdjYyAtYyAtZyAtTzIgLVdhbGwg
LVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1
ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZToxMjYwMTogJD8gPSAwCmNvbmZpZ3VyZToxMjYw
MTogdGVzdCAtcyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxMjYwMTogJD8gPSAwCmNvbmZpZ3VyZTox
MjYwMjogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEyNjExOiBjaGVja2luZyBmb3Igc3RydWN0IGlu
Nl9hZGRyCmNvbmZpZ3VyZToxMjY1OTogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJp
dGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3Qu
YyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxMjY3Mzogc3Rv
cmFnZSBzaXplIG9mIGBzJyBpc24ndCBrbm93bgpjb25maWd1cmU6MTI2NzM6IHdhcm5pbmc6IHVu
dXNlZCB2YXJpYWJsZSBgcycKY29uZmlndXJlOjEyNjU5OiAkPyA9IDEKY29uZmlndXJlOiBmYWls
ZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEyNjU5ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVm
cy5oIgoKI2luY2x1ZGUgPHN5cy90eXBlcy5oPgojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgoKI2lm
ZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgoj
ICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQK
bWFpbiAoKQp7CiBzdHJ1Y3QgaW42X2FkZHIgczsgcy5zNl9hZGRyWzBdID0gMDsKICA7CiAgcmV0
dXJuIDA7Cn0KY29uZmlndXJlOjEyNjYwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMjY2OTogY2hl
Y2tpbmcgZm9yIHN0cnVjdCBhZGRyaW5mbwpjb25maWd1cmU6MTI3MTg6IGdjYyAtYyAtZyAtTzIg
LVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3Ns
L2luY2x1ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpj
b25maWd1cmU6MTI3MzM6IHN0b3JhZ2Ugc2l6ZSBvZiBgcycgaXNuJ3Qga25vd24KY29uZmlndXJl
OjEyNzMzOiBgQUlfUEFTU0lWRScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24p
CmNvbmZpZ3VyZToxMjczMzogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVk
IG9ubHkgb25jZQpjb25maWd1cmU6MTI3MzM6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMg
aW4uKQpjb25maWd1cmU6MTI3MzM6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSBgcycKY29uZmln
dXJlOjEyNzE4OiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEy
NzE4ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy90eXBl
cy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8bmV0ZGIuaD4KCiNpZmRlZiBG
NzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5k
aWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4g
KCkKewogc3RydWN0IGFkZHJpbmZvIHM7IHMuYWlfZmxhZ3MgPSBBSV9QQVNTSVZFOwogIDsKICBy
ZXR1cm4gMDsKfQpjb25maWd1cmU6MTI3MTk6IHJlc3VsdDogbm8KY29uZmlndXJlOjEyNzI4OiBj
aGVja2luZyBmb3Igc3RydWN0IHRpbWV2YWwKY29uZmlndXJlOjEyNzczOiBnY2MgLWMgLWcgLU8y
IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3Nz
bC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTI3NzM6ICQ/ID0gMApjb25maWd1
cmU6MTI3NzM6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTI3NzM6ICQ/ID0gMApjb25m
aWd1cmU6MTI3NzQ6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMjg0OTogZ2NjIC1vIGNvbmZ0ZXN0
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9s
b2NhbC9zc2wvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL3NzbC9saWIgIGNvbmZ0ZXN0LmMgLWxic2Qg
LWx6ICAtbGNyeXB0byA+JjUKY29uZmlndXJlOjEyODU1OiB3YXJuaW5nOiByZXR1cm4tdHlwZSBk
ZWZhdWx0cyB0byBgaW50Jwpjb25maWd1cmU6MTI4NDk6ICQ/ID0gMApjb25maWd1cmU6MTI4NDk6
IC4vY29uZnRlc3QKY29uZmlndXJlOjEyODQ5OiAkPyA9IDAKY29uZmlndXJlOjEyODU2OiBjaGVj
a2luZyBmb3IgdXRfaG9zdCBmaWVsZCBpbiB1dG1wLmgKY29uZmlndXJlOjEyODkxOiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTI4OTc6IGNoZWNraW5nIGZvciB1dF9ob3N0IGZpZWxkIGluIHV0bXB4
LmgKY29uZmlndXJlOjEyOTE4OiB1dG1weC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CmNv
bmZpZ3VyZToxMjkzMjogcmVzdWx0OiBubwpjb25maWd1cmU6MTI5Mzg6IGNoZWNraW5nIGZvciBz
eXNsZW4gZmllbGQgaW4gdXRtcHguaApjb25maWd1cmU6MTI5NTk6IHV0bXB4Lmg6IE5vIHN1Y2gg
ZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEyOTczOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZTox
Mjk3OTogY2hlY2tpbmcgZm9yIHV0X3BpZCBmaWVsZCBpbiB1dG1wLmgKY29uZmlndXJlOjEzMDE0
OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTMwMjA6IGNoZWNraW5nIGZvciB1dF90eXBlIGZpZWxk
IGluIHV0bXAuaApjb25maWd1cmU6MTMwNTU6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxMzA2MTog
Y2hlY2tpbmcgZm9yIHV0X3R5cGUgZmllbGQgaW4gdXRtcHguaApjb25maWd1cmU6MTMwODI6IHV0
bXB4Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEzMDk2OiByZXN1bHQ6
IG5vCmNvbmZpZ3VyZToxMzEwMjogY2hlY2tpbmcgZm9yIHV0X3R2IGZpZWxkIGluIHV0bXAuaApj
b25maWd1cmU6MTMxMzc6IHJlc3VsdDogbm8KY29uZmlndXJlOjEzMTQzOiBjaGVja2luZyBmb3Ig
dXRfaWQgZmllbGQgaW4gdXRtcC5oCmNvbmZpZ3VyZToxMzE3ODogcmVzdWx0OiB5ZXMKY29uZmln
dXJlOjEzMTg0OiBjaGVja2luZyBmb3IgdXRfaWQgZmllbGQgaW4gdXRtcHguaApjb25maWd1cmU6
MTMyMDU6IHV0bXB4Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEzMjE5
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzIyNTogY2hlY2tpbmcgZm9yIHV0X2FkZHIgZmllbGQg
aW4gdXRtcC5oCmNvbmZpZ3VyZToxMzI2MDogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjEzMjY2OiBj
aGVja2luZyBmb3IgdXRfYWRkciBmaWVsZCBpbiB1dG1weC5oCmNvbmZpZ3VyZToxMzI4NzogdXRt
cHguaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQpjb25maWd1cmU6MTMzMDE6IHJlc3VsdDog
bm8KY29uZmlndXJlOjEzMzA3OiBjaGVja2luZyBmb3IgdXRfYWRkcl92NiBmaWVsZCBpbiB1dG1w
LmgKY29uZmlndXJlOjEzMzQyOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzM0ODogY2hlY2tpbmcg
Zm9yIHV0X2FkZHJfdjYgZmllbGQgaW4gdXRtcHguaApjb25maWd1cmU6MTMzNjk6IHV0bXB4Lmg6
IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEzMzgzOiByZXN1bHQ6IG5vCmNv
bmZpZ3VyZToxMzM4OTogY2hlY2tpbmcgZm9yIHV0X2V4aXQgZmllbGQgaW4gdXRtcC5oCmNvbmZp
Z3VyZToxMzQyNDogcmVzdWx0OiBubwpjb25maWd1cmU6MTM0MzA6IGNoZWNraW5nIGZvciB1dF90
aW1lIGZpZWxkIGluIHV0bXAuaApjb25maWd1cmU6MTM0NjU6IHJlc3VsdDogeWVzCmNvbmZpZ3Vy
ZToxMzQ3MTogY2hlY2tpbmcgZm9yIHV0X3RpbWUgZmllbGQgaW4gdXRtcHguaApjb25maWd1cmU6
MTM0OTI6IHV0bXB4Lmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKY29uZmlndXJlOjEzNTA2
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzUxMjogY2hlY2tpbmcgZm9yIHV0X3R2IGZpZWxkIGlu
IHV0bXB4LmgKY29uZmlndXJlOjEzNTMzOiB1dG1weC5oOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0
b3J5CmNvbmZpZ3VyZToxMzU0NzogcmVzdWx0OiBubwpjb25maWd1cmU6MTM1NTA6IGNoZWNraW5n
IGZvciBzdHJ1Y3Qgc3RhdC5zdF9ibGtzaXplCmNvbmZpZ3VyZToxMzU5NDogZ2NjIC1jIC1nIC1P
MiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9z
c2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOjEzNTk0OiAkPyA9IDAKY29uZmln
dXJlOjEzNTk0OiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjEzNTk0OiAkPyA9IDAKY29u
ZmlndXJlOjEzNTk1OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTM2MDc6IGNoZWNraW5nIGZvciBz
c19mYW1pbHkgZmllbGQgaW4gc3RydWN0IHNvY2thZGRyX3N0b3JhZ2UKY29uZmlndXJlOjEzNjU0
OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQg
LUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6IEluIGZ1
bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjEzNjY4OiBzdG9yYWdlIHNpemUgb2YgYHMnIGlzbid0
IGtub3duCmNvbmZpZ3VyZToxMzY2ODogd2FybmluZzogdW51c2VkIHZhcmlhYmxlIGBzJwpjb25m
aWd1cmU6MTM2NTQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFtIHdhczoKI2xpbmUg
MTM2NTQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5jbHVkZSA8c3lzL3R5
cGVzLmg+CiNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAg
aWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVN
TVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKIHN0cnVjdCBzb2Nr
YWRkcl9zdG9yYWdlIHM7IHMuc3NfZmFtaWx5ID0gMTsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmln
dXJlOjEzNjU1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzY2NDogY2hlY2tpbmcgZm9yIF9fc3Nf
ZmFtaWx5IGZpZWxkIGluIHN0cnVjdCBzb2NrYWRkcl9zdG9yYWdlCmNvbmZpZ3VyZToxMzcxMjog
Z2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1J
L3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBmdW5j
dGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxMzcyNjogc3RvcmFnZSBzaXplIG9mIGBzJyBpc24ndCBr
bm93bgpjb25maWd1cmU6MTM3MjY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSBgcycKY29uZmln
dXJlOjEzNzEyOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEz
NzEyICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5cy90eXBl
cy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlm
ZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1Z
X01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CiBzdHJ1Y3Qgc29ja2Fk
ZHJfc3RvcmFnZSBzOyBzLl9fc3NfZmFtaWx5ID0gMTsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmln
dXJlOjEzNzEzOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzcyMjogY2hlY2tpbmcgZm9yIHB3X2Ns
YXNzIGZpZWxkIGluIHN0cnVjdCBwYXNzd2QKY29uZmlndXJlOjEzNzY5OiBnY2MgLWMgLWcgLU8y
IC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3Nz
bC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoK
Y29uZmlndXJlOjEzNzgyOiBzdHJ1Y3R1cmUgaGFzIG5vIG1lbWJlciBuYW1lZCBgcHdfY2xhc3Mn
CmNvbmZpZ3VyZToxMzc2OTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgoj
bGluZSAxMzc2OSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxw
d2QuaD4KCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1cwogICAgIGV4
dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1cm4gMTsgfQoj
ZW5kaWYKaW50Cm1haW4gKCkKewogc3RydWN0IHBhc3N3ZCBwOyBwLnB3X2NsYXNzID0gMDsKICA7
CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjEzNzcwOiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzc3
OTogY2hlY2tpbmcgZm9yIHB3X2V4cGlyZSBmaWVsZCBpbiBzdHJ1Y3QgcGFzc3dkCmNvbmZpZ3Vy
ZToxMzgyNjogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRp
YWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJl
OiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxMzgzOTogc3RydWN0dXJlIGhhcyBubyBt
ZW1iZXIgbmFtZWQgYHB3X2V4cGlyZScKY29uZmlndXJlOjEzODI2OiAkPyA9IDEKY29uZmlndXJl
OiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEzODI2ICJjb25maWd1cmUiCiNpbmNsdWRlICJj
b25mZGVmcy5oIgoKI2luY2x1ZGUgPHB3ZC5oPgoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlm
ZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1Z
X01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CiBzdHJ1Y3QgcGFzc3dk
IHA7IHAucHdfZXhwaXJlID0gMDsKICA7CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjEzODI3OiBy
ZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzgzNjogY2hlY2tpbmcgZm9yIHB3X2NoYW5nZSBmaWVsZCBp
biBzdHJ1Y3QgcGFzc3dkCmNvbmZpZ3VyZToxMzg4MzogZ2NjIC1jIC1nIC1PMiAtV2FsbCAtV3Bv
aW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAg
Y29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZTox
Mzg5Njogc3RydWN0dXJlIGhhcyBubyBtZW1iZXIgbmFtZWQgYHB3X2NoYW5nZScKY29uZmlndXJl
OjEzODgzOiAkPyA9IDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNsaW5lIDEzODgz
ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHB3ZC5oPgoKI2lm
ZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9fY3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgoj
ICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4oKSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQK
bWFpbiAoKQp7CiBzdHJ1Y3QgcGFzc3dkIHA7IHAucHdfY2hhbmdlID0gMDsKICA7CiAgcmV0dXJu
IDA7Cn0KY29uZmlndXJlOjEzODg0OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzg5MzogY2hlY2tp
bmcgZm9yIG1zZ19hY2NyaWdodHMgZmllbGQgaW4gc3RydWN0IG1zZ2hkcgpjb25maWd1cmU6MTM5
NDQ6IGdjYyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGli
ICBjb25mdGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rp
b24gYG1haW4nOgpjb25maWd1cmU6MTM5NTQ6IHN0cnVjdHVyZSBoYXMgbm8gbWVtYmVyIG5hbWVk
IGBtc2dfYWNjcmlnaHRzJwpjb25maWd1cmU6MTM5NDQ6ICQ/ID0gMQpjb25maWd1cmU6IHByb2dy
YW0gZXhpdGVkIHdpdGggc3RhdHVzIDEKY29uZmlndXJlOiBmYWlsZWQgcHJvZ3JhbSB3YXM6CiNs
aW5lIDEzOTQ0ICJjb25maWd1cmUiCiNpbmNsdWRlICJjb25mZGVmcy5oIgoKI2luY2x1ZGUgPHN5
cy90eXBlcy5oPgojaW5jbHVkZSA8c3lzL3NvY2tldC5oPgojaW5jbHVkZSA8c3lzL3Vpby5oPgpp
bnQgbWFpbigpIHsKI2lmZGVmIG1zZ19hY2NyaWdodHMKZXhpdCgxKTsKI2VuZGlmCnN0cnVjdCBt
c2doZHIgbTsKbS5tc2dfYWNjcmlnaHRzID0gMDsKZXhpdCgwKTsKfQoKY29uZmlndXJlOjEzOTQ1
OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxMzk1NDogY2hlY2tpbmcgZm9yIG1zZ19jb250cm9sIGZp
ZWxkIGluIHN0cnVjdCBtc2doZHIKY29uZmlndXJlOjE0MDA1OiBnY2MgLW8gY29uZnRlc3QgLWcg
LU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2Fs
L3NzbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvc3NsL2xpYiAgY29uZnRlc3QuYyAtbGJzZCAtbHog
IC1sY3J5cHRvID4mNQpjb25maWd1cmU6MTQwMDU6ICQ/ID0gMApjb25maWd1cmU6MTQwMDU6IC4v
Y29uZnRlc3QKY29uZmlndXJlOjE0MDA1OiAkPyA9IDAKY29uZmlndXJlOjE0MDA2OiByZXN1bHQ6
IHllcwpjb25maWd1cmU6MTQwMTU6IGNoZWNraW5nIGlmIGxpYmMgZGVmaW5lcyBfX3Byb2duYW1l
CmNvbmZpZ3VyZToxNDA2MDogZ2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXIt
YXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgLUwvdXNy
L2xvY2FsL3NzbC9saWIgIGNvbmZ0ZXN0LmMgLWxic2QgLWx6ICAtbGNyeXB0byA+JjUKY29uZmln
dXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZpZ3VyZToxNDA3MTogd2FybmluZzogaW1wbGlj
aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gYHByaW50ZicKY29uZmlndXJlOjE0MDYwOiAkPyA9
IDAKY29uZmlndXJlOjE0MDYwOiB0ZXN0IC1zIGNvbmZ0ZXN0CmNvbmZpZ3VyZToxNDA2MDogJD8g
PSAwCmNvbmZpZ3VyZToxNDA2MTogcmVzdWx0OiB5ZXMKY29uZmlndXJlOjE0MDcwOiBjaGVja2lu
ZyB3aGV0aGVyIGdjYyBpbXBsZW1lbnRzIF9fRlVOQ1RJT05fXwpjb25maWd1cmU6MTQxMTc6IGdj
YyAtbyBjb25mdGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFs
aXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGliICBjb25m
dGVzdC5jIC1sYnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZToxNDExNzogJD8gPSAwCmNv
bmZpZ3VyZToxNDExNzogdGVzdCAtcyBjb25mdGVzdApjb25maWd1cmU6MTQxMTc6ICQ/ID0gMApj
b25maWd1cmU6MTQxMTg6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNDEyNzogY2hlY2tpbmcgd2hl
dGhlciBnY2MgaW1wbGVtZW50cyBfX2Z1bmNfXwpjb25maWd1cmU6MTQxNzQ6IGdjYyAtbyBjb25m
dGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91
c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1s
YnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25m
aWd1cmU6MTQxODc6IGBfX2Z1bmNfXycgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rp
b24pCmNvbmZpZ3VyZToxNDE4NzogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9y
dGVkIG9ubHkgb25jZQpjb25maWd1cmU6MTQxODc6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh
cnMgaW4uKQpjb25maWd1cmU6MTQxNzQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgMTQxNzQgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5j
bHVkZSA8c3RkaW8uaD4KCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBfX2NwbHVzcGx1
cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlOKCkgeyByZXR1
cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewogcHJpbnRmKCIlcyIsIF9fZnVuY19fKTsKICA7
CiAgcmV0dXJuIDA7Cn0KY29uZmlndXJlOjE0MTc1OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNDE4
NDogY2hlY2tpbmcgd2hldGhlciBnZXRvcHQgaGFzIG9wdHJlc2V0IHN1cHBvcnQKY29uZmlndXJl
OjE0MjMxOiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25v
LXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICAtTC91c3IvbG9jYWwvc3Ns
L2xpYiAgY29uZnRlc3QuYyAtbGJzZCAtbHogIC1sY3J5cHRvID4mNQovdG1wL2NjYTI2OTk1MS5v
OiBJbiBmdW5jdGlvbiBgbWFpbic6Ci90b29scy9vcGVuc3NoLTMuNHAxL2NvbmZpZ3VyZToxNDI0
NDogdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgb3B0cmVzZXQnCmNvbGxlY3QyOiBsZCByZXR1cm5l
ZCAxIGV4aXQgc3RhdHVzCmNvbmZpZ3VyZToxNDIzMTogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVk
IHByb2dyYW0gd2FzOgojbGluZSAxNDIzMSAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMu
aCIKCiNpbmNsdWRlIDxnZXRvcHQuaD4KCiNpZmRlZiBGNzdfRFVNTVlfTUFJTgojICBpZmRlZiBf
X2NwbHVzcGx1cwogICAgIGV4dGVybiAiQyIKIyAgZW5kaWYKICAgaW50IEY3N19EVU1NWV9NQUlO
KCkgeyByZXR1cm4gMTsgfQojZW5kaWYKaW50Cm1haW4gKCkKewogZXh0ZXJuIGludCBvcHRyZXNl
dDsgb3B0cmVzZXQgPSAwOwogIDsKICByZXR1cm4gMDsKfQpjb25maWd1cmU6MTQyMzI6IHJlc3Vs
dDogbm8KY29uZmlndXJlOjE0MjQxOiBjaGVja2luZyBpZiBsaWJjIGRlZmluZXMgc3lzX2Vycmxp
c3QKY29uZmlndXJlOjE0Mjg2OiBnY2MgLW8gY29uZnRlc3QgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICAtTC91
c3IvbG9jYWwvc3NsL2xpYiAgY29uZnRlc3QuYyAtbGJzZCAtbHogIC1sY3J5cHRvID4mNQpjb25m
aWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjE0Mjk3OiB3YXJuaW5nOiBpbXBs
aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiBgcHJpbnRmJwpjb25maWd1cmU6MTQyODY6ICQ/
ID0gMApjb25maWd1cmU6MTQyODY6IHRlc3QgLXMgY29uZnRlc3QKY29uZmlndXJlOjE0Mjg2OiAk
PyA9IDAKY29uZmlndXJlOjE0Mjg3OiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTQyOTc6IGNoZWNr
aW5nIGlmIGxpYmMgZGVmaW5lcyBzeXNfbmVycgpjb25maWd1cmU6MTQzNDI6IGdjYyAtbyBjb25m
dGVzdCAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5pbml0aWFsaXplZCAtSS91
c3IvbG9jYWwvc3NsL2luY2x1ZGUgIC1ML3Vzci9sb2NhbC9zc2wvbGliICBjb25mdGVzdC5jIC1s
YnNkIC1seiAgLWxjcnlwdG8gPiY1CmNvbmZpZ3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25m
aWd1cmU6MTQzNTM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIGBw
cmludGYnCmNvbmZpZ3VyZToxNDM0MjogJD8gPSAwCmNvbmZpZ3VyZToxNDM0MjogdGVzdCAtcyBj
b25mdGVzdApjb25maWd1cmU6MTQzNDI6ICQ/ID0gMApjb25maWd1cmU6MTQzNDM6IHJlc3VsdDog
eWVzCmNvbmZpZ3VyZToxNTM3OTogY2hlY2tpbmcgZm9yIHhhdXRoCmNvbmZpZ3VyZToxNTM3OTog
Zm91bmQgL3Vzci9YMTFSNi9iaW4veGF1dGgKY29uZmlndXJlOjE1Mzc5OiByZXN1bHQ6IC91c3Iv
WDExUjYvYmluL3hhdXRoCmNvbmZpZ3VyZToxNTQzNDogY2hlY2tpbmcgZm9yICIvZGV2L3B0YyIK
Y29uZmlndXJlOjE1NDQ5OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNTUzNjogY2hlY2tpbmcgZm9y
IG5yb2ZmCmNvbmZpZ3VyZToxNTUzNjogZm91bmQgL3Vzci9iaW4vbnJvZmYKY29uZmlndXJlOjE1
NTM2OiByZXN1bHQ6IC91c3IvYmluL25yb2ZmCmNvbmZpZ3VyZToxNTYzNzogY2hlY2tpbmcgaWYg
dGhlIHN5c3RlbXMgaGFzIGV4cGlyZSBzaGFkb3cgaW5mb3JtYXRpb24KY29uZmlndXJlOjE1NjM3
OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQg
LUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6MTU2Mzc6
ICQ/ID0gMApjb25maWd1cmU6MTU2Mzc6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6MTU2
Mzc6ICQ/ID0gMApjb25maWd1cmU6MTU2Mzc6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNTc3MDog
Z2NjIC1vIGNvbmZ0ZXN0IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRp
YWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5jbHVkZSAgLUwvdXNyL2xvY2FsL3NzbC9saWIgIGNv
bmZ0ZXN0LmMgLWxic2QgLWx6ICAtbGNyeXB0byAgID4mNQpjb25maWd1cmU6MTU3ODY6IHdhcm5p
bmc6IHJldHVybi10eXBlIGRlZmF1bHRzIHRvIGBpbnQnCmNvbmZpZ3VyZToxNTc3MDogJD8gPSAw
CmNvbmZpZ3VyZToxNTc3MDogLi9jb25mdGVzdApjb25maWd1cmU6MTU3NzA6ICQ/ID0gMApjb25m
aWd1cmU6MTU3NzA6IHJlc3VsdDogQWRkaW5nIC91c3IvbG9jYWwvYmluIHRvIFVTRVJfUEFUSCBz
byBzY3Agd2lsbCB3b3JrCmNvbmZpZ3VyZToxNTgxNTogY2hlY2tpbmcgaWYgd2UgbmVlZCB0byBj
b252ZXJ0IElQdjQgaW4gSVB2Ni1tYXBwZWQgYWRkcmVzc2VzCmNvbmZpZ3VyZToxNTg1MjogcmVz
dWx0OiB5ZXMgKGRlZmF1bHQpCmNvbmZpZ3VyZToxNTk5NDogY2hlY2tpbmcgaWYgeW91ciBzeXN0
ZW0gZGVmaW5lcyBMQVNUTE9HX0ZJTEUKY29uZmlndXJlOjE2MTAxOiBnY2MgLWMgLWcgLU8yIC1X
YWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9p
bmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29u
ZmlndXJlOjE2MDQ4OiBgTEFTVExPR19GSUxFJyB1bmRlY2xhcmVkIChmaXJzdCB1c2UgdGhpcyBm
dW5jdGlvbikKY29uZmlndXJlOjE2MDQ4OiAoRWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMg
cmVwb3J0ZWQgb25seSBvbmNlCmNvbmZpZ3VyZToxNjA0ODogZm9yIGVhY2ggZnVuY3Rpb24gaXQg
YXBwZWFycyBpbi4pCmNvbmZpZ3VyZToxNjA0ODogd2FybmluZzogdW51c2VkIHZhcmlhYmxlIGBs
YXN0bG9nJwpjb25maWd1cmU6MTYxMDE6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBwcm9ncmFt
IHdhczoKI2xpbmUgMTYwMjUgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgiCgojaW5j
bHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDx1dG1wLmg+CiNpZmRlZiBIQVZFX0xBU1RMT0df
SAojICBpbmNsdWRlIDxsYXN0bG9nLmg+CiNlbmRpZgojaWZkZWYgSEFWRV9QQVRIU19ICiMgIGlu
Y2x1ZGUgPHBhdGhzLmg+CiNlbmRpZgojaWZkZWYgSEFWRV9MT0dJTl9ICiMgaW5jbHVkZSA8bG9n
aW4uaD4KI2VuZGlmCgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMK
ICAgICBleHRlcm4gIkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJu
IDE7IH0KI2VuZGlmCmludAptYWluICgpCnsKIGNoYXIgKmxhc3Rsb2cgPSBMQVNUTE9HX0ZJTEU7
CiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxNjEwMTogcmVzdWx0OiBubwpjb25maWd1cmU6
MTYxMDE6IGNoZWNraW5nIGlmIHlvdXIgc3lzdGVtIGRlZmluZXMgX1BBVEhfTEFTVExPRwpjb25m
aWd1cmU6MTYxMDE6IGdjYyAtYyAtZyAtTzIgLVdhbGwgLVdwb2ludGVyLWFyaXRoIC1Xbm8tdW5p
bml0aWFsaXplZCAtSS91c3IvbG9jYWwvc3NsL2luY2x1ZGUgIGNvbmZ0ZXN0LmMgPiY1CmNvbmZp
Z3VyZTogSW4gZnVuY3Rpb24gYG1haW4nOgpjb25maWd1cmU6MTYxMjE6IHdhcm5pbmc6IHVudXNl
ZCB2YXJpYWJsZSBgbGFzdGxvZycKY29uZmlndXJlOjE2MTAxOiAkPyA9IDAKY29uZmlndXJlOjE2
MTAxOiB0ZXN0IC1zIGNvbmZ0ZXN0Lm8KY29uZmlndXJlOjE2MTAxOiAkPyA9IDAKY29uZmlndXJl
OjE2MTAxOiByZXN1bHQ6IHllcwpjb25maWd1cmU6MTYxMjU6IGNoZWNraW5nIGlmIHlvdXIgc3lz
dGVtIGRlZmluZXMgVVRNUF9GSUxFCmNvbmZpZ3VyZToxNjE3MjogZ2NjIC1jIC1nIC1PMiAtV2Fs
bCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9sb2NhbC9zc2wvaW5j
bHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBgbWFpbic6CmNvbmZp
Z3VyZToxNjE2Nzogd2FybmluZzogdW51c2VkIHZhcmlhYmxlIGB1dG1wJwpjb25maWd1cmU6MTYx
NzI6ICQ/ID0gMApjb25maWd1cmU6MTYxNzI6IHRlc3QgLXMgY29uZnRlc3Qubwpjb25maWd1cmU6
MTYxNzI6ICQ/ID0gMApjb25maWd1cmU6MTYxNzI6IHJlc3VsdDogeWVzCmNvbmZpZ3VyZToxNjE5
NjogY2hlY2tpbmcgaWYgeW91ciBzeXN0ZW0gZGVmaW5lcyBXVE1QX0ZJTEUKY29uZmlndXJlOjE2
MjQzOiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRlci1hcml0aCAtV25vLXVuaW5pdGlhbGl6
ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25mdGVzdC5jID4mNQpjb25maWd1cmU6IElu
IGZ1bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjE2MjM4OiB3YXJuaW5nOiB1bnVzZWQgdmFyaWFi
bGUgYHd0bXAnCmNvbmZpZ3VyZToxNjI0MzogJD8gPSAwCmNvbmZpZ3VyZToxNjI0MzogdGVzdCAt
cyBjb25mdGVzdC5vCmNvbmZpZ3VyZToxNjI0MzogJD8gPSAwCmNvbmZpZ3VyZToxNjI0MzogcmVz
dWx0OiB5ZXMKY29uZmlndXJlOjE2MjY4OiBjaGVja2luZyBpZiB5b3VyIHN5c3RlbSBkZWZpbmVz
IFVUTVBYX0ZJTEUKY29uZmlndXJlOjE2MzE4OiBnY2MgLWMgLWcgLU8yIC1XYWxsIC1XcG9pbnRl
ci1hcml0aCAtV25vLXVuaW5pdGlhbGl6ZWQgLUkvdXNyL2xvY2FsL3NzbC9pbmNsdWRlICBjb25m
dGVzdC5jID4mNQpjb25maWd1cmU6IEluIGZ1bmN0aW9uIGBtYWluJzoKY29uZmlndXJlOjE2MzE2
OiBgVVRNUFhfRklMRScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIHRoaXMgZnVuY3Rpb24pCmNvbmZp
Z3VyZToxNjMxNjogKEVhY2ggdW5kZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkg
b25jZQpjb25maWd1cmU6MTYzMTY6IGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4uKQpj
b25maWd1cmU6MTYzMTY6IHdhcm5pbmc6IHVudXNlZCB2YXJpYWJsZSBgdXRtcHgnCmNvbmZpZ3Vy
ZToxNjMxODogJD8gPSAxCmNvbmZpZ3VyZTogZmFpbGVkIHByb2dyYW0gd2FzOgojbGluZSAxNjI5
NiAiY29uZmlndXJlIgojaW5jbHVkZSAiY29uZmRlZnMuaCIKCiNpbmNsdWRlIDxzeXMvdHlwZXMu
aD4KI2luY2x1ZGUgPHV0bXAuaD4KI2lmZGVmIEhBVkVfVVRNUFhfSAojaW5jbHVkZSA8dXRtcHgu
aD4KI2VuZGlmCiNpZmRlZiBIQVZFX1BBVEhTX0gKIyAgaW5jbHVkZSA8cGF0aHMuaD4KI2VuZGlm
CgojaWZkZWYgRjc3X0RVTU1ZX01BSU4KIyAgaWZkZWYgX19jcGx1c3BsdXMKICAgICBleHRlcm4g
IkMiCiMgIGVuZGlmCiAgIGludCBGNzdfRFVNTVlfTUFJTigpIHsgcmV0dXJuIDE7IH0KI2VuZGlm
CmludAptYWluICgpCnsKIGNoYXIgKnV0bXB4ID0gVVRNUFhfRklMRTsKICA7CiAgcmV0dXJuIDA7
Cn0KY29uZmlndXJlOjE2MzE4OiByZXN1bHQ6IG5vCmNvbmZpZ3VyZToxNjMzNDogY2hlY2tpbmcg
aWYgeW91ciBzeXN0ZW0gZGVmaW5lcyBXVE1QWF9GSUxFCmNvbmZpZ3VyZToxNjM4NDogZ2NjIC1j
IC1nIC1PMiAtV2FsbCAtV3BvaW50ZXItYXJpdGggLVduby11bmluaXRpYWxpemVkIC1JL3Vzci9s
b2NhbC9zc2wvaW5jbHVkZSAgY29uZnRlc3QuYyA+JjUKY29uZmlndXJlOiBJbiBmdW5jdGlvbiBg
bWFpbic6CmNvbmZpZ3VyZToxNjM4MjogYFdUTVBYX0ZJTEUnIHVuZGVjbGFyZWQgKGZpcnN0IHVz
ZSB0aGlzIGZ1bmN0aW9uKQpjb25maWd1cmU6MTYzODI6IChFYWNoIHVuZGVjbGFyZWQgaWRlbnRp
ZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UKY29uZmlndXJlOjE2MzgyOiBmb3IgZWFjaCBmdW5j
dGlvbiBpdCBhcHBlYXJzIGluLikKY29uZmlndXJlOjE2MzgyOiB3YXJuaW5nOiB1bnVzZWQgdmFy
aWFibGUgYHd0bXB4Jwpjb25maWd1cmU6MTYzODQ6ICQ/ID0gMQpjb25maWd1cmU6IGZhaWxlZCBw
cm9ncmFtIHdhczoKI2xpbmUgMTYzNjIgImNvbmZpZ3VyZSIKI2luY2x1ZGUgImNvbmZkZWZzLmgi
CgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDx1dG1wLmg+CiNpZmRlZiBIQVZFX1VU
TVBYX0gKI2luY2x1ZGUgPHV0bXB4Lmg+CiNlbmRpZgojaWZkZWYgSEFWRV9QQVRIU19ICiMgIGlu
Y2x1ZGUgPHBhdGhzLmg+CiNlbmRpZgoKI2lmZGVmIEY3N19EVU1NWV9NQUlOCiMgIGlmZGVmIF9f
Y3BsdXNwbHVzCiAgICAgZXh0ZXJuICJDIgojICBlbmRpZgogICBpbnQgRjc3X0RVTU1ZX01BSU4o
KSB7IHJldHVybiAxOyB9CiNlbmRpZgppbnQKbWFpbiAoKQp7CiBjaGFyICp3dG1weCA9IFdUTVBY
X0ZJTEU7CiAgOwogIHJldHVybiAwOwp9CmNvbmZpZ3VyZToxNjM4NDogcmVzdWx0OiBubwpjb25m
aWd1cmU6MTY0OTg6IGNyZWF0aW5nIC4vY29uZmlnLnN0YXR1cwoKIyMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLSAjIwojIyBSdW5uaW5nIGNvbmZpZy5zdGF0dXMuICMjCiMjIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gIyMKClRoaXMgZmlsZSB3YXMgZXh0ZW5kZWQgYnkgY29uZmlnLnN0YXR1cywgd2hp
Y2ggd2FzCmdlbmVyYXRlZCBieSBHTlUgQXV0b2NvbmYgMi41My4gIEludm9jYXRpb24gY29tbWFu
ZCBsaW5lIHdhcwoKICBDT05GSUdfRklMRVMgICAgPSAKICBDT05GSUdfSEVBREVSUyAgPSAKICBD
T05GSUdfTElOS1MgICAgPSAKICBDT05GSUdfQ09NTUFORFMgPSAKICAkIC4vY29uZmlnLnN0YXR1
cyAKCm9uIHBvc3QKCmNvbmZpZy5zdGF0dXM6NjkwOiBjcmVhdGluZyBNYWtlZmlsZQpjb25maWcu
c3RhdHVzOjY5MDogY3JlYXRpbmcgb3BlbmJzZC1jb21wYXQvTWFrZWZpbGUKY29uZmlnLnN0YXR1
czo2OTA6IGNyZWF0aW5nIHNjYXJkL01ha2VmaWxlCmNvbmZpZy5zdGF0dXM6NjkwOiBjcmVhdGlu
ZyBzc2hfcHJuZ19jbWRzCmNvbmZpZy5zdGF0dXM6MTE2NzogY3JlYXRpbmcgY29uZmlnLmgKCiMj
IC0tLS0tLS0tLS0tLS0tLS0gIyMKIyMgQ2FjaGUgdmFyaWFibGVzLiAjIwojIyAtLS0tLS0tLS0t
LS0tLS0tICMjCgphY19jdl9idWlsZD0naTQ4Ni1wYy1saW51eC1nbnVsaWJjMScKYWNfY3ZfYnVp
bGRfYWxpYXM9J2k0ODYtcGMtbGludXgtZ251bGliYzEnCmFjX2N2X2NfYmlnZW5kaWFuPSdubycK
YWNfY3ZfY19jb21waWxlcl9nbnU9J3llcycKYWNfY3ZfY19pbmxpbmU9J2lubGluZScKYWNfY3Zf
Y2NfaW1wbGVtZW50c19fX0ZVTkNUSU9OX189J3llcycKYWNfY3ZfY2NfaW1wbGVtZW50c19fX2Z1
bmNfXz0nbm8nCmFjX2N2X2Vudl9DQ19zZXQ9JycKYWNfY3ZfZW52X0NDX3ZhbHVlPScnCmFjX2N2
X2Vudl9DRkxBR1Nfc2V0PScnCmFjX2N2X2Vudl9DRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0NQ
UEZMQUdTX3NldD0nJwphY19jdl9lbnZfQ1BQRkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X0NQUF9z
ZXQ9JycKYWNfY3ZfZW52X0NQUF92YWx1ZT0nJwphY19jdl9lbnZfTERGTEFHU19zZXQ9JycKYWNf
Y3ZfZW52X0xERkxBR1NfdmFsdWU9JycKYWNfY3ZfZW52X2J1aWxkX2FsaWFzX3NldD0nJwphY19j
dl9lbnZfYnVpbGRfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZW52X2hvc3RfYWxpYXNfc2V0PScnCmFj
X2N2X2Vudl9ob3N0X2FsaWFzX3ZhbHVlPScnCmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfc2V0PScn
CmFjX2N2X2Vudl90YXJnZXRfYWxpYXNfdmFsdWU9JycKYWNfY3ZfZXhlZXh0PScnCmFjX2N2X2Zp
bGVfX19kZXZfcHRjXz0nbm8nCmFjX2N2X2Z1bmNfX19iNjRfbnRvcD0nbm8nCmFjX2N2X2Z1bmNf
X2dldHB0eT0nbm8nCmFjX2N2X2Z1bmNfYXJjNHJhbmRvbT0nbm8nCmFjX2N2X2Z1bmNfYjY0X250
b3A9J25vJwphY19jdl9mdW5jX2Jjb3B5PSd5ZXMnCmFjX2N2X2Z1bmNfYmluZHJlc3Zwb3J0X3Nh
PSdubycKYWNfY3ZfZnVuY19jbG9jaz0neWVzJwphY19jdl9mdW5jX2RhZW1vbj0neWVzJwphY19j
dl9mdW5jX2Rpcm5hbWU9J25vJwphY19jdl9mdW5jX2VuZHV0ZW50PSd5ZXMnCmFjX2N2X2Z1bmNf
ZW5kdXR4ZW50PSdubycKYWNfY3ZfZnVuY19mY2htb2Q9J3llcycKYWNfY3ZfZnVuY19mY2hvd249
J3llcycKYWNfY3ZfZnVuY19mcmVlYWRkcmluZm89J25vJwphY19jdl9mdW5jX2Z1dGltZXM9J25v
JwphY19jdl9mdW5jX2dhaV9zdHJlcnJvcj0nbm8nCmFjX2N2X2Z1bmNfZ2V0YWRkcmluZm89J25v
JwphY19jdl9mdW5jX2dldGN3ZD0neWVzJwphY19jdl9mdW5jX2dldGdyb3VwbGlzdD0nbm8nCmFj
X2N2X2Z1bmNfZ2V0bmFtZWluZm89J25vJwphY19jdl9mdW5jX2dldG9wdD0neWVzJwphY19jdl9m
dW5jX2dldHBhZ2VzaXplPSd5ZXMnCmFjX2N2X2Z1bmNfZ2V0cGdycF92b2lkPSd5ZXMnCmFjX2N2
X2Z1bmNfZ2V0cmxpbWl0PSd5ZXMnCmFjX2N2X2Z1bmNfZ2V0cnVzYWdlPSd5ZXMnCmFjX2N2X2Z1
bmNfZ2V0c3BuYW09J3llcycKYWNfY3ZfZnVuY19nZXR0aW1lb2ZkYXk9J3llcycKYWNfY3ZfZnVu
Y19nZXR0dHllbnQ9J25vJwphY19jdl9mdW5jX2dldHV0ZW50PSd5ZXMnCmFjX2N2X2Z1bmNfZ2V0
dXRpZD0neWVzJwphY19jdl9mdW5jX2dldHV0bGluZT0neWVzJwphY19jdl9mdW5jX2dldHV0eGVu
dD0nbm8nCmFjX2N2X2Z1bmNfZ2V0dXR4aWQ9J25vJwphY19jdl9mdW5jX2dldHV0eGxpbmU9J25v
JwphY19jdl9mdW5jX2dsb2I9J3llcycKYWNfY3ZfZnVuY19pbmV0X2F0b249J3llcycKYWNfY3Zf
ZnVuY19pbmV0X250b2E9J3llcycKYWNfY3ZfZnVuY19pbmV0X250b3A9J25vJwphY19jdl9mdW5j
X2lubmV0Z3I9J3llcycKYWNfY3ZfZnVuY19sb2dpbl9nZXRjYXBib29sPSdubycKYWNfY3ZfZnVu
Y19sb2dvdXQ9J3llcycKYWNfY3ZfZnVuY19sb2d3dG1wPSd5ZXMnCmFjX2N2X2Z1bmNfbWQ1X2Ny
eXB0PSdubycKYWNfY3ZfZnVuY19tZW1tb3ZlPSd5ZXMnCmFjX2N2X2Z1bmNfbWtkdGVtcD0nbm8n
CmFjX2N2X2Z1bmNfbW1hcD0neWVzJwphY19jdl9mdW5jX25nZXRhZGRyaW5mbz0nbm8nCmFjX2N2
X2Z1bmNfb2dldGFkZHJpbmZvPSdubycKYWNfY3ZfZnVuY19vcGVucHR5PSd5ZXMnCmFjX2N2X2Z1
bmNfcHV0dXRsaW5lPSd5ZXMnCmFjX2N2X2Z1bmNfcHV0dXR4bGluZT0nbm8nCmFjX2N2X2Z1bmNf
cmVhZHBhc3NwaHJhc2U9J25vJwphY19jdl9mdW5jX3JlYWxwYXRoPSd5ZXMnCmFjX2N2X2Z1bmNf
cmVjdm1zZz0neWVzJwphY19jdl9mdW5jX3JyZXN2cG9ydF9hZj0nbm8nCmFjX2N2X2Z1bmNfc2Vu
ZG1zZz0neWVzJwphY19jdl9mdW5jX3NldGR0YWJsZXNpemU9J25vJwphY19jdl9mdW5jX3NldGVn
aWQ9J3llcycKYWNfY3ZfZnVuY19zZXRlbnY9J3llcycKYWNfY3ZfZnVuY19zZXRldWlkPSd5ZXMn
CmFjX2N2X2Z1bmNfc2V0Z3JvdXBzPSd5ZXMnCmFjX2N2X2Z1bmNfc2V0bG9naW49J25vJwphY19j
dl9mdW5jX3NldHBjcmVkPSdubycKYWNfY3ZfZnVuY19zZXRwcm9jdGl0bGU9J25vJwphY19jdl9m
dW5jX3NldHJlc2dpZD0neWVzJwphY19jdl9mdW5jX3NldHJldWlkPSd5ZXMnCmFjX2N2X2Z1bmNf
c2V0cmxpbWl0PSd5ZXMnCmFjX2N2X2Z1bmNfc2V0c2lkPSd5ZXMnCmFjX2N2X2Z1bmNfc2V0c29j
a29wdD0neWVzJwphY19jdl9mdW5jX3NldHV0ZW50PSd5ZXMnCmFjX2N2X2Z1bmNfc2V0dXR4ZW50
PSdubycKYWNfY3ZfZnVuY19zZXR2YnVmPSd5ZXMnCmFjX2N2X2Z1bmNfc2lnYWN0aW9uPSd5ZXMn
CmFjX2N2X2Z1bmNfc2lndmVjPSdubycKYWNfY3ZfZnVuY19zbnByaW50Zj0neWVzJwphY19jdl9m
dW5jX3NvY2tldHBhaXI9J3llcycKYWNfY3ZfZnVuY19zdHJjYXNlY21wPSd5ZXMnCmFjX2N2X2Z1
bmNfc3RyZXJyb3I9J3llcycKYWNfY3ZfZnVuY19zdHJmdGltZT0neWVzJwphY19jdl9mdW5jX3N0
cmxjYXQ9J25vJwphY19jdl9mdW5jX3N0cmxjcHk9J25vJwphY19jdl9mdW5jX3N0cm1vZGU9J25v
JwphY19jdl9mdW5jX3N0cnNlcD0neWVzJwphY19jdl9mdW5jX3N5c2NvbmY9J3llcycKYWNfY3Zf
ZnVuY190Y2dldHBncnA9J3llcycKYWNfY3ZfZnVuY190aW1lPSd5ZXMnCmFjX2N2X2Z1bmNfdHJ1
bmNhdGU9J3llcycKYWNfY3ZfZnVuY191cGR3dG1wPSdubycKYWNfY3ZfZnVuY191dGltZXM9J3ll
cycKYWNfY3ZfZnVuY191dG1wbmFtZT0neWVzJwphY19jdl9mdW5jX3V0bXB4bmFtZT0nbm8nCmFj
X2N2X2Z1bmNfdmhhbmd1cD0neWVzJwphY19jdl9mdW5jX3ZzbnByaW50Zj0neWVzJwphY19jdl9m
dW5jX3dhaXRwaWQ9J3llcycKYWNfY3ZfZnVuY195cF9tYXRjaD0neWVzJwphY19jdl9oYXZlX19f
c3NfZmFtaWx5X2luX3N0cnVjdF9zcz0nbm8nCmFjX2N2X2hhdmVfYWNjcmlnaHRzX2luX21zZ2hk
cj0nbm8nCmFjX2N2X2hhdmVfY2xvY2tfdD0neWVzJwphY19jdl9oYXZlX2NvbnRyb2xfaW5fbXNn
aGRyPSd5ZXMnCmFjX2N2X2hhdmVfZ2V0b3B0X29wdHJlc2V0PSdubycKYWNfY3ZfaGF2ZV9pbnQ2
NF90PSd5ZXMnCmFjX2N2X2hhdmVfaW50eHhfdD0neWVzJwphY19jdl9oYXZlX21vZGVfdD0neWVz
JwphY19jdl9oYXZlX3BpZF90PSd5ZXMnCmFjX2N2X2hhdmVfcHdfY2hhbmdlX2luX3N0cnVjdF9w
YXNzd2Q9J25vJwphY19jdl9oYXZlX3B3X2NsYXNzX2luX3N0cnVjdF9wYXNzd2Q9J25vJwphY19j
dl9oYXZlX3B3X2V4cGlyZV9pbl9zdHJ1Y3RfcGFzc3dkPSdubycKYWNfY3ZfaGF2ZV9zYV9mYW1p
bHlfdD0nbm8nCmFjX2N2X2hhdmVfc2l6ZV90PSd5ZXMnCmFjX2N2X2hhdmVfc3NfZmFtaWx5X2lu
X3N0cnVjdF9zcz0nbm8nCmFjX2N2X2hhdmVfc3NpemVfdD0neWVzJwphY19jdl9oYXZlX3N0cnVj
dF9hZGRyaW5mbz0nbm8nCmFjX2N2X2hhdmVfc3RydWN0X2luNl9hZGRyPSdubycKYWNfY3ZfaGF2
ZV9zdHJ1Y3Rfc29ja2FkZHJfaW42PSd5ZXMnCmFjX2N2X2hhdmVfc3RydWN0X3NvY2thZGRyX3N0
b3JhZ2U9J25vJwphY19jdl9oYXZlX3N0cnVjdF90aW1ldmFsPSd5ZXMnCmFjX2N2X2hhdmVfdV9j
aGFyPSd5ZXMnCmFjX2N2X2hhdmVfdV9pbnQ9J3llcycKYWNfY3ZfaGF2ZV91X2ludDY0X3Q9J3ll
cycKYWNfY3ZfaGF2ZV91X2ludHh4X3Q9J3llcycKYWNfY3ZfaGVhZGVyX2JzdHJpbmdfaD0neWVz
JwphY19jdl9oZWFkZXJfY3J5cHRfaD0nbm8nCmFjX2N2X2hlYWRlcl9lbmRpYW5faD0neWVzJwph
Y19jdl9oZWFkZXJfZmxvYXRpbmdwb2ludF9oPSdubycKYWNfY3ZfaGVhZGVyX2dldG9wdF9oPSd5
ZXMnCmFjX2N2X2hlYWRlcl9nbG9iX2g9J3llcycKYWNfY3ZfaGVhZGVyX2ludHR5cGVzX2g9J25v
JwphY19jdl9oZWFkZXJfbGFzdGxvZ19oPSd5ZXMnCmFjX2N2X2hlYWRlcl9saWJ1dGlsX2g9J25v
JwphY19jdl9oZWFkZXJfbGltaXRzX2g9J3llcycKYWNfY3ZfaGVhZGVyX2xvZ2luX2NhcF9oPSdu
bycKYWNfY3ZfaGVhZGVyX2xvZ2luX2g9J25vJwphY19jdl9oZWFkZXJfbWFpbGxvY2tfaD0nbm8n
CmFjX2N2X2hlYWRlcl9tZW1vcnlfaD0neWVzJwphY19jdl9oZWFkZXJfbmV0ZGJfaD0neWVzJwph
Y19jdl9oZWFkZXJfbmV0Z3JvdXBfaD0nbm8nCmFjX2N2X2hlYWRlcl9uZXRpbmV0X2luX3N5c3Rt
X2g9J3llcycKYWNfY3ZfaGVhZGVyX3BhdGhzX2g9J3llcycKYWNfY3ZfaGVhZGVyX3B0eV9oPSdu
bycKYWNfY3ZfaGVhZGVyX3JlYWRwYXNzcGhyYXNlX2g9J25vJwphY19jdl9oZWFkZXJfcnBjX3R5
cGVzX2g9J3llcycKYWNfY3ZfaGVhZGVyX3NlY3VyaXR5X3BhbV9hcHBsX2g9J25vJwphY19jdl9o
ZWFkZXJfc2hhZG93X2g9J3llcycKYWNfY3ZfaGVhZGVyX3N0ZGM9J3llcycKYWNfY3ZfaGVhZGVy
X3N0ZGRlZl9oPSd5ZXMnCmFjX2N2X2hlYWRlcl9zdGRpbnRfaD0nbm8nCmFjX2N2X2hlYWRlcl9z
dGRsaWJfaD0neWVzJwphY19jdl9oZWFkZXJfc3RyaW5nX2g9J3llcycKYWNfY3ZfaGVhZGVyX3N0
cmluZ3NfaD0neWVzJwphY19jdl9oZWFkZXJfc3lzX2JpdHlwZXNfaD0neWVzJwphY19jdl9oZWFk
ZXJfc3lzX2JzZHR0eV9oPSdubycKYWNfY3ZfaGVhZGVyX3N5c19jZGVmc19oPSd5ZXMnCmFjX2N2
X2hlYWRlcl9zeXNfbW1hbl9oPSd5ZXMnCmFjX2N2X2hlYWRlcl9zeXNfc2VsZWN0X2g9J25vJwph
Y19jdl9oZWFkZXJfc3lzX3N0YXRfaD0neWVzJwphY19jdl9oZWFkZXJfc3lzX3N0cm9wdHNfaD0n
bm8nCmFjX2N2X2hlYWRlcl9zeXNfc3lzbWFjcm9zX2g9J3llcycKYWNfY3ZfaGVhZGVyX3N5c190
aW1lX2g9J3llcycKYWNfY3ZfaGVhZGVyX3N5c190eXBlc19oPSd5ZXMnCmFjX2N2X2hlYWRlcl9z
eXNfdW5faD0neWVzJwphY19jdl9oZWFkZXJfdGltZV9oPSd5ZXMnCmFjX2N2X2hlYWRlcl90dHll
bnRfaD0nbm8nCmFjX2N2X2hlYWRlcl91bmlzdGRfaD0neWVzJwphY19jdl9oZWFkZXJfdXNlcnNl
Y19oPSdubycKYWNfY3ZfaGVhZGVyX3V0aWxfaD0nbm8nCmFjX2N2X2hlYWRlcl91dGltZV9oPSd5
ZXMnCmFjX2N2X2hlYWRlcl91dG1wX2g9J3llcycKYWNfY3ZfaGVhZGVyX3V0bXB4X2g9J25vJwph
Y19jdl9ob3N0PSdpNDg2LXBjLWxpbnV4LWdudWxpYmMxJwphY19jdl9ob3N0X2FsaWFzPSdpNDg2
LXBjLWxpbnV4LWdudWxpYmMxJwphY19jdl9saWJfY3J5cHRfY3J5cHQ9J25vJwphY19jdl9saWJf
Z2VuX2Rpcm5hbWU9J25vJwphY19jdl9saWJfel9kZWZsYXRlPSd5ZXMnCmFjX2N2X2xpYmNfZGVm
aW5lc19fX3Byb2duYW1lPSd5ZXMnCmFjX2N2X2xpYmNfZGVmaW5lc19zeXNfZXJybGlzdD0neWVz
JwphY19jdl9saWJjX2RlZmluZXNfc3lzX25lcnI9J3llcycKYWNfY3ZfbWVtYmVyX3N0cnVjdF9z
dGF0X3N0X2Jsa3NpemU9J3llcycKYWNfY3Zfb2JqZXh0PSdvJwphY19jdl9wYXRoX0FSPScvdXNy
L2Jpbi9hcicKYWNfY3ZfcGF0aF9MT0dJTl9QUk9HUkFNX0ZBTExCQUNLPScvYmluL2xvZ2luJwph
Y19jdl9wYXRoX05ST0ZGPScvdXNyL2Jpbi9ucm9mZicKYWNfY3ZfcGF0aF9QRVJMPScvdXNyL2Jp
bi9wZXJsJwphY19jdl9wYXRoX1BST0dfQVJQPScvc2Jpbi9hcnAnCmFjX2N2X3BhdGhfUFJPR19E
Rj0nL2Jpbi9kZicKYWNfY3ZfcGF0aF9QUk9HX0lGQ09ORklHPScvc2Jpbi9pZmNvbmZpZycKYWNf
Y3ZfcGF0aF9QUk9HX0lQQ1M9Jy91c3IvYmluL2lwY3MnCmFjX2N2X3BhdGhfUFJPR19MQVNUPScv
dXNyL2Jpbi9sYXN0JwphY19jdl9wYXRoX1BST0dfTEFTVExPRz0nL3Vzci9zYmluL2xhc3Rsb2cn
CmFjX2N2X3BhdGhfUFJPR19MUz0nL2Jpbi9scycKYWNfY3ZfcGF0aF9QUk9HX05FVFNUQVQ9Jy9i
aW4vbmV0c3RhdCcKYWNfY3ZfcGF0aF9QUk9HX1BTPScvYmluL3BzJwphY19jdl9wYXRoX1BST0df
VEFJTD0nL3Vzci9iaW4vdGFpbCcKYWNfY3ZfcGF0aF9QUk9HX1VQVElNRT0nL3Vzci9iaW4vdXB0
aW1lJwphY19jdl9wYXRoX1BST0dfVk1TVEFUPScvdXNyL2Jpbi92bXN0YXQnCmFjX2N2X3BhdGhf
UFJPR19XPScvdXNyL2Jpbi93JwphY19jdl9wYXRoX1BST0dfV0hPPScvdXNyL2Jpbi93aG8nCmFj
X2N2X3BhdGhfU0g9Jy9iaW4vc2gnCmFjX2N2X3BhdGhfVEVTVF9NSU5VU19TX1NIPScvdXNyL2Jp
bi9iYXNoJwphY19jdl9wYXRoX2luc3RhbGw9Jy91c3IvYmluL2dpbnN0YWxsIC1jJwphY19jdl9w
YXRoX3hhdXRoX3BhdGg9Jy91c3IvWDExUjYvYmluL3hhdXRoJwphY19jdl9wcm9nX0NQUD0nZ2Nj
IC1FJwphY19jdl9wcm9nX2FjX2N0X0NDPSdnY2MnCmFjX2N2X3Byb2dfYWNfY3RfUkFOTElCPSdy
YW5saWInCmFjX2N2X3Byb2dfY2NfZz0neWVzJwphY19jdl9wcm9nX2NjX3N0ZGM9JycKYWNfY3Zf
c2VhcmNoX2xvZ2luPSctbGJzZCcKYWNfY3Zfc2l6ZW9mX2NoYXI9JzEnCmFjX2N2X3NpemVvZl9p
bnQ9JzQnCmFjX2N2X3NpemVvZl9sb25nX2ludD0nNCcKYWNfY3Zfc2l6ZW9mX2xvbmdfbG9uZ19p
bnQ9JzgnCmFjX2N2X3NpemVvZl9zaG9ydF9pbnQ9JzInCmFjX2N2X3N5c19maWxlX29mZnNldF9i
aXRzPSdubycKYWNfY3Zfc3lzX2xhcmdlX2ZpbGVzPSdubycKYWNfY3Zfc3lzX2xhcmdlZmlsZV9D
Qz0nbm8nCmFjX2N2X3R5cGVfY2hhcj0neWVzJwphY19jdl90eXBlX2ludD0neWVzJwphY19jdl90
eXBlX2xvbmdfaW50PSd5ZXMnCmFjX2N2X3R5cGVfbG9uZ19sb25nX2ludD0neWVzJwphY19jdl90
eXBlX3Nob3J0X2ludD0neWVzJwphY19jdl90eXBlX3NpZ19hdG9taWNfdD0neWVzJwphY19jdl90
eXBlX3NvY2tsZW5fdD0nbm8nCmN1cmxfY3Zfc29ja2xlbl90X2VxdWl2PSdpbnQnCm9zc2hfY3Zf
dXRtcF9oX2hhc191dF9hZGRyPSd5ZXMnCm9zc2hfY3ZfdXRtcF9oX2hhc191dF9hZGRyX3Y2PSdu
bycKb3NzaF9jdl91dG1wX2hfaGFzX3V0X2V4aXQ9J25vJwpvc3NoX2N2X3V0bXBfaF9oYXNfdXRf
aG9zdD0neWVzJwpvc3NoX2N2X3V0bXBfaF9oYXNfdXRfaWQ9J3llcycKb3NzaF9jdl91dG1wX2hf
aGFzX3V0X3BpZD0neWVzJwpvc3NoX2N2X3V0bXBfaF9oYXNfdXRfdGltZT0neWVzJwpvc3NoX2N2
X3V0bXBfaF9oYXNfdXRfdHY9J25vJwpvc3NoX2N2X3V0bXBfaF9oYXNfdXRfdHlwZT0neWVzJwpv
c3NoX2N2X3V0bXB4X2hfaGFzX3N5c2xlbj0nbm8nCm9zc2hfY3ZfdXRtcHhfaF9oYXNfdXRfYWRk
cj0nbm8nCm9zc2hfY3ZfdXRtcHhfaF9oYXNfdXRfYWRkcl92Nj0nbm8nCm9zc2hfY3ZfdXRtcHhf
aF9oYXNfdXRfaG9zdD0nbm8nCm9zc2hfY3ZfdXRtcHhfaF9oYXNfdXRfaWQ9J25vJwpvc3NoX2N2
X3V0bXB4X2hfaGFzX3V0X3RpbWU9J25vJwpvc3NoX2N2X3V0bXB4X2hfaGFzX3V0X3R2PSdubycK
b3NzaF9jdl91dG1weF9oX2hhc191dF90eXBlPSdubycKCiMjIC0tLS0tLS0tLS0tICMjCiMjIGNv
bmZkZWZzLmguICMjCiMjIC0tLS0tLS0tLS0tICMjCgojZGVmaW5lIFBBQ0tBR0VfTkFNRSAiIgoj
ZGVmaW5lIFBBQ0tBR0VfVEFSTkFNRSAiIgojZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAiIgojZGVm
aW5lIFBBQ0tBR0VfU1RSSU5HICIiCiNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgIiIKI2RlZmlu
ZSBMT0dJTl9QUk9HUkFNX0ZBTExCQUNLICIvYmluL2xvZ2luIgojZGVmaW5lIERPTlRfVFJZX09U
SEVSX0FGIDEKI2RlZmluZSBQQU1fVFRZX0tMVURHRSAxCiNkZWZpbmUgU1REQ19IRUFERVJTIDEK
I2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQojZGVm
aW5lIEhBVkVfU1RETElCX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HX0ggMQojZGVmaW5lIEhBVkVf
TUVNT1JZX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1VOSVNURF9I
IDEKI2RlZmluZSBIQVZFX0JTVFJJTkdfSCAxCiNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCiNkZWZp
bmUgSEFWRV9HRVRPUFRfSCAxCiNkZWZpbmUgSEFWRV9HTE9CX0ggMQojZGVmaW5lIEhBVkVfTEFT
VExPR19IIDEKI2RlZmluZSBIQVZFX0xJTUlUU19IIDEKI2RlZmluZSBIQVZFX05FVERCX0ggMQoj
ZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9TWVNUTV9IIDEKI2RlZmluZSBIQVZFX1BBVEhTX0ggMQoj
ZGVmaW5lIEhBVkVfUlBDX1RZUEVTX0ggMQojZGVmaW5lIEhBVkVfU0hBRE9XX0ggMQojZGVmaW5l
IEhBVkVfU1REREVGX0ggMQojZGVmaW5lIEhBVkVfU1RSSU5HU19IIDEKI2RlZmluZSBIQVZFX1NZ
U19CSVRZUEVTX0ggMQojZGVmaW5lIEhBVkVfU1lTX0NERUZTX0ggMQojZGVmaW5lIEhBVkVfU1lT
X01NQU5fSCAxCiNkZWZpbmUgSEFWRV9TWVNfU1RBVF9IIDEKI2RlZmluZSBIQVZFX1NZU19TWVNN
QUNST1NfSCAxCiNkZWZpbmUgSEFWRV9TWVNfVElNRV9IIDEKI2RlZmluZSBIQVZFX1NZU19VTl9I
IDEKI2RlZmluZSBIQVZFX1RJTUVfSCAxCiNkZWZpbmUgSEFWRV9VVElNRV9IIDEKI2RlZmluZSBI
QVZFX1VUTVBfSCAxCiNkZWZpbmUgSEFWRV9MSUJaIDEKI2RlZmluZSBIQVZFX0xPR0lOIDEKI2Rl
ZmluZSBIQVZFX0xPR09VVCAxCiNkZWZpbmUgSEFWRV9MT0dXVE1QIDEKI2RlZmluZSBIQVZFX1NU
UkZUSU1FIDEKI2RlZmluZSBIQVZFX0JDT1BZIDEKI2RlZmluZSBIQVZFX0NMT0NLIDEKI2RlZmlu
ZSBIQVZFX0ZDSE1PRCAxCiNkZWZpbmUgSEFWRV9GQ0hPV04gMQojZGVmaW5lIEhBVkVfR0VUQ1dE
IDEKI2RlZmluZSBIQVZFX0dFVE9QVCAxCiNkZWZpbmUgSEFWRV9HRVRSTElNSVQgMQojZGVmaW5l
IEhBVkVfR0VUUlVTQUdFIDEKI2RlZmluZSBIQVZFX0dMT0IgMQojZGVmaW5lIEhBVkVfSU5FVF9B
VE9OIDEKI2RlZmluZSBIQVZFX0lORVRfTlRPQSAxCiNkZWZpbmUgSEFWRV9JTk5FVEdSIDEKI2Rl
ZmluZSBIQVZFX01FTU1PVkUgMQojZGVmaW5lIEhBVkVfTU1BUCAxCiNkZWZpbmUgSEFWRV9PUEVO
UFRZIDEKI2RlZmluZSBIQVZFX1JFQUxQQVRIIDEKI2RlZmluZSBIQVZFX1JFQ1ZNU0cgMQojZGVm
aW5lIEhBVkVfU0VORE1TRyAxCiNkZWZpbmUgSEFWRV9TRVRFR0lEIDEKI2RlZmluZSBIQVZFX1NF
VEVOViAxCiNkZWZpbmUgSEFWRV9TRVRFVUlEIDEKI2RlZmluZSBIQVZFX1NFVEdST1VQUyAxCiNk
ZWZpbmUgSEFWRV9TRVRSRVNHSUQgMQojZGVmaW5lIEhBVkVfU0VUUkVVSUQgMQojZGVmaW5lIEhB
VkVfU0VUUkxJTUlUIDEKI2RlZmluZSBIQVZFX1NFVFNJRCAxCiNkZWZpbmUgSEFWRV9TRVRWQlVG
IDEKI2RlZmluZSBIQVZFX1NJR0FDVElPTiAxCiNkZWZpbmUgSEFWRV9TTlBSSU5URiAxCiNkZWZp
bmUgSEFWRV9TT0NLRVRQQUlSIDEKI2RlZmluZSBIQVZFX1NUUkVSUk9SIDEKI2RlZmluZSBIQVZF
X1NUUlNFUCAxCiNkZWZpbmUgSEFWRV9TWVNDT05GIDEKI2RlZmluZSBIQVZFX1RDR0VUUEdSUCAx
CiNkZWZpbmUgSEFWRV9UUlVOQ0FURSAxCiNkZWZpbmUgSEFWRV9VVElNRVMgMQojZGVmaW5lIEhB
VkVfVkhBTkdVUCAxCiNkZWZpbmUgSEFWRV9WU05QUklOVEYgMQojZGVmaW5lIEhBVkVfV0FJVFBJ
RCAxCiNkZWZpbmUgSEFWRV9HRVRUSU1FT0ZEQVkgMQojZGVmaW5lIEhBVkVfVElNRSAxCiNkZWZp
bmUgSEFWRV9FTkRVVEVOVCAxCiNkZWZpbmUgSEFWRV9HRVRVVEVOVCAxCiNkZWZpbmUgSEFWRV9H
RVRVVElEIDEKI2RlZmluZSBIQVZFX0dFVFVUTElORSAxCiNkZWZpbmUgSEFWRV9QVVRVVExJTkUg
MQojZGVmaW5lIEhBVkVfU0VUVVRFTlQgMQojZGVmaW5lIEhBVkVfVVRNUE5BTUUgMQojZGVmaW5l
IEhBVkVfREFFTU9OIDEKI2RlZmluZSBIQVZFX0dFVFBBR0VTSVpFIDEKI2RlZmluZSBHRVRQR1JQ
X1ZPSUQgMQojZGVmaW5lIEhBVkVfT1BFTlNTTCAxCiNkZWZpbmUgT1BFTlNTTF9QUk5HX09OTFkg
MQojZGVmaW5lIEVOVFJPUFlfVElNRU9VVF9NU0VDIDIwMAojZGVmaW5lIFNTSF9QUklWU0VQX1VT
RVIgInNzaGQiCiNkZWZpbmUgU0laRU9GX0NIQVIgMQojZGVmaW5lIFNJWkVPRl9TSE9SVF9JTlQg
MgojZGVmaW5lIFNJWkVPRl9JTlQgNAojZGVmaW5lIFNJWkVPRl9MT05HX0lOVCA0CiNkZWZpbmUg
U0laRU9GX0xPTkdfTE9OR19JTlQgOAojZGVmaW5lIEhBVkVfVV9JTlQgMQojZGVmaW5lIEhBVkVf
SU5UWFhfVCAxCiNkZWZpbmUgSEFWRV9JTlQ2NF9UIDEKI2RlZmluZSBIQVZFX1VfSU5UWFhfVCAx
CiNkZWZpbmUgSEFWRV9VX0lOVDY0X1QgMQojZGVmaW5lIEhBVkVfVV9DSEFSIDEKI2RlZmluZSBz
b2NrbGVuX3QgaW50CiNkZWZpbmUgSEFWRV9TSUdfQVRPTUlDX1QgMQojZGVmaW5lIEhBVkVfU0la
RV9UIDEKI2RlZmluZSBIQVZFX1NTSVpFX1QgMQojZGVmaW5lIEhBVkVfQ0xPQ0tfVCAxCiNkZWZp
bmUgSEFWRV9QSURfVCAxCiNkZWZpbmUgSEFWRV9NT0RFX1QgMQojZGVmaW5lIEhBVkVfU1RSVUNU
X1NPQ0tBRERSX0lONiAxCiNkZWZpbmUgSEFWRV9TVFJVQ1RfVElNRVZBTCAxCiNkZWZpbmUgSEFW
RV9IT1NUX0lOX1VUTVAgMQojZGVmaW5lIEhBVkVfUElEX0lOX1VUTVAgMQojZGVmaW5lIEhBVkVf
VFlQRV9JTl9VVE1QIDEKI2RlZmluZSBIQVZFX0lEX0lOX1VUTVAgMQojZGVmaW5lIEhBVkVfQURE
Ul9JTl9VVE1QIDEKI2RlZmluZSBIQVZFX1RJTUVfSU5fVVRNUCAxCiNkZWZpbmUgSEFWRV9TVFJV
Q1RfU1RBVF9TVF9CTEtTSVpFIDEKI2RlZmluZSBIQVZFX0NPTlRST0xfSU5fTVNHSERSIDEKI2Rl
ZmluZSBIQVZFX19fUFJPR05BTUUgMQojZGVmaW5lIEhBVkVfX19GVU5DVElPTl9fIDEKI2RlZmlu
ZSBIQVZFX1NZU19FUlJMSVNUIDEKI2RlZmluZSBIQVZFX1NZU19ORVJSIDEKI2RlZmluZSBYQVVU
SF9QQVRIICIvdXNyL1gxMVI2L2Jpbi94YXV0aCIKI2RlZmluZSBNQUlMX0RJUkVDVE9SWSAiL3Zh
ci9zcG9vbC9tYWlsIgojZGVmaW5lIEhBU19TSEFET1dfRVhQSVJFIDEKI2RlZmluZSBVU0VSX1BB
VEggIi91c3IvYmluOi9iaW46L3Vzci9zYmluOi9zYmluOi91c3IvbG9jYWwvYmluIgojZGVmaW5l
IElQVjRfSU5fSVBWNiAxCiNkZWZpbmUgX1BBVEhfU1NIX1BJRERJUiAiL3Zhci9ydW4iCiNkZWZp
bmUgRElTQUJMRV9VVE1QWCAxCiNkZWZpbmUgRElTQUJMRV9XVE1QWCAxCgpjb25maWd1cmU6IGV4
aXQgMAo
------------102196104183A44AE--