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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: - Rebase to FSF GDB 7.2.50.20110218 (which is a 7.3 pre-release). Date: Thu, 23 Jul 2026 18:29:51 GMT Message-ID: <178483139164.1.17833508916051849245.rpms-gdb-3080c0e54fa4@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 3080c0e54fa42b34135636f9f092851096b277a0 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogMzA4MGMwZTU0ZmE0MmIzNDEzNTYzNmY5ZjA5Mjg1MTA5NmIyNzdhMAog ICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMS0wMi0xOFQxMToyNTozNCswMTowMAogICAg ICAgICAgICBTdGF0cyAgOiArMjQ2Ly01MTQgaW4gOCBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvMzA4MGMwZTU0ZmE0 MmIzNDEzNTYzNmY5ZjA5Mjg1MTA5NmIyNzdhMD9icmFuY2g9Zml4LWR1cC1wYXRjaAoKICAgICAg ICAgICAgTG9nOgogICAgICAgICAgICAtIFJlYmFzZSB0byBGU0YgR0RCIDcuMi41MC4yMDExMDIx OCAod2hpY2ggaXMgYSA3LjMgcHJlLXJlbGVhc2UpLgotIFt2bGFdIEZveCBGb3J0cmFuIHZlY3Rv ciBzbGljZXMgZm9yIGFsbG9jYXRlZCBhcnJheXMgKGZvciBCWiA2MDk3ODIpLgoKLS0tCmRpZmYg LS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCAzNjZmYzZhLi4zNTViY2U0IDEw MDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEsMiArMSwyIEBACiAv bGlic3RkYysrLXYzLXB5dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy4yLjUwLjIwMTEwMjEz LnRhci5iejIKKy9nZGItNy4yLjUwLjIwMTEwMjE4LnRhci5iejIKCmRpZmYgLS1naXQgYS9nZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxv Y2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAppbmRleCBlNGE1NzY3Li5iOWQxMTM0IDEwMDY0NAotLS0g YS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCisrKyBiL2dkYi02LjYt YnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKQEAgLTU4LDEzICs1OCwxMyBAQCBIdHRw Oi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMC0wMS9tc2cwMDUxNy5odG1sCiAJ KiBleGVjLmMgKGV4ZWNfZmlsZV9hdHRhY2gpOiBQcmludCBhIG1vcmUgdXNlZnVsIGVycm9yIG1l c3NhZ2UgaWYgdGhlCiAJdXNlciBkaWQgImdkYiBjb3JlIi4KIAotSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAxMDcvZ2RiL2V4Y2VwdGlvbnMuaAorSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMTgvZ2Ri L2V4Y2VwdGlvbnMuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAxMDcub3JpZy9n ZGIvZXhjZXB0aW9ucy5oCTIwMTEtMDEtMDUgMjM6MjI6NDguMDAwMDAwMDAwICswMTAwCi0rKysg Z2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhjZXB0aW9ucy5oCTIwMTEtMDEtMDcgMDk6MDk6MTgu MDAwMDAwMDAwICswMTAwCi1AQCAtNzgsNiArNzgsOSBAQCBlbnVtIGVycm9ycyB7Ci0gICAvKiBG ZWF0dXJlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBjb3B5IG9mIEdEQi4gICovCi0gICBVTlNV UFBPUlRFRF9FUlJPUiwKKy0tLSBnZGItNy4yLjUwLjIwMTEwMjE4Lm9yaWcvZ2RiL2V4Y2VwdGlv bnMuaAkyMDExLTAyLTE0IDEyOjM1OjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuNTAu MjAxMTAyMTgvZ2RiL2V4Y2VwdGlvbnMuaAkyMDExLTAyLTE4IDEwOjQ1OjMxLjAwMDAwMDAwMCAr MDEwMAorQEAgLTg1LDYgKzg1LDkgQEAgZW51bSBlcnJvcnMgeworICAgICAgdHJhY2VmcmFtZS4g ICovCisgICBOT1RfQVZBSUxBQkxFX0VSUk9SLAogIAogKyAgLyogQXR0ZW1wdCB0byBsb2FkIGEg Y29yZSBmaWxlIGFzIGV4ZWN1dGFibGUuICAqLwogKyAgSVNfQ09SRV9FUlJPUiwKQEAgLTcyLDEw ICs3MiwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhjZXB0aW9ucy5oCiAg ICAvKiBBZGQgbW9yZSBlcnJvcnMgaGVyZS4gICovCiAgICBOUl9FUlJPUlMKICB9OwotSW5kZXg6 IGdkYi03LjIuNTAuMjAxMTAxMDcvZ2RiL2V4ZWMuYworSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAy MTgvZ2RiL2V4ZWMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAxMDcub3JpZy9n ZGIvZXhlYy5jCTIwMTEtMDEtMDUgMjM6MjI6NDguMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcu Mi41MC4yMDExMDEwNy9nZGIvZXhlYy5jCTIwMTEtMDEtMDcgMDk6MDk6MTguMDAwMDAwMDAwICsw MTAwCistLS0gZ2RiLTcuMi41MC4yMDExMDIxOC5vcmlnL2dkYi9leGVjLmMJMjAxMS0wMi0xNCAy MzowODo0OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi9leGVj LmMJMjAxMS0wMi0xOCAxMDo0NToxNi4wMDAwMDAwMDAgKzAxMDAKIEBAIC0zNCw2ICszNCw3IEBA CiAgI2luY2x1ZGUgImFyY2gtdXRpbHMuaCIKICAjaW5jbHVkZSAiZ2RidGhyZWFkLmgiCkBAIC0x MTUsMTAgKzExNSwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEwNy9nZGIvZXhlYy5jCiAg CX0KICAKICAgICAgICAvKiBGSVhNRSAtIFRoaXMgc2hvdWxkIG9ubHkgYmUgcnVuIGZvciBSUzYw MDAsIGJ1dCB0aGUgaWZkZWYgaXMgYSBwb29yCi1JbmRleDogZ2RiLTcuMi41MC4yMDExMDEwNy9n ZGIvbWFpbi5jCitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvbWFpbi5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuMi41MC4yMDExMDEwNy5vcmlnL2dkYi9tYWluLmMJMjAxMS0wMS0wNyAw OTowNTowMi4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy4yLjUwLjIwMTEwMTA3L2dkYi9tYWlu LmMJMjAxMS0wMS0wNyAwOToxMDoxNC4wMDAwMDAwMDAgKzAxMDAKKy0tLSBnZGItNy4yLjUwLjIw MTEwMjE4Lm9yaWcvZ2RiL21haW4uYwkyMDExLTAyLTE4IDEwOjQ0OjE3LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjIuNTAuMjAxMTAyMTgvZ2RiL21haW4uYwkyMDExLTAyLTE4IDEwOjQ1OjE2 LjAwMDAwMDAwMCArMDEwMAogQEAgLTI0Myw2ICsyNDMsMzYgQEAgY2FwdHVyZWRfY29tbWFuZF9s b29wICh2b2lkICpkYXRhKQogICAgcmV0dXJuIDE7CiAgfQpAQCAtMTU2LDcgKzE1Niw3IEBAIElu ZGV4OiBnZGItNy4yLjUwLjIwMTEwMTA3L2dkYi9tYWluLmMKICBzdGF0aWMgaW50CiAgY2FwdHVy ZWRfbWFpbiAodm9pZCAqZGF0YSkKICB7Ci1AQCAtNzI2LDYgKzc1Niw4IEBAIGNhcHR1cmVkX21h aW4gKHZvaWQgKmRhdGEpCitAQCAtNzI3LDYgKzc1Nyw4IEBAIGNhcHR1cmVkX21haW4gKHZvaWQg KmRhdGEpCiAgCXsKICAJICBzeW1hcmcgPSBhcmd2W29wdGluZF07CiAgCSAgZXhlY2FyZyA9IGFy Z3Zbb3B0aW5kXTsKQEAgLTE2NSw3ICsxNjUsNyBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDEw Ny9nZGIvbWFpbi5jCiAgCSAgb3B0aW5kKys7CiAgCX0KICAKLUBAIC04NjcsMTEgKzg5OSwyNSBA QCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQorQEAgLTg2OCwxMSArOTAwLDI1IEBAIGNhcHR1 cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAgICAgJiYgc3ltYXJnICE9IE5VTEwKICAgICAgICAm JiBzdHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dk Yi1hcmNoZXIucGF0Y2ggYi9nZGItYXJjaGVyLnBhdGNoCmluZGV4IGM3YjYzY2QuLjJiNDQ2MGYg MTAwNjQ0Ci0tLSBhL2dkYi1hcmNoZXIucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci5wYXRjaApAQCAt Miw3ICsyLDcgQEAgaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL1Byb2plY3RBcmNoZXIK IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9BcmNoZXJCcmFuY2hNYW5hZ2VtZW50CiAK IEdJVCBzbmFwc2hvdDoKLWNvbW1pdCA3ZjBmNmFiZDljMTllMTQxMGU2NmViYmUxMGUzZGRlYTFl Y2FjOGQzCitjb21taXQgMjcxYjE0MjUzZjEwZWVhOGM2MGEzMjdjNjNkYmU3MzJhMmFmNTExYQog CiBicmFuY2ggYGFyY2hlcicgLSB0aGUgbWVyZ2Ugb2YgYnJhbmNoZXM6CiBhcmNoZXItamFua3Jh dG9jaHZpbC12bGEKQEAgLTE0LDcgKzE0LDcgQEAgYXJjaGVyLXRyb21leS1weXRob24KIAogCiBk aWZmIC0tZ2l0IGEvZ2RiL01ha2VmaWxlLmluIGIvZ2RiL01ha2VmaWxlLmluCi1pbmRleCA1Zjkx ZTM1Li4wYTIzNzIwIDEwMDY0NAoraW5kZXggYzYwNDlmYS4uNGExNzk3NiAxMDA2NDQKIC0tLSBh L2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCiBAQCAtODEzLDcgKzgxMyw4 IEBAIGFubm90YXRlLmggc2ltLXJlZ25vLmggZGljdGlvbmFyeS5oIGRmcC5oIG1haW4uaCBmcmFt ZS11bndpbmQuaAlcCkBAIC00MSwxMCArNDEsMTAgQEAgaW5kZXggNWY5MWUzNS4uMGEyMzcyMCAx MDA2NDQKICAJJChTSEVMTCkgY29uZmlnLnN0YXR1cyAtLXJlY2hlY2sKICAKIGRpZmYgLS1naXQg YS9nZGIvYWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi1pbmRleCA4OTBlMDkxLi5kMWUxZjhm IDEwMDY0NAoraW5kZXggNDY3ZTRkZi4uNTU1OTE0YyAxMDA2NDQKIC0tLSBhL2dkYi9hZGEtbGFu Zy5jCiArKysgYi9nZGIvYWRhLWxhbmcuYwotQEAgLTExMzcyLDYgKzExMzcyLDcgQEAgYWRhX29w ZXJhdG9yX2xlbmd0aCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBjLCBpbnQg Km9wbGVucCwKK0BAIC0xMTM4OSw2ICsxMTM4OSw3IEBAIGFkYV9vcGVyYXRvcl9sZW5ndGggKGNv bnN0IHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwYywgaW50ICpvcGxlbnAsCiAgCiAgc3Rh dGljIGludAogIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50 IHBvcywKQEAgLTUyLDcgKzUyLDcgQEAgaW5kZXggODkwZTA5MS4uZDFlMWY4ZiAxMDA2NDQKICAJ CSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAq ZGF0YSksCiAgCQkgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTEzODYsMTIgKzExMzg3LDE1IEBA IGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKK0BA IC0xMTQwMywxMiArMTE0MDQsMTUgQEAgYWRhX29wZXJhdG9yX2NoZWNrIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLCBpbnQgcG9zLAogIAlicmVhazsKICAKICAgICAgICBkZWZhdWx0OgpAQCAtMzky LDcgKzM5Miw3IEBAIGluZGV4IGI5YWFmNTQuLmUxZjMyNDIgMTAwNjQ0CiAgCiAgLyogUmV0dXJu IHRoZSBpbm5lcm1vc3Qgc3RhY2sgZnJhbWUgZXhlY3V0aW5nIGluc2lkZSBvZiBCTE9DSywgb3Ig TlVMTAogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCi1p bmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAoraW5kZXggY2E1NmM0My4uNmYyNjliOSAxMDA2 NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKIEBAIC02 Miw2ICs2Miw3IEBACkBAIC01MzAsNyArNTMwLDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAx MDA2NDQKICAgICAgICBpZiAoc29tZV9mYWlsZWQpCiAgCXsKICAJICBmb3IgKGxvYyA9IGJwdC0+ bG9jOyBsb2M7IGxvYyA9IGxvYy0+bmV4dCkKLUBAIC0zNTAxLDYgKzM1MzUsOCBAQCBwcmludF9p dF90eXBpY2FsIChicHN0YXQgYnMpCitAQCAtMzYzNSw2ICszNjY5LDggQEAgcHJpbnRfaXRfdHlw aWNhbCAoYnBzdGF0IGJzKQogICAgICBjYXNlIGJwX3RyYWNlcG9pbnQ6CiAgICAgIGNhc2UgYnBf ZmFzdF90cmFjZXBvaW50OgogICAgICBjYXNlIGJwX2ppdF9ldmVudDoKQEAgLTUzOSw3ICs1Mzks NyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogICAgICBkZWZhdWx0OgogICAgICAg IHJlc3VsdCA9IFBSSU5UX1VOS05PV047CiAgICAgICAgYnJlYWs7Ci1AQCAtMzcyMiw2ICszNzU4 LDggQEAgd2F0Y2hwb2ludF9jaGVjayAodm9pZCAqcCkKK0BAIC0zODU2LDYgKzM4OTIsOCBAQCB3 YXRjaHBvaW50X2NoZWNrICh2b2lkICpwKQogICAgZ2RiX2Fzc2VydCAoYnMtPmJyZWFrcG9pbnRf YXQgIT0gTlVMTCk7CiAgICBiID0gYnMtPmJyZWFrcG9pbnRfYXQ7CiAgCkBAIC01NDgsNyArNTQ4 LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgIC8qIElmIHRoaXMgaXMgYSBs b2NhbCB3YXRjaHBvaW50LCB3ZSBvbmx5IHdhbnQgdG8gY2hlY2sgaWYgdGhlCiAgICAgICB3YXRj aHBvaW50IGZyYW1lIGlzIGluIHNjb3BlIGlmIHRoZSBjdXJyZW50IHRocmVhZCBpcyB0aGUgdGhy ZWFkCiAgICAgICB0aGF0IHdhcyB1c2VkIHRvIGNyZWF0ZSB0aGUgd2F0Y2hwb2ludC4gICovCi1A QCAtMzgzMSwxMyArMzg2OSw3IEBAIHdhdGNocG9pbnRfY2hlY2sgKHZvaWQgKnApCitAQCAtMzk2 NSwxMyArNDAwMyw3IEBAIHdhdGNocG9pbnRfY2hlY2sgKHZvaWQgKnApCiAgCQkgICAiIGRlbGV0 ZWQgYmVjYXVzZSB0aGUgcHJvZ3JhbSBoYXMgbGVmdCB0aGUgYmxvY2sgaW5cblwKICB3aGljaCBp dHMgZXhwcmVzc2lvbiBpcyB2YWxpZC5cbiIpOyAgICAgCiAgCkBAIC01NjMsNyArNTYzLDcgQEAg aW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgICAgICByZXR1cm4gV1BfREVMRVRF RDsKICAgICAgfQotQEAgLTQwNDIsOSArNDA3NCw3IEBAIGJwc3RhdF9jaGVja193YXRjaHBvaW50 IChicHN0YXQgYnMpCitAQCAtNDE3Niw5ICs0MjA4LDcgQEAgYnBzdGF0X2NoZWNrX3dhdGNocG9p bnQgKGJwc3RhdCBicykKICAJICAgIGNhc2UgMDoKICAJICAgICAgLyogRXJyb3IgZnJvbSBjYXRj aF9lcnJvcnMuICAqLwogIAkgICAgICBwcmludGZfZmlsdGVyZWQgKF8oIldhdGNocG9pbnQgJWQg ZGVsZXRlZC5cbiIpLCBiLT5udW1iZXIpOwpAQCAtNTc0LDcgKzU3NCw3IEBAIGluZGV4IDM5ZDli MDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCSAgICAgIC8qIFdlJ3ZlIGFscmVhZHkgcHJpbnRlZCB3aGF0 IG5lZWRzIHRvIGJlIHByaW50ZWQuICAqLwogIAkgICAgICBicy0+cHJpbnRfaXQgPSBwcmludF9p dF9kb25lOwogIAkgICAgICBicmVhazsKLUBAIC00MjUwLDcgKzQyODAsNyBAQCBicHN0YXRfc3Rv cF9zdGF0dXMgKHN0cnVjdCBhZGRyZXNzX3NwYWNlICphc3BhY2UsCitAQCAtNDM4NCw3ICs0NDE0 LDcgQEAgYnBzdGF0X3N0b3Bfc3RhdHVzIChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlLAog IAkgICAgIHdhdGNocG9pbnQgYXMgdHJpZ2dlcmVkIHNvIHRoYXQgd2Ugd2lsbCBoYW5kbGUgdGhl CiAgCSAgICAgb3V0LW9mLXNjb3BlIGV2ZW50LiAgV2UnbGwgZ2V0IHRvIHRoZSB3YXRjaHBvaW50 IG5leHQKICAJICAgICBpdGVyYXRpb24uICAqLwpAQCAtNTgzLDcgKzU4Myw3IEBAIGluZGV4IDM5 ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCSAgICBiLT5yZWxhdGVkX2JyZWFrcG9pbnQtPndhdGNo cG9pbnRfdHJpZ2dlcmVkID0gd2F0Y2hfdHJpZ2dlcmVkX3llczsKICAJfQogICAgICB9Ci1AQCAt NDM3Miw3ICs0NDAyLDcgQEAgaGFuZGxlX2ppdF9ldmVudCAodm9pZCkKK0BAIC00NTA2LDcgKzQ1 MzYsNyBAQCBoYW5kbGVfaml0X2V2ZW50ICh2b2lkKQogIC8qIERlY2lkZSB3aGF0IGluZnJ1biBu ZWVkcyB0byBkbyB3aXRoIHRoaXMgYnBzdGF0LiAgKi8KICAKICBzdHJ1Y3QgYnBzdGF0X3doYXQK QEAgLTU5Miw3ICs1OTIsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIHsKICAg IHN0cnVjdCBicHN0YXRfd2hhdCByZXR2YWw7CiAgICAvKiBXZSBuZWVkIHRvIGRlZmVyIGNhbGxp bmcgYHNvbGliX2FkZCcsIGFzIGFkZGluZyBuZXcgc3ltYm9scwotQEAgLTQzODAsMTIgKzQ0MTAs MTMgQEAgYnBzdGF0X3doYXQgKGJwc3RhdCBicykKK0BAIC00NTE0LDEyICs0NTQ0LDEzIEBAIGJw c3RhdF93aGF0IChicHN0YXQgYnMpCiAgICAgICBhbmQgaGVuY2UgbWF5IGNsZWFyIHVucHJvY2Vz c2VkIGVudHJpZXMgaW4gdGhlIEJTIGNoYWluLiAgKi8KICAgIGludCBzaGxpYl9ldmVudCA9IDA7 CiAgICBpbnQgaml0X2V2ZW50ID0gMDsKQEAgLTYwNyw3ICs2MDcsNyBAQCBpbmRleCAzOWQ5YjAy Li5kNWFiNzBiIDEwMDY0NAogICAgICB7CiAgICAgICAgLyogRXh0cmFjdCB0aGlzIEJTJ3MgYWN0 aW9uLiAgQWZ0ZXIgcHJvY2Vzc2luZyBlYWNoIEJTLCB3ZSBjaGVjawogIAkgaWYgaXRzIGFjdGlv biBvdmVycmlkZXMgYWxsIHdlJ3ZlIHNlZW0gc28gZmFyLiAgKi8KLUBAIC00NTE1LDYgKzQ1NDYs MjAgQEAgYnBzdGF0X3doYXQgKGJwc3RhdCBicykKK0BAIC00NjQ5LDYgKzQ2ODAsMjAgQEAgYnBz dGF0X3doYXQgKGJwc3RhdCBicykKICAJICAgICBvdXQgYWxyZWFkeS4gICovCiAgCSAgaW50ZXJu YWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKICAJCQkgIF8oImJwc3RhdF93aGF0OiB0cmFj ZXBvaW50IGVuY291bnRlcmVkIikpOwpAQCAtNjI4LDcgKzYyOCw3IEBAIGluZGV4IDM5ZDliMDIu LmQ1YWI3MGIgMTAwNjQ0CiAgCWRlZmF1bHQ6CiAgCSAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9f LCBfX0xJTkVfXywKICAJCQkgIF8oImJwc3RhdF93aGF0OiB1bmhhbmRsZWQgYnB0eXBlICVkIiks IChpbnQpIGJwdHlwZSk7Ci1AQCAtNDU1Miw2ICs0NTk3LDIxIEBAIGJwc3RhdF93aGF0IChicHN0 YXQgYnMpCitAQCAtNDY4Niw2ICs0NzMxLDIxIEBAIGJwc3RhdF93aGF0IChicHN0YXQgYnMpCiAg ICAgICAgaGFuZGxlX2ppdF9ldmVudCAoKTsKICAgICAgfQogIApAQCAtNjUwLDcgKzY1MCw3IEBA IGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgICByZXR1cm4gcmV0dmFsOwogIH0KICAK LUBAIC00NjczLDYgKzQ3MzMsOCBAQCBicHR5cGVfc3RyaW5nIChlbnVtIGJwdHlwZSB0eXBlKQor QEAgLTQ4MDcsNiArNDg2Nyw4IEBAIGJwdHlwZV9zdHJpbmcgKGVudW0gYnB0eXBlIHR5cGUpCiAg ICAgIHticF9mYXN0X3RyYWNlcG9pbnQsICJmYXN0IHRyYWNlcG9pbnQifSwKICAgICAge2JwX3N0 YXRpY190cmFjZXBvaW50LCAic3RhdGljIHRyYWNlcG9pbnQifSwKICAgICAge2JwX2ppdF9ldmVu dCwgImppdCBldmVudHMifSwKQEAgLTY1OSw3ICs2NTksNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFi NzBiIDEwMDY0NAogICAgfTsKICAKICAgIGlmICgoKGludCkgdHlwZSA+PSAoc2l6ZW9mIChicHR5 cGVzKSAvIHNpemVvZiAoYnB0eXBlc1swXSkpKQotQEAgLTQ4MjAsNiArNDg4Miw4IEBAIHByaW50 X29uZV9icmVha3BvaW50X2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKK0BAIC00OTU0 LDYgKzUwMTYsOCBAQCBwcmludF9vbmVfYnJlYWtwb2ludF9sb2NhdGlvbiAoc3RydWN0IGJyZWFr cG9pbnQgKmIsCiAgICAgICAgY2FzZSBicF9mYXN0X3RyYWNlcG9pbnQ6CiAgICAgICAgY2FzZSBi cF9zdGF0aWNfdHJhY2Vwb2ludDoKICAgICAgICBjYXNlIGJwX2ppdF9ldmVudDoKQEAgLTY2OCw3 ICs2NjgsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIAlpZiAob3B0cy5hZGRy ZXNzcHJpbnQpCiAgCSAgewogIAkgICAgYW5ub3RhdGVfZmllbGQgKDQpOwotQEAgLTUxMDEsNyAr NTE2NSw4IEBAIHVzZXJfc2V0dGFibGVfYnJlYWtwb2ludCAoY29uc3Qgc3RydWN0IGJyZWFrcG9p bnQgKmIpCitAQCAtNTIzNSw3ICs1Mjk5LDggQEAgdXNlcl9zZXR0YWJsZV9icmVha3BvaW50IChj b25zdCBzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAJICB8fCBiLT50eXBlID09IGJwX2NhdGNocG9p bnQKICAJICB8fCBiLT50eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQKICAJICB8fCBpc190 cmFjZXBvaW50IChiKQpAQCAtNjc4LDcgKzY3OCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIg MTAwNjQ0CiAgfQogIAogIC8qIFJldHVybiB0cnVlIGlmIHRoaXMgYnJlYWtwb2ludCB3YXMgc2V0 IGJ5IHRoZSB1c2VyLCBmYWxzZSBpZiBpdCBpcwotQEAgLTU1OTAsNiArNTY1NSw4IEBAIGFsbG9j YXRlX2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYnB0KQorQEAgLTU3MjQsNiArNTc4 OSw4IEBAIGFsbG9jYXRlX2JwX2xvY2F0aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYnB0KQogICAg ICBjYXNlIGJwX2xvbmdqbXBfbWFzdGVyOgogICAgICBjYXNlIGJwX3N0ZF90ZXJtaW5hdGVfbWFz dGVyOgogICAgICBjYXNlIGJwX2V4Y2VwdGlvbl9tYXN0ZXI6CkBAIC02ODcsNyArNjg3LDcgQEAg aW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgICAgICBsb2MtPmxvY190eXBlID0gYnBf bG9jX3NvZnR3YXJlX2JyZWFrcG9pbnQ7CiAgICAgICAgYnJlYWs7CiAgICAgIGNhc2UgYnBfaGFy ZHdhcmVfYnJlYWtwb2ludDoKLUBAIC01Njc5LDYgKzU3NDYsNyBAQCBzZXRfcmF3X2JyZWFrcG9p bnRfd2l0aG91dF9sb2NhdGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtNTgxMyw2 ICs1ODgwLDcgQEAgc2V0X3Jhd19icmVha3BvaW50X3dpdGhvdXRfbG9jYXRpb24gKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLAogICAgYi0+b3BzID0gTlVMTDsKICAgIGItPmNvbmRpdGlvbl9ub3Rf cGFyc2VkID0gMDsKICAgIGItPnB5X2JwX29iamVjdCA9IE5VTEw7CkBAIC02OTUsNyArNjk1LDcg QEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgIC8qIEFkZCB0aGlzIGJyZWFr cG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY2hhaW4gc28gdGhhdCBhIGxpc3Qgb2YKICAgICAgIGJy ZWFrcG9pbnRzIHdpbGwgY29tZSBvdXQgaW4gb3JkZXIgb2YgaW5jcmVhc2luZyBudW1iZXJzLiAg Ki8KLUBAIC01Njk3LDcgKzU3NjUsNyBAQCBzZXRfcmF3X2JyZWFrcG9pbnRfd2l0aG91dF9sb2Nh dGlvbiAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCitAQCAtNTgzMSw3ICs1ODk5LDcgQEAgc2V0 X3Jhd19icmVha3BvaW50X3dpdGhvdXRfbG9jYXRpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAogIAogIC8qIEluaXRpYWxpemUgbG9jLT5mdW5jdGlvbl9uYW1lLiAgKi8KICBzdGF0aWMgdm9p ZApAQCAtNzA0LDcgKzcwNCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgewog ICAgZ2RiX2Fzc2VydCAobG9jLT5vd25lciAhPSBOVUxMKTsKICAKLUBAIC01NzA1LDggKzU3NzMs MjkgQEAgc2V0X2JyZWFrcG9pbnRfbG9jYXRpb25fZnVuY3Rpb24gKHN0cnVjdCBicF9sb2NhdGlv biAqbG9jKQorQEAgLTU4MzksOCArNTkwNywyOSBAQCBzZXRfYnJlYWtwb2ludF9sb2NhdGlvbl9m dW5jdGlvbiAoc3RydWN0IGJwX2xvY2F0aW9uICpsb2MpCiAgICAgICAgfHwgbG9jLT5vd25lci0+ dHlwZSA9PSBicF9oYXJkd2FyZV9icmVha3BvaW50CiAgICAgICAgfHwgaXNfdHJhY2Vwb2ludCAo bG9jLT5vd25lcikpCiAgICAgIHsKQEAgLTczNiw3ICs3MzYsNyBAQCBpbmRleCAzOWQ5YjAyLi5k NWFiNzBiIDEwMDY0NAogICAgICAgIGlmIChsb2MtPmZ1bmN0aW9uX25hbWUpCiAgCWxvYy0+ZnVu Y3Rpb25fbmFtZSA9IHhzdHJkdXAgKGxvYy0+ZnVuY3Rpb25fbmFtZSk7CiAgICAgIH0KLUBAIC01 NzgxLDcgKzU4NzAsOCBAQCBzZXRfcmF3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLAorQEAgLTU5MTUsNyArNjAwNCw4IEBAIHNldF9yYXdfYnJlYWtwb2ludCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCiAgICBiLT5sb2MtPnNlY3Rpb24gPSBzYWwuc2VjdGlvbjsKICAgIGIt PmxpbmVfbnVtYmVyID0gc2FsLmxpbmU7CiAgCkBAIC03NDYsNyArNzQ2LDcgQEAgaW5kZXggMzlk OWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgIGJyZWFrcG9pbnRzX2NoYW5nZWQgKCk7CiAgCi1A QCAtNjg5OCw3ICs2OTg4LDcgQEAgY2xvbmVfbW9tZW50YXJ5X2JyZWFrcG9pbnQgKHN0cnVjdCBi cmVha3BvaW50ICpvcmlnKQorQEAgLTcwMzIsNyArNzEyMiw3IEBAIGNsb25lX21vbWVudGFyeV9i cmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqb3JpZykKICAKICAgIGNvcHkgPSBzZXRfcmF3 X2JyZWFrcG9pbnRfd2l0aG91dF9sb2NhdGlvbiAob3JpZy0+Z2RiYXJjaCwgb3JpZy0+dHlwZSk7 CiAgICBjb3B5LT5sb2MgPSBhbGxvY2F0ZV9icF9sb2NhdGlvbiAoY29weSk7CkBAIC03NTUsNyAr NzU1LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2NDQKICAKICAgIGNvcHktPmxvYy0+ Z2RiYXJjaCA9IG9yaWctPmxvYy0+Z2RiYXJjaDsKICAgIGNvcHktPmxvYy0+cmVxdWVzdGVkX2Fk ZHJlc3MgPSBvcmlnLT5sb2MtPnJlcXVlc3RlZF9hZGRyZXNzOwotQEAgLTY5OTgsNiArNzA4OCw3 IEBAIG1lbnRpb24gKHN0cnVjdCBicmVha3BvaW50ICpiKQorQEAgLTcxMzIsNiArNzIyMiw3IEBA IG1lbnRpb24gKHN0cnVjdCBicmVha3BvaW50ICpiKQogIAlkb19jbGVhbnVwcyAodWlfb3V0X2No YWluKTsKICAJYnJlYWs7CiAgICAgICAgY2FzZSBicF9icmVha3BvaW50OgpAQCAtNzYzLDcgKzc2 Myw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCWlmICh1aV9vdXRfaXNfbWlf bGlrZV9wICh1aW91dCkpCiAgCSAgewogIAkgICAgc2F5X3doZXJlID0gMDsKLUBAIC03MDA4LDYg KzcwOTksOCBAQCBtZW50aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKK0BAIC03MTQyLDYgKzcy MzMsOCBAQCBtZW50aW9uIChzdHJ1Y3QgYnJlYWtwb2ludCAqYikKICAJZWxzZQogIAkgIHByaW50 Zl9maWx0ZXJlZCAoXygiQnJlYWtwb2ludCIpKTsKICAJcHJpbnRmX2ZpbHRlcmVkIChfKCIgJWQi KSwgYi0+bnVtYmVyKTsKQEAgLTc3Miw3ICs3NzIsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBi IDEwMDY0NAogIAlzYXlfd2hlcmUgPSAxOwogIAlicmVhazsKICAgICAgICBjYXNlIGJwX2hhcmR3 YXJlX2JyZWFrcG9pbnQ6Ci1AQCAtNzA2Nyw2ICs3MTYwLDcgQEAgbWVudGlvbiAoc3RydWN0IGJy ZWFrcG9pbnQgKmIpCitAQCAtNzIwMSw2ICs3Mjk0LDcgQEAgbWVudGlvbiAoc3RydWN0IGJyZWFr cG9pbnQgKmIpCiAgICAgICAgY2FzZSBicF9sb25nam1wX21hc3RlcjoKICAgICAgICBjYXNlIGJw X3N0ZF90ZXJtaW5hdGVfbWFzdGVyOgogICAgICAgIGNhc2UgYnBfZXhjZXB0aW9uX21hc3RlcjoK QEAgLTc4MCw3ICs3ODAsNyBAQCBpbmRleCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIAlicmVh azsKICAgICAgICB9CiAgCi1AQCAtNzEyNyw3ICs3MjIxLDggQEAgYWRkX2xvY2F0aW9uX3RvX2Jy ZWFrcG9pbnQgKHN0cnVjdCBicmVha3BvaW50ICpiLAorQEAgLTcyNjEsNyArNzM1NSw4IEBAIGFk ZF9sb2NhdGlvbl90b19icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKICAgIGdkYl9h c3NlcnQgKGxvYy0+cHNwYWNlICE9IE5VTEwpOwogICAgbG9jLT5zZWN0aW9uID0gc2FsLT5zZWN0 aW9uOwogIApAQCAtNzkwLDcgKzc5MCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0 CiAgICByZXR1cm4gbG9jOwogIH0KICAMCi1AQCAtODU3Niw2ICs4NjcxLDcgQEAgd2F0Y2hfY29t bWFuZF8xIChjaGFyICphcmcsIGludCBhY2Nlc3NmbGFnLCBpbnQgZnJvbV90dHksCitAQCAtODcx MCw2ICs4ODA1LDcgQEAgd2F0Y2hfY29tbWFuZF8xIChjaGFyICphcmcsIGludCBhY2Nlc3NmbGFn LCBpbnQgZnJvbV90dHksCiAgICBiID0gc2V0X3Jhd19icmVha3BvaW50X3dpdGhvdXRfbG9jYXRp b24gKE5VTEwsIGJwX3R5cGUpOwogICAgc2V0X2JyZWFrcG9pbnRfbnVtYmVyIChpbnRlcm5hbCwg Yik7CiAgICBiLT50aHJlYWQgPSB0aHJlYWQ7CkBAIC03OTgsNyArNzk4LDcgQEAgaW5kZXggMzlk OWIwMi4uZDVhYjcwYiAxMDA2NDQKICAgIGItPmRpc3Bvc2l0aW9uID0gZGlzcF9kb250dG91Y2g7 CiAgICBiLT5leHAgPSBleHA7CiAgICBiLT5leHBfdmFsaWRfYmxvY2sgPSBleHBfdmFsaWRfYmxv Y2s7Ci1AQCAtOTc0Nyw2ICs5ODQzLDkgQEAgdXBkYXRlX2dsb2JhbF9sb2NhdGlvbl9saXN0IChp bnQgc2hvdWxkX2luc2VydCkKK0BAIC05ODgxLDYgKzk5NzcsOSBAQCB1cGRhdGVfZ2xvYmFsX2xv Y2F0aW9uX2xpc3QgKGludCBzaG91bGRfaW5zZXJ0KQogICAgICAgIGludCBrZWVwX2luX3Rhcmdl dCA9IDA7CiAgICAgICAgaW50IHJlbW92ZWQgPSAwOwogIApAQCAtODA4LDcgKzgwOCw3IEBAIGlu ZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgICAgICAgLyogU2tpcCBMT0NQIGVudHJpZXMg d2hpY2ggd2lsbCBkZWZpbml0ZWx5IG5ldmVyIGJlIG5lZWRlZC4KICAJIFN0b3AgZWl0aGVyIGF0 IG9yIGJlaW5nIHRoZSBvbmUgbWF0Y2hpbmcgT0xEX0xPQy4gICovCiAgICAgICAgd2hpbGUgKGxv Y3AgPCBicF9sb2NhdGlvbiArIGJwX2xvY2F0aW9uX2NvdW50Ci1AQCAtMTAwNjMsMTIgKzEwMTYy LDIwIEBAIGRlbGV0ZV9icmVha3BvaW50IChzdHJ1Y3QgYnJlYWtwb2ludCAqYnB0KQorQEAgLTEw MTk3LDEyICsxMDI5NiwyMCBAQCBkZWxldGVfYnJlYWtwb2ludCAoc3RydWN0IGJyZWFrcG9pbnQg KmJwdCkKICAKICAgIC8qIEF0IGxlYXN0IGF2b2lkIHRoaXMgc3RhbGUgcmVmZXJlbmNlIHVudGls IHRoZSByZWZlcmVuY2UgY291bnRpbmcKICAgICAgIG9mIGJyZWFrcG9pbnRzIGdldHMgcmVzb2x2 ZWQuICAqLwpAQCAtODM0LDcgKzgzNCw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0 CiAgICAgIH0KICAKICAgIG9ic2VydmVyX25vdGlmeV9icmVha3BvaW50X2RlbGV0ZWQgKGJwdC0+ bnVtYmVyKTsKLUBAIC0xMDM5OSw2ICsxMDUwNiw5IEBAIHVwZGF0ZV9icmVha3BvaW50X2xvY2F0 aW9ucyAoc3RydWN0IGJyZWFrcG9pbnQgKmIsCitAQCAtMTA1MzMsNiArMTA2NDAsOSBAQCB1cGRh dGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVha3BvaW50ICpiLAogICAgICByZXR1 cm47CiAgCiAgICBiLT5sb2MgPSBOVUxMOwpAQCAtODQ0LDcgKzg0NCw3IEBAIGluZGV4IDM5ZDli MDIuLmQ1YWI3MGIgMTAwNjQ0CiAgCiAgICBmb3IgKGkgPSAwOyBpIDwgc2Fscy5uZWx0czsgKytp KQogICAgICB7Ci1AQCAtMTA0MjYsMTEgKzEwNTM2LDcgQEAgdXBkYXRlX2JyZWFrcG9pbnRfbG9j YXRpb25zIChzdHJ1Y3QgYnJlYWtwb2ludCAqYiwKK0BAIC0xMDU2MCwxMSArMTA2NzAsNyBAQCB1 cGRhdGVfYnJlYWtwb2ludF9sb2NhdGlvbnMgKHN0cnVjdCBicmVha3BvaW50ICpiLAogIAkgICAg fQogIAl9CiAgCkBAIC04NTcsNyArODU3LDcgQEAgaW5kZXggMzlkOWIwMi4uZDVhYjcwYiAxMDA2 NDQKICAJYi0+c291cmNlX2ZpbGUgPSB4c3RyZHVwIChzYWxzLnNhbHNbaV0uc3ltdGFiLT5maWxl bmFtZSk7CiAgCiAgICAgICAgaWYgKGItPmxpbmVfbnVtYmVyID09IDApCi1AQCAtMTA1MTMsNiAr MTA2MTksNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJpbnQpCitAQCAtMTA2NDcs NiArMTA3NTMsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJpbnQpCiAgICAgIGNh c2UgYnBfdHJhY2Vwb2ludDoKICAgICAgY2FzZSBicF9mYXN0X3RyYWNlcG9pbnQ6CiAgICAgIGNh c2UgYnBfc3RhdGljX3RyYWNlcG9pbnQ6CkBAIC04NjUsNyArODY1LDcgQEAgaW5kZXggMzlkOWIw Mi4uZDVhYjcwYiAxMDA2NDQKICAgICAgICAvKiBEbyBub3QgYXR0ZW1wdCB0byByZS1zZXQgYnJl YWtwb2ludHMgZGlzYWJsZWQgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgICAgIGlmIChiLT5lbmFi bGVfc3RhdGUgPT0gYnBfc3RhcnR1cF9kaXNhYmxlZCkKICAJcmV0dXJuIDA7Ci1AQCAtMTA2ODMs NiArMTA3OTAsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJpbnQpCitAQCAtMTA4 MTcsNiArMTA5MjQsNyBAQCBicmVha3BvaW50X3JlX3NldF9vbmUgKHZvaWQgKmJpbnQpCiAgICAg IGNhc2UgYnBfZXhjZXB0aW9uOgogICAgICBjYXNlIGJwX2V4Y2VwdGlvbl9yZXN1bWU6CiAgICAg IGNhc2UgYnBfaml0X2V2ZW50OgpAQCAtODczLDcgKzg3Myw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1 YWI3MGIgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAKLUBAIC0xMDg1MCwxMSArMTA5 NTgsMjUgQEAgbWFwX2JyZWFrcG9pbnRfbnVtYmVycyAoY2hhciAqYXJncywgdm9pZCAoKmZ1bmN0 aW9uKSAoc3RydWN0IGJyZWFrcG9pbnQgKiwKK0BAIC0xMDk4MSwxMSArMTEwODksMjUgQEAgbWFw X2JyZWFrcG9pbnRfbnVtYmVycyAoY2hhciAqYXJncywgdm9pZCAoKmZ1bmN0aW9uKSAoc3RydWN0 IGJyZWFrcG9pbnQgKiwKICAJICBBTExfQlJFQUtQT0lOVFNfU0FGRSAoYiwgdG1wKQogIAkgICAg aWYgKGItPm51bWJlciA9PSBudW0pCiAgCSAgICAgIHsKQEAgLTkwMyw3ICs5MDMsNyBAQCBpbmRl eCAzOWQ5YjAyLi5kNWFiNzBiIDEwMDY0NAogIAkJYnJlYWs7CiAgCSAgICAgIH0KICAJICBpZiAo bWF0Y2ggPT0gMCkKLUBAIC0xMTk2OSw2ICsxMjA5MSwyMiBAQCBhbGxfdHJhY2Vwb2ludHMgKCkK K0BAIC0xMjEwMCw2ICsxMjIyMiwyMiBAQCBhbGxfdHJhY2Vwb2ludHMgKCkKICAgIHJldHVybiB0 cF92ZWM7CiAgfQogIApAQCAtOTI2LDcgKzkyNiw3IEBAIGluZGV4IDM5ZDliMDIuLmQ1YWI3MGIg MTAwNjQ0CiAgDAogIC8qIFRoaXMgaGVscCBzdHJpbmcgaXMgdXNlZCBmb3IgdGhlIGJyZWFrLCBo YnJlYWssIHRicmVhayBhbmQgdGhicmVhawogICAgIGNvbW1hbmRzLiAgSXQgaXMgZGVmaW5lZCBh cyBhIG1hY3JvIHRvIHByZXZlbnQgZHVwbGljYXRpb24uCi1AQCAtMTIwNTQsNiArMTIxOTIsMTA3 IEBAIGl0ZXJhdGVfb3Zlcl9icmVha3BvaW50cyAoaW50ICgqY2FsbGJhY2spIChzdHJ1Y3QgYnJl YWtwb2ludCAqLCB2b2lkICopLAorQEAgLTEyMTg1LDYgKzEyMzIzLDEwNyBAQCBpdGVyYXRlX292 ZXJfYnJlYWtwb2ludHMgKGludCAoKmNhbGxiYWNrKSAoc3RydWN0IGJyZWFrcG9pbnQgKiwgdm9p ZCAqKSwKICAgIHJldHVybiBOVUxMOwogIH0KICAKQEAgLTEwMzQsNyArMTAzNCw3IEBAIGluZGV4 IDM5ZDliMDIuLmQ1YWI3MGIgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXplX2JyZWFrcG9pbnQg KHZvaWQpCiAgewotQEAgLTEyNTg4LDQgKzEyODI3LDUgQEAgaW5mZXJpb3IgaW4gYWxsLXN0b3Ag bW9kZSwgZ2RiIGJlaGF2ZXMgYXMgaWYgYWx3YXlzLWluc2VydGVkIG1vZGUgaXMgb2ZmLiIpLAor QEAgLTEyNzIxLDQgKzEyOTYwLDUgQEAgaW5mZXJpb3IgaW4gYWxsLXN0b3AgbW9kZSwgZ2RiIGJl aGF2ZXMgYXMgaWYgYWx3YXlzLWluc2VydGVkIG1vZGUgaXMgb2ZmLiIpLAogICAgYXV0b21hdGlj X2hhcmR3YXJlX2JyZWFrcG9pbnRzID0gMTsKICAKICAgIG9ic2VydmVyX2F0dGFjaF9hYm91dF90 b19wcm9jZWVkIChicmVha3BvaW50X2Fib3V0X3RvX3Byb2NlZWQpOwpAQCAtMTEyMSw3ICsxMTIx LDcgQEAgaW5kZXggOTQwOWRkZS4uZjBmYTRjNyAxMDA2NDQKICBleHRlcm4gY2hhciAqeGZ1bGxw YXRoIChjb25zdCBjaGFyICopOwogIAogZGlmZiAtLWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8g Yi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1pbmRleCA2YTNjN2RlLi5iMjE2NWY4IDEwMDY0NAoraW5k ZXggZTE2MDY1Yi4uY2RiNDRlMyAxMDA2NDQKIC0tLSBhL2dkYi9kb2MvZ2RiLnRleGluZm8KICsr KyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KIEBAIC0xMTc3LDYgKzExNzcsMTYgQEAgZm9yIHJlbW90 ZSBkZWJ1Z2dpbmcuCkBAIC0xMTQxLDcgKzExNDEsNyBAQCBpbmRleCA2YTNjN2RlLi5iMjE2NWY4 IDEwMDY0NAogIEBjIHJlc29sdmUgdGhlIHNpdHVhdGlvbiBvZiB0aGVzZSBldmVudHVhbGx5CiAg QGl0ZW0gLXR1aQogIEBjaW5kZXggQGNvZGV7LS10dWl9Ci1AQCAtMjA2NTIsOCArMjA2NjIsNiBA QCBjb250YWluaW5nIEBjb2Rle2VuZH0uICBGb3IgZXhhbXBsZToKK0BAIC0yMDY3Nyw4ICsyMDY4 Nyw2IEBAIGNvbnRhaW5pbmcgQGNvZGV7ZW5kfS4gIEZvciBleGFtcGxlOgogIAogIEBzbWFsbGV4 YW1wbGUKICAoQHZhbHVle0dEQlB9KSBweXRob24KQEAgLTExNTAsNyArMTE1MCw3IEBAIGluZGV4 IDZhM2M3ZGUuLmIyMTY1ZjggMTAwNjQ0CiAgPnByaW50IDIzCiAgPmVuZAogIDIzCi1AQCAtMjA2 NjYsNiArMjA2NzQsMTQgQEAgaW4gYSBQeXRob24gc2NyaXB0LiAgVGhpcyBjYW4gYmUgY29udHJv bGxlZCB1c2luZyBAY29kZXttYWludCBzZXQKK0BAIC0yMDY5MSw2ICsyMDY5OSwxNCBAQCBpbiBh IFB5dGhvbiBzY3JpcHQuICBUaGlzIGNhbiBiZSBjb250cm9sbGVkIHVzaW5nIEBjb2Rle21haW50 IHNldAogIHB5dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle29ufSwgdGhlIGRlZmF1bHQsIHRo ZW4gUHl0aG9uIHN0YWNrCiAgcHJpbnRpbmcgaXMgZW5hYmxlZDsgaWYgQGNvZGV7b2ZmfSwgdGhl biBQeXRob24gc3RhY2sgcHJpbnRpbmcgaXMKICBkaXNhYmxlZC4KQEAgLTExNjUsNyArMTE2NSw3 IEBAIGluZGV4IDZhM2M3ZGUuLmIyMTY1ZjggMTAwNjQ0CiAgQGVuZCB0YWJsZQogIAogIEl0IGlz IGFsc28gcG9zc2libGUgdG8gZXhlY3V0ZSBhIFB5dGhvbiBzY3JpcHQgZnJvbSB0aGUgQHZhbHVl e0dEQk59Ci1AQCAtMjA2ODcsNiArMjA3MDMsMTQgQEAgYW5kIHRodXMgaXMgYWx3YXlzIGF2YWls YWJsZS4KK0BAIC0yMDcxMiw2ICsyMDcyOCwxNCBAQCBhbmQgdGh1cyBpcyBhbHdheXMgYXZhaWxh YmxlLgogIEBjaW5kZXggcHl0aG9uIGFwaQogIEBjaW5kZXggcHJvZ3JhbW1pbmcgaW4gcHl0aG9u CiAgCkBAIC0xMzQ0LDcgKzEzNDQsNyBAQCBpbmRleCBhZmU2ZGRlLi5kMzY0YjE0IDEwMDY0NAog IAkgIGVycm9yIChfKCJVbmhhbmRsZWQgZHdhcmYgZXhwcmVzc2lvbiBvcGNvZGUgMHgleCIpLCBv cCk7CiAgCX0KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyZXhwci5oIGIvZ2RiL2R3YXJmMmV4cHIu aAotaW5kZXggMzg1OGRjOC4uYTE3MjU4NSAxMDA2NDQKK2luZGV4IDYyMDI2OWYuLmM2ZmM2NGYg MTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYyZXhwci5oCiArKysgYi9nZGIvZHdhcmYyZXhwci5oCiBA QCAtMTE0LDkgKzExNCwxNSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0CkBAIC0xMzY1LDcg KzEzNjUsNyBAQCBpbmRleCAzODU4ZGM4Li5hMTcyNTg1IDEwMDY0NAogICAgLyogVGhlIGN1cnJl bnQgZGVwdGggb2YgZHdhcmYgZXhwcmVzc2lvbiByZWN1cnNpb24sIHZpYSBEV19PUF9jYWxsKiwK ICAgICAgIERXX09QX2ZicmVnLCBEV19PUF9wdXNoX29iamVjdF9hZGRyZXNzLCBldGMuLCBhbmQg dGhlIG1heGltdW0KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9j LmMKLWluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0CitpbmRleCA0ZDMxYWZhLi5mZDBjMTg1 IDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCiArKysgYi9nZGIvZHdhcmYybG9jLmMKIEBA IC0xMzQsNiArMTM0LDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KQEAgLTE2MDIsOCArMTYw Miw3IEBAIGluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0CiAgCiAtICBjdHggPSBuZXdfZHdh cmZfZXhwcl9jb250ZXh0ICgpOwogLSAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX2ZyZWVfZHdh cmZfZXhwcl9jb250ZXh0IChjdHgpOwotKyAgY3R4ID0gZHdhcmZfZXhwcl9wcmVwX2N0eCAoZnJh bWUsIGRhdGEsIHNpemUsIHBlcl9jdSk7Ci0gCistCiAtICBjdHgtPmdkYmFyY2ggPSBnZXRfb2Jq ZmlsZV9hcmNoIChvYmpmaWxlKTsKIC0gIGN0eC0+YWRkcl9zaXplID0gZHdhcmYyX3Blcl9jdV9h ZGRyX3NpemUgKHBlcl9jdSk7CiAtICBjdHgtPm9mZnNldCA9IGR3YXJmMl9wZXJfY3VfdGV4dF9v ZmZzZXQgKHBlcl9jdSk7CkBAIC0xNjE1LDcgKzE2MTQsOCBAQCBpbmRleCBkOTU4MGM2Li41NTll MGI1IDEwMDY0NAogLSAgY3R4LT5nZXRfZnJhbWVfcGMgPSBkd2FyZl9leHByX2ZyYW1lX3BjOwog LSAgY3R4LT5nZXRfdGxzX2FkZHJlc3MgPSBkd2FyZl9leHByX3Rsc19hZGRyZXNzOwogLSAgY3R4 LT5kd2FyZl9jYWxsID0gZHdhcmZfZXhwcl9kd2FyZl9jYWxsOwotLQorKyAgY3R4ID0gZHdhcmZf ZXhwcl9wcmVwX2N0eCAoZnJhbWUsIGRhdGEsIHNpemUsIHBlcl9jdSk7CisgCiAtICBkd2FyZl9l eHByX2V2YWwgKGN0eCwgZGF0YSwgc2l6ZSk7CiAgICBpZiAoY3R4LT5udW1fcGllY2VzID4gMCkK ICAgICAgewpAQCAtMTYzNiw4ICsxNjM2LDggQEAgaW5kZXggZDk1ODBjNi4uNTU5ZTBiNSAxMDA2 NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlX2xhenkgKHR5cGUpOwogIAkgICAgVkFM VUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5OwogIAkgICAgaWYgKGluX3N0YWNrX21lbW9y eSkKLUBAIC0yODIxLDExICsyOTc5LDUxIEBAIGxvY2xpc3RfdHJhY2Vwb2ludF92YXJfcmVmIChz dHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJCSBkbGJh dG9uLT5wZXJfY3UpOworQEAgLTI4MzEsMTEgKzI5ODksNTEgQEAgbG9jbGlzdF90cmFjZXBvaW50 X3Zhcl9yZWYgKHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs CisgCQkJICAgICAgIGRsYmF0b24tPnBlcl9jdSk7CiAgfQogIAogLS8qIFRoZSBzZXQgb2YgbG9j YXRpb24gZnVuY3Rpb25zIHVzZWQgd2l0aCB0aGUgRFdBUkYtMiBleHByZXNzaW9uCkBAIC0xNjkx LDEwICsxNjkxLDEwIEBAIGluZGV4IGQ5NTgwYzYuLjU1OWUwYjUgMTAwNjQ0CiArICBtaXNzaW5n X3RyYWNlcG9pbnRfdmFyX3JlZgogK307CiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5oIGIv Z2RiL2R3YXJmMmxvYy5oCi1pbmRleCBlZTUyNTA2Li42YTc3YzNmIDEwMDY0NAoraW5kZXggOTZh NDkwZS4uYjBlYmIwNiAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJsb2MuaAogKysrIGIvZ2RiL2R3 YXJmMmxvYy5oCi1AQCAtMTA1LDUgKzEwNSwxNCBAQCBzdHJ1Y3QgZHdhcmYyX2xvY2xpc3RfYmF0 b24KK0BAIC0xMDcsNiArMTA3LDE1IEBAIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbgogIAog IGV4dGVybiBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jZXhwcl9m dW5jczsKICBleHRlcm4gY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9vcHMgZHdhcmYyX2xv Y2xpc3RfZnVuY3M7CkBAIC0xNzA4LDkgKzE3MDgsMTAgQEAgaW5kZXggZWU1MjUwNi4uNmE3N2Mz ZiAxMDA2NDQKICtleHRlcm4gaW50IGR3YXJmX2xvY2xpc3RfYmF0b25fZXZhbCAoc3RydWN0IGR3 YXJmMl9sb2NsaXN0X2JhdG9uICpkbGxiYXRvbiwKICsJCQkJICAgICBzdHJ1Y3QgdHlwZSAqdHlw ZSwgQ09SRV9BRERSICphZGRycCk7CiAgCi0gI2VuZGlmIC8qIGR3YXJmMmxvYy5oICovCisgLyog Q29tcGlsZSBhIERXQVJGIGxvY2F0aW9uIGV4cHJlc3Npb24gdG8gYW4gYWdlbnQgZXhwcmVzc2lv bi4KKyAgICAKIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQu YwotaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKK2luZGV4IDA4YjgwNGEuLmE5MDk5YmUg MTAwNjQ0CiAtLS0gYS9nZGIvZHdhcmYycmVhZC5jCiArKysgYi9nZGIvZHdhcmYycmVhZC5jCiBA QCAtMTIxMSw2ICsxMjExLDkgQEAgc3RhdGljIHZvaWQgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChz dHJ1Y3QgZHdhcmYyX2N1ICpjdSwKQEAgLTE3ODIsNyArMTc4Myw3IEBAIGluZGV4IDgzN2ZhM2Iu LjMyN2JkNzAgMTAwNjQ0CiAgICBzdHJ1Y3QgY2xlYW51cCAqYmFja190bzsKICAgIGNoYXIgKm5h bWU7CiAgCi1AQCAtNzM3OCwxNyArNzQxMCwxMSBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC03Mzc4LDE3ICs3NDEwLDE5 IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KQogICAgdHlwZSA9IGVsZW1lbnRfdHlwZTsKICAKICAgIGlmIChyZWFkX2FycmF5X29y ZGVyIChkaWUsIGN1KSA9PSBEV19PUkRfY29sX21ham9yKQpAQCAtMTgwMiwxMCArMTgwMywxOCBA QCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAogKyAgZWxzZSAvKiAocmVhZF9hcnJheV9v cmRlciAoZGllLCBjdSkgPT0gRFdfT1JEX3Jvd19tYWpvcikgKi8KICsgICAgZm9yIChpID0gbmRp bSAtIDE7IGkgPj0gMDsgaS0tKQogKyAgICAgIHR5cGUgPSBjcmVhdGVfc2luZ2xlX2FycmF5X2Rp bWVuc2lvbiAodHlwZSwgcmFuZ2VfdHlwZXNbaV0sIGRpZSwgY3UpOworKworKyAgLyogRGF0YSBs b2NhdGlvbnMgc2hvdWxkIGJlIHNldCBvbmx5IGZvciB0aGUgb3V0ZXJtb3N0IGRpbWVuc2lvbiBh cyB0aGV5CisrICAgICB3b3VsZCBiZSBjb25mdXNpbmcgZm9yIHRoZSBkZXJlZmVyZW5jZWQgb2Zm c2V0IG9uIHRoZSBpbm5lciBvbmVzLiAgKi8KKysgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBE V19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7CisrICBpZiAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRy KSkKKysgICAgVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJGX0JMT0NLICh0eXBlKQorKyAgICAgID0g ZHdhcmYyX2F0dHJfdG9fbG9jZXhwcl9iYXRvbiAoYXR0ciwgY3UpOworKyAgZ2RiX2Fzc2VydCAo IVRZUEVfREFUQV9MT0NBVElPTl9JU19BRERSICh0eXBlKSk7CiAgCiAgICAvKiBVbmRlcnN0YW5k IER3YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAg ICAgdGhlIFBvd2VyUEMgdy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmli dXRlIHRvIHRoZQotQEAgLTc4ODIsMjkgKzc5MDgsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBl IChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtNzg4Miwy OSArNzkxNiwxMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0 X29iamZpbGVfYXJjaCAob2JqZmlsZSk7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgKnJhbmdlX3R5 cGUsICppbmRleF90eXBlLCAqY2hhcl90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsK QEAgLTE5MzQsNyArMTk0Myw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAgICBj aGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVmbiwg Z2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5cGUs IHJhbmdlX3R5cGUpOwogIAotQEAgLTgxOTAsOCArODMwMSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTgxOTAs OCArODMwOSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUgKmJhc2VfdHlwZTsKICAgIHN0cnVj dCB0eXBlICpyYW5nZV90eXBlOwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKQEAgLTE5NDQs NyArMTk1Myw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAgICBjaGFyICpuYW1l OwogICAgTE9OR0VTVCBuZWdhdGl2ZV9tYXNrOwogIAotQEAgLTgyMDQsNTMgKzgzMTQsMTI2IEBA IHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KQorQEAgLTgyMDQsNTMgKzgzMjIsMTI2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgaWYgKHJhbmdlX3R5 cGUpCiAgICAgIHJldHVybiByYW5nZV90eXBlOwogIApAQCAtMjEwNiw3ICsyMTE1LDcgQEAgaW5k ZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICAgICAgfQogIAogICAgLyogRHdhcmYtMiBzcGVj aWZpY2F0aW9ucyBleHBsaWNpdGx5IGFsbG93cyB0byBjcmVhdGUgc3VicmFuZ2UgdHlwZXMKLUBA IC04MjkxLDI0ICs4NDc0LDQxIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTgyOTEsMjQgKzg0ODIsNDEgQEAgcmVh ZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCiAgCX0KICAgICAgfQogIApAQCAtMjE2NCw3ICsyMTczLDcgQEAgaW5kZXggODM3ZmEzYi4u MzI3YmQ3MCAxMDA2NDQKICAKICAgIG5hbWUgPSBkd2FyZjJfbmFtZSAoZGllLCBjdSk7CiAgICBp ZiAobmFtZSkKLUBAIC0xMDc4NSwxMCArMTA5ODUsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAo c3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJvbCAqc3ltLAorQEAgLTEwNzg1LDEw ICsxMDk5MywxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChzdHJ1Y3QgYXR0cmlidXRlICphdHRy LCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAoaS5lLiB3aGVuIHRoZSB2YWx1ZSBvZiBhIHJl Z2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBpcwogICAgICAgcmVmZXJlbmNlZCwgb3IgYSB0aHJl YWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhlbiBhZ2FpbiwgaXQgbWlnaHQKICAgICAgIG5vdCBi ZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQgaXNuJ3QgdW5sZXNzIHBlcmZvcm1h bmNlCkBAIC0yMTc5LDcgKzIxODgsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAog IH0KICAKICAvKiBHaXZlbiBhIHBvaW50ZXIgdG8gYSBEV0FSRiBpbmZvcm1hdGlvbiBlbnRyeSwg ZmlndXJlIG91dCBpZiB3ZSBuZWVkCi1AQCAtMTA4MjYsNiArMTEwMjgsOCBAQCBuZXdfc3ltYm9s X2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UsCitAQCAtMTA4MjYsNiArMTEwMzYsOCBAQCBuZXdfc3ltYm9sX2Z1bGwgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UsCiAgICAgICAgZWxzZQogIAlzeW0gPSBPQlNUQUNLX1pBTExPQyAoJm9iamZpbGUtPm9iamZp bGVfb2JzdGFjaywgc3RydWN0IHN5bWJvbCk7CiAgICAgICAgT0JKU1RBVCAob2JqZmlsZSwgbl9z eW1zKyspOwpAQCAtMjE4OCw3ICsyMTk3LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2 NDQKICAKICAgICAgICAvKiBDYWNoZSB0aGlzIHN5bWJvbCdzIG5hbWUgYW5kIHRoZSBuYW1lJ3Mg ZGVtYW5nbGVkIGZvcm0gKGlmIGFueSkuICAqLwogICAgICAgIFNZTUJPTF9TRVRfTEFOR1VBR0Ug KHN5bSwgY3UtPmxhbmd1YWdlKTsKLUBAIC0xMTU5OCw2ICsxMTgwMiw5IEBAIHJlYWRfdHlwZV9k aWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTEx NTk4LDYgKzExODEwLDkgQEAgcmVhZF90eXBlX2RpZV8xIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICAgICAgYnJlYWs7CiAgICAgIH0KICAKQEAgLTIxOTgs NyArMjIwNyw3IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAwNjQ0CiAgICByZXR1cm4gdGhp c190eXBlOwogIH0KICAKLUBAIC0xNDQxMCw2MSArMTQ2MTcsOTkgQEAgZmlsbF9pbl9sb2NsaXN0 X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNDQxOSw2MSArMTQ2MzQsOTkgQEAg ZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAgIGJhdG9uLT5i YXNlX2FkZHJlc3MgPSBjdS0+YmFzZV9hZGRyZXNzOwogIH0KICAKQEAgLTIyMjAsMTYgKzIyMjks MjAgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKIC0gICAgewogLSAgICAgIHN0cnVj dCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0b247CiArICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJf YmF0b24gKmJhdG9uOwotKwotKyAgZ2RiX2Fzc2VydCAoYXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRy KSk7CiAgCiAtICAgICAgYmF0b24gPSBvYnN0YWNrX2FsbG9jICgmY3UtPm9iamZpbGUtPm9iamZp bGVfb2JzdGFjaywKIC0JCQkgICAgIHNpemVvZiAoc3RydWN0IGR3YXJmMl9sb2NsaXN0X2JhdG9u KSk7CisrICBnZGJfYXNzZXJ0IChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKTsKKyAKKy0gICAg ICBmaWxsX2luX2xvY2xpc3RfYmF0b24gKGN1LCBiYXRvbiwgYXR0cik7CiArICBiYXRvbiA9IG9i c3RhY2tfYWxsb2MgKCZjdS0+b2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBzaXplb2YgKCpiYXRv bikpOwogKyAgYmF0b24tPnBlcl9jdSA9IGN1LT5wZXJfY3U7CiArICBnZGJfYXNzZXJ0IChiYXRv bi0+cGVyX2N1KTsKICAKLS0gICAgICBmaWxsX2luX2xvY2xpc3RfYmF0b24gKGN1LCBiYXRvbiwg YXR0cik7CistICAgICAgaWYgKGN1LT5iYXNlX2tub3duID09IDApCistCWNvbXBsYWludCAoJnN5 bWZpbGVfY29tcGxhaW50cywKKy0JCSAgIF8oIkxvY2F0aW9uIGxpc3QgdXNlZCB3aXRob3V0ICIK Ky0JCSAgICAgInNwZWNpZnlpbmcgdGhlIENVIGJhc2UgYWRkcmVzcy4iKSk7CiArICAvKiBOb3Rl IHRoYXQgd2UncmUganVzdCBjb3B5aW5nIHRoZSBibG9jaydzIGRhdGEgcG9pbnRlcgogKyAgICAg aGVyZSwgbm90IHRoZSBhY3R1YWwgZGF0YS4gIFdlJ3JlIHN0aWxsIHBvaW50aW5nIGludG8gdGhl CiArICAgICBpbmZvX2J1ZmZlciBmb3IgU1lNJ3Mgb2JqZmlsZTsgcmlnaHQgbm93IHdlIG5ldmVy IHJlbGVhc2UKQEAgLTIyMzgsMTEgKzIyNTEsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEw MDY0NAogKyAgYmF0b24tPnNpemUgPSBEV19CTE9DSyAoYXR0ciktPnNpemU7CiArICBiYXRvbi0+ ZGF0YSA9IERXX0JMT0NLIChhdHRyKS0+ZGF0YTsKICsgIGdkYl9hc3NlcnQgKGJhdG9uLT5zaXpl ID09IDAgfHwgYmF0b24tPmRhdGEgIT0gTlVMTCk7Ci0gCi0tICAgICAgaWYgKGN1LT5iYXNlX2tu b3duID09IDApCi0tCWNvbXBsYWludCAoJnN5bWZpbGVfY29tcGxhaW50cywKLS0JCSAgIF8oIkxv Y2F0aW9uIGxpc3QgdXNlZCB3aXRob3V0ICIKLS0JCSAgICAgInNwZWNpZnlpbmcgdGhlIENVIGJh c2UgYWRkcmVzcy4iKSk7CisrCiArICByZXR1cm4gYmF0b247CiArfQogKwpAQCAtMjI1NSw3ICsy MjY0LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICsgICAgIHZhcmlhYmxlIGhh cyBiZWVuIG9wdGltaXplZCBvdXQuICAqLwogKyAgaWYgKCFhdHRyKQogKyAgICByZXR1cm4gTlVM TDsKLSsKKyAKICsgIGR3YXJmMl9yZWFkX3NlY3Rpb24gKGR3YXJmMl9wZXJfb2JqZmlsZS0+b2Jq ZmlsZSwKICsJCSAgICAgICAmZHdhcmYyX3Blcl9vYmpmaWxlLT5sb2MpOwogKwpAQCAtMjI3OSw3 ICsyMjg4LDcgQEAgaW5kZXggODM3ZmEzYi4uMzI3YmQ3MCAxMDA2NDQKICsKICsgIHJldHVybiBi YXRvbjsKICt9Ci0gCisrCiArLyogU1lNIG1heSBnZXQgaXRzIFNZTUJPTF9DTEFTUyBvdmVycmlk ZW4gb24gaW52YWxpZCBBVFRSIGNvbnRlbnQuICAqLwogKwogK3N0YXRpYyB2b2lkCkBAIC0yMzQx LDcgKzIzNTAsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAogICAgICB9CiAgfQog IAotQEAgLTE0ODEwLDYgKzE1MDU1LDMxIEBAIG9mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9p ZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQorQEAgLTE0ODE5LDYgKzE1MDcyLDI1 IEBAIG9mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQg Kml0ZW1fcmhzKQogICAgcmV0dXJuIG9mc19saHMtPm9mZnNldCA9PSBvZnNfcmhzLT5vZmZzZXQ7 CiAgfQogIApAQCAtMjM1MywxMiArMjM2Miw2IEBAIGluZGV4IDgzN2ZhM2IuLjMyN2JkNzAgMTAw NjQ0CiArewogKyAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKICsKLSsgIGF0dHIgPSBkd2FyZjJf YXR0ciAoZGllLCBEV19BVF9kYXRhX2xvY2F0aW9uLCBjdSk7Ci0rICBpZiAoYXR0cl9mb3JtX2lz X2Jsb2NrIChhdHRyKSkKLSsgICAgVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJGX0JMT0NLICh0eXBl KSA9IGR3YXJmMl9hdHRyX3RvX2xvY2V4cHJfYmF0b24gKGF0dHIsCi0rCQkJCQkJCQkJICBjdSk7 Ci0rICBnZGJfYXNzZXJ0ICghVFlQRV9EQVRBX0xPQ0FUSU9OX0lTX0FERFIgKHR5cGUpKTsKLSsK ICsgIGF0dHIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9hbGxvY2F0ZWQsIGN1KTsKICsgIGlm IChhdHRyX2Zvcm1faXNfYmxvY2sgKGF0dHIpKQogKyAgICBUWVBFX0FMTE9DQVRFRCAodHlwZSkg PSBkd2FyZjJfYXR0cl90b19sb2NleHByX2JhdG9uIChhdHRyLCBjdSk7CkBAIC0yMzczLDcgKzIz NzYsNyBAQCBpbmRleCA4MzdmYTNiLi4zMjdiZDcwIDEwMDY0NAogIC8qIFNldCB0aGUgdHlwZSBh c3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGluIENVJ3MgaGFzaAogICAgIHRh YmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0dXJuIFRZUEUuCiAgCi1AQCAt MTQ4MzUsNiArMTUxMDUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTQ4NDQsNiArMTUx MTYsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAq dHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9 IGN1LT5vYmpmaWxlOwogICAgaHRhYl90ICp0eXBlX2hhc2hfcHRyOwogIApAQCAtMjY3Nyw3ICsy NjgwLDcgQEAgaW5kZXggYzU5MTM0Yi4uYzJjODIyOSAxMDA2NDQKICAKICAgIC8qIEFkZCBzeW50 aGV0aWMgc3ltYm9scyAtIGZvciBpbnN0YW5jZSwgbmFtZXMgZm9yIGFueSBQTFQgZW50cmllcy4g ICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2YWwuYyBiL2dkYi9ldmFsLmMKLWluZGV4IGRlMjViMzku LmNjZWQxM2MgMTAwNjQ0CitpbmRleCBkZTI1YjM5Li5mOWM3YTgyIDEwMDY0NAogLS0tIGEvZ2Ri L2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwogQEAgLTQ0LDYgKzQ0LDcgQEAKQEAgLTI2ODgsNyAr MjY5MSw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgCiAgI2luY2x1ZGUgImdk Yl9hc3NlcnQuaCIKICAKLUBAIC01MDUsMjcgKzUwNiwxOTggQEAgaW5pdF9hcnJheV9lbGVtZW50 IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCitAQCAtNTA1LDI3 ICs1MDYsMjAyIEBAIGluaXRfYXJyYXlfZWxlbWVudCAoc3RydWN0IHZhbHVlICphcnJheSwgc3Ry dWN0IHZhbHVlICplbGVtZW50LAogIH0KICAKICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTI3 NjAsMTAgKzI3NjMsMTQgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2NDQKICsgICAgICB2 YWx1ZV9ieXRlX2FkZHJlc3MgPSAoVFlQRV9EQVRBX0xPQ0FUSU9OX0FERFIgKHR5cGUpCiArCQkJ ICAgICsgdmFsdWVfb2Zmc2V0IChhcnJheSkpOwogKyAgICAgIFRZUEVfREFUQV9MT0NBVElPTl9J U19BRERSICh0eXBlKSA9IDA7CisrICAgICAgVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJGX0JMT0NL ICh0eXBlKSA9IE5VTEw7CiArICAgIH0KICAgIGVsc2UKIC0gICAgbG93X2JvdW5kID0gdmFsdWVf YXNfbG9uZyAoZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpKTsK LSsgICAgdmFsdWVfYnl0ZV9hZGRyZXNzID0gdmFsdWVfYWRkcmVzcyAoYXJyYXkpOworKyAgICB7 CisrICAgICAgZ2RiX2Fzc2VydCAoVFlQRV9EQVRBX0xPQ0FUSU9OX0RXQVJGX0JMT0NLICh0eXBl KSA9PSBOVUxMKTsKKysgICAgICB2YWx1ZV9ieXRlX2FkZHJlc3MgPSB2YWx1ZV9hZGRyZXNzIChh cnJheSk7CisrICAgIH0KICsKICsgIG5ld19hcnJheV90eXBlID0gdHlwZTsKICsKQEAgLTI4MDUs OSArMjgxMiw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiArCSAgc3RydWN0IHZh bHVlICp2YWw7CiArCiArCSAgaW5kZXgtPmtpbmQgPSBTVUJTQ1JJUFRfTlVNQkVSOwotIAotLSAg aWYgKHJhbmdlX3R5cGUgPT0gSElHSF9CT1VORF9ERUZBVUxUIHx8IHJhbmdlX3R5cGUgPT0gQk9U SF9CT1VORF9ERUZBVUxUKQotLSAgICBoaWdoX2JvdW5kID0gVFlQRV9ISUdIX0JPVU5EIChyYW5n ZSk7CisrCiArCSAgLyogRXZhbHVhdGUgZWFjaCBzdWJzY3JpcHQ7IGl0IG11c3QgYmUgYSBsZWdh bCBpbnRlZ2VyIGluIEY3Ny4gICovCiArCSAgdmFsID0gZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29l cmNpb24gKGV4cCwgcG9zLCBub3NpZGUpOwogKwkgIGluZGV4LT5udW1iZXIgPSB2YWx1ZV9hc19s b25nICh2YWwpOwpAQCAtMjgxOSw3ICsyODI0LDkgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAx MDA2NDQKICsgICAgewogKyAgICAgIHN0cnVjdCBzdWJzY3JpcHRfaW5kZXggKmluZGV4ID0gJnN1 YnNjcmlwdF9hcnJheVtpXTsKICsgICAgICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZSA9IFRZUEVf SU5ERVhfVFlQRSAodHlwZSk7Ci0rCisgCistICBpZiAocmFuZ2VfdHlwZSA9PSBISUdIX0JPVU5E X0RFRkFVTFQgfHwgcmFuZ2VfdHlwZSA9PSBCT1RIX0JPVU5EX0RFRkFVTFQpCistICAgIGhpZ2hf Ym91bmQgPSBUWVBFX0hJR0hfQk9VTkQgKHJhbmdlKTsKICsgICAgICBzd2l0Y2ggKGluZGV4LT5r aW5kKQogKwl7CiArCWNhc2UgU1VCU0NSSVBUX1JBTkdFOgpAQCAtMjg5MSwxOSArMjg5OCwxOSBA QCBpbmRleCBkZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogKyAgICB7CiArICAgICAgYWxsb2NhdGVf dmFsdWVfY29udGVudHMgKGFycmF5KTsKICsgICAgICBzZXRfdmFsdWVfbGF6eSAoYXJyYXksIDAp OwotIAotLSAgcmV0dXJuIHZhbHVlX3NsaWNlIChhcnJheSwgbG93X2JvdW5kLCBoaWdoX2JvdW5k IC0gbG93X2JvdW5kICsgMSk7CisrCiArICAgICAgbWVtY3B5ICh2YWx1ZV9jb250ZW50c193cml0 ZWFibGUgKGFycmF5KSwKICsJICAgICAgdmFsdWVfY29udGVudHMgKHNhdmVkX2FycmF5KSArIHZh bHVlX2J5dGVfb2Zmc2V0LAogKwkgICAgICBUWVBFX0xFTkdUSCAobmV3X2FycmF5X3R5cGUpKTsK ICsgICAgfQotKworIAorLSAgcmV0dXJuIHZhbHVlX3NsaWNlIChhcnJheSwgbG93X2JvdW5kLCBo aWdoX2JvdW5kIC0gbG93X2JvdW5kICsgMSk7CiArICBkb19jbGVhbnVwcyAob2xkX2NoYWluKTsK ICsgIHJldHVybiBhcnJheTsKICB9CiAgCiAgCi1AQCAtODA2LDYgKzk3OCw3IEBAIGV2YWx1YXRl X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTgwNiw2ICs5 ODIsNyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKICAgIGludCBzYXZlX3BvczE7CiAgICBzdHJ1Y3Qgc3ltYm9sICpmdW5jdGlvbiA9IE5VTEw7 CiAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0gTlVMTDsKQEAgLTI5MTEsNyArMjkxOCw3IEBAIGlu ZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgCiAgICBwYyA9ICgqcG9zKSsrOwogICAgb3Ag PSBleHAtPmVsdHNbcGNdLm9wY29kZTsKLUBAIC0xODQ5LDYgKzIwMjIsOCBAQCBldmFsdWF0ZV9z dWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0xODQ5LDYgKzIw MjYsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKICAJICAgICAgcmV0dXJuIHZhbHVlX3plcm8gKGJ1aWx0aW5fdHlwZSAoZXhwLT5nZGJhcmNo KS0+YnVpbHRpbl9pbnQsCiAgCQkJCSBub3RfbHZhbCk7CiAgCSAgICB9CkBAIC0yOTIwLDcgKzI5 MjcsNyBAQCBpbmRleCBkZTI1YjM5Li5jY2VkMTNjIDEwMDY0NAogIAkgIGVsc2UgaWYgKFRZUEVf VEFSR0VUX1RZUEUgKGZ0eXBlKSkKICAJICAgIHJldHVybiBhbGxvY2F0ZV92YWx1ZSAoVFlQRV9U QVJHRVRfVFlQRSAoZnR5cGUpKTsKICAJICBlbHNlCi1AQCAtMTg3Nyw2ICsyMDUyLDggQEAgZXZh bHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMTg3 Nyw2ICsyMDU2LDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhw ZWN0X3R5cGUsCiAgCiAgICAgICAgLyogRmlyc3QgZGV0ZXJtaW5lIHRoZSB0eXBlIGNvZGUgd2Ug YXJlIGRlYWxpbmcgd2l0aC4gICovCiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVM TF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKQEAgLTI5MjksNyArMjkzNiw3IEBAIGluZGV4IGRl MjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgICAgICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVl X3R5cGUgKGFyZzEpKTsKICAgICAgICBjb2RlID0gVFlQRV9DT0RFICh0eXBlKTsKICAKLUBAIC0x ODk3LDIzICsyMDc0LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUg KmV4cGVjdF90eXBlLAorQEAgLTE4OTcsMjMgKzIwNzgsMTMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0 YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCSAgICAgIGNvZGUgPSBUWVBFX0NP REUgKHR5cGUpOwogIAkgICAgfQogIAl9IApAQCAtMjk1NSw3ICsyOTYyLDcgQEAgaW5kZXggZGUy NWIzOS4uY2NlZDEzYyAxMDA2NDQKICAKICAJY2FzZSBUWVBFX0NPREVfUFRSOgogIAljYXNlIFRZ UEVfQ09ERV9GVU5DOgotQEAgLTIzNTIsNDkgKzI1MTksNiBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yMzUyLDQ5ICsyNTIzLDYgQEAg ZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCX0K ICAgICAgICByZXR1cm4gKGFyZzEpOwogIApAQCAtMzAwNSw3ICszMDEyLDcgQEAgaW5kZXggZGUy NWIzOS4uY2NlZDEzYyAxMDA2NDQKICAgICAgY2FzZSBCSU5PUF9MT0dJQ0FMX0FORDoKICAgICAg ICBhcmcxID0gZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOwog ICAgICAgIGlmIChub3NpZGUgPT0gRVZBTF9TS0lQKQotQEAgLTI2MjYsMTUgKzI3NTAsMjMgQEAg ZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAt MjYyNiwxNSArMjc1NCwyMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKICAgICAgICBpZiAoZXhwZWN0X3R5cGUgJiYgVFlQRV9DT0RFIChleHBl Y3RfdHlwZSkgPT0gVFlQRV9DT0RFX1BUUikKICAJZXhwZWN0X3R5cGUgPSBUWVBFX1RBUkdFVF9U WVBFIChjaGVja190eXBlZGVmIChleHBlY3RfdHlwZSkpOwogICAgICAgIGFyZzEgPSBldmFsdWF0 ZV9zdWJleHAgKGV4cGVjdF90eXBlLCBleHAsIHBvcywgbm9zaWRlKTsKQEAgLTMwMzEsNyArMzAz OCw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgICAgICAgZWxzZSBpZiAobm9z aWRlID09IEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKQogIAl7CiAgCSAgdHlwZSA9IGNoZWNrX3R5 cGVkZWYgKHZhbHVlX3R5cGUgKGFyZzEpKTsKLUBAIC0yNjQzLDEyICsyNzc1LDE4IEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTI2NDMs MTIgKzI3NzksMTggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhw ZWN0X3R5cGUsCiAgCSAgLyogSW4gQyB5b3UgY2FuIGRlcmVmZXJlbmNlIGFuIGFycmF5IHRvIGdl dCB0aGUgMXN0IGVsdC4gICovCiAgCSAgICAgIHx8IFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9D T0RFX0FSUkFZCiAgCSAgICApCkBAIC0zMDU1LDcgKzMwNjIsNyBAQCBpbmRleCBkZTI1YjM5Li5j Y2VkMTNjIDEwMDY0NAogIAkgIGVsc2UKICAJICAgIGVycm9yIChfKCJBdHRlbXB0IHRvIHRha2Ug Y29udGVudHMgb2YgYSBub24tcG9pbnRlciB2YWx1ZS4iKSk7CiAgCX0KLUBAIC0yNjU4LDkgKzI3 OTYsMTQgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5 cGUsCitAQCAtMjY1OCw5ICsyODAwLDE0IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3Ry dWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgZG8uICAibG9uZyBsb25nIiB2YXJpYWJsZXMgYXJl IHJhcmUgZW5vdWdoIHRoYXQKICAJIEJVSUxUSU5fVFlQRV9MT05HRVNUIHdvdWxkIHNlZW0gdG8g YmUgYSBtaXN0YWtlLiAgKi8KICAgICAgICBpZiAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NP REVfSU5UKQpAQCAtMzA3Myw3ICszMDgwLDcgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2 NDQKICAKICAgICAgY2FzZSBVTk9QX0FERFI6CiAgICAgICAgLyogQysrOiBjaGVjayBmb3IgYW5k IGhhbmRsZSBwb2ludGVyIHRvIG1lbWJlcnMuICAqLwotQEAgLTMwMDYsNyArMzE0OSw3IEBAIGV2 YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAorQEAg LTMwMDYsNyArMzE1Myw3IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3Qg ZXhwcmVzc2lvbiAqZXhwLAogIHsKICAgIGVudW0gZXhwX29wY29kZSBvcDsKICAgIGludCBwYzsK QEAgLTMwODIsNyArMzA4OSw3IEBAIGluZGV4IGRlMjViMzkuLmNjZWQxM2MgMTAwNjQ0CiAgICBz dHJ1Y3Qgc3ltYm9sICp2YXI7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAKLUBAIC0zMDE3LDEz ICszMTYwLDE4IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJjaW9uIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLAorQEAgLTMwMTcsMTMgKzMxNjQsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhf Y29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgICAgIHsKICAgICAgY2FzZSBPUF9W QVJfVkFMVUU6CiAgICAgICAgdmFyID0gZXhwLT5lbHRzW3BjICsgMl0uc3ltYm9sOwpAQCAtMzEw Miw3ICszMTA5LDcgQEAgaW5kZXggZGUyNWIzOS4uY2NlZDEzYyAxMDA2NDQKICAJICByZXR1cm4g dmFsdWVfY2FzdCAobG9va3VwX3BvaW50ZXJfdHlwZSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkp LAogIAkJCSAgICAgdmFsKTsKICAJfQotQEAgLTMwNzUsOSArMzIyMywxMyBAQCBldmFsdWF0ZV9z dWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MpCitAQCAt MzA3NSw5ICszMjI3LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9mb3Jfc2l6ZW9mIChzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLCBpbnQgKnBvcykKICAKICAgICAgY2FzZSBPUF9WQVJfVkFMVUU6CiAgICAg ICAgKCpwb3MpICs9IDQ7CkBAIC0zMTE5LDcgKzMxMjYsNyBAQCBpbmRleCBkZTI1YjM5Li5jY2Vk MTNjIDEwMDY0NAogIAogICAgICBkZWZhdWx0OgogICAgICAgIHZhbCA9IGV2YWx1YXRlX3N1YmV4 cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgRVZBTF9BVk9JRF9TSURFX0VGRkVDVFMpOwotQEAgLTMx MDgsMTggKzMyNjAsMjUgQEAgcGFyc2VfYW5kX2V2YWxfdHlwZSAoY2hhciAqcCwgaW50IGxlbmd0 aCkKK0BAIC0zMTA4LDE4ICszMjY0LDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAs IGludCBsZW5ndGgpCiAgaW50CiAgY2FsY19mNzdfYXJyYXlfZGltcyAoc3RydWN0IHR5cGUgKmFy cmF5X3R5cGUpCiAgewpAQCAtMzU2MSw3ICszNTY4LDcgQEAgaW5kZXggZmZiN2Y1My4uYTJlN2U5 NCAxMDA2NDQKICAKICBiIGludGVybmFsX2Vycm9yCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVz LmMgYi9nZGIvZ2RidHlwZXMuYwotaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAxMDA2NDQKK2luZGV4 IDkxZmFmYTIuLjBlOTEyNDggMTAwNjQ0CiAtLS0gYS9nZGIvZ2RidHlwZXMuYwogKysrIGIvZ2Ri L2dkYnR5cGVzLmMKIEBAIC0zOSw2ICszOSw5IEBACkBAIC0zODk1LDcgKzM5MDIsNyBAQCBpbmRl eCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAogIAogICAgaWYgKG5hbWUpCiAgICAgIFRZUEVfTkFN RSAodHlwZSkgPSBvYnNhdmVzdHJpbmcgKG5hbWUsIHN0cmxlbiAobmFtZSksCi1AQCAtMzI1OSwz MyArMzM5Myw0MiBAQCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2 b2lkICppdGVtX3JocykKK0BAIC0zMjY0LDMzICszMzk4LDQyIEBAIHR5cGVfcGFpcl9lcSAoY29u c3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQogIH0KICAKICAvKiBBbGxv Y2F0ZSB0aGUgaGFzaCB0YWJsZSB1c2VkIGJ5IGNvcHlfdHlwZV9yZWN1cnNpdmUgdG8gd2FsawpA QCAtMzk1Myw3ICszOTYwLDcgQEAgaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAxMDA2NDQKICAgICAg cmV0dXJuIHR5cGU7CiAgCiAgICAvKiBUaGlzIHR5cGUgc2hvdWxkbid0IGJlIHBvaW50aW5nIHRv IGFueSB0eXBlcyBpbiBvdGhlciBvYmpmaWxlczsKLUBAIC0zMzAwLDkgKzM0NDMsMTAgQEAgY29w eV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzMwNSw5ICsz NDQ4LDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAog ICAgbmV3X3R5cGUgPSBhbGxvY190eXBlX2FyY2ggKGdldF90eXBlX2FyY2ggKHR5cGUpKTsKICAK ICAgIC8qIFdlIG11c3QgYWRkIHRoZSBuZXcgdHlwZSB0byB0aGUgaGFzaCB0YWJsZSBpbW1lZGlh dGVseSwgaW4gY2FzZQpAQCAtMzk2Nyw3ICszOTc0LDcgQEAgaW5kZXggMmNmMWI0ZC4uZDE0NWZk OSAxMDA2NDQKICAgIHN0b3JlZC0+b2xkID0gdHlwZTsKICAgIHN0b3JlZC0+bmV3ID0gbmV3X3R5 cGU7CiAgICAqc2xvdCA9IHN0b3JlZDsKLUBAIC0zMzEzLDYgKzM0NTcsMTkgQEAgY29weV90eXBl X3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzMxOCw2ICszNDYyLDE5 IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgVFlQ RV9PQkpGSUxFX09XTkVEIChuZXdfdHlwZSkgPSAwOwogICAgVFlQRV9PV05FUiAobmV3X3R5cGUp LmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKICAKQEAgLTM5ODcsNyArMzk5NCw3IEBA IGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgICBpZiAoVFlQRV9OQU1FICh0eXBlKSkK ICAgICAgVFlQRV9OQU1FIChuZXdfdHlwZSkgPSB4c3RyZHVwIChUWVBFX05BTUUgKHR5cGUpKTsK ICAgIGlmIChUWVBFX1RBR19OQU1FICh0eXBlKSkKLUBAIC0zMzIxLDEyICszNDc4LDQ4IEBAIGNv cHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAorQEAgLTMzMjYsMTIg KzM0ODMsNDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUs CiAgICBUWVBFX0lOU1RBTkNFX0ZMQUdTIChuZXdfdHlwZSkgPSBUWVBFX0lOU1RBTkNFX0ZMQUdT ICh0eXBlKTsKICAgIFRZUEVfTEVOR1RIIChuZXdfdHlwZSkgPSBUWVBFX0xFTkdUSCAodHlwZSk7 CiAgCkBAIC00MDM2LDcgKzQwNDMsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAog ICAgICAgIFRZUEVfRklFTERTIChuZXdfdHlwZSkgPSBYQ0FMTE9DIChuZmllbGRzLCBzdHJ1Y3Qg ZmllbGQpOwogICAgICAgIGZvciAoaSA9IDA7IGkgPCBuZmllbGRzOyBpKyspCiAgCXsKLUBAIC0z MzM1LDggKzM1MjgsOCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSwKK0BAIC0zMzQwLDggKzM1MzMsOCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKICAJICBUWVBFX0ZJRUxEX0JJVFNJWkUgKG5ld190eXBlLCBpKSA9 IFRZUEVfRklFTERfQklUU0laRSAodHlwZSwgaSk7CiAgCSAgaWYgKFRZUEVfRklFTERfVFlQRSAo dHlwZSwgaSkpCiAgCSAgICBUWVBFX0ZJRUxEX1RZUEUgKG5ld190eXBlLCBpKQpAQCAtNDA0Nyw3 ICs0MDU0LDcgQEAgaW5kZXggMmNmMWI0ZC4uZDE0NWZkOSAxMDA2NDQKICAJICBpZiAoVFlQRV9G SUVMRF9OQU1FICh0eXBlLCBpKSkKICAJICAgIFRZUEVfRklFTERfTkFNRSAobmV3X3R5cGUsIGkp ID0gCiAgCSAgICAgIHhzdHJkdXAgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaSkpOwotQEAgLTMz NjMsMjQgKzM1NTYsMTg0IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlLAorQEAgLTMzNjgsMjQgKzM1NjEsMTg0IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAl9CiAgICAgIH0KICAKQEAgLTQyMzksNyArNDI0Niw3 IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgICAvKiBNYXliZSBjb3B5IHRoZSB0 eXBlX3NwZWNpZmljIGJpdHMuCiAgCiAgICAgICBOT1RFIGRyb3cvMjAwNS0xMi0wOTogV2UgZG8g bm90IGNvcHkgdGhlIEMrKy1zcGVjaWZpYyBiaXRzIGxpa2UKLUBAIC0zMzk3LDYgKzM3NTAsMTcg QEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzQw Miw2ICszNzU1LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAogICAgcmV0dXJuIG5ld190eXBlOwogIH0KICAKQEAgLTQyNTcsNyArNDI2NCw3IEBAIGlu ZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgLyogTWFrZSBhIGNvcHkgb2YgdGhlIGdpdmVu IFRZUEUsIGV4Y2VwdCB0aGF0IHRoZSBwb2ludGVyICYgcmVmZXJlbmNlCiAgICAgdHlwZXMgYXJl IG5vdCBwcmVzZXJ2ZWQuCiAgICAgCi1AQCAtMzQxOSw2ICszNzgzLDE5OSBAQCBjb3B5X3R5cGUg KGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQorQEAgLTM0MjQsNiArMzc4OCwxOTkgQEAgY29weV90 eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAg CkBAIC00NDU3LDcgKzQ0NjQsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAogIAog IC8qIEhlbHBlciBmdW5jdGlvbnMgdG8gaW5pdGlhbGl6ZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMg dHlwZXMuICAqLwogIAotQEAgLTM3NjcsNiArNDMyNCw4IEBAIGdkYnR5cGVzX3Bvc3RfaW5pdCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCitAQCAtMzc3Miw2ICs0MzI5LDggQEAgZ2RidHlwZXNf cG9zdF9pbml0IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCkKICAgICAgPSBsb29rdXBfcG9pbnRl cl90eXBlIChidWlsdGluX3R5cGUtPmJ1aWx0aW5fdm9pZCk7CiAgICBidWlsdGluX3R5cGUtPmJ1 aWx0aW5fZnVuY19wdHIKICAgICAgPSBsb29rdXBfcG9pbnRlcl90eXBlIChsb29rdXBfZnVuY3Rp b25fdHlwZSAoYnVpbHRpbl90eXBlLT5idWlsdGluX3ZvaWQpKTsKQEAgLTQ0NjYsNyArNDQ3Myw3 IEBAIGluZGV4IDJjZjFiNGQuLmQxNDVmZDkgMTAwNjQ0CiAgCiAgICAvKiBUaGlzIHR5cGUgcmVw cmVzZW50cyBhIEdEQiBpbnRlcm5hbCBmdW5jdGlvbi4gICovCiAgICBidWlsdGluX3R5cGUtPmlu dGVybmFsX2ZuCi1AQCAtMzg4MCw2ICs0NDM5LDE4IEBAIG9iamZpbGVfdHlwZSAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUpCitAQCAtMzg4NSw2ICs0NDQ0LDE4IEBAIG9iamZpbGVfdHlwZSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUpCiAgCQkgIjx0ZXh0IHZhcmlhYmxlLCBubyBkZWJ1ZyBpbmZv PiIsIG9iamZpbGUpOwogICAgVFlQRV9UQVJHRVRfVFlQRSAob2JqZmlsZV90eXBlLT5ub2RlYnVn X3RleHRfc3ltYm9sKQogICAgICA9IG9iamZpbGVfdHlwZS0+YnVpbHRpbl9pbnQ7CkBAIC00NDg1 LDcgKzQ0OTIsNyBAQCBpbmRleCAyY2YxYjRkLi5kMTQ1ZmQ5IDEwMDY0NAogICAgb2JqZmlsZV90 eXBlLT5ub2RlYnVnX2RhdGFfc3ltYm9sCiAgICAgID0gaW5pdF90eXBlIChUWVBFX0NPREVfSU5U LAogIAkJIGdkYmFyY2hfaW50X2JpdCAoZ2RiYXJjaCkgLyBIT1NUX0NIQVJfQklULCAwLAotQEAg LTM5MzQsNiArNDUwNSwxMSBAQCB2b2lkCitAQCAtMzkzOSw2ICs0NTEwLDExIEBAIHZvaWQKICBf aW5pdGlhbGl6ZV9nZGJ0eXBlcyAodm9pZCkKICB7CiAgICBnZGJ0eXBlc19kYXRhID0gZ2RiYXJj aF9kYXRhX3JlZ2lzdGVyX3Bvc3RfaW5pdCAoZ2RidHlwZXNfcG9zdF9pbml0KTsKQEAgLTU3ODQs MTggKzU3OTEsMTggQEAgaW5kZXggODQ5Nzk5MS4uNDYzNTg1MyAxMDA2NDQKICAJCSAgICAgICBT WU1CT0xfTElOS0FHRV9OQU1FICh0c3ltYm9sKSkgPT0gMCkKICAJICByZXR1cm4gU1lNQk9MX1ZB TFVFX0FERFJFU1MgKG1zeW1ib2wpOwogZGlmZiAtLWdpdCBhL2dkYi9wLXZhbHByaW50LmMgYi9n ZGIvcC12YWxwcmludC5jCi1pbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0NAoraW5kZXggZmM1 MGUyYS4uNDk5ZGY3YyAxMDA2NDQKIC0tLSBhL2dkYi9wLXZhbHByaW50LmMKICsrKyBiL2dkYi9w LXZhbHByaW50LmMKLUBAIC0zOCw2ICszOCw3IEBACi0gI2luY2x1ZGUgInAtbGFuZy5oIgorQEAg LTM5LDYgKzM5LDcgQEAKICAjaW5jbHVkZSAiY3AtYWJpLmgiCiAgI2luY2x1ZGUgImNwLXN1cHBv cnQuaCIKKyAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgogKyNpbmNsdWRlICJkd2FyZjJsb2MuaCIK ICAMCiAgCiAgLyogU2VlIHZhbF9wcmludCBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgdmFyaW91 cyBwYXJhbWV0ZXJzIG9mIHRoaXMKLUBAIC02Miw4ICs2MywzMSBAQCBwYXNjYWxfdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAtNjMsOCAr NjQsMzEgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9i eXRlICp2YWxhZGRyLAogICAgc3RydWN0IHR5cGUgKmNoYXJfdHlwZTsKICAgIExPTkdFU1QgdmFs OwogICAgQ09SRV9BRERSIGFkZHI7CkBAIC01ODI4LDcgKzU4MzUsNyBAQCBpbmRleCA4ZTc5MDcw Li40ZjljMGI3IDEwMDY0NAogICAgc3dpdGNoIChUWVBFX0NPREUgKHR5cGUpKQogICAgICB7CiAg ICAgIGNhc2UgVFlQRV9DT0RFX0FSUkFZOgotQEAgLTExOSw4ICsxNDMsOCBAQCBwYXNjYWxfdmFs X3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAt MTIwLDggKzE0NCw4IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJCXsKICAJCSAgaSA9IDA7CiAgCQl9CkBAIC01ODM5LDcg KzU4NDYsNyBAQCBpbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0NAogIAkJCQkJb3JpZ2luYWxf dmFsdWUsIG9wdGlvbnMsIGkpOwogIAkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICJ9 Iik7CiAgCSAgICB9Ci1AQCAtMTU5LDYgKzE4Myw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKK0BAIC0xNjAsNiArMTg0LDcg QEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLAogIAkgIC8qIFRyeSB0byBwcmludCB3aGF0IGZ1bmN0aW9uIGl0IHBvaW50cyB0by4g ICovCiAgCSAgcHJpbnRfYWRkcmVzc19kZW1hbmdsZSAoZ2RiYXJjaCwgYWRkciwgc3RyZWFtLCBk ZW1hbmdsZSk7CiAgCSAgLyogUmV0dXJuIHZhbHVlIGlzIGlycmVsZXZhbnQgZXhjZXB0IGZvciBz dHJpbmcgcG9pbnRlcnMuICAqLwpAQCAtNTg0Nyw3ICs1ODU0LDcgQEAgaW5kZXggOGU3OTA3MC4u NGY5YzBiNyAxMDA2NDQKICAJICByZXR1cm4gKDApOwogIAl9CiAgCi1AQCAtMjUwLDYgKzI3NSw3 IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAq dmFsYWRkciwKK0BAIC0yNTEsNiArMjc2LDcgQEAgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogICAgICAgIC8qIFJldHVybiBudW1i ZXIgb2YgY2hhcmFjdGVycyBwcmludGVkLCBpbmNsdWRpbmcgdGhlIHRlcm1pbmF0aW5nCiAgCSAn XDAnIGlmIHdlIHJlYWNoZWQgdGhlIGVuZC4gIHZhbF9wcmludF9zdHJpbmcgdGFrZXMgY2FyZSBp bmNsdWRpbmcKICAJIHRoZSB0ZXJtaW5hdGluZyAnXDAnIGlmIG5lY2Vzc2FyeS4gICovCkBAIC01 ODU1LDcgKzU4NjIsNyBAQCBpbmRleCA4ZTc5MDcwLi40ZjljMGI3IDEwMDY0NAogICAgICAgIHJl dHVybiBpOwogIAogICAgICAgIGJyZWFrOwotQEAgLTU2Niw2ICs1OTIsNyBAQCBwYXNjYWxfdmFs X3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCitAQCAt NTY3LDYgKzU5Myw3IEBAIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25z dCBnZGJfYnl0ZSAqdmFsYWRkciwKICAJICAgICBUWVBFX0NPREUgKHR5cGUpKTsKICAgICAgfQog ICAgZ2RiX2ZsdXNoIChzdHJlYW0pOwpAQCAtMTA1MTIsMTAgKzEwNTE5LDEwIEBAIGluZGV4IDAw MDAwMDAuLjIyNmRjNWQKICtlbmQKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL3N1YnJhbmdlLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3VicmFuZ2UuZXhw CiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uNTU1OThmOQoraW5kZXggMDAw MDAwMC4uYmUzNzJjMQogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9y dHJhbi9zdWJyYW5nZS5leHAKLUBAIC0wLDAgKzEsNTEgQEAKK0BAIC0wLDAgKzEsNjAgQEAKICsj IENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwogKyMgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKQEAgLTEwNTUyLDI3ICsxMDU1OSwzNiBAQCBpbmRleCAwMDAwMDAwLi41NTU5OGY5 CiArZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImJyZWFrLXN0YXRpYyJdCiAr Z2RiX2NvbnRpbnVlX3RvX2JyZWFrcG9pbnQgImJyZWFrLXN0YXRpYyIgIi4qYnJlYWstc3RhdGlj LioiCiArCi0rZ2RiX3Rlc3QgInAgYSAoMiwgMjozKSIgeyA9IFwoMjIsIDMyXCl9Ci0rZ2RiX3Rl c3QgInAgYSAoMjozLCAzKSIgeyA9IFwoMzIsIDMzXCl9Ci0rZ2RiX3Rlc3QgInAgYSAoMSwgMjop IiB7ID0gXCgyMSwgMzFcKX0KLStnZGJfdGVzdCAicCBhICgyLCA6MikiIHsgPSBcKDEyLCAyMlwp fQotK2dkYl90ZXN0ICJwIGEgKDMsIDI6MikiIHsgPSBcKDIzXCl9Ci0rZ2RiX3Rlc3QgInB0eXBl IGEgKDMsIDI6MikiICIgPSAkaW50NCBcXCgyOjJcXCkiCi0rZ2RiX3Rlc3QgInAgYSAoNCwgOiki IHsgPSBcKDE0LCAyNCwgMzRcKX0KLStnZGJfdGVzdCAicCBhICg6LCA6KSIgeyA9IFwoXCggKjEx LCAxMiwgMTMsIDE0XCkgXCggKjIxLCAyMiwgMjMsIDI0XCkgXCggKjMxLCAzMiwgMzMsIDM0XCkg KlwpfQotK2dkYl90ZXN0ICJwdHlwZSBhICg6LCA6KSIgIiA9ICRpbnQ0IFxcKDQsM1xcKSIKLStn ZGJfdGVzdCAicCBhICg6KSIgIldyb25nIG51bWJlciBvZiBzdWJzY3JpcHRzIgotK2dkYl90ZXN0 ICJwIGEgKDosIDosIDopIiAiV3JvbmcgbnVtYmVyIG9mIHN1YnNjcmlwdHMiCisrZm9yZWFjaCB2 YXIge2EgYWxsb2MgcHRyfSB7CisrICAgIGdsb2JhbCBwZl9wcmVmaXgKKysgICAgc2V0IG9sZF9w cmVmaXggJHBmX3ByZWZpeAorKyAgICBsYXBwZW5kIHBmX3ByZWZpeCAiJHZhcjoiCisrCisrICAg IGdkYl90ZXN0ICJwICR2YXIgKDIsIDI6MykiIHsgPSBcKDIyLCAzMlwpfQorKyAgICBnZGJfdGVz dCAicCAkdmFyICgyOjMsIDMpIiB7ID0gXCgzMiwgMzNcKX0KKysgICAgZ2RiX3Rlc3QgInAgJHZh ciAoMSwgMjopIiB7ID0gXCgyMSwgMzFcKX0KKysgICAgZ2RiX3Rlc3QgInAgJHZhciAoMiwgOjIp IiB7ID0gXCgxMiwgMjJcKX0KKysgICAgZ2RiX3Rlc3QgInAgJHZhciAoMywgMjoyKSIgeyA9IFwo MjNcKX0KKysgICAgZ2RiX3Rlc3QgInB0eXBlICR2YXIgKDMsIDI6MikiICIgPSAkaW50NCBcXCgy OjJcXCkiCisrICAgIGdkYl90ZXN0ICJwICR2YXIgKDQsIDopIiB7ID0gXCgxNCwgMjQsIDM0XCl9 CisrICAgIGdkYl90ZXN0ICJwICR2YXIgKDosIDopIiB7ID0gXChcKCAqMTEsIDEyLCAxMywgMTRc KSBcKCAqMjEsIDIyLCAyMywgMjRcKSBcKCAqMzEsIDMyLCAzMywgMzRcKSAqXCl9CisrICAgIGdk Yl90ZXN0ICJwdHlwZSAkdmFyICg6LCA6KSIgIiA9ICRpbnQ0IFxcKDQsM1xcKSIKKysgICAgZ2Ri X3Rlc3QgInAgJHZhciAoOikiICJXcm9uZyBudW1iZXIgb2Ygc3Vic2NyaXB0cyIKKysgICAgZ2Ri X3Rlc3QgInAgJHZhciAoOiwgOiwgOikiICJXcm9uZyBudW1iZXIgb2Ygc3Vic2NyaXB0cyIKKysK KysgICAgc2V0IHBmX3ByZWZpeCAkb2xkX3ByZWZpeAorK30KKysKICtnZGJfdGVzdF9ub19vdXRw dXQge3NldCAkYT1hfQogK2RlbGV0ZV9icmVha3BvaW50cwogK2dkYl91bmxvYWQKICtnZGJfdGVz dCB7cCAkYSAoMywgMjoyKX0geyA9IFwoMjNcKX0KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5mb3J0cmFuL3N1YnJhbmdlLmY5MCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vc3Vi cmFuZ2UuZjkwCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uZmUzM2MyYwor aW5kZXggMDAwMDAwMC4uNDc0N2VhOQogLS0tIC9kZXYvbnVsbAogKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9zdWJyYW5nZS5mOTAKLUBAIC0wLDAgKzEsMjMgQEAKK0BAIC0wLDAgKzEs MjggQEAKICshIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgog KyEKICshIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CkBAIC0xMDU4OSwxMSArMTA2MDUsMTYgQEAgaW5kZXggMDAwMDAw MC4uZmUzM2MyYwogKyEgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiArCiArcHJvZ3JhbSB0ZXN0Ci0rICBpbnRlZ2Vy IDo6IGEgKDQsIDMpCisrICBpbnRlZ2VyLCB0YXJnZXQgOjogYSAoNCwgMykKKysgIGludGVnZXIs IGFsbG9jYXRhYmxlIDo6IGFsbG9jICg6LCA6KQorKyAgaW50ZWdlciwgcG9pbnRlciA6OiBwdHIg KDosIDopCiArICBkbyAxIGkgPSAxLCA0CiArICBkbyAxIGogPSAxLCAzCiArICAgIGEgKGksIGop ID0gaiAqIDEwICsgaQogKzEgY29udGludWUKKysgIGFsbG9jYXRlIChhbGxvYyAoNCwgMykpCisr ICBhbGxvYyA9IGEKKysgIHB0ciA9PiBhCiArICB3cml0ZSAoKiwqKSBhICAgICAgICAgICAgICAg ICAhIGJyZWFrLXN0YXRpYwogK2VuZAogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmdk Yi9zZWxmdGVzdC5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCkBAIC0x MTc5NSw3ICsxMTgxNiw3IEBAIGluZGV4IDAwMDAwMDAuLjMxZjc2NTYKICtleHRlcm4gdm9pZCBt YXJrZXIgKHZvaWQpOwogK2V4dGVybiB2b2lkIGZvcmtvZmYgKGludCBucik7CiBkaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAK LWluZGV4IDVhM2YxZmMuLjQ3MTY2MjYgMTAwNjQ0CitpbmRleCBkNTIzZDhlLi5iNTQzYWQwIDEw MDY0NAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0 ZS9saWIvZ2RiLmV4cAogQEAgLTE0MCw2ICsxNDAsMTEgQEAgcHJvYyBnZGJfdW5sb2FkIHt9IHsK QEAgLTExOTU2LDcgKzExOTc3LDcgQEAgaW5kZXggODJlM2FkYi4uYTViOTE0NiAxMDA2NDQKICAK ICBzdGF0aWMgdm9pZAogZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRo LmMKLWluZGV4IDI2NTUzMmMuLjFlNDE5ZGQgMTAwNjQ0CitpbmRleCA3ODdmYzY5Li5hOTBmNDE2 IDEwMDY0NAogLS0tIGEvZ2RiL3ZhbGFyaXRoLmMKICsrKyBiL2dkYi92YWxhcml0aC5jCiBAQCAt MTk4LDcgKzE5OCwxMCBAQCB2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAq YXJyYXksIExPTkdFU1QgaW5kZXgsIGludCBsb3dlcmJvdW5kKQpAQCAtMTE5NzEsNyArMTE5OTIs NyBAQCBpbmRleCAyNjU1MzJjLi4xZTQxOWRkIDEwMDY0NAogICAgc3RydWN0IHZhbHVlICp2Owog IAogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8fCAoIVRZUEVfQVJSQVlfVVBQRVJfQk9VTkRf SVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQotQEAgLTI5Nyw2ICszMDAsMTAgQEAgaW50CitAQCAt Mjk4LDYgKzMwMSwxMCBAQCBpbnQKICBiaW5vcF91c2VyX2RlZmluZWRfcCAoZW51bSBleHBfb3Bj b2RlIG9wLAogIAkJICAgICAgc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QgdmFsdWUgKmFyZzIp CiAgewpAQCAtMTE5ODMsMTggKzEyMDA0LDE4IEBAIGluZGV4IDI2NTUzMmMuLjFlNDE5ZGQgMTAw NjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwotaW5k ZXggMjRjMjI2OS4uMjFmYjM1ZiAxMDA2NDQKK2luZGV4IDU0NjVhYmEuLmQyNjdiZjggMTAwNjQ0 CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwotQEAgLTM4LDYgKzM4LDcg QEAKLSAjaW5jbHVkZSAiY3Atc3VwcG9ydC5oIgotICNpbmNsdWRlICJkZnAuaCIKLSAjaW5jbHVk ZSAidXNlci1yZWdzLmgiCitAQCAtNDcsNiArNDcsNyBAQAorICNpbmNsdWRlICJvYmpmaWxlcy5o IgorICNpbmNsdWRlICJzeW10YWIuaCIKKyAjaW5jbHVkZSAiZXhjZXB0aW9ucy5oIgogKyNpbmNs dWRlICJkd2FyZjJsb2MuaCIKICAKLSAjaW5jbHVkZSA8ZXJybm8uaD4KLSAjaW5jbHVkZSAiZ2Ri X3N0cmluZy5oIgotQEAgLTkwNyw2ICs5MDgsNjUgQEAgdmFsdWVfb25lIChzdHJ1Y3QgdHlwZSAq dHlwZSwgZW51bSBsdmFsX3R5cGUgbHYpCisgZXh0ZXJuIGludCBvdmVybG9hZF9kZWJ1ZzsKKyAv KiBMb2NhbCBmdW5jdGlvbnMuICAqLworQEAgLTkxNSw2ICs5MTYsNjUgQEAgdmFsdWVfb25lIChz dHJ1Y3QgdHlwZSAqdHlwZSwgZW51bSBsdmFsX3R5cGUgbHYpCiAgICByZXR1cm4gdmFsOwogIH0K ICAKQEAgLTEyMDYwLDcgKzEyMDgxLDcgQEAgaW5kZXggMjRjMjI2OS4uMjFmYjM1ZiAxMDA2NDQK ICAvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHZhbHVlX2F0LCB2YWx1ZV9hdF9sYXp5LCBhbmQgdmFs dWVfYXRfbGF6eV9zdGFjay4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCi1AQCAtMTAw NSwxNSArMTA2NSwyMSBAQCB2YWx1ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFsdWUgKnZhbCkKK0BA IC0xMDExLDEyICsxMDcxLDIwIEBAIHZhbHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFs KQogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9MVkFMICh2YWwpID09IGx2YWxfbWVtb3J5KQog ICAgICB7CkBAIC0xMjA2OSwyNyArMTIwOTAsMjQgQEAgaW5kZXggMjRjMjI2OS4uMjFmYjM1ZiAx MDA2NDQKICsgICAgICBDT1JFX0FERFIgYWRkciA9IHZhbHVlX3Jhd19hZGRyZXNzICh2YWwpOwog IAogLSAgICAgIGlmIChsZW5ndGgpCistCXJlYWRfdmFsdWVfbWVtb3J5ICh2YWwsIDAsIHZhbHVl X3N0YWNrICh2YWwpLAorLQkJCSAgIGFkZHIsIHZhbHVlX2NvbnRlbnRzX2FsbF9yYXcgKHZhbCks IGxlbmd0aCk7CiArICAgICAgaWYgKG9iamVjdF9hZGRyZXNzX2dldF9kYXRhICh2YWx1ZV90eXBl ICh2YWwpLCAmYWRkcikpCi0gCXsKLS0JICBpZiAodmFsdWVfc3RhY2sgKHZhbCkpCi0tCSAgICBy ZWFkX3N0YWNrIChhZGRyLCB2YWx1ZV9jb250ZW50c19hbGxfcmF3ICh2YWwpLCBsZW5ndGgpOwot LQkgIGVsc2UKLS0JICAgIHJlYWRfbWVtb3J5IChhZGRyLCB2YWx1ZV9jb250ZW50c19hbGxfcmF3 ICh2YWwpLCBsZW5ndGgpOworKwl7CiArCSAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1ZV9lbmNs b3NpbmdfdHlwZSAodmFsKTsKICsJICBpbnQgbGVuZ3RoID0gVFlQRV9MRU5HVEggKGNoZWNrX3R5 cGVkZWYgKHR5cGUpKTsKICsKICsJICBpZiAobGVuZ3RoKQogKwkgICAgewogKwkgICAgICBhZGRy ICs9IHZhbHVlX29mZnNldCAodmFsKTsKLSsJICAgICAgaWYgKHZhbHVlX3N0YWNrICh2YWwpKQot KwkJcmVhZF9zdGFjayAoYWRkciwgdmFsdWVfY29udGVudHNfYWxsX3JhdyAodmFsKSwgbGVuZ3Ro KTsKLSsJICAgICAgZWxzZQotKwkJcmVhZF9tZW1vcnkgKGFkZHIsIHZhbHVlX2NvbnRlbnRzX2Fs bF9yYXcgKHZhbCksIGxlbmd0aCk7CisrCSAgICAgIHJlYWRfdmFsdWVfbWVtb3J5ICh2YWwsIDAs IHZhbHVlX3N0YWNrICh2YWwpLAorKwkJCQkgYWRkciwgdmFsdWVfY29udGVudHNfYWxsX3JhdyAo dmFsKSwgbGVuZ3RoKTsKICsJICAgIH0KLSAJfQorKwl9CiAgICAgIH0KICAgIGVsc2UgaWYgKFZB TFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9yZWdpc3RlcikKLUBAIC0xNDI5LDcgKzE0OTUsMTggQEAg YWRkcmVzc19vZl92YXJpYWJsZSAoc3RydWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgYmxvY2sgKmIp CisgICAgIHsKK0BAIC0xNTIwLDcgKzE1ODgsMTggQEAgYWRkcmVzc19vZl92YXJpYWJsZSAoc3Ry dWN0IHN5bWJvbCAqdmFyLCBzdHJ1Y3QgYmxvY2sgKmIpCiAgICBpZiAoKFZBTFVFX0xWQUwgKHZh bCkgPT0gbHZhbF9tZW1vcnkgJiYgdmFsdWVfbGF6eSAodmFsKSkKICAgICAgICB8fCBUWVBFX0NP REUgKHR5cGUpID09IFRZUEVfQ09ERV9GVU5DKQogICAgICB7CkBAIC0xMjEwOSw3ICsxMjEyNyw3 IEBAIGluZGV4IDI0YzIyNjkuLjIxZmIzNWYgMTAwNjQ0CiAgCiAgICAgICAgcmV0dXJuIHZhbHVl X2Zyb21fcG9pbnRlciAobG9va3VwX3BvaW50ZXJfdHlwZSAodHlwZSksIGFkZHIpOwogICAgICB9 Ci1AQCAtMTUzNiw2ICsxNjEzLDcgQEAgc3RydWN0IHZhbHVlICoKK0BAIC0xNjI3LDYgKzE3MDYs NyBAQCBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2NvZXJjZV9hcnJheSAoc3RydWN0IHZhbHVlICph cmcxKQogIHsKICAgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlw ZSAoYXJnMSkpOwpAQCAtMTIxMTcsNyArMTIxMzUsNyBAQCBpbmRleCAyNGMyMjY5Li4yMWZiMzVm IDEwMDY0NAogIAogICAgLyogSWYgdGhlIHVzZXIgdHJpZXMgdG8gZG8gc29tZXRoaW5nIHJlcXVp cmluZyBhIHBvaW50ZXIgd2l0aCBhbgogICAgICAgYXJyYXkgdGhhdCBoYXMgbm90IHlldCBiZWVu IHB1c2hlZCB0byB0aGUgdGFyZ2V0LCB0aGVuIHRoaXMgd291bGQKLUBAIC0xNTQ1LDggKzE2MjMs MTIgQEAgdmFsdWVfY29lcmNlX2FycmF5IChzdHJ1Y3QgdmFsdWUgKmFyZzEpCitAQCAtMTYzNiw4 ICsxNzE2LDEyIEBAIHZhbHVlX2NvZXJjZV9hcnJheSAoc3RydWN0IHZhbHVlICphcmcxKQogICAg aWYgKFZBTFVFX0xWQUwgKGFyZzEpICE9IGx2YWxfbWVtb3J5KQogICAgICBlcnJvciAoXygiQXR0 ZW1wdCB0byB0YWtlIGFkZHJlc3Mgb2YgdmFsdWUgbm90IGxvY2F0ZWQgaW4gbWVtb3J5LiIpKTsK ICAKQEAgLTEyMTMxLDcgKzEyMTQ5LDcgQEAgaW5kZXggMjRjMjI2OS4uMjFmYjM1ZiAxMDA2NDQK ICB9CiAgCiAgLyogR2l2ZW4gYSB2YWx1ZSB3aGljaCBpcyBhIGZ1bmN0aW9uLCByZXR1cm4gYSB2 YWx1ZSB3aGljaCBpcyBhIHBvaW50ZXIKLUBAIC0zNTg3LDYgKzM2NjksOCBAQCB2YWx1ZV9zbGlj ZSAoc3RydWN0IHZhbHVlICphcnJheSwgaW50IGxvd2JvdW5kLCBpbnQgbGVuZ3RoKQorQEAgLTM2 ODAsNiArMzc2NCw4IEBAIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93 Ym91bmQsIGludCBsZW5ndGgpCiAgCQkJCQlUWVBFX1RBUkdFVF9UWVBFIChyYW5nZV90eXBlKSwK ICAJCQkJCWxvd2JvdW5kLCAKICAJCQkJCWxvd2JvdW5kICsgbGVuZ3RoIC0gMSk7CkBAIC0xMjE0 MSw3ICsxMjE1OSw3IEBAIGluZGV4IDI0YzIyNjkuLjIxZmIzNWYgMTAwNjQ0CiAgICAgIHsKICAg ICAgICBpbnQgaTsKIGRpZmYgLS1naXQgYS9nZGIvdmFscHJpbnQuYyBiL2dkYi92YWxwcmludC5j Ci1pbmRleCBiMzJkNmZjLi43MzE5YzVkIDEwMDY0NAoraW5kZXggMjg2ZWY5ZS4uMWZlNThiMSAx MDA2NDQKIC0tLSBhL2dkYi92YWxwcmludC5jCiArKysgYi9nZGIvdmFscHJpbnQuYwogQEAgLTM2 LDYgKzM2LDcgQEAKQEAgLTEyMTYwLDcgKzEyMTc4LDcgQEAgaW5kZXggYjMyZDZmYy4uNzMxOWM1 ZCAxMDA2NDQKICAgICAgY2FzZSBUWVBFX0NPREVfQklUU1RSSU5HOgogICAgICAgIHJldHVybiAw OwogICAgICBkZWZhdWx0OgotQEAgLTExNzMsNiArMTE3Myw3IEBAIHZhbF9wcmludF9hcnJheV9l bGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTE5Myw2ICsxMTkzLDcgQEAgdmFsX3By aW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICB7CiAgICB1bnNpZ25lZCBp bnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgdW5zaWduZWQgbGVuOwpAQCAtMTIxNjgsNyArMTIx ODYsNyBAQCBpbmRleCBiMzJkNmZjLi43MzE5YzVkIDEwMDY0NAogICAgc3RydWN0IHR5cGUgKmVs dHR5cGUsICppbmRleF90eXBlOwogICAgdW5zaWduZWQgZWx0bGVuOwogICAgLyogUG9zaXRpb24g b2YgdGhlIGFycmF5IGVsZW1lbnQgd2UgYXJlIGV4YW1pbmluZyB0byBzZWUKLUBAIC0xMTgxLDkg KzExODIsMzMgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwK K0BAIC0xMjAxLDkgKzEyMDIsMzMgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKICAgIC8qIE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBoYXZlIGRldGVjdGVk IHNvIGZhci4gICovCiAgICB1bnNpZ25lZCBpbnQgcmVwczsKICAgIExPTkdFU1QgbG93X2JvdW5k LCBoaWdoX2JvdW5kOwpAQCAtMTIyMDQsNyArMTIyMjIsNyBAQCBpbmRleCBiMzJkNmZjLi43MzE5 YzVkIDEwMDY0NAogICAgaW5kZXhfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAodHlwZSk7CiAgCiAg ICBpZiAoZ2V0X2FycmF5X2JvdW5kcyAodHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpKQot QEAgLTEyNjIsNiArMTI4Nyw4IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5 cGUgKnR5cGUsCitAQCAtMTI4NCw2ICsxMzA5LDggQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRz IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAgICAgewogICAgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0 cmVhbSwgIi4uLiIpOwogICAgICB9CkBAIC0xMjIxNCwxOCArMTIyMzIsMTggQEAgaW5kZXggYjMy ZDZmYy4uNzMxOWM1ZCAxMDA2NDQKICAKICAvKiBSZWFkIExFTiBieXRlcyBvZiB0YXJnZXQgbWVt b3J5IGF0IGFkZHJlc3MgTUVNQUREUiwgcGxhY2luZyB0aGUKIGRpZmYgLS1naXQgYS9nZGIvdmFs dWUuYyBiL2dkYi92YWx1ZS5jCi1pbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0NAoraW5kZXgg MDExYjVlNy4uYmNmYmU1ZCAxMDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5jCiArKysgYi9nZGIvdmFs dWUuYwotQEAgLTM5LDYgKzM5LDcgQEAKLSAjaW5jbHVkZSAib2JqZmlsZXMuaCIKLSAjaW5jbHVk ZSAidmFscHJpbnQuaCIKK0BAIC00MSw2ICs0MSw3IEBACiAgI2luY2x1ZGUgImNsaS9jbGktZGVj b2RlLmgiCisgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKKyAjaW5jbHVkZSAicHl0aG9uL3B5dGhv bi5oIgogKyNpbmNsdWRlICJvYnNlcnZlci5oIgogIAotICNpbmNsdWRlICJweXRob24vcHl0aG9u LmgiCisgI2luY2x1ZGUgInRyYWNlcG9pbnQuaCIKICAKLUBAIC04NzAsMTIgKzg3MSwxNSBAQCB2 b2lkCitAQCAtMTMzOSwxMiArMTM0MCwxNSBAQCB2b2lkCiAgc2V0X3ZhbHVlX2NvbXBvbmVudF9s b2NhdGlvbiAoc3RydWN0IHZhbHVlICpjb21wb25lbnQsCiAgCQkJICAgICAgY29uc3Qgc3RydWN0 IHZhbHVlICp3aG9sZSkKICB7CkBAIC0xMjI0MSw3ICsxMjI1OSw3IEBAIGluZGV4IGUyNjI3MGMu LjI5YmIwY2EgMTAwNjQ0CiAgICBpZiAod2hvbGUtPmx2YWwgPT0gbHZhbF9jb21wdXRlZCkKICAg ICAgewogICAgICAgIHN0cnVjdCBsdmFsX2Z1bmNzICpmdW5jcyA9IHdob2xlLT5sb2NhdGlvbi5j b21wdXRlZC5mdW5jczsKLUBAIC04ODMsNiArODg3LDEyIEBAIHNldF92YWx1ZV9jb21wb25lbnRf bG9jYXRpb24gKHN0cnVjdCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTEzNTIsNiArMTM1NiwxMiBA QCBzZXRfdmFsdWVfY29tcG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwK ICAgICAgICBpZiAoZnVuY3MtPmNvcHlfY2xvc3VyZSkKICAgICAgICAgIGNvbXBvbmVudC0+bG9j YXRpb24uY29tcHV0ZWQuY2xvc3VyZSA9IGZ1bmNzLT5jb3B5X2Nsb3N1cmUgKHdob2xlKTsKICAg ICAgfQpAQCAtMTIyNTQsNyArMTIyNzIsNyBAQCBpbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0 NAogIH0KICAKICAMCi1AQCAtMTAxNiw2ICsxMDI2LDI5IEBAIHNob3dfdmFsdWVzIChjaGFyICpu dW1fZXhwLCBpbnQgZnJvbV90dHkpCitAQCAtMTQ4NSw2ICsxNDk1LDI5IEBAIHNob3dfdmFsdWVz IChjaGFyICpudW1fZXhwLCBpbnQgZnJvbV90dHkpCiAgICAgICAgbnVtX2V4cFsxXSA9ICdcMCc7 CiAgICAgIH0KICB9CkBAIC0xMjI4NCw3ICsxMjMwMiw3IEBAIGluZGV4IGUyNjI3MGMuLjI5YmIw Y2EgMTAwNjQ0CiAgDAogIC8qIEludGVybmFsIHZhcmlhYmxlcy4gIFRoZXNlIGFyZSB2YXJpYWJs ZXMgd2l0aGluIHRoZSBkZWJ1Z2dlcgogICAgIHRoYXQgaG9sZCB2YWx1ZXMgYXNzaWduZWQgYnkg ZGVidWdnZXIgY29tbWFuZHMuCi1AQCAtMTUxMSw2ICsxNTQ0LDQwIEBAIGNhbGxfaW50ZXJuYWxf ZnVuY3Rpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorQEAgLTE5NjMsNiArMTk5NiwzNiBA QCBjYWxsX2ludGVybmFsX2Z1bmN0aW9uIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAgIHJl dHVybiAoKmlmbi0+aGFuZGxlcikgKGdkYmFyY2gsIGxhbmd1YWdlLCBpZm4tPmNvb2tpZSwgYXJn YywgYXJndik7CiAgfQogIApAQCAtMTIzMDYsMTAgKzEyMzI0LDYgQEAgaW5kZXggZTI2MjcwYy4u MjliYjBjYSAxMDA2NDQKICsgICAgICBjYXNlIElOVEVSTkFMVkFSX0lOVEVHRVI6CiArCXR5cGVf bWFya191c2VkICh2YXItPnUuaW50ZWdlci50eXBlKTsKICsJYnJlYWs7Ci0rCi0rICAgICAgY2Fz ZSBJTlRFUk5BTFZBUl9QT0lOVEVSOgotKwl0eXBlX21hcmtfdXNlZCAodmFyLT51LnBvaW50ZXIu dHlwZSk7Ci0rCWJyZWFrOwogKyAgICAgIH0KICsKICsgIGZvciAoY2h1bmsgPSB2YWx1ZV9oaXN0 b3J5X2NoYWluOyBjaHVuayAhPSBOVUxMOyBjaHVuayA9IGNodW5rLT5uZXh0KQpAQCAtMTIzMjUs NyArMTIzMzksNyBAQCBpbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0NAogIC8qIFRoZSAnZnVu Y3Rpb24nIGNvbW1hbmQuICBUaGlzIGRvZXMgbm90aGluZyAtLSBpdCBpcyBqdXN0IGEKICAgICBw bGFjZWhvbGRlciB0byBsZXQgImhlbHAgZnVuY3Rpb24gTkFNRSIgd29yay4gIFRoaXMgaXMgYWxz byB1c2VkIGFzCiAgICAgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdWItY29tbWFuZCB0aGF0 IGlzIGNyZWF0ZWQgd2hlbgotQEAgLTE1NTgsMTEgKzE2MjUsMTAgQEAgcHJlc2VydmVfb25lX3Zh bHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0y MDEwLDExICsyMDczLDEwIEBAIHByZXNlcnZlX29uZV92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1 ZSwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkgICAgaHRhYl90IGNvcGllZF90eXBlcykK ICB7CiAgICBpZiAoVFlQRV9PQkpGSUxFICh2YWx1ZS0+dHlwZSkgPT0gb2JqZmlsZSkKQEAgLTEy MzM5LDcgKzEyMzUzLDcgQEAgaW5kZXggZTI2MjcwYy4uMjliYjBjYSAxMDA2NDQKICAJCQkJCQkg Y29waWVkX3R5cGVzKTsKICB9CiAgCi1AQCAtMTU3NywxMyArMTY0MywxMyBAQCBwcmVzZXJ2ZV9v bmVfaW50ZXJuYWx2YXIgKHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSwKK0BAIC0yMDI5LDcgKzIwOTEsNyBAQCBwcmVzZXJ2ZV9vbmVfaW50ZXJuYWx2YXIg KHN0cnVjdCBpbnRlcm5hbHZhciAqdmFyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgICAg Y2FzZSBJTlRFUk5BTFZBUl9JTlRFR0VSOgogICAgICAgIGlmICh2YXItPnUuaW50ZWdlci50eXBl ICYmIFRZUEVfT0JKRklMRSAodmFyLT51LmludGVnZXIudHlwZSkgPT0gb2JqZmlsZSkKICAJdmFy LT51LmludGVnZXIudHlwZQpAQCAtMTIzNDcsMTUgKzEyMzYxLDggQEAgaW5kZXggZTI2MjcwYy4u MjliYjBjYSAxMDA2NDQKICsJICA9IGNvcHlfdHlwZV9yZWN1cnNpdmUgKHZhci0+dS5pbnRlZ2Vy LnR5cGUsIGNvcGllZF90eXBlcyk7CiAgICAgICAgYnJlYWs7CiAgCi0gICAgIGNhc2UgSU5URVJO QUxWQVJfUE9JTlRFUjoKLSAgICAgICBpZiAoVFlQRV9PQkpGSUxFICh2YXItPnUucG9pbnRlci50 eXBlKSA9PSBvYmpmaWxlKQotIAl2YXItPnUucG9pbnRlci50eXBlCi0tCSAgPSBjb3B5X3R5cGVf cmVjdXJzaXZlIChvYmpmaWxlLCB2YXItPnUucG9pbnRlci50eXBlLCBjb3BpZWRfdHlwZXMpOwot KwkgID0gY29weV90eXBlX3JlY3Vyc2l2ZSAodmFyLT51LnBvaW50ZXIudHlwZSwgY29waWVkX3R5 cGVzKTsKLSAgICAgICBicmVhazsKLSAKICAgICAgY2FzZSBJTlRFUk5BTFZBUl9WQUxVRToKLUBA IC0yNDQ5LDcgKzI1MTUsMjQgQEAgdmFsdWVfZnJvbV9kZWNmbG9hdCAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICpkZWMpCitAQCAtMjk5NCw3ICszMDU2LDI0IEBAIHZhbHVlX2Zy b21fZGVjZmxvYXQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqZGVjKQogIHN0 cnVjdCB2YWx1ZSAqCiAgY29lcmNlX3JlZiAoc3RydWN0IHZhbHVlICphcmcpCiAgewpAQCAtMTIz ODEsNyArMTIzODgsNyBAQCBpbmRleCBlMjYyNzBjLi4yOWJiMGNhIDEwMDY0NAogIAogICAgaWYg KFRZUEVfQ09ERSAodmFsdWVfdHlwZV9hcmdfdG1wKSA9PSBUWVBFX0NPREVfUkVGKQogICAgICBh cmcgPSB2YWx1ZV9hdF9sYXp5IChUWVBFX1RBUkdFVF9UWVBFICh2YWx1ZV90eXBlX2FyZ190bXAp LAotQEAgLTI1NDcsNCArMjYzMCw4IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQu IikpOworQEAgLTMwOTIsNCArMzE3MSw4IEBAIFZBUklBQkxFIGlzIGFscmVhZHkgaW5pdGlhbGl6 ZWQuIikpOwogICAgYWRkX3ByZWZpeF9jbWQgKCJmdW5jdGlvbiIsIG5vX2NsYXNzLCBmdW5jdGlv bl9jb21tYW5kLCBfKCJcCiAgUGxhY2Vob2xkZXIgY29tbWFuZCBmb3Igc2hvd2luZyBoZWxwIG9u IGNvbnZlbmllbmNlIGZ1bmN0aW9ucy4iKSwKICAJCSAgJmZ1bmN0aW9ubGlzdCwgImZ1bmN0aW9u ICIsIDAsICZjbWRsaXN0KTsKQEAgLTEyMzkxLDEwICsxMjM5OCwxMCBAQCBpbmRleCBlMjYyNzBj Li4yOWJiMGNhIDEwMDY0NAogKyAgb2JzZXJ2ZXJfYXR0YWNoX21hcmtfdXNlZCAodmFsdWVfdHlw ZXNfbWFya191c2VkKTsKICB9CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmggYi9nZGIvdmFsdWUu aAotaW5kZXggYWE4ZmYzYy4uMmI0NTQzYyAxMDA2NDQKK2luZGV4IGUwMTllNTYuLmJhNWUyMGYg MTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuaAogKysrIGIvZ2RiL3ZhbHVlLmgKLUBAIC0zOTUsNiAr Mzk1LDEwIEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZG91YmxlIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgRE9VQkxFU1QgbnVtKTsKK0BAIC00NzIsNiArNDcyLDEwIEBAIGV4dGVybiBz dHJ1Y3QgdmFsdWUgKnZhbHVlX2Zyb21fZG91YmxlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgRE9VQkxF U1QgbnVtKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2RlY2Zsb2F0IChzdHJ1 Y3QgdHlwZSAqdHlwZSwKICAJCQkJCSAgY29uc3QgZ2RiX2J5dGUgKmRlY2J5dGVzKTsKICAKCmRp ZmYgLS1naXQgYS9nZGItYno1NjI3NjMtcHJldHR5LXByaW50LTJkLXZlY3RvcnMucGF0Y2ggYi9n ZGItYno1NjI3NjMtcHJldHR5LXByaW50LTJkLXZlY3RvcnMucGF0Y2gKaW5kZXggM2M1ZTBkYi4u MGUzZDIxNiAxMDA2NDQKLS0tIGEvZ2RiLWJ6NTYyNzYzLXByZXR0eS1wcmludC0yZC12ZWN0b3Jz LnBhdGNoCisrKyBiL2dkYi1iejU2Mjc2My1wcmV0dHktcHJpbnQtMmQtdmVjdG9ycy5wYXRjaApA QCAtMTIsMTAgKzEyLDEwIEBACiAJKiBnZGIucHl0aG9uL3ByMTA2NTkuZXhwLiAgTmV3IGZpbGUu CiAJKiBnZGIucHl0aG9uL3ByMTA2NTkucHk6IE5ldyBmaWxlLgogCi1JbmRleDogZ2RiLTcuMi41 MC4yMDExMDIwNi9nZGIvdmFscHJpbnQuaAorSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMTgvZ2Ri L3ZhbHByaW50LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy4yLjUwLjIwMTEwMjA2Lm9yaWcvZ2Ri L3ZhbHByaW50LmgJMjAxMS0wMS0yNSAxODo1OTowMC4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGIt Ny4yLjUwLjIwMTEwMjA2L2dkYi92YWxwcmludC5oCTIwMTEtMDItMDYgMjA6NTU6NTkuMDAwMDAw MDAwICswMTAwCistLS0gZ2RiLTcuMi41MC4yMDExMDIxOC5vcmlnL2dkYi92YWxwcmludC5oCTIw MTEtMDItMTQgMTI6MzU6NDUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuMi41MC4yMDExMDIx OC9nZGIvdmFscHJpbnQuaAkyMDExLTAyLTE4IDEwOjQ0OjMyLjAwMDAwMDAwMCArMDEwMAogQEAg LTkwLDYgKzkwLDkgQEAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMKICAKICAgIC8qIElmIG5v bnplcm8sIHByaW50IHRoZSB2YWx1ZSBpbiAic3VtbWFyeSIgZm9ybS4gICovCkBAIC0yNiwxMCAr MjYsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3ZhbHByaW50LmgKICB9Owog IAogIC8qIFRoZSBnbG9iYWwgcHJpbnQgb3B0aW9ucyBzZXQgYnkgdGhlIHVzZXIuICBJbiBnZW5l cmFsIHRoaXMgc2hvdWxkCi1JbmRleDogZ2RiLTcuMi41MC4yMDExMDIwNi9nZGIvcHl0aG9uL3B5 LXByZXR0eXByaW50LmMKK0luZGV4OiBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi9weXRob24vcHkt cHJldHR5cHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAyMDYub3JpZy9n ZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMS0wMS0yNiAyMTo1ODo0OC4wMDAwMDAwMDAg KzAxMDAKLSsrKyBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi9weXRob24vcHktcHJldHR5cHJpbnQu YwkyMDExLTAyLTA2IDIwOjU2OjMwLjAwMDAwMDAwMCArMDEwMAorLS0tIGdkYi03LjIuNTAuMjAx MTAyMTgub3JpZy9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMS0wMi0xNCAxMjoxMDo1 My4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi9weXRob24vcHkt cHJldHR5cHJpbnQuYwkyMDExLTAyLTE4IDEwOjQ1OjAyLjAwMDAwMDAwMCArMDEwMAogQEAgLTUw MSw3ICs1MDEsNyBAQCBwcmludF9jaGlsZHJlbiAoUHlPYmplY3QgKnByaW50ZXIsIGNvbnN0CiAg CiAgICAvKiBVc2UgdGhlIHByZXR0eXByaW50X2FycmF5cyBvcHRpb24gaWYgd2UgYXJlIHByaW50 aW5nIGFuIGFycmF5LApAQCAtMTAzLDE1ICsxMDMsMTUgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAx MTAyMDYvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCiAgICAgIH0KICAKICAgZG9uZToKLUBA IC02OTAsNiArNzEzLDcgQEAgYXBwbHlfdmFsX3ByZXR0eV9wcmludGVyIChzdHJ1Y3QgdHlwZSAq dAorQEAgLTY4OSw2ICs3MTIsNyBAQCBhcHBseV92YWxfcHJldHR5X3ByaW50ZXIgKHN0cnVjdCB0 eXBlICp0CisgICBjaGFyICpoaW50ID0gTlVMTDsKICAgIHN0cnVjdCBjbGVhbnVwICpjbGVhbnVw czsKICAgIGludCByZXN1bHQgPSAwOwotICAgZW51bSBzdHJpbmdfcmVwcl9yZXN1bHQgcHJpbnRf cmVzdWx0OwogKyAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnNfY29weTsKLSAg IGNsZWFudXBzID0gZW5zdXJlX3B5dGhvbl9lbnYgKGdkYmFyY2gsIGxhbmd1YWdlKTsKKyAgIGVu dW0gc3RyaW5nX3JlcHJfcmVzdWx0IHByaW50X3Jlc3VsdDsKICAKLSAgIC8qIEluc3RhbnRpYXRl IHRoZSBwcmludGVyLiAgKi8KLUBAIC03MjEsOSArNzQ1LDIxIEBAIGFwcGx5X3ZhbF9wcmV0dHlf cHJpbnRlciAoc3RydWN0IHR5cGUgKnQKKyAgIC8qIE5vIHByZXR0eS1wcmludGVyIHN1cHBvcnQg Zm9yIHVuYXZhaWxhYmxlIHZhbHVlcy4gICovCitAQCAtNzI2LDkgKzc1MCwyMSBAQCBhcHBseV92 YWxfcHJldHR5X3ByaW50ZXIgKHN0cnVjdCB0eXBlICp0CiAgCiAgICAvKiBJZiB3ZSBhcmUgcHJp bnRpbmcgYSBtYXAsIHdlIHdhbnQgc29tZSBzcGVjaWFsIGZvcm1hdHRpbmcuICAqLwogICAgaGlu dCA9IGdkYnB5X2dldF9kaXNwbGF5X2hpbnQgKHByaW50ZXIpOwpAQCAtMTMzLDEwICsxMzMsMTAg QEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5j CiAgICBwcmludF9yZXN1bHQgPSBwcmludF9zdHJpbmdfcmVwciAocHJpbnRlciwgaGludCwgc3Ry ZWFtLCByZWN1cnNlLAogIAkJCQkgICAgb3B0aW9ucywgbGFuZ3VhZ2UsIGdkYmFyY2gpOwogICAg aWYgKHByaW50X3Jlc3VsdCAhPSBzdHJpbmdfcmVwcl9lcnJvcikKLUluZGV4OiBnZGItNy4yLjUw LjIwMTEwMjA2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmNjCitJbmRleDogZ2Ri LTcuMi41MC4yMDExMDIxOC9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHIxMDY1OS5jYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2 NTkuY2MJMjAxMS0wMi0wNiAyMDo1NTo1OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4yLjUw LjIwMTEwMjE4L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmNjCTIwMTEtMDItMTgg MTA6NDQ6MzIuMDAwMDAwMDAwICswMTAwCiBAQCAtMCwwICsxLDQzIEBACiArI2luY2x1ZGUgPGxp c3Q+CiArI2luY2x1ZGUgPHZlY3Rvcj4gIC8vIC91c3IvaW5jbHVkZS9jKysvNC40LjEvYml0cy92 ZWN0b3IudGNjCkBAIC0xODEsMTAgKzE4MSwxMCBAQCBJbmRleDogZ2RiLTcuMi41MC4yMDExMDIw Ni9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHIxMDY1OS5jYwogKyAgCiArICByZXR1cm4gMDsg IC8vIGJyZWFrCiArfQotSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3ByMTA2NTkuZXhwCitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvdGVz dHN1aXRlL2dkYi5weXRob24vcHIxMDY1OS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy4yLjUwLjIwMTEw MjA2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEwNjU5LmV4cAkyMDExLTAyLTA2IDIwOjU1 OjU5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjIuNTAuMjAxMTAyMTgvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3ByMTA2NTkuZXhwCTIwMTEtMDItMTggMTA6NDQ6MzIuMDAwMDAwMDAwICsw MTAwCiBAQCAtMCwwICsxLDgyIEBACiArI0NvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgogKwpAQCAtMjY4LDEwICsyNjgsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAu MjAxMTAyMDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkuZXhwCiArIyAKICsKICsK LUluZGV4OiBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEw NjU5LnB5CitJbmRleDogZ2RiLTcuMi41MC4yMDExMDIxOC9nZGIvdGVzdHN1aXRlL2dkYi5weXRo b24vcHIxMDY1OS5weQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAw OjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3Rlc3RzdWl0 ZS9nZGIucHl0aG9uL3ByMTA2NTkucHkJMjAxMS0wMi0wNiAyMDo1NTo1OS4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy4yLjUwLjIwMTEwMjE4L2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9wcjEw NjU5LnB5CTIwMTEtMDItMTggMTA6NDQ6MzIuMDAwMDAwMDAwICswMTAwCiBAQCAtMCwwICsxLDEw OSBAQAogKyMgQ29weXJpZ2h0IChDKSAyMDA4LCAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgogKwpAQCAtMzgyLDEwICszODIsMTAgQEAgSW5kZXg6IGdkYi03LjIuNTAuMjAxMTAy MDYvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3ByMTA2NTkucHkKICtmYWtlX3ByZXR0eV9wcmlu dGVyc19kaWN0ID0ge30KICsKICtidWlsZF9saWJmYWtlY3h4X2RpY3Rpb25hcnkgKCkKLUluZGV4 OiBnZGItNy4yLjUwLjIwMTEwMjA2L2dkYi92YWxwcmludC5jCitJbmRleDogZ2RiLTcuMi41MC4y MDExMDIxOC9nZGIvdmFscHJpbnQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjIuNTAuMjAxMTAy MDYub3JpZy9nZGIvdmFscHJpbnQuYwkyMDExLTAyLTA2IDIwOjU1OjUyLjAwMDAwMDAwMCArMDEw MAotKysrIGdkYi03LjIuNTAuMjAxMTAyMDYvZ2RiL3ZhbHByaW50LmMJMjAxMS0wMi0wNiAyMDo1 NTo1OS4wMDAwMDAwMDAgKzAxMDAKKy0tLSBnZGItNy4yLjUwLjIwMTEwMjE4Lm9yaWcvZ2RiL3Zh bHByaW50LmMJMjAxMS0wMi0xOCAxMDo0NDoxNi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy4y LjUwLjIwMTEwMjE4L2dkYi92YWxwcmludC5jCTIwMTEtMDItMTggMTA6NDQ6MzIuMDAwMDAwMDAw ICswMTAwCiBAQCAtODUsNyArODUsOCBAQCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyB1c2Vy X3ByaW50X29wCiAgICAxLAkJCQkvKiBzdGF0aWNfZmllbGRfcHJpbnQgKi8KICAgIDEsCQkJCS8q IHBhc2NhbF9zdGF0aWNfZmllbGRfcHJpbnQgKi8KCmRpZmYgLS1naXQgYS9nZGItY29tcGlsZS1k b2MtaW5mby5wYXRjaCBiL2dkYi1jb21waWxlLWRvYy1pbmZvLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCA2NzE4ZjBjLi4wMDAwMDAwCi0tLSBhL2dkYi1jb21waWxlLWRvYy1p bmZvLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotaHR0cDovL3NvdXJjZXdh cmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTEtMDIvbXNnMDAyMzQuaHRtbAotU3ViamVjdDogUmU6 IFtyZmEvcmZjXSBCdWlsZCBsaWJjb21tb24uYSBmb3IgZ2RiIGFuZCBnZGJzZXJ2ZXIKLQotVGhp cyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0tLS0t MDMwMjAwMDUwNzAxMDUwNTA4MDIwMzA3Ci1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotT24gMDIvMTIvMjAx MSAwMjo0NyBBTSwgVG9tIFRyb21leSB3cm90ZToKLT4gY29tbW9uL01ha2VmaWxlLmluIGRvZXNu J3QgaGF2ZSBhIGNvcHlyaWdodCBoZWFkZXIuCi0+IEkgZGlkbid0IGNoZWNrIHRoZSBvdGhlciBm aWxlcy4KLT4gCi0KLUFkZCBhIGNvcHlyaWdodCBoZWFkZXIgdG8gY29tbW9uL01ha2VmaWxlLmlu LiAgT3RoZXIgZmlsZXMgaGF2ZQotY29weXJpZ2h0IGhlYWRlci4gIEFwcGxpZWQgYXMgb2J2aW91 cy4KLQotPiAibWFrZSBpbmZvIiBub3cgZmFpbHMuICBJIGRpZG4ndCBjaGVjayBvdGhlciBzdWJk aXIgdGFyZ2V0cyBpbgotPiBnZGIvTWFrZWZpbGUuaW4uICBBdXRvbWFrZSB3b3VsZCBzb2x2ZSB0 aGlzIHBsdXMgc29tZSBvdGhlciB0aGluZ3MKLT4gLi4uIDotKQotCi1BZGQgc29tZSBtb3JlIHRh cmdldHMgaW4gY29tbW9uL01ha2VmaWxlLmluIGluIHRoaXMgcGF0Y2guICBgbWFrZQote2luZm8s cGRmLGh0bWwsZHZpfScgd29ya3MuCi0KLS0tIAotWWFvICjpvZDlsKcpCi0KLS0tLS0tLS0tLS0t LS0tMDMwMjAwMDUwNzAxMDUwNTA4MDIwMzA3Ci1Db250ZW50LVR5cGU6IHRleHQveC1wYXRjaDsK LSBuYW1lPSJtb3JlLXRhcmdldHMucGF0Y2giCi1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA3 Yml0Ci1Db250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OwotIGZpbGVuYW1lPSJtb3JlLXRh cmdldHMucGF0Y2giCi0KLWNvbW1vbi8KLQotCSogTWFrZWZpbGUuaW46IEFkZCBtb3JlIHRhcmdl dHMgZm9yIG1ha2UuCi0KLUluZGV4OiBNYWtlZmlsZS5pbgotPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotUkNTIGZpbGU6 IC9jdnMvc3JjL3NyYy9nZGIvY29tbW9uL01ha2VmaWxlLmluLHYKLXJldHJpZXZpbmcgcmV2aXNp b24gMS4xCi1kaWZmIC11IC1yMS4xIE1ha2VmaWxlLmluCi0tLS0gLi9nZGIvY29tbW9uL01ha2Vm aWxlLmluCTExIEZlYiAyMDExIDA5OjU3OjI1IC0wMDAwCTEuMQotKysrIC4vZ2RiL2NvbW1vbi9N YWtlZmlsZS5pbgkxMiBGZWIgMjAxMSAwMjo1NDoxNSAtMDAwMAotQEAgLTc0LDMgKzkxLDIwIEBA Ci0gZGlzdGNsZWFuIG1haW50YWluZXItY2xlYW4gcmVhbGNsZWFuOiBjbGVhbgotIAktcm0gLWYg Kn4KLSAJLXJtIC1mIE1ha2VmaWxlIGNvbmZpZy5zdGF0dXMgY29uZmlnLmxvZwotKwotKy5QSE9O WTogaW5zdGFsbAotK2luc3RhbGw6IGFsbAotKwotKy5QSE9OWTogaW5zdGFsbC1vbmx5Ci0raW5z dGFsbC1vbmx5OgotKyAKLSsuUEhPTlk6IHVuaW5zdGFsbAotK3VuaW5zdGFsbDogCi0rCi0rLlBI T05ZOiBjaGVjayBpbnN0YWxsY2hlY2sgaW5mbyBkdmkgcGRmIGh0bWwKLSsuUEhPTlk6IGluc3Rh bGwtaW5mbyBpbnN0YWxsLXBkZiBpbnN0YWxsLWh0bWwgY2xlYW4taW5mbwotK2NoZWNrIGluc3Rh bGxjaGVjazoKLStpbmZvIGR2aSBwZGYgaHRtbDoKLStpbnN0YWxsLWluZm8gaW5zdGFsbC1wZGYg aW5zdGFsbC1odG1sOgotK2NsZWFuLWluZm86Ci0rCi0KLS0tLS0tLS0tLS0tLS0tMDMwMjAwMDUw NzAxMDUwNTA4MDIwMzA3LS0KLQoKZGlmZiAtLWdpdCBhL2dkYi11cHN0cmVhbS5wYXRjaCBiL2dk Yi11cHN0cmVhbS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGIzMGZkZi4u MDAwMDAwMAotLS0gYS9nZGItdXBzdHJlYW0ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMDYg KzAsMCBAQAotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1jdnMvMjAxMS0wMi9tc2cwMDA2 My5odG1sCi0KLSMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDExLzAyLzEyIDEzOjA3OjM4CTEuMTI1 NTcKLSMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDExLzAyLzEzIDA5OjA5OjMzCTEuMTI1NTgKLSMj IC0xLDMgKzEsOSBAQAotKzIwMTEtMDItMTMgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2 aWxAcmVkaGF0LmNvbT4KLSsKLSsJKiBzeW10YWIuYyAoZmluZF9wY19zZWN0X2xpbmUpOiBOZXcg dmFyaWFibGUgb2JqZmlsZSwgaW5pdGlhbGl6ZSBpdAotKwlmcm9tIFMuICBJdGVyYXRlIFMgdXNp bmcgQUxMX09CSkZJTEVfU1lNVEFCUy4gIFZlcmlmeSBCViBmb3IgZWFjaCBTLgotKwkqIHN5bXRh Yi5oIChzdHJ1Y3Qgc3ltdGFiKSA8bmV4dD46IENvbW1lbnQgZXh0ZW5zaW9uLgotKwotIDIwMTEt MDItMTIgIFlhbyBRaSAgPHlhb0Bjb2Rlc291cmNlcnkuY29tPgotIAotIAkqIE1ha2VmaWxlLmlu IChDTEVBTkRJUlMpOiBSZW1vdmUgZHVwbGljYXRlZCBjb21tb24gZGlyLgotLS0tIHNyYy9nZGIv c3ltdGFiLmMJMjAxMS8wMS8xMSAyMTo1MzoyNAkxLjI1NwotKysrIHNyYy9nZGIvc3ltdGFiLmMJ MjAxMS8wMi8xMyAwOTowOTozNgkxLjI1OAotQEAgLTE5MDQsNiArMTkwNCw3IEBACi0gICBzdHJ1 Y3QgYmxvY2t2ZWN0b3IgKmJ2OwotICAgc3RydWN0IG1pbmltYWxfc3ltYm9sICptc3ltYm9sOwot ICAgc3RydWN0IG1pbmltYWxfc3ltYm9sICptZnVuc3ltOwotKyAgc3RydWN0IG9iamZpbGUgKm9i amZpbGU7Ci0gCi0gICAvKiBJbmZvIG9uIGJlc3QgbGluZSBzZWVuIHNvIGZhciwgYW5kIHdoZXJl IGl0IHN0YXJ0cywgYW5kIGl0cyBmaWxlLiAgKi8KLSAKLUBAIC0yMDMxLDEzICsyMDMyLDE3IEBA Ci0gICAgIH0KLSAKLSAgIGJ2ID0gQkxPQ0tWRUNUT1IgKHMpOwotKyAgb2JqZmlsZSA9IHMtPm9i amZpbGU7Ci0gCi0gICAvKiBMb29rIGF0IGFsbCB0aGUgc3ltdGFicyB0aGF0IHNoYXJlIHRoaXMg YmxvY2t2ZWN0b3IuCi0gICAgICBUaGV5IGFsbCBoYXZlIHRoZSBzYW1lIGFwcmlvcmkgcmFuZ2Us IHRoYXQgd2UgZm91bmQgd2FzIHJpZ2h0OwotICAgICAgYnV0IHRoZXkgaGF2ZSBkaWZmZXJlbnQg bGluZSB0YWJsZXMuICAqLwotIAotLSAgZm9yICg7IHMgJiYgQkxPQ0tWRUNUT1IgKHMpID09IGJ2 OyBzID0gcy0+bmV4dCkKLSsgIEFMTF9PQkpGSUxFX1NZTVRBQlMgKG9iamZpbGUsIHMpCi0gICAg IHsKLSsgICAgICBpZiAoQkxPQ0tWRUNUT1IgKHMpICE9IGJ2KQotKwljb250aW51ZTsKLSsKLSAg ICAgICAvKiBGaW5kIHRoZSBiZXN0IGxpbmUgaW4gdGhpcyBzeW10YWIuICAqLwotICAgICAgIGwg PSBMSU5FVEFCTEUgKHMpOwotICAgICAgIGlmICghbCkKLS0tLSBzcmMvZ2RiL3N5bXRhYi5oCTIw MTEvMDEvMTEgMjE6NTM6MjUJMS4xNjgKLSsrKyBzcmMvZ2RiL3N5bXRhYi5oCTIwMTEvMDIvMTMg MDk6MDk6MzYJMS4xNjkKLUBAIC03MzgsOCArNzM4LDcgQEAKLSAKLSBzdHJ1Y3Qgc3ltdGFiCi0g ewotLQotLSAgLyogQ2hhaW4gb2YgYWxsIGV4aXN0aW5nIHN5bXRhYnMuICAqLwotKyAgLyogVW5v cmRlcmVkIGNoYWluIG9mIGFsbCBleGlzdGluZyBzeW10YWJzIG9mIHRoaXMgb2JqZmlsZS4gICov Ci0gCi0gICBzdHJ1Y3Qgc3ltdGFiICpuZXh0OwotIAotCi0KLQotaHR0cDovL3NvdXJjZXdhcmUu b3JnL21sL2dkYi1jdnMvMjAxMS0wMi9tc2cwMDA2NC5odG1sCi0KLSMjIyBzcmMvZ2RiL0NoYW5n ZUxvZwkyMDExLzAyLzEzIDA5OjA5OjMzCTEuMTI1NTgKLSMjIyBzcmMvZ2RiL0NoYW5nZUxvZwky MDExLzAyLzEzIDA5OjE1OjUwCTEuMTI1NTkKLSMjIC0xLDUgKzEsMTIgQEAKLSAyMDExLTAyLTEz ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0gCi0rCUZpeCBj b25zdC92b2xhdGlsZSBxdWFsaWZpZXJzIG9mIEMrKyB0eXBlcywgUFIgYysrLzEyMzI4LgotKwkq IGMtdHlwZXByaW50LmMgKGNfdHlwZV9wcmludF9hcmdzKTogVXBkYXRlIHRoZSBmdW5jdGlvbiBj b21tZW50LiAgTmV3Ci0rCXZhcmlhYmxlIHBhcmFtX3R5cGUsIGluaXRpYWxpemUgaXQuICBSZW1v dmUgY29uc3Qvdm9sYXRpbGUgcXVhbGlmaWVycwotKwlmb3IgbGFuZ3VhZ2VfY3BsdXMgYW5kICFz aG93X2FydGlmaWNpYWwuICBVc2UgcGFyYW1fdHlwZS4KLSsKLSsyMDExLTAyLTEzICBKYW4gS3Jh dG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJlZGhhdC5jb20+Ci0rCi0gCSogc3ltdGFiLmMgKGZp bmRfcGNfc2VjdF9saW5lKTogTmV3IHZhcmlhYmxlIG9iamZpbGUsIGluaXRpYWxpemUgaXQKLSAJ ZnJvbSBTLiAgSXRlcmF0ZSBTIHVzaW5nIEFMTF9PQkpGSUxFX1NZTVRBQlMuICBWZXJpZnkgQlYg Zm9yIGVhY2ggUy4KLSAJKiBzeW10YWIuaCAoc3RydWN0IHN5bXRhYikgPG5leHQ+OiBDb21tZW50 IGV4dGVuc2lvbi4KLS0tLSBzcmMvZ2RiL2MtdHlwZXByaW50LmMJMjAxMS8wMS8wNyAxOTozNjox NQkxLjY4Ci0rKysgc3JjL2dkYi9jLXR5cGVwcmludC5jCTIwMTEvMDIvMTMgMDk6MTU6NTMJMS42 OQotQEAgLTM4OCw5ICszODgsMTIgQEAKLSAvKiBQcmludCBvdXQgdGhlIGFyZ3VtZW50cyBvZiBU WVBFLCB3aGljaCBzaG91bGQgaGF2ZSBUWVBFX0NPREVfTUVUSE9ECi0gICAgb3IgVFlQRV9DT0RF X0ZVTkMsIHRvIFNUUkVBTS4gIEFydGlmaWNpYWwgYXJndW1lbnRzLCBzdWNoIGFzICJ0aGlzIgot ICAgIGluIG5vbi1zdGF0aWMgbWV0aG9kcywgYXJlIGRpc3BsYXllZCBpZiBTSE9XX0FSVElGSUNJ QUwgaXMKLS0gICBub24temVyby4gIExBTkdVQUdFIGlzIHRoZSBsYW5ndWFnZSBpbiB3aGljaCBU WVBFIHdhcyBkZWZpbmVkLgotLSAgIFRoaXMgaXMgYSBuZWNlc3NhcnkgZXZpbCBzaW5jZSB0aGlz IGNvZGUgaXMgdXNlZCBieSB0aGUgQywgQysrLCBhbmQKLS0gICBKYXZhIGJhY2tlbmRzLiAgKi8K LSsgICBub24temVyby4gIElmIFNIT1dfQVJUSUZJQ0lBTCBpcyB6ZXJvIGFuZCBMQU5HVUFHRSBp cyBsYW5ndWFnZV9jcGx1cwotKyAgIHRoZSB0b3Btb3N0IHBhcmFtZXRlciB0eXBlcyBnZXQgcmVt b3ZlZCB0aGVpciBwb3NzaWJsZSBjb25zdCBhbmQgdm9sYXRpbGUKLSsgICBxdWFsaWZpZXJzIHRv IG1hdGNoIGRlbWFuZ2xlZCBsaW5rYWdlIG5hbWUgcGFyYW1ldGVycyBwYXJ0IG9mIHN1Y2ggZnVu Y3Rpb24KLSsgICB0eXBlLiAgTEFOR1VBR0UgaXMgdGhlIGxhbmd1YWdlIGluIHdoaWNoIFRZUEUg d2FzIGRlZmluZWQuICBUaGlzIGlzCi0rICAgYSBuZWNlc3NhcnkgZXZpbCBzaW5jZSB0aGlzIGNv ZGUgaXMgdXNlZCBieSB0aGUgQywgQysrLCBhbmQgSmF2YSBiYWNrZW5kcy4KLSsgICAqLwotIAot IHZvaWQKLSBjX3R5cGVfcHJpbnRfYXJncyAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sCi1AQCAtNDA2LDYgKzQwOSw4IEBACi0gCi0gICBmb3IgKGkgPSAwOyBpIDwg VFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQotICAgICB7Ci0rICAgICAgc3RydWN0IHR5cGUgKnBh cmFtX3R5cGU7Ci0rCi0gICAgICAgaWYgKFRZUEVfRklFTERfQVJUSUZJQ0lBTCAodHlwZSwgaSkg JiYgIXNob3dfYXJ0aWZpY2lhbCkKLSAJY29udGludWU7Ci0gCi1AQCAtNDE1LDEyICs0MjAsMjQg QEAKLSAJICB3cmFwX2hlcmUgKCIgICAgIik7Ci0gCX0KLSAKLSsgICAgICBwYXJhbV90eXBlID0g VFlQRV9GSUVMRF9UWVBFICh0eXBlLCBpKTsKLSsKLSsgICAgICBpZiAobGFuZ3VhZ2UgPT0gbGFu Z3VhZ2VfY3BsdXMgJiYgIXNob3dfYXJ0aWZpY2lhbCkKLSsJewotKwkgIC8qIEMrKyBzdGFuZGFy ZCwgMTMuMSBPdmVybG9hZGFibGUgZGVjbGFyYXRpb25zLCBwb2ludCAzLCBpdGVtOgotKwkgICAg IC0gUGFyYW1ldGVyIGRlY2xhcmF0aW9ucyB0aGF0IGRpZmZlciBvbmx5IGluIHRoZSBwcmVzZW5j ZSBvcgotKwkgICAgICAgYWJzZW5jZSBvZiBjb25zdCBhbmQvb3Igdm9sYXRpbGUgYXJlIGVxdWl2 YWxlbnQuCi0rCi0rCSAgICAgQW5kIHRoZSBjb25zdC92b2xhdGlsZSBxdWFsaWZpZXJzIGFyZSBu b3QgcHJlc2VudCBpbiB0aGUgbWFuZ2xlZAotKwkgICAgIG5hbWVzIGFzIHByb2R1Y2VkIGJ5IEdD Qy4gICovCi0rCi0rCSAgcGFyYW1fdHlwZSA9IG1ha2VfY3ZfdHlwZSAoMCwgMCwgcGFyYW1fdHlw ZSwgTlVMTCk7Ci0rCX0KLSsKLSAgICAgICBpZiAobGFuZ3VhZ2UgPT0gbGFuZ3VhZ2VfamF2YSkK LS0JamF2YV9wcmludF90eXBlIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpLAotLQkJCSAiIiwg c3RyZWFtLCAtMSwgMCk7Ci0rCWphdmFfcHJpbnRfdHlwZSAocGFyYW1fdHlwZSwgIiIsIHN0cmVh bSwgLTEsIDApOwotICAgICAgIGVsc2UKLS0JY19wcmludF90eXBlIChUWVBFX0ZJRUxEX1RZUEUg KHR5cGUsIGkpLAotLQkJICAgICAgIiIsIHN0cmVhbSwgLTEsIDApOwotKwljX3ByaW50X3R5cGUg KHBhcmFtX3R5cGUsICIiLCBzdHJlYW0sIC0xLCAwKTsKLSAgICAgICBwcmludGVkX2FueSA9IDE7 Ci0gICAgIH0KLSAKLSMjIyBzcmMvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cJMjAxMS8wMi8wOCAx MzozMDowOAkxLjI1NzYKLSMjIyBzcmMvZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cJMjAxMS8wMi8x MyAwOToxNTo1MwkxLjI1NzcKLSMjIC0xLDMgKzEsOSBAQAotKzIwMTEtMDItMTMgIEphbiBLcmF0 b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLSsKLSsJRml4IGNvbnN0L3ZvbGF0 aWxlIHF1YWxpZmllcnMgb2YgQysrIHR5cGVzLCBQUiBjKysvMTIzMjguCi0rCSogZ2RiLmNwL292 ZXJsb2FkLWNvbnN0LmV4cDogTmV3IGZpbGUuCi0rCSogZ2RiLmNwL292ZXJsb2FkLWNvbnN0LmNj OiBOZXcgZmlsZS4KLSsKLSAyMDExLTAyLTA4ICBVbHJpY2ggV2VpZ2FuZCAgPHV3ZWlnYW5kQGRl LmlibS5jb20+Ci0gCi0gCSogZ2RiLm9wZW5jbC9jYWxsZnVuY3MuY2w6IE5ldyBmaWxlLgotLS0t IHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC1jb25zdC5jYwotKysrIHNyYy9nZGIv dGVzdHN1aXRlL2dkYi5jcC9vdmVybG9hZC1jb25zdC5jYwkyMDExLTAyLTEzIDE3OjQ3OjE1LjU4 Nzc4MDAwMCArMDAwMAotQEAgLTAsMCArMSwyOCBAQAotKy8qIFRoaXMgdGVzdCBjYXNlIGlzIHBh cnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgotKwotKyAgIENvcHlyaWdodCAyMDExIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LiAgKi8KLSsKLStjbGFzcyBteWNsYXNzCi0rewotK3B1YmxpYzoKLSsgIHN0YXRp YyB2b2lkIGZ1bmMoY29uc3QgaW50IGFhKSB7fQotK307Ci0rCi0raW50Ci0rbWFpbiAoKQotK3sK LSsgIG15Y2xhc3M6OmZ1bmMgKDQyKTsKLSt9Ci0tLS0gc3JjL2dkYi90ZXN0c3VpdGUvZ2RiLmNw L292ZXJsb2FkLWNvbnN0LmV4cAotKysrIHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5jcC9vdmVybG9h ZC1jb25zdC5leHAJMjAxMS0wMi0xMyAxNzo0NzoxNS44ODQ2OTgwMDAgKzAwMDAKLUBAIC0wLDAg KzEsMjkgQEAKLSsjIENvcHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgotKyMKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBUaGlzIGZpbGUgaXMg cGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4KLSsKLStpZiB7W3NraXBfY3BsdXNfdGVzdHNdfSB7 IGNvbnRpbnVlIH0KLSsKLStzZXQgdGVzdGZpbGUgIm92ZXJsb2FkLWNvbnN0IgotK2lmIFtwcmVw YXJlX2Zvcl90ZXN0aW5nICR0ZXN0ZmlsZSAkdGVzdGZpbGUgJHRlc3RmaWxlLmNjIHtjKysgZGVi dWd9XSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLStnZGJfdGVzdF9ub19vdXRwdXQgInNldCBs YW5ndWFnZSBjKysiCi0rCi0raWYgW2dkYl9icmVha3BvaW50ICJteWNsYXNzOjpmdW5jIl0gewot KyAgICBwYXNzICJzZXR0aW5nIGJyZWFrcG9pbnQgYXQgbXljbGFzczo6ZnVuYyIKLSt9CgpkaWZm IC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCBkZGJlNDIxLi4yNmFkM2ZlIDEwMDY0 NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMjMsMTEgKzIzLDExIEBAIE5hbWU6 IGdkYiV7P193aXRoX2RlYnVnOi1kZWJ1Z30KICMgU2V0IHZlcnNpb24gdG8gY29udGVudHMgb2Yg Z2RiL3ZlcnNpb24uaW4uCiAjIE5PVEU6IHRoZSBGU0YgZ2RiIHZlcnNpb25zIGFyZSBudW1iZXJl ZCBOLk0gZm9yIG9mZmljaWFsIHJlbGVhc2VzLCBsaWtlIDYuMwogIyBhbmQsIHNpbmNlIEphbnVh cnkgMjAwNSwgWC5ZLlouZGF0ZSBmb3IgZGFpbHkgc25hcHNob3RzLCBsaWtlIDYuMy41MC4yMDA1 MDExMiAjIChkYWlseSBzbmFwc2hvdCBmcm9tIG1haWxpbmUpLCBvciA2LjMuMC4yMDA0MDExMiAo aGVhZCBvZiB0aGUgcmVsZWFzZSBicmFuY2gpLgotVmVyc2lvbjogNy4yLjUwLjIwMTEwMjEzCitW ZXJzaW9uOiA3LjIuNTAuMjAxMTAyMTgKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMg YSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBp cyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29t cGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAyMyV7P193aXRoX3Vwc3RyZWFtOi51 cHN0cmVhbX0lez9kaXN0fQorUmVsZWFzZTogMjQlez9fd2l0aF91cHN0cmVhbToudXBzdHJlYW19 JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFu ZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2Misg YW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpA QCAtMjY0LDcgKzI2NCw3IEBAIFBhdGNoMjMxOiBnZGItNi4zLWJ6MjAyNjg5LWV4ZWMtZnJvbS1w dGhyZWFkLXRlc3QucGF0Y2gKIAogIyBCYWNrcG9ydGVkIGZpeHVwcyBwb3N0IHRoZSBzb3VyY2Ug dGFyYmFsbC4KICNYZHJvcDogSnVzdCBiYWNrcG9ydHMuCi1QYXRjaDIzMjogZ2RiLXVwc3RyZWFt LnBhdGNoCisjUGF0Y2gyMzI6IGdkYi11cHN0cmVhbS5wYXRjaAogCiAjIFRlc3RjYXNlIGZvciBQ UEMgUG93ZXI2L0RGUCBpbnN0cnVjdGlvbnMgZGlzYXNzZW1ibHkgKEJaIDIzMDAwMCkuCiAjPWZl ZG9yYXRlc3QrcHBjCkBAIC01NTgsMTAgKzU1OCw2IEBAIFBhdGNoNTY1OiBnZGItcGh5c25hbWUt cHIxMTczNC0xb2YyLnBhdGNoCiBQYXRjaDU2NjogZ2RiLXBoeXNuYW1lLXByMTE3MzQtMm9mMi5w YXRjaAogUGF0Y2g1Njc6IGdkYi1waHlzbmFtZS1wcjEyMjczLnBhdGNoCiAKLSMgVGVtcG9yYXJ5 IEhFQUQgY29tcGlsYXRpb24gZml4LgotIyA9ZHJvcAotUGF0Y2g1Njg6IGdkYi1jb21waWxlLWRv Yy1pbmZvLnBhdGNoCi0KIEJ1aWxkUmVxdWlyZXM6IG5jdXJzZXMtZGV2ZWwlez9faXNhfSB0ZXhp bmZvIGdldHRleHQgZmxleCBiaXNvbiBleHBhdC1kZXZlbCV7P19pc2F9CiBSZXF1aXJlczogcmVh ZGxpbmUlez9faXNhfQogQnVpbGRSZXF1aXJlczogcmVhZGxpbmUtZGV2ZWwlez9faXNhfQpAQCAt NzE2LDcgKzcxMiw3IEBAIHJtIC1mIGdkYi9qdi1leHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMt ZXhwLmMgZ2RiL3AtZXhwLmMKIAogJWlmIDAleyE/X3dpdGhfdXBzdHJlYW06MX0KIAotJXBhdGNo MjMyIC1wMQorI3BhdGNoMjMyIC1wMQogJXBhdGNoMzQ5IC1wMQogJXBhdGNoMSAtcDEKICVwYXRj aDMgLXAxCkBAIC04MzEsNyArODI3LDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAu YyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNTY1IC1wMQogJXBhdGNoNTY2IC1w MQogJXBhdGNoNTY3IC1wMQotJXBhdGNoNTY4IC1wMQogCiAlcGF0Y2gzOTAgLXAxCiAlcGF0Y2gz OTMgLXAxCkBAIC0xMjM5LDYgKzEyMzQsMTAgQEAgZmkKICV7X2luZm9kaXJ9L2dkYi5pbmZvKgog CiAlY2hhbmdlbG9nCisqIEZyaSBGZWIgMTggMjAxMSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRv Y2h2aWxAcmVkaGF0LmNvbT4gLSA3LjIuNTAuMjAxMTAyMTgtMjQuZmMxNQorLSBSZWJhc2UgdG8g RlNGIEdEQiA3LjIuNTAuMjAxMTAyMTggKHdoaWNoIGlzIGEgNy4zIHByZS1yZWxlYXNlKS4KKy0g W3ZsYV0gRm94IEZvcnRyYW4gdmVjdG9yIHNsaWNlcyBmb3IgYWxsb2NhdGVkIGFycmF5cyAoZm9y IEJaIDYwOTc4MikuCisKICogVHVlIEZlYiAxNSAyMDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3Jh dG9jaHZpbEByZWRoYXQuY29tPiAtIDcuMi41MC4yMDExMDIxMy0yMy5mYzE1CiAtIE1vdmUgdGhl IEdGREwgTGljZW5zZSB0byBnZGItZG9jLgogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJj ZXMKaW5kZXggYjlhODVhOS4uNDIxOTEwOSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3Vy Y2VzCkBAIC0xLDIgKzEsMiBAQAogMDRlNWM0YjFiOWU2MzM0MjJjYzQ4OTkwZmU2MTk1OGQgIGxp YnN0ZGMrKy12My1weXRob24tcjE1NTk3OC50YXIuYnoyCi02MjZmMmVjZGY5NGM2NWVjNWI4ZjIz NTlmMzQ4OGQ5NiAgZ2RiLTcuMi41MC4yMDExMDIxMy50YXIuYnoyCis5MWY4MjgzYzliMzhjZThm NzQ2YTMwOGJjNDE2NWQ4MSAgZ2RiLTcuMi41MC4yMDExMDIxOC50YXIuYnoyCg==