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==--