Bug#1141178: trixie-pu: package glibc/2.41-12+deb13u4

Aurelien Jarno <[email protected]> Tue, 30 Jun 2026 21:03:48 +0200
Newsgroups gmane.linux.debian.devel.glibc
Message-ID <178284622893.1864528.305104314116268323.reportbug__2842.40257912955$1782846354$gmane$org@ohm.local>
This is a multi-part MIME message sent by reportbug.


--===============0406620918656266304==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Package: release.debian.org
Severity: normal
Tags: trixie
X-Debbugs-Cc: [email protected]
Control: affects -1 + src:glibc
User: [email protected]
Usertags: pu

[ Reason ]
The upstream stable branch received fixes since the latest trixie point
release, and this update pulls them into the debian package.

This includes most notably 2 security fixes and one FTBFS when using a 
kernel from trixie-backports.

[ Impact ]
In case the update isn't approved, systems will be left with a few
security issues, and the differences with upstream will increase.

[ Tests ]
The changes are covered by additional tests, with the exception of the
kernel header compatibility.

[ Risks ]
I believe the risks are low, as the changes do not touch the core part
of the library, and as all the changes are already in testing.

I also did manual test upgrading glibc with this version on an amd64
host. It rebooted fine and is still running fine.

[ Checklist ]
  [x] *all* changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in (old)stable
  [x] the issue is verified as fixed in unstable

[ Changes ]
The changes are summarized in the changelog, let me give you a few extra
details for some of them:

  - Fix build against linux 7.0 headers.  Closes: #1135405.

This fix an FTBFS with linux-libc-dev >= 7.0, which in trixie could
happen when users have installed a kernel from trixie-backports. Indeed
in that case apt ensure that all packages built from the same source are
at the same version.

  - Suppress iconv intermediate errors with //TRANSLIT.

This is the continuation of bug #1087670 for different cases.

--===============0406620918656266304==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="glibc_2.41-12+deb13u4.debdiff"

