public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c/9526: Internal compiler error
@ 2003-05-09 22:46 Dara Hazeghi
  0 siblings, 0 replies; 5+ messages in thread
From: Dara Hazeghi @ 2003-05-09 22:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c/9526; it has been noted by GNATS.

From: Dara Hazeghi <dhazeghi@yahoo.com>
To: gcc-gnats@gcc.gnu.org, p.grassberger@fz-juelich.de
Cc:  
Subject: Re: c/9526: Internal compiler error
Date: Fri, 9 May 2003 15:42:33 -0700

 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit- 
 trail&database=gcc&pr=9526
 
 Hello,
 
 could the submitter of this bug report please verify that this bug is  
 still present in a more current version of gcc (ie 3.2.3). Thanks,
 
 Dara
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c/9526: Internal compiler error
@ 2003-02-01 16:06 P.Grassberger
  0 siblings, 0 replies; 5+ messages in thread
From: P.Grassberger @ 2003-02-01 16:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c/9526; it has been noted by GNATS.

From: "P.Grassberger" <p.grassberger@fz-juelich.de>
To: ehrhardt@mathematik.uni-ulm.de, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
        nobody@gcc.gnu.org, p.grassberger@fz-juelich.de, gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c/9526: Internal compiler error
Date: Sat, 01 Feb 2003 17:02:05 +0100

 I forgot to say that I complied with "gcc -O5", no other options.
 I don't get an error without optimization, but I do get one also 
 with "gcc -O".
 
 
 ehrhardt@mathematik.uni-ulm.de wrote:
 > 
 > Synopsis: Internal compiler error
 > 
 > State-Changed-From-To: open->feedback
 > State-Changed-By: cae
 > State-Changed-When: Sat Feb  1 14:43:42 2003
 > State-Changed-Why:
 >     I can't reproduce this either. Could you at least provide us
 >     with somewhat more detailed instruction on how to repeat the bug
 >     an the text of the Internal compiler error message that you got?
 > 
 > 
 > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9526
 
 -- 
 Peter Grassberger
 John-von-Neumann Institute for Computing
 Forschungszentrum Juelich
 D-52425 Juelich, Germany
 Tel +49-2461-61-2326
 Fax +49-2461-61-2430
 e-mail p.grassberger@fz-juelich.de


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c/9526: Internal compiler error
@ 2003-02-01 14:43 ehrhardt
  0 siblings, 0 replies; 5+ messages in thread
From: ehrhardt @ 2003-02-01 14:43 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nobody, p.grassberger

Synopsis: Internal compiler error

State-Changed-From-To: open->feedback
State-Changed-By: cae
State-Changed-When: Sat Feb  1 14:43:42 2003
State-Changed-Why:
    I can't reproduce this either. Could you at least provide us
    with somewhat more detailed instruction on how to repeat the bug
    an the text of the Internal compiler error message that you got?
    

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9526


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c/9526: Internal compiler error
@ 2003-01-31 18:56 pme
  0 siblings, 0 replies; 5+ messages in thread
From: pme @ 2003-01-31 18:56 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c/9526; it has been noted by GNATS.

From: pme@gcc.gnu.org
To: gcc-gnats@gcc.gnu.org, gcc-bugs@gcc.gnu.org, p.grassberger@fz-juelich.de,
  nobody@gcc.gnu.org, gcc-prs@gcc.gnu.org
Cc:  
Subject: Re: c/9526: Internal compiler error
Date: 31 Jan 2003 18:48:04 -0000

 I see no crash when using 3.0.4.  Could you try a later version?
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=9526


^ permalink raw reply	[flat|nested] 5+ messages in thread

* c/9526: Internal compiler error
@ 2003-01-31 15:26 p.grassberger
  0 siblings, 0 replies; 5+ messages in thread
From: p.grassberger @ 2003-01-31 15:26 UTC (permalink / raw)
  To: gcc-gnats


>Number:         9526
>Category:       c
>Synopsis:       Internal compiler error
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 31 15:26:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     p.grassberger@fz-juelich.de
>Release:        gcc version 3.0.1
>Organization:
>Environment:
Reading specs from /usr/local/bin/../lib/gcc-lib/sparc-sun-solaris2.7/3.0.1/specs
Configured with: ../gcc-3.0.1-src/gcc-3.0.1/configure --prefix=/usr/local/gcc --enable-languages=c,c++
Thread model: posix
>Description:

>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
 
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="zhou.i"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="zhou.i"

