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] gdb-17.2-rebase-f44: Rebase to FSF GDB 7.4.50.20120714. Date: Sat, 27 Jun 2026 23:55:48 GMT Message-ID: <178260454849.1.17448675557579104613.rpms-gdb-8aabf36e777c@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 8aabf36e777c93a6571f7b9f7e70688d13271e14 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogOGFhYmYzNmU3NzdjOTNhNjU3MWY3YjlmN2U3MDY4OGQxMzI3 MWUxNAogICAgICAgICAgICBBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxA cmVkaGF0LmNvbT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAxMi0wNy0xNVQxMDo0MTo0NiswMjow MAogICAgICAgICAgICBTdGF0cyAgOiArNjk1Ly03ODIgaW4gMTMgZmlsZShzKQogICAgICAgICAg ICBVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2dkYi9jLzhhYWJm MzZlNzc3YzkzYTY1NzFmN2I5ZjdlNzA2ODhkMTMyNzFlMTQ/YnJhbmNoPWdkYi0xNy4yLXJlYmFz ZS1mNDQKCiAgICAgICAgICAgIExvZzoKICAgICAgICAgICAgUmViYXNlIHRvIEZTRiBHREIgNy40 LjUwLjIwMTIwNzE0LgoKICAtIEZpeCBlbnRyeXZhbCBmZWF0dXJlIGNyYXNoIG9uIHNvbWUgLmRl YnVnIGZpbGVzIG9wdGltaXplZCBieSBkd3ogKEJaIDgzOTU5NikuCi0gRml4IGFub3RoZXIgc3Rh bGUgZnJhbWVfaW5mbyAqIChQUiAxMTkxNCwgbGlrZSBQUiAxMzg2NikuCgotLS0KZGlmZiAtLWdp dCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDI5MzZmMWMuLjY0M2ExNWYgMTAwNjQ0 Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9saWJz dGRjKystdjMtcHl0aG9uLXIxNTU5NzgudGFyLmJ6MgotL2dkYi03LjQuNTAuMjAxMjA3MDMudGFy LmJ6MgorL2dkYi03LjQuNTAuMjAxMjA3MTQudGFyLmJ6MgoKZGlmZiAtLWdpdCBhL2dkYi02LjYt c2NoZWR1bGVyX2xvY2tpbmctc3RlcC1zdy13YXRjaHBvaW50czIucGF0Y2ggYi9nZGItNi42LXNj aGVkdWxlcl9sb2NraW5nLXN0ZXAtc3ctd2F0Y2hwb2ludHMyLnBhdGNoCmluZGV4IGM1MzE4ZTYu LjM2YjEwYTUgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1zdy13 YXRjaHBvaW50czIucGF0Y2gKKysrIGIvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3 LXdhdGNocG9pbnRzMi5wYXRjaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKIAlQb3J0IHRvIEdEQi02 LjhwcmUuCiAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9pbmZlcmlvci5oCitJbmRl eDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mZXJpb3IuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvaW5mZXJpb3IuaAkyMDEyLTA1LTI0IDE4OjM5OjA5 LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2luZmVyaW9yLmgJ MjAxMi0wNi0wMiAxODoyNDoxMi44NzUyNzQxNzkgKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIw NzE0Lm9yaWcvZ2RiL2luZmVyaW9yLmgJMjAxMi0wNi0xMyAyMDoxNTowNS4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9pbmZlcmlvci5oCTIwMTItMDctMTQgMjM6 MjE6MDEuNzk1MTYxNzk0ICswMjAwCiBAQCAtMTU5LDcgKzE1OSwxNSBAQCBleHRlcm4gdm9pZCBy ZW9wZW5fZXhlY19maWxlICh2b2lkKTsKICAvKiBUaGUgYHJlc3VtZScgcm91dGluZSBzaG91bGQg b25seSBiZSBjYWxsZWQgaW4gc3BlY2lhbCBjaXJjdW1zdGFuY2VzLgogICAgIE5vcm1hbGx5LCB1 c2UgYHByb2NlZWQnLCB3aGljaCBoYW5kbGVzIGEgbG90IG9mIGJvb2trZWVwaW5nLiAgKi8KQEAg LTQyLDEwICs0MiwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mZXJpb3Iu aAogIAogIGV4dGVybiBwdGlkX3QgdXNlcl92aXNpYmxlX3Jlc3VtZV9wdGlkIChpbnQgc3RlcCk7 CiAgCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKK0luZGV4OiBnZGIt Ny40LjUwLjIwMTIwNzE0L2dkYi9pbmZydW4uYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAu MjAxMjA2MDIub3JpZy9nZGIvaW5mcnVuLmMJMjAxMi0wNS0yOCAyMjo0MzoyNi4wMDAwMDAwMDAg KzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9pbmZydW4uYwkyMDEyLTA2LTAyIDE4 OjIzOjU5LjMzOTI3ODI2OCArMDIwMAorLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIv aW5mcnVuLmMJMjAxMi0wNy0wMSAxMjozNzowNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40 LjUwLjIwMTIwNzE0L2dkYi9pbmZydW4uYwkyMDEyLTA3LTE0IDIzOjIxOjAxLjgwMDE2MTc2NyAr MDIwMAogQEAgLTc5LDcgKzc5LDcgQEAgc3RhdGljIGludCBmb2xsb3dfZm9yayAodm9pZCk7CiAg c3RhdGljIHZvaWQgc2V0X3NjaGVkbG9ja19mdW5jIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHks CiAgCQkJCXN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjKTsKQEAgLTU1LDcgKzU1LDcgQEAgSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2luZnJ1bi5jCiAgCiAgc3RhdGljIGludCBjdXJy ZW50bHlfc3RlcHBpbmdfb3JfbmV4dGluZ19jYWxsYmFjayAoc3RydWN0IHRocmVhZF9pbmZvICp0 cCwKICAJCQkJCQkgICB2b2lkICpkYXRhKTsKLUBAIC0xNjg3LDcgKzE2ODcsOCBAQCB1c2VyX3Zp c2libGVfcmVzdW1lX3B0aWQgKGludCBzdGVwKQorQEAgLTE2NzIsNyArMTY3Miw4IEBAIHVzZXJf dmlzaWJsZV9yZXN1bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgIH0KICAgIGVsc2UgaWYgKChzY2hl ZHVsZXJfbW9kZSA9PSBzY2hlZGxvY2tfb24pCiAgCSAgIHx8IChzY2hlZHVsZXJfbW9kZSA9PSBz Y2hlZGxvY2tfc3RlcApAQCAtNjUsNyArNjUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYw Mi9nZGIvaW5mcnVuLmMKICAgICAgewogICAgICAgIC8qIFVzZXItc2V0dGFibGUgJ3NjaGVkdWxl cicgbW9kZSByZXF1aXJlcyBzb2xvIHRocmVhZCByZXN1bWUuICAqLwogICAgICAgIHJlc3VtZV9w dGlkID0gaW5mZXJpb3JfcHRpZDsKLUBAIC0xNzA1LDcgKzE3MDYsNyBAQCB1c2VyX3Zpc2libGVf cmVzdW1lX3B0aWQgKGludCBzdGVwKQorQEAgLTE2OTAsNyArMTY5MSw3IEBAIHVzZXJfdmlzaWJs ZV9yZXN1bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgU1RFUCBub256ZXJvIGlmIHdlIHNob3VsZCBz dGVwICh6ZXJvIHRvIGNvbnRpbnVlIGluc3RlYWQpLgogICAgIFNJRyBpcyB0aGUgc2lnbmFsIHRv IGdpdmUgdGhlIGluZmVyaW9yICh6ZXJvIGZvciBub25lKS4gICovCiAgdm9pZApAQCAtNzQsNyAr NzQsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICB7CiAgICBp bnQgc2hvdWxkX3Jlc3VtZSA9IDE7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NsZWFudXBzID0g bWFrZV9jbGVhbnVwIChyZXN1bWVfY2xlYW51cHMsIDApOwotQEAgLTE3MzgsOSArMTczOSwxMyBA QCByZXN1bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQorQEAgLTE3MjMsOSArMTcy NCwxMyBAQCByZXN1bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQogIAogICAgaWYg KGRlYnVnX2luZnJ1bikKICAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAt OTAsNyArOTAsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAJ CQl0YXJnZXRfcGlkX3RvX3N0ciAoaW5mZXJpb3JfcHRpZCksCiAgCQkJcGFkZHJlc3MgKGdkYmFy Y2gsIHBjKSk7CiAgCi1AQCAtMjExNyw3ICsyMTIyLDcgQEAgcHJvY2VlZCAoQ09SRV9BRERSIGFk ZHIsIGVudW0gZ2RiX3NpZ25hbAorQEAgLTIxMDIsNyArMjEwNyw3IEBAIHByb2NlZWQgKENPUkVf QUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAgIHN0cnVjdCB0aHJlYWRfaW5mbyAqdHA7CiAg ICBDT1JFX0FERFIgcGM7CiAgICBzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlOwpAQCAtOTks NyArOTksNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAKICAg IC8qIElmIHdlJ3JlIHN0b3BwZWQgYXQgYSBmb3JrL3Zmb3JrLCBmb2xsb3cgdGhlIGJyYW5jaCBz ZXQgYnkgdGhlCiAgICAgICAic2V0IGZvbGxvdy1mb3JrLW1vZGUiIGNvbW1hbmQ7IG90aGVyd2lz ZSwgd2UnbGwganVzdCBwcm9jZWVkCi1AQCAtMjE1NywxMyArMjE2MiwxMyBAQCBwcm9jZWVkIChD T1JFX0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCitAQCAtMjE0MiwxMyArMjE0NywxMyBAQCBw cm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCiAgCSAgIGFjdHVhbGx5IGJl IGV4ZWN1dGluZyB0aGUgYnJlYWtwb2ludCBpbnNuIGFueXdheS4KICAJICAgV2UnbGwgYmUgKHVu LSlleGVjdXRpbmcgdGhlIHByZXZpb3VzIGluc3RydWN0aW9uLiAgKi8KICAKQEAgLTExNSw3ICsx MTUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mcnVuLmMKICAgICAgfQog ICAgZWxzZQogICAgICB7Ci1AQCAtMjE5NCwxMyArMjE5OSwxMyBAQCBwcm9jZWVkIChDT1JFX0FE RFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCitAQCAtMjE3OSwxMyArMjE4NCwxMyBAQCBwcm9jZWVk IChDT1JFX0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCiAgCSBpcyByZXF1aXJlZCBpdCByZXR1 cm5zIFRSVUUgYW5kIHNldHMgdGhlIGN1cnJlbnQgdGhyZWFkIHRvCiAgCSB0aGUgb2xkIHRocmVh ZC4gICovCiAgICAgICAgaWYgKHByZXBhcmVfdG9fcHJvY2VlZCAoc3RlcCkpCkBAIC0xMzEsNyAr MTMxLDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2luZnJ1bi5jCiAgICAgIHsK ICAgICAgICB0cC0+Y29udHJvbC50cmFwX2V4cGVjdGVkID0gMTsKICAgICAgICAvKiBJZiBkaXNw bGFjZWQgc3RlcHBpbmcgaXMgZW5hYmxlZCwgd2UgY2FuIHN0ZXAgb3ZlciB0aGUKLUBAIC0yMjg3 LDggKzIyOTIsMTMgQEAgcHJvY2VlZCAoQ09SRV9BRERSIGFkZHIsIGVudW0gZ2RiX3NpZ25hbAor QEAgLTIyNzIsOCArMjI3NywxMyBAQCBwcm9jZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSBnZGJf c2lnbmFsCiAgICAvKiBSZXNldCB0byBub3JtYWwgc3RhdGUuICAqLwogICAgaW5pdF9pbmZ3YWl0 X3N0YXRlICgpOwogIApAQCAtMTQ2LDcgKzE0Niw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9pbmZydW4uYwogIAogICAgLyogV2FpdCBmb3IgaXQgdG8gc3RvcCAoaWYgbm90IHN0 YW5kYWxvbmUpCiAgICAgICBhbmQgaW4gYW55IGNhc2UgZGVjb2RlIHdoeSBpdCBzdG9wcGVkLCBh bmQgYWN0IGFjY29yZGluZ2x5LiAgKi8KLUBAIC01MjQ5LDEzICs1MjU5LDE4IEBAIHByb2Nlc3Nf ZXZlbnRfc3RvcF90ZXN0OgorQEAgLTUyMDUsMTMgKzUyMTUsMTggQEAgcHJvY2Vzc19ldmVudF9z dG9wX3Rlc3Q6CiAgCiAgLyogSXMgdGhyZWFkIFRQIGluIHRoZSBtaWRkbGUgb2Ygc2luZ2xlLXN0 ZXBwaW5nPyAgKi8KICAKQEAgLTE3MCwxMSArMTcwLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIw MTIwNjAyL2dkYi9pbmZydW4uYwogIH0KICAKICAvKiBSZXR1cm5zIHRydWUgaWYgYW55IHRocmVh ZCAqYnV0KiB0aGUgb25lIHBhc3NlZCBpbiAiZGF0YSIgaXMgaW4gdGhlCi1JbmRleDogZ2RiLTcu NC41MC4yMDEyMDYwMi9nZGIvbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0 L2dkYi9saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3Jp Zy9nZGIvbGludXgtbmF0LmMJMjAxMi0wNS0yNCAxODo1MTozNC4wMDAwMDAwMDAgKzAyMDAKLSsr KyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9saW51eC1uYXQuYwkyMDEyLTA2LTAyIDE4OjIzOjA3 LjQwOTI5MzgwMCArMDIwMAotQEAgLTMwNTEsNyArMzA1MSwxMSBAQCBzdGF0aWMgaW50CistLS0g Z2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEyLTA3LTA3IDE0OjEz OjU2LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2xpbnV4LW5h dC5jCTIwMTItMDctMTQgMjM6MjE6MDEuODAzMTYxNzUwICswMjAwCitAQCAtMjk4Miw3ICsyOTgy LDExIEBAIHN0YXRpYyBpbnQKICBzZWxlY3Rfc2luZ2xlc3RlcF9sd3BfY2FsbGJhY2sgKHN0cnVj dCBsd3BfaW5mbyAqbHAsIHZvaWQgKmRhdGEpCiAgewogICAgaWYgKGxwLT5sYXN0X3Jlc3VtZV9r aW5kID09IHJlc3VtZV9zdGVwCkBAIC0xODcsMTAgKzE4NywxMCBAQCBJbmRleDogZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvbGludXgtbmF0LmMKICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAg IHJldHVybiAwOwotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2xpbnV4LW5hdC5oCitJ bmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDMtMjEgMTQ6 NDM6NTQuMDAwMDAwMDAwICswMTAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvbGludXgt bmF0LmgJMjAxMi0wNi0wMiAxODoyMzowNy40MTEyOTM3OTggKzAyMDAKKy0tLSBnZGItNy40LjUw LjIwMTIwNzE0Lm9yaWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDYgMTg6NTI6MjAuMDAwMDAw MDAwICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgJMjAxMi0w Ny0xNCAyMzoyMToxNy40MTQwNzUzNTUgKzAyMDAKIEBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBs d3BfaW5mbwogICAgLyogSWYgbm9uLXplcm8sIGEgcGVuZGluZyB3YWl0IHN0YXR1cy4gICovCiAg ICBpbnQgc3RhdHVzOwpAQCAtMjAwLDUgKzIwMCw1IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9saW51eC1uYXQuaAogKyAgLyogVGhlIGtpbmQgb2Ygc3RlcHBpbmcgb2YgdGhpcyBM V1AuICAqLwogKyAgZW51bSByZXN1bWVfc3RlcCBzdGVwOwogIAotICAgLyogTm9uLXplcm8gc2lf c2lnbm8gaWYgdGhpcyBMV1Agc3RvcHBlZCB3aXRoIGEgdHJhcC4gIHNpX2FkZHIgbWF5Ci0gICAg ICBiZSB0aGUgYWRkcmVzcyBvZiBhIGhhcmR3YXJlIHdhdGNocG9pbnQuICAqLworICAgLyogU1RP UFBFRF9CWV9XQVRDSFBPSU5UIGlzIG5vbi16ZXJvIGlmIHRoaXMgTFdQIHN0b3BwZWQgd2l0aCBh IGRhdGEKKyAgICAgIHdhdGNocG9pbnQgdHJhcC4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hl ci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5kZXggZGI5YTliYi4uMzUzMWVlMCAxMDA2NDQK LS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9nZGItYXJjaGVyLnBhdGNoCkBAIC0yLDcgKzIs NyBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvZ2RiL3dpa2kvUHJvamVjdEFyY2hlcgogaHR0cDov L3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0FyY2hlckJyYW5jaE1hbmFnZW1lbnQKIAogR0lUIHNu YXBzaG90OgotY29tbWl0IGI0NzgzMjNjYmQzODU5ODkwMmZhMmVmYjE3OTQxOTJkN2JhNjI3YjEK K2NvbW1pdCA4MTRkYjllZTg3ZThkNjA5Y2U2MDMyNDc2MGNmODBjZDRlNGVjNDNhCiAKIGJyYW5j aCBgYXJjaGVyJyAtIHRoZSBtZXJnZSBvZiBicmFuY2hlczoKIGFyY2hlci1qYW5rcmF0b2Nodmls LXZsYQpAQCAtMTUyLDEwICsxNTIsMTAgQEAgaW5kZXggOTljNDc4OC4uNmNlYjcwNCAxMDA2NDQK ICsKICAjZW5kaWYgLyogQkxPQ0tfSCAqLwogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMg Yi9nZGIvYnJlYWtwb2ludC5jCi1pbmRleCA1NTU2OTRlLi45MjE2NDA1IDEwMDY0NAoraW5kZXgg NmI5ZmFmMy4uNDNmZjE2YSAxMDA2NDQKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dk Yi9icmVha3BvaW50LmMKLUBAIC0xNTUyNSw2ICsxNTUyNSwyNCBAQCBhbGxfdHJhY2Vwb2ludHMg KHZvaWQpCitAQCAtMTU1MDgsNiArMTU1MDgsMjQgQEAgYWxsX3RyYWNlcG9pbnRzICh2b2lkKQog ICAgcmV0dXJuIHRwX3ZlYzsKICB9CiAgCkBAIC0xODAsNyArMTgwLDcgQEAgaW5kZXggNTU1Njk0 ZS4uOTIxNjQwNSAxMDA2NDQKICAMCiAgLyogVGhpcyBoZWxwIHN0cmluZyBpcyB1c2VkIGZvciB0 aGUgYnJlYWssIGhicmVhaywgdGJyZWFrIGFuZCB0aGJyZWFrCiAgICAgY29tbWFuZHMuICBJdCBp cyBkZWZpbmVkIGFzIGEgbWFjcm8gdG8gcHJldmVudCBkdXBsaWNhdGlvbi4KLUBAIC0xNjQ5MCw0 ICsxNjUwOCw3IEBAIGFnZW50LXByaW50ZiBcInByaW50ZiBmb3JtYXQgc3RyaW5nXCIsIGFyZzEs IGFyZzIsIGFyZzMsIC4uLiwgYXJnblxuXAorQEAgLTE2NDczLDQgKzE2NDkxLDcgQEAgYWdlbnQt cHJpbnRmIFwicHJpbnRmIGZvcm1hdCBzdHJpbmdcIiwgYXJnMSwgYXJnMiwgYXJnMywgLi4uLCBh cmduXG5cCiAgICBhdXRvbWF0aWNfaGFyZHdhcmVfYnJlYWtwb2ludHMgPSAxOwogIAogICAgb2Jz ZXJ2ZXJfYXR0YWNoX2Fib3V0X3RvX3Byb2NlZWQgKGJyZWFrcG9pbnRfYWJvdXRfdG9fcHJvY2Vl ZCk7CkBAIC0xODksMjAgKzE4OSwxOSBAQCBpbmRleCA1NTU2OTRlLi45MjE2NDA1IDEwMDY0NAog KyNlbmRpZgogIH0KIGRpZmYgLS1naXQgYS9nZGIvYnVpbGRzeW0uYyBiL2dkYi9idWlsZHN5bS5j Ci1pbmRleCBmMWZiNGJlLi41NGEwZWEzIDEwMDY0NAoraW5kZXggZDU0NzAxMi4uZTJmMzE5MiAx MDA2NDQKIC0tLSBhL2dkYi9idWlsZHN5bS5jCiArKysgYi9nZGIvYnVpbGRzeW0uYwotQEAgLTk0 MSw3ICs5NDEsOCBAQCBibG9ja19jb21wYXIgKGNvbnN0IHZvaWQgKmFwLCBjb25zdCB2b2lkICpi cCkKLSAgICBuZXZlciBrbm93IGFib3V0IHRoaXMgZW1wdHkgZmlsZSAoRklYTUUpLiAgKi8KK0BA IC05NzAsNyArOTcwLDcgQEAgcmVzZXRfc3ltdGFiX2dsb2JhbHMgKHZvaWQpCiAgCi0gc3RydWN0 IHN5bXRhYiAqCi0tZW5kX3N5bXRhYiAoQ09SRV9BRERSIGVuZF9hZGRyLCBzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24pCi0rZW5kX3N5bXRhYl9mdWxsIChDT1JFX0FERFIgZW5k X2FkZHIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLCBpbnQgc2VjdGlvbiwKLSsJCSBpbnQgcmVx dWlyZWQpCisgc3RydWN0IGJsb2NrICoKKyBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKENP UkVfQUREUiBlbmRfYWRkciwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistCQkJICAgICBpbnQg ZXhwYW5kYWJsZSkKKysJCQkgICAgIGludCBleHBhbmRhYmxlLCBpbnQgcmVxdWlyZWQpCiAgewot ICAgc3RydWN0IHN5bXRhYiAqc3ltdGFiID0gTlVMTDsKLSAgIHN0cnVjdCBibG9ja3ZlY3RvciAq YmxvY2t2ZWN0b3I7Ci1AQCAtMTAxMyw3ICsxMDE0LDggQEAgZW5kX3N5bXRhYiAoQ09SRV9BRERS IGVuZF9hZGRyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24pCisgICAvKiBG aW5pc2ggdGhlIGxleGljYWwgY29udGV4dCBvZiB0aGUgbGFzdCBmdW5jdGlvbiBpbiB0aGUgZmls ZTsgcG9wCisgICAgICB0aGUgY29udGV4dCBzdGFjay4gICovCitAQCAtMTAzOCw3ICsxMDM4LDgg QEAgZW5kX3N5bXRhYl9nZXRfc3RhdGljX2Jsb2NrIChDT1JFX0FERFIgZW5kX2FkZHIsIHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlLAogICAgY2xlYW51cF91bmRlZmluZWRfc3RhYnNfdHlwZXMgKG9i amZpbGUpOwogICAgZmluaXNoX2dsb2JhbF9zdGFicyAob2JqZmlsZSk7CiAgCkBAIC0yMTIsMzQg KzIxMSwzNyBAQCBpbmRleCBmMWZiNGJlLi41NGEwZWEzIDEwMDY0NAogICAgICAgICYmIGZpbGVf c3ltYm9scyA9PSBOVUxMCiAgICAgICAgJiYgZ2xvYmFsX3N5bWJvbHMgPT0gTlVMTAogICAgICAg ICYmIGhhdmVfbGluZV9udW1iZXJzID09IDAKLUBAIC0xMjE5LDYgKzEyMjEsMTIgQEAgZW5kX3N5 bXRhYiAoQ09SRV9BRERSIGVuZF9hZGRyLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNl Y3Rpb24pCi0gICByZXR1cm4gc3ltdGFiOworQEAgLTEyOTYsNyArMTI5Nyw3IEBAIGVuZF9zeW10 YWIgKENPUkVfQUREUiBlbmRfYWRkciwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBzZWN0 aW9uKQorIHsKKyAgIHN0cnVjdCBibG9jayAqc3RhdGljX2Jsb2NrOworIAorLSAgc3RhdGljX2Js b2NrID0gZW5kX3N5bXRhYl9nZXRfc3RhdGljX2Jsb2NrIChlbmRfYWRkciwgb2JqZmlsZSwgMCk7 CisrICBzdGF0aWNfYmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGVuZF9hZGRy LCBvYmpmaWxlLCAwLCAwKTsKKyAgIHJldHVybiBlbmRfc3ltdGFiX2Zyb21fc3RhdGljX2Jsb2Nr IChzdGF0aWNfYmxvY2ssIG9iamZpbGUsIHNlY3Rpb24sIDApOworIH0KKyAKK0BAIC0xMzA4LDcg KzEzMDksNyBAQCBlbmRfZXhwYW5kYWJsZV9zeW10YWIgKENPUkVfQUREUiBlbmRfYWRkciwgc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCisgeworICAgc3RydWN0IGJsb2NrICpzdGF0aWNfYmxvY2s7 CisgCistICBzdGF0aWNfYmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGVuZF9h ZGRyLCBvYmpmaWxlLCAxKTsKKysgIHN0YXRpY19ibG9jayA9IGVuZF9zeW10YWJfZ2V0X3N0YXRp Y19ibG9jayAoZW5kX2FkZHIsIG9iamZpbGUsIDEsIDApOworICAgcmV0dXJuIGVuZF9zeW10YWJf ZnJvbV9zdGF0aWNfYmxvY2sgKHN0YXRpY19ibG9jaywgb2JqZmlsZSwgc2VjdGlvbiwgMSk7CiAg fQogIAotK3N0cnVjdCBzeW10YWIgKgotK2VuZF9zeW10YWIgKENPUkVfQUREUiBlbmRfYWRkciwg c3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBzZWN0aW9uKQotK3sKLSsgIHJldHVybiBlbmRf c3ltdGFiX2Z1bGwgKGVuZF9hZGRyLCBvYmpmaWxlLCBzZWN0aW9uLCAwKTsKLSt9Ci0rCi0gLyog UHVzaCBhIGNvbnRleHQgYmxvY2suICBBcmdzIGFyZSBhbiBpZGVudGlmeWluZyBuZXN0aW5nIGxl dmVsCi0gICAgKGNoZWNrYWJsZSB3aGVuIHlvdSBwb3AgaXQpLCBhbmQgdGhlIHN0YXJ0aW5nIFBD IGFkZHJlc3Mgb2YgdGhpcwotICAgIGNvbnRleHQuICAqLwogZGlmZiAtLWdpdCBhL2dkYi9idWls ZHN5bS5oIGIvZ2RiL2J1aWxkc3ltLmgKLWluZGV4IDQ0NDgyNjcuLjdkOWI5N2MgMTAwNjQ0Citp bmRleCAxNjJlZThjLi4yYzFkMTc5IDEwMDY0NAogLS0tIGEvZ2RiL2J1aWxkc3ltLmgKICsrKyBi L2dkYi9idWlsZHN5bS5oCi1AQCAtMjYxLDYgKzI2MSwxMCBAQCBleHRlcm4gY2hhciAqcG9wX3N1 YmZpbGUgKHZvaWQpOwotIGV4dGVybiBzdHJ1Y3Qgc3ltdGFiICplbmRfc3ltdGFiIChDT1JFX0FE RFIgZW5kX2FkZHIsCi0gCQkJCSAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGludCBzZWN0aW9u KTsKK0BAIC0yNjAsNyArMjYwLDcgQEAgZXh0ZXJuIGNoYXIgKnBvcF9zdWJmaWxlICh2b2lkKTsK ICAKLStleHRlcm4gc3RydWN0IHN5bXRhYiAqZW5kX3N5bXRhYl9mdWxsIChDT1JFX0FERFIgZW5k X2FkZHIsCi0rCQkJCSAgICAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IHNlY3Rpb24s Ci0rCQkJCSAgICAgICBpbnQgcmVxdWlyZWQpOwotKwotIC8qIERlZmluZWQgaW4gc3RhYnNyZWFk LmMuICAqLworIGV4dGVybiBzdHJ1Y3QgYmxvY2sgKmVuZF9zeW10YWJfZ2V0X3N0YXRpY19ibG9j ayAoQ09SRV9BRERSIGVuZF9hZGRyLAorIAkJCQkJCSAgc3RydWN0IG9iamZpbGUgKm9iamZpbGUs CistCQkJCQkJICBpbnQgZXhwYW5kYWJsZSk7CisrCQkJCQkJICBpbnQgZXhwYW5kYWJsZSwgaW50 IHJlcXVpcmVkKTsKICAKLSBleHRlcm4gdm9pZCBzY2FuX2ZpbGVfZ2xvYmFscyAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUpOworIGV4dGVybiBzdHJ1Y3Qgc3ltdGFiICplbmRfc3ltdGFiX2Zyb21f c3RhdGljX2Jsb2NrIChzdHJ1Y3QgYmxvY2sgKnN0YXRpY19ibG9jaywKKyAJCQkJCQkgICAgc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCiBkaWZmIC0tZ2l0IGEvZ2RiL2MtdHlwZXByaW50LmMgYi9n ZGIvYy10eXBlcHJpbnQuYwogaW5kZXggYTU4OTJiNS4uMjk0NGMyZCAxMDA2NDQKIC0tLSBhL2dk Yi9jLXR5cGVwcmludC5jCkBAIC04MDUsMTAgKzgwNywxMCBAQCBpbmRleCAxYzZmYTc5Li5lYzA4 MzQ4IDEwMDY0NAogIGV4dGVybiBjaGFyICp4ZnVsbHBhdGggKGNvbnN0IGNoYXIgKik7CiAgCiBk aWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRleGluZm8KLWlu ZGV4IGQzMjRhOTMuLjljY2Y3ZjEgMTAwNjQ0CitpbmRleCBhOTJkZjg2Li4yOWE2MmFkIDEwMDY0 NAogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwot QEAgLTExOTQsNiArMTE5NCwxNiBAQCBmb3IgcmVtb3RlIGRlYnVnZ2luZy4KK0BAIC0xMjAwLDYg KzEyMDAsMTYgQEAgZm9yIHJlbW90ZSBkZWJ1Z2dpbmcuCiAgUnVuIHVzaW5nIEB2YXJ7ZGV2aWNl fSBmb3IgeW91ciBwcm9ncmFtJ3Mgc3RhbmRhcmQgaW5wdXQgYW5kIG91dHB1dC4KICBAYyBGSVhN RToga2luZ2RvbiB0aGlua3MgdGhlcmUgaXMgbW9yZSB0byAtdHR5LiAgSW52ZXN0aWdhdGUuCiAg CkBAIC04MjUsNyArODI3LDcgQEAgaW5kZXggZDMyNGE5My4uOWNjZjdmMSAxMDA2NDQKICBAYyBy ZXNvbHZlIHRoZSBzaXR1YXRpb24gb2YgdGhlc2UgZXZlbnR1YWxseQogIEBpdGVtIC10dWkKICBA Y2luZGV4IEBjb2Rley0tdHVpfQotQEAgLTIyNTQxLDggKzIyNTUxLDYgQEAgY29udGFpbmluZyBA Y29kZXtlbmR9LiAgRm9yIGV4YW1wbGU6CitAQCAtMjI1NDgsOCArMjI1NTgsNiBAQCBjb250YWlu aW5nIEBjb2Rle2VuZH0uICBGb3IgZXhhbXBsZToKICAKICBAc21hbGxleGFtcGxlCiAgKEB2YWx1 ZXtHREJQfSkgcHl0aG9uCkBAIC04MzQsNyArODM2LDcgQEAgaW5kZXggZDMyNGE5My4uOWNjZjdm MSAxMDA2NDQKICA+cHJpbnQgMjMKICA+ZW5kCiAgMjMKLUBAIC0yMjU1Niw2ICsyMjU2NCwxNCBA QCBjb250cm9sbGVkIHVzaW5nIEBjb2Rle3NldCBweXRob24gcHJpbnQtc3RhY2t9OiBpZiBAY29k ZXtmdWxsfSwgdGhlbgorQEAgLTIyNTYzLDYgKzIyNTcxLDE0IEBAIGNvbnRyb2xsZWQgdXNpbmcg QGNvZGV7c2V0IHB5dGhvbiBwcmludC1zdGFja306IGlmIEBjb2Rle2Z1bGx9LCB0aGVuCiAgZnVs bCBQeXRob24gc3RhY2sgcHJpbnRpbmcgaXMgZW5hYmxlZDsgaWYgQGNvZGV7bm9uZX0sIHRoZW4g UHl0aG9uIHN0YWNrCiAgYW5kIG1lc3NhZ2UgcHJpbnRpbmcgaXMgZGlzYWJsZWQ7IGlmIEBjb2Rl e21lc3NhZ2V9LCB0aGUgZGVmYXVsdCwgb25seQogIHRoZSBtZXNzYWdlIGNvbXBvbmVudCBvZiB0 aGUgZXJyb3IgaXMgcHJpbnRlZC4KQEAgLTg0OSw3ICs4NTEsNyBAQCBpbmRleCBkMzI0YTkzLi45 Y2NmN2YxIDEwMDY0NAogIEBlbmQgdGFibGUKICAKICBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGV4 ZWN1dGUgYSBQeXRob24gc2NyaXB0IGZyb20gdGhlIEB2YWx1ZXtHREJOfQotQEAgLTIyNTc3LDYg KzIyNTkzLDE0IEBAIGFuZCB0aHVzIGlzIGFsd2F5cyBhdmFpbGFibGUuCitAQCAtMjI1ODQsNiAr MjI2MDAsMTQgQEAgYW5kIHRodXMgaXMgYWx3YXlzIGF2YWlsYWJsZS4KICBAY2luZGV4IHB5dGhv biBhcGkKICBAY2luZGV4IHByb2dyYW1taW5nIGluIHB5dGhvbgogIApAQCAtODY1LDEwICs4Njcs MTAgQEAgaW5kZXggZDMyNGE5My4uOWNjZjdmMSAxMDA2NDQKICBAY2luZGV4IHB5dGhvbiBwYWdp bmF0aW9uCiAgQXQgc3RhcnR1cCwgQHZhbHVle0dEQk59IG92ZXJyaWRlcyBQeXRob24ncyBAY29k ZXtzeXMuc3Rkb3V0fSBhbmQKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYmludC50ZXhpbmZvIGIv Z2RiL2RvYy9nZGJpbnQudGV4aW5mbwotaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKK2lu ZGV4IDVlMDBmMWYuLmM1YzQzMmIgMTAwNjQ0CiAtLS0gYS9nZGIvZG9jL2dkYmludC50ZXhpbmZv CiArKysgYi9nZGIvZG9jL2dkYmludC50ZXhpbmZvCi1AQCAtMjEwMyw2ICsyMTAzLDE4IEBAIHRp bWUsIGFuZCBzbyB3ZSBhdHRlbXB0IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBG b3IgaW5zdGFuY2UsCitAQCAtMjEwMiw2ICsyMTAyLDE4IEBAIHRpbWUsIGFuZCBzbyB3ZSBhdHRl bXB0IHRvIGhhbmRsZSBzeW1ib2xzIGluY3JlbWVudGFsbHkuICBGb3IgaW5zdGFuY2UsCiAgd2Ug Y3JlYXRlIEBkZm57cGFydGlhbCBzeW1ib2wgdGFibGVzfSBjb25zaXN0aW5nIG9mIG9ubHkgc2Vs ZWN0ZWQKICBzeW1ib2xzLCBhbmQgb25seSBleHBhbmQgdGhlbSB0byBmdWxsIHN5bWJvbCB0YWJs ZXMgd2hlbiBuZWNlc3NhcnkuCiAgCkBAIC04ODcsNyArODg5LDcgQEAgaW5kZXggOWE0NDBlZi4u ZGQwNDYzMyAxMDA2NDQKICBAc2VjdGlvbiBTeW1ib2wgUmVhZGluZwogIAogIEBjaW5kZXggc3lt Ym9sIHJlYWRpbmcKLUBAIC0yMTk1LDYgKzIyMDcsNyBAQCBzeW10YWIuICBVcG9uIHJldHVybiwg QGNvZGV7cHN0LT5yZWFkaW59IHNob3VsZCBoYXZlIGJlZW4gc2V0IHRvIDEsIGFuZAorQEAgLTIx OTQsNiArMjIwNiw3IEBAIHN5bXRhYi4gIFVwb24gcmV0dXJuLCBAY29kZXtwc3QtPnJlYWRpbn0g c2hvdWxkIGhhdmUgYmVlbiBzZXQgdG8gMSwgYW5kCiAgemVybyBpZiB0aGVyZSB3ZXJlIG5vIHN5 bWJvbHMgaW4gdGhhdCBwYXJ0IG9mIHRoZSBzeW1ib2wgZmlsZS4KICBAZW5kIHRhYmxlCiAgCkBA IC04OTUsNyArODk3LDcgQEAgaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKICBAc2VjdGlv biBQYXJ0aWFsIFN5bWJvbCBUYWJsZXMKICAKICBAdmFsdWV7R0RCTn0gaGFzIHRocmVlIHR5cGVz IG9mIHN5bWJvbCB0YWJsZXM6Ci1AQCAtMjI5Niw2ICsyMzA5LDcgQEAgYW5kIHBhcnRpYWwgc3lt Ym9sIHRhYmxlcyBiZWhpbmQgYSBzZXQgb2YgZnVuY3Rpb24gcG9pbnRlcnMga25vd24gYXMKK0BA IC0yMjk1LDYgKzIzMDgsNyBAQCBhbmQgcGFydGlhbCBzeW1ib2wgdGFibGVzIGJlaGluZCBhIHNl dCBvZiBmdW5jdGlvbiBwb2ludGVycyBrbm93biBhcwogIHRoZSBAZGZue3F1aWNrIHN5bWJvbCBm dW5jdGlvbnN9LiAgVGhlc2UgYXJlIGRvY3VtZW50ZWQgaW4KICBAZmlsZXtzeW1maWxlLmh9Lgog IApAQCAtOTAzLDcgKzkwNSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAgQHNl Y3Rpb24gVHlwZXMKICAKICBAdW5udW1iZXJlZHN1YnNlYyBGdW5kYW1lbnRhbCBUeXBlcyAoZS5n LiwgQGNvZGV7RlRfVk9JRH0sIEBjb2Rle0ZUX0JPT0xFQU59KS4KLUBAIC0yMzE4LDYgKzIzMzIs NyBAQCB0eXBlcyBtYXAgdG8gb25lIEBjb2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJlIGRp c3Rpbmd1aXNoZWQgYnkKK0BAIC0yMzE3LDYgKzIzMzEsNyBAQCB0eXBlcyBtYXAgdG8gb25lIEBj b2Rle1RZUEVfQ09ERV8qfSB0eXBlLCBhbmQgYXJlIGRpc3Rpbmd1aXNoZWQgYnkKICBvdGhlciBt ZW1iZXJzIG9mIHRoZSB0eXBlIHN0cnVjdCwgc3VjaCBhcyB3aGV0aGVyIHRoZSB0eXBlIGlzIHNp Z25lZAogIG9yIHVuc2lnbmVkLCBhbmQgaG93IG1hbnkgYml0cyBpdCB1c2VzLgogIApAQCAtOTEx LDcgKzkxMyw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAgQHVubnVtYmVyZWRz dWJzZWMgQnVpbHRpbiBUeXBlcyAoZS5nLiwgQGNvZGV7YnVpbHRpbl90eXBlX3ZvaWR9LCBAY29k ZXtidWlsdGluX3R5cGVfY2hhcn0pLgogIAogIFRoZXNlIGFyZSBpbnN0YW5jZXMgb2YgdHlwZSBz dHJ1Y3RzIHRoYXQgcm91Z2hseSBjb3JyZXNwb25kIHRvCi1AQCAtMjMzMiw2ICsyMzQ3LDcgQEAg b25seSBvbmUgaW5zdGFuY2UgZXhpc3RzLCB3aGlsZSBAZmlsZXtjLWxhbmcuY30gYnVpbGRzIGFz IG1hbnkKK0BAIC0yMzMxLDYgKzIzNDYsNyBAQCBvbmx5IG9uZSBpbnN0YW5jZSBleGlzdHMsIHdo aWxlIEBmaWxle2MtbGFuZy5jfSBidWlsZHMgYXMgbWFueQogIEBjb2Rle1RZUEVfQ09ERV9JTlR9 IHR5cGVzIGFzIG5lZWRlZCwgd2l0aCBlYWNoIG9uZSBhc3NvY2lhdGVkIHdpdGgKICBzb21lIHBh cnRpY3VsYXIgb2JqZmlsZS4KICAKQEAgLTkxOSw3ICs5MjEsNyBAQCBpbmRleCA5YTQ0MGVmLi5k ZDA0NjMzIDEwMDY0NAogIEBzZWN0aW9uIE9iamVjdCBGaWxlIEZvcm1hdHMKICBAY2luZGV4IG9i amVjdCBmaWxlIGZvcm1hdHMKICAKLUBAIC0yNDE3LDYgKzI0MzMsNyBAQCBTT00sIHdoaWNoIGlz IGEgY3Jvc3MtbGFuZ3VhZ2UgQUJJKS4KK0BAIC0yNDE2LDYgKzI0MzIsNyBAQCBTT00sIHdoaWNo IGlzIGEgY3Jvc3MtbGFuZ3VhZ2UgQUJJKS4KICAKICBUaGUgU09NIHJlYWRlciBpcyBpbiBAZmls ZXtzb21yZWFkLmN9LgogIApAQCAtOTI3LDcgKzkyOSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2 MzMgMTAwNjQ0CiAgQHNlY3Rpb24gRGVidWdnaW5nIEZpbGUgRm9ybWF0cwogIAogIFRoaXMgc2Vj dGlvbiBkZXNjcmliZXMgY2hhcmFjdGVyaXN0aWNzIG9mIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiB0 aGF0Ci1AQCAtMjQ4OCw2ICsyNTA1LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3ZlZCB2ZXJzaW9u IG9mIERXQVJGIDIuCitAQCAtMjQ4Nyw2ICsyNTA0LDcgQEAgRFdBUkYgMyBpcyBhbiBpbXByb3Zl ZCB2ZXJzaW9uIG9mIERXQVJGIDIuCiAgQGNpbmRleCBTT00gZGVidWdnaW5nIGluZm8KICBMaWtl IENPRkYsIHRoZSBTT00gZGVmaW5pdGlvbiBpbmNsdWRlcyBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24u CiAgCkBAIC05MzUsNyArOTM3LDcgQEAgaW5kZXggOWE0NDBlZi4uZGQwNDYzMyAxMDA2NDQKICBA c2VjdGlvbiBBZGRpbmcgYSBOZXcgU3ltYm9sIFJlYWRlciB0byBAdmFsdWV7R0RCTn0KICAKICBA Y2luZGV4IGFkZGluZyBkZWJ1Z2dpbmcgaW5mbyByZWFkZXIKLUBAIC0yNTEwLDYgKzI1MjgsNyBA QCB3aWxsIG9ubHkgZXZlciBiZSBpbXBsZW1lbnRlZCBieSBvbmUgb2JqZWN0IGZpbGUgZm9ybWF0 IG1heSBiZSBjYWxsZWQKK0BAIC0yNTA5LDYgKzI1MjcsNyBAQCB3aWxsIG9ubHkgZXZlciBiZSBp bXBsZW1lbnRlZCBieSBvbmUgb2JqZWN0IGZpbGUgZm9ybWF0IG1heSBiZSBjYWxsZWQKICBkaXJl Y3RseS4gIFRoaXMgaW50ZXJmYWNlIHNob3VsZCBiZSBkZXNjcmliZWQgaW4gYSBmaWxlCiAgQGZp bGV7YmZkL2xpYkB2YXJ7eHl6fS5ofSwgd2hpY2ggaXMgaW5jbHVkZWQgYnkgQHZhbHVle0dEQk59 LgogIApAQCAtOTQzLDcgKzk0NSw3IEBAIGluZGV4IDlhNDQwZWYuLmRkMDQ2MzMgMTAwNjQ0CiAg QHNlY3Rpb24gTWVtb3J5IE1hbmFnZW1lbnQgZm9yIFN5bWJvbCBGaWxlcwogIAogIE1vc3QgbWVt b3J5IGFzc29jaWF0ZWQgd2l0aCBhIGxvYWRlZCBzeW1ib2wgZmlsZSBpcyBzdG9yZWQgb24KLUBA IC0yNTIxLDEwICsyNTQwLDQ1IEBAIHJlbGVhc2VkIHdoZW4gdGhlIG9iamZpbGUgaXMgdW5sb2Fk ZWQgb3IgcmVsb2FkZWQuICBUaGVyZWZvcmUgb25lCitAQCAtMjUyMCwxMCArMjUzOSw0NSBAQCBy ZWxlYXNlZCB3aGVuIHRoZSBvYmpmaWxlIGlzIHVubG9hZGVkIG9yIHJlbG9hZGVkLiAgVGhlcmVm b3JlIG9uZQogIG9iamZpbGUgbXVzdCBub3QgcmVmZXJlbmNlIHN5bWJvbCBvciB0eXBlIGRhdGEg ZnJvbSBhbm90aGVyIG9iamZpbGU7CiAgdGhleSBjb3VsZCBiZSB1bmxvYWRlZCBhdCBkaWZmZXJl bnQgdGltZXMuCiAgCkBAIC0xMDczLDEwICsxMDc1LDEwIEBAIGluZGV4IDIxNGIzNzEuLmQ5YjM3 NTEgMTAwNjQ0CiAgCSAgZXJyb3IgKF8oIlVuaGFuZGxlZCBkd2FyZiBleHByZXNzaW9uIG9wY29k ZSAweCV4IiksIG9wKTsKICAJfQogZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJleHByLmggYi9nZGIv ZHdhcmYyZXhwci5oCi1pbmRleCBkYjQ5YjljLi4zYWUwYmUxIDEwMDY0NAoraW5kZXggMTllZmJm ZC4uMGUwZTQ5OCAxMDA2NDQKIC0tLSBhL2dkYi9kd2FyZjJleHByLmgKICsrKyBiL2dkYi9kd2Fy ZjJleHByLmgKLUBAIC05MSwxMiArOTEsOCBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0X2Z1 bmNzCitAQCAtNzgsMTIgKzc4LDggQEAgc3RydWN0IGR3YXJmX2V4cHJfY29udGV4dF9mdW5jcwog ICAgICAgVGhpcyBjYW4gdGhyb3cgYW4gZXhjZXB0aW9uIGlmIHRoZSBpbmRleCBpcyBvdXQgb2Yg cmFuZ2UuICAqLwogICAgQ09SRV9BRERSICgqZ2V0X2FkZHJfaW5kZXgpICh2b2lkICpiYXRvbiwg dW5zaWduZWQgaW50IGluZGV4KTsKICAKQEAgLTEwOTAsNyArMTA5Miw3IEBAIGluZGV4IGRiNDli OWMuLjNhZTBiZTEgMTAwNjQ0CiAgCiAgLyogVGhlIGxvY2F0aW9uIG9mIGEgdmFsdWUuICAqLwog ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwotaW5kZXggNmZl ZWFiNi4uODBkZDliYyAxMDA2NDQKK2luZGV4IDM4ZTQ4MTQuLjQ2YTAzM2QgMTAwNjQ0CiAtLS0g YS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwogQEAgLTI5Myw2ICsyOTMs OSBAQCBzdHJ1Y3QgZHdhcmZfZXhwcl9iYXRvbgpAQCAtMTQyMSw3ICsxNDIzLDcgQEAgaW5kZXgg NmZlZWFiNi4uODBkZDliYyAxMDA2NDQKICAJICAgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlX2xh enkgKHR5cGUpOwogIAkgICAgVkFMVUVfTFZBTCAocmV0dmFsKSA9IGx2YWxfbWVtb3J5OwogIAkg ICAgaWYgKGluX3N0YWNrX21lbW9yeSkKLUBAIC00MTI0LDggKzQyODYsNyBAQCBsb2NsaXN0X3Ry YWNlcG9pbnRfdmFyX3JlZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKK0BAIC00MTMwLDggKzQyOTIsNyBAQCBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3Jl ZiAoc3RydWN0IHN5bWJvbCAqc3ltYm9sLCBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKICAJCQkg ICAgICAgZGxiYXRvbi0+cGVyX2N1KTsKICB9CiAgCkBAIC0xNDMxLDcgKzE0MzMsNyBAQCBpbmRl eCA2ZmVlYWI2Li44MGRkOWJjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29tcHV0ZWRf b3BzIGR3YXJmMl9sb2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlLAog ICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTQxMzQsNiArNDI5NSw0OCBA QCBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9mdW5jcyA9 IHsKK0BAIC00MTQwLDYgKzQzMDEsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21wdXRlZF9v cHMgZHdhcmYyX2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRfdmFyX3Jl ZgogIH07CiAgCkBAIC0xNTAxLDcgKzE1MDMsNyBAQCBpbmRleCBlOWQwNmEzLi5iZmE2Nzc2IDEw MDY0NAogIC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9uIHRvIGFuIGFnZW50 IGV4cHJlc3Npb24uCiAgICAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9k d2FyZjJyZWFkLmMKLWluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CitpbmRleCAxZDUxZGIy Li5mZTU2NzA5IDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJm MnJlYWQuYwogQEAgLTY0LDIwICs2NCwxMiBAQApAQCAtMTU0Niw3ICsxNTQ4LDcgQEAgaW5kZXgg NTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgIC8qIFRydWUgaWYgd2UgaGF2ZSB0cmllZCB0byBy ZWFkIHRoaXMgc2VjdGlvbi4gICovCiAgICBpbnQgcmVhZGluOwogIH07Ci1AQCAtMjI2LDYgKzIx MiwxMCBAQCBzdHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlCitAQCAtMjQ3LDYgKzIzMywxMCBAQCBz dHJ1Y3QgZHdhcmYyX3Blcl9vYmpmaWxlCiAgICAgICBUaGlzIGlzIE5VTEwgaWYgdGhlIHRhYmxl IGhhc24ndCBiZWVuIGFsbG9jYXRlZCB5ZXQuICAqLwogICAgaHRhYl90IGR3b19maWxlczsKICAK QEAgLTE1NTcsNyArMTU1OSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAv KiBBIGZsYWcgaW5kaWNhdGluZyB3ZXRoZXIgdGhpcyBvYmpmaWxlIGhhcyBhIHNlY3Rpb24gbG9h ZGVkIGF0IGEKICAgICAgIFZNQSBvZiAwLiAgKi8KICAgIGludCBoYXNfc2VjdGlvbl9hdF96ZXJv OwotQEAgLTQ4NCwxNSArNDc0LDEzIEBAIHN0cnVjdCBkd2FyZjJfY3UKK0BAIC01MDUsMTUgKzQ5 NSwxMyBAQCBzdHJ1Y3QgZHdhcmYyX2N1CiAgCiAgc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YQog IHsKQEAgLTE1NzUsNyArMTU3Nyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAg CiAgICAvKiBGbGFnIGluZGljYXRpbmcgdGhpcyBjb21waWxhdGlvbiB1bml0IHdpbGwgYmUgcmVh ZCBpbiBiZWZvcmUKICAgICAgIGFueSBvZiB0aGUgY3VycmVudCBjb21waWxhdGlvbiB1bml0cyBh cmUgcHJvY2Vzc2VkLiAgKi8KLUBAIC01MDcsNiArNDk1LDkgQEAgc3RydWN0IGR3YXJmMl9wZXJf Y3VfZGF0YQorQEAgLTUyOCw2ICs1MTYsOSBAQCBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhCiAg ICAvKiBOb24temVybyBpZiB0aGlzIENVIGlzIGZyb20gLmRlYnVnX3R5cGVzLiAgKi8KICAgIHVu c2lnbmVkIGludCBpc19kZWJ1Z190eXBlcyA6IDE7CiAgCkBAIC0xNTg1LDcgKzE1ODcsNyBAQCBp bmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgLyogVGhlIHNlY3Rpb24gdGhpcyBDVS9U VSBsaXZlcyBpbi4KICAgICAgIElmIHRoZSBESUUgcmVmZXJzIHRvIGEgRFdPIGZpbGUsIHRoaXMg aXMgYWx3YXlzIHRoZSBvcmlnaW5hbCBkaWUsCiAgICAgICBub3QgdGhlIERXTyBmaWxlLiAgKi8K LUBAIC02MjUsNiArNjE2LDIyIEBAIHN0cnVjdCBkd29fZmlsZQorQEAgLTY5NSw2ICs2ODYsMjIg QEAgc3RydWN0IGR3b19maWxlCiAgICBodGFiX3QgdHVzOwogIH07CiAgCkBAIC0xNjA4LDcgKzE2 MTAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIC8qIFN0cnVjdCB1c2VkIHRv IHBhc3MgbWlzYy4gcGFyYW1ldGVycyB0byByZWFkX2RpZV9hbmRfY2hpbGRyZW4sIGV0CiAgICAg YWwuICB3aGljaCBhcmUgdXNlZCBmb3IgYm90aCAuZGVidWdfaW5mbyBhbmQgLmRlYnVnX3R5cGVz IGRpZXMuCiAgICAgQWxsIHBhcmFtZXRlcnMgaGVyZSBhcmUgdW5jaGFuZ2luZyBmb3IgdGhlIGxp ZmUgb2YgdGhlIGNhbGwuICBUaGlzCi1AQCAtNzM4LDYgKzc0NSwxMiBAQCBzdHJ1Y3QgcGFydGlh bF9kaWVfaW5mbworQEAgLTgwOCw2ICs4MTUsMTIgQEAgc3RydWN0IHBhcnRpYWxfZGllX2luZm8K ICAgICAgLyogRmxhZyBzZXQgaWYgZml4dXBfcGFydGlhbF9kaWUgaGFzIGJlZW4gY2FsbGVkIG9u IHRoaXMgZGllLiAgKi8KICAgICAgdW5zaWduZWQgaW50IGZpeHVwX2NhbGxlZCA6IDE7CiAgCkBA IC0xNjIxLDcgKzE2MjMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAv KiBUaGUgbmFtZSBvZiB0aGlzIERJRS4gIE5vcm1hbGx5IHRoZSB2YWx1ZSBvZiBEV19BVF9uYW1l LCBidXQKICAgICAgICAgc29tZXRpbWVzIGEgZGVmYXVsdCBuYW1lIGZvciB1bm5hbWVkIERJRXMu ICAqLwogICAgICBjaGFyICpuYW1lOwotQEAgLTExMjEsNyArMTEzNCw3IEBAIHN0YXRpYyBnZGJf Ynl0ZSAqcmVhZF9wYXJ0aWFsX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJfc3BlY3MgKiwK K0BAIC0xMTkzLDcgKzEyMDYsNyBAQCBzdGF0aWMgZ2RiX2J5dGUgKnJlYWRfcGFydGlhbF9kaWUg KGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3NwZWNzICosCiAgCQkJCSAgIHVuc2lnbmVkIGludCwK ICAJCQkJICAgZ2RiX2J5dGUgKik7CiAgCkBAIC0xNjMwLDcgKzE2MzIsNyBAQCBpbmRleCA1MjI4 OGU4Li42MDNiNjY5IDEwMDY0NAogIAkJCQkJCSAgc3RydWN0IGR3YXJmMl9jdSAqKTsKICAKICBz dGF0aWMgdm9pZCBmaXh1cF9wYXJ0aWFsX2RpZSAoc3RydWN0IHBhcnRpYWxfZGllX2luZm8gKiwK LUBAIC0xMTYzLDYgKzExNzYsOCBAQCBzdGF0aWMgY2hhciAqcmVhZF9pbmRpcmVjdF9zdHJpbmcg KGJmZCAqLCBnZGJfYnl0ZSAqLAorQEAgLTEyMzgsNiArMTI1MSw4IEBAIHN0YXRpYyBjaGFyICpy ZWFkX2luZGlyZWN0X3N0cmluZyAoYmZkICosIGdkYl9ieXRlICosCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY29tcF91bml0X2hlYWQgKiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCAqKTsKICAKQEAgLTE2 MzksNyArMTY0MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgc3RhdGljIFVM T05HRVNUIHJlYWRfdW5zaWduZWRfbGViMTI4IChiZmQgKiwgZ2RiX2J5dGUgKiwgdW5zaWduZWQg aW50ICopOwogIAogIHN0YXRpYyBMT05HRVNUIHJlYWRfc2lnbmVkX2xlYjEyOCAoYmZkICosIGdk Yl9ieXRlICosIHVuc2lnbmVkIGludCAqKTsKLUBAIC0xNDA3LDYgKzE0MjIsOSBAQCBzdGF0aWMg dm9pZCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE0 ODksNiArMTUwNCw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0 IGR3YXJmMl9jdSAqY3UsCiAgCQkJCSAgIHN0cnVjdCBkd2FyZjJfbG9jbGlzdF9iYXRvbiAqYmF0 b24sCiAgCQkJCSAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIpOwogIApAQCAtMTY0OSw3ICsxNjUx LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJf c3ltYm9sX21hcmtfY29tcHV0ZWQgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCQkgc3Ry dWN0IHN5bWJvbCAqc3ltLAogIAkJCQkJIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBAIC0xNDIy LDcgKzE0NDAsNyBAQCBzdGF0aWMgaGFzaHZhbF90IHBhcnRpYWxfZGllX2hhc2ggKGNvbnN0IHZv aWQgKml0ZW0pOworQEAgLTE1MDQsNyArMTUyMiw3IEBAIHN0YXRpYyBoYXNodmFsX3QgcGFydGlh bF9kaWVfaGFzaCAoY29uc3Qgdm9pZCAqaXRlbSk7CiAgc3RhdGljIGludCBwYXJ0aWFsX2RpZV9l cSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKTsKICAKICBzdGF0 aWMgc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqZHdhcmYyX2ZpbmRfY29udGFpbmluZ19jb21w X3VuaXQKQEAgLTE2NTgsNyArMTY2MCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCiAgc3RhdGljIHZvaWQgaW5pdF9vbmVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX2N1ICpj dSwKICAJCQkJc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqcGVyX2N1KTsKLUBAIC0xNDM5LDYg KzE0NTcsOSBAQCBzdGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpOworQEAg LTE1MjEsNiArMTUzOSw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9p ZCk7CiAgCiAgc3RhdGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAoc3RydWN0IGR3 YXJmMl9wZXJfY3VfZGF0YSAqKTsKICAKQEAgLTE2NjgsNyArMTY3MCw3IEBAIGluZGV4IDUyMjg4 ZTguLjYwM2I2NjkgMTAwNjQ0CiAgc3RhdGljIHN0cnVjdCB0eXBlICpzZXRfZGllX3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqLCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkgIHN0cnVjdCBkd2FyZjJfY3Ug Kik7CiAgCi1AQCAtMTQ2NCw2ICsxNDg1LDkgQEAgc3RhdGljIHN0cnVjdCB0eXBlICpnZXRfZGll X3R5cGVfYXRfb2Zmc2V0IChzZWN0X29mZnNldCwKK0BAIC0xNTQ5LDYgKzE1NzAsOSBAQCBzdGF0 aWMgc3RydWN0IHR5cGUgKmdldF9kaWVfdHlwZV9hdF9vZmZzZXQgKHNlY3Rfb2Zmc2V0LAogIAog IHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZ2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpOwogIApAQCAtMTY3OCw3ICsxNjgwLDcgQEAgaW5kZXggNTIy ODhlOC4uNjAzYjY2OSAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfcmVsZWFzZV9xdWV1ZSAo dm9pZCAqZHVtbXkpOwogIAogIHN0YXRpYyB2b2lkIHF1ZXVlX2NvbXBfdW5pdCAoc3RydWN0IGR3 YXJmMl9wZXJfY3VfZGF0YSAqcGVyX2N1LAotQEAgLTE0ODIsNiArMTUwNiwxMiBAQCBzdGF0aWMg dm9pZCBmaW5kX2ZpbGVfYW5kX2RpcmVjdG9yeSAoc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAt MTU2Nyw2ICsxNTkxLDEyIEBAIHN0YXRpYyB2b2lkIGZpbmRfZmlsZV9hbmRfZGlyZWN0b3J5IChz dHJ1Y3QgZGllX2luZm8gKmRpZSwKICBzdGF0aWMgY2hhciAqZmlsZV9mdWxsX25hbWUgKGludCBm aWxlLCBzdHJ1Y3QgbGluZV9oZWFkZXIgKmxoLAogIAkJCSAgICAgY29uc3QgY2hhciAqY29tcF9k aXIpOwogIApAQCAtMTY4OSw5ICsxNjkxLDkgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2 NDQKICsgICBpbnQgaXNfZGVidWdfdHlwZXNfc2VjdGlvbik7CiArCiAgc3RhdGljIHZvaWQgaW5p dF9jdXR1X2FuZF9yZWFkX2RpZXMKLSAgIChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICp0aGlz X2N1LCBpbnQgdXNlX2V4aXN0aW5nX2N1LCBpbnQga2VlcCwKLSAgICBkaWVfcmVhZGVyX2Z1bmNf ZnR5cGUgKmRpZV9yZWFkZXJfZnVuYywgdm9pZCAqZGF0YSk7Ci1AQCAtMTUwNCw4ICsxNTM0LDYg QEAgc3RhdGljIHN0cnVjdCBkd29fdW5pdCAqbG9va3VwX2R3b190eXBlX3VuaXQKKyAgIChzdHJ1 Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICp0aGlzX2N1LCBzdHJ1Y3QgYWJicmV2X3RhYmxlICphYmJy ZXZfdGFibGUsCisgICAgaW50IHVzZV9leGlzdGluZ19jdSwgaW50IGtlZXAsCitAQCAtMTU4OCw4 ICsxNjE4LDYgQEAgc3RhdGljIHN0cnVjdCBkd29fdW5pdCAqbG9va3VwX2R3b190eXBlX3VuaXQK ICAKICBzdGF0aWMgdm9pZCBmcmVlX2R3b19maWxlX2NsZWFudXAgKHZvaWQgKik7CiAgCkBAIC0x NzAwLDcgKzE3MDIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIHN0YXRpYyB2 b2lkIHByb2Nlc3NfY3VfaW5jbHVkZXMgKHZvaWQpOwogIAogICNpZiBXT1JEU19CSUdFTkRJQU4K LUBAIC0xNjc1LDg1ICsxNzAzLDYgQEAgZHdhcmYyX2xvY2F0ZV9zZWN0aW9ucyAoYmZkICphYmZk LCBhc2VjdGlvbiAqc2VjdHAsIHZvaWQgKnZuYW1lcykKK0BAIC0xNzU5LDg1ICsxNzg3LDYgQEAg ZHdhcmYyX2xvY2F0ZV9zZWN0aW9ucyAoYmZkICphYmZkLCBhc2VjdGlvbiAqc2VjdHAsIHZvaWQg KnZuYW1lcykKICAgICAgZHdhcmYyX3Blcl9vYmpmaWxlLT5oYXNfc2VjdGlvbl9hdF96ZXJvID0g MTsKICB9CiAgCkBAIC0xNzg2LDcgKzE3ODgsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEw MDY0NAogIC8qIEEgaGVscGVyIGZ1bmN0aW9uIHRoYXQgZGVjaWRlcyB3aGV0aGVyIGEgc2VjdGlv biBpcyBlbXB0eSwKICAgICBvciBub3QgcHJlc2VudC4gICovCiAgCi1AQCAtMTc4MCw1NiArMTcy OSwyNyBAQCBkd2FyZjJfcmVhZF9zZWN0aW9uIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3Ry dWN0IGR3YXJmMl9zZWN0aW9uX2luZm8gKmluZm8pCitAQCAtMTg2NCw1NiArMTgxMywyNyBAQCBk d2FyZjJfcmVhZF9zZWN0aW9uIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3RydWN0IGR3YXJm Ml9zZWN0aW9uX2luZm8gKmluZm8pCiAgICBpZiAoaW5mby0+cmVhZGluKQogICAgICByZXR1cm47 CiAgICBpbmZvLT5idWZmZXIgPSBOVUxMOwpAQCAtMTg1Myw3ICsxODU1LDcgQEAgaW5kZXggNTIy ODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIC8qIFdoZW4gZGVidWdnaW5nIC5vIGZpbGVzLCB3 ZSBtYXkgbmVlZCB0byBhcHBseSByZWxvY2F0aW9uczsgc2VlCiAgICAgICBodHRwOi8vc291cmNl d2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAwMi0wNC9tc2cwMDEzNi5odG1sIC4KLUBAIC0xOTA1 LDYgKzE4MjUsMTExIEBAIGR3YXJmMl9nZXRfc2VjdGlvbl9pbmZvIChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSwKK0BAIC0xOTg5LDYgKzE5MDksMTExIEBAIGR3YXJmMl9nZXRfc2VjdGlvbl9pbmZv IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgICpzaXplcCA9IGluZm8tPnNpemU7CiAgfQog IApAQCAtMTk2NSw3ICsxOTY3LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAM CiAgLyogRFdBUkYgcXVpY2tfc3ltYm9sc19mdW5jdGlvbnMgc3VwcG9ydC4gICovCiAgCi1AQCAt MjEwMSwyMyArMjEyNiwxOSBAQCBleHRyYWN0X2N1X3ZhbHVlIChjb25zdCBjaGFyICpieXRlcywg VUxPTkdFU1QgKnJlc3VsdCkKK0BAIC0yMjM3LDIzICsyMjYyLDE5IEBAIGV4dHJhY3RfY3VfdmFs dWUgKGNvbnN0IGNoYXIgKmJ5dGVzLCBVTE9OR0VTVCAqcmVzdWx0KQogICAgcmV0dXJuIDE7CiAg fQogIApAQCAtMTk5Nyw3ICsxOTk5LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQK ICAgICAgewogICAgICAgIHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnRoZV9jdTsKICAgICAg ICBVTE9OR0VTVCBvZmZzZXQsIGxlbmd0aDsKLUBAIC0yMTMyLDE1ICsyMTUzLDQ1IEBAIGNyZWF0 ZV9jdXNfZnJvbV9pbmRleCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGNvbnN0IGdkYl9ieXRl ICpjdV9saXN0LAorQEAgLTIyNjgsMTUgKzIyODksNDUgQEAgY3JlYXRlX2N1c19mcm9tX2luZGV4 IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgY29uc3QgZ2RiX2J5dGUgKmN1X2xpc3QsCiAgICAg ICAgdGhlX2N1LT5vZmZzZXQuc2VjdF9vZmYgPSBvZmZzZXQ7CiAgICAgICAgdGhlX2N1LT5sZW5n dGggPSBsZW5ndGg7CiAgICAgICAgdGhlX2N1LT5vYmpmaWxlID0gb2JqZmlsZTsKQEAgLTIwNDUs NyArMjA0Nyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgLyogQ3JlYXRlIHRo ZSBzaWduYXR1cmVkIHR5cGUgaGFzaCB0YWJsZSBmcm9tIHRoZSBpbmRleC4gICovCiAgCiAgc3Rh dGljIGludAotQEAgLTIzMzAsMzMgKzIzODEsNDQgQEAgZmluZF9zbG90X2luX21hcHBlZF9oYXNo IChzdHJ1Y3QgbWFwcGVkX2luZGV4ICppbmRleCwgY29uc3QgY2hhciAqbmFtZSwKK0BAIC0yNDY2 LDMzICsyNTE3LDQ0IEBAIGZpbmRfc2xvdF9pbl9tYXBwZWRfaGFzaCAoc3RydWN0IG1hcHBlZF9p bmRleCAqaW5kZXgsIGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgIH0KICB9CiAgCkBAIC0yMTAzLDcg KzIxMDUsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgLyogVmVyc2lvbiBj aGVjay4gICovCiAgICB2ZXJzaW9uID0gTUFZQkVfU1dBUCAoKihvZmZzZXRfdHlwZSAqKSBhZGRy KTsKICAgIC8qIFZlcnNpb25zIGVhcmxpZXIgdGhhbiAzIGVtaXR0ZWQgZXZlcnkgY29weSBvZiBh IHBzeW1ib2wuICBUaGlzCi1AQCAtMjM2OSw3ICsyNDMxLDcgQEAgZHdhcmYyX3JlYWRfaW5kZXgg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1MDUsNyArMjU2Nyw3IEBAIGR3YXJmMl9y ZWFkX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICAgICAgICBpZiAoIXdhcm5pbmdf cHJpbnRlZCkKICAJewogIAkgIHdhcm5pbmcgKF8oIlNraXBwaW5nIG9ic29sZXRlIC5nZGJfaW5k ZXggc2VjdGlvbiBpbiAlcy4iKSwKQEAgLTIxMTIsNyArMjExNCw3IEBAIGluZGV4IDUyMjg4ZTgu LjYwM2I2NjkgMTAwNjQ0CiAgCSAgd2FybmluZ19wcmludGVkID0gMTsKICAJfQogICAgICAgIHJl dHVybiAwOwotQEAgLTIzODIsMTQgKzI0NDQsMTQgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1MTgsMTQgKzI1ODAsMTQgQEAgZHdhcmYyX3JlYWRf aW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgICAgc2V0IGJyZWFrcG9pbnRzIG9u IGlubGluZWQgZnVuY3Rpb25zIGJ5IG5hbWUsIHNvIHdlIGlnbm9yZSB0aGVzZQogICAgICAgaW5k aWNlcyB1bmxlc3MgdGhlIC0tdXNlLWRlcHJlY2F0ZWQtaW5kZXgtc2VjdGlvbnMgY29tbWFuZCBs aW5lCiAgICAgICBvcHRpb24gd2FzIHN1cHBsaWVkLiAgKi8KQEAgLTIxMjksNyArMjEzMSw3IEBA IGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCSAgd2FybmluZ19wcmludGVkID0gMTsK ICAJfQogICAgICAgIHJldHVybiAwOwotQEAgLTIzOTksMjIgKzI0NjEsMjEgQEAgZHdhcmYyX3Jl YWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1MzUsMjIgKzI1OTcsMjEg QEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgaWYgKHZl cnNpb24gPiA3KQogICAgICByZXR1cm4gMDsKICAKQEAgLTIxNjAsNyArMjE2Miw3IEBAIGluZGV4 IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICArK2k7CiAgCiAgICBtYXAtPmFkZHJlc3NfdGFi bGUgPSBhZGRyICsgTUFZQkVfU1dBUCAobWV0YWRhdGFbaV0pOwotQEAgLTI0MzAsMTEgKzI0OTEs NTUgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI1 NjYsMTEgKzI2MjcsNTUgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlKQogIAogICAgbWFwLT5jb25zdGFudF9wb29sID0gYWRkciArIE1BWUJFX1NXQVAgKG1ldGFk YXRhW2ldKTsKICAKQEAgLTIyMTgsNyArMjIyMCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2Njkg MTAwNjQ0CiAgICAgIHJldHVybiAwOwogIAogICAgaWYgKHR5cGVzX2xpc3RfZWxlbWVudHMpCi1A QCAtMjQ1NSw3ICsyNTYwLDEwIEBAIGR3YXJmMl9yZWFkX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAq b2JqZmlsZSkKK0BAIC0yNTkxLDcgKzI2OTYsMTAgQEAgZHdhcmYyX3JlYWRfaW5kZXggKHN0cnVj dCBvYmpmaWxlICpvYmpmaWxlKQogIAlyZXR1cm4gMDsKICAgICAgfQogIApAQCAtMjIzMCw3ICsy MjMyLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIGR3YXJmMl9wZXJf b2JqZmlsZS0+aW5kZXhfdGFibGUgPSBtYXA7CiAgICBkd2FyZjJfcGVyX29iamZpbGUtPnVzaW5n X2luZGV4ID0gMTsKLUBAIC0zNDQyLDYgKzM1NTAsMjIgQEAgcmVhZF9jb21wX3VuaXRfaGVhZCAo c3RydWN0IGNvbXBfdW5pdF9oZWFkICpjdV9oZWFkZXIsCitAQCAtMzYyNCw2ICszNzMyLDIyIEBA IHJlYWRfY29tcF91bml0X2hlYWQgKHN0cnVjdCBjb21wX3VuaXRfaGVhZCAqY3VfaGVhZGVyLAog ICAgcmV0dXJuIGluZm9fcHRyOwogIH0KICAKQEAgLTIyNTMsNyArMjI1NSw3IEBAIGluZGV4IDUy Mjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgLyogU3Vicm91dGluZSBvZiByZWFkX2FuZF9jaGVja19j b21wX3VuaXRfaGVhZCBhbmQKICAgICByZWFkX2FuZF9jaGVja190eXBlX3VuaXRfaGVhZCB0byBz aW1wbGlmeSB0aGVtLgogICAgIFBlcmZvcm0gdmFyaW91cyBlcnJvciBjaGVja2luZyBvbiB0aGUg aGVhZGVyLiAgKi8KLUBAIC0zNDYwLDggKzM1ODQsNyBAQCBlcnJvcl9jaGVja19jb21wX3VuaXRf aGVhZCAoc3RydWN0IGNvbXBfdW5pdF9oZWFkICpoZWFkZXIsCitAQCAtMzY0Miw4ICszNzY2LDcg QEAgZXJyb3JfY2hlY2tfY29tcF91bml0X2hlYWQgKHN0cnVjdCBjb21wX3VuaXRfaGVhZCAqaGVh ZGVyLAogIAkgICBmaWxlbmFtZSk7CiAgCiAgICBpZiAoaGVhZGVyLT5hYmJyZXZfb2Zmc2V0LnNl Y3Rfb2ZmCkBAIC0yMjYzLDcgKzIyNjUsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0 NAogICAgICBlcnJvciAoXygiRHdhcmYgRXJyb3I6IGJhZCBvZmZzZXQgKDB4JWx4KSBpbiBjb21w aWxhdGlvbiB1bml0IGhlYWRlciAiCiAgCSAgICIob2Zmc2V0IDB4JWx4ICsgNikgW2luIG1vZHVs ZSAlc10iKSwKICAJICAgKGxvbmcpIGhlYWRlci0+YWJicmV2X29mZnNldC5zZWN0X29mZiwgKGxv bmcpIGhlYWRlci0+b2Zmc2V0LnNlY3Rfb2ZmLAotQEAgLTM2NzgsNiArMzgwMSw3IEBAIGNyZWF0 ZV9kZWJ1Z190eXBlc19oYXNoX3RhYmxlIChzdHJ1Y3QgZHdvX2ZpbGUgKmR3b19maWxlLAorQEAg LTM4ODAsNiArNDAwMyw3IEBAIGNyZWF0ZV9kZWJ1Z190eXBlc19oYXNoX3RhYmxlIChzdHJ1Y3Qg ZHdvX2ZpbGUgKmR3b19maWxlLAogICAgICB7CiAgICAgICAgYmZkICphYmZkOwogICAgICAgIGdk Yl9ieXRlICppbmZvX3B0ciwgKmVuZF9wdHI7CkBAIC0yMjcxLDcgKzIyNzMsNyBAQCBpbmRleCA1 MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgICAgIGR3YXJmMl9yZWFkX3NlY3Rpb24gKG9i amZpbGUsIHNlY3Rpb24pOwogICAgICAgIGluZm9fcHRyID0gc2VjdGlvbi0+YnVmZmVyOwotQEAg LTM2ODksNiArMzgxMywxMSBAQCBjcmVhdGVfZGVidWdfdHlwZXNfaGFzaF90YWJsZSAoc3RydWN0 IGR3b19maWxlICpkd29fZmlsZSwKK0BAIC0zODkxLDYgKzQwMTUsMTEgQEAgY3JlYXRlX2RlYnVn X3R5cGVzX2hhc2hfdGFibGUgKHN0cnVjdCBkd29fZmlsZSAqZHdvX2ZpbGUsCiAgCSBub3QgcHJl c2VudCwgaW4gd2hpY2ggY2FzZSBzZWN0aW9uLT5hc2VjdGlvbiB3aWxsIGJlIE5VTEwuICAqLwog ICAgICAgIGFiZmQgPSBzZWN0aW9uLT5hc2VjdGlvbi0+b3duZXI7CiAgCkBAIC0yMjgzLDcgKzIy ODUsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAgIGlmICh0eXBlc19o dGFiID09IE5VTEwpCiAgCXsKICAJICBpZiAoZHdvX2ZpbGUpCi1AQCAtMzkyMyw3ICs0MDUyLDgg QEAgaW5pdF9jdXR1X2FuZF9yZWFkX2RpZXMgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnRo aXNfY3UsCitAQCAtNDEzMCw3ICs0MjU5LDggQEAgaW5pdF9jdXR1X2FuZF9yZWFkX2RpZXMgKHN0 cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnRoaXNfY3UsCiAgICBkd2FyZjJfcmVhZF9zZWN0aW9u IChvYmpmaWxlLCBzZWN0aW9uKTsKICAKICAgIGJlZ2luX2luZm9fcHRyID0gaW5mb19wdHIgPSBz ZWN0aW9uLT5idWZmZXIgKyB0aGlzX2N1LT5vZmZzZXQuc2VjdF9vZmY7CkBAIC0yMjkzLDcgKzIy OTUsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgaWYgKHVzZV9leGlz dGluZ19jdSAmJiB0aGlzX2N1LT5jdSAhPSBOVUxMKQogICAgICB7Ci1AQCAtNDI5MCw3ICs0NDIw LDcgQEAgaW5pdF9jdXR1X2FuZF9yZWFkX2RpZXNfc2ltcGxlIChzdHJ1Y3QgZHdhcmYyX3Blcl9j dV9kYXRhICp0aGlzX2N1LAorQEAgLTQ1MTIsNyArNDY0Miw3IEBAIGluaXRfY3V0dV9hbmRfcmVh ZF9kaWVzX3NpbXBsZSAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqdGhpc19jdSwKICAJCQkJ dm9pZCAqZGF0YSkKICB7CiAgICBpbml0X2N1dHVfYW5kX3JlYWRfZGllc19ub19mb2xsb3cgKHRo aXNfY3UsCkBAIC0yMzAyLDcgKzIzMDQsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0 NAogIAkJCQkgICAgIE5VTEwsCiAgCQkJCSAgICAgZGllX3JlYWRlcl9mdW5jLCBkYXRhKTsKICB9 Ci1AQCAtNDUzNyw2ICs0NjY3LDkgQEAgc2V0X3BhcnRpYWxfdXNlciAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUpCitAQCAtNTEzMiw2ICs1MjYyLDkgQEAgc2V0X3BhcnRpYWxfdXNlciAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUpCiAgICAgICAgc3RydWN0IHBhcnRpYWxfc3ltdGFiICpwc3QgPSBw ZXJfY3UtPnYucHN5bXRhYjsKICAgICAgICBpbnQgajsKICAKQEAgLTIzMTIsOCArMjMxNCw4IEBA IGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAgICAgZm9yIChqID0gMDsgaiA8IHBz dC0+bnVtYmVyX29mX2RlcGVuZGVuY2llczsgKytqKQogIAl7CiAgCSAgLyogU2V0IHRoZSAndXNl cicgZmllbGQgb25seSBpZiBpdCBpcyBub3QgYWxyZWFkeSBzZXQuICAqLwotQEAgLTQ2MzAsMzgg KzQ3NjMsMzIgQEAgbG9hZF9wYXJ0aWFsX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3Vf ZGF0YSAqdGhpc19jdSkKLSAgIGluaXRfY3V0dV9hbmRfcmVhZF9kaWVzICh0aGlzX2N1LCAxLCAx LCBsb2FkX3BhcnRpYWxfY29tcF91bml0X3JlYWRlciwgTlVMTCk7CitAQCAtNTIyNiwzOCArNTM1 OSwzMiBAQCBsb2FkX3BhcnRpYWxfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRh ICp0aGlzX2N1KQorIAkJCSAgIGxvYWRfcGFydGlhbF9jb21wX3VuaXRfcmVhZGVyLCBOVUxMKTsK ICB9CiAgCiAtLyogQ3JlYXRlIGEgbGlzdCBvZiBhbGwgY29tcGlsYXRpb24gdW5pdHMgaW4gT0JK RklMRS4KQEAgLTIzNjMsNyArMjM2NSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCiAgICAgICAgLyogU2F2ZSB0aGUgY29tcGlsYXRpb24gdW5pdCBmb3IgbGF0ZXIgbG9va3Vw LiAgKi8KICAgICAgICB0aGlzX2N1ID0gb2JzdGFja19hbGxvYyAoJm9iamZpbGUtPm9iamZpbGVf b2JzdGFjaywKLUBAIC00NjY5LDIwICs0Nzk2LDUwIEBAIGNyZWF0ZV9hbGxfY29tcF91bml0cyAo c3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitAQCAtNTI2NSwyMCArNTM5Miw1MCBAQCBjcmVhdGVf YWxsX2NvbXBfdW5pdHMgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogICAgICAgIG1lbXNldCAo dGhpc19jdSwgMCwgc2l6ZW9mICgqdGhpc19jdSkpOwogICAgICAgIHRoaXNfY3UtPm9mZnNldCA9 IG9mZnNldDsKICAgICAgICB0aGlzX2N1LT5sZW5ndGggPSBsZW5ndGggKyBpbml0aWFsX2xlbmd0 aF9zaXplOwpAQCAtMjQyMSwxNSArMjQyMywxNSBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEw MDY0NAogIAogICAgZHdhcmYyX3Blcl9vYmpmaWxlLT5hbGxfY29tcF91bml0cwogICAgICA9IG9i c3RhY2tfYWxsb2MgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssCi1AQCAtNDc2Nyw2ICs0OTI0 LDcgQEAgc2Nhbl9wYXJ0aWFsX3N5bWJvbHMgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpmaXJz dF9kaWUsIENPUkVfQUREUiAqbG93cGMsCi0gCQlzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpw ZXJfY3U7CitAQCAtNTM3MSw2ICs1NTI4LDcgQEAgc2Nhbl9wYXJ0aWFsX3N5bWJvbHMgKHN0cnVj dCBwYXJ0aWFsX2RpZV9pbmZvICpmaXJzdF9kaWUsIENPUkVfQUREUiAqbG93cGMsCisgCQkgIH0K ICAKICAJCXBlcl9jdSA9IGR3YXJmMl9maW5kX2NvbnRhaW5pbmdfY29tcF91bml0IChwZGktPmQu b2Zmc2V0LAogKwkJCQkJCQkgICBwZGktPmlzX2R3eiwKICAJCQkJCQkJICAgY3UtPm9iamZpbGUp OwogIAogIAkJLyogR28gcmVhZCB0aGUgcGFydGlhbCB1bml0LCBpZiBuZWVkZWQuICAqLwotQEAg LTQ4MjQsNyArNDk4Miw4IEBAIHBhcnRpYWxfZGllX3BhcmVudF9zY29wZSAoc3RydWN0IHBhcnRp YWxfZGllX2luZm8gKnBkaSwKK0BAIC01NDI4LDcgKzU1ODYsOCBAQCBwYXJ0aWFsX2RpZV9wYXJl bnRfc2NvcGUgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpwZGksCiAgCiAgICByZWFsX3BkaSA9 IHBkaTsKICAgIHdoaWxlIChyZWFsX3BkaS0+aGFzX3NwZWNpZmljYXRpb24pCkBAIC0yNDM5LDcg KzI0NDEsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgcGFyZW50ID0g cmVhbF9wZGktPmRpZV9wYXJlbnQ7CiAgICBpZiAocGFyZW50ID09IE5VTEwpCi1AQCAtNTMyNCw2 ICs1NDgzLDkgQEAgc2tpcF9vbmVfZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAq cmVhZGVyLCBnZGJfYnl0ZSAqaW5mb19wdHIsCitAQCAtNTkyOCw2ICs2MDg3LDkgQEAgc2tpcF9v bmVfZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLCBnZGJfYnl0ZSAq aW5mb19wdHIsCiAgCSAgZWxzZQogIAkgICAgaW5mb19wdHIgKz0gY3UtPmhlYWRlci5vZmZzZXRf c2l6ZTsKICAJICBicmVhazsKQEAgLTI0NDksNyArMjQ1MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgCWNhc2UgRFdfRk9STV9hZGRyOgogIAkgIGluZm9fcHRyICs9IGN1LT5o ZWFkZXIuYWRkcl9zaXplOwogIAkgIGJyZWFrOwotQEAgLTUzNTMsNiArNTUxNSw3IEBAIHNraXBf b25lX2RpZSAoY29uc3Qgc3RydWN0IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRlciwgZ2RiX2J5dGUg KmluZm9fcHRyLAorQEAgLTU5NTcsNiArNjExOSw3IEBAIHNraXBfb25lX2RpZSAoY29uc3Qgc3Ry dWN0IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRlciwgZ2RiX2J5dGUgKmluZm9fcHRyLAogIAkgIGJy ZWFrOwogIAljYXNlIERXX0ZPUk1fc2VjX29mZnNldDoKICAJY2FzZSBEV19GT1JNX3N0cnA6CkBA IC0yNDU3LDE4ICsyNDU5LDE3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCSAg aW5mb19wdHIgKz0gY3UtPmhlYWRlci5vZmZzZXRfc2l6ZTsKICAJICBicmVhazsKICAJY2FzZSBE V19GT1JNX2V4cHJsb2M6Ci1AQCAtNTk5OSw3ICs2MTYyLDkgQEAgcHJvY2Vzc19mdWxsX2NvbXBf dW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqcGVyX2N1LAorQEAgLTY2MjQsNyArNjc4 Nyw4IEBAIHByb2Nlc3NfZnVsbF9jb21wX3VuaXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEg KnBlcl9jdSwKICAgICAgIGl0LCBieSBzY2FubmluZyB0aGUgRElFJ3MgYmVsb3cgdGhlIGNvbXBp bGF0aW9uIHVuaXQuICAqLwogICAgZ2V0X3Njb3BlX3BjX2JvdW5kcyAoY3UtPmRpZXMsICZsb3dw YywgJmhpZ2hwYywgY3UpOwogIAotLSAgc3ltdGFiID0gZW5kX3N5bXRhYiAoaGlnaHBjICsgYmFz ZWFkZHIsIG9iamZpbGUsIFNFQ1RfT0ZGX1RFWFQgKG9iamZpbGUpKTsKLSsgIHN5bXRhYiA9IGVu ZF9zeW10YWJfZnVsbCAoaGlnaHBjICsgYmFzZWFkZHIsIG9iamZpbGUsCi0rCQkJICAgIFNFQ1Rf T0ZGX1RFWFQgKG9iamZpbGUpLAotKwkJCSAgICBwZXJfY3UtPmltcG9ydGVkX3N5bXRhYnMgIT0g TlVMTCk7CistICBzdGF0aWNfYmxvY2sgPSBlbmRfc3ltdGFiX2dldF9zdGF0aWNfYmxvY2sgKGhp Z2hwYyArIGJhc2VhZGRyLCBvYmpmaWxlLCAwKTsKKysgIHN0YXRpY19ibG9jayA9IGVuZF9zeW10 YWJfZ2V0X3N0YXRpY19ibG9jayAoaGlnaHBjICsgYmFzZWFkZHIsIG9iamZpbGUsIDAsCisrCQkJ CQkgICAgcGVyX2N1LT5zLmltcG9ydGVkX3N5bXRhYnMgIT0gTlVMTCk7CiAgCi0gICBpZiAoc3lt dGFiICE9IE5VTEwpCi0gICAgIHsKLUBAIC02MDY4LDkgKzYyMzMsMTEgQEAgcHJvY2Vzc19pbXBv cnRlZF91bml0X2RpZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQorICAgLyogSWYgdGhlIGNvbXAgdW5pdCBoYXMgRFdfQVRfcmFuZ2VzLCBpdCBtYXkgaGF2ZSBk aXNjb250aWd1b3VzIHJhbmdlcy4KKyAgICAgIEFsc28sIERXX0FUX3JhbmdlcyBtYXkgcmVjb3Jk IHJhbmdlcyBub3QgYmVsb25naW5nIHRvIGFueSBjaGlsZCBESUVzCitAQCAtNjc3NSw5ICs2OTM5 LDExIEBAIHByb2Nlc3NfaW1wb3J0ZWRfdW5pdF9kaWUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAgICBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpw ZXJfY3U7CiAgICAgICAgc3RydWN0IHN5bXRhYiAqaW1wb3J0ZWRfc3ltdGFiOwogICAgICAgIHNl Y3Rfb2Zmc2V0IG9mZnNldDsKQEAgLTI0ODEsNyArMjQ4Miw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgCiAgICAgICAgLyogUXVldWUgdGhlIHVuaXQsIGlmIG5lZWRlZC4gICov CiAgICAgICAgaWYgKG1heWJlX3F1ZXVlX2NvbXBfdW5pdCAoY3UsIHBlcl9jdSwgY3UtPmxhbmd1 YWdlKSkKLUBAIC03Mjg0LDI0ICs3NDUxLDIyIEBAIHRyeV9vcGVuX2R3b19maWxlIChjb25zdCBj aGFyICpmaWxlX25hbWUpCitAQCAtODA0NiwyNCArODIxMiwyMiBAQCB0cnlfb3Blbl9kd29fZmls ZSAoY29uc3QgY2hhciAqZmlsZV9uYW1lKQogICAgaWYgKGRlc2MgPCAwKQogICAgICByZXR1cm4g TlVMTDsKICAKQEAgLTI1MTAsNyArMjUxMSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAw NjQ0CiAgICByZXR1cm4gc3ltX2JmZDsKICB9CiAgCi1AQCAtNzQ5MywyMCArNzY1OCw3IEBAIGZy ZWVfZHdvX2ZpbGUgKHN0cnVjdCBkd29fZmlsZSAqZHdvX2ZpbGUsIHN0cnVjdCBvYmpmaWxlICpv YmpmaWxlKQorQEAgLTgyNTUsMjAgKzg0MTksNyBAQCBmcmVlX2R3b19maWxlIChzdHJ1Y3QgZHdv X2ZpbGUgKmR3b19maWxlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKICAgIHN0cnVjdCBkd2Fy ZjJfc2VjdGlvbl9pbmZvICpzZWN0aW9uOwogIAogICAgZ2RiX2Fzc2VydCAoZHdvX2ZpbGUtPmR3 b19iZmQgIT0gb2JqZmlsZS0+b2JmZCk7CkBAIC0yNTMyLDcgKzI1MzMsNyBAQCBpbmRleCA1MjI4 OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgVkVDX2ZyZWUgKGR3YXJmMl9zZWN0aW9uX2luZm9f ZGVmLCBkd29fZmlsZS0+c2VjdGlvbnMudHlwZXMpOwogIH0KLUBAIC05ODc4LDYgKzEwMDMwLDI5 IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMDY1MSw2ICsxMDgwMiwyOSBAQCBwcm9jZXNzX2VudW1l cmF0aW9uX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgICBuZXdfc3ltYm9sIChkaWUsIHRoaXNfdHlwZSwgY3UpOwogIH0KICAKQEAgLTI1NjIsNyAr MjU2Myw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgLyogRXh0cmFjdCBhbGwg aW5mb3JtYXRpb24gZnJvbSBhIERXX1RBR19hcnJheV90eXBlIERJRSBhbmQgcHV0IGl0IGluCiAg ICAgdGhlIERJRSdzIHR5cGUgZmllbGQuICBGb3Igbm93LCB0aGlzIG9ubHkgaGFuZGxlcyBvbmUg ZGltZW5zaW9uYWwKICAgICBhcnJheXMuICAqLwotQEAgLTk4OTEsNyArMTAwNjYsNyBAQCByZWFk X2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkK K0BAIC0xMDY2NCw3ICsxMDgzOCw3IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlw ZSwgKnJhbmdlX3R5cGUsICppbmRleF90eXBlOwogICAgc3RydWN0IHR5cGUgKipyYW5nZV90eXBl cyA9IE5VTEw7CiAgICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjU3MSw3ICsyNTcyLDcg QEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNr X3RvOwogICAgY2hhciAqbmFtZTsKICAKLUBAIC05OTQ0LDE3ICsxMDExOSwxOSBAQCByZWFkX2Fy cmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BA IC0xMDcxNywxNyArMTA4OTEsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICB0eXBlID0gZWxlbWVudF90eXBlOwogIAog ICAgaWYgKHJlYWRfYXJyYXlfb3JkZXIgKGRpZSwgY3UpID09IERXX09SRF9jb2xfbWFqb3IpCkBA IC0yNjAyLDcgKzI2MDMsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAg LyogVW5kZXJzdGFuZCBEd2FyZjIgc3VwcG9ydCBmb3IgdmVjdG9yIHR5cGVzIChsaWtlIHRoZXkg b2NjdXIgb24KICAgICAgIHRoZSBQb3dlclBDIHcvIEFsdGlWZWMpLiAgR2NjIGp1c3QgYWRkcyBh bm90aGVyIGF0dHJpYnV0ZSB0byB0aGUKLUBAIC0xMDQzOCwyOSArMTA2MTUsMTE0IEBAIHJlYWRf dGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCitAQCAtMTEyMTEsMjkgKzExMzg3LDExNCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKICAgIHN0cnVjdCB0eXBl ICp0eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGUsICpjaGFyX3R5cGU7CiAgICBzdHJ1Y3Qg YXR0cmlidXRlICphdHRyOwpAQCAtMjczMCw3ICsyNzMxLDcgQEAgaW5kZXggNTIyODhlOC4uNjAz YjY2OSAxMDA2NDQKICAgIGNoYXJfdHlwZSA9IGxhbmd1YWdlX3N0cmluZ19jaGFyX3R5cGUgKGN1 LT5sYW5ndWFnZV9kZWZuLCBnZGJhcmNoKTsKICAgIHR5cGUgPSBjcmVhdGVfc3RyaW5nX3R5cGUg KE5VTEwsIGNoYXJfdHlwZSwgcmFuZ2VfdHlwZSk7CiAgCi1AQCAtMTA3NjQsNyArMTEwMjYsNyBA QCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKK0BAIC0xMTUzNyw3ICsxMTc5OCw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3Ry dWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3RydWN0IHR5cGUg KmJhc2VfdHlwZTsKICAgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlOwogICAgc3RydWN0IGF0dHJp YnV0ZSAqYXR0cjsKQEAgLTI3MzksNyArMjc0MCw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2Njkg MTAwNjQ0CiAgICBpbnQgbG93X2RlZmF1bHRfaXNfdmFsaWQ7CiAgICBjaGFyICpuYW1lOwogICAg TE9OR0VTVCBuZWdhdGl2ZV9tYXNrOwotQEAgLTEwODIwLDQyICsxMTA4Miw2IEBAIHJlYWRfc3Vi cmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQor QEAgLTExNTkzLDQyICsxMTg1NCw2IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9p bmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAkJCQkgICAgICAiLSBESUUgYXQgMHgl eCBbaW4gbW9kdWxlICVzXSIpLAogIAkgICAgICAgZGllLT5vZmZzZXQuc2VjdF9vZmYsIGN1LT5v YmpmaWxlLT5uYW1lKTsKICAKQEAgLTI3ODIsNyArMjc4Myw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgICAvKiBEd2FyZi0yIHNwZWNpZmljYXRpb25zIGV4cGxpY2l0bHkgYWxs b3dzIHRvIGNyZWF0ZSBzdWJyYW5nZSB0eXBlcwogICAgICAgd2l0aG91dCBzcGVjaWZ5aW5nIGEg YmFzZSB0eXBlLgogICAgICAgSW4gdGhhdCBjYXNlLCB0aGUgYmFzZSB0eXBlIG11c3QgYmUgc2V0 IHRvIHRoZSB0eXBlIG9mCi1AQCAtMTA4OTQsMjQgKzExMTIwLDE2MyBAQCByZWFkX3N1YnJhbmdl X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0x MTY2NywyNCArMTE4OTIsMTYzIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogIAl9CiAgICAgIH0KICAKQEAgLTI5NjAsNyAr Mjk2MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCiAgICBuYW1lID0gZHdh cmYyX25hbWUgKGRpZSwgY3UpOwogICAgaWYgKG5hbWUpCi1AQCAtMTE2ODUsNiArMTIwNTAsOCBA QCByZWFkX3BhcnRpYWxfZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVy LAorQEAgLTEyNDc0LDYgKzEyODM4LDggQEAgcmVhZF9wYXJ0aWFsX2RpZSAoY29uc3Qgc3RydWN0 IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRlciwKICAJY2FzZSBEV19BVF9leHRlbnNpb246CiAgCSAg cGFydF9kaWUtPmhhc19zcGVjaWZpY2F0aW9uID0gMTsKICAJICBwYXJ0X2RpZS0+c3BlY19vZmZz ZXQgPSBkd2FyZjJfZ2V0X3JlZl9kaWVfb2Zmc2V0ICgmYXR0cik7CkBAIC0yOTY5LDcgKzI5NzAs NyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAkgIGJyZWFrOwogIAljYXNlIERX X0FUX3NpYmxpbmc6CiAgCSAgLyogSWdub3JlIGFic29sdXRlIHNpYmxpbmdzLCB0aGV5IG1pZ2h0 IHBvaW50IG91dHNpZGUgb2YKLUBAIC0xMTczMSw3ICsxMjA5OCwxMSBAQCByZWFkX3BhcnRpYWxf ZGllIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAorQEAgLTEyNTIwLDcg KzEyODg2LDExIEBAIHJlYWRfcGFydGlhbF9kaWUgKGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3Nw ZWNzICpyZWFkZXIsCiAgCiAgCWNhc2UgRFdfQVRfaW1wb3J0OgogIAkgIGlmIChwYXJ0X2RpZS0+ dGFnID09IERXX1RBR19pbXBvcnRlZF91bml0KQpAQCAtMjk4Miw3ICsyOTgzLDcgQEAgaW5kZXgg NTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAJICBicmVhazsKICAKICAJZGVmYXVsdDoKLUBAIC0x MTgwMiwxMyArMTIxNzMsMTQgQEAgZmluZF9wYXJ0aWFsX2RpZV9pbl9jb21wX3VuaXQgKHNlY3Rf b2Zmc2V0IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTI1OTEsMTMgKzEyOTYx LDE0IEBAIGZpbmRfcGFydGlhbF9kaWVfaW5fY29tcF91bml0IChzZWN0X29mZnNldCBvZmZzZXQs IHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgIERXX0ZPUk1fcmVmX3NpZzgpLiAgKi8KICAKICBz dGF0aWMgc3RydWN0IHBhcnRpYWxfZGllX2luZm8gKgpAQCAtMjk5OSw3ICszMDAwLDcgQEAgaW5k ZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgICAgewogICAgICAgIHBkID0gZmluZF9wYXJ0 aWFsX2RpZV9pbl9jb21wX3VuaXQgKG9mZnNldCwgY3UpOwogICAgICAgIGlmIChwZCAhPSBOVUxM KQotQEAgLTExODI3LDcgKzEyMTk5LDggQEAgZmluZF9wYXJ0aWFsX2RpZSAoc2VjdF9vZmZzZXQg b2Zmc2V0LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjYxNiw3ICsxMjk4Nyw4IEBAIGZp bmRfcGFydGlhbF9kaWUgKHNlY3Rfb2Zmc2V0IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgCQkgKGxvbmcpIGN1LT5oZWFkZXIub2Zmc2V0LnNlY3Rfb2ZmLCAobG9uZykgb2Zmc2V0LnNl Y3Rfb2ZmLAogIAkJIGJmZF9nZXRfZmlsZW5hbWUgKG9iamZpbGUtPm9iZmQpKTsKICAJfQpAQCAt MzAwOSw3ICszMDEwLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgICAg ICBpZiAocGVyX2N1LT5jdSA9PSBOVUxMIHx8IHBlcl9jdS0+Y3UtPnBhcnRpYWxfZGllcyA9PSBO VUxMKQogIAlsb2FkX3BhcnRpYWxfY29tcF91bml0IChwZXJfY3UpOwotQEAgLTExODg1LDcgKzEy MjU4LDggQEAgZ3Vlc3NfcGFydGlhbF9kaWVfc3RydWN0dXJlX25hbWUgKHN0cnVjdCBwYXJ0aWFs X2RpZV9pbmZvICpzdHJ1Y3RfcGRpLAorQEAgLTEyNjc0LDcgKzEzMDQ2LDggQEAgZ3Vlc3NfcGFy dGlhbF9kaWVfc3RydWN0dXJlX25hbWUgKHN0cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpzdHJ1Y3Rf cGRpLAogIAogICAgcmVhbF9wZGkgPSBzdHJ1Y3RfcGRpOwogICAgd2hpbGUgKHJlYWxfcGRpLT5o YXNfc3BlY2lmaWNhdGlvbikKQEAgLTMwMTksNyArMzAyMCw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgCiAgICBpZiAocmVhbF9wZGktPmRpZV9wYXJlbnQgIT0gTlVMTCkKICAg ICAgcmV0dXJuOwotQEAgLTExOTMzLDcgKzEyMzA3LDggQEAgZml4dXBfcGFydGlhbF9kaWUgKHN0 cnVjdCBwYXJ0aWFsX2RpZV9pbmZvICpwYXJ0X2RpZSwKK0BAIC0xMjcyMiw3ICsxMzA5NSw4IEBA IGZpeHVwX3BhcnRpYWxfZGllIChzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbyAqcGFydF9kaWUsCiAg ICAgIHsKICAgICAgICBzdHJ1Y3QgcGFydGlhbF9kaWVfaW5mbyAqc3BlY19kaWU7CiAgCkBAIC0z MDI5LDcgKzMwMzAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIAogICAgICAg IGZpeHVwX3BhcnRpYWxfZGllIChzcGVjX2RpZSwgY3UpOwogIAotQEAgLTEyMDIxLDYgKzEyMzk2 LDEwIEBAIHJlYWRfYXR0cmlidXRlX3ZhbHVlIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVj cyAqcmVhZGVyLAorQEAgLTEyODEwLDYgKzEzMTg0LDEwIEBAIHJlYWRfYXR0cmlidXRlX3ZhbHVl IChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAogIAkJCQkgICAgICAgJmN1 LT5oZWFkZXIsICZieXRlc19yZWFkKTsKICAgICAgICBpbmZvX3B0ciArPSBieXRlc19yZWFkOwog ICAgICAgIGJyZWFrOwpAQCAtMzA0MCw3ICszMDQxLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2 OSAxMDA2NDQKICAgICAgY2FzZSBEV19GT1JNX2FkZHI6CiAgICAgICAgRFdfQUREUiAoYXR0cikg PSByZWFkX2FkZHJlc3MgKGFiZmQsIGluZm9fcHRyLCBjdSwgJmJ5dGVzX3JlYWQpOwogICAgICAg IGluZm9fcHRyICs9IGJ5dGVzX3JlYWQ7Ci1AQCAtMTIwNjMsMTAgKzEyNDQyLDI1IEBAIHJlYWRf YXR0cmlidXRlX3ZhbHVlIChjb25zdCBzdHJ1Y3QgZGllX3JlYWRlcl9zcGVjcyAqcmVhZGVyLAor QEAgLTEyODUyLDEwICsxMzIzMCwyNSBAQCByZWFkX2F0dHJpYnV0ZV92YWx1ZSAoY29uc3Qgc3Ry dWN0IGRpZV9yZWFkZXJfc3BlY3MgKnJlYWRlciwKICAgICAgICBpbmZvX3B0ciArPSBieXRlc19y ZWFkOwogICAgICAgIGJyZWFrOwogICAgICBjYXNlIERXX0ZPUk1fc3RycDoKQEAgLTMwNzAsNyAr MzA3MSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICAgICAgYnJlYWs7CiAg ICAgIGNhc2UgRFdfRk9STV9leHBybG9jOgogICAgICBjYXNlIERXX0ZPUk1fYmxvY2s6Ci1AQCAt MTIxNzgsNiArMTI1NzIsMTAgQEAgcmVhZF9hdHRyaWJ1dGVfdmFsdWUgKGNvbnN0IHN0cnVjdCBk aWVfcmVhZGVyX3NwZWNzICpyZWFkZXIsCitAQCAtMTI5NjcsNiArMTMzNjAsMTAgQEAgcmVhZF9h dHRyaWJ1dGVfdmFsdWUgKGNvbnN0IHN0cnVjdCBkaWVfcmVhZGVyX3NwZWNzICpyZWFkZXIsCiAg CSAgICAgYmZkX2dldF9maWxlbmFtZSAoYWJmZCkpOwogICAgICB9CiAgCkBAIC0zMDgxLDcgKzMw ODIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgLyogV2UgaGF2ZSBzZWVu IGluc3RhbmNlcyB3aGVyZSB0aGUgY29tcGlsZXIgdHJpZWQgdG8gZW1pdCBhIGJ5dGUKICAgICAg IHNpemUgYXR0cmlidXRlIG9mIC0xIHdoaWNoIGVuZGVkIHVwIGJlaW5nIGVuY29kZWQgYXMgYW4g dW5zaWduZWQKICAgICAgIDB4ZmZmZmZmZmYuICBBbHRob3VnaCAweGZmZmZmZmZmIGlzIHRlY2hu aWNhbGx5IGEgdmFsaWQgc2l6ZSB2YWx1ZSwKLUBAIC0xMjQ3NCw2ICsxMjg3MiwzMCBAQCByZWFk X2luZGlyZWN0X3N0cmluZ19hdF9vZmZzZXQgKGJmZCAqYWJmZCwgTE9OR0VTVCBzdHJfb2Zmc2V0 KQorQEAgLTEzMjYzLDYgKzEzNjYwLDMwIEBAIHJlYWRfaW5kaXJlY3Rfc3RyaW5nX2F0X29mZnNl dCAoYmZkICphYmZkLCBMT05HRVNUIHN0cl9vZmZzZXQpCiAgICByZXR1cm4gKGNoYXIgKikgKGR3 YXJmMl9wZXJfb2JqZmlsZS0+c3RyLmJ1ZmZlciArIHN0cl9vZmZzZXQpOwogIH0KICAKQEAgLTMx MTIsNyArMzExMyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgc3RhdGljIGNo YXIgKgogIHJlYWRfaW5kaXJlY3Rfc3RyaW5nIChiZmQgKmFiZmQsIGdkYl9ieXRlICpidWYsCiAg CQkgICAgICBjb25zdCBzdHJ1Y3QgY29tcF91bml0X2hlYWQgKmN1X2hlYWRlciwKLUBAIC0xMjk0 Niw2ICsxMzM2OCwzMCBAQCBhZGRfZmlsZV9uYW1lIChzdHJ1Y3QgbGluZV9oZWFkZXIgKmxoLAor QEAgLTEzNzM0LDYgKzE0MTU1LDMwIEBAIGFkZF9maWxlX25hbWUgKHN0cnVjdCBsaW5lX2hlYWRl ciAqbGgsCiAgICBmZS0+c3ltdGFiID0gTlVMTDsKICB9CiAgCkBAIC0zMTQzLDcgKzMxNDQsNyBA QCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogIC8qIFJlYWQgdGhlIHN0YXRlbWVudCBw cm9ncmFtIGhlYWRlciBzdGFydGluZyBhdCBPRkZTRVQgaW4KICAgICAuZGVidWdfbGluZSwgb3Ig LmRlYnVnX2xpbmUuZHdvLiAgUmV0dXJuIGEgcG9pbnRlcgogICAgIHRvIGEgc3RydWN0IGxpbmVf aGVhZGVyLCBhbGxvY2F0ZWQgdXNpbmcgeG1hbGxvYy4KLUBAIC0xMjk2NiwxMyArMTM0MTIsNyBA QCBkd2FyZl9kZWNvZGVfbGluZV9oZWFkZXIgKHVuc2lnbmVkIGludCBvZmZzZXQsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQorQEAgLTEzNzU0LDEzICsxNDE5OSw3IEBAIGR3YXJmX2RlY29kZV9saW5l X2hlYWRlciAodW5zaWduZWQgaW50IG9mZnNldCwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBz dHJ1Y3QgZHdhcmYyX3NlY3Rpb25faW5mbyAqc2VjdGlvbjsKICAgIGJmZCAqYWJmZDsKICAKQEAg LTMxNTgsNyArMzE1OSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICBkd2Fy ZjJfcmVhZF9zZWN0aW9uIChkd2FyZjJfcGVyX29iamZpbGUtPm9iamZpbGUsIHNlY3Rpb24pOwog ICAgaWYgKHNlY3Rpb24tPmJ1ZmZlciA9PSBOVUxMKQogICAgICB7Ci1AQCAtMTMyOTcsNyArMTM3 MzcsNyBAQCBkd2FyZl9kZWNvZGVfbGluZXNfMSAoc3RydWN0IGxpbmVfaGVhZGVyICpsaCwgY29u c3QgY2hhciAqY29tcF9kaXIsCitAQCAtMTQwODUsNyArMTQ1MjQsNyBAQCBkd2FyZl9kZWNvZGVf bGluZXNfMSAoc3RydWN0IGxpbmVfaGVhZGVyICpsaCwgY29uc3QgY2hhciAqY29tcF9kaXIsCiAg CQkJIEdDZCBieSB0aGUgbGlua2VyLiAgSWdub3JlIGl0LiAgUFIgZ2RiLzEyNTI4ICovCiAgCiAg CQkgICAgICBsb25nIGxpbmVfb2Zmc2V0CkBAIC0zMTY3LDcgKzMxNjgsNyBAQCBpbmRleCA1MjI4 OGU4Li42MDNiNjY5IDEwMDY0NAogIAogIAkJICAgICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21w bGFpbnRzLAogIAkJCQkgXygiLmRlYnVnX2xpbmUgYWRkcmVzcyBhdCBvZmZzZXQgMHglbHggaXMg MCAiCi1AQCAtMTM2NTksMTAgKzE0MDk5LDEyIEBAIHZhcl9kZWNvZGVfbG9jYXRpb24gKHN0cnVj dCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCBzeW1ib2wgKnN5bSwKK0BAIC0xNDQ2NCwxMCArMTQ5 MDMsMTIgQEAgdmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3Ry dWN0IHN5bWJvbCAqc3ltLAogICAgICAgKGkuZS4gd2hlbiB0aGUgdmFsdWUgb2YgYSByZWdpc3Rl ciBvciBtZW1vcnkgbG9jYXRpb24gaXMKICAgICAgIHJlZmVyZW5jZWQsIG9yIGEgdGhyZWFkLWxv Y2FsIGJsb2NrLCBldGMuKS4gIFRoZW4gYWdhaW4sIGl0IG1pZ2h0CiAgICAgICBub3QgYmUgd29y dGh3aGlsZS4gIEknbSBhc3N1bWluZyB0aGF0IGl0IGlzbid0IHVubGVzcyBwZXJmb3JtYW5jZQpA QCAtMzE4Miw3ICszMTgzLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAg IGlmIChTWU1CT0xfQ09NUFVURURfT1BTIChzeW0pID09ICZkd2FyZjJfbG9jbGlzdF9mdW5jcykK ICAgICAgY3UtPmhhc19sb2NsaXN0ID0gMTsKLUBAIC0xMzcwMyw2ICsxNDE0NSw4IEBAIG5ld19z eW1ib2xfZnVsbCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNDUwOCw2ICsxNDk0OSw4IEBAIG5ld19zeW1ib2xfZnVs bCAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSwKICAgICAgICBlbHNlCiAgCXN5bSA9IE9CU1RBQ0tfWkFMTE9DICgmb2JqZmlsZS0+ b2JqZmlsZV9vYnN0YWNrLCBzdHJ1Y3Qgc3ltYm9sKTsKICAgICAgICBPQkpTVEFUIChvYmpmaWxl LCBuX3N5bXMrKyk7CkBAIC0zMTkxLDcgKzMxOTIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogIAogICAgICAgIC8qIENhY2hlIHRoaXMgc3ltYm9sJ3MgbmFtZSBhbmQgdGhlIG5h bWUncyBkZW1hbmdsZWQgZm9ybSAoaWYgYW55KS4gICovCiAgICAgICAgU1lNQk9MX1NFVF9MQU5H VUFHRSAoc3ltLCBjdS0+bGFuZ3VhZ2UpOwotQEAgLTE0MTI2LDYgKzE0NTcwLDcgQEAgZHdhcmYy X2NvbnN0X3ZhbHVlX2F0dHIgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCB0eXBlICp0 eXBlLAorQEAgLTE0OTMxLDYgKzE1Mzc0LDcgQEAgZHdhcmYyX2NvbnN0X3ZhbHVlX2F0dHIgKHN0 cnVjdCBhdHRyaWJ1dGUgKmF0dHIsIHN0cnVjdCB0eXBlICp0eXBlLAogICAgICBjYXNlIERXX0ZP Uk1fc3RyaW5nOgogICAgICBjYXNlIERXX0ZPUk1fc3RycDoKICAgICAgY2FzZSBEV19GT1JNX0dO VV9zdHJfaW5kZXg6CkBAIC0zMTk5LDcgKzMyMDAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogICAgICAgIC8qIERXX1NUUklORyBpcyBhbHJlYWR5IGFsbG9jYXRlZCBvbiB0aGUg b2JqZmlsZSBvYnN0YWNrLCBwb2ludAogIAkgZGlyZWN0bHkgdG8gaXQuICAqLwogICAgICAgICpi eXRlcyA9IChnZGJfYnl0ZSAqKSBEV19TVFJJTkcgKGF0dHIpOwotQEAgLTE0MzEyLDcgKzE0NzU3 LDE1IEBAIGxvb2t1cF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBhdHRy aWJ1dGUgKmF0dHIsCitAQCAtMTUxMTcsNyArMTU1NjEsMTUgQEAgbG9va3VwX2RpZV90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwKICAKICAgIC8qIEZp cnN0IHNlZSBpZiB3ZSBoYXZlIGl0IGNhY2hlZC4gICovCiAgCkBAIC0zMjE2LDcgKzMyMTcsNyBA QCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICB7CiAgICAgICAgc2VjdF9vZmZz ZXQgb2Zmc2V0ID0gZHdhcmYyX2dldF9yZWZfZGllX29mZnNldCAoYXR0cik7CiAgCi1AQCAtMTQ0 NzcsNiArMTQ5MzAsOSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNTI4Miw2ICsxNTczNCw5IEBAIHJlYWRfdHlwZV9k aWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgICAg IGJyZWFrOwogICAgICB9CiAgCkBAIC0zMjI2LDcgKzMyMjcsNyBAQCBpbmRleCA1MjI4OGU4Li42 MDNiNjY5IDEwMDY0NAogICAgcmV0dXJuIHRoaXNfdHlwZTsKICB9CiAgCi1AQCAtMTUwODUsNiAr MTU1NDEsMTAgQEAgZHVtcF9kaWVfc2hhbGxvdyAoc3RydWN0IHVpX2ZpbGUgKmYsIGludCBpbmRl bnQsIHN0cnVjdCBkaWVfaW5mbyAqZGllKQorQEAgLTE1ODkwLDYgKzE2MzQ1LDEwIEBAIGR1bXBf ZGllX3NoYWxsb3cgKHN0cnVjdCB1aV9maWxlICpmLCBpbnQgaW5kZW50LCBzdHJ1Y3QgZGllX2lu Zm8gKmRpZSkKICAJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGYsICJyZWYgYWRkcmVzczogIik7CiAg CSAgZnB1dHNfZmlsdGVyZWQgKGhleF9zdHJpbmcgKERXX1VOU05EICgmZGllLT5hdHRyc1tpXSkp LCBmKTsKICAJICBicmVhazsKQEAgLTMyMzcsNyArMzIzOCw3IEBAIGluZGV4IDUyMjg4ZTguLjYw M2I2NjkgMTAwNjQ0CiAgCWNhc2UgRFdfRk9STV9yZWYxOgogIAljYXNlIERXX0ZPUk1fcmVmMjoK ICAJY2FzZSBEV19GT1JNX3JlZjQ6Ci1AQCAtMTUxMTYsNiArMTU1NzYsNyBAQCBkdW1wX2RpZV9z aGFsbG93IChzdHJ1Y3QgdWlfZmlsZSAqZiwgaW50IGluZGVudCwgc3RydWN0IGRpZV9pbmZvICpk aWUpCitAQCAtMTU5MjEsNiArMTYzODAsNyBAQCBkdW1wX2RpZV9zaGFsbG93IChzdHJ1Y3QgdWlf ZmlsZSAqZiwgaW50IGluZGVudCwgc3RydWN0IGRpZV9pbmZvICpkaWUpCiAgCWNhc2UgRFdfRk9S TV9zdHJpbmc6CiAgCWNhc2UgRFdfRk9STV9zdHJwOgogIAljYXNlIERXX0ZPUk1fR05VX3N0cl9p bmRleDoKQEAgLTMyNDUsNyArMzI0Niw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0 CiAgCSAgZnByaW50Zl91bmZpbHRlcmVkIChmLCAic3RyaW5nOiBcIiVzXCIgKCVzIGNhbm9uaWNh bGl6ZWQpIiwKICAJCSAgIERXX1NUUklORyAoJmRpZS0+YXR0cnNbaV0pCiAgCQkgICA/IERXX1NU UklORyAoJmRpZS0+YXR0cnNbaV0pIDogIiIsCi1AQCAtMTUyMTksNiArMTU2ODAsNyBAQCBpc19y ZWZfYXR0ciAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0cikKK0BAIC0xNjAyNCw2ICsxNjQ4NCw3IEBA IGlzX3JlZl9hdHRyIChzdHJ1Y3QgYXR0cmlidXRlICphdHRyKQogICAgICBjYXNlIERXX0ZPUk1f cmVmNDoKICAgICAgY2FzZSBEV19GT1JNX3JlZjg6CiAgICAgIGNhc2UgRFdfRk9STV9yZWZfdWRh dGE6CkBAIC0zMjUzLDcgKzMyNTQsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAog ICAgICAgIHJldHVybiAxOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiAwOwotQEAgLTE1 Mjk2LDcgKzE1NzU4LDggQEAgZm9sbG93X2RpZV9yZWZfb3Jfc2lnIChzdHJ1Y3QgZGllX2luZm8g KnNyY19kaWUsIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCitAQCAtMTYxMDEsNyArMTY1NjIsOCBA QCBmb2xsb3dfZGllX3JlZl9vcl9zaWcgKHN0cnVjdCBkaWVfaW5mbyAqc3JjX2RpZSwgc3RydWN0 IGF0dHJpYnV0ZSAqYXR0ciwKICAgICBSZXR1cm5zIE5VTEwgaWYgT0ZGU0VUIGlzIGludmFsaWQu ICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgZGllX2luZm8gKgpAQCAtMzI2Myw3ICszMjY0LDcgQEAg aW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICB7CiAgICBzdHJ1Y3QgZGllX2luZm8gdGVt cF9kaWU7CiAgICBzdHJ1Y3QgZHdhcmYyX2N1ICp0YXJnZXRfY3UsICpjdSA9ICpyZWZfY3U7Ci1A QCAtMTUzMTMsMTEgKzE1Nzc2LDEzIEBAIGZvbGxvd19kaWVfb2Zmc2V0IChzZWN0X29mZnNldCBv ZmZzZXQsIHN0cnVjdCBkd2FyZjJfY3UgKipyZWZfY3UpCitAQCAtMTYxMTgsMTEgKzE2NTgwLDEz IEBAIGZvbGxvd19kaWVfb2Zmc2V0IChzZWN0X29mZnNldCBvZmZzZXQsIHN0cnVjdCBkd2FyZjJf Y3UgKipyZWZfY3UpCiAgICAgICAgaWYgKCEgb2Zmc2V0X2luX2N1X3AgKCZjdS0+aGVhZGVyLCBv ZmZzZXQpKQogIAlyZXR1cm4gTlVMTDsKICAgICAgfQpAQCAtMzI3OSw3ICszMjgwLDcgQEAgaW5k ZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgICAgICAvKiBJZiBuZWNlc3NhcnksIGFk ZCBpdCB0byB0aGUgcXVldWUgYW5kIGxvYWQgaXRzIERJRXMuICAqLwogICAgICAgIGlmIChtYXli ZV9xdWV1ZV9jb21wX3VuaXQgKGN1LCBwZXJfY3UsIGN1LT5sYW5ndWFnZSkpCi1AQCAtMTUzNDks NyArMTU4MTQsMTAgQEAgZm9sbG93X2RpZV9yZWYgKHN0cnVjdCBkaWVfaW5mbyAqc3JjX2RpZSwg c3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwKK0BAIC0xNjE1NCw3ICsxNjYxOCwxMCBAQCBmb2xsb3df ZGllX3JlZiAoc3RydWN0IGRpZV9pbmZvICpzcmNfZGllLCBzdHJ1Y3QgYXR0cmlidXRlICphdHRy LAogICAgc3RydWN0IGR3YXJmMl9jdSAqY3UgPSAqcmVmX2N1OwogICAgc3RydWN0IGRpZV9pbmZv ICpkaWU7CiAgCkBAIC0zMjkxLDcgKzMyOTIsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEw MDY0NAogICAgaWYgKCFkaWUpCiAgICAgIGVycm9yIChfKCJEd2FyZiBFcnJvcjogQ2Fubm90IGZp bmQgRElFIGF0IDB4JXggcmVmZXJlbmNlZCBmcm9tIERJRSAiCiAgCSAgICJhdCAweCV4IFtpbiBt b2R1bGUgJXNdIiksCi1AQCAtMTUzODAsNyArMTU4NDgsNyBAQCBkd2FyZjJfZmV0Y2hfZGllX2xv Y2F0aW9uX2Jsb2NrIChjdV9vZmZzZXQgb2Zmc2V0X2luX2N1LAorQEAgLTE2MTg1LDcgKzE2NjUy LDcgQEAgZHdhcmYyX2ZldGNoX2RpZV9sb2NhdGlvbl9ibG9jayAoY3Vfb2Zmc2V0IG9mZnNldF9p bl9jdSwKICAgICAgbG9hZF9jdSAocGVyX2N1KTsKICAgIGN1ID0gcGVyX2N1LT5jdTsKICAKQEAg LTMzMDAsNyArMzMwMSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgICBpZiAo IWRpZSkKICAgICAgZXJyb3IgKF8oIkR3YXJmIEVycm9yOiBDYW5ub3QgZmluZCBESUUgYXQgMHgl eCByZWZlcmVuY2VkIGluIG1vZHVsZSAlcyIpLAogIAkgICBvZmZzZXQuc2VjdF9vZmYsIHBlcl9j dS0+b2JqZmlsZS0+bmFtZSk7Ci1AQCAtMTYxNzksNiArMTY2NDcsNyBAQCBza2lwX2Zvcm1fYnl0 ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5dGUgKmJ5dGVzLCBnZGJfYnl0ZSAqYnVmZmVyX2VuZCwKK0BA IC0xNjk3OSw2ICsxNzQ0Niw3IEBAIHNraXBfZm9ybV9ieXRlcyAoYmZkICphYmZkLCBnZGJfYnl0 ZSAqYnl0ZXMsIGdkYl9ieXRlICpidWZmZXJfZW5kLAogIAogICAgICBjYXNlIERXX0ZPUk1fc2Vj X29mZnNldDoKICAgICAgY2FzZSBEV19GT1JNX3N0cnA6CkBAIC0zMzA4LDcgKzMzMDksNyBAQCBp bmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICAgIGJ5dGVzICs9IG9mZnNldF9zaXpl OwogICAgICAgIGJyZWFrOwogIAotQEAgLTE2MzM0LDcgKzE2ODAzLDcgQEAgZHdhcmZfZGVjb2Rl X21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFj X2VuZCwKK0BAIC0xNzEzNCw3ICsxNzYwMiw3IEBAIGR3YXJmX2RlY29kZV9tYWNyb19ieXRlcyAo YmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1hY19lbmQsCiAgCQkJICBz dHJ1Y3QgbWFjcm9fc291cmNlX2ZpbGUgKmN1cnJlbnRfZmlsZSwKICAJCQkgIHN0cnVjdCBsaW5l X2hlYWRlciAqbGgsIGNoYXIgKmNvbXBfZGlyLAogIAkJCSAgc3RydWN0IGR3YXJmMl9zZWN0aW9u X2luZm8gKnNlY3Rpb24sCkBAIC0zMzE3LDcgKzMzMTgsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNi NjY5IDEwMDY0NAogIAkJCSAgdW5zaWduZWQgaW50IG9mZnNldF9zaXplLAogIAkJCSAgc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJICBodGFiX3QgaW5jbHVkZV9oYXNoKQotQEAgLTE2Mzg1 LDYgKzE2ODU0LDggQEAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9i eXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFjX2VuZCwKK0BAIC0xNzE4NSw2ICsxNzY1Myw4IEBA IGR3YXJmX2RlY29kZV9tYWNyb19ieXRlcyAoYmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwg Z2RiX2J5dGUgKm1hY19lbmQsCiAgICAgICAgICBjYXNlIERXX01BQ1JPX0dOVV91bmRlZjoKICAJ Y2FzZSBEV19NQUNST19HTlVfZGVmaW5lX2luZGlyZWN0OgogIAljYXNlIERXX01BQ1JPX0dOVV91 bmRlZl9pbmRpcmVjdDoKQEAgLTMzMjYsNyArMzMyNyw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2 NjkgMTAwNjQ0CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgYnl0ZXNf cmVhZDsKICAgICAgICAgICAgICBpbnQgbGluZTsKLUBAIC0xNjQwNywxMSArMTY4NzgsMjAgQEAg ZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBn ZGJfYnl0ZSAqbWFjX2VuZCwKK0BAIC0xNzIwNywxMSArMTc2NzcsMjAgQEAgZHdhcmZfZGVjb2Rl X21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFj X2VuZCwKICAJCXN0cl9vZmZzZXQgPSByZWFkX29mZnNldF8xIChhYmZkLCBtYWNfcHRyLCBvZmZz ZXRfc2l6ZSk7CiAgCQltYWNfcHRyICs9IG9mZnNldF9zaXplOwogIApAQCAtMzM0OSw3ICszMzUw LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgICAgICAgICAgICBpZiAoISBj dXJyZW50X2ZpbGUpCiAgCSAgICAgIHsKICAJCS8qIERXQVJGIHZpb2xhdGlvbiBhcyBubyBtYWlu IHNvdXJjZSBpcyBwcmVzZW50LiAgKi8KLUBAIC0xNjQzNSw3ICsxNjkxNSw4IEBAIGR3YXJmX2Rl Y29kZV9tYWNyb19ieXRlcyAoYmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUg Km1hY19lbmQsCitAQCAtMTcyMzUsNyArMTc3MTQsOCBAQCBkd2FyZl9kZWNvZGVfbWFjcm9fYnl0 ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5dGUgKm1hY19wdHIsIGdkYl9ieXRlICptYWNfZW5kLAogIAkg ICAgZWxzZQogIAkgICAgICB7CiAgCQlnZGJfYXNzZXJ0IChtYWNpbmZvX3R5cGUgPT0gRFdfTUFD Uk9fR05VX3VuZGVmCkBAIC0zMzU5LDcgKzMzNjAsNyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5 IDEwMDY0NAogIAkJbWFjcm9fdW5kZWYgKGN1cnJlbnRfZmlsZSwgbGluZSwgYm9keSk7CiAgCSAg ICAgIH0KICAgICAgICAgICAgfQotQEAgLTE2NTEwLDYgKzE2OTkxLDcgQEAgZHdhcmZfZGVjb2Rl X21hY3JvX2J5dGVzIChiZmQgKmFiZmQsIGdkYl9ieXRlICptYWNfcHRyLCBnZGJfYnl0ZSAqbWFj X2VuZCwKK0BAIC0xNzMxMCw2ICsxNzc5MCw3IEBAIGR3YXJmX2RlY29kZV9tYWNyb19ieXRlcyAo YmZkICphYmZkLCBnZGJfYnl0ZSAqbWFjX3B0ciwgZ2RiX2J5dGUgKm1hY19lbmQsCiAgICAgICAg ICAgIGJyZWFrOwogIAogIAljYXNlIERXX01BQ1JPX0dOVV90cmFuc3BhcmVudF9pbmNsdWRlOgpA QCAtMzM2Nyw3ICszMzY4LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAJICB7 CiAgCSAgICBMT05HRVNUIG9mZnNldDsKICAJICAgIHZvaWQgKipzbG90OwotQEAgLTE2NTI4LDEz ICsxNzAxMCwzMiBAQCBkd2FyZl9kZWNvZGVfbWFjcm9fYnl0ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5 dGUgKm1hY19wdHIsIGdkYl9ieXRlICptYWNfZW5kLAorQEAgLTE3MzI4LDEzICsxNzgwOSwzMiBA QCBkd2FyZl9kZWNvZGVfbWFjcm9fYnl0ZXMgKGJmZCAqYWJmZCwgZ2RiX2J5dGUgKm1hY19wdHIs IGdkYl9ieXRlICptYWNfZW5kLAogIAkgICAgICB9CiAgCSAgICBlbHNlCiAgCSAgICAgIHsKQEAg LTM0MDQsNyArMzQwNSw3IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCQkJCQkg IG9mZnNldF9zaXplLCBvYmpmaWxlLCBpbmNsdWRlX2hhc2gpOwogIAogIAkJaHRhYl9yZW1vdmVf ZWx0IChpbmNsdWRlX2hhc2gsIG1hY19wdHIpOwotQEAgLTE2NzUzLDcgKzE3MjU0LDggQEAgZHdh cmZfZGVjb2RlX21hY3JvcyAoc3RydWN0IGR3YXJmMl9jdSAqY3UsIHVuc2lnbmVkIGludCBvZmZz ZXQsCitAQCAtMTc1NTMsNyArMTgwNTMsOCBAQCBkd2FyZl9kZWNvZGVfbWFjcm9zIChzdHJ1Y3Qg ZHdhcmYyX2N1ICpjdSwgdW5zaWduZWQgaW50IG9mZnNldCwKICAgIHNsb3QgPSBodGFiX2ZpbmRf c2xvdCAoaW5jbHVkZV9oYXNoLCBtYWNfcHRyLCBJTlNFUlQpOwogICAgKnNsb3QgPSBtYWNfcHRy OwogICAgZHdhcmZfZGVjb2RlX21hY3JvX2J5dGVzIChhYmZkLCBtYWNfcHRyLCBtYWNfZW5kLApA QCAtMzQxNCw3ICszNDE1LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAJCQkg ICAgb2Zmc2V0X3NpemUsIG9iamZpbGUsIGluY2x1ZGVfaGFzaCk7CiAgICBkb19jbGVhbnVwcyAo Y2xlYW51cCk7CiAgfQotQEAgLTE2ODUxLDYyICsxNzM1MywxMDAgQEAgZmlsbF9pbl9sb2NsaXN0 X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpjdSwKK0BAIC0xNzY1MSw2MiArMTgxNTIsMTAwIEBA IGZpbGxfaW5fbG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCiAgICBiYXRvbi0+ ZnJvbV9kd28gPSBjdS0+ZHdvX3VuaXQgIT0gTlVMTDsKICB9CiAgCkBAIC0zNTUzLDcgKzM1NTQs NyBAQCBpbmRleCA1MjI4OGU4Li42MDNiNjY5IDEwMDY0NAogICAgICB9CiAgfQogIAotQEAgLTE3 MDA4LDI4ICsxNzU0OCwzNSBAQCBkd2FyZjJfcGVyX2N1X3RleHRfb2Zmc2V0IChzdHJ1Y3QgZHdh cmYyX3Blcl9jdV9kYXRhICpwZXJfY3UpCitAQCAtMTc4MDgsMjggKzE4MzQ3LDM1IEBAIGR3YXJm Ml9wZXJfY3VfdGV4dF9vZmZzZXQgKHN0cnVjdCBkd2FyZjJfcGVyX2N1X2RhdGEgKnBlcl9jdSkK ICAKICBzdGF0aWMgc3RydWN0IGR3YXJmMl9wZXJfY3VfZGF0YSAqCiAgZHdhcmYyX2ZpbmRfY29u dGFpbmluZ19jb21wX3VuaXQgKHNlY3Rfb2Zmc2V0IG9mZnNldCwKQEAgLTM1OTQsNyArMzU5NSw3 IEBAIGluZGV4IDUyMjg4ZTguLjYwM2I2NjkgMTAwNjQ0CiAgCWVycm9yIChfKCJEd2FyZiBFcnJv cjogY291bGQgbm90IGZpbmQgcGFydGlhbCBESUUgY29udGFpbmluZyAiCiAgCSAgICAgICAib2Zm c2V0IDB4JWx4IFtpbiBtb2R1bGUgJXNdIiksCiAgCSAgICAgICAobG9uZykgb2Zmc2V0LnNlY3Rf b2ZmLCBiZmRfZ2V0X2ZpbGVuYW1lIChvYmpmaWxlLT5vYmZkKSk7Ci1AQCAtMTcyNzAsNiArMTc4 MTcsMjUgQEAgcGVyX2N1X29mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMs IGNvbnN0IHZvaWQgKml0ZW1fcmhzKQorQEAgLTE4MDcwLDYgKzE4NjE2LDI1IEBAIHBlcl9jdV9v ZmZzZXRfYW5kX3R5cGVfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVt X3JocykKICAJICAmJiBvZnNfbGhzLT5vZmZzZXQuc2VjdF9vZmYgPT0gb2ZzX3Jocy0+b2Zmc2V0 LnNlY3Rfb2ZmKTsKICB9CiAgCkBAIC0zNjIwLDcgKzM2MjEsNyBAQCBpbmRleCA1MjI4OGU4Li42 MDNiNjY5IDEwMDY0NAogIC8qIFNldCB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZ UEUuICBTYXZlIGl0IGluIENVJ3MgaGFzaAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBj b252ZW5pZW5jZSwgcmV0dXJuIFRZUEUuCiAgCi1AQCAtMTcyOTQsNiArMTc4NjAsOCBAQCBzZXRf ZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IGR3YXJmMl9jdSAqY3UpCitAQCAtMTgwOTQsNiArMTg2NTksOCBAQCBzZXRfZGllX3R5cGUgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCiAgICBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9vZmZzZXRfYW5kX3R5cGUgKipzbG90LCBvZnM7 CiAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpmaWxlOwogIApAQCAtMzYyOSw3 ICszNjMwLDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAgIC8qIEZvciBBZGEg dHlwZXMsIG1ha2Ugc3VyZSB0aGF0IHRoZSBnbmF0LXNwZWNpZmljIGRhdGEgaXMgYWx3YXlzCiAg ICAgICBpbml0aWFsaXplZCAoaWYgbm90IGFscmVhZHkgc2V0KS4gIFRoZXJlIGFyZSBhIGZldyB0 eXBlcyB3aGVyZQogICAgICAgd2Ugc2hvdWxkIG5vdCBiZSBkb2luZyBzbywgYmVjYXVzZSB0aGUg dHlwZS1zcGVjaWZpYyBhcmVhIGlzCi1AQCAtMTc0NzEsNTMgKzE4MDM5LDEzIEBAIHNob3dfZHdh cmYyX2NtZCAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQorQEAgLTE4MjcxLDUzICsxODgzOCwx MyBAQCBzaG93X2R3YXJmMl9jbWQgKGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSkKICAgIGNtZF9z aG93X2xpc3QgKHNob3dfZHdhcmYyX2NtZGxpc3QsIGZyb21fdHR5LCAiIik7CiAgfQogIApAQCAt MzY4NCw3ICszNjg1LDcgQEAgaW5kZXggNTIyODhlOC4uNjAzYjY2OSAxMDA2NDQKICAKICAgIGZv ciAoaXggPSAwOyBpeCA8IGR3YXJmMl9wZXJfb2JqZmlsZS0+bl9jb21wX3VuaXRzOyArK2l4KQog ICAgICBWRUNfZnJlZSAoZHdhcmYyX3Blcl9jdV9wdHIsCi1AQCAtMTc1MjcsNiArMTgwNTUsOSBA QCBkd2FyZjJfcGVyX29iamZpbGVfZnJlZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQg KmQpCitAQCAtMTgzMjcsNiArMTg4NTQsOSBAQCBkd2FyZjJfcGVyX29iamZpbGVfZnJlZSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsIHZvaWQgKmQpCiAgCiAgICBpZiAoZGF0YS0+ZHdvX2ZpbGVz KQogICAgICBmcmVlX2R3b19maWxlcyAoZGF0YS0+ZHdvX2ZpbGVzLCBvYmpmaWxlKTsKQEAgLTM3 MTYsNyArMzcxNyw3IEBAIGluZGV4IDFlZGZiMjcuLmQ5MTA5Y2YgMTAwNjQ0CiAgICB4ZnJlZSAo Zm91bmQpOwogIAogZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCi1pbmRleCAz ZDQzNDA2Li41NTY4YjFjIDEwMDY0NAoraW5kZXggN2QzYThiOS4uZjY5ZGZmMCAxMDA2NDQKIC0t LSBhL2dkYi9ldmFsLmMKICsrKyBiL2dkYi9ldmFsLmMKIEBAIC00MSw2ICs0MSw3IEBACkBAIC0z OTYxLDcgKzM5NjIsNyBAQCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogIH0KICAKICAK LUBAIC04MDEsNiArOTkyLDcgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlw ZSAqZXhwZWN0X3R5cGUsCitAQCAtODE4LDYgKzEwMDksNyBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAgIGludCBzYXZlX3BvczE7CiAgICBz dHJ1Y3Qgc3ltYm9sICpmdW5jdGlvbiA9IE5VTEw7CiAgICBjaGFyICpmdW5jdGlvbl9uYW1lID0g TlVMTDsKQEAgLTM5NjksNyArMzk3MCw3IEBAIGluZGV4IDNkNDM0MDYuLjU1NjhiMWMgMTAwNjQ0 CiAgCiAgICBwYyA9ICgqcG9zKSsrOwogICAgb3AgPSBleHAtPmVsdHNbcGNdLm9wY29kZTsKLUBA IC0xODc1LDYgKzIwNjcsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKK0BAIC0xODkyLDYgKzIwODQsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAKICAgICAgICAvKiBGaXJzdCBkZXRl cm1pbmUgdGhlIHR5cGUgY29kZSB3ZSBhcmUgZGVhbGluZyB3aXRoLiAgKi8KICAgICAgICBhcmcx ID0gZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBub3NpZGUpOwpAQCAtMzk3 OCw3ICszOTc5LDcgQEAgaW5kZXggM2Q0MzQwNi4uNTU2OGIxYyAxMDA2NDQKICAgICAgICB0eXBl ID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnMSkpOwogICAgICAgIGNvZGUgPSBUWVBF X0NPREUgKHR5cGUpOwogIAotQEAgLTE4OTUsMjMgKzIwODksMTMgQEAgZXZhbHVhdGVfc3ViZXhw X3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMTkxMiwyMyArMjEwNiwx MyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwK ICAJICAgICAgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgCSAgICB9CiAgCX0gCkBAIC00MDA0 LDcgKzQwMDUsNyBAQCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogIAogIAljYXNlIFRZ UEVfQ09ERV9QVFI6CiAgCWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjM0NCw0OSArMjUyOCw2 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAor QEAgLTIzNjEsNDkgKzI1NDUsNiBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0 eXBlICpleHBlY3RfdHlwZSwKICAJfQogICAgICAgIHJldHVybiAoYXJnMSk7CiAgCkBAIC00MDU0 LDcgKzQwNTUsNyBAQCBpbmRleCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogICAgICBjYXNlIEJJ Tk9QX0xPR0lDQUxfQU5EOgogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQ RSwgZXhwLCBwb3MsIG5vc2lkZSk7CiAgICAgICAgaWYgKG5vc2lkZSA9PSBFVkFMX1NLSVApCi1A QCAtMjYxOCwxNSArMjc1OSwyMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0 eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNjM1LDE1ICsyNzc2LDIzIEBAIGV2YWx1YXRlX3N1YmV4 cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogICAgICAgIGlmIChleHBlY3Rf dHlwZSAmJiBUWVBFX0NPREUgKGV4cGVjdF90eXBlKSA9PSBUWVBFX0NPREVfUFRSKQogIAlleHBl Y3RfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKGNoZWNrX3R5cGVkZWYgKGV4cGVjdF90eXBlKSk7 CiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoZXhwZWN0X3R5cGUsIGV4cCwgcG9zLCBu b3NpZGUpOwpAQCAtNDA4MCw3ICs0MDgxLDcgQEAgaW5kZXggM2Q0MzQwNi4uNTU2OGIxYyAxMDA2 NDQKICAgICAgICBlbHNlIGlmIChub3NpZGUgPT0gRVZBTF9BVk9JRF9TSURFX0VGRkVDVFMpCiAg CXsKICAJICB0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnMSkpOwotQEAgLTI2 MzUsMTIgKzI3ODQsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAq ZXhwZWN0X3R5cGUsCitAQCAtMjY1MiwxMiArMjgwMSwxOCBAQCBldmFsdWF0ZV9zdWJleHBfc3Rh bmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKICAJICAvKiBJbiBDIHlvdSBjYW4gZGVy ZWZlcmVuY2UgYW4gYXJyYXkgdG8gZ2V0IHRoZSAxc3QgZWx0LiAgKi8KICAJICAgICAgfHwgVFlQ RV9DT0RFICh0eXBlKSA9PSBUWVBFX0NPREVfQVJSQVkKICAJICAgICkKQEAgLTQxMDQsNyArNDEw NSw3IEBAIGluZGV4IDNkNDM0MDYuLjU1NjhiMWMgMTAwNjQ0CiAgCSAgZWxzZQogIAkgICAgZXJy b3IgKF8oIkF0dGVtcHQgdG8gdGFrZSBjb250ZW50cyBvZiBhIG5vbi1wb2ludGVyIHZhbHVlLiIp KTsKICAJfQotQEAgLTI2NTAsOSArMjgwNSwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQg KHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNjY3LDkgKzI4MjIsMTQgQEAgZXZhbHVh dGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgCSBkby4gICJs b25nIGxvbmciIHZhcmlhYmxlcyBhcmUgcmFyZSBlbm91Z2ggdGhhdAogIAkgQlVJTFRJTl9UWVBF X0xPTkdFU1Qgd291bGQgc2VlbSB0byBiZSBhIG1pc3Rha2UuICAqLwogICAgICAgIGlmIChUWVBF X0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9JTlQpCkBAIC00MTIyLDcgKzQxMjMsNyBAQCBpbmRl eCAzZDQzNDA2Li41NTY4YjFjIDEwMDY0NAogIAogICAgICBjYXNlIFVOT1BfQUREUjoKICAgICAg ICAvKiBDKys6IGNoZWNrIGZvciBhbmQgaGFuZGxlIHBvaW50ZXIgdG8gbWVtYmVycy4gICovCi1A QCAtMjk5NCw3ICszMTU0LDcgQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhfY29lcmNpb24gKHN0cnVj dCBleHByZXNzaW9uICpleHAsCitAQCAtMzAxMSw3ICszMTcxLDcgQEAgZXZhbHVhdGVfc3ViZXhw X3dpdGhfY29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgewogICAgZW51bSBleHBf b3Bjb2RlIG9wOwogICAgaW50IHBjOwpAQCAtNDEzMSw3ICs0MTMyLDcgQEAgaW5kZXggM2Q0MzQw Ni4uNTU2OGIxYyAxMDA2NDQKICAgIHN0cnVjdCBzeW1ib2wgKnZhcjsKICAgIHN0cnVjdCB0eXBl ICp0eXBlOwogIAotQEAgLTMwMDUsMTMgKzMxNjUsMTggQEAgZXZhbHVhdGVfc3ViZXhwX3dpdGhf Y29lcmNpb24gKHN0cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMzAyMiwxMyArMzE4MiwxOCBA QCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwK ICAgICAgewogICAgICBjYXNlIE9QX1ZBUl9WQUxVRToKICAgICAgICB2YXIgPSBleHAtPmVsdHNb cGMgKyAyXS5zeW1ib2w7CkBAIC00MTUxLDcgKzQxNTIsNyBAQCBpbmRleCAzZDQzNDA2Li41NTY4 YjFjIDEwMDY0NAogIAkgIHJldHVybiB2YWx1ZV9jYXN0IChsb29rdXBfcG9pbnRlcl90eXBlIChU WVBFX1RBUkdFVF9UWVBFICh0eXBlKSksCiAgCQkJICAgICB2YWwpOwogIAl9Ci1AQCAtMzA2Myw5 ICszMjI4LDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9mb3Jfc2l6ZW9mIChzdHJ1Y3QgZXhwcmVzc2lv biAqZXhwLCBpbnQgKnBvcykKK0BAIC0zMDgwLDkgKzMyNDUsMTMgQEAgZXZhbHVhdGVfc3ViZXhw X2Zvcl9zaXplb2YgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zKQogIAogICAgICBj YXNlIE9QX1ZBUl9WQUxVRToKICAgICAgICAoKnBvcykgKz0gNDsKQEAgLTQxNjgsNyArNDE2OSw3 IEBAIGluZGV4IDNkNDM0MDYuLjU1NjhiMWMgMTAwNjQ0CiAgCiAgICAgIGRlZmF1bHQ6CiAgICAg ICAgdmFsID0gZXZhbHVhdGVfc3ViZXhwIChOVUxMX1RZUEUsIGV4cCwgcG9zLCBFVkFMX0FWT0lE X1NJREVfRUZGRUNUUyk7Ci1AQCAtMzA5NiwxOCArMzI2NSwyNSBAQCBwYXJzZV9hbmRfZXZhbF90 eXBlIChjaGFyICpwLCBpbnQgbGVuZ3RoKQorQEAgLTMxMTMsMTggKzMyODIsMjUgQEAgcGFyc2Vf YW5kX2V2YWxfdHlwZSAoY2hhciAqcCwgaW50IGxlbmd0aCkKICBpbnQKICBjYWxjX2Y3N19hcnJh eV9kaW1zIChzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSkKICB7CkBAIC01MjgwLDcgKzUyODEsNyBA QCBpbmRleCAwMDAwMDAwLi4xZGQ4MmMzCiArCiArI2VuZGlmIC8qIEdEQl9CRkRfSCAqLwogZGlm ZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5jIGIvZ2RiL2dkYnR5cGVzLmMKLWluZGV4IDBlZWM4NzQu LjcyMTc2MzkgMTAwNjQ0CitpbmRleCA4MTQyYWI5Li5hMjk1M2NjIDEwMDY0NAogLS0tIGEvZ2Ri L2dkYnR5cGVzLmMKICsrKyBiL2dkYi9nZGJ0eXBlcy5jCiBAQCAtMzcsNiArMzcsOSBAQApAQCAt NTM3Miw3ICs1MzczLDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgICAgICBp ZiAodHlwZXB0cikKICAJKnR5cGVwdHIgPSBudHlwZTsKICAgICAgfQotQEAgLTc0Nyw2ICs3OTYs NyBAQCBjcmVhdGVfcmFuZ2VfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLCBzdHJ1Y3Qg dHlwZSAqaW5kZXhfdHlwZSwKK0BAIC03ODQsNiArODMzLDcgQEAgY3JlYXRlX3JhbmdlX3R5cGUg KHN0cnVjdCB0eXBlICpyZXN1bHRfdHlwZSwgc3RydWN0IHR5cGUgKmluZGV4X3R5cGUsCiAgICAg IFRZUEVfWkFMTE9DIChyZXN1bHRfdHlwZSwgc2l6ZW9mIChzdHJ1Y3QgcmFuZ2VfYm91bmRzKSk7 CiAgICBUWVBFX0xPV19CT1VORCAocmVzdWx0X3R5cGUpID0gbG93X2JvdW5kOwogICAgVFlQRV9I SUdIX0JPVU5EIChyZXN1bHRfdHlwZSkgPSBoaWdoX2JvdW5kOwpAQCAtNTM4MCw3ICs1MzgxLDcg QEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAKICAgIGlmIChsb3dfYm91bmQgPj0g MCkKICAgICAgVFlQRV9VTlNJR05FRCAocmVzdWx0X3R5cGUpID0gMTsKLUBAIC04OTAsMjYgKzk0 MCwzMSBAQCBjcmVhdGVfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKnJlc3VsdF90eXBlLAorQEAg LTkyNywyNiArOTc3LDMxIEBAIGNyZWF0ZV9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqcmVzdWx0 X3R5cGUsCiAgCiAgICBUWVBFX0NPREUgKHJlc3VsdF90eXBlKSA9IFRZUEVfQ09ERV9BUlJBWTsK ICAgIFRZUEVfVEFSR0VUX1RZUEUgKHJlc3VsdF90eXBlKSA9IGVsZW1lbnRfdHlwZTsKQEAgLTU0 MjUsNyArNTQyNiw3IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2MzkgMTAwNjQ0CiAgCiAgICByZXR1 cm4gcmVzdWx0X3R5cGU7CiAgfQotQEAgLTE0MzEsNiArMTQ4NiwxMDUgQEAgc3R1Yl9ub25hbWVf Y29tcGxhaW50ICh2b2lkKQorQEAgLTE0NjgsNiArMTUyMywxMDUgQEAgc3R1Yl9ub25hbWVfY29t cGxhaW50ICh2b2lkKQogICAgY29tcGxhaW50ICgmc3ltZmlsZV9jb21wbGFpbnRzLCBfKCJzdHVi IHR5cGUgaGFzIE5VTEwgbmFtZSIpKTsKICB9CiAgCkBAIC01NTMxLDcgKzU1MzIsNyBAQCBpbmRl eCAwZWVjODc0Li43MjE3NjM5IDEwMDY0NAogIC8qIEZpbmQgdGhlIHJlYWwgdHlwZSBvZiBUWVBF LiAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZWFsIHR5cGUsCiAgICAgYWZ0ZXIgcmVtb3Zp bmcgYWxsIGxheWVycyBvZiB0eXBlZGVmcywgYW5kIGNvbXBsZXRpbmcgb3BhcXVlIG9yIHN0dWIK ICAgICB0eXBlcy4gIENvbXBsZXRpb24gY2hhbmdlcyB0aGUgVFlQRSBhcmd1bWVudCwgYnV0IHN0 cmlwcGluZyBvZgotQEAgLTE1OTcsNTIgKzE3NTEsMzcgQEAgY2hlY2tfdHlwZWRlZiAoc3RydWN0 IHR5cGUgKnR5cGUpCitAQCAtMTYzNCw1MiArMTc4OCwzNyBAQCBjaGVja190eXBlZGVmIChzdHJ1 Y3QgdHlwZSAqdHlwZSkKICAgICAgICAgIH0KICAgICAgfQogIApAQCAtNTYwNSw3ICs1NjA2LDcg QEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAJICBUWVBFX1RBUkdFVF9TVFVCICh0 eXBlKSA9IDA7CiAgCX0KICAgICAgICBlbHNlIGlmIChUWVBFX0NPREUgKHR5cGUpID09IFRZUEVf Q09ERV9SQU5HRSkKLUBAIC0xNjUwLDYgKzE3ODksNyBAQCBjaGVja190eXBlZGVmIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKK0BAIC0xNjg3LDYgKzE4MjYsNyBAQCBjaGVja190eXBlZGVmIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKICAJICBUWVBFX0xFTkdUSCAodHlwZSkgPSBUWVBFX0xFTkdUSCAodGFyZ2V0 X3R5cGUpOwogIAkgIFRZUEVfVEFSR0VUX1NUVUIgKHR5cGUpID0gMDsKICAJfQpAQCAtNTYxMyw3 ICs1NjE0LDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgICAgfQogIAogICAg dHlwZSA9IG1ha2VfcXVhbGlmaWVkX3R5cGUgKHR5cGUsIGluc3RhbmNlX2ZsYWdzLCBOVUxMKTsK LUBAIC0zMzA4LDMzICszNDQ4LDQyIEBAIHR5cGVfcGFpcl9lcSAoY29uc3Qgdm9pZCAqaXRlbV9s aHMsIGNvbnN0IHZvaWQgKml0ZW1fcmhzKQorQEAgLTMzNDUsMzMgKzM0ODUsNDIgQEAgdHlwZV9w YWlyX2VxIChjb25zdCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCiAgfQog IAogIC8qIEFsbG9jYXRlIHRoZSBoYXNoIHRhYmxlIHVzZWQgYnkgY29weV90eXBlX3JlY3Vyc2l2 ZSB0byB3YWxrCkBAIC01NjcxLDcgKzU2NzIsNyBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5IDEw MDY0NAogICAgICByZXR1cm4gdHlwZTsKICAKICAgIC8qIFRoaXMgdHlwZSBzaG91bGRuJ3QgYmUg cG9pbnRpbmcgdG8gYW55IHR5cGVzIGluIG90aGVyIG9iamZpbGVzOwotQEAgLTMzNDksOSArMzQ5 OCwxMCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BA IC0zMzg2LDkgKzM1MzUsMTAgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUg Km9iamZpbGUsCiAgICBuZXdfdHlwZSA9IGFsbG9jX3R5cGVfYXJjaCAoZ2V0X3R5cGVfYXJjaCAo dHlwZSkpOwogIAogICAgLyogV2UgbXVzdCBhZGQgdGhlIG5ldyB0eXBlIHRvIHRoZSBoYXNoIHRh YmxlIGltbWVkaWF0ZWx5LCBpbiBjYXNlCkBAIC01Njg1LDcgKzU2ODYsNyBAQCBpbmRleCAwZWVj ODc0Li43MjE3NjM5IDEwMDY0NAogICAgc3RvcmVkLT5vbGQgPSB0eXBlOwogICAgc3RvcmVkLT5u ZXcgPSBuZXdfdHlwZTsKICAgICpzbG90ID0gc3RvcmVkOwotQEAgLTMzNjIsNiArMzUxMiwyMSBA QCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zMzk5 LDYgKzM1NDksMjEgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZp bGUsCiAgICBUWVBFX09CSkZJTEVfT1dORUQgKG5ld190eXBlKSA9IDA7CiAgICBUWVBFX09XTkVS IChuZXdfdHlwZSkuZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwogIApAQCAtNTcwNyw3 ICs1NzA4LDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgIGlmIChUWVBFX05B TUUgKHR5cGUpKQogICAgICBUWVBFX05BTUUgKG5ld190eXBlKSA9IHhzdHJkdXAgKFRZUEVfTkFN RSAodHlwZSkpOwogICAgaWYgKFRZUEVfVEFHX05BTUUgKHR5cGUpKQotQEAgLTMzNzAsMTIgKzM1 MzUsNDggQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitA QCAtMzQwNywxMiArMzU3Miw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwKICAgIFRZUEVfSU5TVEFOQ0VfRkxBR1MgKG5ld190eXBlKSA9IFRZUEVfSU5T VEFOQ0VfRkxBR1MgKHR5cGUpOwogICAgVFlQRV9MRU5HVEggKG5ld190eXBlKSA9IFRZUEVfTEVO R1RIICh0eXBlKTsKICAKQEAgLTU3NTYsNyArNTc1Nyw3IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2 MzkgMTAwNjQ0CiAgICAgICAgVFlQRV9GSUVMRFMgKG5ld190eXBlKSA9IFhDQUxMT0MgKG5maWVs ZHMsIHN0cnVjdCBmaWVsZCk7CiAgICAgICAgZm9yIChpID0gMDsgaSA8IG5maWVsZHM7IGkrKykK ICAJewotQEAgLTMzODQsOCArMzU4NSw4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLAorQEAgLTM0MjEsOCArMzYyMiw4IEBAIGNvcHlfdHlwZV9yZWN1cnNp dmUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogIAkgIFRZUEVfRklFTERfQklUU0laRSAobmV3 X3R5cGUsIGkpID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0eXBlLCBpKTsKICAJICBpZiAoVFlQRV9G SUVMRF9UWVBFICh0eXBlLCBpKSkKICAJICAgIFRZUEVfRklFTERfVFlQRSAobmV3X3R5cGUsIGkp CkBAIC01NzY3LDcgKzU3NjgsNyBAQCBpbmRleCAwZWVjODc0Li43MjE3NjM5IDEwMDY0NAogIAkg IGlmIChUWVBFX0ZJRUxEX05BTUUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9OQU1FIChu ZXdfdHlwZSwgaSkgPSAKICAJICAgICAgeHN0cmR1cCAoVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBp KSk7Ci1AQCAtMzQxNiwyNCArMzYxNywxODQgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzQ1MywyNCArMzY1NCwxODQgQEAgY29weV90eXBlX3Jl Y3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCX0KICAgICAgfQogIApAQCAtNTk1 OSw3ICs1OTYwLDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAgIC8qIE1heWJl IGNvcHkgdGhlIHR5cGVfc3BlY2lmaWMgYml0cy4KICAKICAgICAgIE5PVEUgZHJvdy8yMDA1LTEy LTA5OiBXZSBkbyBub3QgY29weSB0aGUgQysrLXNwZWNpZmljIGJpdHMgbGlrZQotQEAgLTM0NTAs NiArMzgxMSwxNyBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwKK0BAIC0zNDg3LDYgKzM4NDgsMTcgQEAgY29weV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9i amZpbGUgKm9iamZpbGUsCiAgICByZXR1cm4gbmV3X3R5cGU7CiAgfQogIApAQCAtNTk3Nyw3ICs1 OTc4LDcgQEAgaW5kZXggMGVlYzg3NC4uNzIxNzYzOSAxMDA2NDQKICAvKiBNYWtlIGEgY29weSBv ZiB0aGUgZ2l2ZW4gVFlQRSwgZXhjZXB0IHRoYXQgdGhlIHBvaW50ZXIgJiByZWZlcmVuY2UKICAg ICB0eXBlcyBhcmUgbm90IHByZXNlcnZlZC4KICAgICAKLUBAIC0zNDcyLDYgKzM4NDQsMjAxIEBA IGNvcHlfdHlwZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMzUwOSw2ICszODgxLDIw MSBAQCBjb3B5X3R5cGUgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQogICAgcmV0dXJuIG5ld190 eXBlOwogIH0KICAKQEAgLTYxNzksNyArNjE4MCw3IEBAIGluZGV4IDBlZWM4NzQuLjcyMTc2Mzkg MTAwNjQ0CiAgCiAgLyogSGVscGVyIGZ1bmN0aW9ucyB0byBpbml0aWFsaXplIGFyY2hpdGVjdHVy ZS1zcGVjaWZpYyB0eXBlcy4gICovCiAgCi1AQCAtNDAwNSw2ICs0NTcyLDEzIEBAIHZvaWQKK0BA IC00MDQyLDYgKzQ2MDksMTMgQEAgdm9pZAogIF9pbml0aWFsaXplX2dkYnR5cGVzICh2b2lkKQog IHsKICAgIGdkYnR5cGVzX2RhdGEgPSBnZGJhcmNoX2RhdGFfcmVnaXN0ZXJfcG9zdF9pbml0IChn ZGJ0eXBlc19wb3N0X2luaXQpOwpAQCAtNjE5NCwxMCArNjE5NSwxMCBAQCBpbmRleCAwZWVjODc0 Li43MjE3NjM5IDEwMDY0NAogIAogICAgYWRkX3NldHNob3dfemludGVnZXJfY21kICgib3Zlcmxv YWQiLCBub19jbGFzcywgJm92ZXJsb2FkX2RlYnVnLAogZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBl cy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CitpbmRl eCAxN2JmYmM1Li43MmU5Y2M1IDEwMDY0NAogLS0tIGEvZ2RiL2dkYnR5cGVzLmgKICsrKyBiL2dk Yi9nZGJ0eXBlcy5oCi1AQCAtMjE0LDYgKzIxNCwxMSBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxh Z192YWx1ZQorQEAgLTIyOCw2ICsyMjgsMTEgQEAgZW51bSB0eXBlX2luc3RhbmNlX2ZsYWdfdmFs dWUKICAKICAjZGVmaW5lIFRZUEVfVEFSR0VUX1NUVUIodCkJKFRZUEVfTUFJTl9UWVBFICh0KS0+ ZmxhZ190YXJnZXRfc3R1YikKICAKQEAgLTYyMDksNyArNjIxMCw3IEBAIGluZGV4IGNmN2QzOTgu LmEwZjViMTcgMTAwNjQ0CiAgLyogU3RhdGljIHR5cGUuICBJZiB0aGlzIGlzIHNldCwgdGhlIGNv cnJlc3BvbmRpbmcgdHlwZSBoYWQgCiAgICAgYSBzdGF0aWMgbW9kaWZpZXIuCiAgICAgTm90ZTog VGhpcyBtYXkgYmUgdW5uZWNlc3NhcnksIHNpbmNlIHN0YXRpYyBkYXRhIG1lbWJlcnMKLUBAIC0y OTcsNiArMzAyLDUwIEBAIGVudW0gdHlwZV9pbnN0YW5jZV9mbGFnX3ZhbHVlCitAQCAtMzExLDYg KzMxNiw1MCBAQCBlbnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQogIAogICNkZWZpbmUgVFlQ RV9GTEFHX0VOVU0odCkgKFRZUEVfTUFJTl9UWVBFICh0KS0+ZmxhZ19mbGFnX2VudW0pCiAgCkBA IC02MjYwLDcgKzYyNjEsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0NAogIC8qIENv bnN0YW50IHR5cGUuICBJZiB0aGlzIGlzIHNldCwgdGhlIGNvcnJlc3BvbmRpbmcgdHlwZSBoYXMg YQogICAgIGNvbnN0IG1vZGlmaWVyLiAgKi8KICAKLUBAIC00MDcsNiArNDU2LDE1IEBAIHN0cnVj dCBtYWluX3R5cGUKK0BAIC00MjEsNiArNDcwLDE1IEBAIHN0cnVjdCBtYWluX3R5cGUKICAgIC8q IFRydWUgaWYgdGhpcyB0eXBlIHdhcyBkZWNsYXJlZCB3aXRoICJjbGFzcyIgcmF0aGVyIHRoYW4K ICAgICAgICJzdHJ1Y3QiLiAgKi8KICAgIHVuc2lnbmVkIGludCBmbGFnX2RlY2xhcmVkX2NsYXNz IDogMTsKQEAgLTYyNzYsNyArNjI3Nyw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0 CiAgCiAgICAvKiBUcnVlIGlmIHRoaXMgaXMgYW4gZW51bSB0eXBlIHdpdGggZGlzam9pbnQgdmFs dWVzLiAgVGhpcyBhZmZlY3RzCiAgICAgICBob3cgdGhlIGVudW0gaXMgcHJpbnRlZC4gICovCi1A QCAtNDg3LDYgKzU0NSwyMCBAQCBzdHJ1Y3QgbWFpbl90eXBlCitAQCAtNTAxLDYgKzU1OSwyMCBA QCBzdHJ1Y3QgbWFpbl90eXBlCiAgCiAgICBzdHJ1Y3QgdHlwZSAqdGFyZ2V0X3R5cGU7CiAgCkBA IC02Mjk3LDcgKzYyOTgsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0NAogICAgLyog Rm9yIHN0cnVjdHVyZSBhbmQgdW5pb24gdHlwZXMsIGEgZGVzY3JpcHRpb24gb2YgZWFjaCBmaWVs ZC4KICAgICAgIEZvciBzZXQgYW5kIHBhc2NhbCBhcnJheSB0eXBlcywgdGhlcmUgaXMgb25lICJm aWVsZCIsCiAgICAgICB3aG9zZSB0eXBlIGlzIHRoZSBkb21haW4gdHlwZSBvZiB0aGUgc2V0IG9y IGFycmF5LgotQEAgLTU2OSwxMyArNjQxLDM0IEBAIHN0cnVjdCBtYWluX3R5cGUKK0BAIC01ODMs MTMgKzY1NSwzNCBAQCBzdHJ1Y3QgbWFpbl90eXBlCiAgCiAgICAgIHN0cnVjdCByYW5nZV9ib3Vu ZHMKICAgICAgewpAQCAtNjMzNyw3ICs2MzM4LDcgQEAgaW5kZXggY2Y3ZDM5OC4uYTBmNWIxNyAx MDA2NDQKICAKICAgICAgICAvKiBGbGFncyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHZhbHVlcyBv ZiBsb3cgYW5kIGhpZ2ggYXJlCiAgICAgICAgICAgdmFsaWQuICBXaGVuIHRydWUsIHRoZSByZXNw ZWN0aXZlIHJhbmdlIHZhbHVlIGlzCi1AQCAtMTA0MCw5ICsxMTMzLDkgQEAgZXh0ZXJuIHZvaWQg YWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7CitAQCAtMTA1NCw5ICsxMTQ3 LDkgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0IHR5cGUgKik7 CiAgI2RlZmluZSBUWVBFX1BPSU5URVJfVFlQRSh0aGlzdHlwZSkgKHRoaXN0eXBlKS0+cG9pbnRl cl90eXBlCiAgI2RlZmluZSBUWVBFX1JFRkVSRU5DRV9UWVBFKHRoaXN0eXBlKSAodGhpc3R5cGUp LT5yZWZlcmVuY2VfdHlwZQogICNkZWZpbmUgVFlQRV9DSEFJTih0aGlzdHlwZSkgKHRoaXN0eXBl KS0+Y2hhaW4KQEAgLTYzNTAsNyArNjM1MSw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAw NjQ0CiAgICAgY2FsbHMgY2hlY2tfdHlwZWRlZiwgVFlQRV9MRU5HVEggKFZBTFVFX1RZUEUgKFgp KSBpcyBzYWZlLiAgKi8KICAjZGVmaW5lIFRZUEVfTEVOR1RIKHRoaXN0eXBlKSAodGhpc3R5cGUp LT5sZW5ndGgKICAvKiBOb3RlIHRoYXQgVFlQRV9DT0RFIGNhbiBiZSBUWVBFX0NPREVfVFlQRURF Riwgc28gaWYgeW91IHdhbnQgdGhlIHJlYWwKLUBAIC0xMDUwLDExICsxMTQzLDE2IEBAIGV4dGVy biB2b2lkIGFsbG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOworQEAgLTEwNjQs MTEgKzExNTcsMTYgQEAgZXh0ZXJuIHZvaWQgYWxsb2NhdGVfZ25hdF9hdXhfdHlwZSAoc3RydWN0 IHR5cGUgKik7CiAgI2RlZmluZSBUWVBFX0NPREUodGhpc3R5cGUpIFRZUEVfTUFJTl9UWVBFKHRo aXN0eXBlKS0+Y29kZQogICNkZWZpbmUgVFlQRV9ORklFTERTKHRoaXN0eXBlKSBUWVBFX01BSU5f VFlQRSh0aGlzdHlwZSktPm5maWVsZHMKICAjZGVmaW5lIFRZUEVfRklFTERTKHRoaXN0eXBlKSBU WVBFX01BSU5fVFlQRSh0aGlzdHlwZSktPmZsZHNfYm5kcy5maWVsZHMKQEAgLTYzNjksNyArNjM3 MCw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgI2RlZmluZSBUWVBFX0xPV19C T1VORF9VTkRFRklORUQocmFuZ2VfdHlwZSkgXAogICAgIFRZUEVfUkFOR0VfREFUQShyYW5nZV90 eXBlKS0+bG93X3VuZGVmaW5lZAogICNkZWZpbmUgVFlQRV9ISUdIX0JPVU5EX1VOREVGSU5FRChy YW5nZV90eXBlKSBcCi1AQCAtMTA3MSw3ICsxMTY5LDE0IEBAIGV4dGVybiB2b2lkIGFsbG9jYXRl X2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICopOworQEAgLTEwODUsNyArMTE4MywxNCBAQCBl eHRlcm4gdm9pZCBhbGxvY2F0ZV9nbmF0X2F1eF90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKICAgICAo VFlQRV9ISUdIX0JPVU5EKFRZUEVfSU5ERVhfVFlQRSgoYXJyYXl0eXBlKSkpKQogIAogICNkZWZp bmUgVFlQRV9BUlJBWV9MT1dFUl9CT1VORF9WQUxVRShhcnJheXR5cGUpIFwKQEAgLTYzODUsNyAr NjM4Niw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjViMTcgMTAwNjQ0CiAgCiAgLyogQysrICovCiAg Ci1AQCAtMTUxMyw2ICsxNjE4LDE4IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5 X3R5cGUgKHN0cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICosCitAQCAtMTUzMSw2ICsxNjM2LDE4 IEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICos IHN0cnVjdCB0eXBlICosCiAgCQkJCSAgICAgICBzdHJ1Y3QgdHlwZSAqKTsKICBleHRlcm4gc3Ry dWN0IHR5cGUgKmxvb2t1cF9hcnJheV9yYW5nZV90eXBlIChzdHJ1Y3QgdHlwZSAqLCBpbnQsIGlu dCk7CiAgCkBAIC02NDA0LDcgKzY0MDUsNyBAQCBpbmRleCBjZjdkMzk4Li5hMGY1YjE3IDEwMDY0 NAogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqY3JlYXRlX3N0cmluZ190eXBlIChzdHJ1Y3QgdHlwZSAq LCBzdHJ1Y3QgdHlwZSAqLAogIAkJCQkJc3RydWN0IHR5cGUgKik7CiAgZXh0ZXJuIHN0cnVjdCB0 eXBlICpsb29rdXBfc3RyaW5nX3JhbmdlX3R5cGUgKHN0cnVjdCB0eXBlICosIGludCwgaW50KTsK LUBAIC0xNTU4LDYgKzE2NzUsMTAgQEAgZXh0ZXJuIGludCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0 cnVjdCB0eXBlICosIHN0cnVjdCB0eXBlICopOworQEAgLTE1NzYsNiArMTY5MywxMCBAQCBleHRl cm4gaW50IGlzX3B1YmxpY19hbmNlc3RvciAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHR5cGUgKik7 CiAgCiAgZXh0ZXJuIGludCBpc191bmlxdWVfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICosIHN0cnVj dCB2YWx1ZSAqKTsKICAKQEAgLTY0MTUsNyArNjQxNiw3IEBAIGluZGV4IGNmN2QzOTguLmEwZjVi MTcgMTAwNjQ0CiAgLyogT3ZlcmxvYWQgcmVzb2x1dGlvbiAqLwogIAogICNkZWZpbmUgTEVOR1RI X01BVENIKGJ2KSAoKGJ2KS0+cmFua1swXSkKLUBAIC0xNjMzLDEwICsxNzU0LDEzIEBAIGV4dGVy biB2b2lkIG1haW50ZW5hbmNlX3ByaW50X3R5cGUgKGNoYXIgKiwgaW50KTsKK0BAIC0xNjUxLDEw ICsxNzcyLDEzIEBAIGV4dGVybiB2b2lkIG1haW50ZW5hbmNlX3ByaW50X3R5cGUgKGNoYXIgKiwg aW50KTsKICAKICBleHRlcm4gaHRhYl90IGNyZWF0ZV9jb3BpZWRfdHlwZXNfaGFzaCAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUpOwogIApAQCAtNzA1NywxMCArNzA1OCwxMCBAQCBpbmRleCBiODQz NGVkLi45OGEwNzZkIDEwMDY0NAogIAwKICB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3BhcnNlLmMg Yi9nZGIvcGFyc2UuYwotaW5kZXggYzM3MmY0MC4uNjcwN2M5YSAxMDA2NDQKK2luZGV4IDUyOWM1 MTcuLjYzMjZhMDEgMTAwNjQ0CiAtLS0gYS9nZGIvcGFyc2UuYwogKysrIGIvZ2RiL3BhcnNlLmMK LUBAIC0xNTg0LDYgKzE1ODQsNyBAQCBwYXJzZXJfZnByaW50ZiAoRklMRSAqeCwgY29uc3QgY2hh ciAqeSwgLi4uKQorQEAgLTE3MDgsNiArMTcwOCw3IEBAIHBhcnNlcl9mcHJpbnRmIChGSUxFICp4 LCBjb25zdCBjaGFyICp5LCAuLi4pCiAgCiAgaW50CiAgb3BlcmF0b3JfY2hlY2tfc3RhbmRhcmQg KHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCkBAIC03MDY4LDcgKzcwNjksNyBAQCBp bmRleCBjMzcyZjQwLi42NzA3YzlhIDEwMDY0NAogIAkJCSBpbnQgKCpvYmpmaWxlX2Z1bmMpIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJCQkJCSAgICAgIHZvaWQgKmRhdGEpLAogIAkJCSB2 b2lkICpkYXRhKQotQEAgLTE2MjUsNyArMTYyNiw3IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJk IChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAgLTE3NDksNyArMTc1MCw3IEBA IG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9z LAogIAkgICAgc3RydWN0IHR5cGUgKnR5cGUgPSBlbHRzW3BvcyArIDIgKyBhcmddLnR5cGU7CiAg CSAgICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSA9IFRZUEVfT0JKRklMRSAodHlwZSk7CiAgCkBA IC03MDc3LDcgKzcwNzgsNyBAQCBpbmRleCBjMzcyZjQwLi42NzA3YzlhIDEwMDY0NAogIAkgICAg ICByZXR1cm4gMTsKICAJICB9CiAgICAgICAgfQotQEAgLTE2NDMsNyArMTY0NCw4IEBAIG9wZXJh dG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcG9zLAorQEAg LTE3NjcsNyArMTc2OCw4IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVz c2lvbiAqZXhwLCBpbnQgcG9zLAogIAogIAkvKiBDaGVjayBvYmpmaWxlIHdoZXJlIHRoZSB2YXJp YWJsZSBpdHNlbGYgaXMgcGxhY2VkLgogIAkgICBTWU1CT0xfT0JKX1NFQ1RJT04gKHN5bWJvbCkg bWF5IGJlIE5VTEwuICAqLwpAQCAtNzA4Nyw3ICs3MDg4LDcgQEAgaW5kZXggYzM3MmY0MC4uNjcw N2M5YSAxMDA2NDQKICAJICByZXR1cm4gMTsKICAKICAJLyogQ2hlY2sgb2JqZmlsZSB3aGVyZSBp cyBwbGFjZWQgdGhlIGNvZGUgdG91Y2hpbmcgdGhlIHZhcmlhYmxlLiAgKi8KLUBAIC0xNjU2LDI0 ICsxNjU4LDI3IEBAIG9wZXJhdG9yX2NoZWNrX3N0YW5kYXJkIChzdHJ1Y3QgZXhwcmVzc2lvbiAq ZXhwLCBpbnQgcG9zLAorQEAgLTE3ODAsMjQgKzE3ODIsMjcgQEAgb3BlcmF0b3JfY2hlY2tfc3Rh bmRhcmQgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBwb3MsCiAgCiAgICAvKiBJbnZva2Ug Y2FsbGJhY2tzIGZvciBUWVBFIGFuZCBPQkpGSUxFIGlmIHRoZXkgd2VyZSBzZXQgYXMgbm9uLU5V TEwuICAqLwogIApAQCAtNzEyMyw3ICs3MTI0LDcgQEAgaW5kZXggYzM3MmY0MC4uNjcwN2M5YSAx MDA2NDQKICAJICAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwgdm9pZCAqZGF0YSksCiAgCSAgICAgdm9pZCAqZGF0YSkKICB7Ci1AQCAtMTY4OCw3ICsxNjkz LDkgQEAgZXhwX2l0ZXJhdGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCitAQCAtMTgxMiw3ICsx ODE3LDkgQEAgZXhwX2l0ZXJhdGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsCiAgCiAgICAgICAg cG9zID0gZW5kcG9zIC0gb3BsZW47CiAgICAgICAgaWYgKGV4cC0+bGFuZ3VhZ2VfZGVmbi0+bGFf ZXhwX2Rlc2MtPm9wZXJhdG9yX2NoZWNrIChleHAsIHBvcywKQEAgLTcxMzQsNyArNzEzNSw3IEBA IGluZGV4IGMzNzJmNDAuLjY3MDdjOWEgMTAwNjQ0CiAgCXJldHVybiAxOwogIAogICAgICAgIGVu ZHBvcyA9IHBvczsKLUBAIC0xNzE5LDggKzE3MjYsMjkgQEAgZXhwX3VzZXNfb2JqZmlsZSAoc3Ry dWN0IGV4cHJlc3Npb24gKmV4cCwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUpCitAQCAtMTg0Myw4 ICsxODUwLDI5IEBAIGV4cF91c2VzX29iamZpbGUgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogIHsKICAgIGdkYl9hc3NlcnQgKG9iamZpbGUtPnNlcGFy YXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCk7CiAgCkBAIC03MTY2LDEwICs3MTY3 LDEwIEBAIGluZGV4IGMzNzJmNDAuLjY3MDdjOWEgMTAwNjQ0CiAgdm9pZAogIF9pbml0aWFsaXpl X3BhcnNlICh2b2lkKQogZGlmZiAtLWdpdCBhL2dkYi9wYXJzZXItZGVmcy5oIGIvZ2RiL3BhcnNl ci1kZWZzLmgKLWluZGV4IGFhNjAwYTEuLjU1NGMyNzIgMTAwNjQ0CitpbmRleCA4NmYzYmRmLi5m OTA4YTYxIDEwMDY0NAogLS0tIGEvZ2RiL3BhcnNlci1kZWZzLmgKICsrKyBiL2dkYi9wYXJzZXIt ZGVmcy5oCi1AQCAtMjE3LDYgKzIxNyw4IEBAIGV4dGVybiB2b2lkIG9wZXJhdG9yX2xlbmd0aF9z dGFuZGFyZCAoY29uc3Qgc3RydWN0IGV4cHJlc3Npb24gKiwgaW50LCBpbnQgKiwKK0BAIC0yNDUs NiArMjQ1LDggQEAgZXh0ZXJuIHZvaWQgb3BlcmF0b3JfbGVuZ3RoX3N0YW5kYXJkIChjb25zdCBz dHJ1Y3QgZXhwcmVzc2lvbiAqLCBpbnQsIGludCAqLAogIAkJCQkgICAgICBpbnQgKik7CiAgCiAg ZXh0ZXJuIGludCBvcGVyYXRvcl9jaGVja19zdGFuZGFyZCAoc3RydWN0IGV4cHJlc3Npb24gKmV4 cCwgaW50IHBvcywKQEAgLTcxNzgsNyArNzE3OSw3IEBAIGluZGV4IGFhNjAwYTEuLjU1NGMyNzIg MTAwNjQ0CiAgCQkJCSAgICBpbnQgKCpvYmpmaWxlX2Z1bmMpCiAgCQkJCSAgICAgIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwgdm9pZCAqZGF0YSksCiAgCQkJCSAgICB2b2lkICpkYXRhKTsKLUBA IC0zMDMsNiArMzA1LDcgQEAgc3RydWN0IGV4cF9kZXNjcmlwdG9yCitAQCAtMzMxLDYgKzMzMyw3 IEBAIHN0cnVjdCBleHBfZGVzY3JpcHRvcgogICAgICAgICB2YWx1ZSBzaG91bGQgYmUgaW1tZWRp YXRlbHkgcmV0dXJuZWQgdG8gdGhlIGNhbGxlci4gIE90aGVyd2lzZSB6ZXJvCiAgICAgICAgIHNo b3VsZCBiZSByZXR1cm5lZC4gICovCiAgICAgIGludCAoKm9wZXJhdG9yX2NoZWNrKSAoc3RydWN0 IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKQEAgLTcxODYsNyArNzE4Nyw3IEBAIGluZGV4IGFh NjAwYTEuLjU1NGMyNzIgMTAwNjQ0CiAgCQkJICAgaW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsCiAgCQkJCQkJdm9pZCAqZGF0YSksCiAgCQkJICAgdm9pZCAqZGF0 YSk7Ci1AQCAtMzQxLDQgKzM0NCwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklM RSAqLCBjb25zdCBjaGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CitAQCAtMzY5 LDQgKzM3MiwxMCBAQCBleHRlcm4gdm9pZCBwYXJzZXJfZnByaW50ZiAoRklMRSAqLCBjb25zdCBj aGFyICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMiwgMyk7CiAgCiAgZXh0ZXJuIGludCBleHBf dXNlc19vYmpmaWxlIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBzdHJ1Y3Qgb2JqZmlsZSAqb2Jq ZmlsZSk7CiAgCkBAIC0xMjc3NSw3ICsxMjc3Niw3IEBAIGluZGV4IGFjZmQ4OWIuLmM3N2Q5YzIg MTAwNjQ0CiAgIyBUZXN0IGVpdGhlciBDIG9yIEMrKyB2YWx1ZXMuIAogIHRlc3Rfc3Vic2NyaXB0 X3JlZ3Jlc3Npb24gIiR7YmluZmlsZX0iICJjIgogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUv bGliL2dkYi5leHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCi1pbmRleCAyODlkNGQ4Li5k YTBkMDg5IDEwMDY0NAoraW5kZXggNGYyYjdjOS4uMGRhZWYyNSAxMDA2NDQKIC0tLSBhL2dkYi90 ZXN0c3VpdGUvbGliL2dkYi5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKIEBA IC0xNDIsNiArMTQyLDExIEBAIHByb2MgZ2RiX3VubG9hZCB7fSB7CgpkaWZmIC0tZ2l0IGEvZ2Ri LWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaCBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25z LTVvZjUucGF0Y2gKaW5kZXggYmY5NWU3Yy4uYTc0MDBjNyAxMDA2NDQKLS0tIGEvZ2RiLWF0dGFj aC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAorKysgYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01 b2Y1LnBhdGNoCkBAIC0zNywxMyArMzcsMTMgQEAgZ2RiL2dkYnNlcnZlci8KIAkobGludXhfY3Jl YXRlX2luZmVyaW9yLCBsaW51eF90cmFjZWZvcmtfY2hpbGQpOiBDYWxsIGl0IGluc3RlYWQgb2YK IAlkaXJlY3QgcHRyYWNlLgogCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29tbW9u L2xpbnV4LXB0cmFjZS5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvY29tbW9uL2xp bnV4LXB0cmFjZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dk Yi9jb21tb24vbGludXgtcHRyYWNlLmMJMjAxMi0wMy0xMyAxNjowMjoyMy4wMDAwMDAwMDAgKzAx MDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMJMjAx Mi0wNi0wMiAyMDozNzo1My45MzM4Mjg1NzAgKzAyMDAKLUBAIC0yNyw2ICsyNywxMCBAQAotICNp bmNsdWRlICJsaW51eC1wcm9jZnMuaCIKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2Ri L2NvbW1vbi9saW51eC1wdHJhY2UuYwkyMDEyLTA3LTA3IDE0OjEzOjU2LjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuYwkyMDEy LTA3LTE0IDIzOjMwOjAyLjkxODE2NzI4MyArMDIwMAorQEAgLTI4LDYgKzI4LDEwIEBACiAgI2lu Y2x1ZGUgImJ1ZmZlci5oIgorICNpbmNsdWRlICJnZGJfYXNzZXJ0LmgiCiAgCiArI2lmZGVmIEhB VkVfU0VMSU5VWF9TRUxJTlVYX0gKICsjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgpAQCAt NTIsMTMgKzUyLDE5IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGlu dXgtcHRyYWNlLmMKICAvKiBGaW5kIGFsbCBwb3NzaWJsZSByZWFzb25zIHdlIGNvdWxkIGZhaWwg dG8gYXR0YWNoIFBJRCBhbmQgYXBwZW5kIHRoZXNlCiAgICAgbmV3bGluZSB0ZXJtaW5hdGVkIHJl YXNvbiBzdHJpbmdzIHRvIGluaXRpYWxpemVkIEJVRkZFUi4gICdcMCcgdGVybWluYXRpb24KICAg ICBvZiBCVUZGRVIgbXVzdCBiZSBkb25lIGJ5IHRoZSBjYWxsZXIuICAqLwotQEAgLTQ2LDQgKzUw LDIyIEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hfd2FybmluZ3MgKHBpZF90IHBpZCwKK0BAIC00Nyw2 ICs1MSw4IEBAIGxpbnV4X3B0cmFjZV9hdHRhY2hfd2FybmluZ3MgKHBpZF90IHBpZCwKICAgICAg YnVmZmVyX3htbF9wcmludGYgKGJ1ZmZlciwgXygid2FybmluZzogcHJvY2VzcyAlZCBpcyBhIHpv bWJpZSAiCiAgCQkJCSAiLSB0aGUgcHJvY2VzcyBoYXMgYWxyZWFkeSB0ZXJtaW5hdGVkXG4iKSwK ICAJCSAgICAgICAoaW50KSBwaWQpOwogKwogKyAgbGludXhfcHRyYWNlX2NyZWF0ZV93YXJuaW5n cyAoYnVmZmVyKTsKLSt9CisgfQorIAorICNpZmRlZiBfX2kzODZfXworQEAgLTE3MSwzICsxNzcs MTkgQEAgbGludXhfcHRyYWNlX2luaXRfd2FybmluZ3MgKHZvaWQpCisgCisgICBsaW51eF9wdHJh Y2VfdGVzdF9yZXRfdG9fbnggKCk7CisgfQogKwogKy8qIFByaW50IGFsbCBwb3NzaWJsZSByZWFz b25zIHdlIGNvdWxkIGZhaWwgdG8gY3JlYXRlIGEgdHJhY2VkIHByb2Nlc3MuICAqLwogKwpAQCAt NzQsMjMgKzgwLDIzIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGlu dXgtcHRyYWNlLmMKICsJCQkgInlvdSBjYW4gZGlzYWJsZSB0aGlzIHByb2Nlc3MgYXR0YWNoIHBy b3RlY3Rpb24gYnk6ICIKICsJCQkgIihnZGIpIHNoZWxsIHN1ZG8gc2V0c2Vib29sIGRlbnlfcHRy YWNlPTAiKSk7CiArI2VuZGlmIC8qIEhBVkVfTElCU0VMSU5VWCAqLwotIH0KLUluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgKKyt9CitJbmRleDogZ2Ri LTcuNC41MC4yMDEyMDcxNC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAx Mi0wMy0xMyAxNjowMjoyMy4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAy L2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMi0wNi0wMiAyMDozNzo0Ni41NjU4MzE5NTYg KzAyMDAKLUBAIC02OCw1ICs2OCw2IEBAIHN0cnVjdCBidWZmZXI7Ci0gI2VuZGlmCistLS0gZ2Ri LTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMi0wNy0w NyAxNDoxMzo1Ni4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9j b21tb24vbGludXgtcHRyYWNlLmgJMjAxMi0wNy0xNCAyMzoyOToyMC45MjczOTk4MTIgKzAyMDAK K0BAIC02OSw1ICs2OSw2IEBAIHN0cnVjdCBidWZmZXI7CiAgCiAgZXh0ZXJuIHZvaWQgbGludXhf cHRyYWNlX2F0dGFjaF93YXJuaW5ncyAocGlkX3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIp OworIGV4dGVybiB2b2lkIGxpbnV4X3B0cmFjZV9pbml0X3dhcm5pbmdzICh2b2lkKTsKICtleHRl cm4gdm9pZCBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdzIChzdHJ1Y3QgYnVmZmVyICpidWZm ZXIpOwogIAogICNlbmRpZiAvKiBDT01NT05fTElOVVhfUFRSQUNFX0ggKi8KLUluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9jb25maWd1cmUuYWMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIw NzE0L2dkYi9jb25maWd1cmUuYWMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAy Lm9yaWcvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEyLTA2LTAyIDIwOjA1OjA4LjAwMDAwMDAwMCArMDIw MAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEyLTA2LTAyIDIw OjM1OjA2LjM3OTc5ODcyNiArMDIwMAotQEAgLTIwMDIsNiArMjAwMiwxMCBAQCB0aGVuCistLS0g Z2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAxMi0wNy0xNCAyMzoy ODo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9jb25maWd1 cmUuYWMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTI0NjI5MzQgKzAyMDAKK0BAIC0yMDA4LDYgKzIw MDgsMTAgQEAgdGhlbgogIAkgICAgICBbRGVmaW5lIGlmIHlvdSBzdXBwb3J0IHRoZSBwZXJzb25h bGl0eSBzeXNjYWxsLl0pCiAgZmkKICAKQEAgLTEwMSwxMCArMTA3LDEwIEBAIEluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9jb25maWd1cmUuYWMKICBkbmwgSGFuZGxlIG9wdGlvbmFsIGZl YXR1cmVzIHRoYXQgY2FuIGJlIGVuYWJsZWQuCiAgCiAgIyBTdXBwb3J0IGZvciAtLXdpdGgtc3lz cm9vdCBpcyBhIGNvcHkgb2YgR0RCX0FDX1dJVEhfRElSLAotSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMKK0luZGV4OiBnZGItNy40LjUwLjIwMTIw NzE0L2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCiA9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41 MC4yMDEyMDYwMi5vcmlnL2dkYi9nZGJzZXJ2ZXIvY29uZmlndXJlLmFjCTIwMTItMDQtMTkgMjE6 MzQ6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2Vy dmVyL2NvbmZpZ3VyZS5hYwkyMDEyLTA2LTAyIDIwOjM1OjA2LjQwODc5NzY2MyArMDIwMAorLS0t IGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDEy LTA0LTE5IDIxOjM0OjUxLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQv Z2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTI0NjI5MzQg KzAyMDAKIEBAIC00MzgsNiArNDM4LDEwIEBAIGlmICR3YW50X2lwYSA7IHRoZW4KICAgICBmaQog IGZpCkBAIC0xMTYsMTAgKzEyMiwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIv Z2Ric2VydmVyL2NvbmZpZ3VyZS5hYwogIEFDX1NVQlNUKEdEQlNFUlZFUl9ERVBGSUxFUykKICBB Q19TVUJTVChHREJTRVJWRVJfTElCUykKICBBQ19TVUJTVChVU0VfVEhSRUFEX0RCKQotSW5kZXg6 IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYworSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MTQvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCTIw MTItMDUtMzAgMjE6NTE6MzguMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYw Mi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCTIwMTItMDYtMDIgMjA6Mzk6NDkuODg2Nzg1MzU1 ICswMjAwCistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgt bG93LmMJMjAxMi0wNy0wNyAxNDoxMzo1Ny4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUw LjIwMTIwNzE0L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxMi0wNy0xNCAyMzoyOTowOS40 OTY0NjI5MTIgKzAyMDAKIEBAIC02MDEsNiArNjAxLDI4IEBAIGFkZF9sd3AgKHB0aWRfdCBwdGlk KQogICAgcmV0dXJuIGx3cDsKICB9CkBAIC0xNTgsNyArMTY0LDcgQEAgSW5kZXg6IGdkYi03LjQu NTAuMjAxMjA2MDIvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwogIAogICNpZm5kZWYgX19BTkRS T0lEX18gLyogQmlvbmljIGRvZXNuJ3QgdXNlIFNJR1JUTUlOIHRoZSB3YXkgZ2xpYmMgZG9lcy4g ICovCiAgICAgICAgc2lnbmFsIChfX1NJR1JUTUlOICsgMSwgU0lHX0RGTCk7Ci1AQCAtNDU2Nyw3 ICs0NTg5LDcgQEAgbGludXhfdHJhY2Vmb3JrX2dyYW5kY2hpbGQgKHZvaWQgKmFyZykKK0BAIC00 NTcyLDcgKzQ1OTQsNyBAQCBsaW51eF90cmFjZWZvcmtfZ3JhbmRjaGlsZCAodm9pZCAqYXJnKQog IHN0YXRpYyBpbnQKICBsaW51eF90cmFjZWZvcmtfY2hpbGQgKHZvaWQgKmFyZykKICB7CkBAIC0x NjcsMTAgKzE3MywxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZ2Ric2VydmVy L2xpbnV4LWxvdy5jCiAgICBraWxsIChnZXRwaWQgKCksIFNJR1NUT1ApOwogIAogICNpZiAhKGRl ZmluZWQoX19VQ0xJQkNfXykgJiYgZGVmaW5lZChIQVNfTk9NTVUpKQotSW5kZXg6IGdkYi03LjQu NTAuMjAxMjA2MDIvZ2RiL2luZi1wdHJhY2UuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQv Z2RiL2luZi1wdHJhY2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3Jp Zy9nZGIvaW5mLXB0cmFjZS5jCTIwMTItMDUtMjQgMTg6NTE6MzQuMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvaW5mLXB0cmFjZS5jCTIwMTItMDYtMDIgMjA6MzU6 MDYuNDI4Nzk3MzExICswMjAwCistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9pbmYt cHRyYWNlLmMJMjAxMi0wNS0yNCAxODo1MTozNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40 LjUwLjIwMTIwNzE0L2dkYi9pbmYtcHRyYWNlLmMJMjAxMi0wNy0xNCAyMzoyOTowOS40OTY0NjI5 MTIgKzAyMDAKIEBAIC0xMDUsNyArMTA1LDE1IEBAIHN0YXRpYyB2b2lkCiAgaW5mX3B0cmFjZV9t ZSAodm9pZCkKICB7CkBAIC0xODcsMTEgKzE5MywxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEy MDYwMi9nZGIvaW5mLXB0cmFjZS5jCiAgfQogIAogIC8qIFN0YXJ0IGEgbmV3IGluZmVyaW9yIFVu aXggY2hpbGQgcHJvY2Vzcy4gIEVYRUNfRklMRSBpcyB0aGUgZmlsZSB0bwotSW5kZXg6IGdkYi03 LjQuNTAuMjAxMjA2MDIvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9y aWcvZ2RiL2xpbnV4LW5hdC5jCTIwMTItMDYtMDIgMjA6MDE6MzguMDAwMDAwMDAwICswMjAwCi0r KysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvbGludXgtbmF0LmMJMjAxMi0wNi0wMiAyMDo0MTox OC4xMDE3NTExODYgKzAyMDAKLUBAIC0xNTcyLDYgKzE1NzIsNyBAQCBsaW51eF9uYXRfY3JlYXRl X2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dk Yi9saW51eC1uYXQuYwkyMDEyLTA3LTE0IDIzOjIxOjMyLjAwMDAwMDAwMCArMDIwMAorKysrIGdk Yi03LjQuNTAuMjAxMjA3MTQvZ2RiL2xpbnV4LW5hdC5jCTIwMTItMDctMTQgMjM6Mjk6MDkuNDk3 NDYyOTA3ICswMjAwCitAQCAtMTU3NCw2ICsxNTc0LDcgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZl cmlvciAoc3RydWN0IHRhcmdldAogICNpZmRlZiBIQVZFX1BFUlNPTkFMSVRZCiAgICBpbnQgcGVy c29uYWxpdHlfb3JpZyA9IDAsIHBlcnNvbmFsaXR5X3NldCA9IDA7CiAgI2VuZGlmIC8qIEhBVkVf UEVSU09OQUxJVFkgKi8KQEAgLTE5OSw3ICsyMDUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEy MDYwMi9nZGIvbGludXgtbmF0LmMKICAKICAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBp cyBzeW5jaHJvbm91cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCiAgICAgICB3ZSBoYXZlIHRv IG1hc2sgdGhlIGFzeW5jIG1vZGUuICAqLwotQEAgLTE1OTYsNyArMTU5NywxMCBAQCBsaW51eF9u YXRfY3JlYXRlX2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CitAQCAtMTU5OCw3ICsxNTk5LDEwIEBA IGxpbnV4X25hdF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKICAgIC8qIE1ha2Ugc3Vy ZSB3ZSByZXBvcnQgYWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0 X3Bhc3Nfc2lnbmFscyAoMCwgTlVMTCk7CiAgCkBAIC0yMTEsNyArMjE3LDcgQEAgSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA2MDIvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgI2lmZGVmIEhBVkVfUEVSU09O QUxJVFkKICAgIGlmIChwZXJzb25hbGl0eV9zZXQpCi1AQCAtMTYwOCw2ICsxNjEyLDI0IEBAIGxp bnV4X25hdF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKK0BAIC0xNjEwLDYgKzE2MTQs MjQgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAogIAkJIHNhZmVf c3RyZXJyb3IgKGVycm5vKSk7CiAgICAgIH0KICAjZW5kaWYgLyogSEFWRV9QRVJTT05BTElUWSAq LwoKZGlmZiAtLWdpdCBhL2dkYi1iejU5MjAzMS1zaWdpbmZvLWxvc3QtNW9mNS5wYXRjaCBiL2dk Yi1iejU5MjAzMS1zaWdpbmZvLWxvc3QtNW9mNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNDZjYmRiYy4uMDAwMDAwMAotLS0gYS9nZGItYno1OTIwMzEtc2lnaW5mby1sb3N0 LTVvZjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxNDEgKzAsMCBAQAotaHR0cDovL3NvdXJj ZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDkvbXNnMDAzNjEuaHRtbAotU3ViamVjdDog W3BhdGNoIDQvNF0jMyBSZW1vdmUgcmVkdW5kYW50IGxwLT5zaWdpbmZvCi0KLUhpLAotCi10aGlz IGlzIGEgc2ltcGxpZmljYXRpb24gd2hpY2ggc2hvdWxkIG5vdCBhZmZlY3QgR0RCIGJlaGF2aW9y LiAgQXMgbGludXgtbmF0Ci1ub3cgc3RvcHMgb24gZWFjaCByZWNlaXZlZCBzaWduYWwgd2l0aG91 dCBhbnkgcmVvcmRlcmluZyBvZiB0aGVtIHRoZW4KLVBUUkFDRV9HRVRTSUdJTkZPIGlzIGVub3Vn aCB0byBhY2Nlc3Mgc2lnaW5mbywgd2l0aG91dCBhbnkgbmVlZCB0byBjb3B5IGl0IGluCi1hZHZh bmNlLgotCi0KLVRoYW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTAtMDktMjAgIEphbiBLcmF0b2No dmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSogbGludXgtbmF0LmMgKHJlc3Vt ZV9jYWxsYmFjaykgPGxwLT5zdG9wcGVkICYmIGxwLT5zdGF0dXMgPT0gMD4KLQkobGludXhfbmF0 X3Jlc3VtZSk6IFJlbW92ZSBMUC0+U0lHSU5GTyBjbGVhcmluZy4KLQkoc2F2ZV9zaWdpbmZvKTog UmVtb3ZlLgotCShzdG9wX3dhaXRfY2FsbGJhY2spIDxXU1RPUFNJRyAoc3RhdHVzKSAhPSBTSUdT VE9QPgotCShsaW51eF9uYXRfZmlsdGVyX2V2ZW50KSA8bGludXhfbmF0X3N0YXR1c19pc19ldmVu dCAoc3RhdHVzKT46IFJlbW92ZQotCXRoZSBzYXZlX3NpZ2luZm8gY2FsbC4KLQkocmVzdW1lX3N0 b3BwZWRfcmVzdW1lZF9sd3BzKTogUmVtb3ZlIExQLT5TSUdJTkZPIGNsZWFyaW5nLgotCShsaW51 eF9uYXRfc2V0X3NpZ2luZm9fZml4dXApOiBVc2UgUFRSQUNFX0dFVFNJR0lORk8uCi0JKiBsaW51 eC1uYXQuaCAoc3RydWN0IGx3cF9pbmZvKSA8c2lnaW5mbz46IFJlbW92ZS4KLQotSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCi09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NC41MC4yMDEyMDcwMy5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEyLTA3LTAzIDE3OjMzOjAyLjAw MDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCTIw MTItMDctMDMgMTc6Mzg6MzYuNzM4MTQyNTA5ICswMjAwCi1AQCAtMTkzMyw3ICsxOTMzLDYgQEAg cmVzdW1lX2x3cCAoc3RydWN0IGx3cF9pbmZvICpscCwgaW50IHN0ZQotIAkJCQlzdGVwLCBzaWdu byk7Ci0gCSAgbHAtPnN0b3BwZWQgPSAwOwotIAkgIGxwLT5zdGVwID0gc3RlcDsKLS0JICBtZW1z ZXQgKCZscC0+c2lnaW5mbywgMCwgc2l6ZW9mIChscC0+c2lnaW5mbykpOwotIAkgIGxwLT5zdG9w cGVkX2J5X3dhdGNocG9pbnQgPSAwOwotIAl9Ci0gICAgICAgZWxzZQotQEAgLTIwOTIsNyArMjA5 MSw2IEBAIGxpbnV4X25hdF9yZXN1bWUgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMKLSAgIGlmIChs aW51eF9uYXRfcHJlcGFyZV90b19yZXN1bWUgIT0gTlVMTCkKLSAgICAgbGludXhfbmF0X3ByZXBh cmVfdG9fcmVzdW1lIChscCk7Ci0gICBsaW51eF9vcHMtPnRvX3Jlc3VtZSAobGludXhfb3BzLCBw dGlkLCBzdGVwLCBzaWdubyk7Ci0tICBtZW1zZXQgKCZscC0+c2lnaW5mbywgMCwgc2l6ZW9mIChs cC0+c2lnaW5mbykpOwotICAgbHAtPnN0b3BwZWRfYnlfd2F0Y2hwb2ludCA9IDA7Ci0gCi0gICBp ZiAoZGVidWdfbGludXhfbmF0KQotQEAgLTI2NDYsMjIgKzI2NDQsNiBAQCB3YWl0X2x3cCAoc3Ry dWN0IGx3cF9pbmZvICpscCkKLSAgIHJldHVybiBzdGF0dXM7Ci0gfQotIAotLS8qIFNhdmUgdGhl IG1vc3QgcmVjZW50IHNpZ2luZm8gZm9yIExQLiAgVGhpcyBpcyBjdXJyZW50bHkgb25seSBjYWxs ZWQKLS0gICBmb3IgU0lHVFJBUDsgc29tZSBwb3J0cyB1c2UgdGhlIHNpX2FkZHIgZmllbGQgZm9y Ci0tICAgdGFyZ2V0X3N0b3BwZWRfZGF0YV9hZGRyZXNzLiAgSW4gdGhlIGZ1dHVyZSwgaXQgbWF5 IGFsc28gYmUgdXNlZCB0bwotLSAgIHJlc3RvcmUgdGhlIHNpZ2luZm8gb2YgcmVxdWV1ZWQgc2ln bmFscy4gICovCi0tCi0tc3RhdGljIHZvaWQKLS1zYXZlX3NpZ2luZm8gKHN0cnVjdCBsd3BfaW5m byAqbHApCi0tewotLSAgZXJybm8gPSAwOwotLSAgcHRyYWNlIChQVFJBQ0VfR0VUU0lHSU5GTywg R0VUX0xXUCAobHAtPnB0aWQpLAotLQkgIChQVFJBQ0VfVFlQRV9BUkczKSAwLCAmbHAtPnNpZ2lu Zm8pOwotLQotLSAgaWYgKGVycm5vICE9IDApCi0tICAgIG1lbXNldCAoJmxwLT5zaWdpbmZvLCAw LCBzaXplb2YgKGxwLT5zaWdpbmZvKSk7Ci0tfQotLQotIC8qIFNlbmQgYSBTSUdTVE9QIHRvIExQ LiAgKi8KLSAKLSBzdGF0aWMgaW50Ci1AQCAtMjkwNCw5ICsyODg2LDYgQEAgc3RvcF93YWl0X2Nh bGxiYWNrIChzdHJ1Y3QgbHdwX2luZm8gKmxwLAotIAl7Ci0gCSAgLyogVGhlIHRocmVhZCB3YXMg c3RvcHBlZCB3aXRoIGEgc2lnbmFsIG90aGVyIHRoYW4gU0lHU1RPUC4gICovCi0gCi0tCSAgLyog U2F2ZSB0aGUgdHJhcCdzIHNpZ2luZm8gaW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLiAgKi8KLS0J ICBzYXZlX3NpZ2luZm8gKGxwKTsKLS0KLSAJICBzYXZlX3NpZ3RyYXAgKGxwKTsKLSAKLSAJICBp ZiAoZGVidWdfbGludXhfbmF0KQotQEAgLTMyODgsMTIgKzMyNjcsNyBAQCBsaW51eF9uYXRfZmls dGVyX2V2ZW50IChpbnQgbHdwaWQsIGludCBzCi0gICAgIH0KLSAKLSAgIGlmIChsaW51eF9uYXRf c3RhdHVzX2lzX2V2ZW50IChzdGF0dXMpKQotLSAgICB7Ci0tICAgICAgLyogU2F2ZSB0aGUgdHJh cCdzIHNpZ2luZm8gaW4gY2FzZSB3ZSBuZWVkIGl0IGxhdGVyLiAgKi8KLS0gICAgICBzYXZlX3Np Z2luZm8gKGxwKTsKLS0KLS0gICAgICBzYXZlX3NpZ3RyYXAgKGxwKTsKLS0gICAgfQotKyAgICBz YXZlX3NpZ3RyYXAgKGxwKTsKLSAKLSAgIC8qIENoZWNrIGlmIHRoZSB0aHJlYWQgaGFzIGV4aXRl ZC4gICovCi0gICBpZiAoKFdJRkVYSVRFRCAoc3RhdHVzKSB8fCBXSUZTSUdOQUxFRCAoc3RhdHVz KSkKLUBAIC0zOTQ3LDcgKzM5MjEsNiBAQCByZXN1bWVfc3RvcHBlZF9yZXN1bWVkX2x3cHMgKHN0 cnVjdCBsd3BfCi0gICAgICAgbGludXhfb3BzLT50b19yZXN1bWUgKGxpbnV4X29wcywgcGlkX3Rv X3B0aWQgKEdFVF9MV1AgKGxwLT5wdGlkKSksCi0gCQkJICAgIGxwLT5zdGVwLCBHREJfU0lHTkFM XzApOwotICAgICAgIGxwLT5zdG9wcGVkID0gMDsKLS0gICAgICBtZW1zZXQgKCZscC0+c2lnaW5m bywgMCwgc2l6ZW9mIChscC0+c2lnaW5mbykpOwotICAgICAgIGxwLT5zdG9wcGVkX2J5X3dhdGNo cG9pbnQgPSAwOwotICAgICB9Ci0gCi1AQCAtNTIyNCwxMSArNTE5NywxOSBAQCBsaW51eF9uYXRf c2V0X3ByZXBhcmVfdG9fcmVzdW1lIChzdHJ1Y3QKLSBzaWdpbmZvX3QgKgotIGxpbnV4X25hdF9n ZXRfc2lnaW5mbyAocHRpZF90IHB0aWQpCi0gewotLSAgc3RydWN0IGx3cF9pbmZvICpscCA9IGZp bmRfbHdwX3BpZCAocHRpZCk7Ci0rICBzdGF0aWMgc2lnaW5mb190IHNpZ2luZm87Ci0rICBpbnQg cGlkOwotIAotLSAgZ2RiX2Fzc2VydCAobHAgIT0gTlVMTCk7Ci0rICBwaWQgPSBHRVRfTFdQIChw dGlkKTsKLSsgIGlmIChwaWQgPT0gMCkKLSsgICAgcGlkID0gR0VUX1BJRCAocHRpZCk7Ci0rCi0r ICBlcnJubyA9IDA7Ci0rICBwdHJhY2UgKFBUUkFDRV9HRVRTSUdJTkZPLCBwaWQsIChQVFJBQ0Vf VFlQRV9BUkczKSAwLCAmc2lnaW5mbyk7Ci0rICBpZiAoZXJybm8gIT0gMCkKLSsgICAgbWVtc2V0 ICgmc2lnaW5mbywgMCwgc2l6ZW9mIChzaWdpbmZvKSk7Ci0gCi0tICByZXR1cm4gJmxwLT5zaWdp bmZvOwotKyAgcmV0dXJuICZzaWdpbmZvOwotIH0KLSAKLSAvKiBQcm92aWRlIGEgcHJvdG90eXBl IHRvIHNpbGVuY2UgLVdtaXNzaW5nLXByb3RvdHlwZXMuICAqLwotSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEy MDcwMy5vcmlnL2dkYi9saW51eC1uYXQuaAkyMDEyLTA3LTAzIDE3OjMwOjA5LjAwMDAwMDAwMCAr MDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDMg MTc6Mzg6MTMuNTAxMTcwMjQ3ICswMjAwCi1AQCAtNzYsMTAgKzc2LDYgQEAgc3RydWN0IGx3cF9p bmZvCi0gICAvKiBUaGUga2luZCBvZiBzdGVwcGluZyBvZiB0aGlzIExXUC4gICovCi0gICBlbnVt IHJlc3VtZV9zdGVwIHN0ZXA7Ci0gCi0tICAvKiBOb24temVybyBzaV9zaWdubyBpZiB0aGlzIExX UCBzdG9wcGVkIHdpdGggYSB0cmFwLiAgc2lfYWRkciBtYXkKLS0gICAgIGJlIHRoZSBhZGRyZXNz IG9mIGEgaGFyZHdhcmUgd2F0Y2hwb2ludC4gICovCi0tICBzaWdpbmZvX3Qgc2lnaW5mbzsKLS0K LSAgIC8qIFNUT1BQRURfQllfV0FUQ0hQT0lOVCBpcyBub24temVybyBpZiB0aGlzIExXUCBzdG9w cGVkIHdpdGggYSBkYXRhCi0gICAgICB3YXRjaHBvaW50IHRyYXAuICAqLwotICAgaW50IHN0b3Bw ZWRfYnlfd2F0Y2hwb2ludDsKCmRpZmYgLS1naXQgYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUtdGVz dC5wYXRjaCBiL2dkYi1kbG9wZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCmluZGV4IDE1ZjFjMzEu LmVmZDM2ODMgMTAwNjQ0Ci0tLSBhL2dkYi1kbG9wZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCisr KyBiL2dkYi1kbG9wZW4tc3RhcC1wcm9iZS10ZXN0LnBhdGNoCkBAIC00LDEwICs0LDEwIEBAIERh dGU6ICAgTW9uIEF1ZyA4IDEyOjA4OjUzIDIwMTEgKzAyMDAKIAogICAgICt0ZXN0Y2FzZQogCi1J bmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Bl bi1saWJwdGhyZWFkLWxpYi5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0g L2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcu NC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFk LWxpYi5jCTIwMTItMDctMDMgMTc6NDQ6NDUuNzk3Njk4NjU2ICswMjAwCisrKysgZ2RiLTcuNC41 MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxp Yi5jCTIwMTItMDctMTUgMDg6NTE6MzguMjM4NzAxMjgyICswMjAwCiBAQCAtMCwwICsxLDQwIEBA CiArLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KICsK QEAgLTQ5LDEwICs0OSwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1 aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLWxpYi5jCiArICBpID0gcHRocmVhZF9q b2luICh0LCBOVUxMKTsKICsgIGFzc2VydCAoaSA9PSAwKTsKICt9Ci1JbmRleDogZ2RiLTcuNC41 MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmMK K0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxv cGVuLWxpYnB0aHJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAw OjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3Rz dWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5jCTIwMTItMDctMDMgMTc6NDQ6NDUu Nzk4Njk4NjU1ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dk Yi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmMJMjAxMi0wNy0xNSAwODo1MTozOC4yMzk3MDEy NzcgKzAyMDAKIEBAIC0wLDAgKzEsNDYgQEAKICsvKiBUaGlzIHRlc3RjYXNlIGlzIHBhcnQgb2Yg R0RCLCB0aGUgR05VIGRlYnVnZ2VyLgogKwpAQCAtMTAwLDEwICsxMDAsMTAgQEAgSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRo cmVhZC5jCiArCiArICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9n ZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmV4cAorSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MTQvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRo cmVhZC5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2Ri LnRocmVhZHMvZGxvcGVuLWxpYnB0aHJlYWQuZXhwCTIwMTItMDctMDMgMTc6NDQ6NDUuNzk4Njk4 NjU1ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi50aHJl YWRzL2Rsb3Blbi1saWJwdGhyZWFkLmV4cAkyMDEyLTA3LTE1IDA5OjA4OjAxLjc2MDI1ODU4OCAr MDIwMAogQEAgLTAsMCArMSw3NCBAQAogKyMgQ29weXJpZ2h0IDIwMTEgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiArIwpAQCAtMTQ4LDEyICsxNDgsMTIgQEAgSW5kZXg6IGdkYi03LjQu NTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5l eHAKICsgICAgcmV0dXJuIC0xCiArfQogKwotK3NldCB0ZXN0ICJwcmludCBfZGxfZGVidWdfbm90 aWZ5IgorK3NldCB0ZXN0ICJpbmZvIHByb2JlcyBhbGwgcnRsZCBydGxkX21hcF9jb21wbGV0ZSIK ICtnZGJfdGVzdF9tdWx0aXBsZSAkdGVzdCAkdGVzdCB7Ci0rICAgIC1yZSAiIDB4XFswLTlhLWZc XSsgPF9kbF9kZWJ1Z19ub3RpZnk+XHJcbiRnZGJfcHJvbXB0ICQiIHsKKysgICAgLXJlICJcWyBc dFxdcnRsZF9tYXBfY29tcGxldGVcWyBcdFxdKzB4XFswLTlhLWZcXSsuKlxyXG4kZ2RiX3Byb21w dCAkIiB7CiArCXBhc3MgJHRlc3QKICsgICAgfQotKyAgICAtcmUgIk5vIHN5bWJvbCBcIl9kbF9k ZWJ1Z19ub3RpZnlcIiBpbiBjdXJyZW50IGNvbnRleHRcXC5cclxuJGdkYl9wcm9tcHQgJCIgewor KyAgICAtcmUgIk5vIHByb2JlcyBtYXRjaGVkXFwuXHJcbiRnZGJfcHJvbXB0ICQiIHsKICsJeGZh aWwgJHRlc3QKICsJdW50ZXN0ZWQgJHt0ZXN0ZmlsZX0uZXhwCiArCXJldHVybgpAQCAtMTc5LDI0 ICsxNzksMjMgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIu dGhyZWFkcy9kbG9wZW4tbGlicHRocmVhZC5leHAKICtnZGJfY29udGludWVfdG9fYnJlYWtwb2lu dCAibm90aWZ5IiAiLiogbm90aWZ5LWhlcmUgLioiCiArCiArZ2RiX3Rlc3QgImluZm8gc2hhcmVk bGlicmFyeSIgey9saWJwdGhyZWFkXC5zby4qfSAibGlicHRocmVhZC5zbyBmb3VuZCIKLUluZGV4 OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKK0luZGV4OiBn ZGItNy40LjUwLjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLm9yaWcvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAky MDEyLTA3LTAzIDE3OjM0OjE4LjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA3 MDMvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAkyMDEyLTA3LTAzIDE3OjQ2OjQ0LjMxNjUxNDA3 NiArMDIwMAotQEAgLTM3NTgsMjMgKzM3NTgsNyBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGUgeyB0 ZXN0bmFtZSBleGVjdXRhCi0gICAgICAgICBzZXQgc291cmNlcyAke2V4ZWN1dGFibGV9LmMKLSAg ICAgfQorLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwCTIwMTItMDctMTUgMDg6NTE6MzYuODAzNzA5MjIyICswMjAwCisrKysgZ2RiLTcuNC41MC4y MDEyMDcxNC9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDctMTUgMDk6MDI6NDEuOTgz MDI4MTk3ICswMjAwCitAQCAtMzc3NCwyMiArMzc3NCw2IEBAIHByb2MgYnVpbGRfZXhlY3V0YWJs ZV9mcm9tX3NwZWNzIHt0ZXN0bmEKKyAKKyAgICAgc2V0IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1 dF9maWxlICRleGVjdXRhYmxlXQogIAotLSAgICBzZXQgYmluZmlsZSBbc3RhbmRhcmRfb3V0cHV0 X2ZpbGUgJGV4ZWN1dGFibGVdCi0tCiAtICAgIHNldCBvYmplY3RzIHt9Ci0tICAgIGZvciB7c2V0 IGkgMH0gIlwkaTxbbGxlbmd0aCAkc291cmNlc10iIHtpbmNyIGl9IHsKLS0gICAgICAgIHNldCBz IFtsaW5kZXggJHNvdXJjZXMgJGldCi0tICAgICAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8iIG9iamVjdCAkb3B0aW9uc10g IT0gIiIgfSB7CistICAgIHNldCBpIDAKKy0gICAgZm9yZWFjaCB7cyBsb2NhbF9vcHRpb25zfSAk YXJncyB7CistICAgICAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0v JHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8iIG9iamVjdCAkbG9jYWxfb3B0aW9uc10gIT0gIiIgfSB7 CiAtICAgICAgICAgICAgdW50ZXN0ZWQgJHRlc3RuYW1lCiAtICAgICAgICAgICAgcmV0dXJuIC0x CiAtICAgICAgICB9CiAtICAgICAgICBsYXBwZW5kIG9iamVjdHMgIiR7YmluZmlsZX0ke2l9Lm8i CistCWluY3IgaQogLSAgICB9CiAtICAgIAogLSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgJG9iamVj dHMgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUgJG9wdGlvbnNdICE9ICIiIH0gewpAQCAtMjA0LDEx ICsyMDMsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9saWIv Z2RiLmV4cAogLSAgICAgICAgcmV0dXJuIC0xCiAtICAgIH0KIC0KLSsgICAgIyBnZXRfY29tcGls ZXJfaW5mbyBieSBnZGJfY29tcGlsZV9zaGxpYiBhbmQgZ2RiX2NvbXBpbGVfc2hsaWJfcHRocmVh ZHMuCiAgICAgIHNldCBpbmZvX29wdGlvbnMgIiIKICAgICAgaWYgeyBbbHNlYXJjaCAtZXhhY3Qg JG9wdGlvbnMgImMrKyJdID49IDAgfSB7CiAgCXNldCBpbmZvX29wdGlvbnMgImMrKyIKLUBAIC0z NzgyLDYgKzM3NjYsNDEgQEAgcHJvYyBidWlsZF9leGVjdXRhYmxlIHsgdGVzdG5hbWUgZXhlY3V0 YQorQEAgLTM3OTcsNiArMzc4MSw0MiBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGVfZnJvbV9zcGVj cyB7dGVzdG5hCiAgICAgIGlmIFtnZXRfY29tcGlsZXJfaW5mbyAke2luZm9fb3B0aW9uc31dIHsK ICAgICAgICAgIHJldHVybiAtMQogICAgICB9CkBAIC0yMjMsMjIgKzIyMSwyMyBAQCBJbmRleDog Z2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiArCiArICAgICMg Z2RiX2NvbXBpbGVfc2hsaWIgYW5kIGdkYl9jb21waWxlX3NobGliX3B0aHJlYWRzIGRvIG5vdCB1 c2UgdGhlIDNyZAogKyAgICAjIHBhcmFtZXRlci4gIFRoZXkgYWxzbyByZXF1aXJlcyAkc291cmNl cyB3aGlsZSBnZGJfY29tcGlsZSBhbmQKLSsgICAgIyBnZGJfY29tcGlsZV9wdGhyZWFkcyByZXF1 aXJlICRvYmplY3RzLgorKyAgICAjIGdkYl9jb21waWxlX3B0aHJlYWRzIHJlcXVpcmUgJG9iamVj dHMuICBNb3Jlb3ZlciB0aGV5IGlnbm9yZSBhbnkgb3B0aW9ucy4KICsgICAgaWYgW3N0cmluZyBt YXRjaCBnZGJfY29tcGlsZV9zaGxpYiogJGZ1bmNdIHsKICsJc2V0IHNvdXJjZXNfcGF0aCB7fQot Kwlmb3JlYWNoIHMgJHNvdXJjZXMgeworKwlmb3JlYWNoIHtzIGxvY2FsX29wdGlvbnN9ICRhcmdz IHsKICsJICAgIGxhcHBlbmQgc291cmNlc19wYXRoICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c30i CiArCX0KICsJc2V0IHJldCBbJGZ1bmMgJHNvdXJjZXNfcGF0aCAiJHtiaW5maWxlfSIgJG9wdGlv bnNdCiArICAgIH0gZWxzZSB7CiArCXNldCBvYmplY3RzIHt9Ci0rCWZvciB7c2V0IGkgMH0gIlwk aTxbbGxlbmd0aCAkc291cmNlc10iIHtpbmNyIGl9IHsKLSsJICAgIHNldCBzIFtsaW5kZXggJHNv dXJjZXMgJGldCi0rCSAgICBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0v JHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8iIG9iamVjdCAkb3B0aW9uc10gIT0gIiIgfSB7CisrCXNl dCBpIDAKKysJZm9yZWFjaCB7cyBsb2NhbF9vcHRpb25zfSAkYXJncyB7CisrCSAgICBpZiAgeyBb Z2RiX2NvbXBpbGUgIiR7c3JjZGlyfS8ke3N1YmRpcn0vJHtzfSIgIiR7YmluZmlsZX0ke2l9Lm8i IG9iamVjdCAkbG9jYWxfb3B0aW9uc10gIT0gIiIgfSB7CiArCQl1bnRlc3RlZCAkdGVzdG5hbWUK ICsJCXJldHVybiAtMQogKwkgICAgfQogKwkgICAgbGFwcGVuZCBvYmplY3RzICIke2JpbmZpbGV9 JHtpfS5vIgorKwkgICAgaW5jciBpCiArCX0KICsJc2V0IHJldCBbJGZ1bmMgJG9iamVjdHMgIiR7 YmluZmlsZX0iIGV4ZWN1dGFibGUgJG9wdGlvbnNdCiArICAgIH0KQEAgLTI1MCwxMCArMjQ5LDEw IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAK ICAgICAgcmV0dXJuIDAKICB9CiAgCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVz dHN1aXRlL2xpYi9wcmVsaW5rLXN1cHBvcnQuZXhwCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvdGVzdHN1aXRlL2xpYi9wcmVsaW5rLXN1cHBvcnQuZXhwCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNC41MC4yMDEyMDcwMy5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9y dC5leHAJMjAxMi0wMS0wNCAwOToyNzo1Ni4wMDAwMDAwMDAgKzAxMDAKLSsrKyBnZGItNy40LjUw LjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5leHAJMjAxMi0wNy0w MyAxNzo0NDo0NS44MDM2OTg2NDggKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcv Z2RiL3Rlc3RzdWl0ZS9saWIvcHJlbGluay1zdXBwb3J0LmV4cAkyMDEyLTAxLTA0IDA5OjI3OjU2 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL3Rlc3RzdWl0ZS9s aWIvcHJlbGluay1zdXBwb3J0LmV4cAkyMDEyLTA3LTE1IDA4OjUxOjM4LjI0MzcwMTI1NCArMDIw MAogQEAgLTk1LDggKzk1LDkgQEAgcHJvYyBmaWxlX2NvcHkge3NyYyBkZXN0fSB7CiAgIyBXcmFw IGZ1bmN0aW9uIGJ1aWxkX2V4ZWN1dGFibGUgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFi bGUgaXMgZnVsbHkKICAjIHNlbGYtc3VmZmljaWVudCAod2l0aG91dCBkZXBlbmRlbmNpZXMgb24g c3lzdGVtIGxpYnJhcmllcykuICBQYXJhbWV0ZXIKQEAgLTMwNiwxMCArMzA1LDEwIEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9ydC5l eHAKICAgICAgcmV0dXJuICRwcmVsaW5rX2FyZ3MKICB9CiAgCi1JbmRleDogZ2RiLTcuNC41MC4y MDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAKK0luZGV4OiBn ZGItNy40LjUwLjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA3MDMub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAJMjAxMi0wNi0yMSAyMjo0NjoyMS4wMDAwMDAwMDAg KzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJl YWstaW50ZXJwLmV4cAkyMDEyLTA3LTAzIDE3OjQ0OjQ1LjgwNDY5ODY0NyArMDIwMAorLS0tIGdk Yi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVy cC5leHAJMjAxMi0wNi0yMSAyMjo0NjoyMS4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy40LjUw LjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDEyLTA3 LTE1IDA4OjUxOjM4LjI0NDcwMTI0OCArMDIwMAogQEAgLTEwOSwxNCArMTA5LDIxIEBAIHByb2Mg c3RyaXBfZGVidWcge2Rlc3R9IHsKICAgICAgfQogIH0KCmRpZmYgLS1naXQgYS9nZGItZXJybm8t ZnVuYy1kYXRhdHlwZS1yZXZlcnQucGF0Y2ggYi9nZGItZXJybm8tZnVuYy1kYXRhdHlwZS1yZXZl cnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0N2Q3NmYuLjAwMDAwMDAK LS0tIGEvZ2RiLWVycm5vLWZ1bmMtZGF0YXR5cGUtcmV2ZXJ0LnBhdGNoCisrKyAvZGV2L251bGwK QEAgLTEsMjM2ICswLDAgQEAKLVJlZ3Jlc3Npb246IEludmFsaWQgZGF0YSB0eXBlIGZvciBmdW5j dGlvbiB0byBiZSBjYWxsZWQuIFtSZTogRllJOiBmaXggUFIgOTUxNF0KLWh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA3L21zZzAwMDQzLmh0bWwKLQotcmV2ZXJ0ZWQ6 Ci1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEyLTA2L21zZzAwMTQ4Lmh0bWwK LQotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNC41MC4yMDEyMDcwMy1vcmlnL2dkYi9jLWV4cC55IGdk Yi03LjQuNTAuMjAxMjA3MDMvZ2RiL2MtZXhwLnkKLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLW9y aWcvZ2RiL2MtZXhwLnkJMjAxMi0wNy0wMyAyMDowODoxNS45NzY0MTg0MjAgKzAyMDAKLSsrKyBn ZGItNy40LjUwLjIwMTIwNzAzL2dkYi9jLWV4cC55CTIwMTItMDctMDMgMjA6MDg6MzUuOTM1Mzkw MjgyICswMjAwCi1AQCAtMTcyLDEwICsxNzIsOSBAQCBzdGF0aWMgc3RydWN0IHN0b2tlbiBvcGVy YXRvcl9zdG9rZW4gKGNvCi0gLyogJXR5cGUgPGJ2YWw+IGJsb2NrICovCi0gCi0gLyogRmFuY3kg dHlwZSBwYXJzaW5nLiAgKi8KLS0ldHlwZSA8dm9pZHZhbD4gZnVuY19tb2QgZGlyZWN0X2Fic19k ZWNsIGFic19kZWNsIHB0cl9vcGVyYXRvcgotKyV0eXBlIDx2b2lkdmFsPiBmdW5jX21vZCBkaXJl Y3RfYWJzX2RlY2wgYWJzX2RlY2wKLSAldHlwZSA8dHZhbD4gcHR5cGUKLSAldHlwZSA8bHZhbD4g YXJyYXlfbW9kCi0tJXR5cGUgPHR2YWw+IGNvbnZlcnNpb25fdHlwZV9pZAotIAotICV0b2tlbiA8 dHlwZWRfdmFsX2ludD4gSU5UCi0gJXRva2VuIDx0eXBlZF92YWxfZmxvYXQ+IEZMT0FUCi1AQCAt OTMyLDcgKzkzMSw5IEBAIHZhcmlhYmxlOgluYW1lX25vdF90eXBlbmFtZQotIAk7Ci0gCi0gc3Bh Y2VfaWRlbnRpZmllciA6ICdAJyBOQU1FCi0tCQl7IGluc2VydF90eXBlX2FkZHJlc3Nfc3BhY2Ug KGNvcHlfbmFtZSAoJDIuc3Rva2VuKSk7IH0KLSsJCXsgcHVzaF90eXBlX2FkZHJlc3Nfc3BhY2Ug KGNvcHlfbmFtZSAoJDIuc3Rva2VuKSk7Ci0rCQkgIHB1c2hfdHlwZSAodHBfc3BhY2VfaWRlbnRp Zmllcik7Ci0rCQl9Ci0gCTsKLSAKLSBjb25zdF9vcl92b2xhdGlsZTogY29uc3Rfb3Jfdm9sYXRp bGVfbm9vcHQKLUBAIC05NTEsMjMgKzk1MiwxNCBAQCBjb25zdF9vcl92b2xhdGlsZV9vcl9zcGFj ZV9pZGVudGlmaWVyOgotIAl8Ci0gCTsKLSAKLS1wdHJfb3BlcmF0b3I6Ci0tCQlwdHJfb3BlcmF0 b3IgJyonCi0tCQkJeyBpbnNlcnRfdHlwZSAodHBfcG9pbnRlcik7IH0KLS0JCWNvbnN0X29yX3Zv bGF0aWxlX29yX3NwYWNlX2lkZW50aWZpZXIKLS0JCQl7ICQkID0gMDsgfQotLQl8CScqJyAKLS0J CQl7IGluc2VydF90eXBlICh0cF9wb2ludGVyKTsgfQotLQkJY29uc3Rfb3Jfdm9sYXRpbGVfb3Jf c3BhY2VfaWRlbnRpZmllcgotLQkJCXsgJCQgPSAwOyB9Ci0rYWJzX2RlY2w6CScqJwotKwkJCXsg cHVzaF90eXBlICh0cF9wb2ludGVyKTsgJCQgPSAwOyB9Ci0rCXwJJyonIGFic19kZWNsCi0rCQkJ eyBwdXNoX3R5cGUgKHRwX3BvaW50ZXIpOyAkJCA9ICQyOyB9Ci0gCXwJJyYnCi0tCQkJeyBpbnNl cnRfdHlwZSAodHBfcmVmZXJlbmNlKTsgJCQgPSAwOyB9Ci0tCXwJJyYnIHB0cl9vcGVyYXRvcgot LQkJCXsgaW5zZXJ0X3R5cGUgKHRwX3JlZmVyZW5jZSk7ICQkID0gMDsgfQotLQk7Ci0tCi0tYWJz X2RlY2w6CXB0cl9vcGVyYXRvciBkaXJlY3RfYWJzX2RlY2wKLS0JfAlwdHJfb3BlcmF0b3IKLSsJ CQl7IHB1c2hfdHlwZSAodHBfcmVmZXJlbmNlKTsgJCQgPSAwOyB9Ci0rCXwJJyYnIGFic19kZWNs Ci0rCQkJeyBwdXNoX3R5cGUgKHRwX3JlZmVyZW5jZSk7ICQkID0gJDI7IH0KLSAJfAlkaXJlY3Rf YWJzX2RlY2wKLSAJOwotIAotQEAgLTEyMTEsMzAgKzEyMDMsMjIgQEAgbm9uZW1wdHlfdHlwZWxp c3QKLSAJOwotIAotIHB0eXBlCToJdHlwZWJhc2UKLS0JfAlwdHlwZSBhYnNfZGVjbAotLQkJeyAk JCA9IGZvbGxvd190eXBlcyAoJDEpOyB9Ci0tCTsKLS0KLS1jb252ZXJzaW9uX3R5cGVfaWQ6IHR5 cGViYXNlIGNvbnZlcnNpb25fZGVjbGFyYXRvcgotKwl8CXB0eXBlIGNvbnN0X29yX3ZvbGF0aWxl X29yX3NwYWNlX2lkZW50aWZpZXIgYWJzX2RlY2wgY29uc3Rfb3Jfdm9sYXRpbGVfb3Jfc3BhY2Vf aWRlbnRpZmllcgotIAkJeyAkJCA9IGZvbGxvd190eXBlcyAoJDEpOyB9Ci0gCTsKLSAKLS1jb252 ZXJzaW9uX2RlY2xhcmF0b3I6ICAvKiBOb3RoaW5nLiAgKi8KLS0JfCBwdHJfb3BlcmF0b3IgY29u dmVyc2lvbl9kZWNsYXJhdG9yCi0tCTsKLS0KLSBjb25zdF9hbmRfdm9sYXRpbGU6IAlDT05TVF9L RVlXT1JEIFZPTEFUSUxFX0tFWVdPUkQKLSAJfCAJCVZPTEFUSUxFX0tFWVdPUkQgQ09OU1RfS0VZ V09SRAotIAk7Ci0gCi0gY29uc3Rfb3Jfdm9sYXRpbGVfbm9vcHQ6ICAJY29uc3RfYW5kX3ZvbGF0 aWxlIAotLQkJCXsgaW5zZXJ0X3R5cGUgKHRwX2NvbnN0KTsKLS0JCQkgIGluc2VydF90eXBlICh0 cF92b2xhdGlsZSk7IAotKwkJCXsgcHVzaF90eXBlICh0cF9jb25zdCk7Ci0rCQkJICBwdXNoX3R5 cGUgKHRwX3ZvbGF0aWxlKTsgCi0gCQkJfQotIAl8IAkJQ09OU1RfS0VZV09SRAotLQkJCXsgaW5z ZXJ0X3R5cGUgKHRwX2NvbnN0KTsgfQotKwkJCXsgcHVzaF90eXBlICh0cF9jb25zdCk7IH0KLSAJ fCAJCVZPTEFUSUxFX0tFWVdPUkQKLS0JCQl7IGluc2VydF90eXBlICh0cF92b2xhdGlsZSk7IH0K LSsJCQl7IHB1c2hfdHlwZSAodHBfdm9sYXRpbGUpOyB9Ci0gCTsKLSAKLSBvcGVyYXRvcjoJT1BF UkFUT1IgTkVXCi1AQCAtMTM0MSw3ICsxMzI1LDcgQEAgb3BlcmF0b3I6CU9QRVJBVE9SIE5FVwot IAkJCXsgJCQgPSBvcGVyYXRvcl9zdG9rZW4gKCIoKSIpOyB9Ci0gCXwJT1BFUkFUT1IgJ1snICdd JwotIAkJCXsgJCQgPSBvcGVyYXRvcl9zdG9rZW4gKCJbXSIpOyB9Ci0tCXwJT1BFUkFUT1IgY29u dmVyc2lvbl90eXBlX2lkCi0rCXwJT1BFUkFUT1IgcHR5cGUKLSAJCQl7IGNoYXIgKm5hbWU7Ci0g CQkJICBsb25nIGxlbmd0aDsKLSAJCQkgIHN0cnVjdCB1aV9maWxlICpidWYgPSBtZW1fZmlsZW9w ZW4gKCk7Ci1kaWZmIC1kdXAgLXJ1cCBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3BhcnNl LmMgZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvcGFyc2UuYwotLS0tIGdkYi03LjQuNTAuMjAxMjA3 MDMtb3JpZy9nZGIvcGFyc2UuYwkyMDEyLTA3LTAzIDIwOjA4OjE1Ljk3OTQxODQxNSArMDIwMAot KysrIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3BhcnNlLmMJMjAxMi0wNy0wMyAyMDowODozNS45 MzgzOTAyNzcgKzAyMDAKLUBAIC0xMzcwLDQ5ICsxMzcwLDYgQEAgY2hlY2tfdHlwZV9zdGFja19k ZXB0aCAodm9pZCkKLSAgICAgfQotIH0KLSAKLS0vKiBBIGhlbHBlciBmdW5jdGlvbiBmb3IgaW5z ZXJ0X3R5cGUgYW5kIGluc2VydF90eXBlX2FkZHJlc3Nfc3BhY2UuCi0tICAgVGhpcyBkb2VzIHdv cmsgb2YgZXhwYW5kaW5nIHRoZSB0eXBlIHN0YWNrIGFuZCBpbnNlcnRpbmcgdGhlIG5ldwotLSAg IGVsZW1lbnQsIEVMRU1FTlQsIGludG8gdGhlIHN0YWNrIGF0IGxvY2F0aW9uIFNMT1QuICAqLwot LQotLXN0YXRpYyB2b2lkCi0taW5zZXJ0X2ludG9fdHlwZV9zdGFjayAoaW50IHNsb3QsIHVuaW9u IHR5cGVfc3RhY2tfZWx0IGVsZW1lbnQpCi0tewotLSAgY2hlY2tfdHlwZV9zdGFja19kZXB0aCAo KTsKLS0KLS0gIGlmIChzbG90IDwgdHlwZV9zdGFja19kZXB0aCkKLS0gICAgbWVtbW92ZSAoJnR5 cGVfc3RhY2tbc2xvdCArIDFdLCAmdHlwZV9zdGFja1tzbG90XSwKLS0JICAgICAodHlwZV9zdGFj a19kZXB0aCAtIHNsb3QpICogc2l6ZW9mICh1bmlvbiB0eXBlX3N0YWNrX2VsdCkpOwotLSAgdHlw ZV9zdGFja1tzbG90XSA9IGVsZW1lbnQ7Ci0tICArK3R5cGVfc3RhY2tfZGVwdGg7Ci0tfQotLQot LS8qIEluc2VydCBhIG5ldyB0eXBlLCBUUCwgYXQgdGhlIGJvdHRvbSBvZiB0aGUgdHlwZSBzdGFj ay4gIElmIFRQIGlzCi0tICAgdHBfcG9pbnRlciBvciB0cF9yZWZlcmVuY2UsIGl0IGlzIGluc2Vy dGVkIGF0IHRoZSBib3R0b20uICBJZiBUUCBpcwotLSAgIGEgcXVhbGlmaWVyLCBpdCBpcyBpbnNl cnRlZCBhdCBzbG90IDEgKGp1c3QgYWJvdmUgYSBwcmV2aW91cwotLSAgIHRwX3BvaW50ZXIpIGlm IHRoZXJlIGlzIGFueXRoaW5nIG9uIHRoZSBzdGFjaywgb3Igc2ltcGx5IHB1c2hlZCBpZgotLSAg IHRoZSBzdGFjayBpcyBlbXB0eS4gIE90aGVyIHZhbHVlcyBmb3IgVFAgYXJlIGludmFsaWQuICAq LwotLQotLXZvaWQKLS1pbnNlcnRfdHlwZSAoZW51bSB0eXBlX3BpZWNlcyB0cCkKLS17Ci0tICB1 bmlvbiB0eXBlX3N0YWNrX2VsdCBlbGVtZW50OwotLSAgaW50IHNsb3Q7Ci0tCi0tICBnZGJfYXNz ZXJ0ICh0cCA9PSB0cF9wb2ludGVyIHx8IHRwID09IHRwX3JlZmVyZW5jZQotLQkgICAgICB8fCB0 cCA9PSB0cF9jb25zdCB8fCB0cCA9PSB0cF92b2xhdGlsZSk7Ci0tCi0tICAvKiBJZiB0aGVyZSBp cyBhbnl0aGluZyBvbiB0aGUgc3RhY2sgKHdlIGtub3cgaXQgd2lsbCBiZSBhCi0tICAgICB0cF9w b2ludGVyKSwgaW5zZXJ0IHRoZSBxdWFsaWZpZXIgYWJvdmUgaXQuICBPdGhlcndpc2UsIHNpbXBs eQotLSAgICAgcHVzaCB0aGlzIG9uIHRoZSB0b3Agb2YgdGhlIHN0YWNrLiAgKi8KLS0gIGlmICh0 eXBlX3N0YWNrX2RlcHRoICYmICh0cCA9PSB0cF9jb25zdCB8fCB0cCA9PSB0cF92b2xhdGlsZSkp Ci0tICAgIHNsb3QgPSAxOwotLSAgZWxzZQotLSAgICBzbG90ID0gMDsKLS0KLS0gIGVsZW1lbnQu cGllY2UgPSB0cDsKLS0gIGluc2VydF9pbnRvX3R5cGVfc3RhY2sgKHNsb3QsIGVsZW1lbnQpOwot LX0KLS0KLSB2b2lkCi0gcHVzaF90eXBlIChlbnVtIHR5cGVfcGllY2VzIHRwKQotIHsKLUBAIC0x NDI3LDMyICsxMzg0LDEwIEBAIHB1c2hfdHlwZV9pbnQgKGludCBuKQotICAgdHlwZV9zdGFja1t0 eXBlX3N0YWNrX2RlcHRoKytdLmludF92YWwgPSBuOwotIH0KLSAKLS0vKiBJbnNlcnQgYSB0cF9z cGFjZV9pZGVudGlmaWVyIGFuZCB0aGUgY29ycmVzcG9uZGluZyBhZGRyZXNzIHNwYWNlCi0tICAg dmFsdWUgaW50byB0aGUgc3RhY2suICBTVFJJTkcgaXMgdGhlIG5hbWUgb2YgYW4gYWRkcmVzcyBz cGFjZSwgYXMKLS0gICByZWNvZ25pemVkIGJ5IGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQuICBJ ZiB0aGUgc3RhY2sgaXMgZW1wdHksCi0tICAgdGhlIG5ldyBlbGVtZW50cyBhcmUgc2ltcGx5IHB1 c2hlZC4gIElmIHRoZSBzdGFjayBpcyBub3QgZW1wdHksCi0tICAgdGhpcyBmdW5jdGlvbiBhc3N1 bWVzIHRoYXQgdGhlIGZpcnN0IGl0ZW0gb24gdGhlIHN0YWNrIGlzIGEKLS0gICB0cF9wb2ludGVy LCBhbmQgdGhlIG5ldyB2YWx1ZXMgYXJlIGluc2VydGVkIGFib3ZlIHRoZSBmaXJzdAotLSAgIGl0 ZW0uICAqLwotLQotIHZvaWQKLS1pbnNlcnRfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFyICpzdHJp bmcpCi0rcHVzaF90eXBlX2FkZHJlc3Nfc3BhY2UgKGNoYXIgKnN0cmluZykKLSB7Ci0tICB1bmlv biB0eXBlX3N0YWNrX2VsdCBlbGVtZW50OwotLSAgaW50IHNsb3Q7Ci0tCi0tICAvKiBJZiB0aGVy ZSBpcyBhbnl0aGluZyBvbiB0aGUgc3RhY2sgKHdlIGtub3cgaXQgd2lsbCBiZSBhCi0tICAgICB0 cF9wb2ludGVyKSwgaW5zZXJ0IHRoZSBhZGRyZXNzIHNwYWNlIHF1YWxpZmllciBhYm92ZSBpdC4K LS0gICAgIE90aGVyd2lzZSwgc2ltcGx5IHB1c2ggdGhpcyBvbiB0aGUgdG9wIG9mIHRoZSBzdGFj ay4gICovCi0tICBpZiAodHlwZV9zdGFja19kZXB0aCkKLS0gICAgc2xvdCA9IDE7Ci0tICBlbHNl Ci0tICAgIHNsb3QgPSAwOwotLQotLSAgZWxlbWVudC5waWVjZSA9IHRwX3NwYWNlX2lkZW50aWZp ZXI7Ci0tICBpbnNlcnRfaW50b190eXBlX3N0YWNrIChzbG90LCBlbGVtZW50KTsKLS0gIGVsZW1l bnQuaW50X3ZhbCA9IGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQgKHBhcnNlX2dkYmFyY2gsIHN0 cmluZyk7Ci0tICBpbnNlcnRfaW50b190eXBlX3N0YWNrIChzbG90LCBlbGVtZW50KTsKLSsgIHB1 c2hfdHlwZV9pbnQgKGFkZHJlc3Nfc3BhY2VfbmFtZV90b19pbnQgKHBhcnNlX2dkYmFyY2gsIHN0 cmluZykpOwotIH0KLSAKLSBlbnVtIHR5cGVfcGllY2VzCi1Pbmx5IGluIGdkYi03LjQuNTAuMjAx MjA3MDMtb3JpZy9nZGI6IHBhcnNlLmMub3JpZwotZGlmZiAtZHVwIC1ydXAgZ2RiLTcuNC41MC4y MDEyMDcwMy1vcmlnL2dkYi9wYXJzZXItZGVmcy5oIGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL3Bh cnNlci1kZWZzLmgKLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3BhcnNlci1kZWZz LmgJMjAxMi0wNy0wMyAyMDowODoxNS45ODA0MTg0MTQgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIw MTIwNzAzL2dkYi9wYXJzZXItZGVmcy5oCTIwMTItMDctMDMgMjA6MDg6MzUuOTM5MzkwMjc1ICsw MjAwCi1AQCAtMTkyLDEzICsxOTIsMTEgQEAgZXh0ZXJuIGludCBlbmRfYXJnbGlzdCAodm9pZCk7 Ci0gCi0gZXh0ZXJuIGNoYXIgKmNvcHlfbmFtZSAoc3RydWN0IHN0b2tlbik7Ci0gCi0tZXh0ZXJu IHZvaWQgaW5zZXJ0X3R5cGUgKGVudW0gdHlwZV9waWVjZXMpOwotLQotIGV4dGVybiB2b2lkIHB1 c2hfdHlwZSAoZW51bSB0eXBlX3BpZWNlcyk7Ci0gCi0gZXh0ZXJuIHZvaWQgcHVzaF90eXBlX2lu dCAoaW50KTsKLSAKLS1leHRlcm4gdm9pZCBpbnNlcnRfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFy ICopOwotK2V4dGVybiB2b2lkIHB1c2hfdHlwZV9hZGRyZXNzX3NwYWNlIChjaGFyICopOwotIAot IGV4dGVybiBlbnVtIHR5cGVfcGllY2VzIHBvcF90eXBlICh2b2lkKTsKLSAKLWRpZmYgLWR1cCAt cnVwIGdkYi03LjQuNTAuMjAxMjA3MDMtb3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRp cy5leHAgZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRpcy5l eHAKLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLW9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS93 aGF0aXMuZXhwCTIwMTItMDctMDMgMjA6MDg6MTUuOTgxNDE4NDEzICswMjAwCi0rKysgZ2RiLTcu NC41MC4yMDEyMDcwMy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3doYXRpcy5leHAJMjAxMi0wNy0w MyAyMDowODozNS45NDAzOTAyNzMgKzAyMDAKLUBAIC00NjUsMTcgKzQ2NSwzIEBAIGdkYl90ZXN0 ICJ3aGF0aXMgY2hhcl9hZGRyIiBcCi0gZ2RiX3Rlc3QgIndoYXRpcyBhX2NoYXJfYWRkciIgXAot ICAgICAidHlwZSA9IGNoYXJfYWRkciIgXAotICAgICAid2hhdGlzIGFwcGxpZWQgdG8gdmFyaWFi bGUgZGVmaW5lZCBieSB0eXBlZGVmIgotLQotLSMgUmVncmVzc2lvbiB0ZXN0cyBmb3IgUFIgOTUx NC4KLS0KLS1nZGJfdGVzdCAid2hhdGlzIHZvaWQgKCoqKSgpIiBcCi0tICAidHlwZSA9IHZvaWQg XFwoXFwqXFwqXFwpXFwoXFwpIiBcCi0tICAid2hhdGlzIGFwcGxpZWQgdG8gcG9pbnRlciB0byBw b2ludGVyIHRvIGZ1bmN0aW9uIgotLQotLWdkYl90ZXN0ICJ3aGF0aXMgdm9pZCAoKiogY29uc3Qp KCkiIFwKLS0gICJ0eXBlID0gdm9pZCBcXChcXCpcXCogY29uc3RcXClcXChcXCkiIFwKLS0gICJ3 aGF0aXMgYXBwbGllZCB0byBjb25zdCBwb2ludGVyIHRvIHBvaW50ZXIgdG8gZnVuY3Rpb24iCi0t Ci0tZ2RiX3Rlc3QgIndoYXRpcyB2b2lkICgqIGNvbnN0ICopKCkiIFwKLS0gICJ0eXBlID0gdm9p ZCBcXChcXCogY29uc3QgXFwqXFwpXFwoXFwpIiBcCi0tICAid2hhdGlzIGFwcGxpZWQgdG8gcG9p bnRlciB0byBjb25zdCBwb2ludGVyIHRvIGZ1bmN0aW9uIgoKZGlmZiAtLWdpdCBhL2dkYi1mb3J0 cmFuLWNvbW1vbi5wYXRjaCBiL2dkYi1mb3J0cmFuLWNvbW1vbi5wYXRjaAppbmRleCA3NzhjOGNm Li5jOGZiNTdiIDEwMDY0NAotLS0gYS9nZGItZm9ydHJhbi1jb21tb24ucGF0Y2gKKysrIGIvZ2Ri LWZvcnRyYW4tY29tbW9uLnBhdGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL2R3YXJmMnJlYWQuYworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2Ri L2R3YXJmMnJlYWQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9n ZGIvZHdhcmYycmVhZC5jCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysg Z2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZHdhcmYycmVhZC5jCTIwMTItMDYtMDIgMjE6MzI6NTQu MzA0NTYyNTAwICswMjAwCi1AQCAtOTczNiwxMiArOTczNiwxNCBAQCByZWFkX3NldF90eXBlIChz dHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RyCistLS0gZ2RiLTcuNC41MC4yMDEyMDcxNC5vcmlnL2dk Yi9kd2FyZjJyZWFkLmMJMjAxMi0wNy0xNCAyMzozNjowOS44ODIxMzY1NDYgKzAyMDAKKysrKyBn ZGItNy40LjUwLjIwMTIwNzE0L2dkYi9kd2FyZjJyZWFkLmMJMjAxMi0wNy0xNCAyMzozNjoxMS4w MzIxMzAxODIgKzAyMDAKK0BAIC0xMTAwMywxMiArMTEwMDMsMTQgQEAgcmVhZF9zZXRfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cgogICAgcmV0dXJuIHNldF9kaWVfdHlwZSAoZGllLCBz ZXRfdHlwZSwgY3UpOwogIH0KICAKQEAgLTE5LDcgKzE5LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL2R3YXJmMnJlYWQuYwogICAgc3RydWN0IGF0dHJpYnV0ZSAqYXR0cjsKICAg IHN0cnVjdCBzeW1ib2wgKnN5bTsKICAgIENPUkVfQUREUiBiYXNlID0gKENPUkVfQUREUikgMDsK LUBAIC05NzY2LDIwICs5NzY4LDY3IEBAIHJlYWRfY29tbW9uX2Jsb2NrIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwKK0BAIC0xMTAzMywyMCArMTEwMzUsNjcgQEAgcmVhZF9jb21tb25fYmxvY2sgKHN0 cnVjdCBkaWVfaW5mbyAqZGllLAogICAgICB9CiAgICBpZiAoZGllLT5jaGlsZCAhPSBOVUxMKQog ICAgICB7CkBAIC04Nyw3ICs4Nyw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9k d2FyZjJyZWFkLmMKICAgICAgfQogIH0KICAKLUBAIC0xMzY2MSw2ICsxMzcxMCwxMyBAQCBuZXdf c3ltYm9sX2Z1bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTUwODUsNiArMTUxMzQs MTMgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkgICAgewog IAkgICAgICB2YXJfZGVjb2RlX2xvY2F0aW9uIChhdHRyLCBzeW0sIGN1KTsKICAJICAgICAgYXR0 cjIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF9leHRlcm5hbCwgY3UpOwpAQCAtMTAxLDcgKzEw MSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9kd2FyZjJyZWFkLmMKICAJICAg ICAgaWYgKFNZTUJPTF9DTEFTUyAoc3ltKSA9PSBMT0NfU1RBVElDCiAgCQkgICYmIFNZTUJPTF9W QUxVRV9BRERSRVNTIChzeW0pID09IDAKICAJCSAgJiYgIWR3YXJmMl9wZXJfb2JqZmlsZS0+aGFz X3NlY3Rpb25fYXRfemVybykKLUBAIC0xMzgyNSw2ICsxMzg4MSwxMSBAQCBuZXdfc3ltYm9sX2Z1 bGwgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzCitAQCAtMTUyNDksNiArMTUzMDUsMTEgQEAgbmV3 X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgcwogIAkgIFNZTUJPTF9DTEFTUyAo c3ltKSA9IExPQ19UWVBFREVGOwogIAkgIGxpc3RfdG9fYWRkID0gJmdsb2JhbF9zeW1ib2xzOwog IAkgIGJyZWFrOwpAQCAtMTEzLDEwICsxMTMsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2 MDIvZ2RiL2R3YXJmMnJlYWQuYwogIAlkZWZhdWx0OgogIAkgIC8qIE5vdCBhIHRhZyB3ZSByZWNv Z25pemUuICBIb3BlZnVsbHkgd2UgYXJlbid0IHByb2Nlc3NpbmcKICAJICAgICB0cmFzaCBkYXRh LCBidXQgc2luY2Ugd2UgbXVzdCBzcGVjaWZpY2FsbHkgaWdub3JlIHRoaW5ncwotSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtbGFuZy5jCitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvZi1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcv Z2RiL2YtbGFuZy5jCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2Ri LTcuNC41MC4yMDEyMDYwMi9nZGIvZi1sYW5nLmMJMjAxMi0wNi0wMiAyMTozMjo1NC4zMDU1NjI0 OTkgKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL2YtbGFuZy5jCTIwMTIt MDctMTQgMjM6MzY6MTAuOTkzMTMwMzk4ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9n ZGIvZi1sYW5nLmMJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzMxMzAxNzYgKzAyMDAKIEBAIC0zNzAs MjcgKzM3MCwzIEBAIF9pbml0aWFsaXplX2ZfbGFuZ3VhZ2UgKHZvaWQpCiAgCiAgICBhZGRfbGFu Z3VhZ2UgKCZmX2xhbmd1YWdlX2RlZm4pOwpAQCAtMTQ1LDEwICsxNDUsMTAgQEAgSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtbGFuZy5jCiAtICAgIH0KIC0gIHJldHVybiAoTlVMTCk7 CiAtfQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtbGFuZy5oCitJbmRleDogZ2Ri LTcuNC41MC4yMDEyMDcxNC9nZGIvZi1sYW5nLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUw LjIwMTIwNjAyLm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5 ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi1sYW5nLmgJMjAxMi0wNi0wMiAy MTozMjo1NC4zMjI1NjI0OTMgKzAyMDAKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9yaWcvZ2Ri L2YtbGFuZy5oCTIwMTItMDctMTQgMjM6MzY6MTAuOTk0MTMwMzkyICswMjAwCisrKysgZ2RiLTcu NC41MC4yMDEyMDcxNC9nZGIvZi1sYW5nLmgJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzQxMzAxNzEg KzAyMDAKIEBAIC01MiwzNyArNTIsOCBAQCBlbnVtIGY5MF9yYW5nZV90eXBlCiAgICAgIE5PTkVf Qk9VTkRfREVGQVVMVAkJLyogIihsb3c6aGlnaCkiICAqLwogICAgfTsKQEAgLTE4NywxMCArMTg3 LDEwIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLWxhbmcuaAogIAogIC8qIFdo ZW4gcmVhc29uYWJsZSBhcnJheSBib3VuZHMgY2Fubm90IGJlIGZldGNoZWQsIHN1Y2ggYXMgd2hl biAKICAgICB5b3UgYXNrIHRvICdtdCBwcmludCBzeW1ib2xzJyBhbmQgdGhlcmUgaXMgbm8gc3Rh Y2sgZnJhbWUgYW5kIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2YtdmFscHJpbnQu YworSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2YtdmFscHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZi12YWxwcmludC5jCTIwMTItMDYt MDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIv Zi12YWxwcmludC5jCTIwMTItMDYtMDIgMjE6MzM6NTAuNTE0NTQxMjg2ICswMjAwCistLS0gZ2Ri LTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9mLXZhbHByaW50LmMJMjAxMi0wNy0xNCAyMzozNjox MC45OTUxMzAzODcgKzAyMDAKKysrKyBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9mLXZhbHByaW50 LmMJMjAxMi0wNy0xNCAyMzozNjo1My43NDc4OTM3NzkgKzAyMDAKIEBAIC0zNCwxMCArMzQsMTEg QEAKICAjaW5jbHVkZSAiZ2RiY29yZS5oIgogICNpbmNsdWRlICJjb21tYW5kLmgiCkBAIC0yMDQs MTUgKzIwNCwxNCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi12YWxwcmludC5j CiAgc3RhdGljIHZvaWQgZjc3X2NyZWF0ZV9hcnJheXByaW50X29mZnNldF90YmwgKHN0cnVjdCB0 eXBlICosCiAgCQkJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICBzdGF0aWMgdm9pZCBmNzdf Z2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7Ci1AQCAtNDIw LDIyICs0MjEsNTQgQEAgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZAor QEAgLTQyMCwyMiArNDIxLDUzIEBAIGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29u c3QgZ2QKICAgIGdkYl9mbHVzaCAoc3RyZWFtKTsKICB9CiAgCiAtc3RhdGljIHZvaWQKIC1saXN0 X2FsbF92aXNpYmxlX2NvbW1vbnMgKGNvbnN0IGNoYXIgKmZ1bm5hbWUpCiArc3RhdGljIGludAot K2luZm9fY29tbW9uX2NvbW1hbmRfZm9yX2Jsb2NrIChzdHJ1Y3QgYmxvY2sgKmJsb2NrLCBzdHJ1 Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCi0rCQkJICAgICAgIGNvbnN0IGNoYXIgKmNvbW5hbWUpCisr aW5mb19jb21tb25fY29tbWFuZF9mb3JfYmxvY2sgKHN0cnVjdCBibG9jayAqYmxvY2ssIGNvbnN0 IGNoYXIgKmNvbW5hbWUpCiAgewogLSAgU0FWRURfRjc3X0NPTU1PTl9QVFIgdG1wOwogLQpAQCAt MjcyLDcgKzI3MSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLXZhbHByaW50 LmMKICB9CiAgCiAgLyogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHByaW50IG91dCB0aGUgdmFs dWVzIGluIGEgZ2l2ZW4gQ09NTU9OIAotQEAgLTQ0NSwxMSArNDc4LDkgQEAgbGlzdF9hbGxfdmlz aWJsZV9jb21tb25zIChjb25zdCBjaGFyICpmdQorQEAgLTQ0NSwxMSArNDc3LDkgQEAgbGlzdF9h bGxfdmlzaWJsZV9jb21tb25zIChjb25zdCBjaGFyICpmdQogIHN0YXRpYyB2b2lkCiAgaW5mb19j b21tb25fY29tbWFuZCAoY2hhciAqY29tbmFtZSwgaW50IGZyb21fdHR5KQogIHsKQEAgLTI4Niw3 ICsyODUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZi12YWxwcmludC5jCiAg CiAgICAvKiBXZSBoYXZlIGJlZW4gdG9sZCB0byBkaXNwbGF5IHRoZSBjb250ZW50cyBvZiBGNzcg Q09NTU9OIAogICAgICAgYmxvY2sgc3VwcG9zZWRseSB2aXNpYmxlIGluIHRoaXMgZnVuY3Rpb24u ICBMZXQgdXMgCi1AQCAtNDYxLDc0ICs0OTIsMzEgQEAgaW5mb19jb21tb25fY29tbWFuZCAoY2hh ciAqY29tbmFtZSwgaW50CitAQCAtNDYxLDc0ICs0OTEsMzEgQEAgaW5mb19jb21tb25fY29tbWFu ZCAoY2hhciAqY29tbmFtZSwgaW50CiAgICAvKiBUaGUgZm9sbG93aW5nIGlzIGdlbmVyYWxseSBy aXBwZWQgb2ZmIGZyb20gc3RhY2suYydzIHJvdXRpbmUgCiAgICAgICBwcmludF9mcmFtZV9pbmZv KCkuICAqLwogIApAQCAtMzQwLDcgKzMzOSw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAy L2dkYi9mLXZhbHByaW50LmMKICAgICAgewogLSAgICAgIGxpc3RfYWxsX3Zpc2libGVfY29tbW9u cyAoZnVubmFtZSk7CiAtICAgICAgcmV0dXJuOwotKyAgICAgIGlmIChpbmZvX2NvbW1vbl9jb21t YW5kX2Zvcl9ibG9jayAoYmxvY2ssIGZpLCBjb21uYW1lKSkKKysgICAgICBpZiAoaW5mb19jb21t b25fY29tbWFuZF9mb3JfYmxvY2sgKGJsb2NrLCBjb21uYW1lKSkKICsJdmFsdWVzX3ByaW50ZWQg PSAxOwogKyAgICAgIC8qIEFmdGVyIGhhbmRsaW5nIHRoZSBmdW5jdGlvbidzIHRvcC1sZXZlbCBi bG9jaywgc3RvcC4gIERvbid0CiArICAgICAgICAgY29udGludWUgdG8gaXRzIHN1cGVyYmxvY2ss IHRoZSBibG9jayBvZiBwZXItZmlsZSBzeW1ib2xzLiAgKi8KQEAgLTM3NywxMCArMzc2LDEwIEBA IEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9mLXZhbHByaW50LmMKICB9CiAgCiAgdm9p ZAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N0YWNrLmMKK0luZGV4OiBnZGItNy40 LjUwLjIwMTIwNzE0L2dkYi9zdGFjay5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC41MC4yMDEy MDYwMi5vcmlnL2dkYi9zdGFjay5jCTIwMTItMDYtMDIgMjE6MzI6NDEuNzQ2NTY3Mjk5ICswMjAw Ci0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvc3RhY2suYwkyMDEyLTA2LTAyIDIxOjMyOjU0 LjMzNTU2MjQ4OCArMDIwMAorLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvc3RhY2su YwkyMDEyLTA3LTE0IDIzOjM2OjA5LjMxNTEzOTY4MyArMDIwMAorKysrIGdkYi03LjQuNTAuMjAx MjA3MTQvZ2RiL3N0YWNrLmMJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzYxMzAxNjEgKzAyMDAKIEBA IC0xODM4LDYgKzE4MzgsOCBAQCBpdGVyYXRlX292ZXJfYmxvY2tfbG9jYWxzIChzdHJ1Y3QgYmxv Y2sKICAJY2FzZSBMT0NfQ09NUFVURUQ6CiAgCSAgaWYgKFNZTUJPTF9JU19BUkdVTUVOVCAoc3lt KSkKQEAgLTM5MCwxMSArMzg5LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9z dGFjay5jCiAgCSAgKCpjYikgKFNZTUJPTF9QUklOVF9OQU1FIChzeW0pLCBzeW0sIGNiX2RhdGEp OwogIAkgIGJyZWFrOwogIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3N5bXRhYi5o CitJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvc3ltdGFiLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL3N5bXRhYi5oCTIwMTItMDYtMDIgMjE6MzI6 NDEuNzQ2NTY3Mjk5ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvc3ltdGFiLmgJ MjAxMi0wNi0wMiAyMTozMjo1NC4zNDI1NjI0ODYgKzAyMDAKLUBAIC0zODksNyArMzg5LDEwIEBA IHR5cGVkZWYgZW51bSBkb21haW5fZW51bV90YWcKKy0tLSBnZGItNy40LjUwLjIwMTIwNzE0Lm9y aWcvZ2RiL3N5bXRhYi5oCTIwMTItMDYtMzAgMDA6NDY6NDYuMDAwMDAwMDAwICswMjAwCisrKysg Z2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvc3ltdGFiLmgJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzgx MzAxNDkgKzAyMDAKK0BAIC0zOTQsNyArMzk0LDEwIEBAIHR5cGVkZWYgZW51bSBkb21haW5fZW51 bV90YWcKICAKICAgIC8qIExBQkVMX0RPTUFJTiBtYXkgYmUgdXNlZCBmb3IgbmFtZXMgb2YgbGFi ZWxzIChmb3IgZ290b3MpLiAgKi8KICAKQEAgLTQwNiwxMCArNDA1LDEwIEBAIEluZGV4OiBnZGIt Ny40LjUwLjIwMTIwNjAyL2dkYi9zeW10YWIuaAogIH0gZG9tYWluX2VudW07CiAgCiAgLyogU2Vh cmNoaW5nIGRvbWFpbnMsIHVzZWQgZm9yIGBzZWFyY2hfc3ltYm9scycuICBFbGVtZW50IG51bWJl cnMgYXJlCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0 cmFuL2NvbW1vbi1ibG9jay5leHAKK0luZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi90ZXN0 c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYv bnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwCTIwMTIt MDYtMDIgMjE6MzI6NTQuMzQ0NTYyNDg0ICswMjAwCisrKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9n ZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAJMjAxMi0wNy0xNCAyMzoz NjoxMS4wMzgxMzAxNDkgKzAyMDAKIEBAIC0wLDAgKzEsMTAxIEBACiArIyBDb3B5cmlnaHQgMjAw OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTUxMiwxMCArNTExLDEwIEBA IEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29t bW9uLWJsb2NrLmV4cAogK2dkYl90ZXN0ICJwIGl4X3giICIgPSAxICoiICJwIGl4X3ggaW4iCiAr Z2RiX3Rlc3QgInAgaXlfeSIgIiA9IDIgKiIgInAgaXlfeSBpbiIKICtnZGJfdGVzdCAicCBpel96 MiIgIiA9IDMgKiIgInAgaXpfejIgaW4iCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIv dGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5mOTAKK0luZGV4OiBnZGItNy40LjUw LjIwMTIwNzE0L2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmY5MAogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAw MAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9jb21t b24tYmxvY2suZjkwCTIwMTItMDYtMDIgMjE6MzI6NTQuMzQ1NTYyNDgzICswMjAwCisrKysgZ2Ri LTcuNC41MC4yMDEyMDcxNC9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5m OTAJMjAxMi0wNy0xNCAyMzozNjoxMS4wMzgxMzAxNDkgKzAyMDAKIEBAIC0wLDAgKzEsNjcgQEAK ICshIENvcHlyaWdodCAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKyEKCmRp ZmYgLS1naXQgYS9nZGItaW5kZXgtYXNzZXJ0LnBhdGNoIGIvZ2RiLWluZGV4LWFzc2VydC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjZiYjEwNi4uMDAwMDAwMAotLS0gYS9n ZGItaW5kZXgtYXNzZXJ0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotaHR0 cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDYvbXNnMDAxMDkuaHRtbAot U3ViamVjdDogW1JGQV0gRml4IGluY29uc2lzdGVuY3kgaW4gYmxvY2t2ZWN0b3IgYWRkcm1hcCB2 cyBub24tYWRkcm1hcCBoYW5kbGluZwotCi1IaS4KLQotSSB3YXMgc2VlaW5nIHRoZSBhc3NlcnQg aW4gZHcyX2ZpbmRfcGNfc2VjdF9wc3ltdGFiIHRyaWdnZXIKLWFuZCB0cmFjZWQgaXQgdG8gdGhl IGZhY3QgdGhhdCB3aGVuIHBlbmRpbmdfYWRkcm1hcF9pbnRlcmVzdGluZyBnZXRzCi1zZXQgYmxv Y2t2ZWN0b3IubWFwIGlzIHVzZWQgaW5zdGVhZCBvZiBibG9ja3ZlY3Rvci5ibG9jay4KLVRoZSBk aWZmZXJlbmNlIGlzIHRoYXQgYmxvY2t2ZWN0b3IuYmxvY2sgY29udGFpbnMgZW50cmllcyBmb3Ig dGhlIGdsb2JhbAotYW5kIHN0YXRpYyBibG9ja3Mgd2hlcmVhcyBwZW5kaW5nX2FkZHJtYXAgZG9l c24ndC4KLQotVGhpcyBwYXRjaCBmaXhlcyB0aGlzIGJ5IG1ha2luZyB0aGVtIGNvbnNpc3RlbnQu Ci1JIHN1c3BlY3QgbW9yZSB3b3JrIGlzIG5lY2Vzc2FyeSAoZS5nLiBjYW4gc3ltdGFicyAib3Zl cmxhcCIgZXZlbiB0aG91Z2gKLXRoZSBpbmRpdmlkdWFsIHBpZWNlcyBkbyBub3Q/KS4KLUJ1dCBJ IGZpcnN0IHdhbnQgdG8gZml4IHRoZSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgdGhlIGNoYW5n ZQotdG8gZHcyX2ZpbmRfcGNfc2VjdF9wc3ltdGFiOiBUaGVyZSBpcyBtb3JlIGNvZGUgaW4gYSBz eW10YWIgdGhhbiBpcwotZG9jdW1lbnRlZCBieSBmdW5jdGlvbiBhbmQgbGV4aWNhbCBibG9jayBw YyByYW5nZXMgKGUuZy4gQysrIG1ldGhvZCB0aHVua3MpLgotCi1SZWdyZXNzaW9uIHRlc3RlZCBv biBhbWQ2NC1saW51eCwgYW5kIGJ5IHZlcmlmeWluZyB0aGUgYXNzZXJ0IG5vIGxvbmdlcgotdHJp Z2dlcnMgaW4gdGhlIHRlc3RjYXNlIEkgd2FzIHVzaW5nLgotCi1PayB0byBjb21taXQ/Ci0KLU5v dGUgdGhhdCB0aGlzIG9idmlhdGVzIHRoZSBuZWVkIGZvciB0aGUgcGF0Y2ggaW46Ci1odHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wNS9tc2cwMDk1OC5odG1sCi0KLUFs c28gbm90ZSB0aGF0IHRoaXMgYWNjb21wYW5pZXMgdGhpcyBwYXRjaDoKLWh0dHA6Ly9zb3VyY2V3 YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA2L21zZzAwMTA1Lmh0bWwKLQotMjAxMi0wNi0w NCAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgotCi0JKiBidWlsZHN5bS5jIChlbmRfc3lt dGFiKTogQWRkIHRoZSByYW5nZSBvZiB0aGUgc3RhdGljIGJsb2NrIHRvCi0JdGhlIHBlbmRpbmcg YWRkcm1hcC4KLQotSW5kZXg6IGJ1aWxkc3ltLmMKLT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLVJDUyBmaWxlOiAvY3Zz L3NyYy9zcmMvZ2RiL2J1aWxkc3ltLmMsdgotcmV0cmlldmluZyByZXZpc2lvbiAxLjk3Ci1kaWZm IC11IC1wIC1yMS45NyBidWlsZHN5bS5jCi0tLS0gLi9nZGIvYnVpbGRzeW0uYwkyOSBNYXkgMjAx MiAyMDoyMzoxNyAtMDAwMAkxLjk3Ci0rKysgLi9nZGIvYnVpbGRzeW0uYwk1IEp1biAyMDEyIDAw OjI2OjAxIC0wMDAwCi1AQCAtMTAyNCw4ICsxMDI3LDE1IEBAIGVuZF9zeW10YWIgKENPUkVfQURE UiBlbmRfYWRkciwgc3RydWN0IG8KLSAgICAgewotICAgICAgIC8qIERlZmluZSB0aGUgU1RBVElD X0JMT0NLICYgR0xPQkFMX0JMT0NLLCBhbmQgYnVpbGQgdGhlCi0gICAgICAgICAgYmxvY2t2ZWN0 b3IuICAqLwotLSAgICAgIGZpbmlzaF9ibG9jayAoMCwgJmZpbGVfc3ltYm9scywgMCwgbGFzdF9z b3VyY2Vfc3RhcnRfYWRkciwKLS0JCSAgICBlbmRfYWRkciwgb2JqZmlsZSk7Ci0rICAgICAgc3Ry dWN0IGJsb2NrICpzdGF0aWNfYmxvY2s7Ci0rCi0rICAgICAgc3RhdGljX2Jsb2NrID0gZmluaXNo X2Jsb2NrICgwLCAmZmlsZV9zeW1ib2xzLCAwLAotKwkJCQkgICBsYXN0X3NvdXJjZV9zdGFydF9h ZGRyLCBlbmRfYWRkciwKLSsJCQkJICAgb2JqZmlsZSk7Ci0rICAgICAgLyogTWFyayB0aGUgcmFu Z2Ugb2YgdGhlIHN0YXRpYyBibG9jayBzbyB0aGF0IGlmIHdlIGVuZCB1cCB1c2luZwotKwkgYmxv Y2t2ZWN0b3IubWFwIHRoZW4gZmluZF9ibG9ja19pbl9ibG9ja3ZlY3RvciBiZWhhdmVzIGlkZW50 aWNhbGx5Ci0rCSByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIGFkZHJtYXAgaXMgcHJlc2VudC4g ICovCi0rICAgICAgcmVjb3JkX2Jsb2NrX3JhbmdlIChzdGF0aWNfYmxvY2ssIGxhc3Rfc291cmNl X3N0YXJ0X2FkZHIsIGVuZF9hZGRyIC0gMSk7Ci0gICAgICAgZmluaXNoX2Jsb2NrX2ludGVybmFs ICgwLCAmZ2xvYmFsX3N5bWJvbHMsIDAsIGxhc3Rfc291cmNlX3N0YXJ0X2FkZHIsCi0gCQkJICAg ICBlbmRfYWRkciwgb2JqZmlsZSwgMSk7Ci0gICAgICAgYmxvY2t2ZWN0b3IgPSBtYWtlX2Jsb2Nr dmVjdG9yIChvYmpmaWxlKTsKLQoKZGlmZiAtLWdpdCBhL2dkYi1zdGFsZS1mcmFtZV9pbmZvLXB5 dGhvbi5wYXRjaCBiL2dkYi1zdGFsZS1mcmFtZV9pbmZvLXB5dGhvbi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzQyZGZhCi0tLSAvZGV2L251bGwKKysrIGIvZ2Ri LXN0YWxlLWZyYW1lX2luZm8tcHl0aG9uLnBhdGNoCkBAIC0wLDAgKzEsMjk1IEBACitodHRwOi8v c291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wNy9tc2cwMDE5Ny5odG1sCitTdWJq ZWN0OiBbcGF0Y2hdIEZpeCBhbm90aGVyIHN0YWxlIGZyYW1lX2luZm8gKiAoUFIgMTE5MTQsIGxp a2UgUFIgMTM4NjYpCisKK0hpLAorCitodHRwOi8vc291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hv d19idWcuY2dpP2lkPTExOTE0CisKK2hhcyBhbm90aGVyIGNhc2Ugb2Ygc3RhbGUgZnJhbWVfaW5m byAqLiAgT3JpZ2luYWxseSBJIGZvdW5kIGl0IHVuZml4YWJsZSB3aXRoCit0aGUgY3VycmVudCBz dHJ1Y3QgZnJhbWVfaW5mbyAqIHVzYWdlIGJ1dCBQZWRybyBoYXMgc2hvd24gaW4gUFIgMTM4NjYg aXQgaXMKK3Bvc3NpYmxlIHRvIGZpeCB0aGUgY2FzZXMgb25lIGJ5IG9uZSBzbyBJIGhhdmUgZml4 ZWQgYWxzbyB0aGlzIG9uZS4KKworSXQgZm9sbG93cyB0aGUgcGF0aCBvZiB2YWxncmluZCBiYWNr dHJhY2Ugc2hvd2luZyB3aGVyZSB0aGUgbWVtb3J5IGlzIGJlaW5nCitmcmVlZDoKKwlodHRwOi8v c291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTExOTE0I2M1CisKK1RoaXMg bWVzc2FnZSBoYXMgYmVlbiBhbHJlYWR5IHByZXNlbnQgaW4gR0RCIHNvIEkgdXNlZCBpdCBpbiBt b3JlIGNhc2VzOgorKwkgICAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8gcmVzdG9yZSBwcmV2aW91 c2x5IHNlbGVjdGVkIGZyYW1lLiIpKTsKKworTm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZf NjQtbTMyLGk2ODZ9LWZlZG9yYXJhd2hpZGUtbGludXgtZ251LgorCitJIHdpbGwgY2hlY2sgaXQg aW4gc29vbiBmb3IgNy41LgorCitJIGZpbmQgaXQgYSBiaXQgZGlmZmljdWx0IHRvIHJlbGlhYmx5 IHJlcHJvZHVjZSwgdGhpcyB0ZXN0Y2FzZXMgbW9zdGx5IGFsd2F5cworY3Jhc2hlcyBmb3IgbWUg KGF0IGxlYXN0IHdpdGggLWxtY2hlY2spLgorCisKK1RoYW5rcywKK0phbgorCisKK2dkYi8KKzIw MTItMDctMTQgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KKwor CVBSIDExOTE0CisJKiBmLXZhbHByaW50LmMgKGluZm9fY29tbW9uX2NvbW1hbmQpOiBOZXcgdmFy aWFibGUgZnJhbWVfaWQuCisJUmVpbml0aWFsaXplIEZJIGZvcm0gRlJBTUVfSUQgYWZ0ZXIgZWFj aCBwcmludF92YXJpYWJsZV9hbmRfdmFsdWUuCisJKiBwcmludGNtZC5jIChwcmludF92YXJpYWJs ZV9hbmRfdmFsdWUpOiBFeHRlbmQgZnVuY3Rpb24gY29tbWVudC4KKwlBZGQgY29tbWVudCBmb3Ig aW52YWxpZGF0ZWQgRlJBTUUuCisJKiBzdGFjay5jIChiYWNrdHJhY2VfY29tbWFuZF8xKTogTmV3 IHZhcmlhYmxlIGZyYW1lX2lkLiAgUmVpbml0aWFsaXplCisJRkkgZm9ybSBGUkFNRV9JRCBhZnRl ciBlYWNoIHByaW50X2ZyYW1lX2xvY2FsX3ZhcnMuCisJKHN0cnVjdCBwcmludF92YXJpYWJsZV9h bmRfdmFsdWVfZGF0YSk6IENoYW5nZSBmcmFtZSB0byBmcmFtZV9pZC4KKwkoZG9fcHJpbnRfdmFy aWFibGVfYW5kX3ZhbHVlKTogTmV3IHZhcmlhYmxlIGZyYW1lLCBpbml0aWFsaXplIGl0IGZyb20K KwlwLT5mcmFtZV9pZC4gIEFkZCBjb21tZW50IGZvciBpbnZhbGlkYXRlZCBGUkFNRS4KKwkocHJp bnRfZnJhbWVfbG9jYWxfdmFycywgcHJpbnRfZnJhbWVfYXJnX3ZhcnMpOiBOZXcgZnVuY3Rpb24g Y29tbWVudC4KKwlVcGRhdGUgQ0JfREFUQS5GUkFNRSB0byBDQl9EQVRBLkZSQU1FX0lEIGluaXRp YWxpemF0aW9uLiAgQWRkIGNvbW1lbnQKKwlmb3IgaW52YWxpZGF0ZWQgRlJBTUUuCisKK2dkYi90 ZXN0c3VpdGUvCisyMDEyLTA3LTE0ICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2NodmlsQHJl ZGhhdC5jb20+CisKKwlQUiAxMTkxNAorCSogZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5jIChl dmFsX2Z1bmMsIGV2YWxfc3ViKTogTmV3LgorCShtYWluKTogQ2FsbCBldmFsX3N1Yi4KKwkqIGdk Yi5weXRob24vcHktcHJldHR5cHJpbnQuZXhwOgorCShweXRob24gZXhlY2ZpbGUgKCdweS1wcmV0 dHlwcmludC5weScpKTogTW92ZSBpdCBlYXJsaWVyLgorCU5ldyBicmVha3BvaW50IGZvciBldmFs LWJyZWFrLgorCShjb250aW51ZSB0byBicmVha3BvaW50OiBldmFsLWJyZWFrLCBpbmZvIGxvY2Fs cyk6IE5ldyB0ZXN0LgorCShweXRob24gZXhlY2ZpbGUgKCdweS1wcmV0dHlwcmludC5weScpKTog TW92ZSBpdCBmcm9tIGhlcmUuCisJKiBnZGIucHl0aG9uL3B5LXByZXR0eXByaW50LnB5IChjbGFz cyBwcF9ldmFsX3R5cGUpOiBOZXcuCisJKHJlZ2lzdGVyX3ByZXR0eV9wcmludGVycyk6IFJlZ2lz dGVyIHBwX2V2YWxfdHlwZS4KKworZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3By aW50Y21kLmMKK2luZGV4IDJhMGE4ODYuLmQ1YjViNjMgMTAwNjQ0CistLS0gYS9nZGIvcHJpbnRj bWQuYworKysrIGIvZ2RiL3ByaW50Y21kLmMKK0BAIC0xOTYxLDcgKzE5NjEsOSBAQCBjbGVhcl9k YW5nbGluZ19kaXNwbGF5X2V4cHJlc3Npb25zIChzdHJ1Y3Qgc29fbGlzdCAqc29saWIpCisgICAg c3RydWN0IHN5bWJvbC4gIE5BTUUgaXMgdGhlIG5hbWUgdG8gcHJpbnQ7IGlmIE5VTEwgdGhlbiBW QVIncyBwcmludAorICAgIG5hbWUgd2lsbCBiZSB1c2VkLiAgU1RSRUFNIGlzIHRoZSB1aV9maWxl IG9uIHdoaWNoIHRvIHByaW50IHRoZQorICAgIHZhbHVlLiAgSU5ERU5UIHNwZWNpZmllcyB0aGUg bnVtYmVyIG9mIGluZGVudCBsZXZlbHMgdG8gcHJpbnQKKy0gICBiZWZvcmUgcHJpbnRpbmcgdGhl IHZhcmlhYmxlIG5hbWUuICAqLworKyAgIGJlZm9yZSBwcmludGluZyB0aGUgdmFyaWFibGUgbmFt ZS4KKysKKysgICBUaGlzIGZ1bmN0aW9uIGludmFsaWRhdGVzIEZSQU1FLiAgKi8KKyAKKyB2b2lk CisgcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3lt Ym9sICp2YXIsCitAQCAtMTk4Myw2ICsxOTg1LDEwIEBAIHByaW50X3ZhcmlhYmxlX2FuZF92YWx1 ZSAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHN5bWJvbCAqdmFyLAorICAgICAgIGdldF91c2Vy X3ByaW50X29wdGlvbnMgKCZvcHRzKTsKKyAgICAgICBvcHRzLmRlcmVmX3JlZiA9IDE7CisgICAg ICAgY29tbW9uX3ZhbF9wcmludCAodmFsLCBzdHJlYW0sIGluZGVudCwgJm9wdHMsIGN1cnJlbnRf bGFuZ3VhZ2UpOworKworKyAgICAgIC8qIGNvbW1vbl92YWxfcHJpbnQgaW52YWxpZGF0ZXMgRlJB TUUgd2hlbiBhIHByZXR0eSBwcmludGVyIGNhbGxzIGluZmVyaW9yCisrCSBmdW5jdGlvbi4gICov CisrICAgICAgZnJhbWUgPSBOVUxMOworICAgICB9CisgICBpZiAoZXhjZXB0LnJlYXNvbiA8IDAp CisgICAgIGZwcmludGZfZmlsdGVyZWQoc3RyZWFtLCAiPGVycm9yIHJlYWRpbmcgdmFyaWFibGUg JXMgKCVzKT4iLCBuYW1lLAorZGlmZiAtLWdpdCBhL2dkYi9zdGFjay5jIGIvZ2RiL3N0YWNrLmMK K2luZGV4IDI1MjBlMmMuLjM1ZDM3OWQgMTAwNjQ0CistLS0gYS9nZGIvc3RhY2suYworKysrIGIv Z2RiL3N0YWNrLmMKK0BAIC0xNzI3LDcgKzE3MjcsMjAgQEAgYmFja3RyYWNlX2NvbW1hbmRfMSAo Y2hhciAqY291bnRfZXhwLCBpbnQgc2hvd19sb2NhbHMsIGludCBmcm9tX3R0eSkKKyAgICAgICAg ICB0aGUgZnJhbWUtPnByZXYgZmllbGQgZ2V0cyBzZXQgdG8gTlVMTCBpbiB0aGF0IGNhc2UpLiAg Ki8KKyAgICAgICBwcmludF9mcmFtZV9pbmZvIChmaSwgMSwgTE9DQVRJT04sIDEpOworICAgICAg IGlmIChzaG93X2xvY2FscykKKy0JcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoZmksIDEsIGdkYl9z dGRvdXQpOworKwl7CisrCSAgc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lkID0gZ2V0X2ZyYW1lX2lk IChmaSk7CisrCisrCSAgcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoZmksIDEsIGdkYl9zdGRvdXQp OworKworKwkgIC8qIHByaW50X2ZyYW1lX2xvY2FsX3ZhcnMgaW52YWxpZGF0ZXMgRkkuICAqLwor KwkgIGZpID0gZnJhbWVfZmluZF9ieV9pZCAoZnJhbWVfaWQpOworKwkgIGlmIChmaSA9PSBOVUxM KQorKwkgICAgeworKwkgICAgICB0cmFpbGluZyA9IE5VTEw7CisrCSAgICAgIHdhcm5pbmcgKF8o IlVuYWJsZSB0byByZXN0b3JlIHByZXZpb3VzbHkgc2VsZWN0ZWQgZnJhbWUuIikpOworKwkgICAg ICBicmVhazsKKysJICAgIH0KKysJfQorIAorICAgICAgIC8qIFNhdmUgdGhlIGxhc3QgZnJhbWUg dG8gY2hlY2sgZm9yIGVycm9yIGNvbmRpdGlvbnMuICAqLworICAgICAgIHRyYWlsaW5nID0gZmk7 CitAQCAtMTkxOSw3ICsxOTMyLDcgQEAgaXRlcmF0ZV9vdmVyX2Jsb2NrX2xvY2FsX3ZhcnMgKHN0 cnVjdCBibG9jayAqYmxvY2ssCisgCisgc3RydWN0IHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZV9k YXRhCisgeworLSAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lOworKyAgc3RydWN0IGZyYW1lX2lk IGZyYW1lX2lkOworICAgaW50IG51bV90YWJzOworICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbTsK KyAgIGludCB2YWx1ZXNfcHJpbnRlZDsKK0BAIC0xOTMzLDEyICsxOTQ2LDI4IEBAIGRvX3ByaW50 X3ZhcmlhYmxlX2FuZF92YWx1ZSAoY29uc3QgY2hhciAqcHJpbnRfbmFtZSwKKyAJCQkgICAgIHZv aWQgKmNiX2RhdGEpCisgeworICAgc3RydWN0IHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZV9kYXRh ICpwID0gY2JfZGF0YTsKKysgIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZTsKKysKKysgIGZyYW1l ID0gZnJhbWVfZmluZF9ieV9pZCAocC0+ZnJhbWVfaWQpOworKyAgaWYgKGZyYW1lID09IE5VTEwp CisrICAgIHsKKysgICAgICB3YXJuaW5nIChfKCJVbmFibGUgdG8gcmVzdG9yZSBwcmV2aW91c2x5 IHNlbGVjdGVkIGZyYW1lLiIpKTsKKysgICAgICByZXR1cm47CisrICAgIH0KKysKKysgIHByaW50 X3ZhcmlhYmxlX2FuZF92YWx1ZSAocHJpbnRfbmFtZSwgc3ltLCBmcmFtZSwgcC0+c3RyZWFtLCBw LT5udW1fdGFicyk7CisrCisrICAvKiBwcmludF92YXJpYWJsZV9hbmRfdmFsdWUgaW52YWxpZGF0 ZXMgRlJBTUUuICAqLworKyAgZnJhbWUgPSBOVUxMOworIAorLSAgcHJpbnRfdmFyaWFibGVfYW5k X3ZhbHVlIChwcmludF9uYW1lLCBzeW0sCistCQkJICAgIHAtPmZyYW1lLCBwLT5zdHJlYW0sIHAt Pm51bV90YWJzKTsKKyAgIHAtPnZhbHVlc19wcmludGVkID0gMTsKKyB9CisgCisrLyogUHJpbnQg YWxsIHZhcmlhYmxlcyBmcm9tIHRoZSBpbm5lcm1vc3QgdXAgdG8gdGhlIGZ1bmN0aW9uIGJsb2Nr IG9mIEZSQU1FLgorKyAgIFByaW50IHRoZW0gd2l0aCB2YWx1ZXMgdG8gU1RSRUFNIGluZGVudGVk IGJ5IE5VTV9UQUJTLgorKworKyAgIFRoaXMgZnVuY3Rpb24gd2lsbCBpbnZhbGlkYXRlIEZSQU1F LiAgKi8KKysKKyBzdGF0aWMgdm9pZAorIHByaW50X2ZyYW1lX2xvY2FsX3ZhcnMgKHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZSwgaW50IG51bV90YWJzLAorIAkJCXN0cnVjdCB1aV9maWxlICpzdHJl YW0pCitAQCAtMTk2MSw3ICsxOTkwLDcgQEAgcHJpbnRfZnJhbWVfbG9jYWxfdmFycyAoc3RydWN0 IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgbnVtX3RhYnMsCisgICAgICAgcmV0dXJuOworICAgICB9 CisgCistICBjYl9kYXRhLmZyYW1lID0gZnJhbWU7CisrICBjYl9kYXRhLmZyYW1lX2lkID0gZ2V0 X2ZyYW1lX2lkIChmcmFtZSk7CisgICBjYl9kYXRhLm51bV90YWJzID0gNCAqIG51bV90YWJzOwor ICAgY2JfZGF0YS5zdHJlYW0gPSBzdHJlYW07CisgICBjYl9kYXRhLnZhbHVlc19wcmludGVkID0g MDsKK0BAIC0xOTcwLDYgKzE5OTksOSBAQCBwcmludF9mcmFtZV9sb2NhbF92YXJzIChzdHJ1Y3Qg ZnJhbWVfaW5mbyAqZnJhbWUsIGludCBudW1fdGFicywKKyAJCQkJIGRvX3ByaW50X3ZhcmlhYmxl X2FuZF92YWx1ZSwKKyAJCQkJICZjYl9kYXRhKTsKKyAKKysgIC8qIGRvX3ByaW50X3ZhcmlhYmxl X2FuZF92YWx1ZSBpbnZhbGlkYXRlcyBGUkFNRS4gICovCisrICBmcmFtZSA9IE5VTEw7CisrCisg ICBpZiAoIWNiX2RhdGEudmFsdWVzX3ByaW50ZWQpCisgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0 cmVhbSwgXygiTm8gbG9jYWxzLlxuIikpOworIH0KK0BAIC0yMDE2LDYgKzIwNDgsMTEgQEAgaXRl cmF0ZV9vdmVyX2Jsb2NrX2FyZ192YXJzIChzdHJ1Y3QgYmxvY2sgKmIsCisgICAgIH0KKyB9Cisg CisrLyogUHJpbnQgYWxsIGFyZ3VtZW50IHZhcmlhYmxlcyBvZiB0aGUgZnVuY3Rpb24gb2YgRlJB TUUuCisrICAgUHJpbnQgdGhlbSB3aXRoIHZhbHVlcyB0byBTVFJFQU0uCisrCisrICAgVGhpcyBm dW5jdGlvbiB3aWxsIGludmFsaWRhdGUgRlJBTUUuICAqLworKworIHN0YXRpYyB2b2lkCisgcHJp bnRfZnJhbWVfYXJnX3ZhcnMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSkKKyB7CitAQCAtMjAzNiw3ICsyMDczLDcgQEAgcHJpbnRfZnJhbWVfYXJnX3Zh cnMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKKyAg ICAgICByZXR1cm47CisgICAgIH0KKyAKKy0gIGNiX2RhdGEuZnJhbWUgPSBmcmFtZTsKKysgIGNi X2RhdGEuZnJhbWVfaWQgPSBnZXRfZnJhbWVfaWQgKGZyYW1lKTsKKyAgIGNiX2RhdGEubnVtX3Rh YnMgPSAwOworICAgY2JfZGF0YS5zdHJlYW0gPSBnZGJfc3Rkb3V0OworICAgY2JfZGF0YS52YWx1 ZXNfcHJpbnRlZCA9IDA7CitAQCAtMjA0NCw2ICsyMDgxLDkgQEAgcHJpbnRfZnJhbWVfYXJnX3Zh cnMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKKyAg IGl0ZXJhdGVfb3Zlcl9ibG9ja19hcmdfdmFycyAoU1lNQk9MX0JMT0NLX1ZBTFVFIChmdW5jKSwK KyAJCQkgICAgICAgZG9fcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVlLCAmY2JfZGF0YSk7CisgCisr ICAvKiBkb19wcmludF92YXJpYWJsZV9hbmRfdmFsdWUgaW52YWxpZGF0ZXMgRlJBTUUuICAqLwor KyAgZnJhbWUgPSBOVUxMOworKworICAgaWYgKCFjYl9kYXRhLnZhbHVlc19wcmludGVkKQorICAg ICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIk5vIGFyZ3VtZW50cy5cbiIpKTsKKyB9Citk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmMgYi9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuYworaW5kZXggMGZmN2IzMy4u MWZmOWUwNSAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlw cmludC5jCisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuYwor QEAgLTIxOSw2ICsyMTksMjIgQEAgc3RydWN0IG51bGxzdHIKKyBzdHJ1Y3Qgc3RyaW5nX3JlcHIg c3RyaW5nXzEgPSB7IHsgIm9uZSIgfSB9OworIHN0cnVjdCBzdHJpbmdfcmVwciBzdHJpbmdfMiA9 IHsgeyAidHdvIiB9IH07CisgCisrc3RhdGljIGludAorK2V2YWxfZnVuYyAoaW50IHAxLCBpbnQg cDIsIGludCBwMywgaW50IHA0LCBpbnQgcDUsIGludCBwNiwgaW50IHA3LCBpbnQgcDgpCisrewor KyAgcmV0dXJuIHAxOworK30KKysKKytzdGF0aWMgdm9pZAorK2V2YWxfc3ViICh2b2lkKQorK3sK KysgIHN0cnVjdCBldmFsX3R5cGVfcyB7IGludCB4OyB9IGV2YWwxID0geyAxIH0sIGV2YWwyID0g eyAyIH0sIGV2YWwzID0geyAzIH0sCisrCQkJCWV2YWw0ID0geyA0IH0sIGV2YWw1ID0geyA1IH0s IGV2YWw2ID0geyA2IH0sCisrCQkJCWV2YWw3ID0geyA3IH0sIGV2YWw4ID0geyA4IH0sIGV2YWw5 ID0geyA5IH07CisrCisrICBldmFsMS54Kys7IC8qIGV2YWwtYnJlYWsgKi8KKyt9CisrCisgaW50 CisgbWFpbiAoKQorIHsKK0BAIC0zMDksNSArMzI1LDcgQEAgbWFpbiAoKQorICAgCisgICBuc3R5 cGUyID0gbnN0eXBlOworIAorKyAgZXZhbF9zdWIgKCk7CisrCisgICByZXR1cm4gMDsgICAgICAv KiBicmVhayB0byBpbnNwZWN0IHN0cnVjdCBhbmQgdW5pb24gKi8KKyB9CitkaWZmIC0tZ2l0IGEv Z2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LXByZXR0eXByaW50LmV4cCBiL2dkYi90ZXN0c3Vp dGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5leHAKK2luZGV4IGE2YzI0MWEuLjIyYWY4M2Mg MTAwNjQ0CistLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuZXhw CisrKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktcHJldHR5cHJpbnQuZXhwCitAQCAt MTIzLDE0ICsxMjMsMTkgQEAgaWYgIVtydW50b19tYWluIF0gdGhlbiB7CisgICAgIHJldHVybgor IH0KKyAKKy1nZGJfdGVzdCAiYiBbZ2RiX2dldF9saW5lX251bWJlciB7YnJlYWsgdG8gaW5zcGVj dH0gJHt0ZXN0ZmlsZX0uYyBdIiBcCistICAgICIuKkJyZWFrcG9pbnQuKiIKKy1nZGJfdGVzdCAi Y29udGludWUiICIuKkJyZWFrcG9pbnQuKiIKKy0KKyBzZXQgcmVtb3RlX3B5dGhvbl9maWxlIFty ZW1vdGVfZG93bmxvYWQgaG9zdCAke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7dGVzdGZpbGV9LnB5XQor IAorIGdkYl90ZXN0X25vX291dHB1dCAicHl0aG9uIGV4ZWNmaWxlICgnJHtyZW1vdGVfcHl0aG9u X2ZpbGV9JykiCisgCisrZ2RiX2JyZWFrcG9pbnQgW2dkYl9nZXRfbGluZV9udW1iZXIgImV2YWwt YnJlYWsiXQorK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJldmFsLWJyZWFrIiAiLiogZXZh bC1icmVhayAuKiIKKysKKytnZGJfdGVzdCAiaW5mbyBsb2NhbHMiICJldmFsOSA9IGV2YWw9PDEy MzQ1Njc4OT4iCisrCisrZ2RiX3Rlc3QgImIgW2dkYl9nZXRfbGluZV9udW1iZXIge2JyZWFrIHRv IGluc3BlY3R9ICR7dGVzdGZpbGV9LmMgXSIgXAorKyAgICAiLipCcmVha3BvaW50LioiCisrZ2Ri X3Rlc3QgImNvbnRpbnVlIiAiLipCcmVha3BvaW50LioiCisrCisgZ2RiX3Rlc3QgInByaW50IHNz IiAiID0gYT08IGE9PDE+IGI9PCRoZXg+PiBiPTwgYT08Mj4gYj08JGhleD4+IiBcCisgICAgICJw cmludCBzcyBlbmFibGVkICMxIgorIAorZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLnB5 dGhvbi9weS1wcmV0dHlwcmludC5weSBiL2dkYi90ZXN0c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0 dHlwcmludC5weQoraW5kZXggNTJmZmQxYS4uYjAyYjkwZiAxMDA2NDQKKy0tLSBhL2dkYi90ZXN0 c3VpdGUvZ2RiLnB5dGhvbi9weS1wcmV0dHlwcmludC5weQorKysrIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIucHl0aG9uL3B5LXByZXR0eXByaW50LnB5CitAQCAtMTk5LDYgKzE5OSwxNCBAQCBjbGFzcyBN ZW1vcnlFcnJvclN0cmluZzoKKyAgICAgZGVmIGRpc3BsYXlfaGludCAoc2VsZik6CisgICAgICAg ICByZXR1cm4gJ3N0cmluZycKKyAKKytjbGFzcyBwcF9ldmFsX3R5cGU6CisrICAgIGRlZiBfX2lu aXRfXyhzZWxmLCB2YWwpOgorKyAgICAgICAgc2VsZi52YWwgPSB2YWwKKysKKysgICAgZGVmIHRv X3N0cmluZyhzZWxmKToKKysJZ2RiLmV4ZWN1dGUoImJ0IiwgdG9fc3RyaW5nPVRydWUpCisrICAg ICAgICByZXR1cm4gImV2YWw9PCIgKyBzdHIoZ2RiLnBhcnNlX2FuZF9ldmFsKCJldmFsX2Z1bmMg KDEyMzQ1Njc4OSwgMiwgMywgNCwgNSwgNiwgNywgOCkiKSkgKyAiPiIKKysKKyBkZWYgbG9va3Vw X2Z1bmN0aW9uICh2YWwpOgorICAgICAiTG9vay11cCBhbmQgcmV0dXJuIGEgcHJldHR5LXByaW50 ZXIgdGhhdCBjYW4gcHJpbnQgdmFsLiIKKyAKK0BAIC0yNzYsNiArMjg0LDggQEAgZGVmIHJlZ2lz dGVyX3ByZXR0eV9wcmludGVycyAoKToKKyAKKyAgICAgcHJldHR5X3ByaW50ZXJzX2RpY3RbcmUu Y29tcGlsZSAoJ15tZW1vcnlfZXJyb3IkJyldICA9IE1lbW9yeUVycm9yU3RyaW5nCisgCisrICAg IHByZXR0eV9wcmludGVyc19kaWN0W3JlLmNvbXBpbGUgKCdeZXZhbF90eXBlX3MkJyldID0gcHBf ZXZhbF90eXBlCisrCisgcHJldHR5X3ByaW50ZXJzX2RpY3QgPSB7fQorIAorIHJlZ2lzdGVyX3By ZXR0eV9wcmludGVycyAoKQorCgpkaWZmIC0tZ2l0IGEvZ2RiLXVwc3RyZWFtLnBhdGNoIGIvZ2Ri LXVwc3RyZWFtLnBhdGNoCmluZGV4IGU2OWRlMjkuLjdhYzliOGQgMTAwNjQ0Ci0tLSBhL2dkYi11 cHN0cmVhbS5wYXRjaAorKysgYi9nZGItdXBzdHJlYW0ucGF0Y2gKQEAgLTAsMCArMSw1NSBAQAor aHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTItMDcvbXNnMDAyMDAuaHRt bAorU3ViamVjdDogW29idl0gdGVzdHN1aXRlOiBGaXggZmlzc2lvbi1yZXJlYWQuUyByZWdyZXNz aW9uIGJ5IG1lCisKK0hpIERvdWcsCisKK0kgYnJva2UgdGhlIHRlc3RjYXNlIGJ5IHBhdGNoCisJ W3BhdGNoIDEvMl0gdGVzdGNhc2U6IE1ha2UgaXQgLW0zMiBjb21wYXRpYmxlIFtSZTogW2NvbW1p dF0gRml4IHJlcmVhZGluZyBvZiBEV08gRElFc10KKwlodHRwOi8vc291cmNld2FyZS5vcmcvbWwv Z2RiLXBhdGNoZXMvMjAxMi0wNy9tc2cwMDAwOS5odG1sCisKK1RoZSB0ZXN0Y2FzZSBpdHNlbGYg dXN1YWxseSBQQVNTZXMgYnV0IHNvbWV0aW1lcyBpdCBkb2VzIG5vdC4gIEl0IGlzIG1vcmUKK2Ns ZWFyIHdpdGggJ3JlYWRlbGYgLXdpJzoKKyAgICA8N2I+ICAgRFdfQVRfZnJhbWVfYmFzZSAgOiA5 NyBieXRlIGJsb2NrOiA3YSAwIDEgNyAxOSA4YiA3ZSBhYyBjZSBmMSAyMiA5MCAyIGZiIDEgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA1MSBjZCAxIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIAkoRFdfT1Bf YnJlZzEwIChyMTApOiAwOyAoVW5rbm93biBsb2NhdGlvbiBvcCkpCisKK0NoZWNrZWQgaW4uCisK KworU29ycnksCitKYW4KKworCitodHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLWN2cy8yMDEy LTA3L21zZzAwMTAyLmh0bWwKKworLS0tIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwkyMDEy LzA3LzEzIDIwOjI2OjEwCTEuMzI5MgorKysrIHNyYy9nZGIvdGVzdHN1aXRlL0NoYW5nZUxvZwky MDEyLzA3LzE1IDA4OjM0OjU1CTEuMzI5MworQEAgLTEsMyArMSw5IEBACisrMjAxMi0wNy0xNSAg SmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorKworKwlGaXggYSB0 ZXN0Y2FzZSByZWdyZXNzaW9uIGJ5IG1lLgorKwkqIGdkYi5kd2FyZjIvZmlzc2lvbi1yZXJlYWQu UzogRml4IHR3byBEV19GT1JNX2RhdGE4IHRvIGJlCisrCURXX0ZPUk1fZGF0YTQuCisrCisgMjAx Mi0wNy0xMyAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPgorIAkg ICAgRG91ZyBFdmFucyAgPGRqZUBnb29nbGUuY29tPgorIAorLS0tIHNyYy9nZGIvdGVzdHN1aXRl L2dkYi5kd2FyZjIvZmlzc2lvbi1yZXJlYWQuUwkyMDEyLzA3LzAyIDIwOjEwOjQ4CTEuMworKysr IHNyYy9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZmlzc2lvbi1yZXJlYWQuUwkyMDEyLzA3LzE1 IDA4OjM0OjU1CTEuNAorQEAgLTIzMSw3ICsyMzEsNyBAQAorIAkudWxlYjEyOCAweDExCS8qIChE V19BVF9sb3dfcGMpICovCisgCS51bGViMTI4IDB4MQkvKiAoRFdfRk9STV9hZGRyKSAqLworIAku dWxlYjEyOCAweDEyCS8qIChEV19BVF9oaWdoX3BjKSAqLworLQkudWxlYjEyOCAweDcJLyogKERX X0ZPUk1fZGF0YTgpICovCisrCS51bGViMTI4IDB4NgkvKiAoRFdfRk9STV9kYXRhNCkgKi8KKyAJ LnVsZWIxMjggMHgxMAkvKiAoRFdfQVRfc3RtdF9saXN0KSAqLworIAkudWxlYjEyOCAweDE3CS8q IChEV19GT1JNX3NlY19vZmZzZXQpICovCisgCS51bGViMTI4IDB4MWIJLyogKERXX0FUX2NvbXBf ZGlyKSAqLworQEAgLTM1MSw3ICszNTEsNyBAQAorIAkudWxlYjEyOCAweDExCS8qIChEV19BVF9s b3dfcGMpICovCisgCS51bGViMTI4IDB4MWYwMQkvKiAoRFdfRk9STV9HTlVfYWRkcl9pbmRleCkg Ki8KKyAJLnVsZWIxMjggMHgxMgkvKiAoRFdfQVRfaGlnaF9wYykgKi8KKy0JLnVsZWIxMjggMHg3 CS8qIChEV19GT1JNX2RhdGE4KSAqLworKwkudWxlYjEyOCAweDYJLyogKERXX0ZPUk1fZGF0YTQp ICovCisgCS51bGViMTI4IDB4NDAJLyogKERXX0FUX2ZyYW1lX2Jhc2UpICovCisgCS51bGViMTI4 IDB4MTgJLyogKERXX0ZPUk1fZXhwcmxvYykgKi8KKyAJLmJ5dGUJMAorCgpkaWZmIC0tZ2l0IGEv Z2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA5MGIxMGI2Li5mNjNjYThjIDEwMDY0NAotLS0gYS9n ZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzAsMTIgKzMwLDEyIEBAIE5hbWU6ICV7P3NjbF9w cmVmaXh9Z2RiCiAjIFNldCB2ZXJzaW9uIHRvIGNvbnRlbnRzIG9mIGdkYi92ZXJzaW9uLmluLgog IyBOT1RFOiB0aGUgRlNGIGdkYiB2ZXJzaW9ucyBhcmUgbnVtYmVyZWQgTi5NIGZvciBvZmZpY2lh bCByZWxlYXNlcywgbGlrZSA2LjMKICMgYW5kLCBzaW5jZSBKYW51YXJ5IDIwMDUsIFguWS5aLmRh dGUgZm9yIGRhaWx5IHNuYXBzaG90cywgbGlrZSA2LjMuNTAuMjAwNTAxMTIgIyAoZGFpbHkgc25h cHNob3QgZnJvbSBtYWlsaW5lKSwgb3IgNi4zLjAuMjAwNDAxMTIgKGhlYWQgb2YgdGhlIHJlbGVh c2UgYnJhbmNoKS4KLSVnbG9iYWwgc25hcCAyMDEyMDcwMworJWdsb2JhbCBzbmFwIDIwMTIwNzE0 CiBWZXJzaW9uOiA3LjQuNTAuJXtzbmFwfQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlu cyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0n IGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBj b21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDEzJXs/ZGlzdH0KK1JlbGVhc2U6 IDE0JXs/ZGlzdH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25z IGFuZCBHUEx2MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2 MisgYW5kIEJTRCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2Vy cwpAQCAtNDc5LDEwICs0NzksNiBAQCBQYXRjaDQ5NjogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJv ci5wYXRjaAogIz1wdXNoOiBUaGVyZSBpcyBkaWZmZXJlbnQgcGF0Y2ggb24gZ2RiLXBhdGNoZXMs IHdhaXRpbmcgbm93IGZvciByZXNvbHV0aW9uIGluIGtlcm5lbC4KIFBhdGNoNTA0OiBnZGItYno2 MjM3NDktZ2NvcmUtcmVscm8ucGF0Y2gKIAotIyBGaXggbG9zdCBzaWdpbmZvX3QgaW4gbGludXgt bmF0IChCWiA1OTIwMzEpLgotIz1wdXNoCi1QYXRjaDUxMTogZ2RiLWJ6NTkyMDMxLXNpZ2luZm8t bG9zdC01b2Y1LnBhdGNoCi0KICMgVmVyaWZ5IEdEQiBQeXRob24gYnVpbHQtaW4gZnVuY3Rpb24g Z2RiLnNvbGliX2FkZHJlc3MgZXhpc3RzIChCWiAjIDYzNDEwOCkuCiAjPWZlZG9yYXRlc3QKIFBh dGNoNTI2OiBnZGItYno2MzQxMDgtc29saWJfYWRkcmVzcy5wYXRjaApAQCAtNTUyLDEwICs1NDgs NiBAQCBQYXRjaDY5MDogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiAjPWZlZG9y YQogUGF0Y2g2OTQ6IGdkYi1kaXNhYmxlLW1jaGVjay5wYXRjaAogCi0jIEZpeCBhc3NlcnRpb24g b24gc29tZSBmaWxlcyBhcyBnbGliYy0yLjE1LjkwLTguZmMxOCAoRG91ZyBFdmFucykuCi0jPXB1 c2gKLVBhdGNoNjk1OiBnZGItaW5kZXgtYXNzZXJ0LnBhdGNoCi0KICMgSW5jbHVkZSB0ZXN0Y2Fz ZSBmb3IgYFVuYWJsZSB0byBzZWUgYSB2YXJpYWJsZSBpbnNpZGUgYSBtb2R1bGUgKFhMRiknIChC WiA4MjM3ODkpLgogIz1mZWRvcmF0ZXN0CiAjK3BwYwpAQCAtNTY1LDE0ICs1NTcsMTQgQEAgUGF0 Y2g2OTg6IGdkYi1yaGVsNS45LXRlc3RjYXNlLXhsZi12YXItaW5zaWRlLW1vZC5wYXRjaAogIz1m ZWRvcmF0ZXN0CiBQYXRjaDcwMzogZ2RiLXJoYnotODE4MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1w cmVmaXgtdGVzdGNhc2UucGF0Y2gKIAotIyBSZXZlcnQgZnVuY3Rpb24gcmV0dXJuaW5nIHBvaW50 ZXIgZml4IChQUiA5NTE0KSByZWdyZXNzaW5nIEZlZG9yYSBlcnJubyBwYXRjaC4KLSM9cHVzaAot UGF0Y2g3MTU6IGdkYi1lcnJuby1mdW5jLWRhdGF0eXBlLXJldmVydC5wYXRjaAotCiAjIEltcGxl bWVudCBNaW5pRGVidWdJbmZvIEYtMTggRmVhdHVyZSBjb25zdW1lciAoQWxleGFuZGVyIExhcnNz b24sIEJaIDgzNDA2OCkuCiAjPWZlZG9yYQogUGF0Y2g3MTY6IGdkYi1taW5pZGVidWdpbmZvLnBh dGNoCiAKKyMgRml4IGFub3RoZXIgc3RhbGUgZnJhbWVfaW5mbyAqIChQUiAxMTkxNCwgbGlrZSBQ UiAxMzg2NikuCisjPXB1c2gKK1BhdGNoNzE4OiBnZGItc3RhbGUtZnJhbWVfaW5mby1weXRob24u cGF0Y2gKKwogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2CiAjIFJMX1NUQVRFX0ZF RE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2NDI6IGdkYi1yZWFkbGlu ZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC03NjAsNyArNzUyLDYgQEAgcm0gLWYgZ2RiL2p2LWV4 cC5jIGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoMiAtcDEK IAogJXBhdGNoMjMyIC1wMQotJXBhdGNoNzE1IC1wMQogJXBhdGNoMzQ5IC1wMQogJXBhdGNoMSAt cDEKICVwYXRjaDMgLXAxCkBAIC04NTAsNyArODQxLDYgQEAgcm0gLWYgZ2RiL2p2LWV4cC5jIGdk Yi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBhdGNoNDkxIC1wMQogJXBh dGNoNDk2IC1wMQogJXBhdGNoNTA0IC1wMQotJXBhdGNoNTExIC1wMQogJXBhdGNoNTI2IC1wMQog JXBhdGNoNTQyIC1wMQogJXBhdGNoNTQ3IC1wMQpAQCAtODY2LDEwICs4NTYsMTAgQEAgcm0gLWYg Z2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAuYwogJXBh dGNoNjYxIC1wMQogJXBhdGNoNjkwIC1wMQogJXBhdGNoNjk0IC1wMQotJXBhdGNoNjk1IC1wMQog JXBhdGNoNjk4IC1wMQogJXBhdGNoNzAzIC1wMQogJXBhdGNoNzE2IC1wMQorJXBhdGNoNzE4IC1w MQogCiAlcGF0Y2gzOTMgLXAxCiAlaWYgMCV7IT9lbDU6MX0gfHwgMCV7P3NjbDoxfQpAQCAtMTM2 NCw2ICsxMzU0LDExIEBAIGZpCiAlZW5kaWYgIyAwJXshP2VsNToxfSB8fCAiJXtfdGFyZ2V0X2Nw dX0iID09ICJub2FyY2giCiAKICVjaGFuZ2Vsb2cKKyogU3VuIEp1bCAxNSAyMDEyIEphbiBLcmF0 b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNC41MC4yMDEyMDcxNC0xNC5m YzE4CistIFJlYmFzZSB0byBGU0YgR0RCIDcuNC41MC4yMDEyMDcxNC4KKyAgLSBGaXggZW50cnl2 YWwgZmVhdHVyZSBjcmFzaCBvbiBzb21lIC5kZWJ1ZyBmaWxlcyBvcHRpbWl6ZWQgYnkgZHd6IChC WiA4Mzk1OTYpLgorLSBGaXggYW5vdGhlciBzdGFsZSBmcmFtZV9pbmZvICogKFBSIDExOTE0LCBs aWtlIFBSIDEzODY2KS4KKwogKiBGcmkgSnVsICA2IDIwMTIgSmFuIEtyYXRvY2h2aWwgPGphbi5r cmF0b2NodmlsQHJlZGhhdC5jb20+IC0gNy40LjUwLjIwMTIwNzAzLTEzLmZjMTgKIC0gW1JIRUxd IERpc2FibGUgTWluaURlYnVnSW5mbyBGLTE4IGZlYXR1cmUgb24gUkhFTCA8PSA2IChCWiA4MzQw NjgpLgogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggMDlmYzY1NC4uNGFl NjU5YyAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAog MDRlNWM0YjFiOWU2MzM0MjJjYzQ4OTkwZmU2MTk1OGQgIGxpYnN0ZGMrKy12My1weXRob24tcjE1 NTk3OC50YXIuYnoyCi05MTI5MGQxMDM0MDEzZGIxZmUwMzVjMDgxYWRkZTUxNCAgZ2RiLTcuNC41 MC4yMDEyMDcwMy50YXIuYnoyCisxMTVhNmE1MjFhZWYyY2UzMDZmZDNlN2ZhZGQ3OWMwMiAgZ2Ri LTcuNC41MC4yMDEyMDcxNC50YXIuYnoyCg==