ZGlmZiAtLWdpdCBhL2RlYmlhbi9jaGFuZ2Vsb2cgYi9kZWJpYW4vY2hhbmdlbG9nCmluZGV4IGM1
ZjNiZGM2Li5jMDc2OGNkYiAxMDA2NDQKLS0tIGEvZGViaWFuL2NoYW5nZWxvZworKysgYi9kZWJp
YW4vY2hhbmdlbG9nCkBAIC0xLDMgKzEsMTMgQEAKK2dsaWJjICgyLjQxLTEyK2RlYjEzdTQpIHRy
aXhpZTsgdXJnZW5jeT1tZWRpdW0KKworICAqIGRlYmlhbi9wYXRjaGVzL2dpdC11cGRhdGVzLmRp
ZmY6IHVwZGF0ZSBmcm9tIHVwc3RyZWFtIHN0YWJsZSBicmFuY2g6CisgICAgLSBGaXggYnVpbGQg
YWdhaW5zdCBsaW51eCA3LjAgaGVhZGVycy4gIENsb3NlczogIzExMzU0MDUuCisgICAgLSBGaXgg
dW5nZXR3YyBvcGVyYXRpbmcgb24gYnl0ZSBzdHJlYW0gKENWRS0yMDI2LTU5MjgpLiAgQ2xvc2Vz
OiAjMTEzNDU0NC4KKyAgICAtIEZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gc2NhbmYgJW1jIChDVkUt
MjAyNi01NDUwKS4gIENsb3NlczogIzExMzQ1NDMuCisgICAgLSBTdXBwcmVzcyBpY29udiBpbnRl
cm1lZGlhdGUgZXJyb3JzIHdpdGggLy9UUkFOU0xJVC4KKworIC0tIEF1cmVsaWVuIEphcm5vIDxh
dXJlbDMyQGRlYmlhbi5vcmc+ICBNb24sIDI5IEp1biAyMDI2IDIzOjM3OjUyICswMjAwCisKIGds
aWJjICgyLjQxLTEyK2RlYjEzdTMpIHRyaXhpZTsgdXJnZW5jeT1tZWRpdW0KIAogICAqIGRlYmlh
bi9jb250cm9sLmluL2xpYmM6IGVuc3VyZSB0aGF0IGxpYmRwa2ctcGVybCBpcyBmaXhlZCB3cnQg
c3ltYm9sCmRpZmYgLS1naXQgYS9kZWJpYW4vcGF0Y2hlcy9naXQtdXBkYXRlcy5kaWZmIGIvZGVi
aWFuL3BhdGNoZXMvZ2l0LXVwZGF0ZXMuZGlmZgppbmRleCA3MTQxZWM5OS4uYjllOGMwMmYgMTAw
NjQ0Ci0tLSBhL2RlYmlhbi9wYXRjaGVzL2dpdC11cGRhdGVzLmRpZmYKKysrIGIvZGViaWFuL3Bh
dGNoZXMvZ2l0LXVwZGF0ZXMuZGlmZgpAQCAtMzYyMiw2ICszNjIyLDIwIEBAIGluZGV4IDAwMDAw
MDAwMDAuLjY2YTBkYjRmNTEKICt9CiArCiArI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIu
Yz4KK2RpZmYgLS1naXQgYS9pY29udi9NYWtlZmlsZSBiL2ljb252L01ha2VmaWxlCitpbmRleCA5
YTk0YTQxYmE0Li4wMjhkMjRmZmMzIDEwMDY0NAorLS0tIGEvaWNvbnYvTWFrZWZpbGUKKysrKyBi
L2ljb252L01ha2VmaWxlCitAQCAtMTM4LDcgKzEzOCw4IEBAICQob2JqcGZ4KXRlc3QtaWNvbnZj
b25maWcub3V0OiAkKG9ianBmeClpY29udmNvbmZpZworIAkgcm0gLWYgJCR0bXApID4gJEA7IFwK
KyAJJChldmFsdWF0ZS10ZXN0KQorIAorLSQob2JqcGZ4KXRzdC1pY29udl9wcm9nLm91dDogdHN0
LWljb252X3Byb2cuc2ggJChvYmpwZngpaWNvbnZfcHJvZworKyQob2JqcGZ4KXRzdC1pY29udl9w
cm9nLm91dDogdHN0LWljb252X3Byb2cuc2ggJChvYmpwZngpaWNvbnZfcHJvZyBcCisrICAkKGdl
bi1sb2NhbGVzKQorIAkkKEJBU0gpICQ8ICQoY29tbW9uLW9iamRpcikgJyQodGVzdC13cmFwcGVy
LWVudiknIFwKKyAJCSAnJChydW4tcHJvZ3JhbS1lbnYpJyA+ICRAOyBcCisgCSQoZXZhbHVhdGUt
dGVzdCkKIGRpZmYgLS1naXQgYS9pY29udi9pY29udl9wcm9nLmMgYi9pY29udi9pY29udl9wcm9n
LmMKIGluZGV4IDdkYmE1ZDhkZmYuLjU1OGNmYjExYTMgMTAwNjQ0CiAtLS0gYS9pY29udi9pY29u
dl9wcm9nLmMKQEAgLTM2NDQsNiArMzY1OCwyMyBAQCBpbmRleCA3ZGJhNWQ4ZGZmLi41NThjZmIx
MWEzIDEwMDY0NAogICAgICAgIGlmIChvdXRwdXRfZmQgPj0gMCkKICAJb3V0cHV0X2J1ZmZlcl9z
aXplID0gY29weV9idWZmZXJfc2l6ZTsKICAgICAgICBlbHNlCitkaWZmIC0tZ2l0IGEvaWNvbnYv
bG9vcC5jIGIvaWNvbnYvbG9vcC5jCitpbmRleCAxMzc4ZDIzMTQ3Li43NGIyYTNlMjZkIDEwMDY0
NAorLS0tIGEvaWNvbnYvbG9vcC5jCisrKysgYi9pY29udi9sb29wLmMKK0BAIC0xNDQsOCArMTQ0
LDEwIEBACisgICAgIGlmIChpcnJldmVyc2libGUgPT0gTlVMTCkJCQkJCQkgICAgICBcCisgICAg
ICAgewkJCQkJCQkJCSAgICAgIFwKKyAJLyogVGhpcyBtZWFucyB3ZSBhcmUgaW4gY2FsbCBmcm9t
IF9fZ2NvbnZfdHJhbnNsaXRlcmF0ZS4gIEluIHRoaXMgICAgIFwKKy0JICAgY2FzZSB3ZSBhcmUg
bm90IGRvaW5nIGFueSBlcnJvciByZWNvdmVyeSBvdXJzZWx2ZXMuICAqLwkgICAgICBcCistCXJl
c3VsdCA9IF9fZ2NvbnZfbWFya19pbGxlZ2FsX2lucHV0IChzdGVwX2RhdGEpOwkJICAgICAgXAor
KwkgICBjYXNlIHdlIGFyZSBub3QgZG9pbmcgYW55IGVycm9yIHJlY292ZXJ5IG91cnNlbHZlcy4g
IERvIG5vdCBjcmVhdGUgXAorKwkgICBhIHBlcnNpc3RlbnQgZXJyb3Igc3RhdGUuICBJZiBfX2dj
b252X3RyYW5zbGl0ZXJhdGUgZXhoYXVzdHMgYWxsICAgXAorKwkgICBhbHRlcm5hdGl2ZXMsIGl0
IHdpbGwgY2FsbCBfX2djb252X21hcmtfaWxsZWdhbF9pbnB1dCBpdHNlbGYuICAqLyAgXAorKwly
ZXN1bHQgPSBfX0dDT05WX0lMTEVHQUxfSU5QVVQ7CQkJCQkgICAgICBcCisgCWJyZWFrOwkJCQkJ
CQkJICAgICAgXAorICAgICAgIH0JCQkJCQkJCQkgICAgICBcCisgCQkJCQkJCQkJICAgICAgXAog
ZGlmZiAtLWdpdCBhL2ljb252L3RzdC1pY29udl9wcm9nLWJ1ZmZlci5zaCBiL2ljb252L3RzdC1p
Y29udl9wcm9nLWJ1ZmZlci5zaAogaW5kZXggMWM0OTlkNTkwZC4uNDAzNDBjMzhmYSAxMDA2NDQK
IC0tLSBhL2ljb252L3RzdC1pY29udl9wcm9nLWJ1ZmZlci5zaApAQCAtMzY1OSw2ICszNjkwLDYx
IEBAIGluZGV4IDFjNDk5ZDU5MGQuLjQwMzQwYzM4ZmEgMTAwNjQ0CiAgICAgIGlmICEgY21wIC1z
ICIkdG1wL291dCIgIiR0bXAvZXhwZWN0ZWQiIDsgdGhlbgogICAgICAgICAgZWNobyAiZXJyb3I6
IGljb252IG91dHB1dCBkaWZmZXJlbmNlIiA+JiRsb2dmZAogICAgICAgICAgZWNobyAiKioqIGV4
cGVjdGVkICoqKiIgPiYkbG9nZmQKK2RpZmYgLS1naXQgYS9pY29udi90c3QtaWNvbnZfcHJvZy5z
aCBiL2ljb252L3RzdC1pY29udl9wcm9nLnNoCitpbmRleCBlMmE0MzI4MGQyLi43ZDc5NDhiN2Fh
IDEwMDY0NAorLS0tIGEvaWNvbnYvdHN0LWljb252X3Byb2cuc2gKKysrKyBiL2ljb252L3RzdC1p
Y29udl9wcm9nLnNoCitAQCAtMjcsMTAgKzI3LDEwIEBAIExJQlBBVEg9JGNvZGlyOiRjb2Rpci9p
Y29udmRhdGEKKyAKKyAjIEhvdyB0aGUgc3RhcnQgdGhlIGljb252KDEpIHByb2dyYW0uICAkZnJv
bSBpcyBub3QgZGVmaW5lZC9leHBhbmRlZCB5ZXQuCisgSUNPTlY9JworKyR0ZXN0X3dyYXBwZXJf
ZW52ICRydW5fcHJvZ3JhbV9lbnYKKyAkY29kaXIvZWxmL2xkLnNvIC0tbGlicmFyeS1wYXRoICRM
SUJQQVRIIC0taW5oaWJpdC1ycGF0aCAke2Zyb219LnNvCisgJGNvZGlyL2ljb252L2ljb252X3By
b2cKKyAnCistSUNPTlY9IiR0ZXN0X3dyYXBwZXJfZW52ICRydW5fcHJvZ3JhbV9lbnYgJElDT05W
IgorIAorIFRJTUVPVVRGQUNUT1I9JHtUSU1FT1VURkFDVE9SOi0xfQorIAorQEAgLTIxOCw2ICsy
MTgsNyBAQCB0ZXN0YXJyYXk9KAorICJceDAwXHgwMDs7SU5WQUxJRDtVVEYtODsxIgorICJceDAw
XHgwMDs7VVRGLTg7SU5WQUxJRDsxIgorICJceGMzXHhhOTs7VVRGLTg7QVNDSUkvL1RSQU5TTElU
OzAiCisrIlhceGMyXHhiZFk7O1VURi04O0FTQ0lJLy9UUkFOU0xJVDswIgorICkKKyAKKyAjIFJl
cXVpcmVzICR0d29ieXRlIGlucHV0LCAkYyBmbGFnLCAkZnJvbSwgYW5kICR0byB0byBiZSBzZXQ7
IHNldHMgJHJldAorQEAgLTI3OCwxMiArMjc5LDIxIEBAIGNoZWNrX2VycnRlc3RfcmVzdWx0ICgp
CisgICBmaQorIH0KKyAKKy1mb3IgdGVzdGNvbW1hbmQgaW4gIiR7dGVzdGFycmF5W0BdfSI7IGRv
CistICB0d29ieXRlPSIkKGVjaG8gIiR0ZXN0Y29tbWFuZCIgfCBjdXQgLWQiOyIgLWYgMSkiCist
ICBjPSIkKGVjaG8gIiR0ZXN0Y29tbWFuZCIgfCBjdXQgLWQiOyIgLWYgMikiCistICBmcm9tPSIk
KGVjaG8gIiR0ZXN0Y29tbWFuZCIgfCBjdXQgLWQiOyIgLWYgMykiCistICB0bz0iJChlY2hvICIk
dGVzdGNvbW1hbmQiIHwgY3V0IC1kIjsiIC1mIDQpIgorLSAgZXJldD0iJChlY2hvICIkdGVzdGNv
bW1hbmQiIHwgY3V0IC1kIjsiIC1mIDUpIgorLSAgZXhlY3V0ZV90ZXN0CistICBjaGVja19lcnJ0
ZXN0X3Jlc3VsdAorLWRvbmUKKytydW5fdGVzdF9hcnJheSAoKQorK3sKKysgIGZvciB0ZXN0Y29t
bWFuZCBpbiAiJHt0ZXN0YXJyYXlbQF19IjsgZG8KKysgICAgdHdvYnl0ZT0iJChlY2hvICIkdGVz
dGNvbW1hbmQiIHwgY3V0IC1kIjsiIC1mIDEpIgorKyAgICBjPSIkKGVjaG8gIiR0ZXN0Y29tbWFu
ZCIgfCBjdXQgLWQiOyIgLWYgMikiCisrICAgIGZyb209IiQoZWNobyAiJHRlc3Rjb21tYW5kIiB8
IGN1dCAtZCI7IiAtZiAzKSIKKysgICAgdG89IiQoZWNobyAiJHRlc3Rjb21tYW5kIiB8IGN1dCAt
ZCI7IiAtZiA0KSIKKysgICAgZXJldD0iJChlY2hvICIkdGVzdGNvbW1hbmQiIHwgY3V0IC1kIjsi
IC1mIDUpIgorKyAgICBleGVjdXRlX3Rlc3QKKysgICAgY2hlY2tfZXJydGVzdF9yZXN1bHQKKysg
IGRvbmUKKyt9CisrCisrZWNobyAiaW5mbzogdGVzdGluZyBDIGxvY2FsZSIKKytydW5fdGVzdF9h
cnJheQorK2VjaG8gImluZm86IHRlc3RpbmcgZW5fVVMuVVRGLTggbG9jYWxlIgorK3J1bl9wcm9n
cmFtX2Vudj0iJHJ1bl9wcm9ncmFtX2VudiBMQ19BTEw9ZW5fVVMuVVRGLTgiCisrcnVuX3Rlc3Rf
YXJyYXkKIGRpZmYgLS1naXQgYS9pY29udmRhdGEvTWFrZWZpbGUgYi9pY29udmRhdGEvTWFrZWZp
bGUKIGluZGV4IDVhMmFiZWVhMjQuLmNjNjg5ZjYzZTkgMTAwNjQ0CiAtLS0gYS9pY29udmRhdGEv
TWFrZWZpbGUKQEAgLTQwNzYsNiArNDE2MiwxMDggQEAgaW5kZXggZjVjZWU2Y2FlZi4uYmE5Njc4
MzNhZCAxMDA2NDQKICAKICAjZGVmaW5lIFJQQ19USFJFQURfVkFSSUFCTEUoeCkgKF9fcnBjX3Ro
cmVhZF92YXJpYWJsZXMoKS0+eCkKICAKK2RpZmYgLS1naXQgYS9pby9mY250bC5jIGIvaW8vZmNu
dGwuYworaW5kZXggZTg4ZTI4NjY0Yy4uYjdkYWIxYmIzOSAxMDA2NDQKKy0tLSBhL2lvL2ZjbnRs
LmMKKysrKyBiL2lvL2ZjbnRsLmMKK0BAIC0xOCw2ICsxOCwxMCBAQAorICNpbmNsdWRlIDxlcnJu
by5oPgorICNpbmNsdWRlIDxmY250bC5oPgorIAorKyNpZm5kZWYgX19PX0NMT0VYRUMKKysjIGVy
cm9yIF9fT19DTE9FWEVDIG5vdCBkZWZpbmVkIGJ5IGZjbnRsLmgvY2xvZXhlYy5oCisrI2VuZGlm
CisrCisgLyogUGVyZm9ybSBmaWxlIGNvbnRyb2wgb3BlcmF0aW9ucyBvbiBGRC4gICovCisgaW50
CisgX19mY250bCAoaW50IGZkLCBpbnQgY21kLCAuLi4pCitkaWZmIC0tZ2l0IGEvbGliaW8vTWFr
ZWZpbGUgYi9saWJpby9NYWtlZmlsZQoraW5kZXggZTE0M2NjZGIyYy4uNDNlZThkYjA2ZCAxMDA2
NDQKKy0tLSBhL2xpYmlvL01ha2VmaWxlCisrKysgYi9saWJpby9NYWtlZmlsZQorQEAgLTgzLDYg
KzgzLDcgQEAgdGVzdHMgPSBcCisgICBidWctdW5nZXR3YzEgXAorICAgYnVnLXVuZ2V0d2MyIFwK
KyAgIGJ1Zy13ZmZsdXNoIFwKKysgIGJ1Zy13Z2Vub3BzLWJ6MzM5OTggXAorICAgYnVnLXdtZW1z
dHJlYW0xIFwKKyAgIGJ1Zy13c2V0cG9zIFwKKyAgIHRlc3QtZm1lbW9wZW4gXAorZGlmZiAtLWdp
dCBhL2xpYmlvL2J1Zy13Z2Vub3BzLWJ6MzM5OTguYyBiL2xpYmlvL2J1Zy13Z2Vub3BzLWJ6MzM5
OTguYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmNjNDA2N2RhOTkK
Ky0tLSAvZGV2L251bGwKKysrKyBiL2xpYmlvL2J1Zy13Z2Vub3BzLWJ6MzM5OTguYworQEAgLTAs
MCArMSw1NCBAQAorKy8qIFJlZ3Jlc3Npb24gdGVzdCBmb3IgdW5nZXR3YyBvcGVyYXRpbmcgb24g
Ynl0ZSBzdHJlYW0gKEJaICMzMzk5OCkKKysgICBDb3B5cmlnaHQgKEMpIDIwMjYgVGhlIEdOVSBU
b29sY2hhaW4gQXV0aG9ycy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIEMgTGli
cmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICAgdmVyc2lvbiAyLjEg
b2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisr
CisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAgTGVzc2VyIEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisr
ICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3QsIHNlZQorKyAg
IDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNsdWRlICJzdXBw
b3J0L3RlbXBfZmlsZS5oIgorKyNpbmNsdWRlICJzdXBwb3J0L3hzdGRpby5oIgorKyNpbmNsdWRl
ICJzdXBwb3J0L3h1bmlzdGQuaCIKKysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPHVu
aXN0ZC5oPgorKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNp
bmNsdWRlIDx3Y2hhci5oPgorKyNpbmNsdWRlIDxzdXBwb3J0L2NoZWNrLmg+CisrCisrc3RhdGlj
IGludAorK2RvX3Rlc3QgKHZvaWQpCisreworKyAgY2hhciAqZmlsZW5hbWU7CisrICBpbnQgZmQg
PSBjcmVhdGVfdGVtcF9maWxlICgidHN0LWJ6MzM5OTgtIiwgJmZpbGVuYW1lKTsKKysgIFRFU1Rf
VkVSSUZZIChmZCAhPSAtMSk7CisrICB4d3JpdGUgKGZkLCAiQSIsIHNpemVvZiAoIkEiKSk7IC8v
IHdyaXRlICJBXDAiIGJ5IGRlc2lnbgorKyAgeGNsb3NlIChmZCk7CisrCisrICBGSUxFICpmcCA9
IHhmb3BlbiAoZmlsZW5hbWUsICJyKyIpOworKyAgVEVTVF9DT01QQVJFIChnZXR3YyAoZnApLCBM
J0EnKTsKKysgIC8qIElmIHRoZSBidWcgaXMgZml4ZWQsIHRoZW4gdW5nZXR3YyBzaG91bGQgbm90
IHRvdWNoIGJ5dGUgc3RyZWFtLgorKyAgICAgSWYgdGhlIGJ1ZyBpcyBub3QgZml4ZWQsIHVuZ2V0
d2MgZmlyc3RseSBtYXRjaCBsYXN0IHJlYWQgY2hhciwgTCdBJywKKysgICAgIGZhaWxlZCwgdGhl
biB0aGUgcGJhY2tmYWlsIGJyYW5jaCwgbWF0Y2hpbmcgbGFzdCByZWFkIGNoYXIgaW4gYnl0ZQor
KyAgICAgc3RyZWFtLCB0aGF0IGlzLCAnXDAnIChpbml0aWFsaXplZCB3aGVuIHNldHVwIHdpZGUg
c3RyZWFtKS4gKi8KKysgIGNoYXIgKm9sZF9yZWFkX3B0ciA9IGZwLT5fSU9fcmVhZF9wdHI7Cisr
ICBURVNUX0NPTVBBUkUgKHVuZ2V0d2MgKEwnXDAnLCBmcCksIEwnXDAnKTsKKysgIFRFU1RfVkVS
SUZZIChmcC0+X0lPX3JlYWRfcHRyID09IG9sZF9yZWFkX3B0cik7CisrCisrICB4ZmNsb3NlIChm
cCk7CisrICBmcmVlIChmaWxlbmFtZSk7CisrCisrICByZXR1cm4gMDsKKyt9CisrCisrI2luY2x1
ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KK2RpZmYgLS1naXQgYS9saWJpby93Z2Vub3BzLmMg
Yi9saWJpby93Z2Vub3BzLmMKK2luZGV4IDBhMTFkMWIxZGUuLjllMGIyYzAwZWEgMTAwNjQ0Cist
LS0gYS9saWJpby93Z2Vub3BzLmMKKysrKyBiL2xpYmlvL3dnZW5vcHMuYworQEAgLTEwOCw4ICsx
MDgsOCBAQCBfSU9fd2RlZmF1bHRfcGJhY2tmYWlsIChGSUxFICpmcCwgd2ludF90IGMpCisgewor
ICAgaWYgKGZwLT5fd2lkZV9kYXRhLT5fSU9fcmVhZF9wdHIgPiBmcC0+X3dpZGVfZGF0YS0+X0lP
X3JlYWRfYmFzZQorICAgICAgICYmICFfSU9faW5fYmFja3VwIChmcCkKKy0gICAgICAmJiAod2lu
dF90KSBmcC0+X0lPX3JlYWRfcHRyWy0xXSA9PSBjKQorLSAgICAtLWZwLT5fSU9fcmVhZF9wdHI7
CisrICAgICAgJiYgKHdpbnRfdCkgZnAtPl93aWRlX2RhdGEtPl9JT19yZWFkX3B0clstMV0gPT0g
YykKKysgICAgLS1mcC0+X3dpZGVfZGF0YS0+X0lPX3JlYWRfcHRyOworICAgZWxzZQorICAgICB7
CisgICAgICAgLyogTmVlZCB0byBoYW5kbGUgYSBmaWxlYnVmIGluIHdyaXRlIG1vZGUgKHN3aXRj
aCB0byByZWFkIG1vZGUpLiBGSVhNRSEqLwogZGlmZiAtLWdpdCBhL2xvY2FsZS9sYy1jdHlwZS5j
IGIvbG9jYWxlL2xjLWN0eXBlLmMKIGluZGV4IDg2N2Y4MjliZTUuLjQ3YmUxYzlhMzkgMTAwNjQ0
CiAtLS0gYS9sb2NhbGUvbGMtY3R5cGUuYwpAQCAtNDE2Niw2ICs0MzU0LDE5IEBAIGluZGV4IDMw
YzA5NGQ0M2EuLjVlMjVjMGU0YjggMTAwNjQ0CiAgY29uc3Qgc3RydWN0IF9fbG9jYWxlX3N0cnVj
dCBfbmxfQ19sb2NvYmogYXR0cmlidXRlX2hpZGRlbiA9CiAgICB7CiAgICAgIC5fX2xvY2FsZXMg
PQorZGlmZiAtLWdpdCBhL2xvY2FsZWRhdGEvTWFrZWZpbGUgYi9sb2NhbGVkYXRhL01ha2VmaWxl
CitpbmRleCA5NDAxNDM3MGY1Li5kNWU5Zjc2ODk5IDEwMDY0NAorLS0tIGEvbG9jYWxlZGF0YS9N
YWtlZmlsZQorKysrIGIvbG9jYWxlZGF0YS9NYWtlZmlsZQorQEAgLTIzNiw2ICsyMzYsOCBAQCB0
ZXN0cyA9IFwKKyAgIGJ1Zy1pY29udi10cmFucyBcCisgICBidWctc2V0bG9jYWxlMSBcCisgICBi
dWctdXNlc2V0bG9jYWxlIFwKKysgIHRzdC1iejEyNzAxLWxjIFwKKysgIHRzdC1iejEyNzAxLWxj
MiBcCisgICB0c3QtYy11dGY4LWNvbnNpc3RlbmN5IFwKKyAgIHRzdC1kaWdpdHMgXAorICAgdHN0
LWljb252LWVtb2ppcy10cmFucyBcCiBkaWZmIC0tZ2l0IGEvbG9jYWxlZGF0YS9sb2NhbGVzL2Jn
X0JHIGIvbG9jYWxlZGF0YS9sb2NhbGVzL2JnX0JHCiBpbmRleCAxNTlhNmMzMzM0Li5lZGEyYThk
MDFiIDEwMDY0NAogLS0tIGEvbG9jYWxlZGF0YS9sb2NhbGVzL2JnX0JHCkBAIC00MTgxLDYgKzQz
ODIsMjgzIEBAIGluZGV4IDE1OWE2YzMzMzQuLmVkYTJhOGQwMWIgMTAwNjQ0CiAgbW9uX2RlY2lt
YWxfcG9pbnQgICAgICAgICAiLCIKICBtb25fdGhvdXNhbmRzX3NlcCAgICAgICAgICLigK8iCiAg
bW9uX2dyb3VwaW5nICAgICAgICAgICAgICAzCitkaWZmIC0tZ2l0IGEvbG9jYWxlZGF0YS90c3Qt
YnoxMjcwMS1sYy5jIGIvbG9jYWxlZGF0YS90c3QtYnoxMjcwMS1sYy5jCituZXcgZmlsZSBtb2Rl
IDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uMjNjMmFiN2QyYQorLS0tIC9kZXYvbnVsbAorKysr
IGIvbG9jYWxlZGF0YS90c3QtYnoxMjcwMS1sYy5jCitAQCAtMCwwICsxLDIxOCBAQAorKy8qIFZl
cmlmeSBzY2FuZiBmaWVsZCB3aWR0aCBoYW5kbGluZyB3aXRoIHRoZSAnbGMnIGNvbnZlcnNpb24g
KEJaICMxMjcwMSkuCisrICAgQ29weXJpZ2h0IChDKSAyMDI1LTIwMjYgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuCisrICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBDIExpYnJh
cnkuCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyAgIHZlcnNpb24gMi4xIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKwor
KyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorKyAgIExlc3NlciBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyAg
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGUgR05VIEMgTGlicmFyeTsgaWYgbm90LCBzZWUKKysgICA8
aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysjaW5jbHVkZSA8bG9jYWxl
Lmg+CisrI2luY2x1ZGUgPHN0ZGRlZi5oPgorKyNpbmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRl
IDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8d2NoYXIuaD4KKysKKysjaW5jbHVkZSA8bGliYy1kaWFn
Lmg+CisrI2luY2x1ZGUgPHN1cHBvcnQvY2hlY2suaD4KKysjaW5jbHVkZSA8c3VwcG9ydC9uZXh0
X3RvX2ZhdWx0Lmg+CisrI2luY2x1ZGUgPHN1cHBvcnQveHN0ZGlvLmg+CisrCisrLyogQ29tcGFy
ZSBjaGFyYWN0ZXItd2lzZSB0aGUgaW5pdGlhbCBwYXJ0IG9mIHRoZSB3aWRlIGNoYXJhY3RlciBv
YmplY3QKKysgICBwb2ludGVkIHRvIGJ5IFdTIGNvcnJlc3BvbmRpbmcgdG8gd2lkZSBjaGFyYWN0
ZXJzIG9idGFpbmVkIGJ5IHRoZQorKyAgIGNvbnZlcnNpb24gb2YgZmlyc3QgTiBieXRlcyBvZiB0
aGUgbXVsdGlieXRlIGNoYXJhY3RlciBvYmplY3QgcG9pbnRlZAorKyAgIHRvIGJ5IFMuICAqLwor
KworK3N0YXRpYyBpbnQKKyt0c3RfYnoxMjcwMV9sY19tZW1jbXAgKGNvbnN0IHdjaGFyX3QgKmRz
LCBjb25zdCBjaGFyICpzLCBzaXplX3QgbikKKyt7CisrICBzaXplX3QgbmMgPSBtYnNucnRvd2Nz
IChOVUxMLCAmcywgbiwgMCwgTlVMTCk7CisrCisrICBzdHJ1Y3Qgc3VwcG9ydF9uZXh0X3RvX2Zh
dWx0IG50ZjsKKysgIG50ZiA9IHN1cHBvcnRfbmV4dF90b19mYXVsdF9hbGxvY2F0ZSAobmMgKiBz
aXplb2YgKHdjaGFyX3QpKTsKKysgIHdjaGFyX3QgKnNzID0gKHdjaGFyX3QgKikgbnRmLmJ1ZmZl
cjsKKysKKysgIG1ic25ydG93Y3MgKHNzLCAmcywgbiwgbmMsIE5VTEwpOworKyAgaW50IHIgPSB3
bWVtY21wIChkcywgc3MsIG5jKTsKKysKKysgIHN1cHBvcnRfbmV4dF90b19mYXVsdF9mcmVlICgm
bnRmKTsKKysKKysgIHJldHVybiByOworK30KKysKKysvKiBWZXJpZnkgdmFyaW91cyBhc3BlY3Rz
IG9mIGZpZWxkIHdpZHRoIGhhbmRsaW5nLCBpbmNsdWRpbmcgdGhlIGRhdGEKKysgICBvYnRhaW5l
ZCwgdGhlIG51bWJlciBvZiBieXRlcyBjb25zdW1lZCwgYW5kIHRoZSBzdHJlYW0gcG9zaXRpb24u
ICAqLworKworK3N0YXRpYyBpbnQKKytkb190ZXN0ICh2b2lkKQorK3sKKysgIGlmIChzZXRsb2Nh
bGUgKExDX0FMTCwgInBsX1BMLlVURi04IikgPT0gTlVMTCkKKysgICAgRkFJTF9FWElUMSAoInNl
dGxvY2FsZSAoTENfQUxMLCBcInBsX1BMLlVURi04XCIpIik7CisrCisrICAvKiBQYXJ0IG9mIGEg
dG9uZ3VlLXR3aXN0ZXIgaW4gUG9saXNoLCB3aGljaCBzYXlzOgorKyAgICAgIk9uIGEgcmFpbnkg
bW9ybmluZyBjdWNrb29zIGFuZCB3YXJibGVycywgcmF0aGVyIHRoYW4gc3RhcnRpbmcKKysgICAg
IG9uIGVhcnRod29ybXMsIHN0dWZmZWQgdGhlbXNlbHZlcyBmYXN0ZWQgd2l0aCB0aGUgZmxlc2gg
b2YgY3Jlc3MuIiAgKi8KKysgIHN0YXRpYyBjb25zdCBjaGFyIHNbMTI2XSA9ICJExbxkxbx5c3R5
bSByYW5raWVtIGfFvGVnxbzDs8WCa2kgaSBwaWVnxbxlLCAiCisrCQkJICAgICAiemFtaWFzdCB3
emnEhcSHIHNpxJkgemEgZMW8ZMW8b3duaWNlLCAiCisrCQkJICAgICAibmHFvGFyxYJ5IHNpxJkg
bmEgY3pjem8gbWnEhcW8c3p1IHJ6ZcW8dWNoeSI7CisrCisrICBjb25zdCBjaGFyICpzcCA9IHM7
CisrICBzaXplX3QgbmM7CisrICBURVNUX1ZFUklGWV9FWElUICgobmMgPSBtYnNucnRvd2NzIChO
VUxMLCAmc3AsIHNpemVvZiAocyksIDAsIE5VTEwpKSA9PSAxMDgpOworKworKyAgc3RydWN0IHN1
cHBvcnRfbmV4dF90b19mYXVsdCBudGZvLCBudGZpOworKyAgbnRmbyA9IHN1cHBvcnRfbmV4dF90
b19mYXVsdF9hbGxvY2F0ZSAobmMgKiBzaXplb2YgKHdjaGFyX3QpKTsKKysgIG50ZmkgPSBzdXBw
b3J0X25leHRfdG9fZmF1bHRfYWxsb2NhdGUgKHNpemVvZiAocykpOworKyAgd2NoYXJfdCAqZSA9
ICh3Y2hhcl90ICopIG50Zm8uYnVmZmVyICsgbmM7CisrICBjaGFyICpiID0gbnRmaS5idWZmZXI7
CisrCisrICB3Y2hhcl90ICpjOworKyAgRklMRSAqZjsKKysgIGludCBpYzsKKysgIGludCBuOwor
KyAgaW50IGk7CisrCisrICBtZW1jcHkgKG50ZmkuYnVmZmVyLCBzLCBzaXplb2YgKHMpKTsKKysK
KysgIGljID0gaSA9IDA7CisrICBmID0geGZtZW1vcGVuIChiLCBzaXplb2YgKHMpLCAiciIpOwor
KworKyAgYyA9IGUgLSAxOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnRlbGwgKGYpID09IGkpOwor
KyAgLyogQXZvaWQ6ICJ3YXJuaW5nOiB6ZXJvIHdpZHRoIGluIGdudV9zY2FuZiBmb3JtYXQgWy1X
ZXJyb3I9Zm9ybWF0PV0iLiAgKi8KKysgIERJQUdfUFVTSF9ORUVEU19DT01NRU5UOworKyAgRElB
R19JR05PUkVfTkVFRFNfQ09NTUVOVCAoNC45LCAiLVdmb3JtYXQiKTsKKysgIFRFU1RfVkVSSUZZ
X0VYSVQgKGZzY2FuZiAoZiwgIiUwbGMlbiIsIGMsICZuKSA9PSAxKTsKKysgIERJQUdfUE9QX05F
RURTX0NPTU1FTlQ7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDEpOworKyAgVEVTVF9WRVJJ
RllfRVhJVCAodHN0X2J6MTI3MDFfbGNfbWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBp
YyArPSAxOworKyAgaSArPSBuOworKworKyAgYyA9IGUgLSAxOworKyAgVEVTVF9WRVJJRllfRVhJ
VCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJWxj
JW4iLCBjLCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDIpOworKyAgVEVT
VF9WRVJJRllfRVhJVCAodHN0X2J6MTI3MDFfbGNfbWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7
CisrICBpYyArPSAxOworKyAgaSArPSBuOworKworKyAgYyA9IGUgLSAxOworKyAgVEVTVF9WRVJJ
RllfRVhJVCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChm
LCAiJTFsYyVuIiwgYywgJm4pID09IDEpOworKyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAxKTsK
KysgIFRFU1RfVkVSSUZZX0VYSVQgKHRzdF9iejEyNzAxX2xjX21lbWNtcCAoYywgcyArIGksIG4p
ID09IDApOworKyAgaWMgKz0gMTsKKysgIGkgKz0gbjsKKysKKysgIGMgPSBlIC0gMjsKKysgIFRF
U1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBpKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZz
Y2FuZiAoZiwgIiUybGMlbiIsIGMsICZuKSA9PSAxKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG4g
PT0gMyk7CisrICBURVNUX1ZFUklGWV9FWElUICh0c3RfYnoxMjcwMV9sY19tZW1jbXAgKGMsIHMg
KyBpLCBuKSA9PSAwKTsKKysgIGljICs9IDI7CisrICBpICs9IG47CisrCisrICBjID0gZSAtIDQ7
CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7CisrICBURVNUX1ZFUklGWV9F
WElUIChmc2NhbmYgKGYsICIlNGxjJW4iLCBjLCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9F
WElUIChuID09IDQpOworKyAgVEVTVF9WRVJJRllfRVhJVCAodHN0X2J6MTI3MDFfbGNfbWVtY21w
IChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpYyArPSA0OworKyAgaSArPSBuOworKworKyAgYyA9
IGUgLSA4OworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9W
RVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJThsYyVuIiwgYywgJm4pID09IDEpOworKyAgVEVTVF9W
RVJJRllfRVhJVCAobiA9PSA4KTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKHRzdF9iejEyNzAxX2xj
X21lbWNtcCAoYywgcyArIGksIG4pID09IDApOworKyAgaWMgKz0gODsKKysgIGkgKz0gbjsKKysK
KysgIGMgPSBlIC0gMTY7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7Cisr
ICBURVNUX1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlMTZsYyVuIiwgYywgJm4pID09IDEpOwor
KyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAyMCk7CisrICBURVNUX1ZFUklGWV9FWElUICh0c3Rf
YnoxMjcwMV9sY19tZW1jbXAgKGMsIHMgKyBpLCBuKSA9PSAwKTsKKysgIGljICs9IDE2OworKyAg
aSArPSBuOworKworKyAgYyA9IGUgLSAzMjsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChm
KSA9PSBpKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZzY2FuZiAoZiwgIiUzMmxjJW4iLCBjLCAm
bikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDM4KTsKKysgIFRFU1RfVkVSSUZZ
X0VYSVQgKHRzdF9iejEyNzAxX2xjX21lbWNtcCAoYywgcyArIGksIG4pID09IDApOworKyAgaWMg
Kz0gMzI7CisrICBpICs9IG47CisrCisrICBjID0gZSAtIChuYyAtIGljKTsKKysgIFRFU1RfVkVS
SUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBpKTsKKysgIFRFU1RfQ09NUEFSRSAoZnNjYW5mIChmLCAi
JTY0bGMlbiIsIGMsICZuKSwgMSk7CisrICBURVNUX0NPTVBBUkUgKG4gLCA0OSk7CisrICBURVNU
X1ZFUklGWV9FWElUICh0c3RfYnoxMjcwMV9sY19tZW1jbXAgKGMsIHMgKyBpLCBzaXplb2YgKHMp
IC0gaSkgPT0gMCk7CisrCisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gc2l6ZW9m
IChzKSk7CisrICBURVNUX1ZFUklGWV9FWElUIChmZW9mIChmKSAhPSAwKTsKKysKKysgIHhmY2xv
c2UgKGYpOworKworKyAgaWMgPSBpID0gMDsKKysgIGYgPSB4Zm1lbW9wZW4gKGIsIDMsICJyIik7
CisrCisrICBjID0gZSAtIDI7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7
CisrICBURVNUX1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlMmxjJW4iLCBjLCAmbikgPT0gMSk7
CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDMpOworKyAgVEVTVF9WRVJJRllfRVhJVCAodHN0
X2J6MTI3MDFfbGNfbWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpYyArPSAyOworKyAg
aSArPSBuOworKworKyAgYyA9IGUgLSAobmMgLSBpYyk7CisrICBURVNUX1ZFUklGWV9FWElUIChm
ZW9mIChmKSA9PSAwKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBpKTsKKysg
IFRFU1RfVkVSSUZZX0VYSVQgKGZzY2FuZiAoZiwgIiUybGMlbiIsIGMsICZuKSA9PSBFT0YpOwor
KyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAzKTsKKysKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0
ZWxsIChmKSA9PSAzKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZlb2YgKGYpICE9IDApOworKwor
KyAgeGZjbG9zZSAoZik7CisrCisrICBpYyA9IGkgPSAwOworKyAgZiA9IHhmbWVtb3BlbiAoYiwg
MywgInIiKTsKKysKKysgIGMgPSBlIC0gMTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChm
KSA9PSBpKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZzY2FuZiAoZiwgIiVsYyVuIiwgYywgJm4p
ID09IDEpOworKyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAxKTsKKysgIFRFU1RfVkVSSUZZX0VY
SVQgKHRzdF9iejEyNzAxX2xjX21lbWNtcCAoYywgcyArIGksIG4pID09IDApOworKyAgaWMgKz0g
MTsKKysgIGkgKz0gbjsKKysKKysgIGMgPSBlIC0gKG5jIC0gaWMpOworKyAgVEVTVF9WRVJJRllf
RVhJVCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAi
JTJsYyVuIiwgYywgJm4pID09IDEpOworKyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAyKTsKKysg
IFRFU1RfVkVSSUZZX0VYSVQgKHRzdF9iejEyNzAxX2xjX21lbWNtcCAoYywgcyArIGksIDMgLSBp
KSA9PSAwKTsKKysKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSAzKTsKKysgIFRF
U1RfVkVSSUZZX0VYSVQgKGZlb2YgKGYpICE9IDApOworKworKyAgeGZjbG9zZSAoZik7CisrCisr
ICBzdXBwb3J0X25leHRfdG9fZmF1bHRfZnJlZSAoJm50ZmkpOworKyAgc3VwcG9ydF9uZXh0X3Rv
X2ZhdWx0X2ZyZWUgKCZudGZvKTsKKysKKysgIHJldHVybiAwOworK30KKysKKysjaW5jbHVkZSA8
c3VwcG9ydC90ZXN0LWRyaXZlci5jPgorZGlmZiAtLWdpdCBhL2xvY2FsZWRhdGEvdHN0LWJ6MTI3
MDEtbGMyLmMgYi9sb2NhbGVkYXRhL3RzdC1iejEyNzAxLWxjMi5jCituZXcgZmlsZSBtb2RlIDEw
MDY0NAoraW5kZXggMDAwMDAwMDAwMC4uYjI0ZTg2ZGYwYgorLS0tIC9kZXYvbnVsbAorKysrIGIv
bG9jYWxlZGF0YS90c3QtYnoxMjcwMS1sYzIuYworQEAgLTAsMCArMSw0NyBAQAorKy8qIFZlcmlm
eSBzY2FuZiBtZW1vcnkgaGFuZGxpbmcgd2l0aCB0aGUgJ2MnIGNvbnZlcnNpb24gKEJaICMxMjcw
MSkuCisrICAgQ29weXJpZ2h0IChDKSAyMDI2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LgorKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgQyBMaWJyYXJ5LgorKworKyAgIFRo
ZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorKyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIg
R2VuZXJhbCBQdWJsaWMKKysgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysKKysgICBUaGUgR05VIEMg
TGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKworKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh
IGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgICBMaWNlbnNlIGFsb25n
IHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlmIG5vdCwgc2VlCisrICAgPGh0dHBzOi8vd3d3Lmdu
dS5vcmcvbGljZW5zZXMvPi4gICovCisrCisrI2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUg
PG1hbGxvYy5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKysjaW5jbHVkZSA8bGliYy1kaWFn
Lmg+CisrI2luY2x1ZGUgPHN1cHBvcnQvY2hlY2suaD4KKysjaW5jbHVkZSA8c3VwcG9ydC9uZXh0
X3RvX2ZhdWx0Lmg+CisrI2luY2x1ZGUgPHN1cHBvcnQveHN0ZGlvLmg+CisrCisrc3RhdGljIGlu
dAorK2RvX3Rlc3QgKHZvaWQpCisreworKyAgd2NoYXJfdCAqYyA9IE5VTEw7CisrICBpbnQgaTsK
KysKKysgIFRFU1RfVkVSSUZZIChzc2NhbmYgKCIxMjM0IiwgIiUzMG1sYyIsICZjKSA9PSAxKTsK
KysKKysgIFRFU1RfVkVSSUZZIChjICE9IE5VTEwpOworKyAgVEVTVF9DT01QQVJFX0JMT0IgKGMs
IDUgKiBzaXplb2YgKHdjaGFyX3QpLAorKwkJICAgICBMIjEyMzRcMCIsIDUgKiBzaXplb2YgKHdj
aGFyX3QpKTsKKysgIGZvciAoaSA9IDU7IGkgPCAzMDsgaSArKykKKysgICAgVEVTVF9WRVJJRlkg
KGNbaV0gPT0gTCdcMCcpOworKworKyAgVEVTVF9WRVJJRlkgKG1hbGxvY191c2FibGVfc2l6ZSAo
YykgPj0gMzAgKiBzaXplb2Yod2NoYXJfdCkpOworKworKyAgcmV0dXJuIDA7CisrfQorKworKyNp
bmNsdWRlIDxzdXBwb3J0L3Rlc3QtZHJpdmVyLmM+CiBkaWZmIC0tZ2l0IGEvbWFsbG9jL21hbGxv
Yy5jIGIvbWFsbG9jL21hbGxvYy5jCiBpbmRleCAyN2RmZDFlYjkwLi45NDIzYWJhOTg3IDEwMDY0
NAogLS0tIGEvbWFsbG9jL21hbGxvYy5jCkBAIC01OTMzLDYgKzY0MTEsMzcgQEAgaW5kZXggZDlm
Njk2NDlkMC4uMTgxYmU4MDgzNSAxMDA2NDQKICAgIGNoZWNrX3JldmVyc2UgKDEsCiAgICAgICAg
ICAgICAgICAgICAibmFtZTogMS5pbi1hZGRyLmFycGFcbiIKICAgICAgICAgICAgICAgICAgICJu
ZXQ6IDB4MDAwMDAwMDFcbiIpOworZGlmZiAtLWdpdCBhL3N0ZGlvLWNvbW1vbi9NYWtlZmlsZSBi
L3N0ZGlvLWNvbW1vbi9NYWtlZmlsZQoraW5kZXggODQwMjg5YWZkOS4uNzJjMThlNWRjMSAxMDA2
NDQKKy0tLSBhL3N0ZGlvLWNvbW1vbi9NYWtlZmlsZQorKysrIGIvc3RkaW8tY29tbW9uL01ha2Vm
aWxlCitAQCAtMjMyLDYgKzIzMiw4IEBAIHRlc3RzIDo9IFwKKyAgIHRsbGZvcm1hdCBcCisgICB0
c3QtYnoxMTMxOSBcCisgICB0c3QtYnoxMTMxOS1mb3J0aWZ5MiBcCisrICB0c3QtYnoxMjcwMS1j
IFwKKysgIHRzdC1iejEyNzAxLWMyIFwKKyAgIHRzdC1jb29raWUgXAorICAgdHN0LWRwcmludGYt
bGVuZ3RoIFwKKyAgIHRzdC1mZG9wZW4gXAorQEAgLTMwOSw2ICszMTEsNyBAQCB0ZXN0cyA6PSBc
CisgICB0c3QtdmZwcmludGYtdXNlci10eXBlIFwKKyAgIHRzdC12ZnByaW50Zi13aWR0aC1pMThu
IFwKKyAgIHRzdC12ZnByaW50Zi13aWR0aC1wcmVjLWFsbG9jIFwKKysgIHRzdC12ZnNjYW5mLWJ6
MzQwMDggXAorICAgdHN0LXdjLXByaW50ZiBcCisgICB0c3RkaW9taXNjIFwKKyAgIHRzdGdldGxu
IFwKK0BAIC01MTMsNiArNTE2LDkgQEAgdHN0LXByaW50Zi1iejE4ODcyLUVOViA9IE1BTExPQ19U
UkFDRT0kKG9ianBmeCl0c3QtcHJpbnRmLWJ6MTg4NzIubXRyYWNlIFwKKyB0c3QtdmZwcmludGYt
d2lkdGgtcHJlYy1FTlYgPSBcCisgICBNQUxMT0NfVFJBQ0U9JChvYmpwZngpdHN0LXZmcHJpbnRm
LXdpZHRoLXByZWMubXRyYWNlIFwKKyAgIExEX1BSRUxPQUQ9JChjb21tb24tb2JqcGZ4KS9tYWxs
b2MvbGliY19tYWxsb2NfZGVidWcuc28KKyt0c3QtdmZzY2FuZi1iejM0MDA4LUVOViA9IFwKKysg
IE1BTExPQ19DSEVDS189MyBcCisrICBMRF9QUkVMT0FEPSQoY29tbW9uLW9ianBmeCkvbWFsbG9j
L2xpYmNfbWFsbG9jX2RlYnVnLnNvCisgdHN0LXByaW50Zi1iejI1NjkxLUVOViA9IFwKKyAgIE1B
TExPQ19UUkFDRT0kKG9ianBmeCl0c3QtcHJpbnRmLWJ6MjU2OTEubXRyYWNlIFwKKyAgIExEX1BS
RUxPQUQ9JChjb21tb24tb2JqcGZ4KS9tYWxsb2MvbGliY19tYWxsb2NfZGVidWcuc28KIGRpZmYg
LS1naXQgYS9zdGRpby1jb21tb24vcHJpbnRmLXBhcnNlbWIuYyBiL3N0ZGlvLWNvbW1vbi9wcmlu
dGYtcGFyc2VtYi5jCiBpbmRleCBhYWQ2OTdhYmJjLi5hN2JhNTJhOWZhIDEwMDY0NAogLS0tIGEv
c3RkaW8tY29tbW9uL3ByaW50Zi1wYXJzZW1iLmMKQEAgLTU5NDUsNiArNjQ1NCwzNjQgQEAgaW5k
ZXggYWFkNjk3YWJiYy4uYTdiYTUyYTlmYSAxMDA2NDQKICAjaW5jbHVkZSA8bGltaXRzLmg+CiAg
I2luY2x1ZGUgPHN0ZGxpYi5oPgogICNpbmNsdWRlIDxzdHJpbmcuaD4KK2RpZmYgLS1naXQgYS9z
dGRpby1jb21tb24vdHN0LWJ6MTI3MDEtYy5jIGIvc3RkaW8tY29tbW9uL3RzdC1iejEyNzAxLWMu
YworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjRmMzYxNmZiZmQKKy0t
LSAvZGV2L251bGwKKysrKyBiL3N0ZGlvLWNvbW1vbi90c3QtYnoxMjcwMS1jLmMKK0BAIC0wLDAg
KzEsMTY5IEBACisrLyogVmVyaWZ5IHNjYW5mIGZpZWxkIHdpZHRoIGhhbmRsaW5nIHdpdGggdGhl
ICdjJyBjb252ZXJzaW9uIChCWiAjMTI3MDEpLgorKyAgIENvcHlyaWdodCAoQykgMjAyNS0yMDI2
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9m
IHRoZSBHTlUgQyBMaWJyYXJ5LgorKworKyAgIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29m
dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAgIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysgICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKysg
ICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KysgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKwor
KyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKysgICBMaWNlbnNlIGFsb25nIHdpdGggdGhlIEdOVSBDIExpYnJhcnk7IGlm
IG5vdCwgc2VlCisrICAgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisrCisr
I2luY2x1ZGUgPHN0ZGlvLmg+CisrI2luY2x1ZGUgPHN0cmluZy5oPgorKworKyNpbmNsdWRlIDxs
aWJjLWRpYWcuaD4KKysjaW5jbHVkZSA8c3VwcG9ydC9jaGVjay5oPgorKyNpbmNsdWRlIDxzdXBw
b3J0L25leHRfdG9fZmF1bHQuaD4KKysjaW5jbHVkZSA8c3VwcG9ydC94c3RkaW8uaD4KKysKKysv
KiBWZXJpZnkgdmFyaW91cyBhc3BlY3RzIG9mIGZpZWxkIHdpZHRoIGhhbmRsaW5nLCBpbmNsdWRp
bmcgdGhlIGRhdGEKKysgICBvYnRhaW5lZCwgdGhlIG51bWJlciBvZiBieXRlcyBjb25zdW1lZCwg
YW5kIHRoZSBzdHJlYW0gcG9zaXRpb24uICAqLworKworK3N0YXRpYyBpbnQKKytkb190ZXN0ICh2
b2lkKQorK3sKKysgIHN0YXRpYyBjb25zdCBjaGFyIHNbNDNdID0gIlRoZSBxdWljayBicm93biBm
b3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciOworKyAgc3RydWN0IHN1cHBvcnRfbmV4dF90b19m
YXVsdCBudGZvLCBudGZpOworKyAgbnRmbyA9IHN1cHBvcnRfbmV4dF90b19mYXVsdF9hbGxvY2F0
ZSAoc2l6ZW9mIChzKSk7CisrICBudGZpID0gc3VwcG9ydF9uZXh0X3RvX2ZhdWx0X2FsbG9jYXRl
IChzaXplb2YgKHMpKTsKKysgIGNoYXIgKmUgPSBudGZvLmJ1ZmZlciArIHNpemVvZiAocyk7Cisr
ICBjaGFyICpiID0gbnRmaS5idWZmZXI7CisrCisrICBjaGFyICpjOworKyAgRklMRSAqZjsKKysg
IGludCBuOworKyAgaW50IGk7CisrCisrICBtZW1jcHkgKG50ZmkuYnVmZmVyLCBzLCBzaXplb2Yg
KHMpKTsKKysKKysgIGkgPSAwOworKyAgZiA9IHhmbWVtb3BlbiAoYiwgc2l6ZW9mIChzKSwgInIi
KTsKKysKKysgIGMgPSBlIC0gMTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBp
KTsKKysgIC8qIEF2b2lkOiAid2FybmluZzogemVybyB3aWR0aCBpbiBnbnVfc2NhbmYgZm9ybWF0
IFstV2Vycm9yPWZvcm1hdD1dIi4gICovCisrICBESUFHX1BVU0hfTkVFRFNfQ09NTUVOVDsKKysg
IERJQUdfSUdOT1JFX05FRURTX0NPTU1FTlQgKDQuOSwgIi1XZm9ybWF0Iik7CisrICBURVNUX1ZF
UklGWV9FWElUIChmc2NhbmYgKGYsICIlMGMlbiIsIGMsICZuKSA9PSAxKTsKKysgIERJQUdfUE9Q
X05FRURTX0NPTU1FTlQ7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDEpOworKyAgVEVTVF9W
RVJJRllfRVhJVCAobWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpICs9IG47CisrCisr
ICBjID0gZSAtIDE7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7CisrICBU
RVNUX1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlYyVuIiwgYywgJm4pID09IDEpOworKyAgVEVT
VF9WRVJJRllfRVhJVCAobiA9PSAxKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG1lbWNtcCAoYywg
cyArIGksIG4pID09IDApOworKyAgaSArPSBuOworKworKyAgYyA9IGUgLSAxOworKyAgVEVTVF9W
RVJJRllfRVhJVCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5m
IChmLCAiJTFjJW4iLCBjLCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDEp
OworKyAgVEVTVF9WRVJJRllfRVhJVCAobWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBp
ICs9IG47CisrCisrICBjID0gZSAtIDI7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikg
PT0gaSk7CisrICBURVNUX1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlMmMlbiIsIGMsICZuKSA9
PSAxKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG4gPT0gMik7CisrICBURVNUX1ZFUklGWV9FWElU
IChtZW1jbXAgKGMsIHMgKyBpLCBuKSA9PSAwKTsKKysgIGkgKz0gbjsKKysKKysgIGMgPSBlIC0g
NDsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBpKTsKKysgIFRFU1RfVkVSSUZZ
X0VYSVQgKGZzY2FuZiAoZiwgIiU0YyVuIiwgYywgJm4pID09IDEpOworKyAgVEVTVF9WRVJJRllf
RVhJVCAobiA9PSA0KTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG1lbWNtcCAoYywgcyArIGksIG4p
ID09IDApOworKyAgaSArPSBuOworKworKyAgYyA9IGUgLSA4OworKyAgVEVTVF9WRVJJRllfRVhJ
VCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJThj
JW4iLCBjLCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDgpOworKyAgVEVT
VF9WRVJJRllfRVhJVCAobWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpICs9IG47Cisr
CisrICBjID0gZSAtIDE2OworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnRlbGwgKGYpID09IGkpOwor
KyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJTE2YyVuIiwgYywgJm4pID09IDEpOwor
KyAgVEVTVF9WRVJJRllfRVhJVCAobiA9PSAxNik7CisrICBURVNUX1ZFUklGWV9FWElUIChtZW1j
bXAgKGMsIHMgKyBpLCBuKSA9PSAwKTsKKysgIGkgKz0gbjsKKysKKysgIGMgPSBlIC0gKHNpemVv
ZiAocykgLSBpKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0ZWxsIChmKSA9PSBpKTsKKysgIFRF
U1RfVkVSSUZZX0VYSVQgKGZzY2FuZiAoZiwgIiUzMmMlbiIsIGMsICZuKSA9PSAxKTsKKysgIFRF
U1RfVkVSSUZZX0VYSVQgKG4gPT0gMTApOworKyAgVEVTVF9WRVJJRllfRVhJVCAobWVtY21wIChj
LCBzICsgaSwgc2l6ZW9mIChzKSAtIGkpID09IDApOworKworKyAgVEVTVF9WRVJJRllfRVhJVCAo
ZnRlbGwgKGYpID09IHNpemVvZiAocykpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZmVvZiAoZikg
IT0gMCk7CisrCisrICB4ZmNsb3NlIChmKTsKKysKKysgIGkgPSAwOworKyAgZiA9IHhmbWVtb3Bl
biAoYiwgMywgInIiKTsKKysKKysgIGMgPSBlIC0gMTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZ0
ZWxsIChmKSA9PSBpKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKGZzY2FuZiAoZiwgIiVjJW4iLCBj
LCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDEpOworKyAgVEVTVF9WRVJJ
RllfRVhJVCAobWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpICs9IG47CisrCisrICBj
ID0gZSAtIDI7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7CisrICBURVNU
X1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlMmMlbiIsIGMsICZuKSA9PSAxKTsKKysgIFRFU1Rf
VkVSSUZZX0VYSVQgKG4gPT0gMik7CisrICBURVNUX1ZFUklGWV9FWElUIChtZW1jbXAgKGMsIHMg
KyBpLCBuKSA9PSAwKTsKKysgIGkgKz0gbjsKKysKKysgIGMgPSBlIC0gKDMgLSBpKTsKKysgIFRF
U1RfVkVSSUZZX0VYSVQgKGZlb2YgKGYpID09IDApOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnRl
bGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJTJjJW4iLCBj
LCAmbikgPT0gRU9GKTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG4gPT0gMik7CisrCisrICBURVNU
X1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0gaSk7CisrICBURVNUX1ZFUklGWV9FWElUIChmZW9m
IChmKSAhPSAwKTsKKysKKysgIHhmY2xvc2UgKGYpOworKworKyAgaSA9IDA7CisrICBmID0geGZt
ZW1vcGVuIChiLCAzLCAiciIpOworKworKyAgYyA9IGUgLSAyOworKyAgVEVTVF9WRVJJRllfRVhJ
VCAoZnRlbGwgKGYpID09IGkpOworKyAgVEVTVF9WRVJJRllfRVhJVCAoZnNjYW5mIChmLCAiJTJj
JW4iLCBjLCAmbikgPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUIChuID09IDIpOworKyAgVEVT
VF9WRVJJRllfRVhJVCAobWVtY21wIChjLCBzICsgaSwgbikgPT0gMCk7CisrICBpICs9IG47Cisr
CisrICBjID0gZSAtICgzIC0gaSk7CisrICBURVNUX1ZFUklGWV9FWElUIChmdGVsbCAoZikgPT0g
aSk7CisrICBURVNUX1ZFUklGWV9FWElUIChmc2NhbmYgKGYsICIlMmMlbiIsIGMsICZuKSA9PSAx
KTsKKysgIFRFU1RfVkVSSUZZX0VYSVQgKG4gPT0gMSk7CisrICBURVNUX1ZFUklGWV9FWElUICht
ZW1jbXAgKGMsIHMgKyBpLCAzIC0gaSkgPT0gMCk7CisrCisrICBURVNUX1ZFUklGWV9FWElUIChm
dGVsbCAoZikgPT0gMyk7CisrICBURVNUX1ZFUklGWV9FWElUIChmZW9mIChmKSAhPSAwKTsKKysK
KysgIHhmY2xvc2UgKGYpOworKworKyAgc3VwcG9ydF9uZXh0X3RvX2ZhdWx0X2ZyZWUgKCZudGZp
KTsKKysgIHN1cHBvcnRfbmV4dF90b19mYXVsdF9mcmVlICgmbnRmbyk7CisrCisrICByZXR1cm4g
MDsKKyt9CisrCisrI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KK2RpZmYgLS1naXQg
YS9zdGRpby1jb21tb24vdHN0LWJ6MTI3MDEtYzIuYyBiL3N0ZGlvLWNvbW1vbi90c3QtYnoxMjcw
MS1jMi5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4uNWY5Y2E3YzU5
MgorLS0tIC9kZXYvbnVsbAorKysrIGIvc3RkaW8tY29tbW9uL3RzdC1iejEyNzAxLWMyLmMKK0BA
IC0wLDAgKzEsNDYgQEAKKysvKiBWZXJpZnkgc2NhbmYgbWVtb3J5IGhhbmRsaW5nIHdpdGggdGhl
ICdjJyBjb252ZXJzaW9uIChCWiAjMTI3MDEpLgorKyAgIENvcHlyaWdodCAoQykgMjAyNiBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUg
R05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisrICAgdmVy
c2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv
cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisrICAg
TGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysgICBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBpZiBub3Qs
IHNlZQorKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKworKyNpbmNs
dWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxtYWxsb2MuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+
CisrCisrI2luY2x1ZGUgPGxpYmMtZGlhZy5oPgorKyNpbmNsdWRlIDxzdXBwb3J0L2NoZWNrLmg+
CisrI2luY2x1ZGUgPHN1cHBvcnQvbmV4dF90b19mYXVsdC5oPgorKyNpbmNsdWRlIDxzdXBwb3J0
L3hzdGRpby5oPgorKworK3N0YXRpYyBpbnQKKytkb190ZXN0ICh2b2lkKQorK3sKKysgIGNoYXIg
KmMgPSBOVUxMOworKyAgaW50IGk7CisrCisrICBURVNUX1ZFUklGWSAoc3NjYW5mICgiMTIzNCIs
ICIlMzBtYyIsICZjKSA9PSAxKTsKKysKKysgIFRFU1RfVkVSSUZZIChjICE9IE5VTEwpOworKyAg
VEVTVF9DT01QQVJFX0JMT0IgKGMsIDUsICIxMjM0XDAiLCA1KTsKKysgIGZvciAoaSA9IDU7IGkg
PCAzMDsgaSArKykKKysgICAgVEVTVF9WRVJJRlkgKGNbaV0gPT0gJ1wwJyk7CisrCisrICBURVNU
X1ZFUklGWSAobWFsbG9jX3VzYWJsZV9zaXplIChjKSA+PSAzMCk7CisrCisrICByZXR1cm4gMDsK
Kyt9CisrCisrI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1kcml2ZXIuYz4KK2RpZmYgLS1naXQgYS9z
dGRpby1jb21tb24vdHN0LXZmc2NhbmYtYnozNDAwOC5jIGIvc3RkaW8tY29tbW9uL3RzdC12ZnNj
YW5mLWJ6MzQwMDguYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjQ4
MzcxYzhhM2QKKy0tLSAvZGV2L251bGwKKysrKyBiL3N0ZGlvLWNvbW1vbi90c3QtdmZzY2FuZi1i
ejM0MDA4LmMKK0BAIC0wLDAgKzEsNDggQEAKKysvKiBSZWdyZXNzaW9uIHRlc3QgZm9yIHZmc2Nh
bmYgJU5tYyBvdXQtb2YtYm91bmQgd3JpdGUgKEJaICMzNDAwOCkKKysgICBDb3B5cmlnaHQgKEMp
IDIwMjYgVGhlIEdOVSBUb29sY2hhaW4gQXV0aG9ycy4KKysgICBUaGlzIGZpbGUgaXMgcGFydCBv
ZiB0aGUgR05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5z
ZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisr
ICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
CisrICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysK
KysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJyYXJ5OyBp
ZiBub3QsIHNlZQorKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworKwor
KyNpbmNsdWRlICJtYWxsb2MvbWNoZWNrLmgiCisrI2luY2x1ZGUgPHN0ZGRlZi5oPgorKyNpbmNs
dWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysjaW5jbHVkZSA8d2NoYXIuaD4K
KysjaW5jbHVkZSA8c3RkbGliLmg+CisrI2luY2x1ZGUgPG1hbGxvYy5oPgorKyNpbmNsdWRlIDxz
dXBwb3J0L2NoZWNrLmg+CisrCisrI2RlZmluZSBXSURUSCAweDQxMAorKyNkZWZpbmUgU0NBTkZT
VFIgIiUxMDQwbWMiCisrc3RhdGljIGludAorK2RvX3Rlc3QgKHZvaWQpCisreworKyAgbWNoZWNr
X3BlZGFudGljIChOVUxMKTsKKysgIGNoYXIgKmlucHV0ID0gbWFsbG9jIChXSURUSCArIDEpOwor
KyAgVEVTVF9WRVJJRlkgKGlucHV0ICE9IE5VTEwpOworKyAgbWVtc2V0IChpbnB1dCwgJ0EnLCBX
SURUSCk7CisrICBpbnB1dFtXSURUSF0gPSAnXDAnOworKworKyAgY2hhciAqYnVmID0gTlVMTDsK
KysgIFRFU1RfVkVSSUZZIChzc2NhbmYgKGlucHV0LCBTQ0FORlNUUiwgJmJ1ZikgIT0gLTEpOwor
KyAgVEVTVF9WRVJJRlkgKGJ1ZiAhPSBOVUxMKTsKKysKKysgIGZyZWUgKGJ1Zik7CisrICBmcmVl
IChpbnB1dCk7CisrICByZXR1cm4gMDsKKyt9CisrCisrI2luY2x1ZGUgPHN1cHBvcnQvdGVzdC1k
cml2ZXIuYz4KK2RpZmYgLS1naXQgYS9zdGRpby1jb21tb24vdmZzY2FuZi1pbnRlcm5hbC5jIGIv
c3RkaW8tY29tbW9uL3Zmc2NhbmYtaW50ZXJuYWwuYworaW5kZXggODdmMjNiNTg0NS4uZmFiYjBl
Yzg3NCAxMDA2NDQKKy0tLSBhL3N0ZGlvLWNvbW1vbi92ZnNjYW5mLWludGVybmFsLmMKKysrKyBi
L3N0ZGlvLWNvbW1vbi92ZnNjYW5mLWludGVybmFsLmMKK0BAIC03ODAsOSArNzgwLDkgQEAgX192
ZnNjYW5mX2ludGVybmFsIChGSUxFICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJn
cHRyLAorIAkJICAgIGNvbnZfZXJyb3IgKCk7CQkJCQkgICAgICBcCisgCQl9IHdoaWxlICgwKQor
ICNpZmRlZiBDT01QSUxFX1dTQ0FORgorLQkgICAgICBTVFJJTkdfQVJHIChzdHIsIGNoYXIsIDEw
MCk7CisrCSAgICAgIFNUUklOR19BUkcgKHN0ciwgY2hhciwgKHdpZHRoID4gMCA/IHdpZHRoIDog
MSkpOworICNlbHNlCistCSAgICAgIFNUUklOR19BUkcgKHN0ciwgY2hhciwgKHdpZHRoID4gMTAy
NCA/IDEwMjQgOiB3aWR0aCkpOworKwkgICAgICBTVFJJTkdfQVJHIChzdHIsIGNoYXIsICh3aWR0
aCA+IDAgPyB3aWR0aCA6IDEpKTsKKyAjZW5kaWYKKyAKKyAJICAgICAgYyA9IGluY2hhciAoKTsK
K0BAIC04NTMsOCArODUzLDcgQEAgX192ZnNjYW5mX2ludGVybmFsIChGSUxFICpzLCBjb25zdCBj
aGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRyLAorIAkJCXsKKyAJCQkgIC8qIEVubGFyZ2UgdGhl
IGJ1ZmZlci4gICovCisgCQkJICBzaXplX3QgbmV3c2l6ZQorLQkJCSAgICA9IHN0cnNpemUKKy0J
CQkgICAgICArIChzdHJzaXplID49IHdpZHRoID8gd2lkdGggLSAxIDogc3Ryc2l6ZSk7CisrCQkJ
ICAgID0gc3Ryc2l6ZSArIChzdHJzaXplID49IHdpZHRoID8gd2lkdGggOiBzdHJzaXplKTsKKyAK
KyAJCQkgIHN0ciA9IChjaGFyICopIHJlYWxsb2MgKCpzdHJwdHIsIG5ld3NpemUpOworIAkJCSAg
aWYgKHN0ciA9PSBOVUxMKQorQEAgLTg5Miw2ICs4OTEsMTEgQEAgX192ZnNjYW5mX2ludGVybmFs
IChGSUxFICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRyLAorIAorIAkgICAg
ICBpZiAoIShmbGFncyAmIFNVUFBSRVNTKSkKKyAJCXsKKysJCSAgLyogSWYgdGhlIGJ1ZmZlciBp
c24ndCBjb21wbGV0ZWx5IGZpbGxlZCwgcGFkIGl0IHdpdGggTlVMcy4gICovCisrCQkgIGlmIChm
bGFncyAmIE1BTExPQykKKysJCSAgICB3aGlsZSAod2lkdGgtLSA+IDApCisrCQkgICAgICAqc3Ry
KysgPSAnXDAnOworKworIAkJICBpZiAoKGZsYWdzICYgTUFMTE9DKSAmJiBzdHIgLSAqc3RycHRy
ICE9IHN0cnNpemUpCisgCQkgICAgeworIAkJICAgICAgY2hhciAqY3AgPSAoY2hhciAqKSByZWFs
bG9jICgqc3RycHRyLCBzdHIgLSAqc3RycHRyKTsKK0BAIC05MDksNyArOTEzLDcgQEAgX192ZnNj
YW5mX2ludGVybmFsIChGSUxFICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRy
LAorIAkgIGlmICh3aWR0aCA9PSAtMSkKKyAJICAgIHdpZHRoID0gMTsKKyAKKy0JICBTVFJJTkdf
QVJHICh3c3RyLCB3Y2hhcl90LCAod2lkdGggPiAxMDI0ID8gMTAyNCA6IHdpZHRoKSk7CisrCSAg
U1RSSU5HX0FSRyAod3N0ciwgd2NoYXJfdCwgKHdpZHRoID4gMCA/IHdpZHRoIDogMSkpOworIAor
IAkgIGMgPSBpbmNoYXIgKCk7CisgCSAgaWYgKF9fZ2xpYmNfdW5saWtlbHkgKGMgPT0gRU9GKSkK
K0BAIC05MjUsNyArOTI5LDcgQEAgX192ZnNjYW5mX2ludGVybmFsIChGSUxFICpzLCBjb25zdCBj
aGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRyLAorIAkJICAgICAgJiYgd3N0ciA9PSAod2NoYXJf
dCAqKSAqc3RycHRyICsgc3Ryc2l6ZSkKKyAJCSAgICB7CisgCQkgICAgICBzaXplX3QgbmV3c2l6
ZQorLQkJCT0gc3Ryc2l6ZSArIChzdHJzaXplID4gd2lkdGggPyB3aWR0aCAtIDEgOiBzdHJzaXpl
KTsKKysJCQk9IHN0cnNpemUgKyAoc3Ryc2l6ZSA+PSB3aWR0aCA/IHdpZHRoIDogc3Ryc2l6ZSk7
CisgCQkgICAgICAvKiBFbmxhcmdlIHRoZSBidWZmZXIuICAqLworIAkJICAgICAgd3N0ciA9ICh3
Y2hhcl90ICopIHJlYWxsb2MgKCpzdHJwdHIsCisgCQkJCQkJICBuZXdzaXplICogc2l6ZW9mICh3
Y2hhcl90KSk7CitAQCAtOTgwLDcgKzk4NCw3IEBAIF9fdmZzY2FuZl9pbnRlcm5hbCAoRklMRSAq
cywgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFyZ3B0ciwKKyAJCSAgICAmJiB3c3RyID09
ICh3Y2hhcl90ICopICpzdHJwdHIgKyBzdHJzaXplKQorIAkJICB7CisgCQkgICAgc2l6ZV90IG5l
d3NpemUKKy0JCSAgICAgID0gc3Ryc2l6ZSArIChzdHJzaXplID4gd2lkdGggPyB3aWR0aCAtIDEg
OiBzdHJzaXplKTsKKysJCSAgICAgID0gc3Ryc2l6ZSArIChzdHJzaXplID49IHdpZHRoID8gd2lk
dGggOiBzdHJzaXplKTsKKyAJCSAgICAvKiBFbmxhcmdlIHRoZSBidWZmZXIuICAqLworIAkJICAg
IHdzdHIgPSAod2NoYXJfdCAqKSByZWFsbG9jICgqc3RycHRyLAorIAkJCQkJCW5ld3NpemUgKiBz
aXplb2YgKHdjaGFyX3QpKTsKK0BAIC0xMDQ1LDYgKzEwNDksMTEgQEAgX192ZnNjYW5mX2ludGVy
bmFsIChGSUxFICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIHZhX2xpc3QgYXJncHRyLAorIAorIAkg
IGlmICghKGZsYWdzICYgU1VQUFJFU1MpKQorIAkgICAgeworKwkgICAgICAvKiBJZiB0aGUgYnVm
ZmVyIGlzbid0IGNvbXBsZXRlbHkgZmlsbGVkLCBwYWQgaXQgd2l0aCBOVUxzLiAgKi8KKysJICAg
ICAgaWYgKGZsYWdzICYgTUFMTE9DKQorKwkJd2hpbGUgKHdpZHRoLS0gPiAwKQorKwkJICAqd3N0
cisrID0gTCdcMCc7CisrCisgCSAgICAgIGlmICgoZmxhZ3MgJiBNQUxMT0MpICYmIHdzdHIgLSAo
d2NoYXJfdCAqKSAqc3RycHRyICE9IHN0cnNpemUpCisgCQl7CisgCQkgIHdjaGFyX3QgKmNwID0g
KHdjaGFyX3QgKikgcmVhbGxvYyAoKnN0cnB0ciwKIGRpZmYgLS1naXQgYS9zdGRsaWIvTWFrZWZp
bGUgYi9zdGRsaWIvTWFrZWZpbGUKIGluZGV4IDFjNGZhMjM4MmYuLmM5YzhmNzAyYTIgMTAwNjQ0
CiAtLS0gYS9zdGRsaWIvTWFrZWZpbGUKQEAgLTYwOTcsNiArNjk2NCwxOCBAQCBpbmRleCBhMDRi
N2VjNDdmLi5lMjBmMGE2MjMwIDEwMDY0NAogICNpbmNsdWRlIDxzaGxpYi1jb21wYXQuaD4KICAj
aW5jbHVkZSA8bGliYy1zeW1ib2xzLmg+CiAgCitkaWZmIC0tZ2l0IGEvc3VwcG9ydC9NYWtlZmls
ZSBiL3N1cHBvcnQvTWFrZWZpbGUKK2luZGV4IDU5YTk5NzQ1MzkuLjM3NzQxYWI0MDUgMTAwNjQ0
CistLS0gYS9zdXBwb3J0L01ha2VmaWxlCisrKysgYi9zdXBwb3J0L01ha2VmaWxlCitAQCAtMTM0
LDYgKzEzNCw3IEBAIGxpYnN1cHBvcnQtcm91dGluZXMgPSBcCisgICB4ZmNsb3NlIFwKKyAgIHhm
ZG9wZW5kaXIgXAorICAgeGZnZXRzIFwKKysgIHhmbWVtb3BlbiBcCisgICB4Zm9wZW4gXAorICAg
eGZvcmsgXAorICAgeGZyZWFkIFwKIGRpZmYgLS1naXQgYS9zdXBwb3J0L2NhcHR1cmVfc3VicHJv
Y2Vzcy5oIGIvc3VwcG9ydC9jYXB0dXJlX3N1YnByb2Nlc3MuaAogaW5kZXggOTFkNzVlNWQ2Yi4u
YjM3NDYyZDBkMSAxMDA2NDQKIC0tLSBhL3N1cHBvcnQvY2FwdHVyZV9zdWJwcm9jZXNzLmgKQEAg
LTYzNzAsNiArNzI0OSw1NSBAQCBpbmRleCA3OWQzMTg5ZTJmLi5lMzVjZDczMTZmIDEwMDY0NAog
ICAgICAgIGlmIChjbnQgPT0gMSAmJiB2YWwgIT0gZmlsZXNbaV0uYmFkX3ZhbHVlKQogIAljb250
aW51ZTsKICAKK2RpZmYgLS1naXQgYS9zdXBwb3J0L3hmbWVtb3Blbi5jIGIvc3VwcG9ydC94Zm1l
bW9wZW4uYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYxZGJjNzJj
NjcKKy0tLSAvZGV2L251bGwKKysrKyBiL3N1cHBvcnQveGZtZW1vcGVuLmMKK0BAIC0wLDAgKzEs
MzEgQEAKKysvKiBmbWVtb3BlbiB3aXRoIGVycm9yIGNoZWNraW5nLgorKyAgIENvcHlyaWdodCAo
QykgMjAyNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKysgICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgR05VIEMgTGlicmFyeS4KKysKKysgICBUaGUgR05VIEMgTGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisrICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisrICAgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhlIEdOVSBDIExpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysgICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyAgIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisrICAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKysKKysgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisrICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBHTlUgQyBMaWJy
YXJ5OyBpZiBub3QsIHNlZQorKyAgIDxodHRwczovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq
LworKworKyNpbmNsdWRlIDxzdXBwb3J0L3hzdGRpby5oPgorKworKyNpbmNsdWRlIDxzdXBwb3J0
L2NoZWNrLmg+CisrI2luY2x1ZGUgPHN0ZGxpYi5oPgorKworK0ZJTEUgKgorK3hmbWVtb3BlbiAo
dm9pZCAqbWVtLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICptb2RlKQorK3sKKysgIEZJTEUgKmZw
ID0gZm1lbW9wZW4gKG1lbSwgbGVuLCBtb2RlKTsKKysgIGlmIChmcCA9PSBOVUxMKQorKyAgICBG
QUlMX0VYSVQxICgiZm1lbW9wZW4gKG1vZGUgXCIlc1wiKTogJW0iLCBtb2RlKTsKKysgIHJldHVy
biBmcDsKKyt9CitkaWZmIC0tZ2l0IGEvc3VwcG9ydC94c3RkaW8uaCBiL3N1cHBvcnQveHN0ZGlv
LmgKK2luZGV4IGMzZmRmOTQ5NmYuLjcwYjgzZjExZGEgMTAwNjQ0CistLS0gYS9zdXBwb3J0L3hz
dGRpby5oCisrKysgYi9zdXBwb3J0L3hzdGRpby5oCitAQCAtMjcsNiArMjcsNyBAQCBfX0JFR0lO
X0RFQ0xTCisgRklMRSAqeGZvcGVuIChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2Rl
KTsKKyB2b2lkIHhmY2xvc2UgKEZJTEUgKik7CisgRklMRSAqeGZyZW9wZW4gKGNvbnN0IGNoYXIg
KnBhdGgsIGNvbnN0IGNoYXIgKm1vZGUsIEZJTEUgKnN0cmVhbSk7CisrRklMRSAqeGZtZW1vcGVu
ICh2b2lkICptZW0sIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKm1vZGUpOworIHZvaWQgeGZyZWFk
ICh2b2lkICpwdHIsIHNpemVfdCBzaXplLCBzaXplX3Qgbm1lbWIsIEZJTEUgKnN0cmVhbSk7Cisg
Y2hhciAqeGZnZXRzIChjaGFyICpzLCBpbnQgc2l6ZSwgRklMRSAqc3RyZWFtKTsKKyAKIGRpZmYg
LS1naXQgYS9zeXNkZXBzL2FhcmNoNjQvTWFrZWZpbGUgYi9zeXNkZXBzL2FhcmNoNjQvTWFrZWZp
bGUKIGluZGV4IDRiN2Y4YTVjMDcuLjUzZjViZDRjZTAgMTAwNjQ0CiAtLS0gYS9zeXNkZXBzL2Fh
cmNoNjQvTWFrZWZpbGUKQEAgLTEzOTg1LDYgKzE0OTEzLDE4IEBAIGluZGV4IGM5YzI1YzJlNDcu
LjA4ZTFlNzcyMTAgMTAwNjQ0CiAgICAvKiBMZXQgbGliYyBkbyB0aGUgcmVzdCBvZiB0aGUgaW5p
dGlhbGl6YXRpb24sIGFuZCBjYWxsIG1haW4uICAqLwogIAljYWxsICAgIF9fbGliY19zdGFydF9t
YWluCiAgCSBub3AKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9NYWtlZmls
ZSBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlCitpbmRleCAzOTVkMmQ2NTkzLi43
N2VmMzJlZTQzIDEwMDY0NAorLS0tIGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvTWFrZWZpbGUK
KysrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L01ha2VmaWxlCitAQCAtMTI5LDYgKzEyOSw3
IEBAIENGTEFHUy10ZXN0LWVycm5vLWxpbnV4LmMgKz0gJChuby1mb3J0aWZ5LXNvdXJjZSkKKyAK
KyBzeXNkZXBfaGVhZGVycyArPSBcCisgICBiaXRzL2Eub3V0LmggXAorKyAgYml0cy9jbG9leGVj
LmggXAorICAgYml0cy9lcG9sbC5oIFwKKyAgIGJpdHMvZXZlbnRmZC5oIFwKKyAgIGJpdHMvaW5v
dGlmeS5oIFwKIGRpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hYXJjaDY0L01h
a2VmaWxlIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWFyY2g2NC9NYWtlZmlsZQogaW5kZXgg
MWZkYWQ2N2ZhZS4uMDgzOWYwYjA4YyAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L2FhcmNoNjQvTWFrZWZpbGUKQEAgLTE0OTA2LDYgKzE1ODQ2LDM1IEBAIGluZGV4IGQ1OTQz
YTc0ODUuLjI2MDBiYzliZTMgMTAwNjQ0CiAgCW1vdgl4MCwgIzB4NDExMQkvKiBDTE9ORV9WTSB8
IENMT05FX1ZGT1JLIHwgU0lHQ0hMRCAqLwogIAltb3YJeDEsIHNwCiAgCURPX0NBTEwgKGNsb25l
LCAyKQorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2FscGhhL2JpdHMvY2xv
ZXhlYy5oIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYWxwaGEvYml0cy9jbG9leGVjLmgKK25l
dyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMDAwLi5mMzgxZjI4YTUzCistLS0gL2Rl
di9udWxsCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9hbHBoYS9iaXRzL2Nsb2V4ZWMu
aAorQEAgLTAsMCArMSBAQAorKyNkZWZpbmUgX19PX0NMT0VYRUMgMDEwMDAwMDAwCitkaWZmIC0t
Z2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvYml0cy9jbG9leGVjLmggYi9zeXNkZXBzL3Vu
aXgvc3lzdi9saW51eC9iaXRzL2Nsb2V4ZWMuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4
IDAwMDAwMDAwMDAuLjMwNTlmYjY0NzMKKy0tLSAvZGV2L251bGwKKysrKyBiL3N5c2RlcHMvdW5p
eC9zeXN2L2xpbnV4L2JpdHMvY2xvZXhlYy5oCitAQCAtMCwwICsxIEBACisrI2RlZmluZSBfX09f
Q0xPRVhFQyAwMjAwMDAwMAorZGlmZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2Jp
dHMvZmNudGwtbGludXguaCBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2JpdHMvZmNudGwtbGlu
dXguaAoraW5kZXggZGZjNTU0YWFmYy4uOWY5M2VlMDMyNSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L2JpdHMvZmNudGwtbGludXguaAorKysrIGIvc3lzZGVwcy91bml4L3N5
c3YvbGludXgvYml0cy9mY250bC1saW51eC5oCitAQCAtODEsOSArODEsNyBAQAorICNpZm5kZWYg
X19PX05PRk9MTE9XCisgIyBkZWZpbmUgX19PX05PRk9MTE9XCTA0MDAwMDAKKyAjZW5kaWYKKy0j
aWZuZGVmIF9fT19DTE9FWEVDCistIyBkZWZpbmUgX19PX0NMT0VYRUMgICAwMjAwMDAwMAorLSNl
bmRpZgorKyNpbmNsdWRlIDxiaXRzL2Nsb2V4ZWMuaD4KKyAjaWZuZGVmIF9fT19ESVJFQ1QKKyAj
IGRlZmluZSBfX09fRElSRUNUCSAwNDAwMDAKKyAjZW5kaWYKIGRpZmYgLS1naXQgYS9zeXNkZXBz
L3VuaXgvc3lzdi9saW51eC9iaXRzL3NjaGVkLmggYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9i
aXRzL3NjaGVkLmgKIGluZGV4IDM2NTZlOThlZGEuLjM5YjBiM2QxOWMgMTAwNjQ0CiAtLS0gYS9z
eXNkZXBzL3VuaXgvc3lzdi9saW51eC9iaXRzL3NjaGVkLmgKQEAgLTE1MDA1LDYgKzE1OTc0LDEz
IEBAIGluZGV4IGYwM2VjZDRkYTkuLjBlNjY5NDQ1NzAgMTAwNjQ0CiAgICAgICAgZ290byBvdXQ7
CiAgICAgIH0KICAKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9ocHBhL2Jp
dHMvY2xvZXhlYy5oIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgvaHBwYS9iaXRzL2Nsb2V4ZWMu
aAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLmYzODFmMjhhNTMKKy0t
LSAvZGV2L251bGwKKysrKyBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L2hwcGEvYml0cy9jbG9l
eGVjLmgKK0BAIC0wLDAgKzEgQEAKKysjZGVmaW5lIF9fT19DTE9FWEVDIDAxMDAwMDAwMAogZGlm
ZiAtLWdpdCBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JzZXEtaW50ZXJuYWwuaCBiL3N5c2Rl
cHMvdW5peC9zeXN2L2xpbnV4L3JzZXEtaW50ZXJuYWwuaAogaW5kZXggZjg5ZTc4NDI0My4uZDJh
YjRjYjgyOSAxMDA2NDQKIC0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3JzZXEtaW50ZXJu
YWwuaApAQCAtMTUwMjgsNiArMTYwMDQsNTcgQEAgaW5kZXggZjg5ZTc4NDI0My4uZDJhYjRjYjgy
OSAxMDA2NDQKICAKICAgICAgICBpbnQgcmV0ID0gSU5URVJOQUxfU1lTQ0FMTF9DQUxMIChyc2Vx
LCBSU0VRX1NFTEYgKCksIHNpemUsIDAsIFJTRVFfU0lHKTsKICAgICAgICBpZiAoIUlOVEVSTkFM
X1NZU0NBTExfRVJST1JfUCAocmV0KSkKK2RpZmYgLS1naXQgYS9zeXNkZXBzL3VuaXgvc3lzdi9s
aW51eC9zcGFyYy9iaXRzL2Nsb2V4ZWMuaCBiL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3NwYXJj
L2JpdHMvY2xvZXhlYy5oCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwMC4u
NjcwNmVhYTdkNQorLS0tIC9kZXYvbnVsbAorKysrIGIvc3lzZGVwcy91bml4L3N5c3YvbGludXgv
c3BhcmMvYml0cy9jbG9leGVjLmgKK0BAIC0wLDAgKzEgQEAKKysjZGVmaW5lIF9fT19DTE9FWEVD
IDB4NDAwMDAwCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4L3N5c3YvbGludXgvc3lzL21vdW50
LmggYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvbW91bnQuaAoraW5kZXggN2M2ZDA4MDVk
Ny4uYmQ2YTA4OTcwOSAxMDA2NDQKKy0tLSBhL3N5c2RlcHMvdW5peC9zeXN2L2xpbnV4L3N5cy9t
b3VudC5oCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC9zeXMvbW91bnQuaAorQEAgLTIx
LDcgKzIxLDYgQEAKKyAjaWZuZGVmIF9TWVNfTU9VTlRfSAorICNkZWZpbmUgX1NZU19NT1VOVF9I
CTEKKyAKKy0jaW5jbHVkZSA8ZmNudGwuaD4KKyAjaW5jbHVkZSA8ZmVhdHVyZXMuaD4KKyAjaW5j
bHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorQEAgLTI2NSw5ICsyNjQsMTYg
QEAgZW51bSBmc2NvbmZpZ19jb21tYW5kCisgI2RlZmluZSBGU09QRU5fQ0xPRVhFQyAgICAgICAg
ICAweDAwMDAwMDAxCisgCisgLyogb3Blbl90cmVlIGZsYWdzLiAgKi8KKy0jZGVmaW5lIE9QRU5f
VFJFRV9DTE9ORSAgICAxICAgICAgICAgLyogQ2xvbmUgdGhlIHRhcmdldCB0cmVlIGFuZCBhdHRh
Y2ggdGhlIGNsb25lICovCistI2RlZmluZSBPUEVOX1RSRUVfQ0xPRVhFQyAgT19DTE9FWEVDIC8q
IENsb3NlIHRoZSBmaWxlIG9uIGV4ZWN2ZSgpICovCistCisrI2lmbmRlZiBPUEVOX1RSRUVfQ0xP
TkUKKysjIGRlZmluZSBPUEVOX1RSRUVfQ0xPTkUgICAgMSAvKiBDbG9uZSB0aGUgdGFyZ2V0IHRy
ZWUgYW5kIGF0dGFjaCB0aGUgY2xvbmUgKi8KKysjZW5kaWYKKysjaWZuZGVmIE9fQ0xPRVhFQwor
KyMgaW5jbHVkZSA8Yml0cy9jbG9leGVjLmg+CisrIyBkZWZpbmUgT19DTE9FWEVDIF9fT19DTE9F
WEVDCisrI2VuZGlmCisrI2lmbmRlZiBPUEVOX1RSRUVfQ0xPRVhFQworKyMgZGVmaW5lIE9QRU5f
VFJFRV9DTE9FWEVDICBPX0NMT0VYRUMgLyogQ2xvc2UgdGhlIGZpbGUgb24gZXhlY3ZlKCkgKi8K
KysjZW5kaWYKKyAKKyBfX0JFR0lOX0RFQ0xTCisgCitkaWZmIC0tZ2l0IGEvc3lzZGVwcy91bml4
L3N5c3YvbGludXgvdHN0LW1vdW50LmMgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC90c3QtbW91
bnQuYworaW5kZXggNDA5MTNjNzA4Mi4uNzhhMjc3MmIyZiAxMDA2NDQKKy0tLSBhL3N5c2RlcHMv
dW5peC9zeXN2L2xpbnV4L3RzdC1tb3VudC5jCisrKysgYi9zeXNkZXBzL3VuaXgvc3lzdi9saW51
eC90c3QtbW91bnQuYworQEAgLTIwLDYgKzIwLDcgQEAKKyAjaW5jbHVkZSA8c3VwcG9ydC9jaGVj
ay5oPgorICNpbmNsdWRlIDxzdXBwb3J0L3h1bmlzdGQuaD4KKyAjaW5jbHVkZSA8c3VwcG9ydC9u
YW1lc3BhY2UuaD4KKysjaW5jbHVkZSA8ZmNudGwuaD4gLyogRm9yIEFUXyBjb25zdGFudHMuICAq
LworICNpbmNsdWRlIDxzeXMvbW91bnQuaD4KKyAKKyBfU3RhdGljX2Fzc2VydCAoc2l6ZW9mIChz
dHJ1Y3QgbW91bnRfYXR0cikgPT0gTU9VTlRfQVRUUl9TSVpFX1ZFUjAsCiBkaWZmIC0tZ2l0IGEv
c3lzZGVwcy91bml4L3N5c3YvbGludXgvdHN0LXJzZXEuYyBiL3N5c2RlcHMvdW5peC9zeXN2L2xp
bnV4L3RzdC1yc2VxLmMKIGluZGV4IDAwMTgxY2ZlZmIuLmU4M2VhMmI5MzkgMTAwNjQ0CiAtLS0g
YS9zeXNkZXBzL3VuaXgvc3lzdi9saW51eC90c3QtcnNlcS5jCg==

--===============0406620918656266304==--