IyAxICJ6aG91LmMiCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJp
czIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgiIDEgMwojIDE0ICIvdXNyL2xvY2FsL2xpYi9nY2Mt
bGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwojIDEgIi91
c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9z
dGRhcmcuaCIgMSAzCiMgNDMgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRhcmcuaCIgMwp0eXBlZGVmIF9fYnVpbHRpbl92YV9saXN0
IF9fZ251Y192YV9saXN0OwojIDE1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMiAzCiMgMzQgIi91c3IvbG9jYWwvbGli
L2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAzCiNw
cmFnbWEgaWRlbnQgIkAoIylzdGRpby5oCTEuNjkJOTgvMDcvMTMgU01JIgoKIyAxICIvdXNyL2lu
Y2x1ZGUvc3lzL2ZlYXR1cmVfdGVzdHMuaCIgMSAzCiMgMTMgIi91c3IvaW5jbHVkZS9zeXMvZmVh
dHVyZV90ZXN0cy5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylmZWF0dXJlX3Rlc3RzLmgJMS4xOAk5
OS8wNy8yNiBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvaXNhX2RlZnMuaCIgMSAzCiMgOSAi
L3Vzci9pbmNsdWRlL3N5cy9pc2FfZGVmcy5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylpc2FfZGVm
cy5oCTEuMjAJOTkvMDUvMDQgU01JIgojIDE2ICIvdXNyL2luY2x1ZGUvc3lzL2ZlYXR1cmVfdGVz
dHMuaCIgMiAzCiMgMzcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMy
LjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3ZhX2xp
c3QuaCIgMSAzCiMgOSAiL3Vzci9pbmNsdWRlL3N5cy92YV9saXN0LmgiIDMKI3ByYWdtYSBpZGVu
dCAiQCgjKXZhX2xpc3QuaAkxLjEyCTk5LzA1LzA0IFNNSSIKIyAyNiAiL3Vzci9pbmNsdWRlL3N5
cy92YV9saXN0LmgiIDMKdHlwZWRlZiB2b2lkICpfX3ZhX2xpc3Q7CiMgMzggIi91c3IvbG9jYWwv
bGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAy
IDMKIyAxICIvdXNyL2luY2x1ZGUvc3RkaW9fdGFnLmgiIDEgMwojIDkgIi91c3IvaW5jbHVkZS9z
dGRpb190YWcuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpc3RkaW9fdGFnLmgJMS4zCTk4LzA0LzIw
IFNNSSIKIyAyMSAiL3Vzci9pbmNsdWRlL3N0ZGlvX3RhZy5oIiAzCnR5cGVkZWYgc3RydWN0IF9f
RklMRSBfX0ZJTEU7CiMgMzkgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3RkaW9f
aW1wbC5oIiAxIDMKIyA5ICIvdXNyL2luY2x1ZGUvc3RkaW9faW1wbC5oIiAzCiNwcmFnbWEgaWRl
bnQgIkAoIylzdGRpb19pbXBsLmgJMS44CTk5LzA2LzEwIFNNSSIKCiMgMSAiL3Vzci9pbmNsdWRl
L3N5cy9pc2FfZGVmcy5oIiAxIDMKIyAxMiAiL3Vzci9pbmNsdWRlL3N0ZGlvX2ltcGwuaCIgMiAz
CiMgMjIgIi91c3IvaW5jbHVkZS9zdGRpb19pbXBsLmgiIDMKdHlwZWRlZiBpbnQgc3NpemVfdDsK
IyAzOCAiL3Vzci9pbmNsdWRlL3N0ZGlvX2ltcGwuaCIgMwpzdHJ1Y3QgX19GSUxFCnsKCgoKCiAg
ICAgICAgc3NpemVfdCBfY250OwogICAgICAgIHVuc2lnbmVkIGNoYXIgKl9wdHI7CgogICAgICAg
IHVuc2lnbmVkIGNoYXIgKl9iYXNlOwogICAgICAgIHVuc2lnbmVkIGNoYXIgX2ZsYWc7CiAgICAg
ICAgdW5zaWduZWQgY2hhciBfZmlsZTsKICAgICAgICB1bnNpZ25lZCBfX29yaWVudGF0aW9uOjI7
CiAgICAgICAgdW5zaWduZWQgX19pb25vbG9jazoxOwogICAgICAgIHVuc2lnbmVkIF9fZmlsbGVy
OjU7Cn07CiMgNDAgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcv
My4wLjEvaW5jbHVkZS9zdGRpby5oIiAyIDMKIyA1NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9z
cGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgiIDMKdHlwZWRlZiBfX0ZJ
TEUgRklMRTsKCgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHNpemVfdDsKIyA3NCAiL3Vzci9s
b2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlv
LmgiIDMKdHlwZWRlZiBsb25nIGxvbmcgX19sb25nbG9uZ190OwojIDg4ICIvdXNyL2xvY2FsL2xp
Yi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwp0
eXBlZGVmIGxvbmcgb2ZmX3Q7CgoKCgoKCgp0eXBlZGVmIF9fbG9uZ2xvbmdfdCBvZmY2NF90OwoK
CgoKCgp0eXBlZGVmIGxvbmcgZnBvc190OwoKCgoKCgoKdHlwZWRlZiBfX2xvbmdsb25nX3QgZnBv
czY0X3Q7CiMgMjAzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gRklMRSBfX2lvYlsyMF07CiMgMjE1ICIv
dXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUv
c3RkaW8uaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciBfc2lidWZbXSwgX3NvYnVmW107CiMgMjQ0
ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1
ZGUvc3RkaW8uaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciAqX2J1ZmVuZHRhYltdOwpleHRlcm4g
RklMRSAqX2xhc3RidWY7CiMgMjc1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gaW50IHJlbW92ZShjb25z
dCBjaGFyICopOwpleHRlcm4gaW50IHJlbmFtZShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7
CmV4dGVybiBGSUxFICp0bXBmaWxlKHZvaWQpOwpleHRlcm4gY2hhciAqdG1wbmFtKGNoYXIgKik7
CgoKCmV4dGVybiBpbnQgZmNsb3NlKEZJTEUgKik7CmV4dGVybiBpbnQgZmZsdXNoKEZJTEUgKik7
CmV4dGVybiBGSUxFICpmb3Blbihjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBG
SUxFICpmcmVvcGVuKGNvbnN0IGNoYXIgKiwgY29uc3QgY2hhciAqLCBGSUxFICopOwpleHRlcm4g
dm9pZCBzZXRidWYoRklMRSAqLCBjaGFyICopOwoKCmV4dGVybiB2b2lkIHNldGJ1ZmZlcihGSUxF
ICosIGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIGludCBzZXRsaW5lYnVmKEZJTEUgKik7CgpleHRl
cm4gaW50IHNldHZidWYoRklMRSAqLCBjaGFyICosIGludCwgc2l6ZV90KTsKCmV4dGVybiBpbnQg
ZnByaW50ZihGSUxFICosIGNvbnN0IGNoYXIgKiwgLi4uKTsKCmV4dGVybiBpbnQgZnNjYW5mKEZJ
TEUgKiwgY29uc3QgY2hhciAqLCAuLi4pOwoKZXh0ZXJuIGludCBwcmludGYoY29uc3QgY2hhciAq
LCAuLi4pOwoKZXh0ZXJuIGludCBzY2FuZihjb25zdCBjaGFyICosIC4uLik7CgoKCgpleHRlcm4g
aW50IHNucHJpbnRmKGNoYXIgKiwgc2l6ZV90LCBjb25zdCBjaGFyICosIC4uLik7CgoKZXh0ZXJu
IGludCBzcHJpbnRmKGNoYXIgKiwgY29uc3QgY2hhciAqLCAuLi4pOwoKZXh0ZXJuIGludCBzc2Nh
bmYoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICosIC4uLik7CmV4dGVybiBpbnQgdmZwcmludGYo
RklMRSAqLCBjb25zdCBjaGFyICosIF9fZ251Y192YV9saXN0KTsKZXh0ZXJuIGludCB2cHJpbnRm
KGNvbnN0IGNoYXIgKiwgX19nbnVjX3ZhX2xpc3QpOwoKCgpleHRlcm4gaW50IHZzbnByaW50Zihj
aGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CgpleHRlcm4gaW50
IHZzcHJpbnRmKGNoYXIgKiwgY29uc3QgY2hhciAqLCBfX2dudWNfdmFfbGlzdCk7CmV4dGVybiBp
bnQgZmdldGMoRklMRSAqKTsKZXh0ZXJuIGNoYXIgKmZnZXRzKGNoYXIgKiwgaW50LCBGSUxFICop
OwpleHRlcm4gaW50IGZwdXRjKGludCwgRklMRSAqKTsKZXh0ZXJuIGludCBmcHV0cyhjb25zdCBj
aGFyICosIEZJTEUgKik7CmV4dGVybiBpbnQgZ2V0YyhGSUxFICopOwpleHRlcm4gaW50IGdldGNo
YXIodm9pZCk7CmV4dGVybiBjaGFyICpnZXRzKGNoYXIgKik7CmV4dGVybiBpbnQgcHV0YyhpbnQs
IEZJTEUgKik7CmV4dGVybiBpbnQgcHV0Y2hhcihpbnQpOwpleHRlcm4gaW50IHB1dHMoY29uc3Qg
Y2hhciAqKTsKZXh0ZXJuIGludCB1bmdldGMoaW50LCBGSUxFICopOwpleHRlcm4gc2l6ZV90IGZy
ZWFkKHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsIEZJTEUgKik7CmV4dGVybiBzaXplX3QgZndyaXRl
KGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBzaXplX3QsIEZJTEUgKik7CmV4dGVybiBpbnQgZmdldHBv
cyhGSUxFICosIGZwb3NfdCAqKTsKZXh0ZXJuIGludCBmc2VlayhGSUxFICosIGxvbmcsIGludCk7
CmV4dGVybiBpbnQgZnNldHBvcyhGSUxFICosIGNvbnN0IGZwb3NfdCAqKTsKZXh0ZXJuIGxvbmcg
ZnRlbGwoRklMRSAqKTsKZXh0ZXJuIHZvaWQgcmV3aW5kKEZJTEUgKik7CmV4dGVybiB2b2lkIGNs
ZWFyZXJyKEZJTEUgKik7CmV4dGVybiBpbnQgZmVvZihGSUxFICopOwpleHRlcm4gaW50IGZlcnJv
cihGSUxFICopOwpleHRlcm4gdm9pZCBwZXJyb3IoY29uc3QgY2hhciAqKTsKCgpleHRlcm4gaW50
IF9fZmlsYnVmKEZJTEUgKik7CmV4dGVybiBpbnQgX19mbHNidWYoaW50LCBGSUxFICopOwojIDM1
MyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNs
dWRlL3N0ZGlvLmgiIDMKZXh0ZXJuIEZJTEUgKmZkb3BlbihpbnQsIGNvbnN0IGNoYXIgKik7CmV4
dGVybiBjaGFyICpjdGVybWlkKGNoYXIgKik7CmV4dGVybiBpbnQgZmlsZW5vKEZJTEUgKik7CiMg
Mzc5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2lu
Y2x1ZGUvc3RkaW8uaCIgMwpleHRlcm4gRklMRSAqcG9wZW4oY29uc3QgY2hhciAqLCBjb25zdCBj
aGFyICopOwpleHRlcm4gY2hhciAqY3VzZXJpZChjaGFyICopOwpleHRlcm4gY2hhciAqdGVtcG5h
bShjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKik7CmV4dGVybiBpbnQgZ2V0b3B0KGludCwgY2hh
ciAqY29uc3QgKiwgY29uc3QgY2hhciAqKTsKCmV4dGVybiBpbnQgZ2V0c3Vib3B0KGNoYXIgKios
IGNoYXIgKmNvbnN0ICosIGNoYXIgKiopOwoKZXh0ZXJuIGNoYXIgKm9wdGFyZzsKZXh0ZXJuIGlu
dCBvcHRpbmQsIG9wdGVyciwgb3B0b3B0OwpleHRlcm4gaW50IGdldHcoRklMRSAqKTsKZXh0ZXJu
IGludCBwdXR3KGludCwgRklMRSAqKTsKZXh0ZXJuIGludCBwY2xvc2UoRklMRSAqKTsKCgoKCgoK
CmV4dGVybiBpbnQgZnNlZWtvKEZJTEUgKiwgb2ZmX3QsIGludCk7CmV4dGVybiBvZmZfdCBmdGVs
bG8oRklMRSAqKTsKIyA0MDggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRpby5oIiAzCmV4dGVybiBGSUxFICpmb3BlbjY0KGNvbnN0
IGNoYXIgKiwgY29uc3QgY2hhciAqKTsKZXh0ZXJuIEZJTEUgKmZyZW9wZW42NChjb25zdCBjaGFy
ICosIGNvbnN0IGNoYXIgKiwgRklMRSAqKTsKZXh0ZXJuIEZJTEUgKnRtcGZpbGU2NCh2b2lkKTsK
ZXh0ZXJuIGludCBmZ2V0cG9zNjQoRklMRSAqLCBmcG9zNjRfdCAqKTsKZXh0ZXJuIGludCBmc2V0
cG9zNjQoRklMRSAqLCBjb25zdCBmcG9zNjRfdCAqKTsKZXh0ZXJuIGludCBmc2Vla282NChGSUxF
ICosIG9mZjY0X3QsIGludCk7CmV4dGVybiBvZmY2NF90IGZ0ZWxsbzY0KEZJTEUgKik7CiMgMiAi
emhvdS5jIiAyCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAxIDMKIyAyNSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAzCiNwcmFnbWEg
aWRlbnQgIkAoIylzdGRsaWIuaAkxLjQ0CTk4LzAxLzIyIFNNSSIKCiMgMSAiL3Vzci9pbmNsdWRl
L3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDI4ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3Nw
YXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkbGliLmgiIDIgMwojIDM4ICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3Rk
bGliLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAgIGludCBxdW90OwogICAgICAgIGludCBy
ZW07Cn0gZGl2X3Q7Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgbG9uZyBxdW90OwogICAgICAg
IGxvbmcgcmVtOwp9IGxkaXZfdDsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgbG9uZyBsb25n
IHF1b3Q7CiAgICAgICAgbG9uZyBsb25nIHJlbTsKfSBsbGRpdl90OwojIDc3ICIvdXNyL2xvY2Fs
L2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3RkbGliLmgi
IDMKdHlwZWRlZiBsb25nIHVpZF90OwojIDEwNyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFy
Yy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGxpYi5oIiAzCnR5cGVkZWYgbG9uZyBp
bnQgd2NoYXJfdDsKIyAxNDggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFy
aXMyLjcvMy4wLjEvaW5jbHVkZS9zdGRsaWIuaCIgMwpleHRlcm4gdW5zaWduZWQgY2hhciBfX2N0
eXBlW107CgoKCmV4dGVybiBkb3VibGUgYXRvZihjb25zdCBjaGFyICopOwpleHRlcm4gaW50IGF0
b2koY29uc3QgY2hhciAqKTsKZXh0ZXJuIGxvbmcgaW50IGF0b2woY29uc3QgY2hhciAqKTsKZXh0
ZXJuIGRvdWJsZSBzdHJ0b2QoY29uc3QgY2hhciAqLCBjaGFyICoqKTsKZXh0ZXJuIGxvbmcgaW50
IHN0cnRvbChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CmV4dGVybiB1bnNpZ25lZCBsb25n
IGludCBzdHJ0b3VsKGNvbnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKCmV4dGVybiBpbnQgcmFu
ZCh2b2lkKTsKZXh0ZXJuIHZvaWQgc3JhbmQodW5zaWduZWQgaW50KTsKCgoKCgpleHRlcm4gdm9p
ZCAqY2FsbG9jKHNpemVfdCwgc2l6ZV90KTsKZXh0ZXJuIHZvaWQgZnJlZSh2b2lkICopOwpleHRl
cm4gdm9pZCAqbWFsbG9jKHNpemVfdCk7CmV4dGVybiB2b2lkICpyZWFsbG9jKHZvaWQgKiwgc2l6
ZV90KTsKCmV4dGVybiB2b2lkIGFib3J0KHZvaWQpOwpleHRlcm4gaW50IGF0ZXhpdCh2b2lkICgq
KSh2b2lkKSk7CmV4dGVybiB2b2lkIGV4aXQoaW50KTsKZXh0ZXJuIHZvaWQgX2V4aXRoYW5kbGUo
dm9pZCk7CmV4dGVybiBjaGFyICpnZXRlbnYoY29uc3QgY2hhciAqKTsKZXh0ZXJuIGludCBzeXN0
ZW0oY29uc3QgY2hhciAqKTsKCmV4dGVybiB2b2lkICpic2VhcmNoKGNvbnN0IHZvaWQgKiwgY29u
c3Qgdm9pZCAqLCBzaXplX3QsIHNpemVfdCwKICAgICAgICBpbnQgKCopKGNvbnN0IHZvaWQgKiwg
Y29uc3Qgdm9pZCAqKSk7CmV4dGVybiB2b2lkIHFzb3J0KHZvaWQgKiwgc2l6ZV90LCBzaXplX3Qs
CiAgICAgICAgaW50ICgqKShjb25zdCB2b2lkICosIGNvbnN0IHZvaWQgKikpOwoKZXh0ZXJuIGlu
dCBhYnMoaW50KTsKZXh0ZXJuIGRpdl90IGRpdihpbnQsIGludCk7CmV4dGVybiBsb25nIGludCBs
YWJzKGxvbmcpOwpleHRlcm4gbGRpdl90IGxkaXYobG9uZywgbG9uZyk7CgpleHRlcm4gaW50IG1i
dG93Yyh3Y2hhcl90ICosIGNvbnN0IGNoYXIgKiwgc2l6ZV90KTsKZXh0ZXJuIGludCBtYmxlbihj
b25zdCBjaGFyICosIHNpemVfdCk7CmV4dGVybiBpbnQgd2N0b21iKGNoYXIgKiwgd2NoYXJfdCk7
CgpleHRlcm4gc2l6ZV90IG1ic3Rvd2NzKHdjaGFyX3QgKiwgY29uc3QgY2hhciAqLCBzaXplX3Qp
OwpleHRlcm4gc2l6ZV90IHdjc3RvbWJzKGNoYXIgKiwgY29uc3Qgd2NoYXJfdCAqLCBzaXplX3Qp
OwoKCgoKZXh0ZXJuIGRvdWJsZSBkcmFuZDQ4KHZvaWQpOwpleHRlcm4gZG91YmxlIGVyYW5kNDgo
dW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiBsb25nIGpyYW5kNDgodW5zaWduZWQgc2hvcnQgKik7
CmV4dGVybiB2b2lkIGxjb25nNDgodW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiBsb25nIGxyYW5k
NDgodm9pZCk7CmV4dGVybiBsb25nIG1yYW5kNDgodm9pZCk7CmV4dGVybiBsb25nIG5yYW5kNDgo
dW5zaWduZWQgc2hvcnQgKik7CmV4dGVybiB1bnNpZ25lZCBzaG9ydCAqc2VlZDQ4KHVuc2lnbmVk
IHNob3J0ICopOwpleHRlcm4gdm9pZCBzcmFuZDQ4KGxvbmcpOwpleHRlcm4gaW50IHB1dGVudihj
aGFyICopOwpleHRlcm4gdm9pZCBzZXRrZXkoY29uc3QgY2hhciAqKTsKCgoKCgpleHRlcm4gdm9p
ZCBzd2FiKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBpbnQpOwoKCgoKZXh0ZXJuIGludCBta3N0ZW1w
KGNoYXIgKik7CgoKZXh0ZXJuIGludCBta3N0ZW1wNjQoY2hhciAqKTsKCgoKCgoKZXh0ZXJuIGxv
bmcgYTY0bChjb25zdCBjaGFyICopOwpleHRlcm4gY2hhciAqZWN2dChkb3VibGUsIGludCwgaW50
ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKmZjdnQoZG91YmxlLCBpbnQsIGludCAqLCBpbnQgKik7
CmV4dGVybiBjaGFyICpnY3Z0KGRvdWJsZSwgaW50LCBjaGFyICopOwpleHRlcm4gaW50IGdldHN1
Ym9wdChjaGFyICoqLCBjaGFyICpjb25zdCAqLCBjaGFyICoqKTsKZXh0ZXJuIGludCBncmFudHB0
KGludCk7CmV4dGVybiBjaGFyICppbml0c3RhdGUodW5zaWduZWQsIGNoYXIgKiwgc2l6ZV90KTsK
ZXh0ZXJuIGNoYXIgKmw2NGEobG9uZyk7CmV4dGVybiBjaGFyICpta3RlbXAoY2hhciAqKTsKZXh0
ZXJuIGNoYXIgKnB0c25hbWUoaW50KTsKZXh0ZXJuIGxvbmcgcmFuZG9tKHZvaWQpOwpleHRlcm4g
Y2hhciAqcmVhbHBhdGgoY29uc3QgY2hhciAqLCBjaGFyICopOwpleHRlcm4gY2hhciAqc2V0c3Rh
dGUoY29uc3QgY2hhciAqKTsKZXh0ZXJuIHZvaWQgc3JhbmRvbSh1bnNpZ25lZCk7CmV4dGVybiBp
bnQgdHR5c2xvdCh2b2lkKTsKZXh0ZXJuIGludCB1bmxvY2twdChpbnQpOwpleHRlcm4gdm9pZCAq
dmFsbG9jKHNpemVfdCk7CgoKCgpleHRlcm4gaW50IGR1cDIoaW50LCBpbnQpOwpleHRlcm4gY2hh
ciAqcWVjdnQobG9uZyBkb3VibGUsIGludCwgaW50ICosIGludCAqKTsKZXh0ZXJuIGNoYXIgKnFm
Y3Z0KGxvbmcgZG91YmxlLCBpbnQsIGludCAqLCBpbnQgKik7CmV4dGVybiBjaGFyICpxZ2N2dChs
b25nIGRvdWJsZSwgaW50LCBjaGFyICopOwpleHRlcm4gY2hhciAqZ2V0Y3dkKGNoYXIgKiwgc2l6
ZV90KTsKZXh0ZXJuIGNvbnN0IGNoYXIgKmdldGV4ZWNuYW1lKHZvaWQpOwpleHRlcm4gY2hhciAq
Z2V0bG9naW4odm9pZCk7CmV4dGVybiBpbnQgZ2V0b3B0KGludCwgY2hhciAqY29uc3QgKiwgY29u
c3QgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKm9wdGFyZzsKZXh0ZXJuIGludCBvcHRpbmQsIG9wdGVy
ciwgb3B0b3B0OwpleHRlcm4gY2hhciAqZ2V0cGFzcyhjb25zdCBjaGFyICopOwpleHRlcm4gY2hh
ciAqZ2V0cGFzc3BocmFzZShjb25zdCBjaGFyICopOwpleHRlcm4gaW50IGdldHB3KHVpZF90LCBj
aGFyICopOwpleHRlcm4gaW50IGlzYXR0eShpbnQpOwpleHRlcm4gdm9pZCAqbWVtYWxpZ24oc2l6
ZV90LCBzaXplX3QpOwpleHRlcm4gY2hhciAqdHR5bmFtZShpbnQpOwoKCmV4dGVybiBsb25nIGxv
bmcgYXRvbGwoY29uc3QgY2hhciAqKTsKZXh0ZXJuIGxvbmcgbG9uZyBsbGFicyhsb25nIGxvbmcp
OwpleHRlcm4gbGxkaXZfdCBsbGRpdihsb25nIGxvbmcsIGxvbmcgbG9uZyk7CmV4dGVybiBjaGFy
ICpsbHRvc3RyKGxvbmcgbG9uZywgY2hhciAqKTsKZXh0ZXJuIGxvbmcgbG9uZyBzdHJ0b2xsKGNv
bnN0IGNoYXIgKiwgY2hhciAqKiwgaW50KTsKZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBzdHJ0
b3VsbChjb25zdCBjaGFyICosIGNoYXIgKiosIGludCk7CmV4dGVybiBjaGFyICp1bGx0b3N0cih1
bnNpZ25lZCBsb25nIGxvbmcsIGNoYXIgKik7CiMgMyAiemhvdS5jIiAyCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL21hdGguaCIg
MSAzCiMgMjcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9tYXRoLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKW1hdGguaAkyLjcJOTgvMDEv
MjciCiMgNDYgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9tYXRoLmgiIDMKdHlwZWRlZiB1bmlvbiBfaF92YWwgewogICAgICAgIHVuc2ln
bmVkIGxvbmcgX2lbc2l6ZW9mKGRvdWJsZSkgLyBzaXplb2YodW5zaWduZWQgbG9uZyldOwogICAg
ICAgIGRvdWJsZSBfZDsKfSBfaF92YWw7CgoKZXh0ZXJuIGNvbnN0IF9oX3ZhbCBfX2h1Z2VfdmFs
OwojIDgwICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4x
L2luY2x1ZGUvbWF0aC5oIiAzCmV4dGVybiBpbnQgc2lnbmdhbTsKCgoKCgoKCmVudW0gdmVyc2lv
biB7bGlibV9pZWVlID0gLTEsIGNfaXNzdWVfNCwgYW5zaV8xLCBzdHJpY3RfYW5zaX07CgoKZXh0
ZXJuIGNvbnN0IGVudW0gdmVyc2lvbiBfbGliX3ZlcnNpb247CgoKCgpzdHJ1Y3QgZXhjZXB0aW9u
IHsKICAgICAgICBpbnQgdHlwZTsKICAgICAgICBjaGFyICpuYW1lOwogICAgICAgIGRvdWJsZSBh
cmcxOwogICAgICAgIGRvdWJsZSBhcmcyOwogICAgICAgIGRvdWJsZSByZXR2YWw7Cn07CiMgMTM0
ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1
ZGUvbWF0aC5oIiAzCmV4dGVybiBkb3VibGUgYWNvcyAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBh
c2luIChkb3VibGUpOwpleHRlcm4gZG91YmxlIGF0YW4gKGRvdWJsZSk7CmV4dGVybiBkb3VibGUg
YXRhbjIgKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBjb3MgKGRvdWJsZSk7CmV4dGVy
biBkb3VibGUgc2luIChkb3VibGUpOwpleHRlcm4gZG91YmxlIHRhbiAoZG91YmxlKTsKCmV4dGVy
biBkb3VibGUgY29zaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBzaW5oIChkb3VibGUpOwpleHRl
cm4gZG91YmxlIHRhbmggKGRvdWJsZSk7CgpleHRlcm4gZG91YmxlIGV4cCAoZG91YmxlKTsKZXh0
ZXJuIGRvdWJsZSBmcmV4cCAoZG91YmxlLCBpbnQgKik7CmV4dGVybiBkb3VibGUgbGRleHAgKGRv
dWJsZSwgaW50KTsKZXh0ZXJuIGRvdWJsZSBsb2cgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbG9n
MTAgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbW9kZiAoZG91YmxlLCBkb3VibGUgKik7CgpleHRl
cm4gZG91YmxlIHBvdyAoZG91YmxlLCBkb3VibGUpOwpleHRlcm4gZG91YmxlIHNxcnQgKGRvdWJs
ZSk7CgpleHRlcm4gZG91YmxlIGNlaWwgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgZmFicyAoZG91
YmxlKTsKZXh0ZXJuIGRvdWJsZSBmbG9vciAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBmbW9kIChk
b3VibGUsIGRvdWJsZSk7CgoKCgoKCmV4dGVybiBkb3VibGUgZXJmIChkb3VibGUpOwpleHRlcm4g
ZG91YmxlIGVyZmMgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgZ2FtbWEgKGRvdWJsZSk7CmV4dGVy
biBkb3VibGUgaHlwb3QgKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJuIGludCBpc25hbiAoZG91Ymxl
KTsKZXh0ZXJuIGRvdWJsZSBqMCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBqMSAoZG91YmxlKTsK
ZXh0ZXJuIGRvdWJsZSBqbiAoaW50LCBkb3VibGUpOwpleHRlcm4gZG91YmxlIGxnYW1tYSAoZG91
YmxlKTsKZXh0ZXJuIGRvdWJsZSB5MCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSB5MSAoZG91Ymxl
KTsKZXh0ZXJuIGRvdWJsZSB5biAoaW50LCBkb3VibGUpOwoKCgoKCgoKZXh0ZXJuIGRvdWJsZSBh
Y29zaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBhc2luaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJs
ZSBhdGFuaCAoZG91YmxlKTsKZXh0ZXJuIGRvdWJsZSBjYnJ0IChkb3VibGUpOwpleHRlcm4gZG91
YmxlIGxvZ2IgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbmV4dGFmdGVyIChkb3VibGUsIGRvdWJs
ZSk7CmV4dGVybiBkb3VibGUgcmVtYWluZGVyIChkb3VibGUsIGRvdWJsZSk7CmV4dGVybiBkb3Vi
bGUgc2NhbGIgKGRvdWJsZSwgZG91YmxlKTsKCgoKCmV4dGVybiBkb3VibGUgZXhwbTEgKGRvdWJs
ZSk7CmV4dGVybiBpbnQgaWxvZ2IgKGRvdWJsZSk7CmV4dGVybiBkb3VibGUgbG9nMXAgKGRvdWJs
ZSk7CmV4dGVybiBkb3VibGUgcmludCAoZG91YmxlKTsKCgoKCgoKZXh0ZXJuIGludCBtYXRoZXJy
IChzdHJ1Y3QgZXhjZXB0aW9uICopOwoKCgoKZXh0ZXJuIGRvdWJsZSBzaWduaWZpY2FuZCAoZG91
YmxlKTsKCgoKCmV4dGVybiBkb3VibGUgY29weXNpZ24gKGRvdWJsZSwgZG91YmxlKTsKZXh0ZXJu
IGRvdWJsZSBzY2FsYm4gKGRvdWJsZSwgaW50KTsKIyAyMzIgIi91c3IvbG9jYWwvbGliL2djYy1s
aWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9tYXRoLmgiIDMKZXh0ZXJuIGZs
b2F0IG1vZGZmIChmbG9hdCwgZmxvYXQgKik7CgojIDEgIi91c3IvbG9jYWwvbGliL2djYy1saWIv
c3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9mbG9hdGluZ3BvaW50LmgiIDEgMwoj
IDI0ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2lu
Y2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIylmbG9hdGluZ3BvaW50
LmgJMi40IDk0LzA2LzA5IgojIDQyICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1z
b2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAzCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N0ZGlvLmgi
IDEgMwojIDQzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMu
MC4xL2luY2x1ZGUvZmxvYXRpbmdwb2ludC5oIiAyIDMKCiMgMSAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy9pZWVlZnAuaCIgMSAz
CiMgMTcgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEv
aW5jbHVkZS9zeXMvaWVlZWZwLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKWllZWVmcC5oCTIuNyA5
NC8xMS8wOSIKIyAyNyAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N5cy9pZWVlZnAuaCIgMwplbnVtIGZwX2RpcmVjdGlvbl90eXBlIHsK
ICAgICAgICBmcF9uZWFyZXN0ID0gMCwKICAgICAgICBmcF90b3plcm8gPSAxLAogICAgICAgIGZw
X3Bvc2l0aXZlID0gMiwKICAgICAgICBmcF9uZWdhdGl2ZSA9IDMKfTsKCmVudW0gZnBfcHJlY2lz
aW9uX3R5cGUgewogICAgICAgIGZwX2V4dGVuZGVkID0gMCwKICAgICAgICBmcF9zaW5nbGUgPSAx
LAogICAgICAgIGZwX2RvdWJsZSA9IDIsCiAgICAgICAgZnBfcHJlY2lzaW9uXzMgPSAzCn07Cgpl
bnVtIGZwX2V4Y2VwdGlvbl90eXBlIHsKICAgICAgICBmcF9pbmV4YWN0ID0gMCwKICAgICAgICBm
cF9kaXZpc2lvbiA9IDEsCiAgICAgICAgZnBfdW5kZXJmbG93ID0gMiwKICAgICAgICBmcF9vdmVy
ZmxvdyA9IDMsCiAgICAgICAgZnBfaW52YWxpZCA9IDQKfTsKCmVudW0gZnBfdHJhcF9lbmFibGVf
dHlwZSB7CiAgICAgICAgZnBfdHJhcF9pbmV4YWN0ID0gMCwKICAgICAgICBmcF90cmFwX2Rpdmlz
aW9uID0gMSwKICAgICAgICBmcF90cmFwX3VuZGVyZmxvdyA9IDIsCiAgICAgICAgZnBfdHJhcF9v
dmVyZmxvdyA9IDMsCiAgICAgICAgZnBfdHJhcF9pbnZhbGlkID0gNAp9OwojIDEzMyAiL3Vzci9s
b2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy9p
ZWVlZnAuaCIgMwplbnVtIGZwX2NsYXNzX3R5cGUgewogICAgICAgIGZwX3plcm8gPSAwLAogICAg
ICAgIGZwX3N1Ym5vcm1hbCA9IDEsCiAgICAgICAgZnBfbm9ybWFsID0gMiwKICAgICAgICBmcF9p
bmZpbml0eSA9IDMsCiAgICAgICAgZnBfcXVpZXQgPSA0LAogICAgICAgIGZwX3NpZ25hbGluZyA9
IDUKfTsKIyA0NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8z
LjAuMS9pbmNsdWRlL2Zsb2F0aW5ncG9pbnQuaCIgMiAzCiMgNTggIi91c3IvbG9jYWwvbGliL2dj
Yy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9mbG9hdGluZ3BvaW50Lmgi
IDMKdHlwZWRlZiBpbnQgc2lnZnBlX2NvZGVfdHlwZTsKCnR5cGVkZWYgdm9pZCAoKnNpZ2ZwZV9o
YW5kbGVyX3R5cGUpKCk7CgoKCgoKZXh0ZXJuIHNpZ2ZwZV9oYW5kbGVyX3R5cGUgc2lnZnBlIChz
aWdmcGVfY29kZV90eXBlLCBzaWdmcGVfaGFuZGxlcl90eXBlKTsKCgoKCnR5cGVkZWYgZmxvYXQg
c2luZ2xlOwoKCgp0eXBlZGVmIHVuc2lnbmVkIGV4dGVuZGVkWzNdOwoKCnR5cGVkZWYgbG9uZyBk
b3VibGUgcXVhZHJ1cGxlOwoKdHlwZWRlZiB1bnNpZ25lZCBmcF9leGNlcHRpb25fZmllbGRfdHlw
ZTsKIyA5MCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL2Zsb2F0aW5ncG9pbnQuaCIgMwp0eXBlZGVmIGNoYXIgZGVjaW1hbF9zdHJpbmdb
NTEyXTsKCgp0eXBlZGVmIHN0cnVjdCB7CiAgICAgICAgZW51bSBmcF9jbGFzc190eXBlIGZwY2xh
c3M7CiAgICAgICAgaW50IHNpZ247CiAgICAgICAgaW50IGV4cG9uZW50OwogICAgICAgIGRlY2lt
YWxfc3RyaW5nIGRzOwoKCiAgICAgICAgaW50IG1vcmU7CgoKICAgICAgICBpbnQgbmRpZ2l0czsK
Cgp9IGRlY2ltYWxfcmVjb3JkOwoKZW51bSBkZWNpbWFsX2Zvcm0gewogICAgICAgIGZpeGVkX2Zv
cm0sCgoKICAgICAgICBmbG9hdGluZ19mb3JtCgp9OwoKdHlwZWRlZiBzdHJ1Y3QgewogICAgICAg
IGVudW0gZnBfZGlyZWN0aW9uX3R5cGUgcmQ7CgogICAgICAgIGVudW0gZGVjaW1hbF9mb3JtIGRm
OwoKICAgICAgICBpbnQgbmRpZ2l0czsKfSBkZWNpbWFsX21vZGU7CgplbnVtIGRlY2ltYWxfc3Ry
aW5nX2Zvcm0gewogICAgICAgIGludmFsaWRfZm9ybSwKICAgICAgICB3aGl0ZXNwYWNlX2Zvcm0s
CiAgICAgICAgZml4ZWRfaW50X2Zvcm0sCiAgICAgICAgZml4ZWRfaW50ZG90X2Zvcm0sCiAgICAg
ICAgZml4ZWRfZG90ZnJhY19mb3JtLAogICAgICAgIGZpeGVkX2ludGRvdGZyYWNfZm9ybSwKICAg
ICAgICBmbG9hdGluZ19pbnRfZm9ybSwKICAgICAgICBmbG9hdGluZ19pbnRkb3RfZm9ybSwKICAg
ICAgICBmbG9hdGluZ19kb3RmcmFjX2Zvcm0sCiAgICAgICAgZmxvYXRpbmdfaW50ZG90ZnJhY19m
b3JtLAogICAgICAgIGluZl9mb3JtLAogICAgICAgIGluZmluaXR5X2Zvcm0sCiAgICAgICAgbmFu
X2Zvcm0sCiAgICAgICAgbmFuc3RyaW5nX2Zvcm0KfTsKCmV4dGVybiB2b2lkIHNpbmdsZV90b19k
ZWNpbWFsIChzaW5nbGUgKiwgZGVjaW1hbF9tb2RlICosIGRlY2ltYWxfcmVjb3JkICosIGZwX2V4
Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZG91YmxlX3RvX2RlY2ltYWwgKGRv
dWJsZSAqLCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQgKiwgZnBfZXhjZXB0aW9uX2Zp
ZWxkX3R5cGUgKik7CgpleHRlcm4gdm9pZCBleHRlbmRlZF90b19kZWNpbWFsIChleHRlbmRlZCAq
LCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQgKiwgZnBfZXhjZXB0aW9uX2ZpZWxkX3R5
cGUgKik7CgpleHRlcm4gdm9pZCBxdWFkcnVwbGVfdG9fZGVjaW1hbCAocXVhZHJ1cGxlICosIGRl
Y2ltYWxfbW9kZSAqLCBkZWNpbWFsX3JlY29yZCAqLCBmcF9leGNlcHRpb25fZmllbGRfdHlwZSAq
KTsKCgpleHRlcm4gdm9pZCBkZWNpbWFsX3RvX3NpbmdsZSAoc2luZ2xlICosIGRlY2ltYWxfbW9k
ZSAqLCBkZWNpbWFsX3JlY29yZCAqLCBmcF9leGNlcHRpb25fZmllbGRfdHlwZSAqKTsKCmV4dGVy
biB2b2lkIGRlY2ltYWxfdG9fZG91YmxlIChkb3VibGUgKiwgZGVjaW1hbF9tb2RlICosIGRlY2lt
YWxfcmVjb3JkICosIGZwX2V4Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZGVj
aW1hbF90b19leHRlbmRlZCAoZXh0ZW5kZWQgKiwgZGVjaW1hbF9tb2RlICosIGRlY2ltYWxfcmVj
b3JkICosIGZwX2V4Y2VwdGlvbl9maWVsZF90eXBlICopOwoKZXh0ZXJuIHZvaWQgZGVjaW1hbF90
b19xdWFkcnVwbGUgKHF1YWRydXBsZSAqLCBkZWNpbWFsX21vZGUgKiwgZGVjaW1hbF9yZWNvcmQg
KiwgZnBfZXhjZXB0aW9uX2ZpZWxkX3R5cGUgKik7CgoKZXh0ZXJuIHZvaWQgc3RyaW5nX3RvX2Rl
Y2ltYWwgKGNoYXIgKiosIGludCwgaW50LCBkZWNpbWFsX3JlY29yZCAqLCBlbnVtIGRlY2ltYWxf
c3RyaW5nX2Zvcm0gKiwgY2hhciAqKik7CgpleHRlcm4gdm9pZCBmdW5jX3RvX2RlY2ltYWwgKGNo
YXIgKiosIGludCwgaW50LCBkZWNpbWFsX3JlY29yZCAqLCBlbnVtIGRlY2ltYWxfc3RyaW5nX2Zv
cm0gKiwgY2hhciAqKiwgaW50ICgqKSh2b2lkKSwgaW50ICosIGludCAoKikoaW50KSk7CgoKZXh0
ZXJuIHZvaWQgZmlsZV90b19kZWNpbWFsIChjaGFyICoqLCBpbnQsIGludCwgZGVjaW1hbF9yZWNv
cmQgKiwgZW51bSBkZWNpbWFsX3N0cmluZ19mb3JtICosIGNoYXIgKiosIEZJTEUgKiwgaW50ICop
OwoKCgpleHRlcm4gY2hhciAqc2Vjb252ZXJ0IChzaW5nbGUgKiwgaW50LCBpbnQgKiwgaW50ICos
IGNoYXIgKik7CmV4dGVybiBjaGFyICpzZmNvbnZlcnQgKHNpbmdsZSAqLCBpbnQsIGludCAqLCBp
bnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKnNnY29udmVydCAoc2luZ2xlICosIGludCwgaW50
LCBjaGFyICopOwpleHRlcm4gY2hhciAqZWNvbnZlcnQgKGRvdWJsZSwgaW50LCBpbnQgKiwgaW50
ICosIGNoYXIgKik7CmV4dGVybiBjaGFyICpmY29udmVydCAoZG91YmxlLCBpbnQsIGludCAqLCBp
bnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKmdjb252ZXJ0IChkb3VibGUsIGludCwgaW50LCBj
aGFyICopOwpleHRlcm4gY2hhciAqcWVjb252ZXJ0IChxdWFkcnVwbGUgKiwgaW50LCBpbnQgKiwg
aW50ICosIGNoYXIgKik7CmV4dGVybiBjaGFyICpxZmNvbnZlcnQgKHF1YWRydXBsZSAqLCBpbnQs
IGludCAqLCBpbnQgKiwgY2hhciAqKTsKZXh0ZXJuIGNoYXIgKnFnY29udmVydCAocXVhZHJ1cGxl
ICosIGludCwgaW50LCBjaGFyICopOwoKZXh0ZXJuIGNoYXIgKmVjdnQgKGRvdWJsZSwgaW50LCBp
bnQgKiwgaW50ICopOwpleHRlcm4gY2hhciAqZmN2dCAoZG91YmxlLCBpbnQsIGludCAqLCBpbnQg
Kik7CmV4dGVybiBjaGFyICpnY3Z0IChkb3VibGUsIGludCwgY2hhciAqKTsKCgoKCgpleHRlcm4g
ZG91YmxlIGF0b2YgKGNvbnN0IGNoYXIgKik7CmV4dGVybiBkb3VibGUgc3RydG9kIChjb25zdCBj
aGFyICosIGNoYXIgKiopOwojIDIzNSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4t
c29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL21hdGguaCIgMiAzCiMgNCAiemhvdS5jIiAyCiMgMSAi
L3Vzci9pbmNsdWRlL3RpbWUuaCIgMSAzCiMgMTYgIi91c3IvaW5jbHVkZS90aW1lLmgiIDMKI3By
YWdtYSBpZGVudCAiQCgjKXRpbWUuaAkxLjM5CTk5LzA4LzEwIFNNSSIKCiMgMSAiL3Vzci9pbmNs
dWRlL3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDE5ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAy
IDMKIyAxICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4x
L2luY2x1ZGUvc3lzL3R5cGVzLmgiIDEgMwojIDI1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3Nw
YXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKI3ByYWdtYSBp
ZGVudCAiQCgjKXR5cGVzLmgJMS42Mwk5OC8wNC8yOCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9z
eXMvaXNhX2RlZnMuaCIgMSAzCiMgMjggIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3Vu
LXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMiAzCiMgMSAiL3Vzci9pbmNs
dWRlL3N5cy9mZWF0dXJlX3Rlc3RzLmgiIDEgMwojIDI5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGli
L3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDIgMwoKCgoK
IyAxICIvdXNyL2luY2x1ZGUvc3lzL21hY2h0eXBlcy5oIiAxIDMKIyAxNiAiL3Vzci9pbmNsdWRl
L3N5cy9tYWNodHlwZXMuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpbWFjaHR5cGVzLmgJMS4xMwk5
OS8wNS8wNCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMK
IyAxOSAiL3Vzci9pbmNsdWRlL3N5cy9tYWNodHlwZXMuaCIgMiAzCiMgMzMgIi91c3IvaW5jbHVk
ZS9zeXMvbWFjaHR5cGVzLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgX2xhYmVsX3QgeyBsb25nIHZhbFsy
XTsgfSBsYWJlbF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgbG9ja190OwojIDM0ICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lz
L3R5cGVzLmgiIDIgMwojIDQ1ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xh
cmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lz
L2ludF90eXBlcy5oIiAxIDMKIyA5ICIvdXNyL2luY2x1ZGUvc3lzL2ludF90eXBlcy5oIiAzCiNw
cmFnbWEgaWRlbnQgIkAoIylpbnRfdHlwZXMuaAkxLjYJOTcvMDgvMjAgU01JIgojIDQyICIvdXNy
L2luY2x1ZGUvc3lzL2ludF90eXBlcy5oIiAzCiMgMSAiL3Vzci9pbmNsdWRlL3N5cy9pc2FfZGVm
cy5oIiAxIDMKIyA0MyAiL3Vzci9pbmNsdWRlL3N5cy9pbnRfdHlwZXMuaCIgMiAzCiMgNjIgIi91
c3IvaW5jbHVkZS9zeXMvaW50X3R5cGVzLmgiIDMKdHlwZWRlZiBjaGFyIGludDhfdDsKCgoKCgp0
eXBlZGVmIHNob3J0IGludDE2X3Q7CnR5cGVkZWYgaW50IGludDMyX3Q7CgoKCgp0eXBlZGVmIGxv
bmcgbG9uZyBpbnQ2NF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludDhfdDsKdHlwZWRl
ZiB1bnNpZ25lZCBzaG9ydCB1aW50MTZfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludDMyX3Q7
CgoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50NjRfdDsKIyA5NCAiL3Vzci9pbmNs
dWRlL3N5cy9pbnRfdHlwZXMuaCIgMwp0eXBlZGVmIGludDY0X3QgaW50bWF4X3Q7CnR5cGVkZWYg
dWludDY0X3QgdWludG1heF90OwojIDExMCAiL3Vzci9pbmNsdWRlL3N5cy9pbnRfdHlwZXMuaCIg
Mwp0eXBlZGVmIGludCBpbnRwdHJfdDsKdHlwZWRlZiB1bnNpZ25lZCBpbnQgdWludHB0cl90OwoK
CgoKCgoKdHlwZWRlZiBjaGFyIGludF9sZWFzdDhfdDsKCgoKCgp0eXBlZGVmIHNob3J0IGludF9s
ZWFzdDE2X3Q7CnR5cGVkZWYgaW50IGludF9sZWFzdDMyX3Q7CgoKCgp0eXBlZGVmIGxvbmcgbG9u
ZyBpbnRfbGVhc3Q2NF90OwoKCgp0eXBlZGVmIHVuc2lnbmVkIGNoYXIgdWludF9sZWFzdDhfdDsK
dHlwZWRlZiB1bnNpZ25lZCBzaG9ydCB1aW50X2xlYXN0MTZfdDsKdHlwZWRlZiB1bnNpZ25lZCBp
bnQgdWludF9sZWFzdDMyX3Q7CgoKCgp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyB1aW50X2xl
YXN0NjRfdDsKIyA0NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIu
Ny8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAyIDMKIyA2MiAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5
cGVkZWYgbG9uZyBsb25nIGxvbmdsb25nX3Q7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVf
bG9uZ2xvbmdfdDsKIyA4NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJp
czIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgbG9uZyB0X3NjYWxhcl90
Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdF91c2NhbGFyX3Q7CgoKCgoKdHlwZWRlZiB1bnNpZ25l
ZCBjaGFyIHVjaGFyX3Q7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdXNob3J0X3Q7CnR5cGVkZWYg
dW5zaWduZWQgaW50IHVpbnRfdDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIHVsb25nX3Q7Cgp0eXBl
ZGVmIGNoYXIgKmNhZGRyX3Q7CnR5cGVkZWYgbG9uZyBkYWRkcl90Owp0eXBlZGVmIHNob3J0IGNu
dF90OwoKCnR5cGVkZWYgdWxvbmdfdCBwYWRkcl90OwojIDExNiAiL3Vzci9sb2NhbC9saWIvZ2Nj
LWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5
cGVkZWYgaW50IHB0cmRpZmZfdDsKIyAxMjUgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMt
c3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVmIHVsb25n
X3QgcGZuX3Q7CnR5cGVkZWYgdWxvbmdfdCBwZ2NudF90Owp0eXBlZGVmIGxvbmcgc3BnY250X3Q7
Cgp0eXBlZGVmIHVjaGFyX3QgdXNlX3Q7CnR5cGVkZWYgc2hvcnQgc3lzaWRfdDsKdHlwZWRlZiBz
aG9ydCBpbmRleF90Owp0eXBlZGVmIHZvaWQgKnRpbWVvdXRfaWRfdDsKdHlwZWRlZiB2b2lkICpi
dWZjYWxsX2lkX3Q7CiMgMTYzICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xh
cmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKdHlwZWRlZiB1bG9uZ190IGlub190
Owp0eXBlZGVmIGxvbmcgYmxrY250X3Q7CnR5cGVkZWYgdWxvbmdfdCBmc2Jsa2NudF90Owp0eXBl
ZGVmIHVsb25nX3QgZnNmaWxjbnRfdDsKIyAxODEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3Bh
cmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVmIHVf
bG9uZ2xvbmdfdCBpbm82NF90Owp0eXBlZGVmIGxvbmdsb25nX3QgYmxrY250NjRfdDsKdHlwZWRl
ZiB1X2xvbmdsb25nX3QgZnNibGtjbnQ2NF90Owp0eXBlZGVmIHVfbG9uZ2xvbmdfdCBmc2ZpbGNu
dDY0X3Q7CgoKCgoKCnR5cGVkZWYgbG9uZyBibGtzaXplX3Q7CgoKCgoKdHlwZWRlZiBlbnVtIHsg
Ql9GQUxTRSwgQl9UUlVFIH0gYm9vbGVhbl90OwojIDIwOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVk
ZWYgaW50NjRfdCBwYWQ2NF90Owp0eXBlZGVmIHVpbnQ2NF90IHVwYWQ2NF90OwojIDIyMSAiL3Vz
ci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5
cy90eXBlcy5oIiAzCnR5cGVkZWYgbG9uZ2xvbmdfdCBvZmZzZXRfdDsKdHlwZWRlZiB1X2xvbmds
b25nX3QgdV9vZmZzZXRfdDsKdHlwZWRlZiB1X2xvbmdsb25nX3QgbGVuX3Q7CnR5cGVkZWYgbG9u
Z2xvbmdfdCBkaXNrYWRkcl90OwojIDI0MiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1z
dW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdW5pb24g
ewogICAgICAgIG9mZnNldF90IF9mOwogICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICAgICBp
bnQzMl90IF91OwogICAgICAgICAgICAgICAgaW50MzJfdCBfbDsKICAgICAgICB9IF9wOwp9IGxs
b2ZmX3Q7CiMgMjYyICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3lzL3R5cGVzLmgiIDMKdHlwZWRlZiB1bmlvbiB7CiAgICAgICAgZGlz
a2FkZHJfdCBfZjsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgaW50MzJfdCBfdTsK
ICAgICAgICAgICAgICAgIGludDMyX3QgX2w7CiAgICAgICAgfSBfcDsKfSBsbGRhZGRyX3Q7CgoK
dHlwZWRlZiB1aW50X3Qga19mbHRzZXRfdDsKIyAyODcgIi91c3IvbG9jYWwvbGliL2djYy1saWIv
c3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXMvdHlwZXMuaCIgMwp0eXBlZGVm
IGxvbmcgaWRfdDsKCgoKCgoKdHlwZWRlZiB1aW50X3QgdXNlY29uZHNfdDsKCgoKdHlwZWRlZiBs
b25nIHN1c2Vjb25kc190OwojIDMwOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4t
c29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdWxvbmdfdCBt
YWpvcl90Owp0eXBlZGVmIHVsb25nX3QgbWlub3JfdDsKCgoKCgp0eXBlZGVmIHNob3J0IHByaV90
OwojIDMyOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdXNob3J0X3Qgb19tb2RlX3Q7CnR5cGVk
ZWYgc2hvcnQgb19kZXZfdDsKdHlwZWRlZiB1c2hvcnRfdCBvX3VpZF90Owp0eXBlZGVmIG9fdWlk
X3Qgb19naWRfdDsKdHlwZWRlZiBzaG9ydCBvX25saW5rX3Q7CnR5cGVkZWYgc2hvcnQgb19waWRf
dDsKdHlwZWRlZiB1c2hvcnRfdCBvX2lub190OwoKCgoKCnR5cGVkZWYgaW50IGtleV90OwoKCgp0
eXBlZGVmIHVsb25nX3QgbW9kZV90OwojIDM1NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFy
Yy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVkZWYgdWlk
X3QgZ2lkX3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWduZWQgaW50IHB0aHJlYWRfdDsKdHlwZWRlZiB1
bnNpZ25lZCBpbnQgcHRocmVhZF9rZXlfdDsKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX211dGV4
IHsKICAgICAgICBzdHJ1Y3QgewogICAgICAgICAgICAgICAgdWludDhfdCBfX3B0aHJlYWRfbXV0
ZXhfZmxhZ1s0XTsKICAgICAgICAgICAgICAgIHVpbnQzMl90IF9fcHRocmVhZF9tdXRleF90eXBl
OwogICAgICAgIH0gX19wdGhyZWFkX211dGV4X2ZsYWdzOwogICAgICAgIHVuaW9uIHsKICAgICAg
ICAgICAgICAgIHN0cnVjdCB7CiAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgX19wdGhy
ZWFkX211dGV4X3BhZFs4XTsKICAgICAgICAgICAgICAgIH0gX19wdGhyZWFkX211dGV4X2xvY2s2
NDsKICAgICAgICAgICAgICAgIHVwYWQ2NF90IF9fcHRocmVhZF9tdXRleF9vd25lcjY0OwogICAg
ICAgIH0gX19wdGhyZWFkX211dGV4X2xvY2s7CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX211
dGV4X2RhdGE7Cn0gcHRocmVhZF9tdXRleF90OwoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJlYWRfY29u
ZCB7CiAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgIHVpbnQ4X3QgX19wdGhyZWFkX2Nv
bmRfZmxhZ1s0XTsKICAgICAgICAgICAgICAgIHVpbnQzMl90IF9fcHRocmVhZF9jb25kX3R5cGU7
CiAgICAgICAgfSBfX3B0aHJlYWRfY29uZF9mbGFnczsKICAgICAgICB1cGFkNjRfdCBfX3B0aHJl
YWRfY29uZF9kYXRhOwp9IHB0aHJlYWRfY29uZF90OwoKCgoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJl
YWRfcndsb2NrIHsKICAgICAgICBpbnQzMl90IF9fcHRocmVhZF9yd2xvY2tfcmVhZGVyczsKICAg
ICAgICB1aW50MTZfdCBfX3B0aHJlYWRfcndsb2NrX3R5cGU7CiAgICAgICAgdWludDE2X3QgX19w
dGhyZWFkX3J3bG9ja19tYWdpYzsKICAgICAgICB1cGFkNjRfdCBfX3B0aHJlYWRfcndsb2NrX3Bh
ZDFbM107CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX3J3bG9ja19wYWQyWzJdOwogICAgICAg
IHVwYWQ2NF90IF9fcHRocmVhZF9yd2xvY2tfcGFkM1syXTsKfSBwdGhyZWFkX3J3bG9ja190OwoK
CgoKdHlwZWRlZiBzdHJ1Y3QgX3B0aHJlYWRfYXR0ciB7CiAgICAgICAgdm9pZCAqX19wdGhyZWFk
X2F0dHJwOwp9IHB0aHJlYWRfYXR0cl90OwoKCgoKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX211
dGV4YXR0ciB7CiAgICAgICAgdm9pZCAqX19wdGhyZWFkX211dGV4YXR0cnA7Cn0gcHRocmVhZF9t
dXRleGF0dHJfdDsKCgoKCgp0eXBlZGVmIHN0cnVjdCBfcHRocmVhZF9jb25kYXR0ciB7CiAgICAg
ICAgdm9pZCAqX19wdGhyZWFkX2NvbmRhdHRycDsKfSBwdGhyZWFkX2NvbmRhdHRyX3Q7CgoKCgp0
eXBlZGVmIHN0cnVjdCBfb25jZSB7CiAgICAgICAgdXBhZDY0X3QgX19wdGhyZWFkX29uY2VfcGFk
WzRdOwp9IHB0aHJlYWRfb25jZV90OwoKCgoKCnR5cGVkZWYgc3RydWN0IF9wdGhyZWFkX3J3bG9j
a2F0dHIgewogICAgICAgIHZvaWQgKl9fcHRocmVhZF9yd2xvY2thdHRycDsKfSBwdGhyZWFkX3J3
bG9ja2F0dHJfdDsKCnR5cGVkZWYgdWxvbmdfdCBkZXZfdDsKCgoKCgp0eXBlZGVmIHVsb25nX3Qg
bmxpbmtfdDsKdHlwZWRlZiBsb25nIHBpZF90OwojIDQ3NiAiL3Vzci9sb2NhbC9saWIvZ2NjLWxp
Yi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBlcy5oIiAzCnR5cGVk
ZWYgbG9uZyB0aW1lX3Q7CgoKCgp0eXBlZGVmIGxvbmcgY2xvY2tfdDsKCgoKCnR5cGVkZWYgaW50
IGNsb2NraWRfdDsKCgoKCnR5cGVkZWYgaW50IHRpbWVyX3Q7CgoKCgoKCnR5cGVkZWYgdW5zaWdu
ZWQgY2hhciB1bmNoYXI7CnR5cGVkZWYgdW5zaWduZWQgc2hvcnQgdXNob3J0Owp0eXBlZGVmIHVu
c2lnbmVkIGludCB1aW50Owp0eXBlZGVmIHVuc2lnbmVkIGxvbmcgdWxvbmc7CiMgNTUyICIvdXNy
L2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lz
L3R5cGVzLmgiIDMKdHlwZWRlZiB1bnNpZ25lZCBjaGFyIHVfY2hhcjsKdHlwZWRlZiB1bnNpZ25l
ZCBzaG9ydCB1X3Nob3J0Owp0eXBlZGVmIHVuc2lnbmVkIGludCB1X2ludDsKdHlwZWRlZiB1bnNp
Z25lZCBsb25nIHVfbG9uZzsKdHlwZWRlZiBzdHJ1Y3QgX3F1YWQgeyBpbnQgdmFsWzJdOyB9IHF1
YWRfdDsKdHlwZWRlZiBxdWFkX3QgcXVhZDsKCgoKCgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3Nl
bGVjdC5oIiAxIDMKIyAxMiAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMwojcHJhZ21hIGlk
ZW50ICJAKCMpc2VsZWN0LmgJMS4xNgk5OC8wNC8yNyBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9z
eXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAxNSAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIg
MiAzCgoKIyAxICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMSAzCiMgMjIgIi91c3IvaW5jbHVk
ZS9zeXMvdGltZS5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIyl0aW1lLmgJMi42NgkwMS8wMS8xNyBT
TUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAyNSAiL3Vz
ci9pbmNsdWRlL3N5cy90aW1lLmgiIDIgMwojIDQ5ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIg
MwpzdHJ1Y3QgdGltZXZhbCB7CiAgICAgICAgdGltZV90IHR2X3NlYzsKICAgICAgICBzdXNlY29u
ZHNfdCB0dl91c2VjOwp9OwojIDgyICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUuaCIgMwpzdHJ1Y3Qg
dGltZXpvbmUgewogICAgICAgIGludCB0el9taW51dGVzd2VzdDsKICAgICAgICBpbnQgdHpfZHN0
dGltZTsKfTsKIyAxMDAgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzCiMgMSAiL3Vzci9sb2Nh
bC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5cy90eXBl
cy5oIiAxIDMKIyAxMDEgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAyIDMKIyAxNTUgIi91c3Iv
aW5jbHVkZS9zeXMvdGltZS5oIiAzCnN0cnVjdCBpdGltZXJ2YWwgewogICAgICAgIHN0cnVjdCB0
aW1ldmFsIGl0X2ludGVydmFsOwogICAgICAgIHN0cnVjdCB0aW1ldmFsIGl0X3ZhbHVlOwp9Owoj
IDIwMyAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKdHlwZWRlZiBsb25nbG9uZ190IGhydGlt
ZV90OwojIDMyMCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IGFkanRpbWUoc3RydWN0
IHRpbWV2YWwgKiwgc3RydWN0IHRpbWV2YWwgKik7CiMgMzMxICIvdXNyL2luY2x1ZGUvc3lzL3Rp
bWUuaCIgMwppbnQgZ2V0aXRpbWVyKGludCwgc3RydWN0IGl0aW1lcnZhbCAqKTsKaW50IHV0aW1l
cyhjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCB0aW1ldmFsICopOwoKCgppbnQgc2V0aXRpbWVy
KGludCwgc3RydWN0IGl0aW1lcnZhbCAqLCBzdHJ1Y3QgaXRpbWVydmFsICopOwojIDM2OSAiL3Vz
ci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IHNldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAq
LCB2b2lkICopOwoKaHJ0aW1lX3QgZ2V0aHJ0aW1lKHZvaWQpOwpocnRpbWVfdCBnZXRocnZ0aW1l
KHZvaWQpOwojIDM4OSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lLmgiIDMKaW50IGdldHRpbWVvZmRh
eShzdHJ1Y3QgdGltZXZhbCAqLCB2b2lkICopOwojIDQxMCAiL3Vzci9pbmNsdWRlL3N5cy90aW1l
LmgiIDMKIyAxICIvdXNyL2luY2x1ZGUvdGltZS5oIiAxIDMKIyA0MTEgIi91c3IvaW5jbHVkZS9z
eXMvdGltZS5oIiAyIDMKIyA0MjMgIi91c3IvaW5jbHVkZS9zeXMvdGltZS5oIiAzCiMgMSAiL3Vz
ci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMSAzCiMgNDI0ICIvdXNyL2luY2x1ZGUvc3lzL3RpbWUu
aCIgMiAzCiMgMTggIi91c3IvaW5jbHVkZS9zeXMvc2VsZWN0LmgiIDIgMwojIDQ1ICIvdXNyL2lu
Y2x1ZGUvc3lzL3NlbGVjdC5oIiAzCnR5cGVkZWYgbG9uZyBmZF9tYXNrOwoKdHlwZWRlZiBsb25n
IGZkc19tYXNrOwojIDczICIvdXNyL2luY2x1ZGUvc3lzL3NlbGVjdC5oIiAzCnR5cGVkZWYgc3Ry
dWN0IGZkX3NldCB7CgoKCiAgICAgICAgbG9uZyBmZHNfYml0c1soKCgxMDI0KSsoKChzaXplb2Yg
KGZkc19tYXNrKSAqIDgpKS0xKSkvKChzaXplb2YgKGZkc19tYXNrKSAqIDgpKSldOwp9IGZkX3Nl
dDsKIyA5NyAiL3Vzci9pbmNsdWRlL3N5cy9zZWxlY3QuaCIgMwpleHRlcm4gaW50IHNlbGVjdChp
bnQsIGZkX3NldCAqLCBmZF9zZXQgKiwgZmRfc2V0ICosIHN0cnVjdCB0aW1ldmFsICopOwojIDU2
NSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNs
dWRlL3N5cy90eXBlcy5oIiAyIDMKIyAyMCAiL3Vzci9pbmNsdWRlL3RpbWUuaCIgMiAzCiMgMSAi
L3Vzci9pbmNsdWRlL2lzby90aW1lX2lzby5oIiAxIDMKIyAyOCAiL3Vzci9pbmNsdWRlL2lzby90
aW1lX2lzby5oIiAzCiNwcmFnbWEgaWRlbnQgIkAoIyl0aW1lX2lzby5oCTEuMQk5OS8wOC8wOSBT
TUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAzMSAiL3Vz
ci9pbmNsdWRlL2lzby90aW1lX2lzby5oIiAyIDMKIyA2OSAiL3Vzci9pbmNsdWRlL2lzby90aW1l
X2lzby5oIiAzCnN0cnVjdCB0bSB7CiAgICAgICAgaW50IHRtX3NlYzsKICAgICAgICBpbnQgdG1f
bWluOwogICAgICAgIGludCB0bV9ob3VyOwogICAgICAgIGludCB0bV9tZGF5OwogICAgICAgIGlu
dCB0bV9tb247CiAgICAgICAgaW50IHRtX3llYXI7CiAgICAgICAgaW50IHRtX3dkYXk7CiAgICAg
ICAgaW50IHRtX3lkYXk7CiAgICAgICAgaW50IHRtX2lzZHN0Owp9OwoKCgoKZXh0ZXJuIGNoYXIg
KmFzY3RpbWUoY29uc3Qgc3RydWN0IHRtICopOwpleHRlcm4gY2xvY2tfdCBjbG9jayh2b2lkKTsK
ZXh0ZXJuIGNoYXIgKmN0aW1lKGNvbnN0IHRpbWVfdCAqKTsKZXh0ZXJuIGRvdWJsZSBkaWZmdGlt
ZSh0aW1lX3QsIHRpbWVfdCk7CmV4dGVybiBzdHJ1Y3QgdG0gKmdtdGltZShjb25zdCB0aW1lX3Qg
Kik7CmV4dGVybiBzdHJ1Y3QgdG0gKmxvY2FsdGltZShjb25zdCB0aW1lX3QgKik7CmV4dGVybiB0
aW1lX3QgbWt0aW1lKHN0cnVjdCB0bSAqKTsKZXh0ZXJuIHRpbWVfdCB0aW1lKHRpbWVfdCAqKTsK
ZXh0ZXJuIHNpemVfdCBzdHJmdGltZShjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBjb25z
dCBzdHJ1Y3QgdG0gKik7CiMgMjEgIi91c3IvaW5jbHVkZS90aW1lLmgiIDIgMwojIDY3ICIvdXNy
L2luY2x1ZGUvdGltZS5oIiAzCmV4dGVybiBjaGFyICpzdHJwdGltZShjb25zdCBjaGFyICosIGNv
bnN0IGNoYXIgKiwgc3RydWN0IHRtICopOwojIDgzICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzCiMg
MSAiL3Vzci9pbmNsdWRlL3N5cy90aW1lX2ltcGwuaCIgMSAzCiMgMTUgIi91c3IvaW5jbHVkZS9z
eXMvdGltZV9pbXBsLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKXRpbWVfaW1wbC5oCTEuNQk5OS8x
MC8wNSBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAxIDMKIyAx
OCAiL3Vzci9pbmNsdWRlL3N5cy90aW1lX2ltcGwuaCIgMiAzCiMgMzYgIi91c3IvaW5jbHVkZS9z
eXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgdGltZXNwZWMgewogICAgICAgIHRpbWVf
dCB0dl9zZWM7CiAgICAgICAgbG9uZyB0dl9uc2VjOwp9IHRpbWVzcGVjX3Q7CiMgNjAgIi91c3Iv
aW5jbHVkZS9zeXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1Y3QgdGltZXNwZWMgdGltZXN0
cnVjX3Q7CiMgNzkgIi91c3IvaW5jbHVkZS9zeXMvdGltZV9pbXBsLmgiIDMKdHlwZWRlZiBzdHJ1
Y3QgaXRpbWVyc3BlYyB7CiAgICAgICAgc3RydWN0IHRpbWVzcGVjIGl0X2ludGVydmFsOwogICAg
ICAgIHN0cnVjdCB0aW1lc3BlYyBpdF92YWx1ZTsKfSBpdGltZXJzcGVjX3Q7CiMgODQgIi91c3Iv
aW5jbHVkZS90aW1lLmgiIDIgMwojIDk4ICIvdXNyL2luY2x1ZGUvdGltZS5oIiAzCnVuaW9uIHNp
Z3ZhbCB7CiAgICAgICAgaW50IHNpdmFsX2ludDsKICAgICAgICB2b2lkICpzaXZhbF9wdHI7Cn07
CgoKCgpzdHJ1Y3Qgc2lnZXZlbnQgewogICAgICAgIGludCBzaWdldl9ub3RpZnk7CiAgICAgICAg
aW50IHNpZ2V2X3NpZ25vOwogICAgICAgIHVuaW9uIHNpZ3ZhbCBzaWdldl92YWx1ZTsKICAgICAg
ICB2b2lkICgqc2lnZXZfbm90aWZ5X2Z1bmN0aW9uKSh1bmlvbiBzaWd2YWwpOwogICAgICAgIHB0
aHJlYWRfYXR0cl90ICpzaWdldl9ub3RpZnlfYXR0cmlidXRlczsKICAgICAgICBpbnQgX19zaWdl
dl9wYWQyOwp9OwoKCmV4dGVybiBpbnQgY2xvY2tfZ2V0cmVzKGNsb2NraWRfdCwgc3RydWN0IHRp
bWVzcGVjICopOwpleHRlcm4gaW50IGNsb2NrX2dldHRpbWUoY2xvY2tpZF90LCBzdHJ1Y3QgdGlt
ZXNwZWMgKik7CmV4dGVybiBpbnQgY2xvY2tfc2V0dGltZShjbG9ja2lkX3QsIGNvbnN0IHN0cnVj
dCB0aW1lc3BlYyAqKTsKZXh0ZXJuIGludCB0aW1lcl9jcmVhdGUoY2xvY2tpZF90LCBzdHJ1Y3Qg
c2lnZXZlbnQgKiwgdGltZXJfdCAqKTsKZXh0ZXJuIGludCB0aW1lcl9kZWxldGUodGltZXJfdCk7
CmV4dGVybiBpbnQgdGltZXJfZ2V0b3ZlcnJ1bih0aW1lcl90KTsKZXh0ZXJuIGludCB0aW1lcl9n
ZXR0aW1lKHRpbWVyX3QsIHN0cnVjdCBpdGltZXJzcGVjICopOwpleHRlcm4gaW50IHRpbWVyX3Nl
dHRpbWUodGltZXJfdCwgaW50LCBjb25zdCBzdHJ1Y3QgaXRpbWVyc3BlYyAqLAogICAgICAgICAg
ICAgICAgc3RydWN0IGl0aW1lcnNwZWMgKik7CmV4dGVybiBpbnQgbmFub3NsZWVwKGNvbnN0IHN0
cnVjdCB0aW1lc3BlYyAqLCBzdHJ1Y3QgdGltZXNwZWMgKik7CgoKCgpleHRlcm4gdm9pZCB0enNl
dCh2b2lkKTsKCmV4dGVybiBjaGFyICp0em5hbWVbMl07CgoKZXh0ZXJuIGxvbmcgX3N5c2NvbmYo
aW50KTsKCgoKCgoKZXh0ZXJuIGxvbmcgdGltZXpvbmU7CmV4dGVybiBpbnQgZGF5bGlnaHQ7CgoK
CgoKZXh0ZXJuIGludCBjZnRpbWUoY2hhciAqLCBjaGFyICosIGNvbnN0IHRpbWVfdCAqKTsKZXh0
ZXJuIGludCBhc2NmdGltZShjaGFyICosIGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0IHRtICop
OwpleHRlcm4gbG9uZyBhbHR6b25lOwoKCgoKZXh0ZXJuIHN0cnVjdCB0bSAqZ2V0ZGF0ZShjb25z
dCBjaGFyICopOwoKCgoKCgpleHRlcm4gaW50IGdldGRhdGVfZXJyOwojIDUgInpob3UuYyIgMgoj
IDEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5j
bHVkZS9saW1pdHMuaCIgMSAzCiMgMTEgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3Vu
LXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9saW1pdHMuaCIgMwojIDEgIi91c3IvbG9jYWwvbGli
L2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4wLjEvaW5jbHVkZS9zeXNsaW1pdHMuaCIg
MSAzCiMgMjUgIi91c3IvbG9jYWwvbGliL2djYy1saWIvc3BhcmMtc3VuLXNvbGFyaXMyLjcvMy4w
LjEvaW5jbHVkZS9zeXNsaW1pdHMuaCIgMwojcHJhZ21hIGlkZW50ICJAKCMpbGltaXRzLmgJMS40
OAk5OC8wNy8yMCBTTUkiCgojIDEgIi91c3IvaW5jbHVkZS9zeXMvZmVhdHVyZV90ZXN0cy5oIiAx
IDMKIyAyOCAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAu
MS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAyIDMKIyAxICIvdXNyL2luY2x1ZGUvc3lzL2lzYV9kZWZz
LmgiIDEgMwojIDI5ICIvdXNyL2xvY2FsL2xpYi9nY2MtbGliL3NwYXJjLXN1bi1zb2xhcmlzMi43
LzMuMC4xL2luY2x1ZGUvc3lzbGltaXRzLmgiIDIgMwojIDQwICIvdXNyL2xvY2FsL2xpYi9nY2Mt
bGliL3NwYXJjLXN1bi1zb2xhcmlzMi43LzMuMC4xL2luY2x1ZGUvc3lzbGltaXRzLmgiIDMKIyAx
ICIvdXNyL2luY2x1ZGUvc3lzL2ludF9saW1pdHMuaCIgMSAzCiMgOSAiL3Vzci9pbmNsdWRlL3N5
cy9pbnRfbGltaXRzLmgiIDMKI3ByYWdtYSBpZGVudCAiQCgjKWludF9saW1pdHMuaAkxLjYJOTkv
MDgvMDYgU01JIgojIDQ0ICIvdXNyL2luY2x1ZGUvc3lzL2ludF9saW1pdHMuaCIgMwojIDEgIi91
c3IvaW5jbHVkZS9zeXMvaXNhX2RlZnMuaCIgMSAzCiMgNDUgIi91c3IvaW5jbHVkZS9zeXMvaW50
X2xpbWl0cy5oIiAyIDMKIyA0MSAiL3Vzci9sb2NhbC9saWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29s
YXJpczIuNy8zLjAuMS9pbmNsdWRlL3N5c2xpbWl0cy5oIiAyIDMKIyAxMiAiL3Vzci9sb2NhbC9s
aWIvZ2NjLWxpYi9zcGFyYy1zdW4tc29sYXJpczIuNy8zLjAuMS9pbmNsdWRlL2xpbWl0cy5oIiAy
IDMKIyA2ICJ6aG91LmMiIDIKIyAxICJyYW5kb20uYyIgMQoKCgp1bnNpZ25lZCBuZD0xLCBpcmFu
PTI5MTUzMDcxNywgcmFuLCByYVsxNjM4NF07CmRvdWJsZSByYW5zY2FsZT0oZG91YmxlKTEvKCgy
MTQ3NDgzNjQ3ICogMlUgKyAxKSsoZG91YmxlKTEpOwoKCnZvaWQgaW5pdGlhbGl6ZV9ybmcodm9p
ZCkKewogIGRvdWJsZSB6PTAuNDYxNzAzNDsKICBpbnQgbTsKCiAgZm9yKG09MDttPDE2Mzg0O20r
KykKICAgIHsKICAgICAgaXJhbio9NjkwNjk7CiAgICAgIGlyYW4rKzsKICAgICAgcmFbbV09aXJh
bl4oaW50KSgxLjFlOSpzaW4oKGRvdWJsZSltKSleKGludCkoNS5lMTAqeik7CiAgICAgIHo9MS45
OTg3NjQwNzA4ZTAteip6OwogICAgfQogIGZvcihtPTA7bTwxNjM4NDttKyspCiAgICB7CiAgICAg
IGlyYW4qPTY5MDY5OwogICAgICBpcmFuKys7CiAgICAgIHJhW21dXj0oaXJhbjw8Myk7CiAgICAg
IGlyYW4rKzsKICAgICAgcmFbbV1ePShpcmFuPj4xOSk7CiAgICB9CiAgZm9yKG09MDttPDE2Mzg0
O20rPTI3KQogICAgewogICAgICBpcmFuKj02OTA2OTsKICAgICAgaXJhbisrOwogICAgICByYVtt
XV49aXJhbjsKICAgIH0KICBmb3IobT0wO208NTAwMDAwO20rKykKICAgICAgcmFuPSgrK25kLHJh
W25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkmMTYzODNdXnJhWyhu
ZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkgOwp9CiMgNyAiemhvdS5jIiAyCiMg
MjYgInpob3UuYyIKY2xvY2tfdCBzdGFydCwgZW5kZTsKZG91YmxlIGNwdV90aW1lPTA7CmludCBp
LCBuLCBzdGFydHMsIHN0YXJ0c2xhc3RbNTAwXSxlOwpkb3VibGUgd2s7CmRvdWJsZSB6blsyNV0s
c2Vld1syNV0sIHNlZXcyWzI1XTsKaW50IGVtYXg9MDsKaW50IGNbMjVdLGVlWzI1XTsKaW50IHRv
dXJsZW5ndGg7CmludCBubWF4X2xlbmd0aCxzdGFydG1pbls1MDBdOwpkb3VibGUgeHhbMjVdLHl5
WzI1XSx6elsyNV0scGhpWzI1XSx0aGV0YVsyNV0seHgwWzI1XSx5eTBbMjVdLHp6MFsyNV07CmRv
dWJsZSBwaTI9My4xNDE1OTI2NTM1ODk3OTMwKjIuLHJhbnNjYWxlMixyYW5zY2FsZXBpMjsKZG91
YmxlIGxhbWJkYTI9MS41KjEuNTsKZG91YmxlIGxvZ3AwOwpkb3VibGUgZWhpc3RbNTAwXVs1XTsK
aW50IGxhc3RoaXRbNTAwXVs1XSwgY2VoaXN0WzUwMF1bNV07CmludCBsZW5nWzVdPXsyNCwxNSwx
MSw3LDV9OwoKRklMRSAqZm91dDsKaW50IHN1Y2NbNTAwXTsKZG91YmxlIHN1Y2N3WzUwMF07CmRv
dWJsZSBzdW1xWzYwICsxXSxzdW1xdFs2MCo2MCo2MC82XSxzdW1xMls2MCo2MCo2MC82XTsKZG91
YmxlIHEwWzEzXTsKCnZvaWQgc3RlcChkb3VibGUgdykKewogaW50IGsxLGsyLGszLGosbmZyZWUs
bmZyZWUxOwogaW50IGVlbmV4dFs2MCArMV07CiBkb3VibGUgdzEsIHcyLCB3cHJlZDsKIGRvdWJs
ZSBxWzYwICsxXSxxcVs2MCArMV07CiBkb3VibGUgeHhuZXdbNjAgKzFdLHl5bmV3WzYwICsxXSx6
em5ld1s2MCArMV0seHh0LHl5dCx6enQ7CiBkb3VibGUgcGhpbmV3WzYwICsxXSx0aGV0YW5ld1s2
MCArMV07CiBkb3VibGUgZW9sZCxycDsKIGRvdWJsZSBwaGkxLHRoZXRhMTsKIGRvdWJsZSBjb3N0
aGV0YTEsc2ludGhldGExOwogZG91YmxlIHh4biwgeXluLCB6em4sIHJrbjI7CiBpbnQgZGUsbmV4
dFs2MCo2MCo2MC82XVs0XSxudW0xLG51bXQsbmV4dGZyZWUsam5bNjAgKzFdOwogaW50IGlyMDsK
IGRvdWJsZSB3ZjsKCiAgICAgICAgICAgICBpZih3PjEuZTMwKSB7cHJpbnRmKCJ3ID0gJWU6IHN0
YXJ0cyxuID0gJWQsICVkXG4iLHcsc3RhcnRzLG4pOyAoLS0oKCZfX2lvYlswXSkpLT5fY250IDwg
MCA/IF9fZmlsYnVmKCgmX19pb2JbMF0pKSA6IChpbnQpKigoJl9faW9iWzBdKSktPl9wdHIrKyk7
fQogIGVvbGQ9ZTsKICBlKz1lZVtuXTsKICB6bltuXSs9dzsKICBjW25dKys7CiAgc2Vld1tuXSs9
ZSp3OyBzZWV3MltuXSs9ZSplKnc7CgogIHh4dD14eFtuXTsgeXl0PXl5W25dOyB6enQ9enpbbl07
CgogIGlmIChuPnRvdXJsZW5ndGgpIHRvdXJsZW5ndGg9bjsKCiAgZm9yIChpPTA7aTw1O2krKykg
ewogICAgICBpZiAobj09bGVuZ1tpXSkgewogICAgICAgICAgZWhpc3RbZV1baV0rPXc7CiAgICAg
ICAgICBpZiAobGFzdGhpdFtlXVtpXTxzdGFydHMpIHsgY2VoaXN0W2VdW2ldKys7IGxhc3RoaXRb
ZV1baV09c3RhcnRzO30KICAgICAgfQogIH0KCiAgaWYgKG48bm1heF9sZW5ndGgpIHsKICAgICBu
Kys7CiAgICAgbmZyZWU9MDsKICAgICBwaGkxPSgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00
NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkmMTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5k
LTE1ODYpJjE2MzgzXSkqcmFuc2NhbGVwaTI7CiAgICAgZm9yIChqPTE7ajw9NjA7aisrKSB7CiAg
ICAgICAgcGhpMSs9cGkyLzYwOyBpZihwaGkxPnBpMikgcGhpMS09cGkyOwogICAgICAgIGNvc3Ro
ZXRhMT0oKytuZCxyYVtuZCYxNjM4M10gPSByYVsobmQtNDcxKSYxNjM4M11ecmFbKG5kLTY5ODgp
JjE2MzgzXV5yYVsobmQtOTY4OSkmMTYzODNdXnJhWyhuZC0xNTg2KSYxNjM4M10pKnJhbnNjYWxl
Mi0xOwogICAgICAgIHNpbnRoZXRhMT1zcXJ0KDEtY29zdGhldGExKmNvc3RoZXRhMSk7CiAgICAg
ICAgdGhldGExPWFjb3MoY29zdGhldGExKTsKICAgICAgICB4eG49eHh0K3NpbnRoZXRhMSpjb3Mo
cGhpMSk7CiAgICAgICAgeXluPXl5dCtzaW50aGV0YTEqc2luKHBoaTEpOwogICAgICAgIHp6bj16
enQrY29zdGhldGExOwogICAgICAgIGRlPTA7CiAgICAgICAgZm9yIChrMT1uLTI7IGsxPj0wOyBr
MS0tKSB7CiAgICAgICAgICBya24yPSh4eG4teHhbazFdKSooeHhuLXh4W2sxXSkrKHl5bi15eVtr
MV0pKih5eW4teXlbazFdKSsoenpuLXp6W2sxXSkqKHp6bi16eltrMV0pOwogICAgICAgICAgaWYo
cmtuMjwxLikgZ290byBhYWE7CiAgICAgICAgICBpZihya24yPGxhbWJkYTIpIGRlKys7CiAgICAg
ICAgfQogICAgICAgIG5mcmVlKys7CiAgICAgICAgcVtuZnJlZV09cTBbZGVdOwogICAgICAgIGVl
bmV4dFtuZnJlZV09ZGU7CiAgICAgICAgeHhuZXdbbmZyZWVdPXh4bjsgeXluZXdbbmZyZWVdPXl5
bjsgenpuZXdbbmZyZWVdPXp6bjsKICAgICAgICBwaGluZXdbbmZyZWVdPXBoaTE7IHRoZXRhbmV3
W25mcmVlXT10aGV0YTE7CiAgICAgICAgYWFhOjsKICAgICB9CgogICAgIGlmIChuZnJlZT4wKSB7
CiAgICAgICBzdW1xWzBdPTA7CiAgICAgICBmb3IgKGo9MTtqPD1uZnJlZTtqKyspIHsKICAgICAg
ICAgIG5mcmVlMT0wOwogICAgICAgICAgbmV4dGZyZWU9MStuZnJlZTEqMi4wOwogICAgICAgICAg
c3VtcVtqXT0ocXFbal09cVtqXSpuZXh0ZnJlZSkrc3VtcVtqLTFdO2puW2pdPWo7CiAgICAgICB9
CiAgICAgICB3cHJlZD13KnN1bXFbbmZyZWVdOwogICAgICAgaWYoem5bbl0+MWUtMTUwKSB7dzE9
em5bbl0qY1tuXSp3aypjW25dKmNbbl07IHcyPXcxKi4yO30KICAgICAgIGVsc2Uge3cxPTEuZTE2
MDsgdzI9MC47fQoKICAgICAgIGlmICgod3ByZWQ+dzEpJiYobmZyZWU+MSkpIHsKICAgICAgICAg
IGlmKCh3cHJlZD53MSozKSYmKG5mcmVlPjIpKSB7CiAgICAgICAgICAgICBudW10PTA7IHN1bXF0
WzBdPTA7CiAgICAgICAgICAgICBmb3IgKGsxPTE7azE8bmZyZWUtMTsgazErKykgewogICAgICAg
ICAgICAgICBmb3IgKGsyPWsxKzE7azI8bmZyZWU7IGsyKyspIHsKICAgICAgICAgICAgICAgICBm
b3IgKGszPWsyKzE7azM8PW5mcmVlOyBrMysrKSB7CiAgICAgICAgICAgICAgICAgICBudW10Kys7
CiAgICAgICAgICAgICAgICAgICBuZXh0W251bXRdWzFdPWpuW2sxXTsKICAgICAgICAgICAgICAg
ICAgIG5leHRbbnVtdF1bMl09am5bazJdOwogICAgICAgICAgICAgICAgICAgbmV4dFtudW10XVsz
XT1qbltrM107CiAgICAgICAgICAgICAgICAgICBzdW1xMltudW10XT1xcVtrMV0rcXFbazJdK3Fx
W2szXTsKICAgICAgICAgICAgICAgICAgIHN1bXF0W251bXRdPXN1bXEyW251bXRdK3N1bXF0W251
bXQtMV07CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
CiAgICAgICAgICAgICBycD0oKCsrbmQscmFbbmQmMTYzODNdID0gcmFbKG5kLTQ3MSkmMTYzODNd
XnJhWyhuZC02OTg4KSYxNjM4M11ecmFbKG5kLTk2ODkpJjE2MzgzXV5yYVsobmQtMTU4NikmMTYz
ODNdKSpyYW5zY2FsZSkqc3VtcXRbbnVtdF07CiAgICAgICAgICAgICBudW0xPTA7CiAgICAgICAg
ICAgICBkbyBudW0xKys7IHdoaWxlIChzdW1xdFtudW0xXTxycCk7CiAgICAgICAgICAgICBpZihu
dW0xPm51bXQpIHByaW50ZigibnVtMT5udW10ID0gJWQhXG4iLG51bXQpOwogICAgICAgICAgICAg
dyo9c3VtcVtuZnJlZV0vc3VtcTJbbnVtMV07CiAgICAgICAgICAgICBmb3IgKGszPTE7azM8PTM7
azMrKykgewogICAgICAgICAgICAgICAgazE9bmV4dFtudW0xXVtrM107CiAgICAgICAgICAgICAg
ICBlZVtuXT1lZW5leHRbazFdOwogICAgICAgICAgICAgICAgeHhbbl09eHhuZXdbazFdOyB5eVtu
XT15eW5ld1trMV07IHp6W25dPXp6bmV3W2sxXTsKICAgICAgICAgICAgICAgIHBoaVtuXT1waGlu
ZXdbazFdOyB0aGV0YVtuXT10aGV0YW5ld1trMV07CiAgICAgICAgICAgICAgICBzdGVwKHcqcVtr
MV0pOwogICAgICAgICAgICAgfQogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIG51bXQ9
MDsgc3VtcXRbMF09MDsKICAgICAgICAgICAgIGZvciAoazE9MTtrMTxuZnJlZTsgazErKykgewog
ICAgICAgICAgICAgICBmb3IgKGsyPWsxKzE7azI8PW5mcmVlOyBrMisrKSB7CiAgICAgICAgICAg
ICAgICAgbnVtdCsrOwogICAgICAgICAgICAgICAgIG5leHRbbnVtdF1bMV09am5bazFdOwogICAg
ICAgICAgICAgICAgIG5leHRbbnVtdF1bMl09am5bazJdOwogICAgICAgICAgICAgICAgIHN1bXEy
W251bXRdPXFxW2sxXStxcVtrMl07CiAgICAgICAgICAgICAgICAgc3VtcXRbbnVtdF09c3VtcTJb
bnVtdF0rc3VtcXRbbnVtdC0xXTsKICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcnA9KCgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVso
bmQtNjk4OCkmMTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkq
cmFuc2NhbGUpKnN1bXF0W251bXRdOwogICAgICAgICAgICAgbnVtMT0wOwogICAgICAgICAgICAg
ZG8gbnVtMSsrOyB3aGlsZSAoc3VtcXRbbnVtMV08cnApOwogICAgICAgICAgICAgaWYobnVtMT5u
dW10KSBwcmludGYoIm51bTE+bnVtdCA9ICVkIVxuIixudW10KTsKICAgICAgICAgICAgIHcqPXN1
bXFbbmZyZWVdL3N1bXEyW251bTFdOwogICAgICAgICAgICAgZm9yIChrMj0xO2syPD0yO2syKysp
ewogICAgICAgICAgICAgICAgazE9bmV4dFtudW0xXVtrMl07CiAgICAgICAgICAgICAgICBlZVtu
XT1lZW5leHRbazFdOwogICAgICAgICAgICAgICAgeHhbbl09eHhuZXdbazFdOyB5eVtuXT15eW5l
d1trMV07IHp6W25dPXp6bmV3W2sxXTsKICAgICAgICAgICAgICAgIHBoaVtuXT1waGluZXdbazFd
OyB0aGV0YVtuXT10aGV0YW5ld1trMV07CiAgICAgICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwog
ICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgfSBlbHNlIGlmICh3cHJlZD53Mikgewog
ICAgICAgICAgIHJwPXN1bXFbbmZyZWVdKigoKytuZCxyYVtuZCYxNjM4M10gPSByYVsobmQtNDcx
KSYxNjM4M11ecmFbKG5kLTY5ODgpJjE2MzgzXV5yYVsobmQtOTY4OSkmMTYzODNdXnJhWyhuZC0x
NTg2KSYxNjM4M10pKnJhbnNjYWxlKTsKICAgICAgICAgICBudW0xPTA7CiAgICAgICAgICAgZG8g
bnVtMSsrOyB3aGlsZSAoc3VtcVtudW0xXTxycCk7CiAgICAgICAgICAgaWYobnVtMT5uZnJlZSkg
cHJpbnRmKCJudW0xPm5mcmVlID0gJWQhXG4iLG5mcmVlKTsKICAgICAgICAgICB3Kj1zdW1xW25m
cmVlXS9xcVtudW0xXTsKICAgICAgICAgICBrMT1qbltudW0xXTsKICAgICAgICAgICBlZVtuXT1l
ZW5leHRbazFdOwogICAgICAgICAgIHh4W25dPXh4bmV3W2sxXTsgeXlbbl09eXluZXdbazFdOyB6
eltuXT16em5ld1trMV07CiAgICAgICAgICAgcGhpW25dPXBoaW5ld1trMV07IHRoZXRhW25dPXRo
ZXRhbmV3W2sxXTsKICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwogICAgICAgfSBlbHNlIHsKICAg
ICAgICAgICBpZih3cHJlZD53MiouNDUpIHsgaXIwPTE7IHdmPTI7IH0KICAgICAgICAgICBlbHNl
IHsgaXIwPTM7IHdmPTQ7IH0KICAgICAgICAgICBpZigoKCsrbmQscmFbbmQmMTYzODNdID0gcmFb
KG5kLTQ3MSkmMTYzODNdXnJhWyhuZC02OTg4KSYxNjM4M11ecmFbKG5kLTk2ODkpJjE2MzgzXV5y
YVsobmQtMTU4NikmMTYzODNdKSZpcjApPT0wKSB7CiAgICAgICAgICAgICAgcnA9c3VtcVtuZnJl
ZV0qKCgrK25kLHJhW25kJjE2MzgzXSA9IHJhWyhuZC00NzEpJjE2MzgzXV5yYVsobmQtNjk4OCkm
MTYzODNdXnJhWyhuZC05Njg5KSYxNjM4M11ecmFbKG5kLTE1ODYpJjE2MzgzXSkqcmFuc2NhbGUp
OwogICAgICAgICAgICAgIG51bTE9MDsKICAgICAgICAgICAgICBkbyBudW0xKys7IHdoaWxlIChz
dW1xW251bTFdPHJwKTsKICAgICAgICAgICAgICBpZihudW0xPm5mcmVlKSBwcmludGYoIm51bTE+
bmZyZWUgPSAlZFxuIixuZnJlZSk7CiAgICAgICAgICAgICAgdyo9KHdmKnN1bXFbbmZyZWVdL3Fx
W251bTFdKTsKICAgICAgICAgICAgICBrMT1qbltudW0xXTsKICAgICAgICAgICAgICBlZVtuXT1l
ZW5leHRbazFdOwogICAgICAgICAgICAgIHh4W25dPXh4bmV3W2sxXTsgeXlbbl09eXluZXdbazFd
OyB6eltuXT16em5ld1trMV07CiAgICAgICAgICAgICAgcGhpW25dPXBoaW5ld1trMV07IHRoZXRh
W25dPXRoZXRhbmV3W2sxXTsKICAgICAgICAgICAgICBzdGVwKHcqcVtrMV0pOwogICAgICAgICAg
IH0KICAgICAgIH0KICAgICB9CiAgICAgbi0tOwogIH0gZWxzZSB7CiAgICAgaWYgKGU+ZW1heCkg
ewogICAgICAgIHN0YXJ0bWluW2VdPXN0YXJ0czsKICAgICAgICBlbWF4PWU7CiAgICAgICAgZm91
dD1mb3BlbigicC16aDI1LTEuMC02MC5kYXQtYiIsInciKTsKICAgICAgICBmcHJpbnRmKGZvdXQs
IiMgIE5ldyBQRVJNaXNcbiIpOwogICAgICAgIGZwcmludGYoZm91dCwiIyAgdGVtcCA9ICVnICBw
MCA9ICVnIEN1dG9mZj0lZywgQ1BVLVplaXQ9JTExLjFmIHNlYy4gXG4iLDEuLzEuMCwxLi82MCww
LjAxLGNwdV90aW1lKTsKICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIHN0YXJ0cyA9ICV1LCBlbWlu
ID0gJWQgKHN0YXJ0PSVkKSBcbiIsc3RhcnRzLC1lbWF4LHN0YXJ0bWluW2VtYXhdKTsKICAgICAg
ICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0ZXNcbiIsNjApOwogICAgICAgIGZwcmludGYo
Zm91dCwiIyAgZXZlbmx5IHNwYWNlZCBwaGktdmFsdWVzICEhXG4iKTsKICAgICAgICBmb3IgKGo9
ZW1heC05O2o8PWVtYXg7aisrKQogICAgICAgICAgIGZwcmludGYoZm91dCwiIyAgJTEyZCAlOGRc
biIsLWosc3RhcnRtaW5bal0pOwogICAgICAgIGZwcmludGYoZm91dCwiIyBuIHwgeHggfCB5eSB8
IHp6IFxuIik7CiAgICAgICAgZm9yIChqPTA7ajw9bm1heF9sZW5ndGg7aisrKXsKICAgICAgICAg
ICBpZihlPT1lbWF4KSB7IHh4MFtqXT14eFtqXTsgeXkwW2pdPXl5W2pdOyB6ejBbal09enpbal07
fQogICAgICAgICAgIGZwcmludGYoZm91dCwiJTNkICUxMi41ZiAlMTIuNWYgJTEyLjVmXG4iLGos
eHgwW2pdLHl5MFtqXSx6ejBbal0pOwogICAgICAgIH0KICAgICAgICBmY2xvc2UoZm91dCk7CiAg
ICAgfQogICAgIHN1Y2N3W2VdKz13OwogICAgIGlmKHN0YXJ0cz5zdGFydHNsYXN0W2VdKXsKICAg
ICAgICBzdGFydHNsYXN0W2VdPXN0YXJ0czsKICAgICAgICBzdWNjW2VdKys7CiAgICAgfQogIH0K
ICBlPWVvbGQ7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgaW50IGosayxrayxra3A9MCxudG91clsy
NV0sdG91cnMsaWk7CiAgIGRvdWJsZSBhdnosIGF2ZWV3OwogICBkb3VibGUgYXZlZXcyLCBjdjsK
ICAgZG91YmxlIGVoWzRdPXswLDAsMCwwfTsKICAgaW5pdGlhbGl6ZV9ybmcoICk7CiAgIHJhbnNj
YWxlMj1yYW5zY2FsZSoyOyByYW5zY2FsZXBpMj1yYW5zY2FsZSpwaTI7CgogICBsb2dwMD1sb2co
MS4vNjApOwogICBmb3IoaT0wO2k8MjU7aSsrKSB6bltpXT1jW2ldPXNlZXdbaV09bnRvdXJbaV09
MDsKICAgZm9yKGk9MDtpPDUwMDtpKyspIHsKICAgICAgICAgc3VjY1tpXT1zdWNjd1tpXT1zdGFy
dHNsYXN0W2ldPXN0YXJ0bWluW2ldPTA7CiAgICAgICAgIGZvciAoaj0wO2o8NTtqKyspIGVoaXN0
W2ldW2pdPWNlaGlzdFtpXVtqXT1sYXN0aGl0W2ldW2pdPTA7CiAgIH0KICAgZm9yKGk9MDtpPDEz
O2krKykgcTBbaV09MS4vNjAqZXhwKDEuMCppKTsKICAgc3RhcnRzPTA7CiAgIG5tYXhfbGVuZ3Ro
PTI1IC0xOwogICBmb3Ioa2s9MTtrazwyMDAwMDAwMDA7a2srKykgewogICAgICBzdGFydD1jbG9j
aygpOwogICAgICBmb3Ioaz0xO2s8PTUwMDtrKyspIHsKICAgICAgICAgc3RhcnRzKys7IHdrPTAu
MDEvKGRvdWJsZSlzdGFydHMvc3RhcnRzLyhkb3VibGUpc3RhcnRzL3N0YXJ0czsKICAgICAgICAg
eHhbMF09eXlbMF09enpbMF09MDsgem5bMF0rKztjWzBdKys7CiAgICAgICAgIHh4WzFdPTE7IHl5
WzFdPXBoaVsxXT1lZVsxXT0wOwogICAgICAgICBlPTAuMDsgdG91cmxlbmd0aD1uPTE7CiAgICAg
ICAgIHN0ZXAoMS4vNjApOwogICAgICAgICBudG91clt0b3VybGVuZ3RoXSsrO30KICAgICAgZW5k
ZT1jbG9jayggKTsKICAgICAgY3B1X3RpbWUrPShkb3VibGUpKGVuZGUtc3RhcnQpLzEwMDAwMDA7
CgogICAgICBpZihraz5ra3ApIHsKICAgICAgICAgcHJpbnRmKCIgJWQgcnVuczogJWQgc3VjY2Vz
c2VzLCB6biA9ICVnLCAlZiBzZWMsICBlX21pbiA9ICVkXG4iLGtrKjUwMCxudG91cltubWF4X2xl
bmd0aF0sem5bbm1heF9sZW5ndGhdL2trLzUwMCxjcHVfdGltZSwtZW1heCk7CiAgICAgICAgIGtr
cD1rayoxLjAyOwogICAgICAgICBmb3V0PWZvcGVuKCJlLXpoMjUtMS4wLTYwLmRhdC1iIiwidyIp
OwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIE5ldyBQRVJNaXNcbiIpOwogICAgICAgICBmcHJp
bnRmKGZvdXQsIiMgIHRlbXAgPSAlZyAgcDAgPSAlZyBDdXRvZmY9JWcsIENQVS1aZWl0PSUxMS4x
ZiBzZWMuIFxuIiwxLi8xLjAsMS4vNjAsMC4wMSxjcHVfdGltZSk7CiAgICAgICAgIGZwcmludGYo
Zm91dCwiIyAgc3RhcnRzID0gJXUsIGVtaW4gPSAlZCAoc3RhcnQ9JWQpIFxuIixzdGFydHMsLWVt
YXgsc3RhcnRtaW5bZW1heF0pOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0
ZXNcbiIsNjApOwogICAgICAgICBmb3Ioaj0wOyBqPDUwMDsgaisrKSBpZihzdWNjW2pdPjApIGZw
cmludGYoZm91dCwiJTdkICU4ZCAlMTEuNmZcbiIsLWosc3VjY1tqXSxsb2coc3VjY3dbal0pLW5t
YXhfbGVuZ3RoKmxvZ3AwKTsKICAgICAgICAgZmNsb3NlKGZvdXQpOwogICAgICAgICBmb3V0PWZv
cGVuKCJ6LXpoMjUtMS4wLTYwLmRhdC1iIiwidyIpOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMg
IE5ldyBQRVJNaXNcbiIpOwogICAgICAgICBmcHJpbnRmKGZvdXQsIiMgIHRlbXAgPSAlZyAgcDAg
PSAlZyBDdXRvZmY9JWcsIENQVS1aZWl0PSUxMS4xZiBzZWMuIFxuIiwxLi8xLjAsMS4vNjAsMC4w
MSxjcHVfdGltZSk7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAgc3RhcnRzID0gJXUsIGVtaW4g
PSAlZCAoc3RhcnQ9JWQpIFxuIixzdGFydHMsLWVtYXgsc3RhcnRtaW5bZW1heF0pOwogICAgICAg
ICBmcHJpbnRmKGZvdXQsIiMgICVkIGNhbmRpZGF0ZXNcbiIsNjApOwogICAgICAgICB0b3Vycz1r
ayo1MDA7CiAgICAgICAgIGZwcmludGYoZm91dCwgIiMgbiB8IGxuIHpuW25dIHwgY2MgfCB0b3Vy
cyB8IGNfdiB8IDxlPnwgXG4iKTsKICAgICAgICAgZm9yKGo9MDsgajw9bm1heF9sZW5ndGg7aisr
KXsKICAgICAgICAgICAgYXZlZXc9c2Vld1tqXS96bltqXTsKICAgICAgICAgICAgYXZlZXcyPXNl
ZXcyW2pdL3puW2pdOwogICAgICAgICAgICBhdno9em5bal0va2svNTAwOwogICAgICAgICAgICBj
dj0xLjAqMS4wKihhdmVldzItYXZlZXcqYXZlZXcpOwoKICAgICAgICAgICAgZnByaW50Zihmb3V0
LCIlM2QgJTExLjVmICUxMmQgJTEyZCAlMTAuNGYgJTEwLjRmXG4iLGosbG9nKGF2eiktaipsb2dw
MCxjW2pdLHRvdXJzLGN2LC1hdmVldyk7CiAgICAgICAgICAgIHRvdXJzLT1udG91cltqXTsgfQog
ICAgICAgICBmY2xvc2UoZm91dCk7CiAgICAgICAgIGZvdXQ9Zm9wZW4oImgtemgyNS0xLjAtNjAu
ZGF0LWIiLCJ3Iik7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAgTmV3IFBFUk1pc1xuIik7CiAg
ICAgICAgIGZwcmludGYoZm91dCwiIyAgdGVtcCA9ICVnICBwMCA9ICVnIEN1dG9mZj0lZywgQ1BV
LVplaXQ9JTExLjFmIHNlYy4gXG4iLDEuLzEuMCwxLi82MCwwLjAxLGNwdV90aW1lKTsKICAgICAg
ICAgZnByaW50Zihmb3V0LCIjICBzdGFydHMgPSAldSwgZW1pbiA9ICVkIChzdGFydD0lZCkgXG4i
LHN0YXJ0cywtZW1heCxzdGFydG1pbltlbWF4XSk7CiAgICAgICAgIGZwcmludGYoZm91dCwiIyAg
JWQgY2FuZGlkYXRlc1xuIiw2MCk7CiAgICAgICAgIGZvciAoaT0wOyBpPDUwMDtpKyspewogICAg
ICAgICAgICBpaT1jZWhpc3RbaV1bMF0rY2VoaXN0W2ldWzFdK2NlaGlzdFtpXVsyXStjZWhpc3Rb
aV1bM10rY2VoaXN0W2ldWzRdOwogICAgICAgICAgICBpZihpaT09MCkgY29udGludWU7CiAgICAg
ICAgICAgIGZvciAoaj0wO2o8NTtqKyspIHsKICAgICAgICAgICAgaWYoY2VoaXN0W2ldW2pdPjAp
IGVoW2pdPWxvZyhlaGlzdFtpXVtqXS9zdGFydHMpLShsZW5nW2pdKSpsb2dwMDsgZWxzZSBlaFtq
XT0wO30KICAgICAgICAgICAgZnByaW50Zihmb3V0LCIlNWQgJThkICUxMS42ZiAlOGQgJTExLjZm
ICU4ZCAlMTEuNmYgJThkICUxMS42ZiAlOGQgJTExLjZmXG4iLGksCiAgICAgICAgICAgICAgIGNl
aGlzdFtpXVswXSxlaFswXSwgY2VoaXN0W2ldWzFdLGVoWzFdLCBjZWhpc3RbaV1bMl0sZWhbMl0s
IGNlaGlzdFtpXVszXSxlaFszXSwgY2VoaXN0W2ldWzRdLGVoWzRdKTsKICAgICAgICAgY29udGlu
dWU7CiAgICAgICAgfQogICAgICAgICBmY2xvc2UoZm91dCk7CgogICAgICB9CiAgIH0KfQo=


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-05-09 22:46 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-05-09 22:46 c/9526: Internal compiler error Dara Hazeghi
  -- strict thread matches above, loose matches on Subject: below --
2003-02-01 16:06 P.Grassberger
2003-02-01 14:43 ehrhardt
2003-01-31 18:56 pme
2003-01-31 15:26 p.grassberger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).