From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Petr Lautrbach To: git-commits@fedoraproject.org Subject: [rpms/libselinux] rawhide: SELinux userspace 3.11 release Date: Wed, 01 Jul 2026 19:36:26 GMT Message-ID: <178293458652.1.5830165486301475632.rpms-libselinux-41d874fcf881@fedoraproject.org> List-ID: X-Git-Repo: rpms/libselinux X-Git-Branch: rawhide X-Git-Rev: 41d874fcf8813b7531ab920c23e1bb050503fce9 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbGlic2VsaW51eApC cmFuY2ggOiByYXdoaWRlCkNvbW1pdCA6IDQxZDg3NGZjZjg4MTNiNzUzMWFiOTIwYzIzZTFiYjA1 MDUwM2ZjZTkKQXV0aG9yIDogUGV0ciBMYXV0cmJhY2ggPGxhdXRyYmFjaEByZWRoYXQuY29tPgpE YXRlICAgOiAyMDI2LTA3LTAxVDIxOjM2OjAxKzAyOjAwClN0YXRzICA6ICs0MDkvLTI3NiBpbiA1 IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9saWJz ZWxpbnV4L2MvNDFkODc0ZmNmODgxM2I3NTMxYWI5MjBjMjNlMWJiMDUwNTAzZmNlOT9icmFuY2g9 cmF3aGlkZQoKTG9nOgpTRUxpbnV4IHVzZXJzcGFjZSAzLjExIHJlbGVhc2UKCi0tLQpkaWZmIC0t Z2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggMmRjNGQ5ZC4uMjI0M2I3NSAxMDA2 NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yNDgsMyArMjQ4LDUgQEAg bGlic2VsaW51eC0yLjAuOTYudGd6CiAvbGlic2VsaW51eC0zLjEwLXJjMi50YXIuZ3ouYXNjCiAv bGlic2VsaW51eC0zLjEwLnRhci5negogL2xpYnNlbGludXgtMy4xMC50YXIuZ3ouYXNjCisvbGli c2VsaW51eC0zLjExLnRhci5negorL2xpYnNlbGludXgtMy4xMS50YXIuZ3ouYXNjCgpkaWZmIC0t Z2l0IGEvMDAwMS1Vc2UtU0hBLTItaW5zdGVhZC1vZi1TSEEtMS5wYXRjaCBiLzAwMDEtVXNlLVNI QS0yLWluc3RlYWQtb2YtU0hBLTEucGF0Y2gKaW5kZXggN2FlNzhjMi4uMzQ3MzkxNCAxMDA2NDQK LS0tIGEvMDAwMS1Vc2UtU0hBLTItaW5zdGVhZC1vZi1TSEEtMS5wYXRjaAorKysgYi8wMDAxLVVz ZS1TSEEtMi1pbnN0ZWFkLW9mLVNIQS0xLnBhdGNoCkBAIC0xLDQgKzEsNCBAQAotRnJvbSA0Nzgw Yjc1NWJiMTE3MWY1YWE0Y2Q3NTQ1NTM1ODM5ZDQ1MWEyMDcwIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbSBjYmFmMTA0MGM2NTViZDU0NGVlZGNhM2I4ZTA3MDcyMGRmYzNiMmJlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogUGV0ciBMYXV0cmJhY2ggPHBsYXV0cmJhQHJlZGhh dC5jb20+CiBEYXRlOiBGcmksIDMwIEp1bCAyMDIxIDE0OjE0OjM3ICswMjAwCiBTdWJqZWN0OiBb UEFUQ0hdIFVzZSBTSEEtMiBpbnN0ZWFkIG9mIFNIQS0xCkBAIC0xMywyOCArMTMsMjggQEAgVGhl IHVzZSBvZiBTSEEtMSBpbiBSSEVMOSBpcyBkZXByZWNhdGVkCiAgbGlic2VsaW51eC9tYW4vbWFu My9zZWxpbnV4X3Jlc3RvcmVjb24uMyAgICAgIHwgIDE4ICstCiAgLi4uL21hbi9tYW4zL3NlbGlu dXhfcmVzdG9yZWNvbl94YXR0ci4zICAgICAgIHwgICAyICstCiAgbGlic2VsaW51eC9zcmMvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICstCi0gbGlic2VsaW51eC9zcmMvbGFi ZWxfZmlsZS5jICAgICAgICAgICAgICAgICAgIHwgIDQwICstLQotIGxpYnNlbGludXgvc3JjL2xh YmVsX2ludGVybmFsLmggICAgICAgICAgICAgICB8ICAxMCArLQotIGxpYnNlbGludXgvc3JjL2xh YmVsX3N1cHBvcnQuYyAgICAgICAgICAgICAgICB8ICAxMCArLQotIGxpYnNlbGludXgvc3JjL3Nl bGludXhfcmVzdG9yZWNvbi5jICAgICAgICAgICB8ICAyNCArLQotIGxpYnNlbGludXgvc3JjL3No YTEuYyAgICAgICAgICAgICAgICAgICAgICAgICB8IDIyMyAtLS0tLS0tLS0tLS0tCi0gbGlic2Vs aW51eC9zcmMvc2hhMS5oICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDg1IC0tLS0tCisgbGli c2VsaW51eC9zcmMvbGFiZWxfZmlsZS5jICAgICAgICAgICAgICAgICAgIHwgIDQ2ICstLQorIGxp YnNlbGludXgvc3JjL2xhYmVsX2ludGVybmFsLmggICAgICAgICAgICAgICB8ICAxOCArLQorIGxp YnNlbGludXgvc3JjL2xhYmVsX3N1cHBvcnQuYyAgICAgICAgICAgICAgICB8ICAxNyArLQorIGxp YnNlbGludXgvc3JjL3NlbGludXhfcmVzdG9yZWNvbi5jICAgICAgICAgICB8ICA0OCArKy0KKyBs aWJzZWxpbnV4L3NyYy9zaGExLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAyODQgLS0tLS0t LS0tLS0tLS0tLS0KKyBsaWJzZWxpbnV4L3NyYy9zaGExLmggICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNjggLS0tLQogIGxpYnNlbGludXgvc3JjL3NoYTI1Ni5jICAgICAgICAgICAgICAgICAg ICAgICB8IDI5NCArKysrKysrKysrKysrKysrKysKICBsaWJzZWxpbnV4L3NyYy9zaGEyNTYuaCAg ICAgICAgICAgICAgICAgICAgICAgfCAgODkgKysrKysrCiAgbGlic2VsaW51eC91dGlscy9zZWxh YmVsX2RpZ2VzdC5jICAgICAgICAgICAgIHwgIDI2ICstCiAgLi4uL3NlbGFiZWxfZ2V0X2RpZ2Vz dHNfYWxsX3BhcnRpYWxfbWF0Y2hlcy5jIHwgIDI4ICstCi0gMTcgZmlsZXMgY2hhbmdlZCwgNDcx IGluc2VydGlvbnMoKyksIDM5NiBkZWxldGlvbnMoLSkKKyAxNyBmaWxlcyBjaGFuZ2VkLCA1MDEg aW5zZXJ0aW9ucygrKSwgNDU1IGRlbGV0aW9ucygtKQogIGRlbGV0ZSBtb2RlIDEwMDY0NCBsaWJz ZWxpbnV4L3NyYy9zaGExLmMKICBkZWxldGUgbW9kZSAxMDA2NDQgbGlic2VsaW51eC9zcmMvc2hh MS5oCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYnNlbGludXgvc3JjL3NoYTI1Ni5jCiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGxpYnNlbGludXgvc3JjL3NoYTI1Ni5oCiAKIGRpZmYgLS1naXQgYS9saWJz ZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9sYWJlbC5oIGIvbGlic2VsaW51eC9pbmNsdWRlL3NlbGlu dXgvbGFiZWwuaAotaW5kZXggY2UxODlhM2FlMmZlLi5jZTc3ZDMyZGZlZDEgMTAwNjQ0CitpbmRl eCAwNWUxZmQ1Njk5ODAuLjBlNjgzZmYyYWQzYyAxMDA2NDQKIC0tLSBhL2xpYnNlbGludXgvaW5j bHVkZS9zZWxpbnV4L2xhYmVsLmgKICsrKyBiL2xpYnNlbGludXgvaW5jbHVkZS9zZWxpbnV4L2xh YmVsLmgKLUBAIC0xMjAsMTMgKzEyMCwxMyBAQCBleHRlcm4gaW50IHNlbGFiZWxfbG9va3VwX2Jl c3RfbWF0Y2hfcmF3KHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVjLCBjaGFyICoqY29uLAotIAkJ CQkJIGNvbnN0IGNoYXIgKmtleSwgY29uc3QgY2hhciAqKmFsaWFzZXMsIGludCB0eXBlKTsKK0BA IC0xMjMsMTMgKzEyMywxMyBAQCBleHRlcm4gaW50IHNlbGFiZWxfbG9va3VwX2Jlc3RfbWF0Y2hf cmF3KHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqcmVjLCBjaGFyICoqY29uLAorIAkJCQkJIGludCB0 eXBlKTsKICAKICAvKioKIC0gKiBzZWxhYmVsX2RpZ2VzdCAtIFJldHJpZXZlIHRoZSBTSEExIGRp Z2VzdCBhbmQgdGhlIGxpc3Qgb2Ygc3BlY2ZpbGVzIHVzZWQgdG8KQEAgLTUxLDcgKzUxLDcgQEAg aW5kZXggY2UxODlhM2FlMmZlLi5jZTc3ZDMyZGZlZDEgMTAwNjQ0CiAgICogQG51bV9zcGVjZmls ZXM6IG51bWJlciBvZiBzcGVjZmlsZXMgaW4gdGhlIGxpc3QuCiAgICoKIGRpZmYgLS1naXQgYS9s aWJzZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9yZXN0b3JlY29uLmggYi9saWJzZWxpbnV4L2luY2x1 ZGUvc2VsaW51eC9yZXN0b3JlY29uLmgKLWluZGV4IDViZTY1NDJjMmE5MS4uMjEwZjY1ZmRiNzA5 IDEwMDY0NAoraW5kZXggNjY4MDU4OWVjNjU5Li5jODM1NmRlOWViZWIgMTAwNjQ0CiAtLS0gYS9s aWJzZWxpbnV4L2luY2x1ZGUvc2VsaW51eC9yZXN0b3JlY29uLmgKICsrKyBiL2xpYnNlbGludXgv aW5jbHVkZS9zZWxpbnV4L3Jlc3RvcmVjb24uaAogQEAgLTQzLDggKzQzLDggQEAgZXh0ZXJuIGlu dCBzZWxpbnV4X3Jlc3RvcmVjb25fcGFyYWxsZWwoY29uc3QgY2hhciAqcGF0aG5hbWUsCkBAIC02 Myw3ICs2Myw3IEBAIGluZGV4IDViZTY1NDJjMmE5MS4uMjEwZjY1ZmRiNzA5IDEwMDY0NAogKyAq IEZvcmNlIHRoZSBjaGVja2luZyBvZiBsYWJlbHMgZXZlbiBpZiB0aGUgc3RvcmVkIFNIQTI1NiBk aWdlc3QKICsgKiBtYXRjaGVzIHRoZSBzcGVjZmlsZXMgU0hBMjU2IGRpZ2VzdCAocmVxdWlyZXMg Q0FQX1NZU19BRE1JTikuCiAgICovCi0gI2RlZmluZSBTRUxJTlVYX1JFU1RPUkVDT05fSUdOT1JF X0RJR0VTVAkJMHgwMDAwMQorICNkZWZpbmUgU0VMSU5VWF9SRVNUT1JFQ09OX0lHTk9SRV9ESUdF U1QgMHgwMDAwMQogIC8qCiBkaWZmIC0tZ2l0IGEvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxhYmVs X2RpZ2VzdC4zIGIvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxhYmVsX2RpZ2VzdC4zCiBpbmRleCA1 NmEwMDhmMDBkZjAuLjVmN2M0MjUzM2QwZSAxMDA2NDQKQEAgLTk3LDcgKzk3LDcgQEAgaW5kZXgg MGUwM2UxYmUxMTFlLi4xNGFiODg4ZDJlMDMgMTAwNjQ0CiAgLkJSIHNlbGFiZWxfZGlnZXN0ICgz KQogIC4KIGRpZmYgLS1naXQgYS9saWJzZWxpbnV4L21hbi9tYW4zL3NlbGludXhfcmVzdG9yZWNv bi4zIGIvbGlic2VsaW51eC9tYW4vbWFuMy9zZWxpbnV4X3Jlc3RvcmVjb24uMwotaW5kZXggMjE4 YWFmNmQyYWU1Li41ZjZkNGIzODY0MjkgMTAwNjQ0CitpbmRleCA5YmNkM2Q0MmJiNDUuLjNmMjgz YzRmNDI3MyAxMDA2NDQKIC0tLSBhL2xpYnNlbGludXgvbWFuL21hbjMvc2VsaW51eF9yZXN0b3Jl Y29uLjMKICsrKyBiL2xpYnNlbGludXgvbWFuL21hbjMvc2VsaW51eF9yZXN0b3JlY29uLjMKIEBA IC0zNiw3ICszNiw3IEBAIElmIHRoaXMgaXMgYSBkaXJlY3RvcnkgYW5kIHRoZQpAQCAtMTM4LDcg KzEzOCw3IEBAIGluZGV4IDIxOGFhZjZkMmFlNS4uNWY2ZDRiMzg2NDI5IDEwMDY0NAogIGV4dGVu ZGVkIGF0dHJpYnV0ZSBhcyBkZXNjcmliZWQgaW4gdGhlCiAgLkIgTk9URVMKICBzZWN0aW9uLgot QEAgLTE3OSwxMiArMTc5LDEyIEBAIGZvciBmZXRjaGluZyB0aGUgaWdub3JlZCAoc2tpcHBlZCkg ZXJyb3IgY291bnQgYWZ0ZXIKK0BAIC0xNzksNyArMTc5LDcgQEAgZm9yIGZldGNoaW5nIHRoZSBp Z25vcmVkIChza2lwcGVkKSBlcnJvciBjb3VudCBhZnRlcgogIG9yCiAgLkJSIHNlbGludXhfcmVz dG9yZWNvbl9wYXJhbGxlbCAoMykKICBjb21wbGV0ZXMgd2l0aCBzdWNjZXNzLiBJbiBjYXNlIGFu eSBlcnJvcnMgd2VyZSBza2lwcGVkIGR1cmluZyB0aGUgZmlsZSB0cmVlCkBAIC0xNDYsNiArMTQ2 LDkgQEAgaW5kZXggMjE4YWFmNmQyYWU1Li41ZjZkNGIzODY0MjkgMTAwNjQ0CiArd2FsaywgdGhl IHNwZWNmaWxlIGVudHJpZXMgU0hBMjU2IGRpZ2VzdCB3aWxsIG5vdCBoYXZlIGJlZW4gd3JpdHRl biB0byB0aGUKICAuSVIgc2VjdXJpdHkuc2VoYXNoCiAgZXh0ZW5kZWQgYXR0cmlidXRlLgorIC5z cAorQEAgLTE5Nyw3ICsxOTcsNyBAQCBVc2UgdGhpcyBvcHRpb24gd2hlbiByZWxhYmVsaW5nIHVu dHJ1c3RlZCBkaXJlY3RvcmllcyB0aGF0IG1pZ2h0CisgY29udGFpbiBoYXJkIGxpbmtzIHRvIGZp bGVzIG93bmVkIGJ5IG90aGVycy4KICAuUkUKICAuc3AKIC1UaGUgYmVoYXZpb3IgcmVnYXJkaW5n IHRoZSBjaGVja2luZyBhbmQgdXBkYXRpbmcgb2YgdGhlIFNIQTEgZGlnZXN0IGRlc2NyaWJlZApA QCAtMTUzLDcgKzE1Niw3IEBAIGluZGV4IDIxOGFhZjZkMmFlNS4uNWY2ZDRiMzg2NDI5IDEwMDY0 NAogIGFib3ZlIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLiBJdCBpcyBwb3NzaWJsZSB0byBjaGFu Z2UgdGhpcyBieSBmaXJzdCBjYWxsaW5nCiAgLkJSIHNlbGFiZWxfb3BlbiAoMykKICBhbmQgbm90 IGVuYWJsaW5nIHRoZQotQEAgLTI0Nyw3ICsyNDcsNyBAQCBUbyBpbXByb3ZlIHBlcmZvcm1hbmNl IHdoZW4gcmVsYWJlbGluZyBmaWxlIHN5c3RlbXMgcmVjdXJzaXZlbHkgKGUuZy4gdGhlCitAQCAt MjYwLDcgKzI2MCw3IEBAIFRvIGltcHJvdmUgcGVyZm9ybWFuY2Ugd2hlbiByZWxhYmVsaW5nIGZp bGUgc3lzdGVtcyByZWN1cnNpdmVseSAoZS5nLiB0aGUKICAuQiBTRUxJTlVYX1JFU1RPUkVDT05f UkVDVVJTRQogIGZsYWcgaXMgc2V0KQogIC5CUiBzZWxpbnV4X3Jlc3RvcmVjb24gKCkKQEAgLTE2 Miw3ICsxNjUsNyBAQCBpbmRleCAyMThhYWY2ZDJhZTUuLjVmNmQ0YjM4NjQyOSAxMDA2NDQKICAu QlIgc2VsYWJlbF9nZXRfZGlnZXN0c19hbGxfcGFydGlhbF9tYXRjaGVzICgzKQogIHRvIGFuIGV4 dGVuZGVkIGF0dHJpYnV0ZSBuYW1lZAogIC5JUiBzZWN1cml0eS5zZWhhc2gKLUBAIC0yNjksNyAr MjY5LDcgQEAgU2hvdWxkIGFueSBvZiB0aGUgc3BlY2ZpbGUgZW50cmllcyBoYXZlIGNoYW5nZWQs IHRoZW4gd2hlbgorQEAgLTI4Miw3ICsyODIsNyBAQCBTaG91bGQgYW55IG9mIHRoZSBzcGVjZmls ZSBlbnRyaWVzIGhhdmUgY2hhbmdlZCwgdGhlbiB3aGVuCiAgLkJSIHNlbGludXhfcmVzdG9yZWNv biAoKQogIGlzIHJ1biBhZ2FpbiB3aXRoIHRoZQogIC5CIFNFTElOVVhfUkVTVE9SRUNPTl9SRUNV UlNFCkBAIC0xODUsNyArMTg4LDcgQEAgaW5kZXggYzU2MzI2ODE0Yjk0Li4wOThjODQwZmM1OWIg MTAwNjQ0CiAgLkJSIHNlbGFiZWxfb3BlbiAoMykKICBtdXN0IGJlIGNhbGxlZCBzcGVjaWZ5aW5n IHRoZSByZXF1aXJlZAogZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvc3JjL01ha2VmaWxlIGIvbGli c2VsaW51eC9zcmMvTWFrZWZpbGUKLWluZGV4IDQxY2ZiZGNhNDkwYy4uNjU4YTRjM2Q4MGUwIDEw MDY0NAoraW5kZXggOWVjZGJkNGQwYWY4Li5mZGU1NWNkNjgxYzIgMTAwNjQ0CiAtLS0gYS9saWJz ZWxpbnV4L3NyYy9NYWtlZmlsZQogKysrIGIvbGlic2VsaW51eC9zcmMvTWFrZWZpbGUKIEBAIC0x MzAsNyArMTMwLDcgQEAgRElTQUJMRV9GTEFHUys9IC1ETk9fTUVESUFfQkFDS0VORCAtRE5PX0RC X0JBQ0tFTkQgLUROT19YX0JBQ0tFTkQgXApAQCAtMTk4LDEwICsyMDEsMTAgQEAgaW5kZXggNDFj ZmJkY2E0OTBjLi42NThhNGMzZDgwZTAgMTAwNjQ0CiAgZW5kaWYKICAKIGRpZmYgLS1naXQgYS9s aWJzZWxpbnV4L3NyYy9sYWJlbF9maWxlLmMgYi9saWJzZWxpbnV4L3NyYy9sYWJlbF9maWxlLmMK LWluZGV4IDE4OWE1ZWQyNmViNy4uMzEyYmI1ODRkNmI0IDEwMDY0NAoraW5kZXggMGMwNDk5ZWIw MzY1Li45MzhhMGUyYTVmYjMgMTAwNjQ0CiAtLS0gYS9saWJzZWxpbnV4L3NyYy9sYWJlbF9maWxl LmMKICsrKyBiL2xpYnNlbGludXgvc3JjL2xhYmVsX2ZpbGUuYwotQEAgLTE3ODAsNyArMTc4MCw3 IEBAIHN0YXRpYyBzdHJ1Y3QgbG9va3VwX3Jlc3VsdCAqbG9va3VwX2NvbW1vbihzdHJ1Y3Qgc2Vs YWJlbF9oYW5kbGUgKnJlYywKK0BAIC0yMjQ0LDcgKzIyNDQsNyBAQCBzdGF0aWMgc3RydWN0IGxv b2t1cF9yZXN1bHQgKmxvb2t1cF9jb21tb24oc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCiAg CiAgLyoKICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRpZ2VzdCBvZiBhbGwgcGFydGlhbCBtYXRj aGVkIGNvbnRleHRzIGlzIHRoZSBzYW1lIGFzCkBAIC0yMTAsNyArMjEzLDcgQEAgaW5kZXggMTg5 YTVlZDI2ZWI3Li4zMTJiYjU4NGQ2YjQgMTAwNjQ0CiAgICogZGlnZXN0IHdpbGwgYWx3YXlzIGJl IHJldHVybmVkLiBUaGUgY2FsbGVyIG11c3QgZnJlZSBhbnkgcmV0dXJuZWQgZGlnZXN0cy4KICAg Ki8KICBzdGF0aWMgYm9vbCBnZXRfZGlnZXN0c19hbGxfcGFydGlhbF9tYXRjaGVzKHN0cnVjdCBz ZWxhYmVsX2hhbmRsZSAqcmVjLAotQEAgLTE3ODksMzkgKzE3ODksMzkgQEAgc3RhdGljIGJvb2wg Z2V0X2RpZ2VzdHNfYWxsX3BhcnRpYWxfbWF0Y2hlcyhzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKnJl YywKK0BAIC0yMjUzLDQwICsyMjUzLDQwIEBAIHN0YXRpYyBib29sIGdldF9kaWdlc3RzX2FsbF9w YXJ0aWFsX21hdGNoZXMoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCiAgCQkJCQkgICAgdWlu dDhfdCAqKnhhdHRyX2RpZ2VzdCwKICAJCQkJCSAgICBzaXplX3QgKmRpZ2VzdF9sZW4pCiAgewpA QCAtMjIwLDEzICsyMjMsMTcgQEAgaW5kZXggMTg5YTVlZDI2ZWI3Li4zMTJiYjU4NGQ2YjQgMTAw NjQ0CiAtCQkJCSAgICAgcmVhZF9kaWdlc3QsIFNIQTFfSEFTSF9TSVpFCiArCQkJCSAgICAgcmVh ZF9kaWdlc3QsIFNIQTI1Nl9IQVNIX1NJWkUKICAjaWZkZWYgX19BUFBMRV9fCi0gCQkJCSAgICAg LCAwLCAwCisgCQkJCSAgICAgLAorIAkJCQkgICAgIDAsIDAKICAjZW5kaWYgLyogX19BUFBMRSBf XyAqLwotIAkJCQkgICAgKTsKKy0JKTsKIC0JdWludDhfdCBoYXNoX2RpZ2VzdFtTSEExX0hBU0hf U0laRV07CistCWJvb2wgc3RhdHVzID0KKy0JCXNlbGFiZWxfaGFzaF9hbGxfcGFydGlhbF9tYXRj aGVzKHJlYywgcGF0aG5hbWUsIGhhc2hfZGlnZXN0KTsKKysJCQkJICAgICk7CiArCXVpbnQ4X3Qg aGFzaF9kaWdlc3RbU0hBMjU2X0hBU0hfU0laRV07Ci0gCWJvb2wgc3RhdHVzID0gc2VsYWJlbF9o YXNoX2FsbF9wYXJ0aWFsX21hdGNoZXMocmVjLCBwYXRobmFtZSwKLSAJCQkJCQkgICAgICAgaGFz aF9kaWdlc3QpOworKwlib29sIHN0YXR1cyA9IHNlbGFiZWxfaGFzaF9hbGxfcGFydGlhbF9tYXRj aGVzKHJlYywgcGF0aG5hbWUsCisrCQkJCQkJICAgICAgIGhhc2hfZGlnZXN0KTsKICAKICAJKnhh dHRyX2RpZ2VzdCA9IE5VTEw7CiAgCSpjYWxjdWxhdGVkX2RpZ2VzdCA9IE5VTEw7CkBAIC0yNTUs MTMgKzI2MiwxMyBAQCBpbmRleCAxODlhNWVkMjZlYjcuLjMxMmJiNTg0ZDZiNCAxMDA2NDQKICAJ fQogIAogLQlpZiAoc3RhdHVzICYmIHJlYWRfc2l6ZSA9PSBTSEExX0hBU0hfU0laRSAmJgotLQkJ bWVtY21wKHJlYWRfZGlnZXN0LCBoYXNoX2RpZ2VzdCwgU0hBMV9IQVNIX1NJWkUpID09IDApCist CSAgICBtZW1jbXAocmVhZF9kaWdlc3QsIGhhc2hfZGlnZXN0LCBTSEExX0hBU0hfU0laRSkgPT0g MCkKICsJaWYgKHN0YXR1cyAmJiByZWFkX3NpemUgPT0gU0hBMjU2X0hBU0hfU0laRSAmJgogKwkJ bWVtY21wKHJlYWRfZGlnZXN0LCBoYXNoX2RpZ2VzdCwgU0hBMjU2X0hBU0hfU0laRSkgPT0gMCkK ICAJCXJldHVybiB0cnVlOwogIAogIAlyZXR1cm4gZmFsc2U7Ci1AQCAtMTg0MCwyMiArMTg0MCwy MiBAQCBzdGF0aWMgYm9vbCBoYXNoX2FsbF9wYXJ0aWFsX21hdGNoZXMoc3RydWN0IHNlbGFiZWxf aGFuZGxlICpyZWMsIGNvbnN0IGNoYXIgKmtleQorQEAgLTIzMDcsMjIgKzIzMDcsMjIgQEAgc3Rh dGljIGJvb2wgaGFzaF9hbGxfcGFydGlhbF9tYXRjaGVzKHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAq cmVjLAogIAkJcmV0dXJuIGZhbHNlOwogIAl9CiAgCkBAIC0yNzEsOSArMjc4LDkgQEAgaW5kZXgg MTg5YTVlZDI2ZWI3Li4zMTJiYjU4NGQ2YjQgMTAwNjQ0CiArCVNoYTI1NkluaXRpYWxpc2UoJmNv bnRleHQpOwogIAogIAlmb3IgKGNvbnN0IHN0cnVjdCBsb29rdXBfcmVzdWx0ICptID0gbWF0Y2hl czsgbTsgbSA9IG0tPm5leHQpIHsKLSAJCWNvbnN0IGNoYXIqIHJlZ2V4X3N0ciA9IG0tPnJlZ2V4 X3N0cjsKKyAJCWNvbnN0IGNoYXIgKnJlZ2V4X3N0ciA9IG0tPnJlZ2V4X3N0cjsKICAJCXVpbnQ4 X3QgZmlsZV9raW5kID0gbS0+ZmlsZV9raW5kOwotIAkJY29uc3QgY2hhciogY3R4X3JhdyA9IG0t PmxyLT5jdHhfcmF3OworIAkJY29uc3QgY2hhciAqY3R4X3JhdyA9IG0tPmxyLT5jdHhfcmF3Owog IAogLQkJU2hhMVVwZGF0ZSgmY29udGV4dCwgcmVnZXhfc3RyLCBzdHJsZW4ocmVnZXhfc3RyKSAr IDEpOwogLQkJU2hhMVVwZGF0ZSgmY29udGV4dCwgJmZpbGVfa2luZCwgc2l6ZW9mKGZpbGVfa2lu ZCkpOwpAQCAtMjkzLDcgKzMwMCw3IEBAIGluZGV4IDE4OWE1ZWQyNmViNy4uMzEyYmI1ODRkNmI0 IDEwMDY0NAogIAlmcmVlX2xvb2t1cF9yZXN1bHQobWF0Y2hlcyk7CiAgCXJldHVybiB0cnVlOwog ZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvc3JjL2xhYmVsX2ludGVybmFsLmggYi9saWJzZWxpbnV4 L3NyYy9sYWJlbF9pbnRlcm5hbC5oCi1pbmRleCA3NDNkYmY5NDcyY2YuLjQxODBkZjkyZjQwNSAx MDA2NDQKK2luZGV4IDRmZjM5ZDk2ZjlmNS4uZGQ0MjZhODI0Y2FiIDEwMDY0NAogLS0tIGEvbGli c2VsaW51eC9zcmMvbGFiZWxfaW50ZXJuYWwuaAogKysrIGIvbGlic2VsaW51eC9zcmMvbGFiZWxf aW50ZXJuYWwuaAogQEAgLTEzLDcgKzEzLDcgQEAKQEAgLTMwNSw3ICszMTIsNyBAQCBpbmRleCA3 NDNkYmY5NDcyY2YuLjQxODBkZjkyZjQwNSAxMDA2NDQKICAKICAjaWYgZGVmaW5lZChBTkRST0lE KSB8fCBkZWZpbmVkKF9fQVBQTEVfXykKICAvLyBBbmRyb2lkIGFuZCBNYWMgZG8gbm90IGhhdmUg ZmdldHNfdW5sb2NrZWQoKQotQEAgLTQ3LDE1ICs0NywxNSBAQCBpbnQgc2VsYWJlbF9zZXJ2aWNl X2luaXQoc3RydWN0IHNlbGFiZWxfaGFuZGxlICpyZWMsCitAQCAtNDEsMTkgKzQxLDE5IEBAIGlu dCBzZWxhYmVsX3NlcnZpY2VfaW5pdChzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKnJlYywKICAgKi8K ICAKICAvKgpAQCAtMzE5LDEyICszMjYsMjAgQEAgaW5kZXggNzQzZGJmOTQ3MmNmLi40MTgwZGY5 MmY0MDUgMTAwNjQ0CiArI2RlZmluZSBESUdFU1RfU1BFQ0ZJTEVfU0laRSBTSEEyNTZfSEFTSF9T SVpFCiAgI2RlZmluZSBESUdFU1RfRklMRVNfTUFYIDgKICBzdHJ1Y3Qgc2VsYWJlbF9kaWdlc3Qg ewotLQl1bnNpZ25lZCBjaGFyICpkaWdlc3Q7CS8qIFNIQTEgZGlnZXN0IG9mIHNwZWNmaWxlcyAq LworLQl1bnNpZ25lZCBjaGFyICpkaWdlc3Q7IC8qIFNIQTEgZGlnZXN0IG9mIHNwZWNmaWxlcyAq LworLQl1bnNpZ25lZCBjaGFyICpoYXNoYnVmOyAvKiBidWZmZXIgdG8gaG9sZCBzcGVjZmlsZXMg Ki8KKy0Jc2l6ZV90IGhhc2hidWZfc2l6ZTsgLyogYnVmZmVyIHNpemUgKi8KKy0Jc2l6ZV90IHNw ZWNmaWxlX2NudDsgLyogaG93IG1hbnkgc3BlY2ZpbGVzIHByb2Nlc3NlZCAqLworLQljaGFyICoq c3BlY2ZpbGVfbGlzdDsgLyogYW5kIHRoZWlyIG5hbWVzICovCiArCXVuc2lnbmVkIGNoYXIgKmRp Z2VzdDsJLyogU0hBMjU2IGRpZ2VzdCBvZiBzcGVjZmlsZXMgKi8KLSAJdW5zaWduZWQgY2hhciAq aGFzaGJ1ZjsJLyogYnVmZmVyIHRvIGhvbGQgc3BlY2ZpbGVzICovCi0gCXNpemVfdCBoYXNoYnVm X3NpemU7CS8qIGJ1ZmZlciBzaXplICovCi0gCXNpemVfdCBzcGVjZmlsZV9jbnQ7CS8qIGhvdyBt YW55IHNwZWNmaWxlcyBwcm9jZXNzZWQgKi8KLUBAIC0xMTEsNyArMTExLDcgQEAgc3RydWN0IHNl bGFiZWxfaGFuZGxlIHsKKysJdW5zaWduZWQgY2hhciAqaGFzaGJ1ZjsJLyogYnVmZmVyIHRvIGhv bGQgc3BlY2ZpbGVzICovCisrCXNpemVfdCBoYXNoYnVmX3NpemU7CS8qIGJ1ZmZlciBzaXplICov CisrCXNpemVfdCBzcGVjZmlsZV9jbnQ7CS8qIGhvdyBtYW55IHNwZWNmaWxlcyBwcm9jZXNzZWQg Ki8KKysJY2hhciAqKnNwZWNmaWxlX2xpc3Q7CS8qIGFuZCB0aGVpciBuYW1lcyAqLworIH07Cisg CisgZXh0ZXJuIGludCBkaWdlc3RfYWRkX3NwZWNmaWxlKHN0cnVjdCBzZWxhYmVsX2RpZ2VzdCAq ZGlnZXN0LCBGSUxFICpmcCwKK0BAIC0xMDEsNyArMTAxLDcgQEAgc3RydWN0IHNlbGFiZWxfaGFu ZGxlIHsKICAJICovCiAgCWNoYXIgKnNwZWNfZmlsZTsKICAKQEAgLTMzNCwzMyArMzQ5LDM3IEBA IGluZGV4IDc0M2RiZjk0NzJjZi4uNDE4MGRmOTJmNDA1IDEwMDY0NAogIH07CiAgCiBkaWZmIC0t Z2l0IGEvbGlic2VsaW51eC9zcmMvbGFiZWxfc3VwcG9ydC5jIGIvbGlic2VsaW51eC9zcmMvbGFi ZWxfc3VwcG9ydC5jCi1pbmRleCA5NzhiYTgyOGMxNTkuLmRhYmEyNjk0MWFlNyAxMDA2NDQKK2lu ZGV4IGNjNWMyNzllODhmYS4uYWVhNWVkMTliNDVhIDEwMDY0NAogLS0tIGEvbGlic2VsaW51eC9z cmMvbGFiZWxfc3VwcG9ydC5jCiArKysgYi9saWJzZWxpbnV4L3NyYy9sYWJlbF9zdXBwb3J0LmMK LUBAIC0xMjAsNyArMTIwLDcgQEAgaW50ICByZWFkX3NwZWNfZW50cmllcyhjaGFyICpsaW5lX2J1 Ziwgc2l6ZV90IG5yZWFkLCBjb25zdCBjaGFyICoqZXJyYnVmLCBpbnQgbnUKK0BAIC0xMzEsMjgg KzEzMSwyNyBAQCBpbnQgcmVhZF9zcGVjX2VudHJpZXMoY2hhciAqbGluZV9idWYsIHNpemVfdCBu cmVhZCwgY29uc3QgY2hhciAqKmVycmJ1ZiwKICAvKiBPbmNlIGFsbCB0aGUgc3BlY2ZpbGVzIGFy ZSBpbiB0aGUgaGFzaF9idWYsIGdlbmVyYXRlIHRoZSBoYXNoLiAqLwotIHZvaWQgIGRpZ2VzdF9n ZW5faGFzaChzdHJ1Y3Qgc2VsYWJlbF9kaWdlc3QgKmRpZ2VzdCkKKyB2b2lkIGRpZ2VzdF9nZW5f aGFzaChzdHJ1Y3Qgc2VsYWJlbF9kaWdlc3QgKmRpZ2VzdCkKICB7CiAtCVNoYTFDb250ZXh0IGNv bnRleHQ7CiArCVNoYTI1NkNvbnRleHQgY29udGV4dDsKICAJc2l6ZV90IHJlbWFpbmluZ19zaXpl OwogIAljb25zdCB1bnNpZ25lZCBjaGFyICpwdHI7CistCWNvbnN0IHVpbnQzMl90IGNodW5rU2l6 ZSA9IFVJTlQzMl9NQVggPj4gMzsKICAKLUBAIC0xMjgsMTkgKzEyOCwxOSBAQCB2b2lkICBkaWdl c3RfZ2VuX2hhc2goc3RydWN0IHNlbGFiZWxfZGlnZXN0ICpkaWdlc3QpCisgCS8qIElmIFNFTEFC RUxfT1BUX0RJR0VTVCBub3Qgc2V0IHRoZW4ganVzdCByZXR1cm4gKi8KICAJaWYgKCFkaWdlc3Qp CiAgCQlyZXR1cm47CiAgCiAtCVNoYTFJbml0aWFsaXNlKCZjb250ZXh0KTsKICsJU2hhMjU2SW5p dGlhbGlzZSgmY29udGV4dCk7CiAgCi0gCS8qIFByb2Nlc3MgaW4gYmxvY2tzIG9mIFVJTlQzMl9N QVggYnl0ZXMgKi8KKyAJLyogUHJvY2VzcyBpbiBibG9ja3Mgb2YgY2h1bmtTaXplIGJ5dGVzICov CiAgCXJlbWFpbmluZ19zaXplID0gZGlnZXN0LT5oYXNoYnVmX3NpemU7CiAgCXB0ciA9IGRpZ2Vz dC0+aGFzaGJ1ZjsKLSAJd2hpbGUgKHJlbWFpbmluZ19zaXplID4gVUlOVDMyX01BWCkgewotLQkJ U2hhMVVwZGF0ZSgmY29udGV4dCwgcHRyLCBVSU5UMzJfTUFYKTsKKy0Jd2hpbGUgKHJlbWFpbmlu Z19zaXplID4gY2h1bmtTaXplKSB7CistCQlTaGExVXBkYXRlKCZjb250ZXh0LCBwdHIsIGNodW5r U2l6ZSk7CistCQlyZW1haW5pbmdfc2l6ZSAtPSBjaHVua1NpemU7CistCQlwdHIgKz0gY2h1bmtT aXplOworKwl3aGlsZSAocmVtYWluaW5nX3NpemUgPiBVSU5UMzJfTUFYKSB7CiArCQlTaGEyNTZV cGRhdGUoJmNvbnRleHQsIHB0ciwgVUlOVDMyX01BWCk7Ci0gCQlyZW1haW5pbmdfc2l6ZSAtPSBV SU5UMzJfTUFYOwotIAkJcHRyICs9IFVJTlQzMl9NQVg7CisrCQlyZW1haW5pbmdfc2l6ZSAtPSBV SU5UMzJfTUFYOworKwkJcHRyICs9IFVJTlQzMl9NQVg7CiAgCX0KIC0JU2hhMVVwZGF0ZSgmY29u dGV4dCwgcHRyLCByZW1haW5pbmdfc2l6ZSk7CiArCVNoYTI1NlVwZGF0ZSgmY29udGV4dCwgcHRy LCByZW1haW5pbmdfc2l6ZSk7CkBAIC0zNzEsMTkgKzM5MCwxOSBAQCBpbmRleCA5NzhiYTgyOGMx NTkuLmRhYmEyNjk0MWFlNyAxMDA2NDQKICAJZGlnZXN0LT5oYXNoYnVmID0gTlVMTDsKICB9CiBk aWZmIC0tZ2l0IGEvbGlic2VsaW51eC9zcmMvc2VsaW51eF9yZXN0b3JlY29uLmMgYi9saWJzZWxp bnV4L3NyYy9zZWxpbnV4X3Jlc3RvcmVjb24uYwotaW5kZXggYmM2ZWQ5MzVhNGFkLi45M2JkNzc3 OTI0OWIgMTAwNjQ0CitpbmRleCBiMzRkOGU2MGJiNWIuLmQ0OGQ1YTgzZWQ2ZSAxMDA2NDQKIC0t LSBhL2xpYnNlbGludXgvc3JjL3NlbGludXhfcmVzdG9yZWNvbi5jCiArKysgYi9saWJzZWxpbnV4 L3NyYy9zZWxpbnV4X3Jlc3RvcmVjb24uYwotQEAgLTM3LDcgKzM3LDcgQEAKK0BAIC0zOCw3ICsz OCw3IEBACiAgI2luY2x1ZGUgImNhbGxiYWNrcy5oIgogICNpbmNsdWRlICJzZWxpbnV4X2ludGVy bmFsLmgiCiAgI2luY2x1ZGUgImxhYmVsX2ZpbGUuaCIKIC0jaW5jbHVkZSAic2hhMS5oIgogKyNp bmNsdWRlICJzaGEyNTYuaCIKICAKLSAjZGVmaW5lIFNUQVJfQ09VTlQgMTAyNAotIAotQEAgLTMw Niw3ICszMDYsNyBAQCBzdGF0aWMgdWludDY0X3QgZXhjbHVkZV9ub25fc2VjbGFiZWxfbW91bnRz KHZvaWQpCisgc3RhdGljIHN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqZmNfc2VoYW5kbGUgPSBOVUxM OworIHN0YXRpYyBib29sIHNlbGFiZWxfbm9fZGlnZXN0OworQEAgLTM2MCw3ICszNjAsNyBAQCBz dGF0aWMgdWludDY0X3QgZXhjbHVkZV9ub25fc2VjbGFiZWxfbW91bnRzKHZvaWQpCiAgc3RhdGlj IGludCBhZGRfeGF0dHJfZW50cnkoY29uc3QgY2hhciAqZGlyZWN0b3J5LCBib29sIGRlbGV0ZV9u b25tYXRjaCwKICAJCQkgICBib29sIGRlbGV0ZV9hbGwpCiAgewpAQCAtMzkyLDcgKzQxMSw3IEBA IGluZGV4IGJjNmVkOTM1YTRhZC4uOTNiZDc3NzkyNDliIDEwMDY0NAogIAlzaXplX3QgaSwgZGln ZXN0X2xlbiA9IDA7CiAgCWludCByYzsKICAJZW51bSBkaWdlc3RfcmVzdWx0IGRpZ2VzdF9yZXN1 bHQ7Ci1AQCAtMzMwLDE1ICszMzAsMTUgQEAgc3RhdGljIGludCBhZGRfeGF0dHJfZW50cnkoY29u c3QgY2hhciAqZGlyZWN0b3J5LCBib29sIGRlbGV0ZV9ub25tYXRjaCwKK0BAIC0zODUsMTUgKzM4 NSwxNSBAQCBzdGF0aWMgaW50IGFkZF94YXR0cl9lbnRyeShjb25zdCBjaGFyICpkaXJlY3Rvcnks IGJvb2wgZGVsZXRlX25vbm1hdGNoLAogIAl9CiAgCiAgCS8qIENvbnZlcnQgZW50cnkgdG8gYSBo ZXggZW5jb2RlZCBzdHJpbmcuICovCkBAIC00MTEsNyArNDMwLDcgQEAgaW5kZXggYmM2ZWQ5MzVh NGFkLi45M2JkNzc3OTI0OWIgMTAwNjQ0CiAgCiAgCWRpZ2VzdF9yZXN1bHQgPSBtYXRjaCA/IE1B VENIIDogTk9NQVRDSDsKICAKLUBAIC0zNTgsNyArMzU4LDcgQEAgc3RhdGljIGludCBhZGRfeGF0 dHJfZW50cnkoY29uc3QgY2hhciAqZGlyZWN0b3J5LCBib29sIGRlbGV0ZV9ub25tYXRjaCwKK0BA IC00MTQsNyArNDE0LDcgQEAgc3RhdGljIGludCBhZGRfeGF0dHJfZW50cnkoY29uc3QgY2hhciAq ZGlyZWN0b3J5LCBib29sIGRlbGV0ZV9ub25tYXRjaCwKICAJLyogTm93IGFkZCBlbnRyaWVzIHRv IGxpbmsgbGlzdC4gKi8KICAJbmV3X2VudHJ5ID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgZGlyX3hh dHRyKSk7CiAgCWlmICghbmV3X2VudHJ5KSB7CkBAIC00MjAsNyArNDM5LDcgQEAgaW5kZXggYmM2 ZWQ5MzVhNGFkLi45M2JkNzc3OTI0OWIgMTAwNjQ0CiAgCQlnb3RvIG9vbTsKICAJfQogIAluZXdf ZW50cnktPm5leHQgPSBOVUxMOwotQEAgLTM2NiwxNSArMzY2LDE1IEBAIHN0YXRpYyBpbnQgYWRk X3hhdHRyX2VudHJ5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gs CitAQCAtNDIyLDExICs0MjIsMTcgQEAgc3RhdGljIGludCBhZGRfeGF0dHJfZW50cnkoY29uc3Qg Y2hhciAqZGlyZWN0b3J5LCBib29sIGRlbGV0ZV9ub25tYXRjaCwKICAJbmV3X2VudHJ5LT5kaXJl Y3RvcnkgPSBzdHJkdXAoZGlyZWN0b3J5KTsKICAJaWYgKCFuZXdfZW50cnktPmRpcmVjdG9yeSkg ewogIAkJZnJlZShuZXdfZW50cnkpOwpAQCAtNDI5LDQ5ICs0NDgsMTEyIEBAIGluZGV4IGJjNmVk OTM1YTRhZC4uOTNiZDc3NzkyNDliIDEwMDY0NAogIAkJZ290byBvb207CiAgCX0KICAKLS0JbmV3 X2VudHJ5LT5kaWdlc3QgPSBzdHJkdXAoc2hhMV9idWYpOworLQluZXdfZW50cnktPmRpZ2VzdCA9 IHNoYTFfYnVmOwogKwluZXdfZW50cnktPmRpZ2VzdCA9IHN0cmR1cChzaGEyNTZfYnVmKTsKLSAJ aWYgKCFuZXdfZW50cnktPmRpZ2VzdCkgewotIAkJZnJlZShuZXdfZW50cnktPmRpcmVjdG9yeSk7 Ci0gCQlmcmVlKG5ld19lbnRyeSk7Ci0tCQlmcmVlKHNoYTFfYnVmKTsKKysJaWYgKCFuZXdfZW50 cnktPmRpZ2VzdCkgeworKwkJZnJlZShuZXdfZW50cnktPmRpcmVjdG9yeSk7CisrCQlmcmVlKG5l d19lbnRyeSk7CiArCQlmcmVlKHNoYTI1Nl9idWYpOwotIAkJZ290byBvb207Ci0gCX0KKysJCWdv dG8gb29tOworKwl9CiAgCi1AQCAtMzg4LDcgKzM4OCw3IEBAIHN0YXRpYyBpbnQgYWRkX3hhdHRy X2VudHJ5KGNvbnN0IGNoYXIgKmRpcmVjdG9yeSwgYm9vbCBkZWxldGVfbm9ubWF0Y2gsCisgCW5l d19lbnRyeS0+cmVzdWx0ID0gZGlnZXN0X3Jlc3VsdDsKKyAKK0BAIC00MzcsNyArNDQzLDcgQEAg c3RhdGljIGludCBhZGRfeGF0dHJfZW50cnkoY29uc3QgY2hhciAqZGlyZWN0b3J5LCBib29sIGRl bGV0ZV9ub25tYXRjaCwKKyAJCWRpcl94YXR0cl9sYXN0LT5uZXh0ID0gbmV3X2VudHJ5OwogIAkJ ZGlyX3hhdHRyX2xhc3QgPSBuZXdfZW50cnk7CiAgCX0KLSAKLS0JZnJlZShzaGExX2J1Zik7Cist CiArCWZyZWUoc2hhMjU2X2J1Zik7CiAgCXJldHVybiAwOwogIAogIG9vbToKLUBAIC03NzgsNyAr Nzc4LDcgQEAgZXJyOgorQEAgLTg5MSw2ICs4OTcsMTEgQEAgZXJyOgorIAlnb3RvIG91dDE7Cisg fQorIAorK3N0cnVjdCBkaXJfaGFzaF9ub2RlIHsKKysJY2hhciAqcGF0aDsKKysJdWludDhfdCBk aWdlc3RbU0hBMjU2X0hBU0hfU0laRV07CisrCXN0cnVjdCBkaXJfaGFzaF9ub2RlICpuZXh0Owor K307CisgLyoKKyAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGRpZ2VzdCBvZiBhbGwgcGFydGlhbCBt YXRjaGVkIGNvbnRleHRzIGlzIHRoZSBzYW1lIGFzCisgICogdGhlIG9uZSBzYXZlZCBieSBzZXR4 YXR0ci4gT3RoZXJ3aXNlIHJldHVybnMgZmFsc2UgYW5kIHNldHMgQGhhdmVfZGlnZXN0CitAQCAt ODk4LDcgKzkwOSw3IEBAIGVycjoKKyAgKiByZWxhYmVsaW5nIHRoaXMgZGlyZWN0b3J5LgorICAq LworIHN0YXRpYyBib29sIGNoZWNrX2NvbnRleHRfbWF0Y2hfZm9yX2Rpcihjb25zdCBjaGFyICpw YXRobmFtZSwKKy0JCQkJCXVpbnQ4X3QgZGlnZXN0X291dFtTSEExX0hBU0hfU0laRV0sCisrCQkJ CQl1aW50OF90IGRpZ2VzdF9vdXRbU0hBMjU2X0hBU0hfU0laRV0sCisgCQkJCQlib29sICpoYXZl X2RpZ2VzdCkKKyB7CisgCWJvb2wgc3RhdHVzOworQEAgLTkxOCw4ICs5MjksOCBAQCBzdGF0aWMg Ym9vbCBjaGVja19jb250ZXh0X21hdGNoX2Zvcl9kaXIoY29uc3QgY2hhciAqcGF0aG5hbWUsCiAg Ci0gc3RydWN0IGRpcl9oYXNoX25vZGUgewotIAljaGFyICpwYXRoOworIAkvKiBTYXZlIGRpZ2Vz dCBvZiBhbGwgbWF0Y2hlZCBjb250ZXh0cyBmb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiAqLwor IAlpZiAoY2FsY3VsYXRlZF9kaWdlc3QpIHsKKy0JCWFzc2VydChkaWdlc3RfbGVuID09IFNIQTFf SEFTSF9TSVpFKTsKKy0JCW1lbWNweShkaWdlc3Rfb3V0LCBjYWxjdWxhdGVkX2RpZ2VzdCwgU0hB MV9IQVNIX1NJWkUpOworKwkJYXNzZXJ0KGRpZ2VzdF9sZW4gPT0gU0hBMjU2X0hBU0hfU0laRSk7 CisrCQltZW1jcHkoZGlnZXN0X291dCwgY2FsY3VsYXRlZF9kaWdlc3QsIFNIQTI1Nl9IQVNIX1NJ WkUpOworIAkJKmhhdmVfZGlnZXN0ID0gdHJ1ZTsKKyAJfQorIAorQEAgLTkzNCw3ICs5NDUsNyBA QCBzdHJ1Y3Qgd2Fsa19sZXZlbCB7CisgCWRldl90IGRldjsKKyAJaW5vX3QgaW5vOworIAlzaXpl X3QgcGF0aGxlbjsKIC0JdWludDhfdCBkaWdlc3RbU0hBMV9IQVNIX1NJWkVdOwogKwl1aW50OF90 IGRpZ2VzdFtTSEEyNTZfSEFTSF9TSVpFXTsKLSAJc3RydWN0IGRpcl9oYXNoX25vZGUgKm5leHQ7 CisgCWJvb2wgd3JpdGVfZGlnZXN0OwogIH07Ci0gLyoKLUBAIC0xMjg0LDcgKzEyODQsNyBAQCBz dGF0aWMgaW50IHNlbGludXhfcmVzdG9yZWNvbl9jb21tb24oY29uc3QgY2hhciAqcGF0aG5hbWVf b3JpZywKLSAJCQlpZiAoc2V0eGF0dHIoY3VycmVudC0+cGF0aCwKLSAJCQkgICAgUkVTVE9SRUNP Tl9QQVJUSUFMX01BVENIX0RJR0VTVCwKLSAJCQkgICAgY3VycmVudC0+ZGlnZXN0LAotLQkJCSAg ICBTSEExX0hBU0hfU0laRSwgMCkgPCAwKSB7Ci0rCQkJICAgIFNIQTI1Nl9IQVNIX1NJWkUsIDAp IDwgMCkgeworIAorQEAgLTEyMjcsNyArMTIzOCw3IEBAIHN0YXRpYyBpbnQgd2Fsa19uZXh0KHN0 cnVjdCByZXN0X3N0YXRlICpzdGF0ZSwgaW50ICplbnRfZmQsIGludCAqcmRfZmQsCisgCQkJICAg ICFzdGF0ZS0+c2tpcHBlZF9lcnJvcnMgJiYKKyAJCQkgICAgZnNldHhhdHRyKGRpcmZkKHRvcC0+ ZGlycCksCisgCQkJCSAgICAgIFJFU1RPUkVDT05fUEFSVElBTF9NQVRDSF9ESUdFU1QsCistCQkJ CSAgICAgIHRvcC0+ZGlnZXN0LCBTSEExX0hBU0hfU0laRSwgMCkgPCAwKSB7CisrCQkJCSAgICAg IHRvcC0+ZGlnZXN0LCBTSEEyNTZfSEFTSF9TSVpFLCAwKSA8IDApIHsKICAJCQkJc2VsaW51eF9s b2coU0VMSU5VWF9FUlJPUiwKLSAJCQkJCSAgICAic2V0eGF0dHIgZmFpbGVkOiAlczogJW1cbiIs Ci0gCQkJCQkgICAgY3VycmVudC0+cGF0aCk7CisgCQkJCQkgICAgIkNvdWxkIG5vdCBzZXQgZGln ZXN0IG9uICVzOiAlbVxuIiwKKyAJCQkJCSAgICBzdGF0ZS0+cGF0aGJ1Zik7CitAQCAtMTM5OCw3 ICsxNDA5LDcgQEAgc3RhdGljIHZvaWQgKnNlbGludXhfcmVzdG9yZWNvbl90aHJlYWQodm9pZCAq YXJnKQorIAkJCQljb250aW51ZTsKKyAJCQl9CisgCistCQkJdWludDhfdCBkaWdlc3RbU0hBMV9I QVNIX1NJWkVdOworKwkJCXVpbnQ4X3QgZGlnZXN0W1NIQTI1Nl9IQVNIX1NJWkVdOworIAkJCWJv b2wgaGF2ZV9kaWdlc3QgPSBmYWxzZTsKKyAKKyAJCQlpZiAoZGVzY2VuZCAmJiBzdGF0ZS0+c2V0 cmVzdG9yZWNvbmRpZ2VzdCAmJgorQEAgLTE0MzAsNyArMTQ0MSw3IEBAIHN0YXRpYyB2b2lkICpz ZWxpbnV4X3Jlc3RvcmVjb25fdGhyZWFkKHZvaWQgKmFyZykKKyAJCQkJCQkmc3RhdGUtPnN0YWNr W3N0YXRlLT5kZXB0aCAtIDFdOworIAorIAkJCQkJbWVtY3B5KHdsLT5kaWdlc3QsIGRpZ2VzdCwK Ky0JCQkJCSAgICAgICBTSEExX0hBU0hfU0laRSk7CisrCQkJCQkgICAgICAgU0hBMjU2X0hBU0hf U0laRSk7CisgCQkJCQl3bC0+d3JpdGVfZGlnZXN0ID0gdHJ1ZTsKKyAJCQkJfQorIAkJCX0KK0BA IC0xNzY4LDYgKzE3NzksMTEgQEAgc3RhdGljIGludCBzZWxpbnV4X3Jlc3RvcmVjb25fY29tbW9u KGNvbnN0IGNoYXIgKnBhdGhuYW1lX29yaWcsCisgCWlmIChzdGF0ZS5zYXZlZF9lcnJubykKKyAJ CWdvdG8gb3V0OworIAorKwkvKgorKwkgKiBOb3RlOiBEaWdlc3Qgd3JpdGluZyBub3cgaGFwcGVu cyBpbiB3YWxrX3BvcCgpIGR1cmluZyB0cmF2ZXJzYWwsCisrCSAqIG5vdCBhdCB0aGUgZW5kLiBU aGlzIEZUUy1iYXNlZCBjb2RlIGlzIG9ic29sZXRlLgorKwkgKi8KKysKKyAJc2tpcHBlZF9lcnJv cnMgPSBzdGF0ZS5za2lwcGVkX2Vycm9yczsKKyAKKyBvdXQ6CiBkaWZmIC0tZ2l0IGEvbGlic2Vs aW51eC9zcmMvc2hhMS5jIGIvbGlic2VsaW51eC9zcmMvc2hhMS5jCiBkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDQ1MmIwY2MyYWQ1YS4uMDAwMDAwMDAwMDAwCitpbmRleCAyNzk2MjVl ZTE3N2YuLjAwMDAwMDAwMDAwMAogLS0tIGEvbGlic2VsaW51eC9zcmMvc2hhMS5jCiArKysgL2Rl di9udWxsCi1AQCAtMSwyMjMgKzAsMCBAQAorQEAgLTEsMjg0ICswLDAgQEAKIC0vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLS8v ICBMaWJTaGExCiAtLy8KQEAgLTUwNiwxMCArNTg4LDkgQEAgaW5kZXggNDUyYjBjYzJhZDVhLi4w MDAwMDAwMDAwMDAKIC0vLyAgVFlQRVMKIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLQotLXR5cGVkZWYgdW5pb24KLS17Ci0t ICAgIHVpbnQ4X3QgICAgIGMgWzY0XTsKLS0gICAgdWludDMyX3QgICAgbCBbMTZdOworLXR5cGVk ZWYgdW5pb24geworLQl1aW50OF90IGNbNjRdOworLQl1aW50MzJfdCBsWzE2XTsKIC19IENIQVI2 NExPTkcxNjsKIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNTE5LDc5ICs2MDAsMTU3IEBAIGluZGV4IDQ1MmIwY2My YWQ1YS4uMDAwMDAwMDAwMDAwCiAtI2RlZmluZSByb2wodmFsdWUsIGJpdHMpICgoKHZhbHVlKSA8 PCAoYml0cykpIHwgKCh2YWx1ZSkgPj4gKDMyIC0gKGJpdHMpKSkpCiAtCiAtLy8gYmxrMCgpIGFu ZCBibGsoKSBwZXJmb3JtIHRoZSBpbml0aWFsIGV4cGFuZC4KLS0jZGVmaW5lIGJsazAoaSkgKGJs b2NrLT5sW2ldID0gKHJvbChibG9jay0+bFtpXSwyNCkmMHhGRjAwRkYwMCkgXAotLSAgICB8KHJv bChibG9jay0+bFtpXSw4KSYweDAwRkYwMEZGKSkKKy0jZGVmaW5lIGJsazAoaSkgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQkoYmxvY2stPmxbaV0gPSAo cm9sKGJsb2NrLT5sW2ldLCAyNCkgJiAweEZGMDBGRjAwKSB8IFwKKy0JCSAgICAgICAocm9sKGJs b2NrLT5sW2ldLCA4KSAmIDB4MDBGRjAwRkYpKQogLQotLSNkZWZpbmUgYmxrKGkpIChibG9jay0+ bFtpJjE1XSA9IHJvbChibG9jay0+bFsoaSsxMykmMTVdXmJsb2NrLT5sWyhpKzgpJjE1XSBcCi0t ICAgIF5ibG9jay0+bFsoaSsyKSYxNV1eYmxvY2stPmxbaSYxNV0sMSkpCistI2RlZmluZSBibGso aSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAorLQkoYmxvY2stPmxbaSAmIDE1XSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXAorLQkJIHJvbChibG9jay0+bFsoaSArIDEzKSAmIDE1XSBeIGJsb2Nr LT5sWyhpICsgOCkgJiAxNV0gXiBcCistCQkJICAgICBibG9jay0+bFsoaSArIDIpICYgMTVdIF4g YmxvY2stPmxbaSAmIDE1XSwgXAorLQkJICAgICAxKSkKIC0KIC0vLyAoUjArUjEpLCBSMiwgUjMs IFI0IGFyZSB0aGUgZGlmZmVyZW50IG9wZXJhdGlvbnMgdXNlZCBpbiBTSEExCi0tI2RlZmluZSBS MCh2LHcseCx5LHosaSkgIGRvIHsgeiArPSAoKHcmKHheeSkpXnkpICAgICArIGJsazAoaSkrIDB4 NUE4Mjc5OTkgKyByb2wodiw1KTsgdz1yb2wodywzMCk7IH0gd2hpbGUgKDApCi0tI2RlZmluZSBS MSh2LHcseCx5LHosaSkgIGRvIHsgeiArPSAoKHcmKHheeSkpXnkpICAgICArIGJsayhpKSArIDB4 NUE4Mjc5OTkgKyByb2wodiw1KTsgdz1yb2wodywzMCk7IH0gd2hpbGUgKDApCi0tI2RlZmluZSBS Mih2LHcseCx5LHosaSkgIGRvIHsgeiArPSAod154XnkpICAgICAgICAgICArIGJsayhpKSArIDB4 NkVEOUVCQTEgKyByb2wodiw1KTsgdz1yb2wodywzMCk7IH0gd2hpbGUgKDApCi0tI2RlZmluZSBS Myh2LHcseCx5LHosaSkgIGRvIHsgeiArPSAoKCh3fHgpJnkpfCh3JngpKSArIGJsayhpKSArIDB4 OEYxQkJDREMgKyByb2wodiw1KTsgdz1yb2wodywzMCk7IH0gd2hpbGUgKDApCi0tI2RlZmluZSBS NCh2LHcseCx5LHosaSkgIGRvIHsgeiArPSAod154XnkpICAgICAgICAgICArIGJsayhpKSArIDB4 Q0E2MkMxRDYgKyByb2wodiw1KTsgdz1yb2wodywzMCk7IH0gd2hpbGUgKDApCi0tCistI2RlZmlu ZSBSMCh2LCB3LCB4LCB5LCB6LCBpKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCistCWRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JCXogKz0gKCh3ICYgKHggXiB5KSkg XiB5KSArIGJsazAoaSkgKyAweDVBODI3OTk5ICsgcm9sKHYsIDUpOyBcCistCQl3ID0gcm9sKHcs IDMwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQl9 IHdoaWxlICgwKQorLSNkZWZpbmUgUjEodiwgdywgeCwgeSwgeiwgaSkgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCWRvIHsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQkJeiAr PSAoKHcgJiAoeCBeIHkpKSBeIHkpICsgYmxrKGkpICsgMHg1QTgyNzk5OSArIHJvbCh2LCA1KTsg XAorLQkJdyA9IHJvbCh3LCAzMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorLQl9IHdoaWxlICgwKQorLSNkZWZpbmUgUjIodiwgdywgeCwgeSwgeiwgaSkg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQlkbyB7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQl6ICs9 ICh3IF4geCBeIHkpICsgYmxrKGkpICsgMHg2RUQ5RUJBMSArIHJvbCh2LCA1KTsgXAorLQkJdyA9 IHJvbCh3LCAzMCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JfSB3 aGlsZSAoMCkKKy0jZGVmaW5lIFIzKHYsIHcsIHgsIHksIHosIGkpICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JZG8geyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQkJeiArPSAoKCh3IHwgeCkg JiB5KSB8ICh3ICYgeCkpICsgYmxrKGkpICsgMHg4RjFCQkNEQyArIFwKKy0JCSAgICAgcm9sKHYs IDUpOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQl3ID0gcm9s KHcsIDMwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorLQl9IHdo aWxlICgwKQorLSNkZWZpbmUgUjQodiwgdywgeCwgeSwgeiwgaSkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorLQlkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQl6ICs9ICh3IF4geCBeIHkpICsgYmxr KGkpICsgMHhDQTYyQzFENiArIHJvbCh2LCA1KTsgXAorLQkJdyA9IHJvbCh3LCAzMCk7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0JfSB3aGlsZSAoMCkKIC0KIC0vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v LwogLS8vICBUcmFuc2Zvcm1GdW5jdGlvbgogLS8vCiAtLy8gIEhhc2ggYSBzaW5nbGUgNTEyLWJp dCBibG9jay4gVGhpcyBpcyB0aGUgY29yZSBvZiB0aGUgYWxnb3JpdGhtCiAtLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS1pZ25v cmVfdW5zaWduZWRfb3ZlcmZsb3dfCi0tc3RhdGljCi0tdm9pZAotLSAgICBUcmFuc2Zvcm1GdW5j dGlvbgotLSAgICAoCi0tICAgICAgICB1aW50MzJfdCAgICAgICAgICAgIHN0YXRlWzVdLAotLSAg ICAgICAgY29uc3QgdWludDhfdCAgICAgICBidWZmZXJbNjRdCi0tICAgICkKKy1pZ25vcmVfdW5z aWduZWRfb3ZlcmZsb3dfIHN0YXRpYyB2b2lkCistVHJhbnNmb3JtRnVuY3Rpb24odWludDMyX3Qg c3RhdGVbNV0sIGNvbnN0IHVpbnQ4X3QgYnVmZmVyWzY0XSkKIC17Ci0tICAgIHVpbnQzMl90ICAg ICAgICAgICAgYTsKLS0gICAgdWludDMyX3QgICAgICAgICAgICBiOwotLSAgICB1aW50MzJfdCAg ICAgICAgICAgIGM7Ci0tICAgIHVpbnQzMl90ICAgICAgICAgICAgZDsKLS0gICAgdWludDMyX3Qg ICAgICAgICAgICBlOwotLSAgICBDSEFSNjRMT05HMTYgICAgICAgIHdvcmtzcGFjZTsKLS0gICAg Q0hBUjY0TE9ORzE2KiAgICAgICBibG9jayA9ICZ3b3Jrc3BhY2U7CistCXVpbnQzMl90IGE7Cist CXVpbnQzMl90IGI7CistCXVpbnQzMl90IGM7CistCXVpbnQzMl90IGQ7CistCXVpbnQzMl90IGU7 CistCUNIQVI2NExPTkcxNiB3b3Jrc3BhY2U7CistCUNIQVI2NExPTkcxNiAqYmxvY2sgPSAmd29y a3NwYWNlOwogLQotLSAgICBtZW1jcHkoYmxvY2ssIGJ1ZmZlciwgNjQpOworLQltZW1jcHkoYmxv Y2ssIGJ1ZmZlciwgNjQpOwogLQotLSAgICAvLyBDb3B5IGNvbnRleHQtPnN0YXRlW10gdG8gd29y a2luZyB2YXJzCi0tICAgIGEgPSBzdGF0ZVswXTsKLS0gICAgYiA9IHN0YXRlWzFdOwotLSAgICBj ID0gc3RhdGVbMl07Ci0tICAgIGQgPSBzdGF0ZVszXTsKLS0gICAgZSA9IHN0YXRlWzRdOworLQkv LyBDb3B5IGNvbnRleHQtPnN0YXRlW10gdG8gd29ya2luZyB2YXJzCistCWEgPSBzdGF0ZVswXTsK Ky0JYiA9IHN0YXRlWzFdOworLQljID0gc3RhdGVbMl07CistCWQgPSBzdGF0ZVszXTsKKy0JZSA9 IHN0YXRlWzRdOwogLQotLSAgICAvLyA0IHJvdW5kcyBvZiAyMCBvcGVyYXRpb25zIGVhY2guIExv b3AgdW5yb2xsZWQuCi0tICAgIFIwKGEsYixjLGQsZSwgMCk7IFIwKGUsYSxiLGMsZCwgMSk7IFIw KGQsZSxhLGIsYywgMik7IFIwKGMsZCxlLGEsYiwgMyk7Ci0tICAgIFIwKGIsYyxkLGUsYSwgNCk7 IFIwKGEsYixjLGQsZSwgNSk7IFIwKGUsYSxiLGMsZCwgNik7IFIwKGQsZSxhLGIsYywgNyk7Ci0t ICAgIFIwKGMsZCxlLGEsYiwgOCk7IFIwKGIsYyxkLGUsYSwgOSk7IFIwKGEsYixjLGQsZSwxMCk7 IFIwKGUsYSxiLGMsZCwxMSk7Ci0tICAgIFIwKGQsZSxhLGIsYywxMik7IFIwKGMsZCxlLGEsYiwx Myk7IFIwKGIsYyxkLGUsYSwxNCk7IFIwKGEsYixjLGQsZSwxNSk7Ci0tICAgIFIxKGUsYSxiLGMs ZCwxNik7IFIxKGQsZSxhLGIsYywxNyk7IFIxKGMsZCxlLGEsYiwxOCk7IFIxKGIsYyxkLGUsYSwx OSk7Ci0tICAgIFIyKGEsYixjLGQsZSwyMCk7IFIyKGUsYSxiLGMsZCwyMSk7IFIyKGQsZSxhLGIs YywyMik7IFIyKGMsZCxlLGEsYiwyMyk7Ci0tICAgIFIyKGIsYyxkLGUsYSwyNCk7IFIyKGEsYixj LGQsZSwyNSk7IFIyKGUsYSxiLGMsZCwyNik7IFIyKGQsZSxhLGIsYywyNyk7Ci0tICAgIFIyKGMs ZCxlLGEsYiwyOCk7IFIyKGIsYyxkLGUsYSwyOSk7IFIyKGEsYixjLGQsZSwzMCk7IFIyKGUsYSxi LGMsZCwzMSk7Ci0tICAgIFIyKGQsZSxhLGIsYywzMik7IFIyKGMsZCxlLGEsYiwzMyk7IFIyKGIs YyxkLGUsYSwzNCk7IFIyKGEsYixjLGQsZSwzNSk7Ci0tICAgIFIyKGUsYSxiLGMsZCwzNik7IFIy KGQsZSxhLGIsYywzNyk7IFIyKGMsZCxlLGEsYiwzOCk7IFIyKGIsYyxkLGUsYSwzOSk7Ci0tICAg IFIzKGEsYixjLGQsZSw0MCk7IFIzKGUsYSxiLGMsZCw0MSk7IFIzKGQsZSxhLGIsYyw0Mik7IFIz KGMsZCxlLGEsYiw0Myk7Ci0tICAgIFIzKGIsYyxkLGUsYSw0NCk7IFIzKGEsYixjLGQsZSw0NSk7 IFIzKGUsYSxiLGMsZCw0Nik7IFIzKGQsZSxhLGIsYyw0Nyk7Ci0tICAgIFIzKGMsZCxlLGEsYiw0 OCk7IFIzKGIsYyxkLGUsYSw0OSk7IFIzKGEsYixjLGQsZSw1MCk7IFIzKGUsYSxiLGMsZCw1MSk7 Ci0tICAgIFIzKGQsZSxhLGIsYyw1Mik7IFIzKGMsZCxlLGEsYiw1Myk7IFIzKGIsYyxkLGUsYSw1 NCk7IFIzKGEsYixjLGQsZSw1NSk7Ci0tICAgIFIzKGUsYSxiLGMsZCw1Nik7IFIzKGQsZSxhLGIs Yyw1Nyk7IFIzKGMsZCxlLGEsYiw1OCk7IFIzKGIsYyxkLGUsYSw1OSk7Ci0tICAgIFI0KGEsYixj LGQsZSw2MCk7IFI0KGUsYSxiLGMsZCw2MSk7IFI0KGQsZSxhLGIsYyw2Mik7IFI0KGMsZCxlLGEs Yiw2Myk7Ci0tICAgIFI0KGIsYyxkLGUsYSw2NCk7IFI0KGEsYixjLGQsZSw2NSk7IFI0KGUsYSxi LGMsZCw2Nik7IFI0KGQsZSxhLGIsYyw2Nyk7Ci0tICAgIFI0KGMsZCxlLGEsYiw2OCk7IFI0KGIs YyxkLGUsYSw2OSk7IFI0KGEsYixjLGQsZSw3MCk7IFI0KGUsYSxiLGMsZCw3MSk7Ci0tICAgIFI0 KGQsZSxhLGIsYyw3Mik7IFI0KGMsZCxlLGEsYiw3Myk7IFI0KGIsYyxkLGUsYSw3NCk7IFI0KGEs YixjLGQsZSw3NSk7Ci0tICAgIFI0KGUsYSxiLGMsZCw3Nik7IFI0KGQsZSxhLGIsYyw3Nyk7IFI0 KGMsZCxlLGEsYiw3OCk7IFI0KGIsYyxkLGUsYSw3OSk7CistCS8vIDQgcm91bmRzIG9mIDIwIG9w ZXJhdGlvbnMgZWFjaC4gTG9vcCB1bnJvbGxlZC4KKy0JUjAoYSwgYiwgYywgZCwgZSwgMCk7Cist CVIwKGUsIGEsIGIsIGMsIGQsIDEpOworLQlSMChkLCBlLCBhLCBiLCBjLCAyKTsKKy0JUjAoYywg ZCwgZSwgYSwgYiwgMyk7CistCVIwKGIsIGMsIGQsIGUsIGEsIDQpOworLQlSMChhLCBiLCBjLCBk LCBlLCA1KTsKKy0JUjAoZSwgYSwgYiwgYywgZCwgNik7CistCVIwKGQsIGUsIGEsIGIsIGMsIDcp OworLQlSMChjLCBkLCBlLCBhLCBiLCA4KTsKKy0JUjAoYiwgYywgZCwgZSwgYSwgOSk7CistCVIw KGEsIGIsIGMsIGQsIGUsIDEwKTsKKy0JUjAoZSwgYSwgYiwgYywgZCwgMTEpOworLQlSMChkLCBl LCBhLCBiLCBjLCAxMik7CistCVIwKGMsIGQsIGUsIGEsIGIsIDEzKTsKKy0JUjAoYiwgYywgZCwg ZSwgYSwgMTQpOworLQlSMChhLCBiLCBjLCBkLCBlLCAxNSk7CistCVIxKGUsIGEsIGIsIGMsIGQs IDE2KTsKKy0JUjEoZCwgZSwgYSwgYiwgYywgMTcpOworLQlSMShjLCBkLCBlLCBhLCBiLCAxOCk7 CistCVIxKGIsIGMsIGQsIGUsIGEsIDE5KTsKKy0JUjIoYSwgYiwgYywgZCwgZSwgMjApOworLQlS MihlLCBhLCBiLCBjLCBkLCAyMSk7CistCVIyKGQsIGUsIGEsIGIsIGMsIDIyKTsKKy0JUjIoYywg ZCwgZSwgYSwgYiwgMjMpOworLQlSMihiLCBjLCBkLCBlLCBhLCAyNCk7CistCVIyKGEsIGIsIGMs IGQsIGUsIDI1KTsKKy0JUjIoZSwgYSwgYiwgYywgZCwgMjYpOworLQlSMihkLCBlLCBhLCBiLCBj LCAyNyk7CistCVIyKGMsIGQsIGUsIGEsIGIsIDI4KTsKKy0JUjIoYiwgYywgZCwgZSwgYSwgMjkp OworLQlSMihhLCBiLCBjLCBkLCBlLCAzMCk7CistCVIyKGUsIGEsIGIsIGMsIGQsIDMxKTsKKy0J UjIoZCwgZSwgYSwgYiwgYywgMzIpOworLQlSMihjLCBkLCBlLCBhLCBiLCAzMyk7CistCVIyKGIs IGMsIGQsIGUsIGEsIDM0KTsKKy0JUjIoYSwgYiwgYywgZCwgZSwgMzUpOworLQlSMihlLCBhLCBi LCBjLCBkLCAzNik7CistCVIyKGQsIGUsIGEsIGIsIGMsIDM3KTsKKy0JUjIoYywgZCwgZSwgYSwg YiwgMzgpOworLQlSMihiLCBjLCBkLCBlLCBhLCAzOSk7CistCVIzKGEsIGIsIGMsIGQsIGUsIDQw KTsKKy0JUjMoZSwgYSwgYiwgYywgZCwgNDEpOworLQlSMyhkLCBlLCBhLCBiLCBjLCA0Mik7Cist CVIzKGMsIGQsIGUsIGEsIGIsIDQzKTsKKy0JUjMoYiwgYywgZCwgZSwgYSwgNDQpOworLQlSMyhh LCBiLCBjLCBkLCBlLCA0NSk7CistCVIzKGUsIGEsIGIsIGMsIGQsIDQ2KTsKKy0JUjMoZCwgZSwg YSwgYiwgYywgNDcpOworLQlSMyhjLCBkLCBlLCBhLCBiLCA0OCk7CistCVIzKGIsIGMsIGQsIGUs IGEsIDQ5KTsKKy0JUjMoYSwgYiwgYywgZCwgZSwgNTApOworLQlSMyhlLCBhLCBiLCBjLCBkLCA1 MSk7CistCVIzKGQsIGUsIGEsIGIsIGMsIDUyKTsKKy0JUjMoYywgZCwgZSwgYSwgYiwgNTMpOwor LQlSMyhiLCBjLCBkLCBlLCBhLCA1NCk7CistCVIzKGEsIGIsIGMsIGQsIGUsIDU1KTsKKy0JUjMo ZSwgYSwgYiwgYywgZCwgNTYpOworLQlSMyhkLCBlLCBhLCBiLCBjLCA1Nyk7CistCVIzKGMsIGQs IGUsIGEsIGIsIDU4KTsKKy0JUjMoYiwgYywgZCwgZSwgYSwgNTkpOworLQlSNChhLCBiLCBjLCBk LCBlLCA2MCk7CistCVI0KGUsIGEsIGIsIGMsIGQsIDYxKTsKKy0JUjQoZCwgZSwgYSwgYiwgYywg NjIpOworLQlSNChjLCBkLCBlLCBhLCBiLCA2Myk7CistCVI0KGIsIGMsIGQsIGUsIGEsIDY0KTsK Ky0JUjQoYSwgYiwgYywgZCwgZSwgNjUpOworLQlSNChlLCBhLCBiLCBjLCBkLCA2Nik7CistCVI0 KGQsIGUsIGEsIGIsIGMsIDY3KTsKKy0JUjQoYywgZCwgZSwgYSwgYiwgNjgpOworLQlSNChiLCBj LCBkLCBlLCBhLCA2OSk7CistCVI0KGEsIGIsIGMsIGQsIGUsIDcwKTsKKy0JUjQoZSwgYSwgYiwg YywgZCwgNzEpOworLQlSNChkLCBlLCBhLCBiLCBjLCA3Mik7CistCVI0KGMsIGQsIGUsIGEsIGIs IDczKTsKKy0JUjQoYiwgYywgZCwgZSwgYSwgNzQpOworLQlSNChhLCBiLCBjLCBkLCBlLCA3NSk7 CistCVI0KGUsIGEsIGIsIGMsIGQsIDc2KTsKKy0JUjQoZCwgZSwgYSwgYiwgYywgNzcpOworLQlS NChjLCBkLCBlLCBhLCBiLCA3OCk7CistCVI0KGIsIGMsIGQsIGUsIGEsIDc5KTsKIC0KLS0gICAg Ly8gQWRkIHRoZSB3b3JraW5nIHZhcnMgYmFjayBpbnRvIGNvbnRleHQuc3RhdGVbXQotLSAgICBz dGF0ZVswXSArPSBhOwotLSAgICBzdGF0ZVsxXSArPSBiOwotLSAgICBzdGF0ZVsyXSArPSBjOwot LSAgICBzdGF0ZVszXSArPSBkOwotLSAgICBzdGF0ZVs0XSArPSBlOworLQkvLyBBZGQgdGhlIHdv cmtpbmcgdmFycyBiYWNrIGludG8gY29udGV4dC5zdGF0ZVtdCistCXN0YXRlWzBdICs9IGE7Cist CXN0YXRlWzFdICs9IGI7CistCXN0YXRlWzJdICs9IGM7CistCXN0YXRlWzNdICs9IGQ7CistCXN0 YXRlWzRdICs9IGU7CiAtfQogLQogLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkBAIC02MDMsMjAgKzc2MiwxNiBAQCBpbmRleCA0 NTJiMGNjMmFkNWEuLjAwMDAwMDAwMDAwMAogLS8vCiAtLy8gIEluaXRpYWxpc2VzIGFuIFNIQTEg Q29udGV4dC4gVXNlIHRoaXMgdG8gaW5pdGlhbGlzZS9yZXNldCBhIGNvbnRleHQuCiAtLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8K LS12b2lkIAotLSAgICBTaGExSW5pdGlhbGlzZQotLSAgICAoCi0tICAgICAgICBTaGExQ29udGV4 dCogICAgICAgICAgICAgICAgQ29udGV4dAotLSAgICApCistdm9pZCBTaGExSW5pdGlhbGlzZShT aGExQ29udGV4dCAqQ29udGV4dCkKIC17Ci0tICAgIC8vIFNIQTEgaW5pdGlhbGl6YXRpb24gY29u c3RhbnRzCi0tICAgIENvbnRleHQtPlN0YXRlWzBdID0gMHg2NzQ1MjMwMTsKLS0gICAgQ29udGV4 dC0+U3RhdGVbMV0gPSAweEVGQ0RBQjg5OwotLSAgICBDb250ZXh0LT5TdGF0ZVsyXSA9IDB4OThC QURDRkU7Ci0tICAgIENvbnRleHQtPlN0YXRlWzNdID0gMHgxMDMyNTQ3NjsKLS0gICAgQ29udGV4 dC0+U3RhdGVbNF0gPSAweEMzRDJFMUYwOwotLSAgICBDb250ZXh0LT5Db3VudFswXSA9IDA7Ci0t ICAgIENvbnRleHQtPkNvdW50WzFdID0gMDsKKy0JLy8gU0hBMSBpbml0aWFsaXphdGlvbiBjb25z dGFudHMKKy0JQ29udGV4dC0+U3RhdGVbMF0gPSAweDY3NDUyMzAxOworLQlDb250ZXh0LT5TdGF0 ZVsxXSA9IDB4RUZDREFCODk7CistCUNvbnRleHQtPlN0YXRlWzJdID0gMHg5OEJBRENGRTsKKy0J Q29udGV4dC0+U3RhdGVbM10gPSAweDEwMzI1NDc2OworLQlDb250ZXh0LT5TdGF0ZVs0XSA9IDB4 QzNEMkUxRjA7CistCUNvbnRleHQtPkNvdW50WzBdID0gMDsKKy0JQ29udGV4dC0+Q291bnRbMV0g PSAwOwogLX0KIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLwpAQCAtNjI1LDQxICs3ODAsMzIgQEAgaW5kZXggNDUyYjBjYzJh ZDVhLi4wMDAwMDAwMDAwMDAKIC0vLyAgQWRkcyBkYXRhIHRvIHRoZSBTSEExIGNvbnRleHQuIFRo aXMgd2lsbCBwcm9jZXNzIHRoZSBkYXRhIGFuZCB1cGRhdGUgdGhlIGludGVybmFsIHN0YXRlIG9m IHRoZSBjb250ZXh0LiBLZWVwIG9uCiAtLy8gIGNhbGxpbmcgdGhpcyBmdW5jdGlvbiB1bnRpbCBh bGwgdGhlIGRhdGEgaGFzIGJlZW4gYWRkZWQuIFRoZW4gY2FsbCBTaGExRmluYWxpc2UgdG8gY2Fs Y3VsYXRlIHRoZSBoYXNoLgogLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCi0tdm9pZCAKLS0gICAgU2hhMVVwZGF0ZQotLSAgICAo Ci0tICAgICAgICBTaGExQ29udGV4dCogICAgICAgIENvbnRleHQsCi0tICAgICAgICBjb25zdCB2 b2lkKiAgICAgICAgIEJ1ZmZlciwKLS0gICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgQnVmZmVy U2l6ZQotLSAgICApCistdm9pZCBTaGExVXBkYXRlKFNoYTFDb250ZXh0ICpDb250ZXh0LCBjb25z dCB2b2lkICpCdWZmZXIsIHVpbnQzMl90IEJ1ZmZlclNpemUpCiAtewotLSAgICB1aW50MzJfdCAg ICBpOwotLSAgICB1aW50MzJfdCAgICBqOworLQl1aW50MzJfdCBpOworLQl1aW50MzJfdCBqOwog LQotLSAgICBqID0gKENvbnRleHQtPkNvdW50WzBdID4+IDMpICYgNjM7Ci0tICAgIGlmICgoQ29u dGV4dC0+Q291bnRbMF0gKz0gQnVmZmVyU2l6ZSA8PCAzKSA8IChCdWZmZXJTaXplIDw8IDMpKQot LSAgICB7Ci0tICAgICAgICBDb250ZXh0LT5Db3VudFsxXSsrOwotLSAgICB9CistCWogPSAoQ29u dGV4dC0+Q291bnRbMF0gPj4gMykgJiA2MzsKKy0JaWYgKChDb250ZXh0LT5Db3VudFswXSArPSBC dWZmZXJTaXplIDw8IDMpIDwgKEJ1ZmZlclNpemUgPDwgMykpIHsKKy0JCUNvbnRleHQtPkNvdW50 WzFdKys7CistCX0KIC0KLS0gICAgQ29udGV4dC0+Q291bnRbMV0gKz0gKEJ1ZmZlclNpemUgPj4g MjkpOwotLSAgICBpZiAoKGogKyBCdWZmZXJTaXplKSA+IDYzKQotLSAgICB7Ci0tICAgICAgICBp ID0gNjQgLSBqOwotLSAgICAgICAgbWVtY3B5KCZDb250ZXh0LT5CdWZmZXJbal0sIEJ1ZmZlciwg aSk7Ci0tICAgICAgICBUcmFuc2Zvcm1GdW5jdGlvbihDb250ZXh0LT5TdGF0ZSwgQ29udGV4dC0+ QnVmZmVyKTsKLS0gICAgICAgIGZvciAoOyBpICsgNjMgPCBCdWZmZXJTaXplOyBpICs9IDY0KQot LSAgICAgICAgewotLSAgICAgICAgICAgIFRyYW5zZm9ybUZ1bmN0aW9uKENvbnRleHQtPlN0YXRl LCAoY29uc3QgdWludDhfdCopQnVmZmVyICsgaSk7Ci0tICAgICAgICB9Ci0tICAgICAgICBqID0g MDsKLS0gICAgfQotLSAgICBlbHNlCi0tICAgIHsKLS0gICAgICAgIGkgPSAwOwotLSAgICB9Cist CUNvbnRleHQtPkNvdW50WzFdICs9IChCdWZmZXJTaXplID4+IDI5KTsKKy0JaWYgKChqICsgQnVm ZmVyU2l6ZSkgPiA2MykgeworLQkJaSA9IDY0IC0gajsKKy0JCW1lbWNweSgmQ29udGV4dC0+QnVm ZmVyW2pdLCBCdWZmZXIsIGkpOworLQkJVHJhbnNmb3JtRnVuY3Rpb24oQ29udGV4dC0+U3RhdGUs IENvbnRleHQtPkJ1ZmZlcik7CistCQlmb3IgKDsgaSArIDYzIDwgQnVmZmVyU2l6ZTsgaSArPSA2 NCkgeworLQkJCVRyYW5zZm9ybUZ1bmN0aW9uKENvbnRleHQtPlN0YXRlLAorLQkJCQkJICAoY29u c3QgdWludDhfdCAqKUJ1ZmZlciArIGkpOworLQkJfQorLQkJaiA9IDA7CistCX0gZWxzZSB7Cist CQlpID0gMDsKKy0JfQogLQotLSAgICBtZW1jcHkoJkNvbnRleHQtPkJ1ZmZlcltqXSwgJigoY29u c3QgdWludDhfdCopQnVmZmVyKVtpXSwgQnVmZmVyU2l6ZSAtIGkpOworLQltZW1jcHkoJkNvbnRl eHQtPkJ1ZmZlcltqXSwgJigoY29uc3QgdWludDhfdCAqKUJ1ZmZlcilbaV0sCistCSAgICAgICBC dWZmZXJTaXplIC0gaSk7CiAtfQogLQogLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkBAIC02NjgsMzkgKzgxNCwzNiBAQCBpbmRl eCA0NTJiMGNjMmFkNWEuLjAwMDAwMDAwMDAwMAogLS8vICBQZXJmb3JtcyB0aGUgZmluYWwgY2Fs Y3VsYXRpb24gb2YgdGhlIGhhc2ggYW5kIHJldHVybnMgdGhlIGRpZ2VzdCAoMjAgYnl0ZSBidWZm ZXIgY29udGFpbmluZyAxNjBiaXQgaGFzaCkuIEFmdGVyCiAtLy8gIGNhbGxpbmcgdGhpcywgU2hh MUluaXRpYWxpc2VkIG11c3QgYmUgdXNlZCB0byByZXVzZSB0aGUgY29udGV4dC4KIC0vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwot LXZvaWQgCi0tICAgIFNoYTFGaW5hbGlzZQotLSAgICAoCi0tICAgICAgICBTaGExQ29udGV4dCog ICAgICAgICAgICAgICAgQ29udGV4dCwKLS0gICAgICAgIFNIQTFfSEFTSCogICAgICAgICAgICAg ICAgICBEaWdlc3QKLS0gICAgKQorLXZvaWQgU2hhMUZpbmFsaXNlKFNoYTFDb250ZXh0ICpDb250 ZXh0LCBTSEExX0hBU0ggKkRpZ2VzdCkKIC17Ci0tICAgIHVpbnQzMl90ICAgIGk7Ci0tICAgIHVp bnQ4X3QgICAgIGZpbmFsY291bnRbOF07CistCXVpbnQzMl90IGk7CistCXVpbnQ4X3QgZmluYWxj b3VudFs4XTsKIC0KLS0gICAgZm9yIChpID0gMDsgaSA8IDg7IGkrKykKLS0gICAgewotLSAgICAg ICAgZmluYWxjb3VudFtpXSA9ICh1bnNpZ25lZCBjaGFyKSgoQ29udGV4dC0+Q291bnRbKGkgPj0g NCA/IDAgOiAxKV0KLS0gICAgICAgICA+PiAoKDMtKGkgJiAzKSkgKiA4KSApICYgMjU1KTsgIC8v IEVuZGlhbiBpbmRlcGVuZGVudAotLSAgICB9Ci0tICAgIFNoYTFVcGRhdGUoQ29udGV4dCwgKGNv bnN0IHVpbnQ4X3QqKSJceDgwIiwgMSk7Ci0tICAgIHdoaWxlICgoQ29udGV4dC0+Q291bnRbMF0g JiA1MDQpICE9IDQ0OCkKLS0gICAgewotLSAgICAgICAgU2hhMVVwZGF0ZShDb250ZXh0LCAoY29u c3QgdWludDhfdCopIlwwIiwgMSk7Ci0tICAgIH0KKy0JZm9yIChpID0gMDsgaSA8IDg7IGkrKykg eworLQkJZmluYWxjb3VudFtpXSA9CistCQkJKHVuc2lnbmVkIGNoYXIpKChDb250ZXh0LT5Db3Vu dFsoaSA+PSA0ID8gMCA6IDEpXSA+PgorLQkJCQkJICgoMyAtIChpICYgMykpICogOCkpICYKKy0J CQkJCTI1NSk7IC8vIEVuZGlhbiBpbmRlcGVuZGVudAorLQl9CistCVNoYTFVcGRhdGUoQ29udGV4 dCwgKGNvbnN0IHVpbnQ4X3QgKikiXHg4MCIsIDEpOworLQl3aGlsZSAoKENvbnRleHQtPkNvdW50 WzBdICYgNTA0KSAhPSA0NDgpIHsKKy0JCVNoYTFVcGRhdGUoQ29udGV4dCwgKGNvbnN0IHVpbnQ4 X3QgKikiXDAiLCAxKTsKKy0JfQogLQotLSAgICBTaGExVXBkYXRlKENvbnRleHQsIGZpbmFsY291 bnQsIDgpOyAgLy8gU2hvdWxkIGNhdXNlIGEgU2hhMVRyYW5zZm9ybUZ1bmN0aW9uKCkKLS0gICAg Zm9yIChpID0gMDsgaSA8IFNIQTFfSEFTSF9TSVpFOyBpKyspCi0tICAgIHsKLS0gICAgICAgIERp Z2VzdC0+Ynl0ZXNbaV0gPSAodWludDhfdCkoKENvbnRleHQtPlN0YXRlW2k+PjJdID4+ICgoMy0o aSAmIDMpKSAqIDgpICkgJiAyNTUpOwotLSAgICB9CistCVNoYTFVcGRhdGUoQ29udGV4dCwgZmlu YWxjb3VudCwKKy0JCSAgIDgpOyAvLyBTaG91bGQgY2F1c2UgYSBTaGExVHJhbnNmb3JtRnVuY3Rp b24oKQorLQlmb3IgKGkgPSAwOyBpIDwgU0hBMV9IQVNIX1NJWkU7IGkrKykgeworLQkJRGlnZXN0 LT5ieXRlc1tpXSA9ICh1aW50OF90KSgoQ29udGV4dC0+U3RhdGVbaSA+PiAyXSA+PgorLQkJCQkJ ICAgICAgKCgzIC0gKGkgJiAzKSkgKiA4KSkgJgorLQkJCQkJICAgICAyNTUpOworLQl9CiAtfQog ZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvc3JjL3NoYTEuaCBiL2xpYnNlbGludXgvc3JjL3NoYTEu aAogZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCBmODNhNmU3ZWQ3YmEuLjAwMDAwMDAw MDAwMAoraW5kZXggZmJmNGQ2NTUzOGZiLi4wMDAwMDAwMDAwMDAKIC0tLSBhL2xpYnNlbGludXgv c3JjL3NoYTEuaAogKysrIC9kZXYvbnVsbAotQEAgLTEsODUgKzAsMCBAQAorQEAgLTEsNjggKzAs MCBAQAogLS8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vCiAtLy8gIExpYlNoYTEKIC0vLwpAQCAtNzI4LDE4ICs4NzEsMTYgQEAgaW5k ZXggZjgzYTZlN2VkN2JhLi4wMDAwMDAwMDAwMDAKIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLQogLS8vIFNoYTFDb250ZXh0 IC0gVGhpcyBtdXN0IGJlIGluaXRpYWxpc2VkIHVzaW5nIFNoYTFJbml0aWFsaXNlZC4gRG8gbm90 IG1vZGlmeSB0aGUgY29udGVudHMgb2YgdGhpcyBzdHJ1Y3R1cmUgZGlyZWN0bHkuCi0tdHlwZWRl ZiBzdHJ1Y3QKLS17Ci0tICAgIHVpbnQzMl90ICAgICAgICBTdGF0ZVs1XTsKLS0gICAgdWludDMy X3QgICAgICAgIENvdW50WzJdOwotLSAgICB1aW50OF90ICAgICAgICAgQnVmZmVyWzY0XTsKKy10 eXBlZGVmIHN0cnVjdCB7CistCXVpbnQzMl90IFN0YXRlWzVdOworLQl1aW50MzJfdCBDb3VudFsy XTsKKy0JdWludDhfdCBCdWZmZXJbNjRdOwogLX0gU2hhMUNvbnRleHQ7CiAtCi0tI2RlZmluZSBT SEExX0hBU0hfU0laRSAgICAgICAgICAgKCAxNjAgLyA4ICkKKy0jZGVmaW5lIFNIQTFfSEFTSF9T SVpFICgxNjAgLyA4KQogLQotLXR5cGVkZWYgc3RydWN0Ci0tewotLSAgICB1aW50OF90ICAgICAg Ynl0ZXMgW1NIQTFfSEFTSF9TSVpFXTsKKy10eXBlZGVmIHN0cnVjdCB7CistCXVpbnQ4X3QgYnl0 ZXNbU0hBMV9IQVNIX1NJWkVdOwogLX0gU0hBMV9IQVNIOwogLQogLS8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCkBAIC03NTEsMTEg Kzg5Miw3IEBAIGluZGV4IGY4M2E2ZTdlZDdiYS4uMDAwMDAwMDAwMDAwCiAtLy8KIC0vLyAgSW5p dGlhbGlzZXMgYW4gU0hBMSBDb250ZXh0LiBVc2UgdGhpcyB0byBpbml0aWFsaXNlL3Jlc2V0IGEg Y29udGV4dC4KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLwotLXZvaWQKLS0gICAgU2hhMUluaXRpYWxpc2UKLS0gICAgKAotLSAg ICAgICAgU2hhMUNvbnRleHQqICAgICAgICAgICAgICAgIENvbnRleHQKLS0gICAgKTsKKy12b2lk IFNoYTFJbml0aWFsaXNlKFNoYTFDb250ZXh0ICpDb250ZXh0KTsKIC0KIC0vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLS8vICBT aGExVXBkYXRlCkBAIC03NjMsMTMgKzkwMCw3IEBAIGluZGV4IGY4M2E2ZTdlZDdiYS4uMDAwMDAw MDAwMDAwCiAtLy8gIEFkZHMgZGF0YSB0byB0aGUgU0hBMSBjb250ZXh0LiBUaGlzIHdpbGwgcHJv Y2VzcyB0aGUgZGF0YSBhbmQgdXBkYXRlIHRoZSBpbnRlcm5hbCBzdGF0ZSBvZiB0aGUgY29udGV4 dC4gS2VlcCBvbgogLS8vICBjYWxsaW5nIHRoaXMgZnVuY3Rpb24gdW50aWwgYWxsIHRoZSBkYXRh IGhhcyBiZWVuIGFkZGVkLiBUaGVuIGNhbGwgU2hhMUZpbmFsaXNlIHRvIGNhbGN1bGF0ZSB0aGUg aGFzaC4KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLwotLXZvaWQKLS0gICAgU2hhMVVwZGF0ZQotLSAgICAoCi0tICAgICAgICBT aGExQ29udGV4dCogICAgICAgIENvbnRleHQsCi0tICAgICAgICBjb25zdCB2b2lkKiAgICAgICAg IEJ1ZmZlciwKLS0gICAgICAgIHVpbnQzMl90ICAgICAgICAgICAgQnVmZmVyU2l6ZQotLSAgICAp OworLXZvaWQgU2hhMVVwZGF0ZShTaGExQ29udGV4dCAqQ29udGV4dCwgY29uc3Qgdm9pZCAqQnVm ZmVyLCB1aW50MzJfdCBCdWZmZXJTaXplKTsKIC0KIC0vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogLS8vICBTaGExRmluYWxpc2UK QEAgLTc3NywxMiArOTA4LDcgQEAgaW5kZXggZjgzYTZlN2VkN2JhLi4wMDAwMDAwMDAwMDAKIC0v LyAgUGVyZm9ybXMgdGhlIGZpbmFsIGNhbGN1bGF0aW9uIG9mIHRoZSBoYXNoIGFuZCByZXR1cm5z IHRoZSBkaWdlc3QgKDIwIGJ5dGUgYnVmZmVyIGNvbnRhaW5pbmcgMTYwYml0IGhhc2gpLiBBZnRl cgogLS8vICBjYWxsaW5nIHRoaXMsIFNoYTFJbml0aWFsaXNlZCBtdXN0IGJlIHVzZWQgdG8gcmV1 c2UgdGhlIGNvbnRleHQuCiAtLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KLS12b2lkCi0tICAgIFNoYTFGaW5hbGlzZQotLSAgICAo Ci0tICAgICAgICBTaGExQ29udGV4dCogICAgICAgICAgICAgICAgQ29udGV4dCwKLS0gICAgICAg IFNIQTFfSEFTSCogICAgICAgICAgICAgICAgICBEaWdlc3QKLS0gICAgKTsKKy12b2lkIFNoYTFG aW5hbGlzZShTaGExQ29udGV4dCAqQ29udGV4dCwgU0hBMV9IQVNIICpEaWdlc3QpOwogLQogLS8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vCiAtI2VuZGlmIC8vX3NoYTFfaF8KQEAgLTExODIsMTMgKzEzMDgsMTMgQEAgaW5kZXggMDAw MDAwMDAwMDAwLi40MDZlZDg2OWNkODIKICsgICAgICAgIFNIQTI1Nl9IQVNIKiAgICAgICAgRGln ZXN0ICAgICAgICAgIC8vIFtpbl0KICsgICAgKTsKIGRpZmYgLS1naXQgYS9saWJzZWxpbnV4L3V0 aWxzL3NlbGFiZWxfZGlnZXN0LmMgYi9saWJzZWxpbnV4L3V0aWxzL3NlbGFiZWxfZGlnZXN0LmMK LWluZGV4IDQ3YWFkMjFmZjFmYi4uOGJjZDQ0YTFkYzczIDEwMDY0NAoraW5kZXggMmMzOTVkYjZm ODRmLi43N2MxYjExMzFlMzEgMTAwNjQ0CiAtLS0gYS9saWJzZWxpbnV4L3V0aWxzL3NlbGFiZWxf ZGlnZXN0LmMKICsrKyBiL2xpYnNlbGludXgvdXRpbHMvc2VsYWJlbF9kaWdlc3QuYwotQEAgLTEz LDggKzEzLDggQEAgc3RhdGljIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB2b2lkIHVz YWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKQorQEAgLTEzLDggKzEzLDggQEAgc3RhdGljIF9fYXR0 cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqcHJvZ25hbWUp CiAgCQkiV2hlcmU6XG5cdCIKICAJCSItYiAgVGhlIGJhY2tlbmQgLSBcImZpbGVcIiwgXCJtZWRp YVwiLCBcInhcIiwgXCJkYlwiIG9yICIKLSAJCQkiXCJwcm9wXCJcblx0IgorIAkJIlwicHJvcFwi XG5cdCIKIC0JCSItdiAgUnVuIFwiY2F0IDxzcGVjZmlsZV9saXN0PiB8IG9wZW5zc2wgZGdzdCAt c2hhMSAtaGV4XCJcblx0IgogLQkJIiAgICBvbiB0aGUgbGlzdCBvZiBzcGVjZmlsZXMgdG8gY29t cGFyZSB0aGUgU0hBMSBkaWdlc3RzLlxuXHQiCiArCQkiLXYgIFJ1biBcImNhdCA8c3BlY2ZpbGVf bGlzdD4gfCBvcGVuc3NsIGRnc3QgLXNoYTI1NiAtaGV4XCJcblx0IgpAQCAtMTE5Niw3ICsxMzIy LDcgQEAgaW5kZXggNDdhYWQyMWZmMWZiLi44YmNkNDRhMWRjNzMgMTAwNjQ0CiAgCQkiLUIgIFVz ZSBiYXNlIHNwZWNmaWxlcyBvbmx5ICh2YWxpZCBmb3IgXCItYiBmaWxlXCIgb25seSkuXG5cdCIK ICAJCSItaSAgRG8gbm90IHJlcXVlc3QgYSBkaWdlc3QuXG5cdCIKICAJCSItZiAgT3B0aW9uYWwg ZmlsZSBjb250YWluaW5nIHRoZSBzcGVjcyAoZGVmYXVsdHMgdG9cblx0IgotQEAgLTYxLDEyICs2 MSwxMiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtNjMsMTIgKzYzLDEy IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJaW50IHJjLCBvcHQsIHZhbGlk YXRlID0gMDsKICAJY2hhciAqYmFzZW9ubHkgPSBOVUxMLCAqZmlsZSA9IE5VTEwsICpkaWdlc3Qg PSAoY2hhciAqKTE7CiAgCWNoYXIgKipzcGVjZmlsZXMgPSBOVUxMOwpAQCAtMTIxMCwxNyArMTMz NiwxNyBAQCBpbmRleCA0N2FhZDIxZmYxZmIuLjhiY2Q0NGExZGM3MyAxMDA2NDQKICsJY2hhciAq c2hhMjU2X2J1ZiA9IE5VTEw7CiAgCiAgCXN0cnVjdCBzZWxhYmVsX2hhbmRsZSAqaG5kOwotIAlz dHJ1Y3Qgc2VsaW51eF9vcHQgc2VsYWJlbF9vcHRpb25bXSA9IHsKLUBAIC0xMzYsNyArMTM2LDcg QEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAlzdHJ1Y3Qgc2VsaW51eF9vcHQg c2VsYWJlbF9vcHRpb25bXSA9IHsgeyBTRUxBQkVMX09QVF9QQVRILCBmaWxlIH0sCitAQCAtMTM4 LDcgKzEzOCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCXJldHVybiAt MTsKICAJfQogIAogLQlyYyA9IHNlbGFiZWxfZGlnZXN0KGhuZCwgJnNoYTFfZGlnZXN0LCAmZGln ZXN0X2xlbiwgJnNwZWNmaWxlcywKICsJcmMgPSBzZWxhYmVsX2RpZ2VzdChobmQsICZzaGEyNTZf ZGlnZXN0LCAmZGlnZXN0X2xlbiwgJnNwZWNmaWxlcywKLSAJCQkJCQkJICAgICZudW1fc3BlY2Zp bGVzKTsKKyAJCQkgICAgJm51bV9zcGVjZmlsZXMpOwogIAogIAlpZiAocmMpIHsKLUBAIC0xNTEs MTkgKzE1MSwxOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCitAQCAtMTUzLDE5 ICsxNTMsMTkgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAkJZ290byBlcnI7 CiAgCX0KICAKQEAgLTEyMjksNyArMTM1NSw3IEBAIGluZGV4IDQ3YWFkMjFmZjFmYi4uOGJjZDQ0 YTFkYzczIDEwMDY0NAogKwlzaGEyNTZfYnVmID0gbWFsbG9jKGRpZ2VzdF9sZW4gKiAyICsgMSk7 CiArCWlmICghc2hhMjU2X2J1ZikgewogIAkJZnByaW50ZihzdGRlcnIsICJDb3VsZCBub3QgbWFs bG9jIGJ1ZmZlciBFUlJPUjogJXNcbiIsCi0gCQkJCQkJICAgIHN0cmVycm9yKGVycm5vKSk7Cisg CQkJc3RyZXJyb3IoZXJybm8pKTsKICAJCXJjID0gLTE7CiAgCQlnb3RvIGVycjsKICAJfQpAQCAt MTI0NSwxNSArMTM3MSwxNiBAQCBpbmRleCA0N2FhZDIxZmYxZmIuLjhiY2Q0NGExZGM3MyAxMDA2 NDQKICAJcHJpbnRmKCJjYWxjdWxhdGVkIHVzaW5nIHRoZSBmb2xsb3dpbmcgc3BlY2ZpbGUocyk6 XG4iKTsKICAKICAJaWYgKHNwZWNmaWxlcykgewotQEAgLTE5OCwxOSArMTk4LDE5IEBAIGludCBt YWluKGludCBhcmdjLCBjaGFyICoqYXJndikKLSAJCX0KK0BAIC0yMDQsNyArMjA0LDcgQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAogIAkJaWYgKHZhbGlkYXRlKSB7Ci0tCQkJ cmV0ID0gc25wcmludGYoY21kX3B0ciwgY21kX3JlbSwgInwgL3Vzci9iaW4vb3BlbnNzbCBkZ3N0 IC1zaGExIC1oZXgiKTsKLSsJCQlyZXQgPSBzbnByaW50ZihjbWRfcHRyLCBjbWRfcmVtLCAifCAv dXNyL2Jpbi9vcGVuc3NsIGRnc3QgLXNoYTI1NiAtaGV4Iik7CisgCQkJcmV0ID0gc25wcmludGYo Y21kX3B0ciwgY21kX3JlbSwKKy0JCQkJICAgICAgICJ8IC91c3IvYmluL29wZW5zc2wgZGdzdCAt c2hhMSAtaGV4Iik7CisrCQkJCSAgICAgICAifCAvdXNyL2Jpbi9vcGVuc3NsIGRnc3QgLXNoYTI1 NiAtaGV4Iik7CiAgCQkJaWYgKHJldCA8IDAgfHwgKHNpemVfdClyZXQgPj0gY21kX3JlbSkgewot IAkJCQlmcHJpbnRmKHN0ZGVyciwgIkNvdWxkIG5vdCBmb3JtYXQgdmFsaWRhdGUgY29tbWFuZFxu Iik7Ci0gCQkJCXJjID0gLTE7CisgCQkJCWZwcmludGYoc3RkZXJyLAorIAkJCQkJIkNvdWxkIG5v dCBmb3JtYXQgdmFsaWRhdGUgY29tbWFuZFxuIik7CitAQCAtMjEyLDEyICsyMTIsMTIgQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAkJCQlnb3RvIGVycjsKICAJCQl9CiAgCkBA IC0xMjY5LDEwICsxMzk2LDEwIEBAIGluZGV4IDQ3YWFkMjFmZjFmYi4uOGJjZDQ0YTFkYzczIDEw MDY0NAogIAlyZXR1cm4gcmM7CiAgfQogZGlmZiAtLWdpdCBhL2xpYnNlbGludXgvdXRpbHMvc2Vs YWJlbF9nZXRfZGlnZXN0c19hbGxfcGFydGlhbF9tYXRjaGVzLmMgYi9saWJzZWxpbnV4L3V0aWxz L3NlbGFiZWxfZ2V0X2RpZ2VzdHNfYWxsX3BhcnRpYWxfbWF0Y2hlcy5jCi1pbmRleCBlMjczM2I0 MTk1ZmYuLjk4ZTUzM2RjMjY5MiAxMDA2NDQKK2luZGV4IDA1NTJlZjBmNThkZi4uNjQ5ZThiN2Fh MGEyIDEwMDY0NAogLS0tIGEvbGlic2VsaW51eC91dGlscy9zZWxhYmVsX2dldF9kaWdlc3RzX2Fs bF9wYXJ0aWFsX21hdGNoZXMuYwogKysrIGIvbGlic2VsaW51eC91dGlscy9zZWxhYmVsX2dldF9k aWdlc3RzX2FsbF9wYXJ0aWFsX21hdGNoZXMuYwotQEAgLTE2LDggKzE2LDggQEAgc3RhdGljIF9f YXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKnByb2du YW1lKQorQEAgLTE2LDggKzE2LDggQEAgc3RhdGljIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5f XykpIHZvaWQgdXNhZ2UoY29uc3QgY2hhciAqcHJvZ25hbWUpCiAgCQkiLXYgIFZhbGlkYXRlIGZp bGVfY29udHh0cyBlbnRyaWVzIGFnYWluc3QgbG9hZGVkIHBvbGljeS5cblx0IgogIAkJIi1yICBS ZWN1cnNpdmVseSBkZXNjZW5kIGRpcmVjdG9yaWVzLlxuXHQiCiAgCQkiLWYgIE9wdGlvbmFsIGZp bGVfY29udGV4dHMgZmlsZSAoZGVmYXVsdHMgdG8gY3VycmVudCBwb2xpY3kpLlxuXHQiCkBAIC0x MjgyLDggKzE0MDksOCBAQCBpbmRleCBlMjczM2I0MTk1ZmYuLjk4ZTUzM2RjMjY5MiAxMDA2NDQK ICsJCSJUaGlzIHdpbGwgY2hlY2sgdGhlIGRpcmVjdG9yeSBzZWxpbnV4LnNlaGFzaCBTSEEyNTYg ZGlnZXN0IGZvciAiCiAgCQkiPHBhdGg+IGFnYWluc3RcbmEgbmV3bHkgZ2VuZXJhdGVkIGRpZ2Vz dCBiYXNlZCBvbiB0aGUgIgogIAkJImZpbGVfY29udGV4dCBlbnRyaWVzIGZvciB0aGF0IG5vZGVc bih1c2luZyB0aGUgcmVneCwgbW9kZSAiCi0gCQkiYW5kIHBhdGggZW50cmllcykuXG4iLCBwcm9n bmFtZSk7Ci1AQCAtMzUsNyArMzUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3Yp CisgCQkiYW5kIHBhdGggZW50cmllcykuXG4iLAorQEAgLTM2LDcgKzM2LDcgQEAgaW50IG1haW4o aW50IGFyZ2MsIGNoYXIgKiphcmd2KQogIAljaGFyICpwYXRoc1syXSA9IHsgTlVMTCwgTlVMTCB9 OwogIAl1aW50OF90ICp4YXR0cl9kaWdlc3QgPSBOVUxMOwogIAl1aW50OF90ICpjYWxjdWxhdGVk X2RpZ2VzdCA9IE5VTEw7CkBAIC0xMjkyLDE3ICsxNDE5LDE4IEBAIGluZGV4IGUyNzMzYjQxOTVm Zi4uOThlNTMzZGMyNjkyIDEwMDY0NAogIAogIAlzdHJ1Y3Qgc2VsYWJlbF9oYW5kbGUgKmhuZDsK ICAJc3RydWN0IHNlbGludXhfb3B0IHNlbGFiZWxfb3B0aW9uW10gPSB7Ci1AQCAtMTA0LDI3ICsx MDQsMjcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQotIAkJCQkJCQkgJnhhdHRy X2RpZ2VzdCwKLSAJCQkJCQkJICZkaWdlc3RfbGVuKTsKK0BAIC0xMDEsOCArMTAxLDggQEAgaW50 IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorIAkJCQlobmQsIGZ0c2VudC0+ZnRzX3BhdGgs ICZjYWxjdWxhdGVkX2RpZ2VzdCwKKyAJCQkJJnhhdHRyX2RpZ2VzdCwgJmRpZ2VzdF9sZW4pOwog IAogLQkJCXNoYTFfYnVmID0gY2FsbG9jKDEsIGRpZ2VzdF9sZW4gKiAyICsgMSk7CiAtCQkJaWYg KCFzaGExX2J1ZikgewogKwkJCXNoYTI1Nl9idWYgPSBjYWxsb2MoMSwgZGlnZXN0X2xlbiAqIDIg KyAxKTsKICsJCQlpZiAoIXNoYTI1Nl9idWYpIHsKLSAJCQkJZnByaW50ZihzdGRlcnIsICJDb3Vs ZCBub3QgY2FsbG9jIGJ1ZmZlciBFUlJPUjogJXNcbiIsCi0gCQkJCQkgICAgc3RyZXJyb3IoZXJy bm8pKTsKLSAJCQkJcmV0dXJuIC0xOworIAkJCQlmcHJpbnRmKHN0ZGVyciwKKyAJCQkJCSJDb3Vs ZCBub3QgY2FsbG9jIGJ1ZmZlciBFUlJPUjogJXNcbiIsCisgCQkJCQlzdHJlcnJvcihlcnJubykp OworQEAgLTExMCwxOSArMTEwLDE5IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK ICAJCQl9CiAgCiAgCQkJaWYgKHN0YXR1cykgeyAvKiBUaGV5IG1hdGNoICovCkBAIC0xMzI2LDcg KzE0NTQsNyBAQCBpbmRleCBlMjczM2I0MTk1ZmYuLjk4ZTUzM2RjMjY5MiAxMDA2NDQKICAJCQkJ CSAgICAgICBmdHNlbnQtPmZ0c19wYXRoKTsKICAJCQkJCXByaW50ZigiYXMgZmlsZV9jb250ZXh0 IGVudHJ5IGlzIFwiPDxub25lPj5cIlxuIik7CiAgCQkJCQlnb3RvIGNsZWFudXA7Ci1AQCAtMTM0 LDI1ICsxMzQsMjUgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorQEAgLTEzMiwy NSArMTMyLDI1IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKICAJCQkJICAgICAg IGZ0c2VudC0+ZnRzX3BhdGgpOwogIAogIAkJCQlmb3IgKGkgPSAwOyBpIDwgZGlnZXN0X2xlbjsg aSsrKQpAQCAtMTM0OSw3ICsxNDc3LDcgQEAgaW5kZXggZTI3MzNiNDE5NWZmLi45OGU1MzNkYzI2 OTIgMTAwNjQ0CiArCQkJCQlwcmludGYoIiVzXG4iLCBzaGEyNTZfYnVmKTsKICAJCQkJfQogIAkJ CX0KLSAJCQljbGVhbnVwOgorIGNsZWFudXA6CiAgCQkJZnJlZSh4YXR0cl9kaWdlc3QpOwogIAkJ CWZyZWUoY2FsY3VsYXRlZF9kaWdlc3QpOwogLQkJCWZyZWUoc2hhMV9idWYpOwpAQCAtMTM1OCw1 ICsxNDg2LDUgQEAgaW5kZXggZTI3MzNiNDE5NWZmLi45OGU1MzNkYzI2OTIgMTAwNjQ0CiAgCQl9 CiAgCQlkZWZhdWx0OgogLS0gCi0yLjQ3LjAKKzIuNTQuMAogCgpkaWZmIC0tZ2l0IGEvY2hhbmdl bG9nIGIvY2hhbmdlbG9nCmluZGV4IDU2YTkwMDguLjU1ZWYwZmQgMTAwNjQ0Ci0tLSBhL2NoYW5n ZWxvZworKysgYi9jaGFuZ2Vsb2cKQEAgLTEsMyArMSw5IEBACisqIFdlZCBKdWwgMDEgMjAyNiBQ ZXRyIExhdXRyYmFjaCA8bGF1dHJiYWNoQHJlZGhhdC5jb20+IC0gMy4xMS0xCistIFNFTGludXgg dXNlcnNwYWNlIDMuMTEgcmVsZWFzZQorCisqIFdlZCBKdW4gMDMgMjAyNiBQeXRob24gTWFpbnQg PHB5dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDMuMTAtMgorLSBSZWJ1aWx0IGZvciBQeXRob24g My4xNQorCiAqIE1vbiBGZWIgMDIgMjAyNiBQZXRyIExhdXRyYmFjaCA8bGF1dHJiYWNoQHJlZGhh dC5jb20+IC0gMy4xMC0xCiAtIFNFTGludXggdXNlcnNwYWNlIDMuMTAgcmVsZWFzZQogCgpkaWZm IC0tZ2l0IGEvbGlic2VsaW51eC5zcGVjIGIvbGlic2VsaW51eC5zcGVjCmluZGV4IDVlYzI2ZGQu LjRlMGY3MmYgMTAwNjQ0Ci0tLSBhL2xpYnNlbGludXguc3BlYworKysgYi9saWJzZWxpbnV4LnNw ZWMKQEAgLTEsMjkgKzEsMjkgQEAKICVkZWZpbmUgcnVieV9pbmMgJShwa2ctY29uZmlnIC0tY2Zs YWdzIHJ1YnkpCi0lZGVmaW5lIGxpYnNlcG9sdmVyIDMuMTAtMQorJWRlZmluZSBsaWJzZXBvbHZl ciAzLjExLTEKIAogU3VtbWFyeTogU0VMaW51eCBsaWJyYXJ5IGFuZCBzaW1wbGUgdXRpbGl0aWVz CiBOYW1lOiBsaWJzZWxpbnV4Ci1WZXJzaW9uOiAzLjEwCi1SZWxlYXNlOiAyJXs/ZGlzdH0KK1Zl cnNpb246IDMuMTEKK1JlbGVhc2U6IDElez9kaXN0fQogTGljZW5zZTogTGljZW5zZVJlZi1GZWRv cmEtUHVibGljLURvbWFpbgogIyBodHRwczovL2dpdGh1Yi5jb20vU0VMaW51eFByb2plY3Qvc2Vs aW51eC93aWtpL1JlbGVhc2VzCiBTb3VyY2UwOiBodHRwczovL2dpdGh1Yi5jb20vU0VMaW51eFBy b2plY3Qvc2VsaW51eC9yZWxlYXNlcy9kb3dubG9hZC8le3ZlcnNpb259L2xpYnNlbGludXgtJXt2 ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6IGh0dHBzOi8vZ2l0aHViLmNvbS9TRUxpbnV4UHJvamVj dC9zZWxpbnV4L3JlbGVhc2VzL2Rvd25sb2FkLyV7dmVyc2lvbn0vbGlic2VsaW51eC0le3ZlcnNp b259LnRhci5nei5hc2MKLVNvdXJjZTI6IGh0dHBzOi8vZ2l0aHViLmNvbS9wZXJmaW5pb24uZ3Bn CitTb3VyY2UyOiBodHRwczovL2dpdGh1Yi5jb20vYmFjaHJhZHN1c2kuZ3BnCiBTb3VyY2UzOiBz ZWxpbnV4Y29ubGlzdC44CiBTb3VyY2U0OiBzZWxpbnV4ZGVmY29uLjgKIAogVXJsOiBodHRwczov L2dpdGh1Yi5jb20vU0VMaW51eFByb2plY3Qvc2VsaW51eC93aWtpCiAjICQgZ2l0IGNsb25lIGh0 dHBzOi8vZ2l0aHViLmNvbS9mZWRvcmEtc2VsaW51eC9zZWxpbnV4LmdpdAogIyAkIGNkIHNlbGlu dXgKLSMgJCBnaXQgZm9ybWF0LXBhdGNoIC1OIDMuMTAgLS0gbGlic2VsaW51eAorIyAkIGdpdCBm b3JtYXQtcGF0Y2ggLU4gMy4xMSAtLSBsaWJzZWxpbnV4CiAjICQgaT0xOyBmb3IgaiBpbiAwMCpw YXRjaDsgZG8gcHJpbnRmICJQYXRjaCUwNGQ6ICVzXG4iICRpICRqOyBpPSQoKGkrMSkpO2RvbmUK ICMgUGF0Y2ggbGlzdCBzdGFydAogUGF0Y2gwMDAxOiAwMDAxLVVzZS1TSEEtMi1pbnN0ZWFkLW9m LVNIQS0xLnBhdGNoCiAjIFBhdGNoIGxpc3QgZW5kCiBCdWlsZFJlcXVpcmVzOiBnY2MgbWFrZQog QnVpbGRSZXF1aXJlczogcnVieS1kZXZlbCBydWJ5IGxpYnNlcG9sLXN0YXRpYyA+PSAle2xpYnNl cG9sdmVyfSBzd2lnIHBjcmUyLWRldmVsCi1CdWlsZFJlcXVpcmVzOiBweXRob24zIHB5dGhvbjMt ZGV2ZWwgcHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtcGlwCitCdWlsZFJlcXVpcmVzOiBweXRo b24zIHB5dGhvbjMtZGV2ZWwgcHl0aG9uMy1zZXR1cHRvb2xzIHB5dGhvbjMtcGlwIHB5dGhvbjMt YnVpbGQKIEJ1aWxkUmVxdWlyZXM6IChweXRob24zLXdoZWVsIGlmIHB5dGhvbjMtc2V0dXB0b29s cyA8IDcxKQogQnVpbGRSZXF1aXJlczogc3lzdGVtZAogQnVpbGRSZXF1aXJlczogZ251cGcyCkBA IC0yMjEsNyArMjIxLDQgQEAgcm0gLWYgJXtidWlsZHJvb3R9JXtfbWFuZGlyfS9tYW44L3RvZ2ds ZXNlYm9vbCoKICV7cnVieV92ZW5kb3JhcmNoZGlyfS9zZWxpbnV4LnNvCiAKICVjaGFuZ2Vsb2cK LSogV2VkIEp1biAwMyAyMDI2IFB5dGhvbiBNYWludCA8cHl0aG9uLW1haW50QHJlZGhhdC5jb20+ IC0gMy4xMC0yCi0tIFJlYnVpbHQgZm9yIFB5dGhvbiAzLjE1Ci0KICVhdXRvY2hhbmdlbG9nCgpk aWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggNTU3ODIwYS4uZjc3MmEyOSAxMDA2 NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAotU0hBNTEyIChs aWJzZWxpbnV4LTMuMTAudGFyLmd6KSA9IDU3ODNmNzM3Njc1ZWI5NGUwYmRmZjA4MjAxMzU4OWU1 YmRkZmEwNjY5YTM1N2RmMTg1ZWI4OWY0Zjg4Y2VjOGI5MDc3OWU4NmM0YjE3YjU4ZjVjMjQ4MTc1 ZGEwMjA4YzgwY2MyNjQyMDQ2ZTM0OGM3Mzg0ZGQ3OTlmMWJhNGMxCi1TSEE1MTIgKGxpYnNlbGlu dXgtMy4xMC50YXIuZ3ouYXNjKSA9IDZlMGExOGViNzdiODEwZWI3Y2JmNzU2ZGNkODJmNTdmYTcx ZDdjOGQwNjZlYTk5Zjc1NDc2MGQ5ZTYxZGI4ZjIyZTc3NmM3MjlhNzM4N2IwMTYzODI0OWRhY2My NzBkYTdhNWViNmE3ZWQzODM3N2JhODU4YmViY2QwOTBjY2U2CitTSEE1MTIgKGxpYnNlbGludXgt My4xMS50YXIuZ3opID0gNDllYjBiMTgwYjc3YjRiNjE1MDUxMTdlY2Q5OGFiOWZkZDc5YTM2ODAx YjZkMjIxNjgxM2VhMzcwYTAyYmE0ZjU4YTBmODdhMThlOTJhMmQ0ZWVmZmMxMWQ5ZGY2N2U0Njky ZDJkOGY1ZDNlZTc3YTJhYmQzZjYwNjE5NmFhYWQKK1NIQTUxMiAobGlic2VsaW51eC0zLjExLnRh ci5nei5hc2MpID0gZmE5NTBhMzMyYTM1M2RmYmI3OTU5Yjc4NTk1NjA3NmQwNTQ3YjZjZjUzODdl Y2JhZWViMTFmODE3MWE0ZmMzNjc5NzcyNzA3MzY0ZGVlNGJmOGRiNzYyMzJlYjJlYTZhOGYwMjgw Njc0YTgzNTFkY2Y5ODA3NDg5MmMzMTAwZGUK