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.5.50.20130215 (pre-7.6 snapshot). Date: Sat, 27 Jun 2026 23:56:02 GMT Message-ID: <178260456291.1.8990889312870594810.rpms-gdb-ab333d993882@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: ab333d99388294fcc77befda7cd9b2e56fa9843f QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogYWIzMzNkOTkzODgyOTRmY2M3N2JlZmRhN2Nk OWIyZTU2ZmE5ODQzZgpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxMy0wMi0xOFQxODoxNDowMCswMTowMApTdGF0cyAgOiArODM2 Ly0xMzY4IGluIDE3IGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5v cmcvcnBtcy9nZGIvYy9hYjMzM2Q5OTM4ODI5NGZjYzc3YmVmZGE3Y2Q5YjJlNTZmYTk4NDNmP2Jy YW5jaD1nZGItMTcuMi1yZWJhc2UtZjQ0CgpMb2c6ClJlYmFzZSB0byBGU0YgR0RCIDcuNS41MC4y MDEzMDIxNSAocHJlLTcuNiBzbmFwc2hvdCkuCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUg Yi8uZ2l0aWdub3JlCmluZGV4IDVkNGY0YjIuLjBkYzUyOTMgMTAwNjQ0Ci0tLSBhLy5naXRpZ25v cmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSwyICsxLDIgQEAKIC9nZGItbGlic3RkYysrLXYzLXB5 dGhvbi1yMTU1OTc4LnRhci5iejIKLS9nZGItNy41LjUwLjIwMTMwMTE4LnRhci5iejIKKy9nZGIt Ny41LjUwLjIwMTMwMjE1LnRhci5iejIKCmRpZmYgLS1naXQgYS9nZGItNi4zLXJlYWRuZXZlci0y MDA1MDkwNy5wYXRjaCBiL2dkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCmluZGV4IDMx NGJlNDQuLjVmYjUxYjIgMTAwNjQ0Ci0tLSBhL2dkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBh dGNoCisrKyBiL2dkYi02LjMtcmVhZG5ldmVyLTIwMDUwOTA3LnBhdGNoCkBAIC0xMSwxMCArMTEs MTAgQEAKIAogICAgICAgICAqIGdkYi50ZXhpbmZvIChGaWxlIE9wdGlvbnMpOiBEb2N1bWVudCAt LXJlYWRuZXZlci4KIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2RvYy9nZGIudGV4 aW5mbworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2RvYy9nZGIudGV4aW5mbwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZv CTIwMTMtMDEtMTggMjI6NTQ6MjIuNTIxMTU1NTI3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTMtMDEtMTggMjI6NTg6MTUuMDY0NTk2NTgwICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAx My0wMi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMy0wMi0xNSAyMjozNDoyMi4zODExNjU0NDMgKzAxMDAK IEBAIC0xMDI2LDYgKzEwMjYsMTIgQEAgUmVhZCBlYWNoIHN5bWJvbCBmaWxlJ3MgZW50aXJlIHN5 bWJvbCB0YQogIHRoZSBkZWZhdWx0LCB3aGljaCBpcyB0byByZWFkIGl0IGluY3JlbWVudGFsbHkg YXMgaXQgaXMgbmVlZGVkLgogIFRoaXMgbWFrZXMgc3RhcnR1cCBzbG93ZXIsIGJ1dCBtYWtlcyBm dXR1cmUgb3BlcmF0aW9ucyBmYXN0ZXIuCkBAIC0yOCwxMSArMjgsMTEgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2RvYy9nZGIudGV4aW5mbwogIEBlbmQgdGFibGUKICAKICBAbm9k ZSBNb2RlIE9wdGlvbnMKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tYWluLmMKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tYWluLmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL21haW4uYwkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyMzE1 NTUzMSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21haW4uYwkyMDEzLTAxLTE4 IDIyOjU4OjE1LjA2NTU5NjU5OCArMDEwMAotQEAgLTQ0NSw2ICs0NDUsNyBAQCBjYXB0dXJlZF9t YWluICh2b2lkICpkYXRhKQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbWFpbi5j CTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvbWFpbi5jCTIwMTMtMDItMTUgMjI6MzQ6MjIuMzgyMTY1NDQ1ICswMTAwCitAQCAt NDQ3LDYgKzQ0Nyw3IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAgICAgeyJ4ZGIi LCBub19hcmd1bWVudCwgJnhkYl9jb21tYW5kcywgMX0sCiAgICAgICAgeyJkYngiLCBub19hcmd1 bWVudCwgJmRieF9jb21tYW5kcywgMX0sCiAgICAgICAgeyJyZWFkbm93Iiwgbm9fYXJndW1lbnQs ICZyZWFkbm93X3N5bWJvbF9maWxlcywgMX0sCkBAIC00MCw3ICs0MCw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9tYWluLmMKICAgICAgICB7InIiLCBub19hcmd1bWVudCwgJnJl YWRub3dfc3ltYm9sX2ZpbGVzLCAxfSwKICAgICAgICB7InF1aWV0Iiwgbm9fYXJndW1lbnQsICZx dWlldCwgMX0sCiAgICAgICAgeyJxIiwgbm9fYXJndW1lbnQsICZxdWlldCwgMX0sCi1AQCAtMTE2 NCw2ICsxMTY1LDcgQEAgT3B0aW9uczpcblxuXAorQEAgLTExNjUsNiArMTE2Niw3IEBAIE9wdGlv bnM6XG5cblwKICAgIGZwdXRzX3VuZmlsdGVyZWQgKF8oIlwKICAgIC0tcXVpZXQgICAgICAgICAg ICBEbyBub3QgcHJpbnQgdmVyc2lvbiBudW1iZXIgb24gc3RhcnR1cC5cblwKICAgIC0tcmVhZG5v dyAgICAgICAgICBGdWxseSByZWFkIHN5bWJvbCBmaWxlcyBvbiBmaXJzdCBhY2Nlc3MuXG5cCkBA IC00OCwxMCArNDgsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21haW4uYwog ICIpLCBzdHJlYW0pOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAogICAgLS1zZT1GSUxFICAg ICAgICAgIFVzZSBGSUxFIGFzIHN5bWJvbCBmaWxlIGFuZCBleGVjdXRhYmxlIGZpbGUuXG5cCi1J bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3ltZmlsZS5jCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvc3ltZmlsZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEz MDExOC5vcmlnL2dkYi9zeW1maWxlLmMJMjAxMy0wMS0xOCAyMjo1ODoxNS4wNjU1OTY1OTggKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zeW1maWxlLmMJMjAxMy0wMS0xOCAyMjo1 ODozMS4yNDk2MTk1OTcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3N5 bWZpbGUuYwkyMDEzLTAyLTAxIDIwOjM5OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3N5bWZpbGUuYwkyMDEzLTAyLTE1IDIyOjM0OjIyLjM4MzE2NTQ0NyAr MDEwMAogQEAgLTgxLDYgKzgxLDcgQEAgc3RhdGljIHZvaWQgY2xlYXJfc3ltdGFiX3VzZXJzX2Ns ZWFudXAgKAogIAogIC8qIEdsb2JhbCB2YXJpYWJsZXMgb3duZWQgYnkgdGhpcyBmaWxlLiAgKi8K QEAgLTYwLDE5ICs2MCwxOSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3ltZmls ZS5jCiAgCiAgLyogRnVuY3Rpb25zIHRoaXMgZmlsZSBkZWZpbmVzLiAgKi8KICAKLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyODE1NTU0NSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4 IDIyOjU5OjA4Ljk0MDY3NDAzNSArMDEwMAotQEAgLTY3LDYgKzY3LDcgQEAKLSAjaW5jbHVkZSA8 Y3R5cGUuaD4KKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2R3YXJmMnJlYWQuYwky MDEzLTAyLTE1IDIyOjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAyLTE1IDIyOjM0OjM0LjQ3OTE4MTU4NCArMDEwMAor QEAgLTY4LDYgKzY4LDcgQEAKICAjaW5jbHVkZSAiZ2RiX2JmZC5oIgogICNpbmNsdWRlICJmLWxh bmcuaCIKKyAjaW5jbHVkZSAic291cmNlLmgiCiArI2luY2x1ZGUgInRvcC5oIgogIAogICNpbmNs dWRlIDxmY250bC5oPgogICNpbmNsdWRlICJnZGJfc3RyaW5nLmgiCi1AQCAtMTc4Miw4ICsxNzgz LDkgQEAgZHdhcmYyX2hhc19pbmZvIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZQorQEAgLTE3OTMs OCArMTc5NCw5IEBAIGR3YXJmMl9oYXNfaW5mbyAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICopIG5hbWVzKTsKICAgICAgICBkd2Fy ZjJfcGVyX29iamZpbGUtPm9iamZpbGUgPSBvYmpmaWxlOwogICAgICB9CkBAIC04NCwxMCArODQs MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwogIH0KICAK ICAvKiBXaGVuIGxvYWRpbmcgc2VjdGlvbnMsIHdlIGxvb2sgZWl0aGVyIGZvciB1bmNvbXByZXNz ZWQgc2VjdGlvbiBvciBmb3IKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90b3AuaAor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RvcC5oCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi90b3AuaAkyMDEzLTAxLTE4IDIyOjU0OjIyLjUyODE1 NTU0NSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RvcC5oCTIwMTMtMDEtMTgg MjI6NTg6MTUuMDY5NTk2NjU3ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dk Yi90b3AuaAkyMDEzLTAxLTA3IDE3OjQwOjM2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3RvcC5oCTIwMTMtMDItMTUgMjI6MzQ6MjIuMzg5MTY1NDU5ICswMTAw CiBAQCAtNTgsNiArNTgsNyBAQCBleHRlcm4gdm9pZCBzZXRfcHJvbXB0IChjb25zdCBjaGFyICpz KTsKICAKICAvKiBGcm9tIHJhbmRvbSBwbGFjZXMuICAqLwoKZGlmZiAtLWdpdCBhL2dkYi02LjYt YnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0 Y2gKaW5kZXggZjU1NTNmMS4uMDA3NGRiOSAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxv Y2F0ZS1ycG0ucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2gKQEAg LTEsMTYgKzEsMTYgQEAKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9ldmVudC10b3Au YworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2V2ZW50LXRvcC5jCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLS0gZ2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dkYi9ldmVudC10b3AuYwkyMDEyLTA2LTAy IDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2V2 ZW50LXRvcC5jCTIwMTItMDYtMDIgMjE6MDg6MjMuNDc5MjIxODg1ICswMjAwCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9ldmVudC10b3AuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2V2ZW50LXRvcC5jCTIw MTMtMDItMTUgMjI6MzY6MTEuMjE3MzA4NTM5ICswMTAwCiBAQCAtMzYsNiArMzYsNyBAQAotICNp bmNsdWRlICJvYnNlcnZlci5oIgogICNpbmNsdWRlICJjb250aW51YXRpb25zLmgiCiAgI2luY2x1 ZGUgImdkYmNtZC5oIgkJLyogZm9yIGRvbnRfcmVwZWF0KCkgKi8KKyAjaW5jbHVkZSAiYW5ub3Rh dGUuaCIKICsjaW5jbHVkZSAic3ltZmlsZS5oIgogIAogIC8qIHJlYWRsaW5lIGluY2x1ZGUgZmls ZXMuICAqLwogICNpbmNsdWRlICJyZWFkbGluZS9yZWFkbGluZS5oIgotQEAgLTE3Niw2ICsxNzcs OCBAQCBybF9jYWxsYmFja19yZWFkX2NoYXJfd3JhcHBlciAoZ2RiX2NsaWVuCitAQCAtMTcwLDYg KzE3MSw4IEBAIHJsX2NhbGxiYWNrX3JlYWRfY2hhcl93cmFwcGVyIChnZGJfY2xpZW4KICB2b2lk CiAgY2xpX2NvbW1hbmRfbG9vcCAodm9pZCkKICB7CkBAIC0xOSw3ICsxOSw3IEBAIEluZGV4OiBn ZGItNy40LjUwLjIwMTIwNjAyL2dkYi9ldmVudC10b3AuYwogICAgZGlzcGxheV9nZGJfcHJvbXB0 ICgwKTsKICAKICAgIC8qIE5vdyBpdCdzIHRpbWUgdG8gc3RhcnQgdGhlIGV2ZW50IGxvb3AuICAq LwotQEAgLTI0MSw2ICsyNDQsOCBAQCBkaXNwbGF5X2dkYl9wcm9tcHQgKGNoYXIgKm5ld19wcm9t cHQpCitAQCAtMjM3LDYgKzI0MCw4IEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAoY2hhciAqbmV3X3By b21wdCkKICAgIC8qIFJlc2V0IHRoZSBuZXN0aW5nIGRlcHRoIHVzZWQgd2hlbiB0cmFjZS1jb21t YW5kcyBpcyBzZXQuICAqLwogICAgcmVzZXRfY29tbWFuZF9uZXN0X2RlcHRoICgpOwogIApAQCAt MjgsMTEgKzI4LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9ldmVudC10b3Au YwogICAgLyogRWFjaCBpbnRlcnByZXRlciBoYXMgaXRzIG93biBydWxlcyBvbiBkaXNwbGF5aW5n IHRoZSBjb21tYW5kCiAgICAgICBwcm9tcHQuICAqLwogICAgaWYgKCFjdXJyZW50X2ludGVycF9k aXNwbGF5X3Byb21wdF9wICgpKQotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2VsZnJl YWQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTItMDYtMDIg MjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvZWxm cmVhZC5jCTIwMTItMDYtMDIgMjE6MDg6MjMuNDgyMjIxODgyICswMjAwCi1AQCAtNDgsNiArNDgs NyBAQAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTMtMDIt MTUgMjI6MzU6MzYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv ZWxmcmVhZC5jCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE0MjkyODc0ICswMTAwCitAQCAtNDksNiAr NDksNyBAQAogICNpbmNsdWRlICJnZGJjb3JlLmgiCiAgI2luY2x1ZGUgImdkYmNtZC5oIgogICNp bmNsdWRlICJvYnNlcnZlci5oIgpAQCAtNDAsNyArNDAsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4y MDEyMDYwMi9nZGIvZWxmcmVhZC5jCiAgI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAgCiAgZXh0ZXJu IHZvaWQgX2luaXRpYWxpemVfZWxmcmVhZCAodm9pZCk7Ci1AQCAtMTY0Nyw4ICsxNjQ4LDM2MSBA QCBidWlsZF9pZF90b19maWxlbmFtZSAoc3RydWN0IGJ1aWxkX2lkICpiCitAQCAtMTY0OSw4ICsx NjUwLDM2MSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoc3RydWN0IGJ1aWxkX2lkICpiCiAgICBy ZXR1cm4gcmV0dmFsOwogIH0KICAKQEAgLTQwMyw3ICs0MDMsNyBAQCBJbmRleDogZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvZWxmcmVhZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3Qg bWlzc2luZ19maWxlcGFpcgotQEAgLTE3MDIsMTEgKzIwNTYsMTcgQEAgbWlzc2luZ19maWxlcGFp cl9jaGFuZ2UgKHZvaWQpCitAQCAtMTcwNCwxMSArMjA1OCwxNyBAQCBtaXNzaW5nX2ZpbGVwYWly X2NoYW5nZSAodm9pZCkKICAgICAgICAvKiBBbGwgdGhlaXIgbWVtb3J5IGNhbWUganVzdCBmcm9t IG1pc3NpbmdfZmlsZXBhaXJfT0JTVEFDSy4gICovCiAgICAgICAgbWlzc2luZ19maWxlcGFpcl9o YXNoID0gTlVMTDsKICAgICAgfQpAQCAtNDIxLDcgKzQyMSw3IEBAIEluZGV4OiBnZGItNy40LjUw LjIwMTIwNjAyL2dkYi9lbGZyZWFkLmMKICAgIG1pc3NpbmdfZmlsZXBhaXJfY2hhbmdlICgpOwog IH0KICAKLUBAIC0xNzczLDE0ICsyMTMzLDM1IEBAIGRlYnVnX3ByaW50X21pc3NpbmcgKGNvbnN0 IGNoYXIgKmJpbmFyeSwKK0BAIC0xNzc1LDE0ICsyMTM1LDM1IEBAIGRlYnVnX3ByaW50X21pc3Np bmcgKGNvbnN0IGNoYXIgKmJpbmFyeSwKICAKICAgICpzbG90ID0gbWlzc2luZ19maWxlcGFpcjsK ICAKQEAgLTQ2NCwxMSArNDY0LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9l bGZyZWFkLmMKICB9CiAgCiAgc3RhdGljIGNoYXIgKgotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2 MDIvZ2RiL3N5bWZpbGUuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N5bWZpbGUu aAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvc3ltZmlsZS5o CTIwMTItMDYtMDIgMjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEy MDYwMi9nZGIvc3ltZmlsZS5oCTIwMTItMDYtMDIgMjE6MDg6MjMuNDk5MjIxODc3ICswMjAwCi1A QCAtNjIxLDYgKzYyMSw4IEBAIGV4dGVybiBzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lkX2FkZHJf Z2UKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEzLTAyLTE1 IDIyOjM1OjAzLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N5 bWZpbGUuaAkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNDI5Mjg3NCArMDEwMAorQEAgLTU5OSw2ICs1 OTksOCBAQCBleHRlcm4gc3RydWN0IGJ1aWxkX2lkICpidWlsZF9pZF9hZGRyX2dlCiAgZXh0ZXJu IGNoYXIgKmJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChzdHJ1Y3QgYnVpbGRfaWQgKmJ1aWxkX2lkLAog IAkJCQkgICBjaGFyICoqbGlua19yZXR1cm4sIGludCBhZGRfZGVidWdfc3VmZml4KTsKICBleHRl cm4gdm9pZCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNo YXIgKmRlYnVnKTsKQEAgLTQ3NywxMSArNDc3LDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIw NjAyL2dkYi9zeW1maWxlLmgKICAKICAvKiBGcm9tIGR3YXJmMnJlYWQuYyAqLwogIAotSW5kZXg6 IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIw MTItMDYtMDIgMjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDYw Mi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTItMDYtMDIgMjE6MDg6MjMuNTEwMjIxODcz ICswMjAwCi1AQCAtMTM4OCw3ICsxMzg4LDcgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7IH0g eworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhw CTIwMTMtMDItMTUgMjI6MzU6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE1Mjky ODc4ICswMTAwCitAQCAtMTQ4Miw3ICsxNDgyLDcgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7 IH0gewogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQog ICAgICB9CkBAIC00OTAsMTEgKzQ5MCwxMSBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9n ZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAgICAgIHNlbmRfZ2RiICJzZXQgYnVpbGQtaWQtdmVy Ym9zZSAwXG4iCiAgICAgIGdkYl9leHBlY3QgMTAgewogIAktcmUgIiRnZGJfcHJvbXB0ICQiIHsK LUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQu ZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBw b3J0LmV4cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvdGVz dHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyAr MDIwMAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9y dC5leHAJMjAxMi0wNi0wMiAyMTowODoyMy41MjMyMjE4NjkgKzAyMDAKLUBAIC0yMTMsNyArMjEz LDcgQEAgcHJvYyBkZWZhdWx0X21pX2dkYl9zdGFydCB7IGFyZ3MgfSB7CistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCTIwMTMtMDIt MTUgMjI6MzU6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv dGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEzLTAyLTE1IDIyOjM1OjU5LjQxNjI5Mjg4 MSArMDEwMAorQEAgLTIxMiw3ICsyMTIsNyBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsg YXJncyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAg CX0KICAgICAgfQpAQCAtNTAzLDEwICs1MDMsMTAgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2 MDIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKICAgICAgc2VuZF9nZGIgIjE5MC1n ZGItc2V0IGJ1aWxkLWlkLXZlcmJvc2UgMFxuIgogICAgICBnZGJfZXhwZWN0IDEwIHsKICAJLXJl ICIuKjE5MC1nZGItc2V0IGJ1aWxkLWlkLXZlcmJvc2UgMFxyXG4xOTBcXFxeZG9uZVxyXG4kbWlf Z2RiX3Byb21wdCQiIHsKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi90dWkvdHVpLWlu dGVycC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdHVpL3R1aS1pbnRlcnAuYwog PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvdHVpL3R1aS1pbnRl cnAuYwkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03LjQuNTAu MjAxMjA2MDIvZ2RiL3R1aS90dWktaW50ZXJwLmMJMjAxMi0wNi0wMiAyMTowODoyMy41MjQyMjE4 NjkgKzAyMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3R1aS90dWktaW50ZXJw LmMJMjAxMy0wMS0wMSAwNzo0MTozMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi90dWkvdHVpLWludGVycC5jCTIwMTMtMDItMTUgMjI6MzU6NTkuNDE2MjkyODgx ICswMTAwCiBAQCAtMzAsNiArMzAsNyBAQAogICNpbmNsdWRlICJ0dWkvdHVpLmgiCiAgI2luY2x1 ZGUgInR1aS90dWktaW8uaCIKQEAgLTUxNSwxMCArNTE1LDEwIEBAIEluZGV4OiBnZGItNy40LjUw LjIwMTIwNjAyL2dkYi90dWkvdHVpLWludGVycC5jCiAgCiAgLyogU2V0IHRvIDEgd2hlbiB0aGUg VFVJIG1vZGUgbXVzdCBiZSBhY3RpdmF0ZWQgd2hlbiB3ZSBmaXJzdCBzdGFydAogICAgIGdkYi4g ICovCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvYWNsb2NhbC5tNAorSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FjbG9jYWwubTQKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40 LjUwLjIwMTIwNjAyLm9yaWcvZ2RiL2FjbG9jYWwubTQJMjAxMi0wNi0wMiAyMTowODowOC42NTEy MjczNDcgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9hY2xvY2FsLm00CTIwMTIt MDYtMDIgMjE6MDg6MjMuNTQ1MjIxODU4ICswMjAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9hY2xvY2FsLm00CTIwMTMtMDEtMTcgMTI6MDY6MjYuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYWNsb2NhbC5tNAkyMDEzLTAyLTE1IDIyOjM1OjU5 LjQxNzI5Mjg4MyArMDEwMAogQEAgLTExLDYgKzExLDE2NCBAQAogICMgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQQogICMgUEFSVElD VUxBUiBQVVJQT1NFLgpAQCAtNjg0LDExICs2ODQsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2FjbG9jYWwubTQKICAjIEFNX0NPTkRJVElPTkFMICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAtKi0gQXV0b2NvbmYgLSotCiAgCiAgIyBDb3B5cmln aHQgKEMpIDE5OTcsIDIwMDAsIDIwMDEsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDgKLUlu ZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb25maWcuaW4KK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9jb25maWcuaW4KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIw NjAyLm9yaWcvZ2RiL2NvbmZpZy5pbgkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIw MAotKysrIGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZy5pbgkyMDEyLTA2LTAyIDIxOjA4 OjIzLjU0NjIyMTg1OSArMDIwMAotQEAgLTM2LDYgKzM2LDkgQEAKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL2NvbmZpZy5pbgkyMDEyLTEyLTA5IDE5OjM5OjU4LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZy5pbgkyMDEzLTAyLTE1IDIy OjM1OjU5LjQxNzI5Mjg4MyArMDEwMAorQEAgLTMzLDYgKzMzLDkgQEAKICAvKiBEZWZpbmUgdG8g QkZEJ3MgZGVmYXVsdCB0YXJnZXQgdmVjdG9yLiAqLwogICN1bmRlZiBERUZBVUxUX0JGRF9WRUMK ICAKQEAgLTY5OCw3ICs2OTgsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29u ZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgdHJhbnNsYXRpb24gb2YgcHJvZ3JhbSBtZXNzYWdl cyB0byB0aGUgdXNlcidzIG5hdGl2ZQogICAgIGxhbmd1YWdlIGlzIHJlcXVlc3RlZC4gKi8KICAj dW5kZWYgRU5BQkxFX05MUwotQEAgLTIxNiw2ICsyMTksOSBAQAorQEAgLTIxMCw2ICsyMTMsOSBA QAogIC8qIERlZmluZSBpZiBQeXRob24gMi43IGlzIGJlaW5nIHVzZWQuICovCiAgI3VuZGVmIEhB VkVfTElCUFlUSE9OMl83CiAgCkBAIC03MDgsMTEgKzcwOCwxMSBAQCBJbmRleDogZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvY29uZmlnLmluCiAgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhl IDxsaWJ1bndpbmQtaWE2NC5oPiBoZWFkZXIgZmlsZS4gKi8KICAjdW5kZWYgSEFWRV9MSUJVTldJ TkRfSUE2NF9ICiAgCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNC41MC4yMDEyMDYwMi5vcmlnL2dkYi9jb25maWd1cmUJMjAxMi0wNi0wMiAyMTowODow OC42NTEyMjczNDcgKzAyMDAKLSsrKyBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9jb25maWd1cmUJ MjAxMi0wNi0wMiAyMToyMDo1My4yNDU4MzgxMjEgKzAyMDAKLUBAIC02ODAsNiArNjgwLDExIEBA IFJFUE9SVF9CVUdTX1RPCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb25maWd1 cmUJMjAxMy0wMS0wOSAxODoyMTozMy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9jb25maWd1cmUJMjAxMy0wMi0xNSAyMjozNTo1OS40MjIyOTI4OTMgKzAxMDAK K0BAIC02ODMsNiArNjgzLDExIEBAIFJFUE9SVF9CVUdTX1RPCiAgUEtHVkVSU0lPTgogIFRBUkdF VF9PQlMKICBzdWJkaXJzCkBAIC03MjQsNyArNzI0LDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAx MjA2MDIvZ2RiL2NvbmZpZ3VyZQogIEdEQl9EQVRBRElSCiAgREVCVUdESVIKICBNQUtFSU5GT19F WFRSQV9GTEFHUwotQEAgLTc4MCw2ICs3ODUsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCitAQCAtNzgz LDYgKzc4OCw3IEBAIHdpdGhfZ2RiX2RhdGFkaXIKICB3aXRoX3JlbG9jYXRlZF9zb3VyY2VzCiAg d2l0aF9hdXRvX2xvYWRfZGlyCiAgd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoCkBAIC03MzIsNyAr NzMyLDcgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZQogIGVuYWJs ZV90YXJnZXRzCiAgZW5hYmxlXzY0X2JpdF9iZmQKICBlbmFibGVfZ2RiY2xpCi1AQCAtODI1LDYg KzgzMSwxMSBAQCBDUFBGTEFHUworQEAgLTgzMSw2ICs4MzcsMTEgQEAgQ1BQRkxBR1MKICBDUFAK ICBNQUtFSU5GTwogIE1BS0VJTkZPRkxBR1MKQEAgLTc0NCw3ICs3NDQsNyBAQCBJbmRleDogZ2Ri LTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlCiAgWUFDQwogIFlGTEFHUwogIFhNS01GJwot QEAgLTE0OTQsNiArMTUwNSw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorQEAgLTE1MDEsNiArMTUx Miw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgWy0t d2l0aC1hdXRvLWxvYWQtZGlyXQogICAgLS13aXRob3V0LWF1dG8tbG9hZC1zYWZlLXBhdGgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBmaWxl cyBsb2NhdGlvbnMKQEAgLTc1Myw3ICs3NTMsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYw Mi9nZGIvY29uZmlndXJlCiAgICAtLXdpdGgtbGlidW53aW5kLWlhNjQgICB1c2UgbGlidW53aW5k IGZyYW1lIHVud2luZGluZyBmb3IgaWE2NCB0YXJnZXRzCiAgICAtLXdpdGgtY3Vyc2VzICAgICAg ICAgICB1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1jYXAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpYnJhcnkKLUBAIC0xNTM1LDYgKzE1NDgsMTMgQEAgU29t ZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6CitAQCAtMTU0NSw2ICsxNTU4LDEz IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgogICAgTUFLRUlORk8g ICAgUGFyZW50IGNvbmZpZ3VyZSBkZXRlY3RzIGlmIGl0IGlzIG9mIHN1ZmZpY2llbnQgdmVyc2lv bi4KICAgIE1BS0VJTkZPRkxBR1MKICAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgZm9yIE1BS0VJ TkZPLgpAQCAtNzY3LDcgKzc2Nyw3IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNjAyL2dkYi9j b25maWd1cmUKICAgIFlBQ0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQyBDb21waWxlcicgaW1w bGVtZW50YXRpb24gdG8gdXNlLiBEZWZhdWx0cyB0bwogICAgICAgICAgICAgICAgdGhlIGZpcnN0 IHByb2dyYW0gZm91bmQgb3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLCBgeWFjYycuCiAgICBZ RkxBR1MgICAgICBUaGUgbGlzdCBvZiBhcmd1bWVudHMgdGhhdCB3aWxsIGJlIHBhc3NlZCBieSBk ZWZhdWx0IHRvICRZQUNDLgotQEAgLTUwMTUsNiArNTAzNSw0OTEgQEAgX0FDRU9GCitAQCAtNTAz MCw2ICs1MDUwLDQ5MSBAQCBfQUNFT0YKICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8t JExJTkVOT306IHJlc3VsdDogJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY1CiAgJGFzX2Vj aG8gIiR3aXRoX2F1dG9fbG9hZF9zYWZlX3BhdGgiID4mNjsgfQogIApAQCAtMTI1OSwxMCArMTI1 OSwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlCiAgCiAgCiAg c3ViZGlycz0iJHN1YmRpcnMgdGVzdHN1aXRlIgotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIv Z2RiL2NvbmZpZ3VyZS5hYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbmZpZ3Vy ZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA2MDIub3JpZy9nZGIvY29uZmln dXJlLmFjCTIwMTItMDYtMDIgMjE6MDg6MDguNjUxMjI3MzQ3ICswMjAwCi0rKysgZ2RiLTcuNC41 MC4yMDEyMDYwMi9nZGIvY29uZmlndXJlLmFjCTIwMTItMDYtMDIgMjE6MDg6MjMuNTYwMjIxODU1 ICswMjAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb25maWd1cmUuYWMJMjAx My0wMS0wOSAxODoyMTozNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9jb25maWd1cmUuYWMJMjAxMy0wMi0xNSAyMjozNTo1OS40MjMyOTI4OTUgKzAxMDAKIEBA IC0xNjYsNiArMTY2LDE5OSBAQCBBQ19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVz Y2FwCiAgCSAgICAgIFtEaXJlY3RvcmllcyBzYWZlIHRvIGhvbGQgYXV0by1sb2FkZWQgZmlsZXMu XSkKICBBQ19NU0dfUkVTVUxUKFskd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoXSkKQEAgLTE0NjMs MTEgKzE0NjMsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA2MDIvZ2RiL2NvbmZpZ3VyZS5h YwogIEFDX0NPTkZJR19TVUJESVJTKHRlc3RzdWl0ZSkKICAKICAjIENoZWNrIHdoZXRoZXIgdG8g c3VwcG9ydCBhbHRlcm5hdGl2ZSB0YXJnZXQgY29uZmlndXJhdGlvbnMKLUluZGV4OiBnZGItNy40 LjUwLjIwMTIwNjAyL2dkYi9jb3JlbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9jb3JlbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNjAyLm9yaWcvZ2Ri L2NvcmVsb3cuYwkyMDEyLTA2LTAyIDIxOjA4OjA4LjY1MTIyNzM0NyArMDIwMAotKysrIGdkYi03 LjQuNTAuMjAxMjA2MDIvZ2RiL2NvcmVsb3cuYwkyMDEyLTA2LTAyIDIxOjA4OjIzLjU2MTIyMTg1 NSArMDIwMAotQEAgLTMxNyw3ICszMTcsNyBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZy b21fdHR5KQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvY29yZWxvdy5jCTIwMTMt MDItMTUgMjI6MzU6MDMuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvY29yZWxvdy5jCTIwMTMtMDItMTUgMjI6MzU6NTkuNDIzMjkyODk1ICswMTAwCitAQCAtMzEz LDcgKzMxMyw3IEBAIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJvbV90dHkpCiAgICAgICAg ICBzeW1maWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZfQlVJTERfSURfQ09SRV9MT0FERUQ7CiAg ICAgIH0KICAgIGVsc2UKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNo IGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAppbmRleCBkNmY1NzM1Li5iNGNhODk1IDEw MDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCisrKyBiL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUucGF0Y2gKQEAgLTEsOCArMSw4IEBACi1JbmRleDogZ2RiLTcuNC45MS4yMDEy MDgwMS9nZGIvY29yZWxvdy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29yZWxv dy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgwMS5vcmlnL2dkYi9jb3JlbG93 LmMJMjAxMi0wOC0wMSAxODozNjo1MS4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjkxLjIw MTIwODAxL2dkYi9jb3JlbG93LmMJMjAxMi0wOC0wMSAxODozNzo0NC41ODQ5MjU3NTAgKzAyMDAK LUBAIC00Nyw2ICs0Nyw5IEBACistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb3Jl bG93LmMJMjAxMy0wMS0zMSAxOTozNzozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9jb3JlbG93LmMJMjAxMy0wMi0xNSAyMjozNTowMy4yNzgyMTk4NDQgKzAx MDAKK0BAIC00Niw2ICs0Niw5IEBACiAgI2luY2x1ZGUgInByb2dzcGFjZS5oIgogICNpbmNsdWRl ICJvYmpmaWxlcy5oIgogICNpbmNsdWRlICJnZGJfYmZkLmgiCkBAIC0xMiw3ICsxMiw3IEBAIElu ZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi9jb3JlbG93LmMKICAKICAjaWZuZGVmIE9fTEFS R0VGSUxFCiAgI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMjc0LDYgKzI3Nyw1MiBAQCBhZGRf dG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24KK0BAIC0yNzEsNiArMjc0LDUyIEBA IGFkZF90b190aHJlYWRfbGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbgogICAgICBpbmZlcmlvcl9w dGlkID0gcHRpZDsJCQkvKiBZZXMsIG1ha2UgaXQgY3VycmVudC4gICovCiAgfQogIApAQCAtNjUs NyArNjUsNyBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvY29yZWxvdy5jCiAgLyog VGhpcyByb3V0aW5lIG9wZW5zIGFuZCBzZXRzIHVwIHRoZSBjb3JlIGZpbGUgYmZkLiAgKi8KICAK ICBzdGF0aWMgdm9pZAotQEAgLTQxOCw2ICs0NjcsMTQgQEAgY29yZV9vcGVuIChjaGFyICpmaWxl bmFtZSwgaW50IGZyb21fdHR5KQorQEAgLTQwOSw2ICs0NTgsMTQgQEAgY29yZV9vcGVuIChjaGFy ICpmaWxlbmFtZSwgaW50IGZyb21fdHR5KQogIAlzd2l0Y2hfdG9fdGhyZWFkICh0aHJlYWQtPnB0 aWQpOwogICAgICB9CiAgCkBAIC04MCw3ICs4MCw3IEBAIEluZGV4OiBnZGItNy40LjkxLjIwMTIw ODAxL2dkYi9jb3JlbG93LmMKICAgIHBvc3RfY3JlYXRlX2luZmVyaW9yICgmY29yZV9vcHMsIGZy b21fdHR5KTsKICAKICAgIC8qIE5vdyBnbyB0aHJvdWdoIHRoZSB0YXJnZXQgc3RhY2sgbG9va2lu ZyBmb3IgdGhyZWFkcyBzaW5jZSB0aGVyZQotQEAgLTkzOSw0ICs5OTYsMTEgQEAgX2luaXRpYWxp emVfY29yZWxvdyAodm9pZCkKK0BAIC05NzgsNCArMTAzNSwxMSBAQCBfaW5pdGlhbGl6ZV9jb3Jl bG93ICh2b2lkKQogICAgaW5pdF9jb3JlX29wcyAoKTsKICAKICAgIGFkZF90YXJnZXQgKCZjb3Jl X29wcyk7CkBAIC05MiwxMSArOTIsMTEgQEAgSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2Ri L2NvcmVsb3cuYwogKwkJCSAgIE5VTEwsIE5VTEwsIE5VTEwsCiArCQkJICAgJnNldGxpc3QsICZz aG93bGlzdCk7CiAgfQotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL2RvYy9nZGIudGV4 aW5mbworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2RvYy9nZGIudGV4aW5mbwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvZG9jL2dkYi50ZXhpbmZv CTIwMTItMDgtMDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45MS4yMDEy MDgwMS9nZGIvZG9jL2dkYi50ZXhpbmZvCTIwMTItMDgtMDEgMTg6Mzc6NDQuNTk4OTI1NjcyICsw MjAwCi1AQCAtMTY1MzAsNiArMTY1MzAsMjcgQEAgaW5mb3JtYXRpb24gZmlsZXMuCistLS0gZ2Ri LTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMy0wMi0xNSAyMjoz NDoyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kb2MvZ2Ri LnRleGluZm8JMjAxMy0wMi0xNSAyMjozNTowMy4yODcyMTk4NjMgKzAxMDAKK0BAIC0xNjY2Miw2 ICsxNjY2MiwyNyBAQCBpbmZvcm1hdGlvbiBmaWxlcy4KICAKICBAZW5kIHRhYmxlCiAgCkBAIC0x MjQsMTEgKzEyNCwxMSBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZG9jL2dkYi50 ZXhpbmZvCiAgQGNpbmRleCBAY29kZXsuZ251X2RlYnVnbGlua30gc2VjdGlvbnMKICBAY2luZGV4 IGRlYnVnIGxpbmsgc2VjdGlvbnMKICBBIGRlYnVnIGxpbmsgaXMgYSBzcGVjaWFsIHNlY3Rpb24g b2YgdGhlIGV4ZWN1dGFibGUgZmlsZSBuYW1lZAotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEv Z2RiL3NvbGliLXN2cjQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLXN2 cjQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvc29saWIt c3ZyNC5jCTIwMTItMDgtMDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45 MS4yMDEyMDgwMS9nZGIvc29saWItc3ZyNC5jCTIwMTItMDgtMDEgMTg6Mzc6NDQuNTk5OTI1NjY3 ICswMjAwCi1AQCAtMTIyOCw5ICsxMjI4LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FE RFIgbG0sIHN0cnVjdAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc29saWItc3Zy NC5jCTIwMTMtMDEtMzEgMTQ6NTI6NTIuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvc29saWItc3ZyNC5jCTIwMTMtMDItMTUgMjI6MzU6MDMuMjg3MjE5ODYzICsw MTAwCitAQCAtMTIyNCw5ICsxMjI0LDUyIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIg bG0sIHN0cnVjdAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0xODQsMTAgKzE4NCwxMCBAQCBJ bmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvc29saWItc3ZyNC5jCiAgICAgICAgeGZyZWUg KGJ1ZmZlcik7CiAgCiAgICAgICAgLyogSWYgdGhpcyBlbnRyeSBoYXMgbm8gbmFtZSwgb3IgaXRz IG5hbWUgbWF0Y2hlcyB0aGUgbmFtZQotSW5kZXg6IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL2Vs ZnJlYWQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2VsZnJlYWQuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvZWxmcmVhZC5jCTIwMTItMDgt MDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIv ZWxmcmVhZC5jCTIwMTItMDgtMDEgMTg6Mzg6MDguOTU2NzkwODc5ICswMjAwCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9lbGZyZWFkLmMJMjAxMy0wMi0wMSAyMDozOTowMy4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9lbGZyZWFkLmMJMjAxMy0w Mi0xNSAyMjozNTozNi44MjYyNjMzNTQgKzAxMDAKIEBAIC00NSw2ICs0NSwxMSBAQAogICNpbmNs dWRlICJyZWdjYWNoZS5oIgogICNpbmNsdWRlICJiY2FjaGUuaCIKQEAgLTkxOSw5ICs5MTksOSBA QCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCiAgICAgIH0KICAgIHJl dHVybiBOVUxMOwogIH0KLUBAIC0xNDM2LDkgKzIwMzgsMTAgQEAgZWxmX3N5bWZpbGVfcmVhZCAo c3RydWN0IG9iamZpbGUgKm9iamZpbAotICAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcuICAqLwot ICAgZWxzZSBpZiAoIW9iamZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCitAQCAt MTQ0NCw5ICsyMDQ2LDEwIEBAIGVsZl9zeW1maWxlX3JlYWQgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWwKKyAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMCisgCSAg ICYmIG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgPT0gTlVMTCkKICAg ICAgewogLSAgICAgIGNoYXIgKmRlYnVnZmlsZTsKICsgICAgICBjaGFyICpkZWJ1Z2ZpbGUsICpi dWlsZF9pZF9maWxlbmFtZTsKQEAgLTkzMiw3ICs5MzIsNyBAQCBJbmRleDogZ2RiLTcuNC45MS4y MDEyMDgwMS9nZGIvZWxmcmVhZC5jCiAgCiAgICAgICAgaWYgKGRlYnVnZmlsZSA9PSBOVUxMKQog IAlkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfZGVidWdsaW5rIChvYmpm aWxlKTsKLUBAIC0xNDUyLDYgKzIwNTUsMTIgQEAgZWxmX3N5bWZpbGVfcmVhZCAoc3RydWN0IG9i amZpbGUgKm9iamZpbAorQEAgLTE0NjAsNiArMjA2MywxMiBAQCBlbGZfc3ltZmlsZV9yZWFkIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsCiAgCSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChhYmZk LCBzeW1maWxlX2ZsYWdzLCBvYmpmaWxlKTsKICAJICBkb19jbGVhbnVwcyAoY2xlYW51cCk7CiAg CX0KQEAgLTk0NSw3ICs5NDUsNyBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZWxm cmVhZC5jCiAgICAgIH0KICAKICAgIGlmIChzeW10YWJfY3JlYXRlX2RlYnVnKQotQEAgLTE3ODQs NCArMjM5MywxNiBAQCBfaW5pdGlhbGl6ZV9lbGZyZWFkICh2b2lkKQorQEAgLTE3ODIsNCArMjM5 MSwxNiBAQCBfaW5pdGlhbGl6ZV9lbGZyZWFkICh2b2lkKQogIAogICAgZWxmX29iamZpbGVfZ251 X2lmdW5jX2NhY2hlX2RhdGEgPSByZWdpc3Rlcl9vYmpmaWxlX2RhdGEgKCk7CiAgICBnbnVfaWZ1 bmNfZm5zX3AgPSAmZWxmX2dudV9pZnVuY19mbnM7CkBAIC05NjIsMTEgKzk2MiwxMSBAQCBJbmRl eDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvZWxmcmVhZC5jCiArCiArICBvYnNlcnZlcl9hdHRh Y2hfZXhlY3V0YWJsZV9jaGFuZ2VkIChkZWJ1Z19wcmludF9leGVjdXRhYmxlX2NoYW5nZWQpOwog IH0KLUluZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi9zeW1maWxlLmgKK0luZGV4OiBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9zeW1maWxlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40Ljkx LjIwMTIwODAxLm9yaWcvZ2RiL3N5bWZpbGUuaAkyMDEyLTA4LTAxIDE4OjM2OjUxLjAwMDAwMDAw MCArMDIwMAotKysrIGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL3N5bWZpbGUuaAkyMDEyLTA4LTAx IDE4OjM3OjQ0LjYwMDkyNTY2MiArMDIwMAotQEAgLTYxNSw2ICs2MTUsMTMgQEAgdm9pZCBmcmVl X3N5bWZpbGVfc2VnbWVudF9kYXRhIChzdHJ1Y3QgcworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvc3ltZmlsZS5oCTIwMTMtMDItMDMgMTc6MjA6MTguMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc3ltZmlsZS5oCTIwMTMtMDItMTUgMjI6MzU6MDMu Mjg4MjE5ODY3ICswMTAwCitAQCAtNTkzLDYgKzU5MywxMyBAQCB2b2lkIGZyZWVfc3ltZmlsZV9z ZWdtZW50X2RhdGEgKHN0cnVjdCBzCiAgCiAgZXh0ZXJuIHN0cnVjdCBjbGVhbnVwICppbmNyZW1l bnRfcmVhZGluZ19zeW10YWIgKHZvaWQpOwogIApAQCAtOTgwLDExICs5ODAsMTEgQEAgSW5kZXg6 IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL3N5bWZpbGUuaAogIC8qIEZyb20gZHdhcmYycmVhZC5j ICovCiAgCiAgLyogTmFtZXMgZm9yIGEgZHdhcmYyIGRlYnVnZ2luZyBzZWN0aW9uLiAgVGhlIGZp ZWxkIE5PUk1BTCBpcyB0aGUgbm9ybWFsCi1JbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIv dGVzdHN1aXRlL2xpYi9nZGIuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVz dHN1aXRlL2xpYi9nZGIuZXhwCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgwMS5v cmlnL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5leHAJMjAxMi0wOC0wMSAxODozNjo1MS4wMDAwMDAw MDAgKzAyMDAKLSsrKyBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5l eHAJMjAxMi0wOC0wMSAxODozNzo0NC42MDE5MjU2NTYgKzAyMDAKLUBAIC0xMzg4LDYgKzEzODgs MTYgQEAgcHJvYyBkZWZhdWx0X2dkYl9zdGFydCB7IH0geworLS0tIGdkYi03LjUuNTAuMjAxMzAy MTUub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCTIwMTMtMDItMTUgMjI6MzU6MDMuMjg5MjE5ODcwICswMTAwCitAQCAtMTQ4Miw2ICsx NDgyLDE2IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5pbmcgIkNv dWxkbid0IHNldCB0aGUgd2lkdGggdG8gMC4iCiAgCX0KICAgICAgfQpAQCAtMTAwMSwxMSArMTAw MSwxMSBAQCBJbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIu ZXhwCiAgICAgIHJldHVybiAwOwogIH0KICAKLUluZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dk Yi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjQuOTEuMjAxMjA4MDEub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cAkyMDEy LTA3LTI1IDIyOjM1OjMwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03LjQuOTEuMjAxMjA4MDEv Z2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJMjAxMi0wOC0wMSAxODozNzo0NC42MDE5 MjU2NTYgKzAyMDAKLUBAIC0yMTMsNiArMjEzLDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3Rh cnQgeyBhcmdzIH0geworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRl L2xpYi9taS1zdXBwb3J0LmV4cAkyMDEzLTAxLTIyIDAwOjU3OjU5LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAJ MjAxMy0wMi0xNSAyMjozNTowMy4yODkyMTk4NzAgKzAxMDAKK0BAIC0yMTIsNiArMjEyLDE2IEBA IHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyBhcmdzIH0gewogIAkgICAgd2FybmluZyAiQ291 bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0byAwLiIKICAJfQogICAgICB9CkBAIC0xMDIyLDEwICsxMDIy LDEwIEBAIEluZGV4OiBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvbGliL21pLXN1 cHBvcnQuZXhwCiAgICAgICMgSWYgYWxsb3dpbmcgdGhlIGluZmVyaW9yIHRvIGhhdmUgaXRzIG93 biBQVFkgdGhlbiBhc3NpZ24gdGhlIGluZmVyaW9yCiAgICAgICMgaXRzIG93biB0ZXJtaW5hbCBk ZXZpY2UgaGVyZS4KICAgICAgaWYgeyAkc2VwYXJhdGVfaW5mZXJpb3JfcHR5IH0gewotSW5kZXg6 IGdkYi03LjQuOTEuMjAxMjA4MDEvZ2RiL29iamZpbGVzLmgKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9vYmpmaWxlcy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNC45MS4yMDEyMDgw MS5vcmlnL2dkYi9vYmpmaWxlcy5oCTIwMTItMDgtMDEgMTg6MzY6NTEuMDAwMDAwMDAwICswMjAw Ci0rKysgZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvb2JqZmlsZXMuaAkyMDEyLTA4LTAxIDE4OjM3 OjQ0LjYwMTkyNTY1NiArMDIwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvb2Jq ZmlsZXMuaAkyMDEzLTAxLTAxIDA3OjMyOjQ3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL29iamZpbGVzLmgJMjAxMy0wMi0xNSAyMjozNTowMy4yOTAyMTk4NzIg KzAxMDAKIEBAIC00MzIsNiArNDMyLDEwIEBAIHN0cnVjdCBvYmpmaWxlCiAgCiAgI2RlZmluZSBP QkpGX01BSU5MSU5FICgxIDw8IDUpCkBAIC0xMDM3LDEwICsxMDM3LDEwIEBAIEluZGV4OiBnZGIt Ny40LjkxLjIwMTIwODAxL2dkYi9vYmpmaWxlcy5oCiAgLyogVGhlIG9iamVjdCBmaWxlIHRoYXQg Y29udGFpbnMgdGhlIHJ1bnRpbWUgY29tbW9uIG1pbmltYWwgc3ltYm9scwogICAgIGZvciBTdW5P UzQuICBOb3RlIHRoYXQgdGhpcyBvYmpmaWxlIGhhcyBubyBhc3NvY2lhdGVkIEJGRC4gICovCiAg Ci1JbmRleDogZ2RiLTcuNC45MS4yMDEyMDgwMS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVm aWxlLmV4cAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9jb3JlZmlsZS5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjkxLjIwMTIwODAxLm9yaWcv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAJMjAxMi0wNi0yMSAyMjo0NjoyMS4w MDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjkxLjIwMTIwODAxL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvY29yZWZpbGUuZXhwCTIwMTItMDgtMDEgMTg6Mzc6NDQuNjAyOTI1NjUwICswMjAwCist LS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZp bGUuZXhwCTIwMTMtMDEtMDEgMDc6MzM6MjUuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAkyMDEzLTAyLTE1 IDIyOjM1OjAzLjI5MDIxOTg3MiArMDEwMAogQEAgLTI1NiwzICsyNTYsMzMgQEAgaWYgIVtpc19y ZW1vdGUgdGFyZ2V0XSB7CiAgCiAgICAgIGdkYl9leGl0CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1z Y2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3LXdhdGNocG9pbnRzMi5wYXRjaCBiL2dkYi02LjYtc2No ZWR1bGVyX2xvY2tpbmctc3RlcC1zdy13YXRjaHBvaW50czIucGF0Y2gKaW5kZXggMzZiMTBhNS4u NGQ0ZmQ2YiAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLXN3LXdh dGNocG9pbnRzMi5wYXRjaAorKysgYi9nZGItNi42LXNjaGVkdWxlcl9sb2NraW5nLXN0ZXAtc3ct d2F0Y2hwb2ludHMyLnBhdGNoCkBAIC0yMSwxMSArMjEsMTEgQEAKIAogCVBvcnQgdG8gR0RCLTYu OHByZS4KIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZmVyaW9yLmgKK0luZGV4 OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9pbmZlcmlvci5oCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNC41MC4yMDEyMDcxNC5vcmlnL2dkYi9pbmZlcmlvci5oCTIwMTItMDYtMTMgMjA6MTU6MDUu MDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mZXJpb3IuaAky MDEyLTA3LTE0IDIzOjIxOjAxLjc5NTE2MTc5NCArMDIwMAotQEAgLTE1OSw3ICsxNTksMTUgQEAg ZXh0ZXJuIHZvaWQgcmVvcGVuX2V4ZWNfZmlsZSAodm9pZCk7CistLS0gZ2RiLTcuNS41MC4yMDEz MDIxNS5vcmlnL2dkYi9pbmZlcmlvci5oCTIwMTMtMDEtMTYgMTg6MzE6MzguMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaW5mZXJpb3IuaAkyMDEzLTAyLTE1IDIy OjMxOjQyLjk5Mzk0NDk1NyArMDEwMAorQEAgLTE2MCw3ICsxNjAsMTUgQEAgZXh0ZXJuIHZvaWQg cmVvcGVuX2V4ZWNfZmlsZSAodm9pZCk7CiAgLyogVGhlIGByZXN1bWUnIHJvdXRpbmUgc2hvdWxk IG9ubHkgYmUgY2FsbGVkIGluIHNwZWNpYWwgY2lyY3Vtc3RhbmNlcy4KICAgICBOb3JtYWxseSwg dXNlIGBwcm9jZWVkJywgd2hpY2ggaGFuZGxlcyBhIGxvdCBvZiBib29ra2VlcGluZy4gICovCiAg CkBAIC00MiwxMSArNDIsMTEgQEAgSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZmVy aW9yLmgKICAKICBleHRlcm4gcHRpZF90IHVzZXJfdmlzaWJsZV9yZXN1bWVfcHRpZCAoaW50IHN0 ZXApOwogIAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZnJ1bi5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaW5mcnVuLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40 LjUwLjIwMTIwNzE0Lm9yaWcvZ2RiL2luZnJ1bi5jCTIwMTItMDctMDEgMTI6Mzc6MDQuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMJMjAxMi0wNy0x NCAyMzoyMTowMS44MDAxNjE3NjcgKzAyMDAKLUBAIC03OSw3ICs3OSw3IEBAIHN0YXRpYyBpbnQg Zm9sbG93X2ZvcmsgKHZvaWQpOworLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvaW5m cnVuLmMJMjAxMy0wMS0zMSAyMDoxODo1OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9pbmZydW4uYwkyMDEzLTAyLTE1IDIyOjM0OjA3LjEzMjE0NDUxOSArMDEw MAorQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGludCBmb2xsb3dfZm9yayAodm9pZCk7CiAgc3Rh dGljIHZvaWQgc2V0X3NjaGVkbG9ja19mdW5jIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHksCiAg CQkJCXN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjKTsKICAKQEAgLTU1LDcgKzU1LDcgQEAgSW5k ZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2luZnJ1bi5jCiAgCiAgc3RhdGljIGludCBjdXJy ZW50bHlfc3RlcHBpbmdfb3JfbmV4dGluZ19jYWxsYmFjayAoc3RydWN0IHRocmVhZF9pbmZvICp0 cCwKICAJCQkJCQkgICB2b2lkICpkYXRhKTsKLUBAIC0xNjcyLDcgKzE2NzIsOCBAQCB1c2VyX3Zp c2libGVfcmVzdW1lX3B0aWQgKGludCBzdGVwKQorQEAgLTE3MDksNyArMTcwOSw4IEBAIHVzZXJf dmlzaWJsZV9yZXN1bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgIH0KICAgIGVsc2UgaWYgKChzY2hl ZHVsZXJfbW9kZSA9PSBzY2hlZGxvY2tfb24pCiAgCSAgIHx8IChzY2hlZHVsZXJfbW9kZSA9PSBz Y2hlZGxvY2tfc3RlcApAQCAtNjUsNyArNjUsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvaW5mcnVuLmMKICAgICAgewogICAgICAgIC8qIFVzZXItc2V0dGFibGUgJ3NjaGVkdWxl cicgbW9kZSByZXF1aXJlcyBzb2xvIHRocmVhZCByZXN1bWUuICAqLwogICAgICAgIHJlc3VtZV9w dGlkID0gaW5mZXJpb3JfcHRpZDsKLUBAIC0xNjkwLDcgKzE2OTEsNyBAQCB1c2VyX3Zpc2libGVf cmVzdW1lX3B0aWQgKGludCBzdGVwKQorQEAgLTE3MjcsNyArMTcyOCw3IEBAIHVzZXJfdmlzaWJs ZV9yZXN1bWVfcHRpZCAoaW50IHN0ZXApCiAgICAgU1RFUCBub256ZXJvIGlmIHdlIHNob3VsZCBz dGVwICh6ZXJvIHRvIGNvbnRpbnVlIGluc3RlYWQpLgogICAgIFNJRyBpcyB0aGUgc2lnbmFsIHRv IGdpdmUgdGhlIGluZmVyaW9yICh6ZXJvIGZvciBub25lKS4gICovCiAgdm9pZApAQCAtNzQsNyAr NzQsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMKICB7CiAgICBp bnQgc2hvdWxkX3Jlc3VtZSA9IDE7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NsZWFudXBzID0g bWFrZV9jbGVhbnVwIChyZXN1bWVfY2xlYW51cHMsIDApOwotQEAgLTE3MjMsOSArMTcyNCwxMyBA QCByZXN1bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQorQEAgLTE3NjAsOSArMTc2 MSwxMyBAQCByZXN1bWUgKGludCBzdGVwLCBlbnVtIGdkYl9zaWduYWwgc2lnKQogIAogICAgaWYg KGRlYnVnX2luZnJ1bikKICAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAt OTAsNDggKzkwLDQ4IEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9pbmZydW4uYwog IAkJCXRhcmdldF9waWRfdG9fc3RyIChpbmZlcmlvcl9wdGlkKSwKICAJCQlwYWRkcmVzcyAoZ2Ri YXJjaCwgcGMpKTsKICAKLUBAIC0yMTAyLDcgKzIxMDcsNyBAQCBwcm9jZWVkIChDT1JFX0FERFIg YWRkciwgZW51bSBnZGJfc2lnbmFsCi0gICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnRwOworQEAgLTIx NDAsNyArMjE0NSw3IEBAIHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwK ICAgIENPUkVfQUREUiBwYzsKICAgIHN0cnVjdCBhZGRyZXNzX3NwYWNlICphc3BhY2U7Ci0tICBp bnQgb25lcHJvYyA9IDA7CisgICAvKiBHREIgbWF5IGZvcmNlIHRoZSBpbmZlcmlvciB0byBzdGVw IGR1ZSB0byB2YXJpb3VzIHJlYXNvbnMuICAqLworLSAgaW50IGZvcmNlX3N0ZXAgPSAwOwogKyAg ZW51bSByZXN1bWVfc3RlcCByZXN1bWVfc3RlcCA9IFJFU1VNRV9TVEVQX0NPTlRJTlVFOwogIAog ICAgLyogSWYgd2UncmUgc3RvcHBlZCBhdCBhIGZvcmsvdmZvcmssIGZvbGxvdyB0aGUgYnJhbmNo IHNldCBieSB0aGUKICAgICAgICJzZXQgZm9sbG93LWZvcmstbW9kZSIgY29tbWFuZDsgb3RoZXJ3 aXNlLCB3ZSdsbCBqdXN0IHByb2NlZWQKLUBAIC0yMTQyLDEzICsyMTQ3LDEzIEBAIHByb2NlZWQg KENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKK0BAIC0yMTgwLDEzICsyMTg1LDEzIEBA IHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAJICAgYWN0dWFsbHkg YmUgZXhlY3V0aW5nIHRoZSBicmVha3BvaW50IGluc24gYW55d2F5LgogIAkgICBXZSdsbCBiZSAo dW4tKWV4ZWN1dGluZyB0aGUgcHJldmlvdXMgaW5zdHJ1Y3Rpb24uICAqLwogIAotLQlvbmVwcm9j ID0gMTsKKy0JZm9yY2Vfc3RlcCA9IDE7CiArCXJlc3VtZV9zdGVwID0gUkVTVU1FX1NURVBfVVNF UjsKICAgICAgICBlbHNlIGlmIChnZGJhcmNoX3NpbmdsZV9zdGVwX3Rocm91Z2hfZGVsYXlfcCAo Z2RiYXJjaCkKICAJICAgICAgICYmIGdkYmFyY2hfc2luZ2xlX3N0ZXBfdGhyb3VnaF9kZWxheSAo Z2RiYXJjaCwKICAJCQkJCQkgICAgIGdldF9jdXJyZW50X2ZyYW1lICgpKSkKICAJLyogV2Ugc3Rl cHBlZCBvbnRvIGFuIGluc3RydWN0aW9uIHRoYXQgbmVlZHMgdG8gYmUgc3RlcHBlZAogIAkgICBh Z2FpbiBiZWZvcmUgcmUtaW5zZXJ0aW5nIHRoZSBicmVha3BvaW50LCBkbyBzby4gICovCi0tCW9u ZXByb2MgPSAxOworLQlmb3JjZV9zdGVwID0gMTsKICsJcmVzdW1lX3N0ZXAgPSBSRVNVTUVfU1RF UF9VU0VSOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKLUBAIC0yMTc5LDEzICsyMTg0LDEzIEBA IHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKK0BAIC0yMjE3LDEzICsy MjIyLDEzIEBAIHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAJIGlz IHJlcXVpcmVkIGl0IHJldHVybnMgVFJVRSBhbmQgc2V0cyB0aGUgY3VycmVudCB0aHJlYWQgdG8K ICAJIHRoZSBvbGQgdGhyZWFkLiAgKi8KICAgICAgICBpZiAocHJlcGFyZV90b19wcm9jZWVkIChz dGVwKSkKLS0Jb25lcHJvYyA9IDE7CistCWZvcmNlX3N0ZXAgPSAxOwogKwlyZXN1bWVfc3RlcCA9 IFJFU1VNRV9TVEVQX1VTRVI7CiAgICAgIH0KICAKICAgIC8qIHByZXBhcmVfdG9fcHJvY2VlZCBt YXkgY2hhbmdlIHRoZSBjdXJyZW50IHRocmVhZC4gICovCiAgICB0cCA9IGluZmVyaW9yX3RocmVh ZCAoKTsKICAKLS0gIGlmIChvbmVwcm9jKQorLSAgaWYgKGZvcmNlX3N0ZXApCiArICBpZiAocmVz dW1lX3N0ZXAgPT0gUkVTVU1FX1NURVBfVVNFUikKICAgICAgewogICAgICAgIHRwLT5jb250cm9s LnRyYXBfZXhwZWN0ZWQgPSAxOwogICAgICAgIC8qIElmIGRpc3BsYWNlZCBzdGVwcGluZyBpcyBl bmFibGVkLCB3ZSBjYW4gc3RlcCBvdmVyIHRoZQotQEAgLTIyNzIsOCArMjI3NywxMyBAQCBwcm9j ZWVkIChDT1JFX0FERFIgYWRkciwgZW51bSBnZGJfc2lnbmFsCitAQCAtMjMxMCw5ICsyMzE1LDEz IEBAIHByb2NlZWQgKENPUkVfQUREUiBhZGRyLCBlbnVtIGdkYl9zaWduYWwKICAgIC8qIFJlc2V0 IHRvIG5vcm1hbCBzdGF0ZS4gICovCiAgICBpbml0X2luZndhaXRfc3RhdGUgKCk7CiAgCkBAIC0x NDEsMTIgKzE0MSwxMyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvaW5mcnVuLmMK ICsgICAgcmVzdW1lX3N0ZXAgPSBSRVNVTUVfU1RFUF9ORUVERUQ7CiArCiAgICAvKiBSZXN1bWUg aW5mZXJpb3IuICAqLwotLSAgcmVzdW1lIChvbmVwcm9jIHx8IHN0ZXAgfHwgYnBzdGF0X3Nob3Vs ZF9zdGVwICgpLCB0cC0+c3VzcGVuZC5zdG9wX3NpZ25hbCk7CistICByZXN1bWUgKGZvcmNlX3N0 ZXAgfHwgc3RlcCB8fCBicHN0YXRfc2hvdWxkX3N0ZXAgKCksCistCSAgdHAtPnN1c3BlbmQuc3Rv cF9zaWduYWwpOwogKyAgcmVzdW1lIChyZXN1bWVfc3RlcCwgdHAtPnN1c3BlbmQuc3RvcF9zaWdu YWwpOwogIAogICAgLyogV2FpdCBmb3IgaXQgdG8gc3RvcCAoaWYgbm90IHN0YW5kYWxvbmUpCiAg ICAgICBhbmQgaW4gYW55IGNhc2UgZGVjb2RlIHdoeSBpdCBzdG9wcGVkLCBhbmQgYWN0IGFjY29y ZGluZ2x5LiAgKi8KLUBAIC01MjA1LDEzICs1MjE1LDE4IEBAIHByb2Nlc3NfZXZlbnRfc3RvcF90 ZXN0OgorQEAgLTUyNDcsMTMgKzUyNTYsMTggQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3Q6CiAg CiAgLyogSXMgdGhyZWFkIFRQIGluIHRoZSBtaWRkbGUgb2Ygc2luZ2xlLXN0ZXBwaW5nPyAgKi8K ICAKQEAgLTE3MCwxMSArMTcxLDExIEBAIEluZGV4OiBnZGItNy40LjUwLjIwMTIwNzE0L2dkYi9p bmZydW4uYwogIH0KICAKICAvKiBSZXR1cm5zIHRydWUgaWYgYW55IHRocmVhZCAqYnV0KiB0aGUg b25lIHBhc3NlZCBpbiAiZGF0YSIgaXMgaW4gdGhlCi1JbmRleDogZ2RiLTcuNC41MC4yMDEyMDcx NC9nZGIvbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9saW51eC1u YXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjQuNTAuMjAxMjA3MTQub3JpZy9nZGIvbGludXgt bmF0LmMJMjAxMi0wNy0wNyAxNDoxMzo1Ni4wMDAwMDAwMDAgKzAyMDAKLSsrKyBnZGItNy40LjUw LjIwMTIwNzE0L2dkYi9saW51eC1uYXQuYwkyMDEyLTA3LTE0IDIzOjIxOjAxLjgwMzE2MTc1MCAr MDIwMAotQEAgLTI5ODIsNyArMjk4MiwxMSBAQCBzdGF0aWMgaW50CistLS0gZ2RiLTcuNS41MC4y MDEzMDIxNS5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEzLTAyLTEzIDE1OjU5OjQ5LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xpbnV4LW5hdC5jCTIwMTMtMDIt MTUgMjI6MzE6NDIuOTk3OTQ0OTY3ICswMTAwCitAQCAtMjk3MSw3ICsyOTcxLDExIEBAIHN0YXRp YyBpbnQKICBzZWxlY3Rfc2luZ2xlc3RlcF9sd3BfY2FsbGJhY2sgKHN0cnVjdCBsd3BfaW5mbyAq bHAsIHZvaWQgKmRhdGEpCiAgewogICAgaWYgKGxwLT5sYXN0X3Jlc3VtZV9raW5kID09IHJlc3Vt ZV9zdGVwCkBAIC0xODcsMTAgKzE4OCwxMCBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcxNC9n ZGIvbGludXgtbmF0LmMKICAgICAgcmV0dXJuIDE7CiAgICBlbHNlCiAgICAgIHJldHVybiAwOwot SW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3MTQvZ2RiL2xpbnV4LW5hdC5oCitJbmRleDogZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvbGludXgtbmF0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUw LjIwMTIwNzE0Lm9yaWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTItMDctMDYgMTg6NTI6MjAuMDAwMDAw MDAwICswMjAwCi0rKysgZ2RiLTcuNC41MC4yMDEyMDcxNC9nZGIvbGludXgtbmF0LmgJMjAxMi0w Ny0xNCAyMzoyMToxNy40MTQwNzUzNTUgKzAyMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9y aWcvZ2RiL2xpbnV4LW5hdC5oCTIwMTMtMDItMTMgMTU6NTk6NDkuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGludXgtbmF0LmgJMjAxMy0wMi0xNSAyMjozMTo0 Mi45OTg5NDQ5NjkgKzAxMDAKIEBAIC03Myw4ICs3Myw4IEBAIHN0cnVjdCBsd3BfaW5mbwogICAg LyogSWYgbm9uLXplcm8sIGEgcGVuZGluZyB3YWl0IHN0YXR1cy4gICovCiAgICBpbnQgc3RhdHVz OwoKZGlmZiAtLWdpdCBhL2dkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5w YXRjaCBiL2dkYi02LjgtYXR0YWNoLXNpZ25hbGxlZC1kZXRhY2gtc3RvcHBlZC5wYXRjaAppbmRl eCAxMzk2NmYyLi5iOThlMmYzIDEwMDY0NAotLS0gYS9nZGItNi44LWF0dGFjaC1zaWduYWxsZWQt ZGV0YWNoLXN0b3BwZWQucGF0Y2gKKysrIGIvZ2RiLTYuOC1hdHRhY2gtc2lnbmFsbGVkLWRldGFj aC1zdG9wcGVkLnBhdGNoCkBAIC0xLDggKzEsOCBAQAotSW5kZXg6IGdkYi03LjQuNTAuMjAxMjA3 MDMvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGludXgt bmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy40LjUwLjIwMTIwNzAzLm9yaWcvZ2RiL2xpbnV4 LW5hdC5jCTIwMTItMDctMDMgMTc6NDY6NTUuMDAwMDAwMDAwICswMjAwCi0rKysgZ2RiLTcuNC41 MC4yMDEyMDcwMy9nZGIvbGludXgtbmF0LmMJMjAxMi0wNy0wMyAxNzo1NzoyOS42MDg3MzQ5MzMg KzAyMDAKLUBAIC0xODAsNiArMTgwLDkgQEAgYmxvY2tlZC4gICovCistLS0gZ2RiLTcuNS41MC4y MDEzMDIxNS5vcmlnL2dkYi9saW51eC1uYXQuYwkyMDEzLTAyLTE1IDIyOjM4OjA1LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xpbnV4LW5hdC5jCTIwMTMtMDIt MTUgMjI6NDQ6NTkuNjM4OTg1NzE5ICswMTAwCitAQCAtMTgxLDYgKzE4MSw5IEBAIGJsb2NrZWQu ICAqLwogIHN0YXRpYyBzdHJ1Y3QgdGFyZ2V0X29wcyAqbGludXhfb3BzOwogIHN0YXRpYyBzdHJ1 Y3QgdGFyZ2V0X29wcyBsaW51eF9vcHNfc2F2ZWQ7CiAgCkBAIC0xMiw3ICsxMiw3IEBAIEluZGV4 OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi9saW51eC1uYXQuYwogIC8qIFRoZSBtZXRob2QgdG8g Y2FsbCwgaWYgYW55LCB3aGVuIGEgbmV3IHRocmVhZCBpcyBhdHRhY2hlZC4gICovCiAgc3RhdGlj IHZvaWQgKCpsaW51eF9uYXRfbmV3X3RocmVhZCkgKHN0cnVjdCBsd3BfaW5mbyAqKTsKICAKLUBA IC05MDksNyArOTEyLDE0IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkgXCJzZXQg ZGUKK0BAIC05MTQsNyArOTE3LDE0IEBAIGhvbGRpbmcgdGhlIGNoaWxkIHN0b3BwZWQuICBUcnkg XCJzZXQgZGUKICAJICBwYXJlbnRfaW5mLT53YWl0aW5nX2Zvcl92Zm9ya19kb25lID0gMDsKICAJ fQogICAgICAgIGVsc2UgaWYgKGRldGFjaF9mb3JrKQpAQCAtMjgsNyArMjgsNyBAQCBJbmRleDog Z2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvbGludXgtbmF0LmMKICAKICAgICAgICAvKiBOb3RlIHRo YXQgdGhlIGRldGFjaCBhYm92ZSBtYWtlcyBQQVJFTlRfSU5GIGRhbmdsaW5nLiAgKi8KICAKLUBA IC0xMzc3LDYgKzEzODcsNyBAQCBsaW51eF9uYXRfcG9zdF9hdHRhY2hfd2FpdCAocHRpZF90IHB0 aWQsCitAQCAtMTM2Miw2ICsxMzcyLDcgQEAgbGludXhfbmF0X3Bvc3RfYXR0YWNoX3dhaXQgKHB0 aWRfdCBwdGlkLAogICAgICAgIGlmIChkZWJ1Z19saW51eF9uYXQpCiAgCWZwcmludGZfdW5maWx0 ZXJlZCAoZ2RiX3N0ZGxvZywKICAJCQkgICAgIkxOUEFXOiBBdHRhY2hpbmcgdG8gYSBzdG9wcGVk IHByb2Nlc3NcbiIpOwpAQCAtMzYsNyArMzYsNyBAQCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcw My9nZGIvbGludXgtbmF0LmMKICAKICAgICAgICAvKiBUaGUgcHJvY2VzcyBpcyBkZWZpbml0ZWx5 IHN0b3BwZWQuICBJdCBpcyBpbiBhIGpvYiBjb250cm9sCiAgCSBzdG9wLCB1bmxlc3MgdGhlIGtl cm5lbCBwcmVkYXRlcyB0aGUgVEFTS19TVE9QUEVEIC8KLUBAIC0xODA1LDYgKzE4MTYsOSBAQCBn ZXRfcGVuZGluZ19zdGF0dXMgKHN0cnVjdCBsd3BfaW5mbyAqbHAsCitAQCAtMTc5MCw2ICsxODAx LDkgQEAgZ2V0X3BlbmRpbmdfc3RhdHVzIChzdHJ1Y3QgbHdwX2luZm8gKmxwLAogIAkJCSAgICBn ZGJfc2lnbmFsX3RvX3N0cmluZyAoc2lnbm8pKTsKICAgICAgfQogIApAQCAtNDYsNyArNDYsNyBA QCBJbmRleDogZ2RiLTcuNC41MC4yMDEyMDcwMy9nZGIvbGludXgtbmF0LmMKICAgIHJldHVybiAw OwogIH0KICAKLUBAIC0xOTE4LDYgKzE5MzIsOCBAQCBsaW51eF9uYXRfZGV0YWNoIChzdHJ1Y3Qg dGFyZ2V0X29wcyAqb3BzCitAQCAtMTkwMCw2ICsxOTE0LDggQEAgbGludXhfbmF0X2RldGFjaCAo c3RydWN0IHRhcmdldF9vcHMgKm9wcwogICAgICB9CiAgICBlbHNlCiAgICAgIGxpbnV4X29wcy0+ dG9fZGV0YWNoIChvcHMsIGFyZ3MsIGZyb21fdHR5KTsKQEAgLTU1LDcgKzU1LDcgQEAgSW5kZXg6 IGdkYi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCiAgfQogIAogIC8qIFJlc3VtZSBM UC4gICovCi1AQCAtMjEwNCw2ICsyMTIwLDE0IEBAIGxpbnV4X25hdF9yZXN1bWUgKHN0cnVjdCB0 YXJnZXRfb3BzICpvcHMKK0BAIC0yMDg2LDYgKzIxMDIsMTQgQEAgbGludXhfbmF0X3Jlc3VtZSAo c3RydWN0IHRhcmdldF9vcHMgKm9wcwogICAgICAgbGludXhfbmF0X3Jlc3VtZV9jYWxsYmFjay4g ICovCiAgICBscC0+c3RvcHBlZCA9IDA7CiAgCkBAIC03MCwxOSArNzAsMTkgQEAgSW5kZXg6IGdk Yi03LjQuNTAuMjAxMjA3MDMvZ2RiL2xpbnV4LW5hdC5jCiAgICBpZiAocmVzdW1lX21hbnkpCiAg ICAgIGl0ZXJhdGVfb3Zlcl9sd3BzIChwdGlkLCBsaW51eF9uYXRfcmVzdW1lX2NhbGxiYWNrLCBO VUxMKTsKICAKLUBAIC00MTI5LDYgKzQxNTMsOCBAQCBsaW51eF9uYXRfbW91cm5faW5mZXJpb3Ig KHN0cnVjdCB0YXJnZXRfCi0gICAgICAgIHRoZXJlIGFyZSBvdGhlciB2aWFibGUgZm9ya3MgdG8g ZGVidWcuICBEZWxldGUgdGhlIGV4aXRpbmcKLSAgICAgICAgb25lIGFuZCBjb250ZXh0LXN3aXRj aCB0byB0aGUgZmlyc3QgYXZhaWxhYmxlLiAgKi8KLSAgICAgbGludXhfZm9ya19tb3Vybl9pbmZl cmlvciAoKTsKK0BAIC00MTM3LDYgKzQxNjEsOCBAQCBsaW51eF9uYXRfbW91cm5faW5mZXJpb3Ig KHN0cnVjdCB0YXJnZXRfCisgCisgICAvKiBMZXQgdGhlIGFyY2gtc3BlY2lmaWMgbmF0aXZlIGNv ZGUga25vdyB0aGlzIHByb2Nlc3MgaXMgZ29uZS4gICovCisgICBsaW51eF9uYXRfZm9yZ2V0X3By b2Nlc3MgKHBpZCk7CiArCiArICBwaWRfd2FzX3N0b3BwZWQgPSAwOwogIH0KICAKICAvKiBDb252 ZXJ0IGEgbmF0aXZlL2hvc3Qgc2lnaW5mbyBvYmplY3QsIGludG8vZnJvbSB0aGUgc2lnaW5mbyBp biB0aGUKLUluZGV4OiBnZGItNy40LjUwLjIwMTIwNzAzL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVh ZHMvYXR0YWNoLXN0b3BwZWQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVz dHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1zdG9wcGVkLmV4cAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjQuNTAuMjAxMjA3MDMub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi50aHJlYWRzL2F0dGFjaC1z dG9wcGVkLmV4cAkyMDEyLTA2LTI2IDIxOjIzOjIwLjAwMDAwMDAwMCArMDIwMAotKysrIGdkYi03 LjQuNTAuMjAxMjA3MDMvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5l eHAJMjAxMi0wNy0wMyAxNzo1Njo0My43OTc3OTAxMjAgKzAyMDAKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy9hdHRhY2gtc3RvcHBlZC5leHAJ MjAxMy0wMS0wMSAwNzo0MToyNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvYXR0YWNoLXN0b3BwZWQuZXhwCTIwMTMtMDIt MTUgMjI6NDQ6MjMuMjYyOTMwMzEyICswMTAwCiBAQCAtNjEsNyArNjEsNjUgQEAgcHJvYyBjb3Jl ZnVuYyB7IHRocmVhZHR5cGUgfSB7CiAgICAgIGdkYl9yZWluaXRpYWxpemVfZGlyICRzcmNkaXIv JHN1YmRpcgogICAgICBnZGJfbG9hZCAke2JpbmZpbGV9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1i ejI1NDIyOS1nY29yZS1wcnBzaW5mby5wYXRjaCBiL2dkYi02LjgtYnoyNTQyMjktZ2NvcmUtcHJw c2luZm8ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAzNzU1NmYuLjAwMDAw MDAKLS0tIGEvZ2RiLTYuOC1iejI1NDIyOS1nY29yZS1wcnBzaW5mby5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDI4MCArMCwwIEBACi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9iZmQvZWxm LWJmZC5oCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2JmZC9lbGYt YmZkLmgJMjAxMy0wMS0xOCAyMzowMjo1NC44MDkwMDQ0NzMgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2JmZC9lbGYtYmZkLmgJMjAxMy0wMS0xOCAyMzowMjo1OS4zMTYwMTA3NTUgKzAx MDAKLUBAIC0yMjQyLDggKzIyNDIsMTAgQEAgZXh0ZXJuIEVsZl9JbnRlcm5hbF9QaGRyICogX2Jm ZF9lbGZfZmluZAotIC8qIEV4cG9ydGVkIGludGVyZmFjZSBmb3Igd3JpdGluZyBlbGYgY29yZWZp bGUgbm90ZXMuICovCi0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfbm90ZQotICAgKGJmZCAq LCBjaGFyICosIGludCAqLCBjb25zdCBjaGFyICosIGludCwgY29uc3Qgdm9pZCAqLCBpbnQpOwot K3N0cnVjdCBlbGZfcHJwc2luZm87Ci0rdHlwZWRlZiBzdHJ1Y3QgZWxmX3BycHNpbmZvIHBycHNp bmZvX3Q7Ci0gZXh0ZXJuIGNoYXIgKmVsZmNvcmVfd3JpdGVfcHJwc2luZm8KLS0gIChiZmQgKiwg Y2hhciAqLCBpbnQgKiwgY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopOwotKyAgKGJmZCAqLCBj aGFyICosIGludCAqLCBjb25zdCBwcnBzaW5mb190ICopOwotIGV4dGVybiBjaGFyICplbGZjb3Jl X3dyaXRlX3Byc3RhdHVzCi0gICAoYmZkICosIGNoYXIgKiwgaW50ICosIGxvbmcsIGludCwgY29u c3Qgdm9pZCAqKTsKLSBleHRlcm4gY2hhciAqIGVsZmNvcmVfd3JpdGVfcHN0YXR1cwotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvYmZkL2VsZi5jCi09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41 MC4yMDEzMDExOC5vcmlnL2JmZC9lbGYuYwkyMDEzLTAxLTE4IDIzOjAyOjU0LjgxMjAwNDQ3OSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvYmZkL2VsZi5jCTIwMTMtMDEtMTggMjM6MDI6 NTkuMzE5MDEwODM2ICswMTAwCi1AQCAtOTEwMyw1NiArOTEwMyw2MSBAQCBjaGFyICoKLSBlbGZj b3JlX3dyaXRlX3BycHNpbmZvIChiZmQgICphYmZkLAotIAkJCWNoYXIgKmJ1ZiwKLSAJCQlpbnQg ICpidWZzaXosCi0tCQkJY29uc3QgY2hhciAqZm5hbWUsCi0tCQkJY29uc3QgY2hhciAqcHNhcmdz KQotKwkJCWNvbnN0IHBycHNpbmZvX3QgKmlucHV0KQotIHsKLSAgIGNvbnN0IHN0cnVjdCBlbGZf YmFja2VuZF9kYXRhICpiZWQgPSBnZXRfZWxmX2JhY2tlbmRfZGF0YSAoYWJmZCk7Ci0gCi0gICBp ZiAoYmVkLT5lbGZfYmFja2VuZF93cml0ZV9jb3JlX25vdGUgIT0gTlVMTCkKLSAgICAgewotICAg ICAgIGNoYXIgKnJldDsKLSsgICAgICBjaGFyIGZuYW1lW3NpemVvZiAoaW5wdXQtPnByX2ZuYW1l KSArIDFdOwotKyAgICAgIGNoYXIgcHNhcmdzW3NpemVvZiAoaW5wdXQtPnByX3BzYXJncykgKyAx XTsKLSsKLSsgICAgICBzdHJuY3B5IChmbmFtZSwgaW5wdXQtPnByX2ZuYW1lLCBzaXplb2YgKGlu cHV0LT5wcl9mbmFtZSkpOwotKyAgICAgIGZuYW1lW3NpemVvZiAoaW5wdXQtPnByX2ZuYW1lKV0g PSAwOwotKyAgICAgIHN0cm5jcHkgKHBzYXJncywgaW5wdXQtPnByX3BzYXJncywgc2l6ZW9mIChp bnB1dC0+cHJfcHNhcmdzKSk7Ci0rICAgICAgcHNhcmdzW3NpemVvZiAoaW5wdXQtPnByX3BzYXJn cyldID0gMDsKLSsKLSAgICAgICByZXQgPSAoKmJlZC0+ZWxmX2JhY2tlbmRfd3JpdGVfY29yZV9u b3RlKSAoYWJmZCwgYnVmLCBidWZzaXosCi0gCQkJCQkJIE5UX1BSUFNJTkZPLCBmbmFtZSwgcHNh cmdzKTsKLSAgICAgICBpZiAocmV0ICE9IE5VTEwpCi0gCXJldHVybiByZXQ7Ci0gICAgIH0KLSAK LS0jaWYgZGVmaW5lZCAoSEFWRV9QUlBTSU5GT19UKSB8fCBkZWZpbmVkIChIQVZFX1BTSU5GT19U KQotLSNpZiBkZWZpbmVkIChIQVZFX1BSUFNJTkZPMzJfVCkgfHwgZGVmaW5lZCAoSEFWRV9QU0lO Rk8zMl9UKQotKyNpZiBkZWZpbmVkIChIQVZFX1BSUFNJTkZPX1QpCi0rI2lmIGRlZmluZWQgKEhB VkVfUFJQU0lORk8zMl9UKQotICAgaWYgKGJlZC0+cy0+ZWxmY2xhc3MgPT0gRUxGQ0xBU1MzMikK LSAgICAgewotLSNpZiBkZWZpbmVkIChIQVZFX1BTSU5GTzMyX1QpCi0tICAgICAgcHNpbmZvMzJf dCBkYXRhOwotLSAgICAgIGludCBub3RlX3R5cGUgPSBOVF9QU0lORk87Ci0tI2Vsc2UKLSAgICAg ICBwcnBzaW5mbzMyX3QgZGF0YTsKLSAgICAgICBpbnQgbm90ZV90eXBlID0gTlRfUFJQU0lORk87 Ci0tI2VuZGlmCi0gCi0tICAgICAgbWVtc2V0ICgmZGF0YSwgMCwgc2l6ZW9mIChkYXRhKSk7Ci0t ICAgICAgc3RybmNweSAoZGF0YS5wcl9mbmFtZSwgZm5hbWUsIHNpemVvZiAoZGF0YS5wcl9mbmFt ZSkpOwotLSAgICAgIHN0cm5jcHkgKGRhdGEucHJfcHNhcmdzLCBwc2FyZ3MsIHNpemVvZiAoZGF0 YS5wcl9wc2FyZ3MpKTsKLSsgICAgICBkYXRhLnByX3N0YXRlID0gaW5wdXQtPnByX3N0YXRlOwot KyAgICAgIGRhdGEucHJfc25hbWUgPSBpbnB1dC0+cHJfc25hbWU7Ci0rICAgICAgZGF0YS5wcl96 b21iID0gaW5wdXQtPnByX3pvbWI7Ci0rICAgICAgZGF0YS5wcl9uaWNlID0gaW5wdXQtPnByX25p Y2U7Ci0rICAgICAgZGF0YS5wcl9mbGFnID0gaW5wdXQtPnByX2ZsYWc7Ci0rICAgICAgZGF0YS5w cl91aWQgPSBpbnB1dC0+cHJfdWlkOwotKyAgICAgIGRhdGEucHJfZ2lkID0gaW5wdXQtPnByX2dp ZDsKLSsgICAgICBkYXRhLnByX3BpZCA9IGlucHV0LT5wcl9waWQ7Ci0rICAgICAgZGF0YS5wcl9w cGlkID0gaW5wdXQtPnByX3BwaWQ7Ci0rICAgICAgZGF0YS5wcl9wZ3JwID0gaW5wdXQtPnByX3Bn cnA7Ci0rICAgICAgZGF0YS5wcl9zaWQgPSBpbnB1dC0+cHJfc2lkOwotKyAgICAgIEJGRF9BU1NF UlQgKHNpemVvZiAoZGF0YS5wcl9mbmFtZSkgPT0gc2l6ZW9mIChpbnB1dC0+cHJfZm5hbWUpKTsK LSsgICAgICBtZW1jcHkgKGRhdGEucHJfZm5hbWUsIGlucHV0LT5wcl9mbmFtZSwgc2l6ZW9mIChk YXRhLnByX2ZuYW1lKSk7Ci0rICAgICAgQkZEX0FTU0VSVCAoc2l6ZW9mIChkYXRhLnByX3BzYXJn cykgPT0gc2l6ZW9mIChpbnB1dC0+cHJfcHNhcmdzKSk7Ci0rICAgICAgbWVtY3B5IChkYXRhLnBy X3BzYXJncywgaW5wdXQtPnByX3BzYXJncywgc2l6ZW9mIChkYXRhLnByX3BzYXJncykpOwotICAg ICAgIHJldHVybiBlbGZjb3JlX3dyaXRlX25vdGUgKGFiZmQsIGJ1ZiwgYnVmc2l6LAotIAkJCQkg IkNPUkUiLCBub3RlX3R5cGUsICZkYXRhLCBzaXplb2YgKGRhdGEpKTsKLSAgICAgfQotICAgZWxz ZQotICNlbmRpZgotICAgICB7Ci0tI2lmIGRlZmluZWQgKEhBVkVfUFNJTkZPX1QpCi0tICAgICAg cHNpbmZvX3QgZGF0YTsKLS0gICAgICBpbnQgbm90ZV90eXBlID0gTlRfUFNJTkZPOwotLSNlbHNl Ci0tICAgICAgcHJwc2luZm9fdCBkYXRhOwotICAgICAgIGludCBub3RlX3R5cGUgPSBOVF9QUlBT SU5GTzsKLS0jZW5kaWYKLSAKLS0gICAgICBtZW1zZXQgKCZkYXRhLCAwLCBzaXplb2YgKGRhdGEp KTsKLS0gICAgICBzdHJuY3B5IChkYXRhLnByX2ZuYW1lLCBmbmFtZSwgc2l6ZW9mIChkYXRhLnBy X2ZuYW1lKSk7Ci0tICAgICAgc3RybmNweSAoZGF0YS5wcl9wc2FyZ3MsIHBzYXJncywgc2l6ZW9m IChkYXRhLnByX3BzYXJncykpOwotICAgICAgIHJldHVybiBlbGZjb3JlX3dyaXRlX25vdGUgKGFi ZmQsIGJ1ZiwgYnVmc2l6LAotLQkJCQkgIkNPUkUiLCBub3RlX3R5cGUsICZkYXRhLCBzaXplb2Yg KGRhdGEpKTsKLSsJCQkJICJDT1JFIiwgbm90ZV90eXBlLCBpbnB1dCwgc2l6ZW9mICgqaW5wdXQp KTsKLSAgICAgfQotLSNlbmRpZgkvKiBQU0lORk9fVCBvciBQUlBTSU5GT19UICovCi0rI2VuZGlm CS8qIFBSUFNJTkZPX1QgKi8KLSAKLSAgIGZyZWUgKGJ1Zik7Ci0gICByZXR1cm4gTlVMTDsKLUlu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYwotPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcHJvY2ZzLmMJMjAxMy0wMS0xOCAyMzowMjo1NC44 MTUwMDQ0ODcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYwkyMDEz LTAxLTE4IDIzOjAyOjU5LjMyMDAxMDg2MSArMDEwMAotQEAgLTU1MDIsNiArNTUwMiw3IEBAIHBy b2Nmc19tYWtlX25vdGVfc2VjdGlvbiAoYmZkICpvYmZkLCBpbnQKLSAgIG5vdGVfZGF0YSA9IChj aGFyICopIGVsZmNvcmVfd3JpdGVfcHJwc2luZm8gKG9iZmQsCi0gCQkJCQkgICAgICAgbm90ZV9k YXRhLAotIAkJCQkJICAgICAgIG5vdGVfc2l6ZSwKLSsJCQkJCSAgICAgICBOVUxMLAotIAkJCQkJ ICAgICAgIGZuYW1lLAotIAkJCQkJICAgICAgIHBzYXJncyk7Ci0gCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvbGludXgtdGRlcC5jCi09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9saW51eC10ZGVwLmMJMjAxMy0wMS0xOCAyMzowMjo1NC44MTYwMDQ0 ODkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9saW51eC10ZGVwLmMJMjAxMy0w MS0xOCAyMzowMzoxMC43MjcwMjczMTcgKzAxMDAKLUBAIC0zMiw2ICszMiw3IEBACi0gI2luY2x1 ZGUgImNsaS9jbGktdXRpbHMuaCIKLSAjaW5jbHVkZSAiYXJjaC11dGlscy5oIgotICNpbmNsdWRl ICJnZGJfb2JzdGFjay5oIgotKyNpbmNsdWRlIDxzeXMvcHJvY2ZzLmg+Ci0gCi0gI2luY2x1ZGUg PGN0eXBlLmg+Ci0gCi1AQCAtMTE1Myw2ICsxMTU0LDEzMSBAQCBsaW51eF9jb3JlZmlsZV90aHJl YWRfY2FsbGJhY2sgKHN0cnVjdCB0Ci0gICByZXR1cm4gIWFyZ3MtPm5vdGVfZGF0YTsKLSB9Ci0g Ci0rLyogU2hvdWxkIGJlIGFsd2F5cyB0cnVlIGZvciBMaW51eCAqLwotKyNkZWZpbmUgSEFWRV9Q UlBTSU5GT19UIDEKLSsKLSsjaWYgZGVmaW5lZCAoSEFWRV9QUlBTSU5GT19UKQotKwotKy8qIEZp bGxzIHN0cnVjdCBlbGZfcHJwc2luZm97MzIsNjR9IGFzIG11Y2ggYXMgcG9zc2libGUsIGltaXRh dGUgTGludXgga2VybmVsCi0rICAgYmluZm10X2VsZi5jLiAgVW5rbm93biB2YWx1ZXMgYXJlIGZp bGxlZCB3aXRoIHplcm9lcy4gIFRoZSBzdHJ1Y3R1cmUgaXMKLSsgICBtYWxsb2NlZC4gICovCi0r Ci0rc3RhdGljIGNvbnN0IHBycHNpbmZvX3QgKgotK2ZpbGxfcHJwc2luZm8gKHZvaWQpCi0rewot KyAgc3RydWN0IHN0YXQgc2I7Ci0rICBjaGFyIGZpbGVuYW1lW3NpemVvZiAoIi9wcm9jLy9jbWRs aW5lIikgKyBzaXplb2YgKGludCkgKiAzICsgMl07Ci0rICBjaGFyIGJ1ZlsxMDI0XTsKLSsgIGNo YXIgcHJvY19zdGF0ZVs1XTsKLSsgIGNoYXIgcHJvY19jbWRsaW5lW3NpemVvZiAoKChzdHJ1Y3Qg ZWxmX3BycHNpbmZvKikwKS0+cHJfcHNhcmdzKSArIDFdOwotKyAgdW5zaWduZWQgZmxhZ3M7Ci0r ICBsb25nIHByb2NfbmljZTsKLSsgIHVuc2lnbmVkIHByb2NfcHBpZDsKLSsgIHVuc2lnbmVkIHBy b2NfcGdpZDsKLSsgIHVuc2lnbmVkIHByb2Nfc2lkOwotKyAgcGlkX3QgcGlkOwotKyAgaW50IGZk LCBuOwotKyAgY2hhciAqY3AsICpwcm9jX2NvbW0sICpzdGF0ZV9zOwotKyAgLyogU3RyaW5nIGNv bWVzIGZyb20gTGludXgga2VybmVsIGJpbmZtdF9lbGYuYyBGSUxMX1BTSU5GTyBidXQgaXQgaXMg YWxyZWFkeQotKyAgICAgb2Jzb2xldGUgdGhlcmUgdG8gPGxpbnV4L3NjaGVkLmg+IFRBU0tfKiBj b25zdGFudHMuICAqLwotKyAgY29uc3QgY2hhciBzdGF0ZV9zdHJpbmdbXSA9ICJSU0RUWlciOwot KyAgaW50IHN0YXRlX251bTsKLSsgIHN0YXRpYyBwcnBzaW5mb190IHJldHZhbDsKLSsKLSsgIC8q IEdldCAvcHJvYy8kUElEL3N0YXQuICAqLwotKyAgcGlkID0gcHRpZF9nZXRfcGlkIChpbmZlcmlv cl9wdGlkKTsKLSsgIHNwcmludGYgKGZpbGVuYW1lLCAiL3Byb2MvJXUvc3RhdCIsICh1bnNpZ25l ZClwaWQpOwotKyAgZmQgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFkpOwotKyAgaWYgKGZkIDwg MCkKLSsgICAgcmV0dXJuIE5VTEw7Ci0rICBmc3RhdCAoZmQsICZzYik7IC8qIE5vIGVycm9yIGNo ZWNraW5nIChjYW4gaXQgZXZlciBoYXBwZW4/KS4gICovCi0rICBuID0gcmVhZCAoZmQsIGJ1Ziwg c2l6ZW9mIChidWYpIC0gMSk7Ci0rICBjbG9zZSAoZmQpOwotKyAgaWYgKG4gPCAwKQotKyAgICBy ZXR1cm4gTlVMTDsKLSsgIGJ1ZltuXSA9IDA7Ci0rCi0rICBjcCA9IHN0cnJjaHIgKGJ1ZiwgJykn KTsgLyogU3BsaXQgaW50byAiUElEIChDT01NIiBhbmQgIjxyZXN0PiIuICAqLwotKyAgaWYgKCFj cCkKLSsgICAgcmV0dXJuIE5VTEw7Ci0rICAqY3AgPSAwOwotKwotKyAgLyogR3JhYiBDT01NLiAg Ki8KLSsgIHByb2NfY29tbSA9IHN0cmNociAoYnVmLCAnKCcpOwotKyAgaWYgKCFwcm9jX2NvbW0p Ci0rICAgIHJldHVybiBOVUxMOwotKyAgcHJvY19jb21tKys7Ci0rCi0rICAvKiBSZWFkIC9wcm9j LyRQSUQvY21kbGluZS4gICovCi0rICBwcm9jX2NtZGxpbmVbMF0gPSAwOwotKyAgc3RyY3B5IChz dHJyY2hyIChmaWxlbmFtZSwgJy8nKSwgIi9jbWRsaW5lIik7Ci0rICBmZCA9IG9wZW4gKGZpbGVu YW1lLCBPX1JET05MWSk7Ci0rICBpZiAoZmQgPj0gMCkKLSsgICAgewotKyAgICAgIGludCBuOwot KwotKyAgICAgIG4gPSByZWFkIChmZCwgcHJvY19jbWRsaW5lLCBzaXplb2YgKHByb2NfY21kbGlu ZSkgLSAxKTsKLSsgICAgICBpZiAobiA8IDApCi0rCW4gPSAwOwotKyAgICAgIHByb2NfY21kbGlu ZVtuXSA9IDA7Ci0rICAgICAgd2hpbGUgKG4tLSkgLyogUmVwbGFjZSBOVUxzIHdpdGggc3BhY2Vz LiAgKi8KLSsJaWYgKHByb2NfY21kbGluZVtuXSA9PSAwKQotKwkgIHByb2NfY21kbGluZVtuXSA9 ICcgJzsKLSsgICAgICBjbG9zZSAoZmQpOwotKyAgICB9Ci0rCi0rICAvKiBQYXJzZSAvcHJvYy8k UElEL3N0YXQuICAqLwotKyAgbiA9IHNzY2FuZiAoY3AgKyAyLCAvKiBza2lwICIpICIgKi8KLSsJ ICAgICAgIiU0cyAldSAiICAgICAgICAgIC8qIHN0YXRlLCBwcGlkICovCi0rCSAgICAgICIldSAl dSAlKnMgJSpzICIgICAvKiBwZ2lkLCBzaWQsIHR0eSwgdHBnaWQgKi8KLSsJICAgICAgIiV1ICUq cyAlKnMgJSpzICIgIC8qIGZsYWdzLCBtaW5fZmx0LCBjbWluX2ZsdCwgbWFqX2ZsdCAqLwotKwkg ICAgICAiJSpzICIgICAgICAgICAgICAgLyogY21hal9mbHQgKi8KLSsJICAgICAgIiUqcyAlKnMg IiAgICAgICAgIC8qIHV0aW1lLCBzdGltZSAqLwotKwkgICAgICAiJSpzICUqcyAlKnMgIiAgICAg LyogY3V0aW1lLCBjc3RpbWUsIHByaW9yaXR5ICovCi0rCSAgICAgICIlbGQgIiAgICAgICAgICAg ICAvKiBuaWNlICovCi0rCSAgICAgIC8qIiUqcyAlKnMgIiAgICAgICAgICB0aW1lb3V0LCBpdF9y ZWFsX3ZhbHVlICovCi0rCSAgICAgIC8qIiVsdSAiICAgICAgICAgICAgICBzdGFydF90aW1lICov Ci0rCSAgICAgIC8qIiVsdSAiICAgICAgICAgICAgICB2c2l6ZSAqLwotKwkgICAgICAvKiIlbHUg IiAgICAgICAgICAgICAgcnNzICovCi0rCSAgICAgIC8qIiVsdSAlbHUgJWx1ICIgICAgICByc3Nf cmxpbSwgc3RhcnRfY29kZSwgZW5kX2NvZGUgKi8KLSsJICAgICAgLyoiJWx1ICVsdSAlbHUgIiAg ICAgIHN0YXJ0X3N0YWNrLCBrc3RrX2VzcCwga3N0a19laXAgKi8KLSsJICAgICAgLyoiJXUgJXUg JXUgJXUgIiAgICAgIHNpZ25hbCwgYmxvY2tlZCwgc2lnaWdub3JlLCBzaWdjYXRjaCAqLwotKwkg ICAgICAvKiIlbHUgJWx1ICVsdSIgICAgICAgd2NoYW4sIG5zd2FwLCBjbnN3YXAgKi8KLSsJICAg ICAgLCBwcm9jX3N0YXRlLCAmcHJvY19wcGlkLAotKwkgICAgICAmcHJvY19wZ2lkLCAmcHJvY19z aWQsCi0rCSAgICAgICZmbGFncywKLSsJICAgICAgJnByb2NfbmljZSk7Ci0rICBpZiAobiAhPSA2 KQotKyAgICByZXR1cm4gTlVMTDsKLSsKLSsgIHN0YXRlX3MgPSBzdHJjaHIgKHN0YXRlX3N0cmlu ZywgcHJvY19zdGF0ZVswXSk7Ci0rICBpZiAoc3RhdGVfcyAhPSBOVUxMKQotKyAgICBzdGF0ZV9u dW0gPSBzdGF0ZV9zIC0gc3RhdGVfc3RyaW5nOwotKyAgZWxzZQotKyAgICB7Ci0rICAgICAgLyog MCBtZWFucyBSdW5uaW5nLCBzb21lIG1vcmUgdW51c2FsIHN0YXRlIHdvdWxkIGJlIGJldHRlci4g ICovCi0rICAgICAgc3RhdGVfbnVtID0gMDsKLSsgICAgfQotKwotKyAgbWVtc2V0ICgmcmV0dmFs LCAwLCBzaXplb2YgKHJldHZhbCkpOwotKyAgcmV0dmFsLnByX3N0YXRlID0gc3RhdGVfbnVtOwot KyAgcmV0dmFsLnByX3NuYW1lID0gcHJvY19zdGF0ZVswXTsKLSsgIHJldHZhbC5wcl96b21iID0g KHByb2Nfc3RhdGVbMF0gPT0gJ1onKTsKLSsgIHJldHZhbC5wcl9uaWNlID0gcHJvY19uaWNlOwot KyAgcmV0dmFsLnByX2ZsYWcgPSBmbGFnczsKLSsgIHJldHZhbC5wcl91aWQgPSBzYi5zdF91aWQ7 Ci0rICByZXR2YWwucHJfZ2lkID0gc2Iuc3RfZ2lkOwotKyAgcmV0dmFsLnByX3BpZCA9IHBpZDsK LSsgIHJldHZhbC5wcl9wcGlkID0gcHJvY19wcGlkOwotKyAgcmV0dmFsLnByX3BncnAgPSBwcm9j X3BnaWQ7Ci0rICByZXR2YWwucHJfc2lkID0gcHJvY19zaWQ7Ci0rICBzdHJuY3B5IChyZXR2YWwu cHJfZm5hbWUsIHByb2NfY29tbSwgc2l6ZW9mIChyZXR2YWwucHJfZm5hbWUpKTsKLSsgIHN0cm5j cHkgKHJldHZhbC5wcl9wc2FyZ3MsIHByb2NfY21kbGluZSwgc2l6ZW9mIChyZXR2YWwucHJfcHNh cmdzKSk7Ci0rCi0rICByZXR1cm4gJnJldHZhbDsKLSt9Ci0rI2VuZGlmCi0rCi0gLyogRmlsbHMg dGhlICJ0b19tYWtlX2NvcmVmaWxlX25vdGUiIHRhcmdldCB2ZWN0b3IuICBCdWlsZHMgdGhlIG5v dGUKLSAgICBzZWN0aW9uIGZvciBhIGNvcmVmaWxlLCBhbmQgcmV0dXJucyBpdCBpbiBhIG1hbGxv YyBidWZmZXIuICAqLwotIAotQEAgLTExNjgsMTYgKzEyOTQsOSBAQCBsaW51eF9tYWtlX2NvcmVm aWxlX25vdGVzIChzdHJ1Y3QgZ2RiYXJjCi0gICAvKiBQcm9jZXNzIGluZm9ybWF0aW9uLiAgKi8K LSAgIGlmIChnZXRfZXhlY19maWxlICgwKSkKLSAgICAgewotLSAgICAgIGNvbnN0IGNoYXIgKmZu YW1lID0gbGJhc2VuYW1lIChnZXRfZXhlY19maWxlICgwKSk7Ci0tICAgICAgY2hhciAqcHNhcmdz ID0geHN0cmR1cCAoZm5hbWUpOwotKyAgICAgIGNvbnN0IHBycHNpbmZvX3QgKmRhdGEgPSBmaWxs X3BycHNpbmZvICgpOwotIAotLSAgICAgIGlmIChnZXRfaW5mZXJpb3JfYXJncyAoKSkKLS0gICAg ICAgIHBzYXJncyA9IHJlY29uY2F0IChwc2FyZ3MsIHBzYXJncywgIiAiLCBnZXRfaW5mZXJpb3Jf YXJncyAoKSwKLS0JCQkgICAoY2hhciAqKSBOVUxMKTsKLS0KLS0gICAgICBub3RlX2RhdGEgPSBl bGZjb3JlX3dyaXRlX3BycHNpbmZvIChvYmZkLCBub3RlX2RhdGEsIG5vdGVfc2l6ZSwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbmFtZSwgcHNhcmdzKTsKLS0g ICAgICB4ZnJlZSAocHNhcmdzKTsKLSsgICAgICBub3RlX2RhdGEgPSBlbGZjb3JlX3dyaXRlX3By cHNpbmZvIChvYmZkLCBub3RlX2RhdGEsIG5vdGVfc2l6ZSwgZGF0YSk7Ci0gCi0gICAgICAgaWYg KCFub3RlX2RhdGEpCi0gCXJldHVybiBOVUxMOwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItcGll LWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNoIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAt ZGlzYWJsZWQucGF0Y2gKaW5kZXggZTZhZDM1Ni4uZTY3YzMzNiAxMDA2NDQKLS0tIGEvZ2RiLWFy Y2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci1waWUt YWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKQEAgLTEsOCArMSw4IEBACi1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvYnJlYWtwb2ludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2dkYi9icmVha3BvaW50LmMJMjAxMy0wMS0xOCAyMzowOTo1My43Mjc1OTc1ODQgKzAxMDAK LSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmMJMjAxMy0wMS0xOCAyMzox MDoyMC4xNTg2MzUwNjUgKzAxMDAKLUBAIC0xNTk5Myw2ICsxNTk5Myw1MCBAQCBpbml0aWFsaXpl X2JyZWFrcG9pbnRfb3BzICh2b2lkKQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIv YnJlYWtwb2ludC5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvYnJlYWtwb2ludC5jCTIwMTMtMDItMTUgMjI6Mzc6MDguMjE2 MzgxOTg4ICswMTAwCitAQCAtMTYwMjAsNiArMTYwMjAsNTAgQEAgaW5pdGlhbGl6ZV9icmVha3Bv aW50X29wcyAodm9pZCkKICBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmVuYWJsZWJy ZWFrbGlzdCA9IE5VTEw7CiAgCiAgdm9pZApAQCAtNTMsMjMgKzUzLDIzIEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmMKICBfaW5pdGlhbGl6ZV9icmVha3BvaW50 ICh2b2lkKQogIHsKICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjOwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6MDk6NTEuNjcxNTk0NTg1ICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6 MDk6NTMuNzI4NTk3NTg2ICswMTAwCi1AQCAtMTU1MCw0ICsxNTUwLDcgQEAgZXh0ZXJuIHN0cnVj dCBnZGJhcmNoICpnZXRfc2FsX2FyY2ggKHN0cgorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3Jp Zy9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDItMDMgMTY6NTc6MDYuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDItMTUgMjI6Mzc6 MTkuMDI1Mzk1NjkzICswMTAwCitAQCAtMTU1Niw0ICsxNTU2LDcgQEAgZXh0ZXJuIHZvaWQgaGFu ZGxlX3NvbGliX2V2ZW50ICh2b2lkKTsKICAKLSBleHRlcm4gdm9pZCBoYW5kbGVfc29saWJfZXZl bnQgKHZvaWQpOworIGV4dGVybiB2b2lkIGJyZWFrcG9pbnRfZnJlZV9vYmpmaWxlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSk7CiAgCiArZXh0ZXJuIHZvaWQgYnJlYWtwb2ludHNfcmVsb2NhdGUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogKwkJCQkgIHN0cnVjdCBzZWN0aW9uX29mZnNldHMg KmRlbHRhKTsKICsKICAjZW5kaWYgLyogIWRlZmluZWQgKEJSRUFLUE9JTlRfSCkgKi8KLUluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9vYmpmaWxlcy5jCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvb2JqZmlsZXMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvb2JqZmlsZXMuYwkyMDEzLTAxLTE4IDIzOjA5OjUxLjY3MTU5NDU4NSArMDEw MAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL29iamZpbGVzLmMJMjAxMy0wMS0xOCAyMzow OTo1My43Mjk1OTc1ODggKzAxMDAKLUBAIC04MjYsNiArODI2LDExIEBAIG9iamZpbGVfcmVsb2Nh dGUxIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmkKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL29iamZpbGVzLmMJMjAxMy0wMi0wMyAxNjo1NzowNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9vYmpmaWxlcy5jCTIwMTMtMDItMTUgMjI6Mzc6MDguMjE3 MzgxOTkwICswMTAwCitAQCAtODMxLDYgKzgzMSwxMSBAQCBvYmpmaWxlX3JlbG9jYXRlMSAoc3Ry dWN0IG9iamZpbGUgKm9iamZpCiAgICAgIG9iamZpbGUtPnNmLT5zeW1fcHJvYmVfZm5zLT5zeW1f cmVsb2NhdGVfcHJvYmUgKG9iamZpbGUsCiAgCQkJCQkJICAgIG5ld19vZmZzZXRzLCBkZWx0YSk7 CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLWFyY2hlci5wYXRjaCBiL2dkYi1hcmNoZXIucGF0Y2gKaW5k ZXggZDA0YWMyZS4uZmQyODYyYiAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci5wYXRjaAorKysgYi9n ZGItYXJjaGVyLnBhdGNoCkBAIC0yLDcgKzIsNyBAQCBodHRwOi8vc291cmNld2FyZS5vcmcvZ2Ri L3dpa2kvUHJvamVjdEFyY2hlcgogaHR0cDovL3NvdXJjZXdhcmUub3JnL2dkYi93aWtpL0FyY2hl ckJyYW5jaE1hbmFnZW1lbnQKIAogR0lUIHNuYXBzaG90OgotY29tbWl0IGYxZjc2MjM2MWU1ZThh NGZhYmRhYjE2NDYzZWNiMWZkOWJhMWU1ZTkKK2NvbW1pdCBlNzJjZTI5ZjhlMzM5ZmM2ZmZmZDcz ZTlmZjRiODU0YjZmMmYxNDUyCiAKIGJyYW5jaCBgYXJjaGVyJyAtIHRoZSBtZXJnZSBvZiBicmFu Y2hlczoKIGFyY2hlci1qYW5rcmF0b2NodmlsLXZsYQpAQCAtMTAsMTAgKzEwLDEwIEBAIGFyY2hl ci10cm9tZXktcHl0aG9uCiAKIAogZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9N YWtlZmlsZS5pbgotaW5kZXggNzMwNWU2ZC4uZmZmOGNiMiAxMDA2NDQKK2luZGV4IGVkMzBkYjUu LjQzNTZiZTcgMTAwNjQ0CiAtLS0gYS9nZGIvTWFrZWZpbGUuaW4KICsrKyBiL2dkYi9NYWtlZmls ZS5pbgotQEAgLTEzMDgsNiArMTMwOCwxMiBAQCBzdGFtcC1oOiAkKHNyY2RpcikvY29uZmlnLmlu IGNvbmZpZy5zdGF0dXMKK0BAIC0xMzEzLDYgKzEzMTMsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIp L2NvbmZpZy5pbiBjb25maWcuc3RhdHVzCiAgCSAgQ09ORklHX0xJTktTPSBcCiAgCSAgJChTSEVM TCkgY29uZmlnLnN0YXR1cwogIApAQCAtMjcsMTAgKzI3LDEwIEBAIGluZGV4IDczMDVlNmQuLmZm ZjhjYjIgMTAwNjQ0CiAgCSQoU0hFTEwpIGNvbmZpZy5zdGF0dXMgLS1yZWNoZWNrCiAgCiBkaWZm IC0tZ2l0IGEvZ2RiL2FkYS1sYW5nLmMgYi9nZGIvYWRhLWxhbmcuYwotaW5kZXggYjQ4NDlhOS4u YTZlNmNhMiAxMDA2NDQKK2luZGV4IDYzNGU3NjEuLjYwMjc2ZGMgMTAwNjQ0CiAtLS0gYS9nZGIv YWRhLWxhbmcuYwogKysrIGIvZ2RiL2FkYS1sYW5nLmMKLUBAIC0xMjI2Myw2ICsxMjI2Myw3IEBA IGFkYV9vcGVyYXRvcl9sZW5ndGggKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBw YywgaW50ICpvcGxlbnAsCitAQCAtMTIyNjIsNiArMTIyNjIsNyBAQCBhZGFfb3BlcmF0b3JfbGVu Z3RoIChjb25zdCBzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLCBpbnQgcGMsIGludCAqb3BsZW5wLAog IAogIHN0YXRpYyBpbnQKICBhZGFfb3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNzaW9uICpl eHAsIGludCBwb3MsCkBAIC0zOCw3ICszOCw3IEBAIGluZGV4IGI0ODQ5YTkuLmE2ZTZjYTIgMTAw NjQ0CiAgCQkgICAgaW50ICgqb2JqZmlsZV9mdW5jKSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUs IHZvaWQgKmRhdGEpLAogIAkJICAgIHZvaWQgKmRhdGEpCiAgewotQEAgLTEyMjc3LDEyICsxMjI3 OCwxNSBAQCBhZGFfb3BlcmF0b3JfY2hlY2sgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCBw b3MsCitAQCAtMTIyNzYsMTIgKzEyMjc3LDE1IEBAIGFkYV9vcGVyYXRvcl9jaGVjayAoc3RydWN0 IGV4cHJlc3Npb24gKmV4cCwgaW50IHBvcywKICAJYnJlYWs7CiAgCiAgICAgICAgZGVmYXVsdDoK QEAgLTk0LDEwICs5NCwxMCBAQCBpbmRleCAwMmU3ZThiLi4yOTMxNDAxIDEwMDY0NAogKwogICNl bmRpZiAvKiBCTE9DS19IICovCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9i cmVha3BvaW50LmMKLWluZGV4IDNhZDk4ODUuLmUyOGI0NGUgMTAwNjQ0CitpbmRleCBmYjU3YTU3 Li41YzAzYjFjIDEwMDY0NAogLS0tIGEvZ2RiL2JyZWFrcG9pbnQuYwogKysrIGIvZ2RiL2JyZWFr cG9pbnQuYwotQEAgLTE1NjQxLDYgKzE1NjQxLDI0IEBAIGFsbF90cmFjZXBvaW50cyAodm9pZCkK K0BAIC0xNTY1Niw2ICsxNTY1NiwyNCBAQCBhbGxfdHJhY2Vwb2ludHMgKHZvaWQpCiAgICByZXR1 cm4gdHBfdmVjOwogIH0KICAKQEAgLTEyMiw3ICsxMjIsNyBAQCBpbmRleCAzYWQ5ODg1Li5lMjhi NDRlIDEwMDY0NAogIAwKICAvKiBUaGlzIGhlbHAgc3RyaW5nIGlzIHVzZWQgZm9yIHRoZSBicmVh aywgaGJyZWFrLCB0YnJlYWsgYW5kIHRoYnJlYWsKICAgICBjb21tYW5kcy4gIEl0IGlzIGRlZmlu ZWQgYXMgYSBtYWNybyB0byBwcmV2ZW50IGR1cGxpY2F0aW9uLgotQEAgLTE2NjEyLDQgKzE2NjMw LDcgQEAgYWdlbnQtcHJpbnRmIFwicHJpbnRmIGZvcm1hdCBzdHJpbmdcIiwgYXJnMSwgYXJnMiwg YXJnMywgLi4uLCBhcmduXG5cCitAQCAtMTY2MzksNCArMTY2NTcsNyBAQCBhZ2VudC1wcmludGYg XCJwcmludGYgZm9ybWF0IHN0cmluZ1wiLCBhcmcxLCBhcmcyLCBhcmczLCAuLi4sIGFyZ25cblwK ICAgIGF1dG9tYXRpY19oYXJkd2FyZV9icmVha3BvaW50cyA9IDE7CiAgCiAgICBvYnNlcnZlcl9h dHRhY2hfYWJvdXRfdG9fcHJvY2VlZCAoYnJlYWtwb2ludF9hYm91dF90b19wcm9jZWVkKTsKQEAg LTEzMSwxMCArMTMxLDEwIEBAIGluZGV4IDNhZDk4ODUuLmUyOGI0NGUgMTAwNjQ0CiArI2VuZGlm CiAgfQogZGlmZiAtLWdpdCBhL2dkYi9jLXR5cGVwcmludC5jIGIvZ2RiL2MtdHlwZXByaW50LmMK LWluZGV4IGE2ZGIxNjIuLmRkZmM2YTkgMTAwNjQ0CitpbmRleCBjYThkODliLi44MTFhZDcyIDEw MDY0NAogLS0tIGEvZ2RiL2MtdHlwZXByaW50LmMKICsrKyBiL2dkYi9jLXR5cGVwcmludC5jCi1A QCAtNjkyLDcgKzY5MiwxMyBAQCBjX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0 eXBlICp0eXBlLAorQEAgLTY4OSw3ICs2ODksMTMgQEAgY190eXBlX3ByaW50X3ZhcnNwZWNfc3Vm Zml4IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICAJZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAo aXNfdmVjdG9yID8KICAJCQkJICAgIiBfX2F0dHJpYnV0ZV9fICgodmVjdG9yX3NpemUoIiA6ICJb IikpOwpAQCAtMTg3LDcgKzE4Nyw3IEBAIGluZGV4IGQ5OGFjNzcuLmUyNDgzOTkgMTAwNjQ0CiAg RkxBR1NfVE9fUEFTUyA9IFwKICAJInByZWZpeD0kKHByZWZpeCkiIFwKIGRpZmYgLS1naXQgYS9n ZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwotaW5kZXggNzI4ZTQ0Yi4u MzY1OTEzOSAxMDA2NDQKK2luZGV4IGU4YWM4YzUuLmIxOGNjZDYgMTAwNjQ0CiAtLS0gYS9nZGIv ZG9jL2dkYi50ZXhpbmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiBAQCAtMTIxNyw2ICsx MjE3LDE2IEBAIGZvciByZW1vdGUgZGVidWdnaW5nLgpAQCAtMjA3LDcgKzIwNyw3IEBAIGluZGV4 IDcyOGU0NGIuLjM2NTkxMzkgMTAwNjQ0CiAgQGMgcmVzb2x2ZSB0aGUgc2l0dWF0aW9uIG9mIHRo ZXNlIGV2ZW50dWFsbHkKICBAaXRlbSAtdHVpCiAgQGNpbmRleCBAY29kZXstLXR1aX0KLUBAIC0y MjczOCw4ICsyMjc0OCw2IEBAIGNvbnRhaW5pbmcgQGNvZGV7ZW5kfS4gIEZvciBleGFtcGxlOgor QEAgLTIyNzg2LDggKzIyNzk2LDYgQEAgY29udGFpbmluZyBAY29kZXtlbmR9LiAgRm9yIGV4YW1w bGU6CiAgCiAgQHNtYWxsZXhhbXBsZQogIChAdmFsdWV7R0RCUH0pIHB5dGhvbgpAQCAtMjE2LDcg KzIxNiw3IEBAIGluZGV4IDcyOGU0NGIuLjM2NTkxMzkgMTAwNjQ0CiAgPnByaW50IDIzCiAgPmVu ZAogIDIzCi1AQCAtMjI3NTMsNiArMjI3NjEsMTQgQEAgY29udHJvbGxlZCB1c2luZyBAY29kZXtz ZXQgcHl0aG9uIHByaW50LXN0YWNrfTogaWYgQGNvZGV7ZnVsbH0sIHRoZW4KK0BAIC0yMjgwMSw2 ICsyMjgwOSwxNCBAQCBjb250cm9sbGVkIHVzaW5nIEBjb2Rle3NldCBweXRob24gcHJpbnQtc3Rh Y2t9OiBpZiBAY29kZXtmdWxsfSwgdGhlbgogIGZ1bGwgUHl0aG9uIHN0YWNrIHByaW50aW5nIGlz IGVuYWJsZWQ7IGlmIEBjb2Rle25vbmV9LCB0aGVuIFB5dGhvbiBzdGFjawogIGFuZCBtZXNzYWdl IHByaW50aW5nIGlzIGRpc2FibGVkOyBpZiBAY29kZXttZXNzYWdlfSwgdGhlIGRlZmF1bHQsIG9u bHkKICB0aGUgbWVzc2FnZSBjb21wb25lbnQgb2YgdGhlIGVycm9yIGlzIHByaW50ZWQuCkBAIC0y MzEsNyArMjMxLDcgQEAgaW5kZXggNzI4ZTQ0Yi4uMzY1OTEzOSAxMDA2NDQKICBAZW5kIHRhYmxl CiAgCiAgSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBleGVjdXRlIGEgUHl0aG9uIHNjcmlwdCBmcm9t IHRoZSBAdmFsdWV7R0RCTn0KLUBAIC0yMjc3NCw2ICsyMjc5MCwxNCBAQCBhbmQgdGh1cyBpcyBh bHdheXMgYXZhaWxhYmxlLgorQEAgLTIyODIyLDYgKzIyODM4LDE0IEBAIGFuZCB0aHVzIGlzIGFs d2F5cyBhdmFpbGFibGUuCiAgQGNpbmRleCBweXRob24gYXBpCiAgQGNpbmRleCBwcm9ncmFtbWlu ZyBpbiBweXRob24KICAKQEAgLTM3NiwxMSArMzc2LDExIEBAIGluZGV4IDRhNzVjMjYuLjkxNDQ2 ZmUgMTAwNjQ0CiAgCiAgQG5vZGUgTGFuZ3VhZ2UgU3VwcG9ydAogZGlmZiAtLWdpdCBhL2dkYi9k b2Mvb2JzZXJ2ZXIudGV4aSBiL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQotaW5kZXggODdjMDhlMS4u Y2M4ZjQ5OCAxMDA2NDQKK2luZGV4IGFkYjcwODUuLjVlYzViNWEgMTAwNjQ0CiAtLS0gYS9nZGIv ZG9jL29ic2VydmVyLnRleGkKICsrKyBiL2dkYi9kb2Mvb2JzZXJ2ZXIudGV4aQotQEAgLTI0Niw2 ICsyNDYsMTEgQEAgVGhlIHRyYWNlIHN0YXRlIHZhcmlhYmxlIEB2YXJ7bmFtZX0gaXMgZGVsZXRl ZC4gIElmIEB2YXJ7bmFtZX0gaXMKLSBAY29kZXtOVUxMfSwgYWxsIHRyYWNlIHN0YXRlIHZhcmlh YmxlcyBhcmUgZGVsZXRlZC4KK0BAIC0yNDksNiArMjQ5LDExIEBAIFRoZSB0cmFjZSBzdGF0ZSB2 YXJpYWJsZSBAdmFye3Rzdn0gaXMgZGVsZXRlZC4gIElmIEB2YXJ7dHN2fSBpcworIFRoZSB0cmFj ZSBzdGF0ZSB2YWx1ZSBAdmFye3Rzdn0gaXMgbW9kaWZpZWQuCiAgQGVuZCBkZWZ0eXBlZnVuCiAg CiArQGMgQGRlZnR5cGVmdW4gdm9pZCBtYXJrX3VzZWQgKHZvaWQpCkBAIC00MjgsMTAgKzQyOCwx MCBAQCBpbmRleCBlODU0ODZhLi5lN2FjNzk5IDEwMDY0NAogIAogIC8qIFRoZSBsb2NhdGlvbiBv ZiBhIHZhbHVlLiAgKi8KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYy bG9jLmMKLWluZGV4IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0CitpbmRleCAwMDIzODdlLi4yZTBl NzIyIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMmxvYy5jCiArKysgYi9nZGIvZHdhcmYybG9jLmMK LUBAIC0yOTMsNiArMjkzLDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KK0BAIC0yOTgsNiAr Mjk4LDkgQEAgc3RydWN0IGR3YXJmX2V4cHJfYmF0b24KICB7CiAgICBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWU7CiAgICBzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRhICpwZXJfY3U7CkBAIC00NDEs NyArNDQxLDcgQEAgaW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICB9OwogIAogIC8qIEhl bHBlciBmdW5jdGlvbnMgZm9yIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzYy4gICovCi1AQCAtMzU2 LDE2ICszNTksMTQgQEAgc3RhdGljIHZvaWQKK0BAIC0zNjEsMTYgKzM2NCwxNCBAQCBzdGF0aWMg dm9pZAogIGR3YXJmX2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1Y3Qgc3ltYm9sICpmcmFtZWZ1bmMs IENPUkVfQUREUiBwYywKICAJCQkgY29uc3QgZ2RiX2J5dGUgKipzdGFydCwgc2l6ZV90ICpsZW5n dGgpCiAgewpAQCAtNDYwLDcgKzQ2MCw3IEBAIGluZGV4IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0 CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmYyX2xvY2V4cHJfYmF0b24gKnN5bWJhdG9uOwog IAotQEAgLTM3OCwxMCArMzc5LDIzIEBAIGR3YXJmX2V4cHJfZnJhbWVfYmFzZV8xIChzdHJ1Y3Qg c3ltYm9sICpmcmFtZWZ1bmMsIENPUkVfQUREUiBwYywKK0BAIC0zODMsMTAgKzM4NCwyMyBAQCBk d2FyZl9leHByX2ZyYW1lX2Jhc2VfMSAoc3RydWN0IHN5bWJvbCAqZnJhbWVmdW5jLCBDT1JFX0FE RFIgcGMsCiAgICAgICAgZWxzZQogIAkqbGVuZ3RoID0gMDsKICAgICAgfQpAQCAtNDg1LDcgKzQ4 NSw3IEBAIGluZGV4IDIyODJmZWIuLjEzZTdiYmMgMTAwNjQ0CiAgfQogIAogIC8qIEhlbHBlciBm dW5jdGlvbiBmb3IgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNjLiAgQ29tcHV0ZXMgdGhlIENGQSBm b3IKLUBAIC00NDgsNiArNDYyLDg1IEBAIGR3YXJmX2V4cHJfZHdhcmZfY2FsbCAoc3RydWN0IGR3 YXJmX2V4cHJfY29udGV4dCAqY3R4LCBjdV9vZmZzZXQgZGllX29mZnNldCkKK0BAIC00NTMsNiAr NDY3LDg1IEBAIGR3YXJmX2V4cHJfZHdhcmZfY2FsbCAoc3RydWN0IGR3YXJmX2V4cHJfY29udGV4 dCAqY3R4LCBjdV9vZmZzZXQgZGllX29mZnNldCkKICAJCSAgICAgY3R4LT5mdW5jcy0+Z2V0X2Zy YW1lX3BjLCBjdHgtPmJhdG9uKTsKICB9CiAgCkBAIC01NzEsNyArNTcxLDcgQEAgaW5kZXggMjI4 MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAvKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgZHdhcmYyX2V2 YWx1YXRlX2xvY19kZXNjLiAgKi8KICAKICBzdGF0aWMgc3RydWN0IHR5cGUgKgotQEAgLTExNTAs MTAgKzEyNDMsMTIgQEAgZHdhcmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3Ry dWN0IGR3YXJmX2V4cHJfY29udGV4dCAqY3R4LAorQEAgLTExNTUsMTAgKzEyNDgsMTIgQEAgZHdh cmZfZXhwcl9wdXNoX2R3YXJmX3JlZ19lbnRyeV92YWx1ZSAoc3RydWN0IGR3YXJmX2V4cHJfY29u dGV4dCAqY3R4LAogIAogICAgc2F2ZWRfY3R4LmdkYmFyY2ggPSBjdHgtPmdkYmFyY2g7CiAgICBz YXZlZF9jdHguYWRkcl9zaXplID0gY3R4LT5hZGRyX3NpemU7CkBAIC01ODQsNyArNTg0LDcgQEAg aW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAgIGN0eC0+b2Zmc2V0ID0gZHdhcmYyX3Bl cl9jdV90ZXh0X29mZnNldCAoYmF0b25fbG9jYWwucGVyX2N1KTsKICAgIGN0eC0+YmF0b24gPSAm YmF0b25fbG9jYWw7CiAgCi1AQCAtMTE2MSwxMCArMTI1Niw5NSBAQCBkd2FyZl9leHByX3B1c2hf ZHdhcmZfcmVnX2VudHJ5X3ZhbHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCitA QCAtMTE2NiwxMCArMTI2MSw5NSBAQCBkd2FyZl9leHByX3B1c2hfZHdhcmZfcmVnX2VudHJ5X3Zh bHVlIChzdHJ1Y3QgZHdhcmZfZXhwcl9jb250ZXh0ICpjdHgsCiAgCiAgICBjdHgtPmdkYmFyY2gg PSBzYXZlZF9jdHguZ2RiYXJjaDsKICAgIGN0eC0+YWRkcl9zaXplID0gc2F2ZWRfY3R4LmFkZHJf c2l6ZTsKQEAgLTY4MCw3ICs2ODAsNyBAQCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEwMDY0NAog IC8qIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2MuCiAgICAg RmV0Y2ggdGhlIGFkZHJlc3MgaW5kZXhlZCBieSBEV19PUF9HTlVfYWRkcl9pbmRleC4gICovCiAg Ci1AQCAtMjEwMCwyMiArMjI4MCw2IEBAIGludmFsaWRfc3ludGhldGljX3BvaW50ZXIgKHZvaWQp CitAQCAtMjEwNSwyMiArMjI4NSw2IEBAIGludmFsaWRfc3ludGhldGljX3BvaW50ZXIgKHZvaWQp CiAgCSAgICJyZWZlcmVuY2VkIHZpYSBzeW50aGV0aWMgcG9pbnRlciIpKTsKICB9CiAgCkBAIC03 MDMsNyArNzAzLDcgQEAgaW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAvKiBFdmFsdWF0 ZSBhIGxvY2F0aW9uIGRlc2NyaXB0aW9uLCBzdGFydGluZyBhdCBEQVRBIGFuZCB3aXRoIGxlbmd0 aAogICAgIFNJWkUsIHRvIGZpbmQgdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdmFyaWFibGUgb2Yg VFlQRSBpbiB0aGUKICAgICBjb250ZXh0IG9mIEZSQU1FLiAgQllURV9PRkZTRVQgaXMgYXBwbGll ZCBhZnRlciB0aGUgY29udGVudHMgYXJlCi1AQCAtMjEyOCw3ICsyMjkyLDYgQEAgZHdhcmYyX2V2 YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWUsCitAQCAtMjEzMyw3ICsyMjk3LDYgQEAgZHdhcmYyX2V2YWx1YXRlX2xvY19kZXNj X2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCiAgCQkJ ICAgICAgIExPTkdFU1QgYnl0ZV9vZmZzZXQpCiAgewogICAgc3RydWN0IHZhbHVlICpyZXR2YWw7 CkBAIC03MTEsNyArNzExLDcgQEAgaW5kZXggMjI4MmZlYi4uMTNlN2JiYyAxMDA2NDQKICAgIHN0 cnVjdCBkd2FyZl9leHByX2NvbnRleHQgKmN0eDsKICAgIHN0cnVjdCBjbGVhbnVwICpvbGRfY2hh aW4sICp2YWx1ZV9jaGFpbjsKICAgIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlID0gZHdhcmYyX3Bl cl9jdV9vYmpmaWxlIChwZXJfY3UpOwotQEAgLTIxNDAsMjkgKzIzMDMsMTggQEAgZHdhcmYyX2V2 YWx1YXRlX2xvY19kZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5m byAqZnJhbWUsCitAQCAtMjE0NSwyOSArMjMwOCwxOCBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rl c2NfZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAg IGlmIChzaXplID09IDApCiAgICAgIHJldHVybiBhbGxvY2F0ZV9vcHRpbWl6ZWRfb3V0X3ZhbHVl ICh0eXBlKTsKICAKQEAgLTc0Miw3ICs3NDIsNyBAQCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEw MDY0NAogIAkgIHJldHZhbCA9IGFsbG9jYXRlX3ZhbHVlICh0eXBlKTsKICAJICBtYXJrX3ZhbHVl X2J5dGVzX3VuYXZhaWxhYmxlIChyZXR2YWwsIDAsIFRZUEVfTEVOR1RIICh0eXBlKSk7CiAgCSAg cmV0dXJuIHJldHZhbDsKLUBAIC0yMjI2LDYgKzIzNzgsMTYgQEAgZHdhcmYyX2V2YWx1YXRlX2xv Y19kZXNjX2Z1bGwgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUs CitAQCAtMjIzMSw2ICsyMzgzLDE2IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogIAkgICAgaW50IGlu X3N0YWNrX21lbW9yeSA9IGR3YXJmX2V4cHJfZmV0Y2hfaW5fc3RhY2tfbWVtb3J5IChjdHgsIDAp OwogIAogIAkgICAgZG9fY2xlYW51cHMgKHZhbHVlX2NoYWluKTsKQEAgLTc1OSw3ICs3NTksNyBA QCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEwMDY0NAogIAkgICAgcmV0dmFsID0gYWxsb2NhdGVf dmFsdWVfbGF6eSAodHlwZSk7CiAgCSAgICBWQUxVRV9MVkFMIChyZXR2YWwpID0gbHZhbF9tZW1v cnk7CiAgCSAgICBpZiAoaW5fc3RhY2tfbWVtb3J5KQotQEAgLTQxNDMsOCArNDMwNSw3IEBAIGxv Y2xpc3RfdHJhY2Vwb2ludF92YXJfcmVmIChzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLAorQEAgLTQxNDcsOCArNDMwOSw3IEBAIGxvY2xpc3RfdHJhY2Vwb2lu dF92YXJfcmVmIChzdHJ1Y3Qgc3ltYm9sICpzeW1ib2wsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LAogIAkJCSAgICAgICBkbGJhdG9uLT5wZXJfY3UpOwogIH0KICAKQEAgLTc2OSw3ICs3NjksNyBA QCBpbmRleCAyMjgyZmViLi4xM2U3YmJjIDEwMDY0NAogIGNvbnN0IHN0cnVjdCBzeW1ib2xfY29t cHV0ZWRfb3BzIGR3YXJmMl9sb2NsaXN0X2Z1bmNzID0gewogICAgbG9jbGlzdF9yZWFkX3Zhcmlh YmxlLAogICAgbG9jbGlzdF9yZWFkX3ZhcmlhYmxlX2F0X2VudHJ5LAotQEAgLTQxNTMsNiArNDMx NCw0OCBAQCBjb25zdCBzdHJ1Y3Qgc3ltYm9sX2NvbXB1dGVkX29wcyBkd2FyZjJfbG9jbGlzdF9m dW5jcyA9IHsKK0BAIC00MTU3LDYgKzQzMTgsNDggQEAgY29uc3Qgc3RydWN0IHN5bWJvbF9jb21w dXRlZF9vcHMgZHdhcmYyX2xvY2xpc3RfZnVuY3MgPSB7CiAgICBsb2NsaXN0X3RyYWNlcG9pbnRf dmFyX3JlZgogIH07CiAgCkBAIC04MzksMTAgKzgzOSwxMCBAQCBpbmRleCAzNjY0MWIzLi4xMzk0 NTc4IDEwMDY0NAogIC8qIENvbXBpbGUgYSBEV0FSRiBsb2NhdGlvbiBleHByZXNzaW9uIHRvIGFu IGFnZW50IGV4cHJlc3Npb24uCiAgICAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBi L2dkYi9kd2FyZjJyZWFkLmMKLWluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CitpbmRleCBk MjZlN2M4Li45ZmJlNjFlIDEwMDY0NAogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2Ri L2R3YXJmMnJlYWQuYwotQEAgLTE2MTMsNiArMTYxMyw5IEBAIHN0YXRpYyB2b2lkIGZpbGxfaW5f bG9jbGlzdF9iYXRvbiAoc3RydWN0IGR3YXJmMl9jdSAqY3UsCitAQCAtMTYyNCw2ICsxNjI0LDkg QEAgc3RhdGljIHZvaWQgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChzdHJ1Y3QgZHdhcmYyX2N1ICpj dSwKICAJCQkJICAgc3RydWN0IGR3YXJmMl9sb2NsaXN0X2JhdG9uICpiYXRvbiwKICAJCQkJICAg c3RydWN0IGF0dHJpYnV0ZSAqYXR0cik7CiAgCkBAIC04NTIsNyArODUyLDcgQEAgaW5kZXggN2E1 OGM0NS4uOThhZWJhZCAxMDA2NDQKICBzdGF0aWMgdm9pZCBkd2FyZjJfc3ltYm9sX21hcmtfY29t cHV0ZWQgKHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIsCiAgCQkJCQkgc3RydWN0IHN5bWJvbCAqc3lt LAogIAkJCQkJIHN0cnVjdCBkd2FyZjJfY3UgKmN1KTsKLUBAIC0xNjQ1LDYgKzE2NDgsOSBAQCBz dGF0aWMgdm9pZCBhZ2VfY2FjaGVkX2NvbXBfdW5pdHMgKHZvaWQpOworQEAgLTE2NTYsNiArMTY1 OSw5IEBAIHN0YXRpYyB2b2lkIGFnZV9jYWNoZWRfY29tcF91bml0cyAodm9pZCk7CiAgCiAgc3Rh dGljIHZvaWQgZnJlZV9vbmVfY2FjaGVkX2NvbXBfdW5pdCAoc3RydWN0IGR3YXJmMl9wZXJfY3Vf ZGF0YSAqKTsKICAKQEAgLTg2Miw3ICs4NjIsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEw MDY0NAogIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqc2V0X2RpZV90eXBlIChzdHJ1Y3QgZGllX2luZm8g Kiwgc3RydWN0IHR5cGUgKiwKICAJCQkJICBzdHJ1Y3QgZHdhcmYyX2N1ICopOwogIAotQEAgLTE2 NzMsNiArMTY3OSw5IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZ2V0X2RpZV90eXBlX2F0X29mZnNl dCAoc2VjdF9vZmZzZXQsCitAQCAtMTY4NCw2ICsxNjkwLDkgQEAgc3RhdGljIHN0cnVjdCB0eXBl ICpnZXRfZGllX3R5cGVfYXRfb2Zmc2V0IChzZWN0X29mZnNldCwKICAKICBzdGF0aWMgc3RydWN0 IHR5cGUgKmdldF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJf Y3UgKmN1KTsKICAKQEAgLTg3Miw3ICs4NzIsNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEw MDY0NAogIHN0YXRpYyB2b2lkIGR3YXJmMl9yZWxlYXNlX3F1ZXVlICh2b2lkICpkdW1teSk7CiAg CiAgc3RhdGljIHZvaWQgcXVldWVfY29tcF91bml0IChzdHJ1Y3QgZHdhcmYyX3Blcl9jdV9kYXRh ICpwZXJfY3UsCi1AQCAtMTE2NzcsNiArMTE2ODYsMjkgQEAgcHJvY2Vzc19lbnVtZXJhdGlvbl9z Y29wZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTEx NzAyLDYgKzExNzExLDI5IEBAIHByb2Nlc3NfZW51bWVyYXRpb25fc2NvcGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIG5ld19zeW1ib2wgKGRpZSwgdGhp c190eXBlLCBjdSk7CiAgfQogIApAQCAtOTAyLDE2ICs5MDIsMTYgQEAgaW5kZXggN2E1OGM0NS4u OThhZWJhZCAxMDA2NDQKICAvKiBFeHRyYWN0IGFsbCBpbmZvcm1hdGlvbiBmcm9tIGEgRFdfVEFH X2FycmF5X3R5cGUgRElFIGFuZCBwdXQgaXQgaW4KICAgICB0aGUgRElFJ3MgdHlwZSBmaWVsZC4g IEZvciBub3csIHRoaXMgb25seSBoYW5kbGVzIG9uZSBkaW1lbnNpb25hbAogICAgIGFycmF5cy4g ICovCi1AQCAtMTE2OTAsNyArMTE3MjIsNyBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVf aW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMTcxNSw3ICsxMTc0Nyw3IEBA IHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogICAgc3RydWN0IHR5cGUgKmVsZW1lbnRfdHlwZSwgKnJhbmdlX3R5cGUsICppbmRleF90 eXBlOwogICAgc3RydWN0IHR5cGUgKipyYW5nZV90eXBlcyA9IE5VTEw7CiAgICBzdHJ1Y3QgYXR0 cmlidXRlICphdHRyOwogLSAgaW50IG5kaW0gPSAwOwogKyAgaW50IG5kaW0gPSAwLCBpOwogICAg c3RydWN0IGNsZWFudXAgKmJhY2tfdG87Ci0gICBjaGFyICpuYW1lOworICAgY29uc3QgY2hhciAq bmFtZTsKICAKLUBAIC0xMTc0MywxNyArMTE3NzUsMTkgQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1 Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTE3NjgsMTcgKzEx ODAwLDE5IEBAIHJlYWRfYXJyYXlfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQogICAgdHlwZSA9IGVsZW1lbnRfdHlwZTsKICAKICAgIGlmIChyZWFkX2Fy cmF5X29yZGVyIChkaWUsIGN1KSA9PSBEV19PUkRfY29sX21ham9yKQpAQCAtOTQyLDcgKzk0Miw3 IEBAIGluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CiAgCiAgICAvKiBVbmRlcnN0YW5kIER3 YXJmMiBzdXBwb3J0IGZvciB2ZWN0b3IgdHlwZXMgKGxpa2UgdGhleSBvY2N1ciBvbgogICAgICAg dGhlIFBvd2VyUEMgdy8gQWx0aVZlYykuICBHY2MganVzdCBhZGRzIGFub3RoZXIgYXR0cmlidXRl IHRvIHRoZQotQEAgLTEyMzc5LDI5ICsxMjQxMywxMTQgQEAgcmVhZF90YWdfc3RyaW5nX3R5cGUg KHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xMjQxMywy OSArMTI0NDcsMTE0IEBAIHJlYWRfdGFnX3N0cmluZ190eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdl dF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwogICAgc3RydWN0IHR5cGUgKnR5cGUsICpyYW5nZV90 eXBlLCAqaW5kZXhfdHlwZSwgKmNoYXJfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7 CkBAIC0xMDcwLDE2ICsxMDcwLDE2IEBAIGluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CiAg ICBjaGFyX3R5cGUgPSBsYW5ndWFnZV9zdHJpbmdfY2hhcl90eXBlIChjdS0+bGFuZ3VhZ2VfZGVm biwgZ2RiYXJjaCk7CiAgICB0eXBlID0gY3JlYXRlX3N0cmluZ190eXBlIChOVUxMLCBjaGFyX3R5 cGUsIHJhbmdlX3R5cGUpOwogIAotQEAgLTEyNzA1LDcgKzEyODI0LDcgQEAgcmVhZF9zdWJyYW5n ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAt MTI3MzksNyArMTI4NTgsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgIHN0cnVjdCB0eXBlICpiYXNlX3R5cGU7CiAg ICBzdHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CiAt ICBMT05HRVNUIGxvdywgaGlnaDsKICsgIExPTkdFU1QgbG93OwogICAgaW50IGxvd19kZWZhdWx0 X2lzX3ZhbGlkOwotICAgY2hhciAqbmFtZTsKKyAgIGNvbnN0IGNoYXIgKm5hbWU7CiAgICBMT05H RVNUIG5lZ2F0aXZlX21hc2s7Ci1AQCAtMTI3NjEsNDIgKzEyODgwLDYgQEAgcmVhZF9zdWJyYW5n ZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAt MTI3OTUsNDIgKzEyOTE0LDYgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCQkJCSAgICAgICItIERJRSBhdCAweCV4IFtp biBtb2R1bGUgJXNdIiksCiAgCSAgICAgICBkaWUtPm9mZnNldC5zZWN0X29mZiwgY3UtPm9iamZp bGUtPm5hbWUpOwogIApAQCAtMTEyMiw3ICsxMTIyLDcgQEAgaW5kZXggN2E1OGM0NS4uOThhZWJh ZCAxMDA2NDQKICAgIC8qIER3YXJmLTIgc3BlY2lmaWNhdGlvbnMgZXhwbGljaXRseSBhbGxvd3Mg dG8gY3JlYXRlIHN1YnJhbmdlIHR5cGVzCiAgICAgICB3aXRob3V0IHNwZWNpZnlpbmcgYSBiYXNl IHR5cGUuCiAgICAgICBJbiB0aGF0IGNhc2UsIHRoZSBiYXNlIHR5cGUgbXVzdCBiZSBzZXQgdG8g dGhlIHR5cGUgb2YKLUBAIC0xMjgzNSwyNCArMTI5MTgsMTYzIEBAIHJlYWRfc3VicmFuZ2VfdHlw ZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTEyODY5 LDI0ICsxMjk1MiwxNjMgQEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgCX0KICAgICAgfQogIApAQCAtMTMwMCw3ICsxMzAw LDcgQEAgaW5kZXggN2E1OGM0NS4uOThhZWJhZCAxMDA2NDQKICAKICAgIG5hbWUgPSBkd2FyZjJf bmFtZSAoZGllLCBjdSk7CiAgICBpZiAobmFtZSkKLUBAIC0xNTcxMiwxMCArMTU5MzQsMTIgQEAg dmFyX2RlY29kZV9sb2NhdGlvbiAoc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IHN5bWJv bCAqc3ltLAorQEAgLTE1NzQ2LDEwICsxNTk2OCwxMiBAQCB2YXJfZGVjb2RlX2xvY2F0aW9uIChz dHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3Qgc3ltYm9sICpzeW0sCiAgICAgICAoaS5lLiB3 aGVuIHRoZSB2YWx1ZSBvZiBhIHJlZ2lzdGVyIG9yIG1lbW9yeSBsb2NhdGlvbiBpcwogICAgICAg cmVmZXJlbmNlZCwgb3IgYSB0aHJlYWQtbG9jYWwgYmxvY2ssIGV0Yy4pLiAgVGhlbiBhZ2Fpbiwg aXQgbWlnaHQKICAgICAgIG5vdCBiZSB3b3J0aHdoaWxlLiAgSSdtIGFzc3VtaW5nIHRoYXQgaXQg aXNuJ3QgdW5sZXNzIHBlcmZvcm1hbmNlCkBAIC0xMzE1LDcgKzEzMTUsNyBAQCBpbmRleCA3YTU4 YzQ1Li45OGFlYmFkIDEwMDY0NAogIAogICAgaWYgKFNZTUJPTF9DT01QVVRFRF9PUFMgKHN5bSkg PT0gJmR3YXJmMl9sb2NsaXN0X2Z1bmNzKQogICAgICBjdS0+aGFzX2xvY2xpc3QgPSAxOwotQEAg LTE1NzU2LDYgKzE1OTgwLDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRp ZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAorQEAgLTE1NzkwLDYg KzE2MDE0LDggQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0 IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAogICAgICAgIGVsc2UKICAJc3ltID0g T0JTVEFDS19aQUxMT0MgKCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIHN0cnVjdCBzeW1ib2wp OwogICAgICAgIE9CSlNUQVQgKG9iamZpbGUsIG5fc3ltcysrKTsKQEAgLTEzMjQsNyArMTMyNCw3 IEBAIGluZGV4IDdhNThjNDUuLjk4YWViYWQgMTAwNjQ0CiAgCiAgICAgICAgLyogQ2FjaGUgdGhp cyBzeW1ib2wncyBuYW1lIGFuZCB0aGUgbmFtZSdzIGRlbWFuZ2xlZCBmb3JtIChpZiBhbnkpLiAg Ki8KICAgICAgICBTWU1CT0xfU0VUX0xBTkdVQUdFIChzeW0sIGN1LT5sYW5ndWFnZSk7Ci1AQCAt MTY1NjUsNiArMTY3OTEsOSBAQCByZWFkX3R5cGVfZGllXzEgKHN0cnVjdCBkaWVfaW5mbyAqZGll LCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNjU5OSw2ICsxNjgyNSw5IEBAIHJlYWRfdHlw ZV9kaWVfMSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAg ICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0xMzM0LDcgKzEzMzQsNyBAQCBpbmRleCA3YTU4YzQ1 Li45OGFlYmFkIDEwMDY0NAogICAgcmV0dXJuIHRoaXNfdHlwZTsKICB9CiAgCi1AQCAtMTg5OTks NjIgKzE5MjI4LDEwMCBAQCBmaWxsX2luX2xvY2xpc3RfYmF0b24gKHN0cnVjdCBkd2FyZjJfY3Ug KmN1LAorQEAgLTE5MDQzLDYyICsxOTI3MiwxMDAgQEAgZmlsbF9pbl9sb2NsaXN0X2JhdG9uIChz dHJ1Y3QgZHdhcmYyX2N1ICpjdSwKICAgIGJhdG9uLT5mcm9tX2R3byA9IGN1LT5kd29fdW5pdCAh PSBOVUxMOwogIH0KICAKQEAgLTE0NzMsNyArMTQ3Myw3IEBAIGluZGV4IDdhNThjNDUuLjk4YWVi YWQgMTAwNjQ0CiAgICAgIH0KICB9CiAgCi1AQCAtMTk0MjUsNiArMTk2OTIsMjUgQEAgcGVyX2N1 X29mZnNldF9hbmRfdHlwZV9lcSAoY29uc3Qgdm9pZCAqaXRlbV9saHMsIGNvbnN0IHZvaWQgKml0 ZW1fcmhzKQorQEAgLTE5NDY5LDYgKzE5NzM2LDI1IEBAIHBlcl9jdV9vZmZzZXRfYW5kX3R5cGVf ZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICppdGVtX3JocykKICAJICAmJiBv ZnNfbGhzLT5vZmZzZXQuc2VjdF9vZmYgPT0gb2ZzX3Jocy0+b2Zmc2V0LnNlY3Rfb2ZmKTsKICB9 CiAgCkBAIC0xNDk5LDcgKzE0OTksNyBAQCBpbmRleCA3YTU4YzQ1Li45OGFlYmFkIDEwMDY0NAog IC8qIFNldCB0aGUgdHlwZSBhc3NvY2lhdGVkIHdpdGggRElFIHRvIFRZUEUuICBTYXZlIGl0IGlu IENVJ3MgaGFzaAogICAgIHRhYmxlIGlmIG5lY2Vzc2FyeS4gIEZvciBjb252ZW5pZW5jZSwgcmV0 dXJuIFRZUEUuCiAgCi1AQCAtMTk0NDksNiArMTk3MzUsOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CitAQCAtMTk0OTMsNiArMTk3NzksOCBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAq ZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgICBzdHJ1Y3Qg ZHdhcmYyX3Blcl9jdV9vZmZzZXRfYW5kX3R5cGUgKipzbG90LCBvZnM7CiAgICBzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsZSA9IGN1LT5vYmpmaWxlOwogIApAQCAtMTUwOSw3ICsxNTA5LDcgQEAgaW5k ZXggN2E1OGM0NS4uOThhZWJhZCAxMDA2NDQKICAgICAgIGluaXRpYWxpemVkIChpZiBub3QgYWxy ZWFkeSBzZXQpLiAgVGhlcmUgYXJlIGEgZmV3IHR5cGVzIHdoZXJlCiAgICAgICB3ZSBzaG91bGQg bm90IGJlIGRvaW5nIHNvLCBiZWNhdXNlIHRoZSB0eXBlLXNwZWNpZmljIGFyZWEgaXMKIGRpZmYg LS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwotaW5kZXggYzk2MzBkZi4uYjc5NzE4OSAx MDA2NDQKK2luZGV4IGQ3ZjgwZTIuLjhlY2E0YzggMTAwNjQ0CiAtLS0gYS9nZGIvZXZhbC5jCiAr KysgYi9nZGIvZXZhbC5jCiBAQCAtNDEsNiArNDEsNyBAQApAQCAtMTc2Miw3ICsxNzYyLDcgQEAg aW5kZXggYzk2MzBkZi4uYjc5NzE4OSAxMDA2NDQKICAKICAgIHBjID0gKCpwb3MpKys7CiAgICBv cCA9IGV4cC0+ZWx0c1twY10ub3Bjb2RlOwotQEAgLTE3NzksNiArMTk3MSw4IEBAIGV2YWx1YXRl X3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTE3NzYsNiAr MTk2OCw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90 eXBlLAogIAogICAgICAgIC8qIEZpcnN0IGRldGVybWluZSB0aGUgdHlwZSBjb2RlIHdlIGFyZSBk ZWFsaW5nIHdpdGguICAqLwogICAgICAgIGFyZzEgPSBldmFsdWF0ZV9zdWJleHAgKE5VTExfVFlQ RSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0xNzcxLDcgKzE3NzEsNyBAQCBpbmRleCBjOTYzMGRm Li5iNzk3MTg5IDEwMDY0NAogICAgICAgIHR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChhcmcxKSk7CiAgICAgICAgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7CiAgCi1AQCAtMTc5OSwy MyArMTk5MywxMyBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBl Y3RfdHlwZSwKK0BAIC0xNzk2LDIzICsxOTkwLDEzIEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFy ZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAkgICAgICBjb2RlID0gVFlQRV9DT0RFICh0 eXBlKTsKICAJICAgIH0KICAJfSAKQEAgLTE3OTcsNyArMTc5Nyw3IEBAIGluZGV4IGM5NjMwZGYu LmI3OTcxODkgMTAwNjQ0CiAgCiAgCWNhc2UgVFlQRV9DT0RFX1BUUjoKICAJY2FzZSBUWVBFX0NP REVfRlVOQzoKLUBAIC0yMjQyLDQ5ICsyNDI2LDYgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJk IChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCitAQCAtMjIzOSw0OSArMjQyMyw2IEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAogIAl9CiAgICAg ICAgcmV0dXJuIChhcmcxKTsKICAKQEAgLTE4NDcsNyArMTg0Nyw3IEBAIGluZGV4IGM5NjMwZGYu LmI3OTcxODkgMTAwNjQ0CiAgICAgIGNhc2UgQklOT1BfTE9HSUNBTF9BTkQ6CiAgICAgICAgYXJn MSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBvcywgbm9zaWRlKTsKICAgICAg ICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKLUBAIC0yNTE2LDE1ICsyNjU3LDIzIEBAIGV2YWx1 YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTI1MTMs MTUgKzI2NTQsMjMgQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhw ZWN0X3R5cGUsCiAgICAgICAgaWYgKGV4cGVjdF90eXBlICYmIFRZUEVfQ09ERSAoZXhwZWN0X3R5 cGUpID09IFRZUEVfQ09ERV9QVFIpCiAgCWV4cGVjdF90eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAo Y2hlY2tfdHlwZWRlZiAoZXhwZWN0X3R5cGUpKTsKICAgICAgICBhcmcxID0gZXZhbHVhdGVfc3Vi ZXhwIChleHBlY3RfdHlwZSwgZXhwLCBwb3MsIG5vc2lkZSk7CkBAIC0xODczLDcgKzE4NzMsNyBA QCBpbmRleCBjOTYzMGRmLi5iNzk3MTg5IDEwMDY0NAogICAgICAgIGVsc2UgaWYgKG5vc2lkZSA9 PSBFVkFMX0FWT0lEX1NJREVfRUZGRUNUUykKICAJewogIAkgIHR5cGUgPSBjaGVja190eXBlZGVm ICh2YWx1ZV90eXBlIChhcmcxKSk7Ci1AQCAtMjUzMywxMiArMjY4MiwxOCBAQCBldmFsdWF0ZV9z dWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKK0BAIC0yNTMwLDEyICsy Njc5LDE4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90 eXBlLAogIAkgIC8qIEluIEMgeW91IGNhbiBkZXJlZmVyZW5jZSBhbiBhcnJheSB0byBnZXQgdGhl IDFzdCBlbHQuICAqLwogIAkgICAgICB8fCBUWVBFX0NPREUgKHR5cGUpID09IFRZUEVfQ09ERV9B UlJBWQogIAkgICAgKQpAQCAtMTg5Nyw3ICsxODk3LDcgQEAgaW5kZXggYzk2MzBkZi4uYjc5NzE4 OSAxMDA2NDQKICAJICBlbHNlCiAgCSAgICBlcnJvciAoXygiQXR0ZW1wdCB0byB0YWtlIGNvbnRl bnRzIG9mIGEgbm9uLXBvaW50ZXIgdmFsdWUuIikpOwogIAl9Ci1AQCAtMjU0OCw5ICsyNzAzLDE0 IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAor QEAgLTI1NDUsOSArMjcwMCwxNCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0 eXBlICpleHBlY3RfdHlwZSwKICAJIGRvLiAgImxvbmcgbG9uZyIgdmFyaWFibGVzIGFyZSByYXJl IGVub3VnaCB0aGF0CiAgCSBCVUlMVElOX1RZUEVfTE9OR0VTVCB3b3VsZCBzZWVtIHRvIGJlIGEg bWlzdGFrZS4gICovCiAgICAgICAgaWYgKFRZUEVfQ09ERSAodHlwZSkgPT0gVFlQRV9DT0RFX0lO VCkKQEAgLTE5MTUsNyArMTkxNSw3IEBAIGluZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAwNjQ0CiAg CiAgICAgIGNhc2UgVU5PUF9BRERSOgogICAgICAgIC8qIEMrKzogY2hlY2sgZm9yIGFuZCBoYW5k bGUgcG9pbnRlciB0byBtZW1iZXJzLiAgKi8KLUBAIC0yOTYzLDcgKzMxMjMsNyBAQCBldmFsdWF0 ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24gKmV4cCwKK0BAIC0yOTYw LDcgKzMxMjAsNyBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJl c3Npb24gKmV4cCwKICB7CiAgICBlbnVtIGV4cF9vcGNvZGUgb3A7CiAgICBpbnQgcGM7CkBAIC0x OTI0LDcgKzE5MjQsNyBAQCBpbmRleCBjOTYzMGRmLi5iNzk3MTg5IDEwMDY0NAogICAgc3RydWN0 IHN5bWJvbCAqdmFyOwogICAgc3RydWN0IHR5cGUgKnR5cGU7CiAgCi1AQCAtMjk3NCwxMyArMzEz NCwxOCBAQCBldmFsdWF0ZV9zdWJleHBfd2l0aF9jb2VyY2lvbiAoc3RydWN0IGV4cHJlc3Npb24g KmV4cCwKK0BAIC0yOTcxLDEzICszMTMxLDE4IEBAIGV2YWx1YXRlX3N1YmV4cF93aXRoX2NvZXJj aW9uIChzdHJ1Y3QgZXhwcmVzc2lvbiAqZXhwLAogICAgICB7CiAgICAgIGNhc2UgT1BfVkFSX1ZB TFVFOgogICAgICAgIHZhciA9IGV4cC0+ZWx0c1twYyArIDJdLnN5bWJvbDsKQEAgLTE5NDQsNyAr MTk0NCw3IEBAIGluZGV4IGM5NjMwZGYuLmI3OTcxODkgMTAwNjQ0CiAgCSAgcmV0dXJuIHZhbHVl X2Nhc3QgKGxvb2t1cF9wb2ludGVyX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpKSwKICAJ CQkgICAgIHZhbCk7CiAgCX0KLUBAIC0zMDM4LDkgKzMyMDMsMTMgQEAgZXZhbHVhdGVfc3ViZXhw X2Zvcl9zaXplb2YgKHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zKQorQEAgLTMwMzUs OSArMzIwMCwxMyBAQCBldmFsdWF0ZV9zdWJleHBfZm9yX3NpemVvZiAoc3RydWN0IGV4cHJlc3Np b24gKmV4cCwgaW50ICpwb3MpCiAgCiAgICAgIGNhc2UgT1BfVkFSX1ZBTFVFOgogICAgICAgICgq cG9zKSArPSA0OwpAQCAtMTk2MSw3ICsxOTYxLDcgQEAgaW5kZXggYzk2MzBkZi4uYjc5NzE4OSAx MDA2NDQKICAKICAgICAgZGVmYXVsdDoKICAgICAgICB2YWwgPSBldmFsdWF0ZV9zdWJleHAgKE5V TExfVFlQRSwgZXhwLCBwb3MsIEVWQUxfQVZPSURfU0lERV9FRkZFQ1RTKTsKLUBAIC0zMDcxLDE4 ICszMjQwLDI1IEBAIHBhcnNlX2FuZF9ldmFsX3R5cGUgKGNoYXIgKnAsIGludCBsZW5ndGgpCitA QCAtMzA2OCwxOCArMzIzNywyNSBAQCBwYXJzZV9hbmRfZXZhbF90eXBlIChjaGFyICpwLCBpbnQg bGVuZ3RoKQogIGludAogIGNhbGNfZjc3X2FycmF5X2RpbXMgKHN0cnVjdCB0eXBlICphcnJheV90 eXBlKQogIHsKQEAgLTIwOTYsNyArMjA5Niw3IEBAIGluZGV4IGFhMzMyMzEuLmRmOTk4YzQgMTAw NjQ0CiAgICAgIHsKICAgICAgY2FzZSBUWVBFX0NPREVfQVJSQVk6CiBkaWZmIC0tZ2l0IGEvZ2Ri L2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKLWluZGV4IDIyY2NhODMuLmIyYTJjYzMg MTAwNjQ0CitpbmRleCBkMDFkNmVjLi44YTIxMTQ5IDEwMDY0NAogLS0tIGEvZ2RiL2YtdmFscHJp bnQuYwogKysrIGIvZ2RiL2YtdmFscHJpbnQuYwogQEAgLTUxLDE1ICs1MSwxNyBAQCBpbnQgZjc3 X2FycmF5X29mZnNldF90YmxbTUFYX0ZPUlRSQU5fRElNUyArIDFdWzJdOwpAQCAtMjM4Miw3ICsy MzgyLDcgQEAgaW5kZXggZmZiN2Y1My4uYTJlN2U5NCAxMDA2NDQKICAKICBiIGludGVybmFsX2Vy cm9yCiBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmMgYi9nZGIvZ2RidHlwZXMuYwotaW5kZXgg NTg4NTI0MS4uYTNkYjY2YSAxMDA2NDQKK2luZGV4IDEyNzMwZDcuLjVhNjE0ZTAgMTAwNjQ0CiAt LS0gYS9nZGIvZ2RidHlwZXMuYwogKysrIGIvZ2RiL2dkYnR5cGVzLmMKIEBAIC0zNyw2ICszNyw5 IEBACkBAIC0yNzA5LDcgKzI3MDksNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAog ICAgICB9CiAgCiAgICB0eXBlID0gbWFrZV9xdWFsaWZpZWRfdHlwZSAodHlwZSwgaW5zdGFuY2Vf ZmxhZ3MsIE5VTEwpOwotQEAgLTMzODcsMzMgKzM1MjIsNDIgQEAgdHlwZV9wYWlyX2VxIChjb25z dCB2b2lkICppdGVtX2xocywgY29uc3Qgdm9pZCAqaXRlbV9yaHMpCitAQCAtMzM4NCwzMyArMzUx OSw0MiBAQCB0eXBlX3BhaXJfZXEgKGNvbnN0IHZvaWQgKml0ZW1fbGhzLCBjb25zdCB2b2lkICpp dGVtX3JocykKICB9CiAgCiAgLyogQWxsb2NhdGUgdGhlIGhhc2ggdGFibGUgdXNlZCBieSBjb3B5 X3R5cGVfcmVjdXJzaXZlIHRvIHdhbGsKQEAgLTI3NjcsNyArMjc2Nyw3IEBAIGluZGV4IDU4ODUy NDEuLmEzZGI2NmEgMTAwNjQ0CiAgICAgIHJldHVybiB0eXBlOwogIAogICAgLyogVGhpcyB0eXBl IHNob3VsZG4ndCBiZSBwb2ludGluZyB0byBhbnkgdHlwZXMgaW4gb3RoZXIgb2JqZmlsZXM7Ci1A QCAtMzQyOCw5ICszNTcyLDEwIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAorQEAgLTM0MjUsOSArMzU2OSwxMCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChz dHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIG5ld190eXBlID0gYWxsb2NfdHlwZV9hcmNoIChn ZXRfdHlwZV9hcmNoICh0eXBlKSk7CiAgCiAgICAvKiBXZSBtdXN0IGFkZCB0aGUgbmV3IHR5cGUg dG8gdGhlIGhhc2ggdGFibGUgaW1tZWRpYXRlbHksIGluIGNhc2UKQEAgLTI3ODEsNyArMjc4MSw3 IEBAIGluZGV4IDU4ODUyNDEuLmEzZGI2NmEgMTAwNjQ0CiAgICBzdG9yZWQtPm9sZCA9IHR5cGU7 CiAgICBzdG9yZWQtPm5ldyA9IG5ld190eXBlOwogICAgKnNsb3QgPSBzdG9yZWQ7Ci1AQCAtMzQ0 MSw2ICszNTg2LDIxIEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlLAorQEAgLTM0MzgsNiArMzU4MywyMSBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKICAgIFRZUEVfT0JKRklMRV9PV05FRCAobmV3X3R5cGUpID0gMDsK ICAgIFRZUEVfT1dORVIgKG5ld190eXBlKS5nZGJhcmNoID0gZ2V0X3R5cGVfYXJjaCAodHlwZSk7 CiAgCkBAIC0yODAzLDcgKzI4MDMsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAog ICAgaWYgKFRZUEVfTkFNRSAodHlwZSkpCiAgICAgIFRZUEVfTkFNRSAobmV3X3R5cGUpID0geHN0 cmR1cCAoVFlQRV9OQU1FICh0eXBlKSk7CiAgICBpZiAoVFlQRV9UQUdfTkFNRSAodHlwZSkpCi1A QCAtMzQ0OSwxMiArMzYwOSw0OCBAQCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmls ZSAqb2JqZmlsZSwKK0BAIC0zNDQ2LDEyICszNjA2LDQ4IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUg KHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAgVFlQRV9JTlNUQU5DRV9GTEFHUyAobmV3X3R5 cGUpID0gVFlQRV9JTlNUQU5DRV9GTEFHUyAodHlwZSk7CiAgICBUWVBFX0xFTkdUSCAobmV3X3R5 cGUpID0gVFlQRV9MRU5HVEggKHR5cGUpOwogIApAQCAtMjg1Miw3ICsyODUyLDcgQEAgaW5kZXgg NTg4NTI0MS4uYTNkYjY2YSAxMDA2NDQKICAgICAgICBUWVBFX0ZJRUxEUyAobmV3X3R5cGUpID0g WENBTExPQyAobmZpZWxkcywgc3RydWN0IGZpZWxkKTsKICAgICAgICBmb3IgKGkgPSAwOyBpIDwg bmZpZWxkczsgaSsrKQogIAl7Ci1AQCAtMzQ2Myw4ICszNjU5LDggQEAgY29weV90eXBlX3JlY3Vy c2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCitAQCAtMzQ2MCw4ICszNjU2LDggQEAgY29w eV90eXBlX3JlY3Vyc2l2ZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCSAgVFlQRV9GSUVM RF9CSVRTSVpFIChuZXdfdHlwZSwgaSkgPSBUWVBFX0ZJRUxEX0JJVFNJWkUgKHR5cGUsIGkpOwog IAkgIGlmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKQogIAkgICAgVFlQRV9GSUVMRF9UWVBF IChuZXdfdHlwZSwgaSkKQEAgLTI4NjMsNyArMjg2Myw3IEBAIGluZGV4IDU4ODUyNDEuLmEzZGI2 NmEgMTAwNjQ0CiAgCSAgaWYgKFRZUEVfRklFTERfTkFNRSAodHlwZSwgaSkpCiAgCSAgICBUWVBF X0ZJRUxEX05BTUUgKG5ld190eXBlLCBpKSA9IAogIAkgICAgICB4c3RyZHVwIChUWVBFX0ZJRUxE X05BTUUgKHR5cGUsIGkpKTsKLUBAIC0zNDk1LDI0ICszNjkxLDE4NCBAQCBjb3B5X3R5cGVfcmVj dXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0BAIC0zNDkyLDI0ICszNjg4LDE4NCBA QCBjb3B5X3R5cGVfcmVjdXJzaXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJfQogICAg ICB9CiAgCkBAIC0zMDU1LDcgKzMwNTUsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0 NAogICAgLyogTWF5YmUgY29weSB0aGUgdHlwZV9zcGVjaWZpYyBiaXRzLgogIAogICAgICAgTk9U RSBkcm93LzIwMDUtMTItMDk6IFdlIGRvIG5vdCBjb3B5IHRoZSBDKystc3BlY2lmaWMgYml0cyBs aWtlCi1AQCAtMzUyOSw2ICszODg1LDE3IEBAIGNvcHlfdHlwZV9yZWN1cnNpdmUgKHN0cnVjdCBv YmpmaWxlICpvYmpmaWxlLAorQEAgLTM1MjYsNiArMzg4MiwxNyBAQCBjb3B5X3R5cGVfcmVjdXJz aXZlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAgIHJldHVybiBuZXdfdHlwZTsKICB9CiAg CkBAIC0zMDczLDcgKzMwNzMsNyBAQCBpbmRleCA1ODg1MjQxLi5hM2RiNjZhIDEwMDY0NAogIC8q IE1ha2UgYSBjb3B5IG9mIHRoZSBnaXZlbiBUWVBFLCBleGNlcHQgdGhhdCB0aGUgcG9pbnRlciAm IHJlZmVyZW5jZQogICAgIHR5cGVzIGFyZSBub3QgcHJlc2VydmVkLgogICAgIAotQEAgLTQwOTMs NiArNDQ2MCwxMyBAQCB2b2lkCitAQCAtNDA5MCw2ICs0NDU3LDEzIEBAIHZvaWQKICBfaW5pdGlh bGl6ZV9nZGJ0eXBlcyAodm9pZCkKICB7CiAgICBnZGJ0eXBlc19kYXRhID0gZ2RiYXJjaF9kYXRh X3JlZ2lzdGVyX3Bvc3RfaW5pdCAoZ2RidHlwZXNfcG9zdF9pbml0KTsKQEAgLTMwODgsNyArMzA4 OCw3IEBAIGluZGV4IDU4ODUyNDEuLmEzZGI2NmEgMTAwNjQ0CiAgCiAgICBhZGRfc2V0c2hvd196 dWludGVnZXJfY21kICgib3ZlcmxvYWQiLCBub19jbGFzcywgJm92ZXJsb2FkX2RlYnVnLAogZGlm ZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKLWluZGV4IDhiMzQwYTMu LmFlYTFjOTYgMTAwNjQ0CitpbmRleCAwY2E3YTg3Li5jNjAyOWRjIDEwMDY0NAogLS0tIGEvZ2Ri L2dkYnR5cGVzLmgKICsrKyBiL2dkYi9nZGJ0eXBlcy5oCiBAQCAtMjI2LDYgKzIyNiwxMSBAQCBl bnVtIHR5cGVfaW5zdGFuY2VfZmxhZ192YWx1ZQpAQCAtMzMyMCw3ICszMzIwLDcgQEAgaW5kZXgg OGIzNDBhMy4uYWVhMWM5NiAxMDA2NDQKICAKICBleHRlcm4gc3RydWN0IHR5cGUgKmNvcHlfdHlw ZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpOwogZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9n ZGIvbWFpbi5jCi1pbmRleCBjOTQzOWJiLi42YzRhY2M0IDEwMDY0NAoraW5kZXggMDZmM2ZlYi4u MTQxYTAxYiAxMDA2NDQKIC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9tYWluLmMKIEBAIC0z Nyw2ICszNyw3IEBACkBAIC0zMzQwLDcgKzMzNDAsNyBAQCBpbmRleCBjOTQzOWJiLi42YzRhY2M0 IDEwMDY0NAogICAgLyogVGhlc2UgYXJlIHN0YXRpYyBzbyB0aGF0IHdlIGNhbiB0YWtlIHRoZWly IGFkZHJlc3MgaW4gYW4KICAgICAgIGluaXRpYWxpemVyLiAgKi8KICAgIHN0YXRpYyBpbnQgcHJp bnRfaGVscDsKLUBAIC01MDIsMTAgKzUwNSwxNCBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRh KQorQEAgLTUwNCwxMCArNTA3LDE0IEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCiAgICAg ICAgeyJhcmdzIiwgbm9fYXJndW1lbnQsICZzZXRfYXJncywgMX0sCiAgICAgICAgeyJsIiwgcmVx dWlyZWRfYXJndW1lbnQsIDAsICdsJ30sCiAgICAgICAgeyJyZXR1cm4tY2hpbGQtcmVzdWx0Iiwg bm9fYXJndW1lbnQsICZyZXR1cm5fY2hpbGRfcmVzdWx0LCAxfSwKQEAgLTMzNTYsNyArMzM1Niw3 IEBAIGluZGV4IGM5NDM5YmIuLjZjNGFjYzQgMTAwNjQ0CiAgICAgICAgewogIAlpbnQgb3B0aW9u X2luZGV4OwogIAotQEAgLTUyMyw2ICs1MzAsOSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRh KQorQEAgLTUyNSw2ICs1MzIsOSBAQCBjYXB0dXJlZF9tYWluICh2b2lkICpkYXRhKQogIAkgIGNh c2UgMDoKICAJICAgIC8qIExvbmcgb3B0aW9uIHRoYXQganVzdCBzZXRzIGEgZmxhZy4gICovCiAg CSAgICBicmVhazsKQEAgLTMzNjYsNyArMzM2Niw3IEBAIGluZGV4IGM5NDM5YmIuLjZjNGFjYzQg MTAwNjQ0CiAgCSAgY2FzZSBPUFRfU0U6CiAgCSAgICBzeW1hcmcgPSBvcHRhcmc7CiAgCSAgICBl eGVjYXJnID0gb3B0YXJnOwotQEAgLTczMSw3ICs3NDEsMzEgQEAgY2FwdHVyZWRfbWFpbiAodm9p ZCAqZGF0YSkKK0BAIC03MzMsNyArNzQzLDMxIEBAIGNhcHR1cmVkX21haW4gKHZvaWQgKmRhdGEp CiAgCiAgICAvKiBOb3cgdGhhdCBnZGJfaW5pdCBoYXMgY3JlYXRlZCB0aGUgaW5pdGlhbCBpbmZl cmlvciwgd2UncmUgaW4KICAgICAgIHBvc2l0aW9uIHRvIHNldCBhcmdzIGZvciB0aGF0IGluZmVy aW9yLiAgKi8KQEAgLTMzOTksNyArMzM5OSw3IEBAIGluZGV4IGM5NDM5YmIuLjZjNGFjYzQgMTAw NjQ0CiAgICAgIHsKICAgICAgICAvKiBUaGUgcmVtYWluaW5nIG9wdGlvbnMgYXJlIHRoZSBjb21t YW5kLWxpbmUgb3B0aW9ucyBmb3IgdGhlCiAgCSBpbmZlcmlvci4gIFRoZSBmaXJzdCBvbmUgaXMg dGhlIHN5bS9leGVjIGZpbGUsIGFuZCB0aGUgcmVzdAotQEAgLTEwMTEsNyArMTA0NSw4IEBAIGNh cHR1cmVkX21haW4gKHZvaWQgKmRhdGEpCitAQCAtMTAxMyw3ICsxMDQ3LDggQEAgY2FwdHVyZWRf bWFpbiAodm9pZCAqZGF0YSkKICAKICAgIC8qIFJlYWQgaW4gdGhlIG9sZCBoaXN0b3J5IGFmdGVy IGFsbCB0aGUgY29tbWFuZCBmaWxlcyBoYXZlIGJlZW4KICAgICAgIHJlYWQuICAqLwpAQCAtMzQw OSw3ICszNDA5LDcgQEAgaW5kZXggYzk0MzliYi4uNmM0YWNjNCAxMDA2NDQKICAKICAgIGlmIChi YXRjaF9mbGFnKQogICAgICB7Ci1AQCAtMTAyMiwxMyArMTA1NywyNSBAQCBjYXB0dXJlZF9tYWlu ICh2b2lkICpkYXRhKQorQEAgLTEwMjQsMTMgKzEwNTksMjUgQEAgY2FwdHVyZWRfbWFpbiAodm9p ZCAqZGF0YSkKICAgIC8qIFNob3cgdGltZSBhbmQvb3Igc3BhY2UgdXNhZ2UuICAqLwogICAgZG9f Y2xlYW51cHMgKHByZV9zdGF0X2NoYWluKTsKICAKQEAgLTM0NDEsNyArMzQ0MSw3IEBAIGluZGV4 IGM5NDM5YmIuLjZjNGFjYzQgMTAwNjQ0CiAgICAgIH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBp cyB0aHJvdWdoIHF1aXRfY29tbWFuZC4gICovCiAgfQotQEAgLTEwNjAsNyArMTEwNywxMiBAQCBw cmludF9nZGJfaGVscCAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKK0BAIC0xMDYyLDcgKzExMDks MTIgQEAgcHJpbnRfZ2RiX2hlbHAgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCiAgICBmcHV0c191 bmZpbHRlcmVkIChfKCJcCiAgVGhpcyBpcyB0aGUgR05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5cblwK ICAgICAgZ2RiIFtvcHRpb25zXSBbZXhlY3V0YWJsZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJvY2Vz cy1pZF1dXG5cCkBAIC0zNDU1LDcgKzM0NTUsNyBAQCBpbmRleCBjOTQzOWJiLi42YzRhY2M0IDEw MDY0NAogIE9wdGlvbnM6XG5cblwKICAiKSwgc3RyZWFtKTsKICAgIGZwdXRzX3VuZmlsdGVyZWQg KF8oIlwKLUBAIC0xMTAzLDcgKzExNTUsMTMgQEAgT3B0aW9uczpcblxuXAorQEAgLTExMDQsNyAr MTE1NiwxMyBAQCBPcHRpb25zOlxuXG5cCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCIgZmlsZXMu XG5cCiAgICAtLW5oICAgICAgICAgICAgICAgRG8gbm90IHJlYWQgIiksIHN0cmVhbSk7CiAgICBm cHV0c191bmZpbHRlcmVkIChnZGJpbml0LCBzdHJlYW0pOwpAQCAtMzY4MSwxOCArMzY4MSwxOCBA QCBpbmRleCA4ZDI1MzExLi4yMzNlZDQ2IDEwMDY0NAogIAkJCQkJCXZvaWQgKmRhdGEpLAogIAkJ CSAgIHZvaWQgKmRhdGEpOwogZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50 Y21kLmMKLWluZGV4IGE1NzZkODguLjI3M2E1ZTEgMTAwNjQ0CitpbmRleCAxNTU3MDNkLi41NDVh NjE1IDEwMDY0NAogLS0tIGEvZ2RiL3ByaW50Y21kLmMKICsrKyBiL2dkYi9wcmludGNtZC5jCi1A QCAtNTAsNiArNTAsNyBAQAotICNpbmNsdWRlICJhcmNoLXV0aWxzLmgiCitAQCAtNTEsNiArNTEs NyBAQAogICNpbmNsdWRlICJjbGkvY2xpLXV0aWxzLmgiCiAgI2luY2x1ZGUgImZvcm1hdC5oIgor ICNpbmNsdWRlICJzb3VyY2UuaCIKICsjaW5jbHVkZSAiZHdhcmYybG9jLmgiCiAgCiAgI2lmZGVm IFRVSQogICNpbmNsdWRlICJ0dWkvdHVpLmgiCQkvKiBGb3IgdHVpX2FjdGl2ZSBldCBhbC4gICAq LwotQEAgLTk2Niw2ICs5NjcsMTEgQEAgcHJpbnRfY29tbWFuZF8xIChjaGFyICpleHAsIGludCB2 b2lkcHJpbnQpCitAQCAtOTY3LDYgKzk2OCwxMSBAQCBwcmludF9jb21tYW5kXzEgKGNoYXIgKmV4 cCwgaW50IHZvaWRwcmludCkKICAgIGVsc2UKICAgICAgdmFsID0gYWNjZXNzX3ZhbHVlX2hpc3Rv cnkgKDApOwogIApAQCAtMzcwNCw3ICszNzA0LDcgQEAgaW5kZXggYTU3NmQ4OC4uMjczYTVlMSAx MDA2NDQKICAgIGlmICh2b2lkcHJpbnQgfHwgKHZhbCAmJiB2YWx1ZV90eXBlICh2YWwpICYmCiAg CQkgICAgVFlQRV9DT0RFICh2YWx1ZV90eXBlICh2YWwpKSAhPSBUWVBFX0NPREVfVk9JRCkpCiAg ICAgIHsKLUBAIC0xMDM4LDYgKzEwNDQsOSBAQCBvdXRwdXRfY29tbWFuZCAoY2hhciAqZXhwLCBp bnQgZnJvbV90dHkpCitAQCAtMTAzOSw2ICsxMDQ1LDkgQEAgb3V0cHV0X2NvbW1hbmQgKGNoYXIg KmV4cCwgaW50IGZyb21fdHR5KQogIAogICAgdmFsID0gZXZhbHVhdGVfZXhwcmVzc2lvbiAoZXhw cik7CiAgCkBAIC0zNzE0LDcgKzM3MTQsNyBAQCBpbmRleCBhNTc2ZDg4Li4yNzNhNWUxIDEwMDY0 NAogICAgYW5ub3RhdGVfdmFsdWVfYmVnaW4gKHZhbHVlX3R5cGUgKHZhbCkpOwogIAogICAgZ2V0 X2Zvcm1hdHRlZF9wcmludF9vcHRpb25zICgmb3B0cywgZm9ybWF0KTsKLUBAIC0xNDY2LDYgKzE0 NzUsMjQgQEAgeF9jb21tYW5kIChjaGFyICpleHAsIGludCBmcm9tX3R0eSkKK0BAIC0xNDY3LDYg KzE0NzYsMjQgQEAgeF9jb21tYW5kIChjaGFyICpleHAsIGludCBmcm9tX3R0eSkKICAJc2V0X2lu dGVybmFsdmFyIChsb29rdXBfaW50ZXJuYWx2YXIgKCJfXyIpLCBsYXN0X2V4YW1pbmVfdmFsdWUp OwogICAgICB9CiAgfQpAQCAtMzczOSw3ICszNzM5LDcgQEAgaW5kZXggYTU3NmQ4OC4uMjczYTVl MSAxMDA2NDQKICAMCiAgCiAgLyogQWRkIGFuIGV4cHJlc3Npb24gdG8gdGhlIGF1dG8tZGlzcGxh eSBjaGFpbi4KLUBAIC0xOTYzLDYgKzE5OTAsMTAgQEAgcHJpbnRfdmFyaWFibGVfYW5kX3ZhbHVl IChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qgc3ltYm9sICp2YXIsCitAQCAtMTk2NCw2ICsxOTkx LDEwIEBAIHByaW50X3ZhcmlhYmxlX2FuZF92YWx1ZSAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0 IHN5bWJvbCAqdmFyLAogICAgICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAg CiAgICAgICAgdmFsID0gcmVhZF92YXJfdmFsdWUgKHZhciwgZnJhbWUpOwpAQCAtMzc1MCw3ICsz NzUwLDcgQEAgaW5kZXggYTU3NmQ4OC4uMjczYTVlMSAxMDA2NDQKICAgICAgICBnZXRfdXNlcl9w cmludF9vcHRpb25zICgmb3B0cyk7CiAgICAgICAgb3B0cy5kZXJlZl9yZWYgPSAxOwogICAgICAg IGNvbW1vbl92YWxfcHJpbnQgKHZhbCwgc3RyZWFtLCBpbmRlbnQsICZvcHRzLCBjdXJyZW50X2xh bmd1YWdlKTsKLUBAIC0yNjAyLDQgKzI2MzMsOCBAQCBTaG93IHByaW50aW5nIG9mIHNvdXJjZSBm aWxlbmFtZSBhbmQgbGluZSBudW1iZXIgd2l0aCA8c3ltYm9sPi4iKSwgTlVMTCwKK0BAIC0yNjEz LDQgKzI2NDQsOCBAQCBTaG93IHByaW50aW5nIG9mIHNvdXJjZSBmaWxlbmFtZSBhbmQgbGluZSBu dW1iZXIgd2l0aCA8c3ltYm9sPi4iKSwgTlVMTCwKICAgIGFkZF9jb20gKCJldmFsIiwgbm9fY2xh c3MsIGV2YWxfY29tbWFuZCwgXygiXAogIENvbnZlcnQgXCJwcmludGYgZm9ybWF0IHN0cmluZ1wi LCBhcmcxLCBhcmcyLCBhcmczLCAuLi4sIGFyZ24gdG9cblwKICBhIGNvbW1hbmQgbGluZSwgYW5k IGNhbGwgaXQuIikpOwpAQCAtNDUyMiw3ICs0NTIyLDcgQEAgaW5kZXggMDAwMDAwMC4uZGViYjNi YgogKwogK0luU2NvcGUgKCkKIGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LXR5cGUuYyBiL2dk Yi9weXRob24vcHktdHlwZS5jCi1pbmRleCAzMWI3Nzc2Li41NjA4NWQxIDEwMDY0NAoraW5kZXgg MDUxY2ZmMC4uZTJmMmViZSAxMDA2NDQKIC0tLSBhL2dkYi9weXRob24vcHktdHlwZS5jCiArKysg Yi9nZGIvcHl0aG9uL3B5LXR5cGUuYwogQEAgLTMxLDYgKzMxLDggQEAKQEAgLTQ3NjIsNyArNDc2 Miw3IEBAIGluZGV4IDExY2MwMzguLmVmMjM4ZjYgMTAwNjQ0CiAgCiAgDAogZGlmZiAtLWdpdCBh L2dkYi9weXRob24vcHl0aG9uLmMgYi9nZGIvcHl0aG9uL3B5dGhvbi5jCi1pbmRleCBiMGY3MWEy Li5kMjI0OGMxIDEwMDY0NAoraW5kZXggOGRkNjVhMS4uODJjNmM4NiAxMDA2NDQKIC0tLSBhL2dk Yi9weXRob24vcHl0aG9uLmMKICsrKyBiL2dkYi9weXRob24vcHl0aG9uLmMKIEBAIC02Niw2ICs2 Niw4IEBAIHN0YXRpYyBjb25zdCBjaGFyICpnZGJweV9zaG91bGRfcHJpbnRfc3RhY2sgPSBweXRo b25fZXhjcF9tZXNzYWdlOwpAQCAtNDgyOCw3ICs0ODI4LDcgQEAgaW5kZXggYjBmNzFhMi4uZDIy NDhjMSAxMDA2NDQKICAKICBzdGF0aWMgUHlPYmplY3QgKgogIGdkYnB5X2dldF9jdXJyZW50X3By b2dzcGFjZSAoUHlPYmplY3QgKnVudXNlZDEsIFB5T2JqZWN0ICp1bnVzZWQyKQotQEAgLTE3MzQs NiArMTc4Myw4IEBAIHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQorQEAgLTE3MzMs NiArMTc4Miw4IEBAIHN0YXRpYyBQeU1ldGhvZERlZiBHZGJNZXRob2RzW10gPQogICAgICAiR2V0 IGEgdmFsdWUgZnJvbSBoaXN0b3J5IiB9LAogICAgeyAiZXhlY3V0ZSIsIChQeUNGdW5jdGlvbikg ZXhlY3V0ZV9nZGJfY29tbWFuZCwgTUVUSF9WQVJBUkdTIHwgTUVUSF9LRVlXT1JEUywKICAgICAg IkV4ZWN1dGUgYSBnZGIgY29tbWFuZCIgfSwKQEAgLTQ4NTEsMTAgKzQ4NTEsMTAgQEAgaW5kZXgg MjRlMzA3Ny4uMDQ0MzA4NyAxMDA2NDQKICAJCQkgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBD T1JFX0FERFIgYWRkcmVzcywKICAJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQg cmVjdXJzZSwKIGRpZmYgLS1naXQgYS9nZGIvc3RhY2suYyBiL2dkYi9zdGFjay5jCi1pbmRleCBh OWRhYmI1Li42Yzc4NDM2IDEwMDY0NAoraW5kZXggMTQ3ZDgxNS4uNTExMTVjZiAxMDA2NDQKIC0t LSBhL2dkYi9zdGFjay5jCiArKysgYi9nZGIvc3RhY2suYwotQEAgLTUxMCw2ICs1MTAsMTAgQEAg cHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lLAorQEAgLTUwOCw2ICs1MDgsMTAgQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5 bWJvbCAqZnVuYywgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLAogICAgc3RiID0gbWVtX2ZpbGVv cGVuICgpOwogICAgb2xkX2NoYWluID0gbWFrZV9jbGVhbnVwX3VpX2ZpbGVfZGVsZXRlIChzdGIp OwogIApAQCAtNzkyOSw3ICs3OTI5LDcgQEAgaW5kZXggMDAwMDAwMC4uNDc0N2VhOQogKyAgd3Jp dGUgKCosKikgYSAgICAgICAgICAgICAgICAgISBicmVhay1zdGF0aWMKICtlbmQKIGRpZmYgLS1n aXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9n ZGIuZ2RiL3NlbGZ0ZXN0LmV4cAotaW5kZXggMzUxZmE4Ny4uMGI1ZGI2ZSAxMDA2NDQKK2luZGV4 IDU1ZTEzY2YuLjQ0MWMyOGIgMTAwNjQ0CiAtLS0gYS9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2Vs ZnRlc3QuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwCiBAQCAt OTEsNiArOTEsMTAgQEAgcHJvYyBkb19zdGVwc19hbmRfbmV4dHMge30gewpAQCAtNzk3Nyw3ICs3 OTc3LDcgQEAgaW5kZXggMDAwMDAwMC4uZWJjZWQzYwogK30KIGRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5taS9taTItdmFyLXN0YWxlLXR5cGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIu bWkvbWkyLXZhci1zdGFsZS10eXBlLmV4cAogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAuLjc0YTEwNGUKK2luZGV4IDAwMDAwMDAuLjk5YjZjYzcKIC0tLSAvZGV2L251bGwKICsr KyBiL2dkYi90ZXN0c3VpdGUvZ2RiLm1pL21pMi12YXItc3RhbGUtdHlwZS5leHAKIEBAIC0wLDAg KzEsNTcgQEAKQEAgLTgwMjcsNyArODAyNyw3IEBAIGluZGV4IDAwMDAwMDAuLjc0YTEwNGUKICtz ZXQgZnVuYyAibWFpbiIKICsKICttaV9nZGJfdGVzdCAiLWJyZWFrLWluc2VydCAtdCAkc3JjZmls ZTokbGluZSIgXAotKyAgIlxcXmRvbmUsYmtwdD1ce251bWJlcj1cIlxbMC05XF0rXCIsdHlwZT1c ImJyZWFrcG9pbnRcIixkaXNwPVwiZGVsXCIsZW5hYmxlZD1cInlcIixhZGRyPVwiJGhleFwiLGZ1 bmM9XCIkZnVuY1woXFxcKC4qXFxcKVwpP1wiLGZpbGU9XCIuKlwiLGxpbmU9XCIkbGluZVwiLHRp bWVzPVwiMFwiLG9yaWdpbmFsLWxvY2F0aW9uPVwiLipcIlx9IiBcCisrICAiXFxeZG9uZSxia3B0 PVx7bnVtYmVyPVwiXFswLTlcXStcIix0eXBlPVwiYnJlYWtwb2ludFwiLGRpc3A9XCJkZWxcIixl bmFibGVkPVwieVwiLGFkZHI9XCIkaGV4XCIsZnVuYz1cIiRmdW5jXChcXFwoLipcXFwpXCk/XCIs ZmlsZT1cIi4qXCIsZnVsbG5hbWU9XCIuKlwiLGxpbmU9XCIkbGluZVwiLFxbXlxyXG5cXSosb3Jp Z2luYWwtbG9jYXRpb249XCIuKlwiXH0iIFwKICsgICJicmVha3BvaW50IGF0ICRmdW5jIgogKwog K2lmIHsgW21pX3J1bl9jbWRdIDwgMCB9IHsKQEAgLTgzMzgsMTAgKzgzMzgsMTAgQEAgaW5kZXgg MDAwMDAwMC4uMjk1NjAyZAogKyAgd3JpdGVsbihzKTsgeyBzZXQgYnJlYWtwb2ludCAyIGhlcmUg fQogK2VuZC4KIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUu ZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIucHl0aG9uL3B5LWZyYW1lLmV4cAotaW5kZXggYWE0ZDkz Ny4uNjBkMmNjOCAxMDA2NDQKK2luZGV4IDgwNmRhOTQuLmIyMjIzMWEgMTAwNjQ0CiAtLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5weXRob24vcHktZnJhbWUuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRl L2dkYi5weXRob24vcHktZnJhbWUuZXhwCi1AQCAtOTAsMyArOTAsNSBAQCBnZGJfdGVzdCAicHl0 aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgZjAucmVhZF92YXIgKCd2YXJpYWJsZV93aGljaF9z dXJlbHlfZG9lcworQEAgLTk0LDMgKzk0LDUgQEAgZ2RiX3Rlc3QgInB5dGhvbiBwcmludCAoJ3Jl c3VsdCA9ICVzJyAlIGYwLnJlYWRfdmFyICgndmFyaWFibGVfd2hpY2hfc3VyZWx5X2RvZXMKICBn ZGJfdGVzdCAicHl0aG9uIHByaW50ICgncmVzdWx0ID0gJXMnICUgZjAucmVhZF92YXIgKCdhJykp IiAiID0gMSIgInRlc3QgRnJhbWUucmVhZF92YXIgLSBzdWNjZXNzIgogIAogIGdkYl90ZXN0ICJw eXRob24gcHJpbnQgKCdyZXN1bHQgPSAlcycgJSAoZ2RiLnNlbGVjdGVkX2ZyYW1lICgpID09IGYx KSkiICIgPSBUcnVlIiAidGVzdCBnZGIuc2VsZWN0ZWRfZnJhbWUiCkBAIC04NDI3LDcgKzg0Mjcs NyBAQCBpbmRleCA1NjlmYjAyLi5jYWNlY2Y0IDEwMDY0NAogICAgICBzZXQgcGFzY2FsX2luaXRf ZG9uZSAxCiAgfSAgIAogZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBiL2dkYi90b3AuYwotaW5kZXgg ZTlkNmMxYy4uN2ZlNmFkMSAxMDA2NDQKK2luZGV4IGU5YTQwZmMuLmRlMDUxYzggMTAwNjQ0CiAt LS0gYS9nZGIvdG9wLmMKICsrKyBiL2dkYi90b3AuYwogQEAgLTM1MCw2ICszNTAsOSBAQCBwcmVw YXJlX2V4ZWN1dGVfY29tbWFuZCAodm9pZCkKQEAgLTg0NzksMTAgKzg0NzksMTAgQEAgaW5kZXgg MmQ1YTZhZi4uNTI1MWUzZiAxMDA2NDQKICAKICAgIGdldF91c2VyX3ByaW50X29wdGlvbnMgKCZv cHRzKTsKIGRpZmYgLS1naXQgYS9nZGIvdXRpbHMuYyBiL2dkYi91dGlscy5jCi1pbmRleCA4YmFl NGViLi42ZWI1ODc3IDEwMDY0NAoraW5kZXggZWI5OWY0Yi4uMmUxN2U4ZSAxMDA2NDQKIC0tLSBh L2dkYi91dGlscy5jCiArKysgYi9nZGIvdXRpbHMuYwotQEAgLTE4MjEsNiArMTgyMSwzNiBAQCBz ZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jlc3RvcmVfcGFnZV9pbmZvICh2b2lkKQor QEAgLTE4MDQsNiArMTgwNCwzNiBAQCBzZXRfYmF0Y2hfZmxhZ19hbmRfbWFrZV9jbGVhbnVwX3Jl c3RvcmVfcGFnZV9pbmZvICh2b2lkKQogICAgcmV0dXJuIGJhY2tfdG87CiAgfQogIApAQCAtODUy MCwxMCArODUyMCwxMCBAQCBpbmRleCA4YmFlNGViLi42ZWI1ODc3IDEwMDY0NAogIAogIHN0YXRp YyB2b2lkCiBkaWZmIC0tZ2l0IGEvZ2RiL3V0aWxzLmggYi9nZGIvdXRpbHMuaAotaW5kZXggNjk4 M2E1My4uMGVmYTU1MyAxMDA2NDQKK2luZGV4IDUyYmNhZmYuLjZhYjQxN2IgMTAwNjQ0CiAtLS0g YS9nZGIvdXRpbHMuaAogKysrIGIvZ2RiL3V0aWxzLmgKLUBAIC0zODAsNCArMzgwLDYgQEAgZXh0 ZXJuIGludCBteXJlYWQgKGludCwgY2hhciAqLCBpbnQpOworQEAgLTM3NSw0ICszNzUsNiBAQCBl eHRlcm4gaW50IG15cmVhZCAoaW50LCBjaGFyICosIGludCk7CiAgZXh0ZXJuIFVMT05HRVNUIGFs aWduX3VwIChVTE9OR0VTVCB2LCBpbnQgbik7CiAgZXh0ZXJuIFVMT05HRVNUIGFsaWduX2Rvd24g KFVMT05HRVNUIHYsIGludCBuKTsKICAKQEAgLTg1MzEsNyArODUzMSw3IEBAIGluZGV4IDY5ODNh NTMuLjBlZmE1NTMgMTAwNjQ0CiArCiAgI2VuZGlmIC8qIFVUSUxTX0ggKi8KIGRpZmYgLS1naXQg YS9nZGIvdmFsYXJpdGguYyBiL2dkYi92YWxhcml0aC5jCi1pbmRleCAwNzRjZjM2Li41YzQ0ZWRj IDEwMDY0NAoraW5kZXggMThjMTRmYy4uMGEzYTNhYSAxMDA2NDQKIC0tLSBhL2dkYi92YWxhcml0 aC5jCiArKysgYi9nZGIvdmFsYXJpdGguYwogQEAgLTE5NSw3ICsxOTUsMTAgQEAgdmFsdWVfc3Vi c2NyaXB0ZWRfcnZhbHVlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMT05HRVNUIGluZGV4LCBpbnQg bG93ZXJib3VuZCkKQEAgLTg1NTgsNyArODU1OCw3IEBAIGluZGV4IDA3NGNmMzYuLjVjNDRlZGMg MTAwNjQ0CiAgfQogIAogZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMuYyBiL2dkYi92YWxvcHMuYwot aW5kZXggZTNkMzZhMS4uYTZiZGE0ZCAxMDA2NDQKK2luZGV4IDkzYzA5ZDguLmFlZjA5OTEgMTAw NjQ0CiAtLS0gYS9nZGIvdmFsb3BzLmMKICsrKyBiL2dkYi92YWxvcHMuYwogQEAgLTQ1LDYgKzQ1 LDcgQEAKQEAgLTg1NjksNyArODU2OSw3IEBAIGluZGV4IGUzZDM2YTEuLmE2YmRhNGQgMTAwNjQ0 CiAgCiAgZXh0ZXJuIHVuc2lnbmVkIGludCBvdmVybG9hZF9kZWJ1ZzsKICAvKiBMb2NhbCBmdW5j dGlvbnMuICAqLwotQEAgLTkxOSw2ICs5MjAsNjUgQEAgdmFsdWVfb25lIChzdHJ1Y3QgdHlwZSAq dHlwZSkKK0BAIC05MDMsNiArOTA0LDY1IEBAIHZhbHVlX29uZSAoc3RydWN0IHR5cGUgKnR5cGUp CiAgICByZXR1cm4gdmFsOwogIH0KICAKQEAgLTg2MzUsNyArODYzNSw3IEBAIGluZGV4IGUzZDM2 YTEuLmE2YmRhNGQgMTAwNjQ0CiAgLyogSGVscGVyIGZ1bmN0aW9uIGZvciB2YWx1ZV9hdCwgdmFs dWVfYXRfbGF6eSwgYW5kIHZhbHVlX2F0X2xhenlfc3RhY2suICAqLwogIAogIHN0YXRpYyBzdHJ1 Y3QgdmFsdWUgKgotQEAgLTk4MSw3ICsxMDQxLDggQEAgaW50CitAQCAtOTY1LDcgKzEwMjUsOCBA QCBpbnQKICB2YWx1ZV9mZXRjaF9sYXp5IChzdHJ1Y3QgdmFsdWUgKnZhbCkKICB7CiAgICBnZGJf YXNzZXJ0ICh2YWx1ZV9sYXp5ICh2YWwpKTsKQEAgLTg2NDUsNyArODY0NSw3IEBAIGluZGV4IGUz ZDM2YTEuLmE2YmRhNGQgMTAwNjQ0CiAgICBpZiAodmFsdWVfYml0c2l6ZSAodmFsKSkKICAgICAg ewogICAgICAgIC8qIFRvIHJlYWQgYSBsYXp5IGJpdGZpZWxkLCByZWFkIHRoZSBlbnRpcmUgZW5j bG9zaW5nIHZhbHVlLiAgVGhpcwotQEAgLTEwMTQsMTMgKzEwNzUsMjQgQEAgdmFsdWVfZmV0Y2hf bGF6eSAoc3RydWN0IHZhbHVlICp2YWwpCitAQCAtOTk4LDEzICsxMDU5LDI0IEBAIHZhbHVlX2Zl dGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQogICAgICB9CiAgICBlbHNlIGlmIChWQUxVRV9M VkFMICh2YWwpID09IGx2YWxfbWVtb3J5KQogICAgICB7CkBAIC04NzE4LDcgKzg3MTgsNyBAQCBp bmRleCBlM2QzNmExLi5hNmJkYTRkIDEwMDY0NAogIH0KICAKICAvKiBHaXZlbiBhIHZhbHVlIHdo aWNoIGlzIGEgZnVuY3Rpb24sIHJldHVybiBhIHZhbHVlIHdoaWNoIGlzIGEgcG9pbnRlcgotQEAg LTM3MjQsNiArMzgxMiw4IEBAIHZhbHVlX3NsaWNlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQg bG93Ym91bmQsIGludCBsZW5ndGgpCitAQCAtMzcyMSw2ICszODA5LDggQEAgdmFsdWVfc2xpY2Ug KHN0cnVjdCB2YWx1ZSAqYXJyYXksIGludCBsb3dib3VuZCwgaW50IGxlbmd0aCkKICAJCQkJCVRZ UEVfVEFSR0VUX1RZUEUgKHJhbmdlX3R5cGUpLAogIAkJCQkJbG93Ym91bmQsIAogIAkJCQkJbG93 Ym91bmQgKyBsZW5ndGggLSAxKTsKQEAgLTg3MjgsNyArODcyOCw3IEBAIGluZGV4IGUzZDM2YTEu LmE2YmRhNGQgMTAwNjQ0CiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqZWxlbWVudF90eXBl ID0gVFlQRV9UQVJHRVRfVFlQRSAoYXJyYXlfdHlwZSk7CiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHBy aW50LmMgYi9nZGIvdmFscHJpbnQuYwotaW5kZXggNDJkYWNjNS4uNjk3N2Y2MiAxMDA2NDQKK2lu ZGV4IDA1ZDZjM2UuLjU0MzBlNjYgMTAwNjQ0CiAtLS0gYS9nZGIvdmFscHJpbnQuYwogKysrIGIv Z2RiL3ZhbHByaW50LmMKIEBAIC0zNyw2ICszNyw3IEBACkBAIC04NzQ3LDcgKzg3NDcsNyBAQCBp bmRleCA0MmRhY2M1Li42OTc3ZjYyIDEwMDY0NAogICAgICAgIHJldHVybiAwOwogICAgICBkZWZh dWx0OgogICAgICAgIHJldHVybiAxOwotQEAgLTE2MDUsNiArMTYwNSw3IEBAIHZhbF9wcmludF9h cnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtMTYwNCw2ICsxNjA0LDcgQEAg dmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlwZSwKICB7CiAgICB1bnNp Z25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgdW5zaWduZWQgbGVuOwpAQCAtODc1NSw3 ICs4NzU1LDcgQEAgaW5kZXggNDJkYWNjNS4uNjk3N2Y2MiAxMDA2NDQKICAgIHN0cnVjdCB0eXBl ICplbHR0eXBlLCAqaW5kZXhfdHlwZTsKICAgIHVuc2lnbmVkIGVsdGxlbjsKICAgIC8qIFBvc2l0 aW9uIG9mIHRoZSBhcnJheSBlbGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi1AQCAtMTYx Myw5ICsxNjE0LDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5 cGUsCitAQCAtMTYxMiw5ICsxNjEzLDMzIEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3Ry dWN0IHR5cGUgKnR5cGUsCiAgICAvKiBOdW1iZXIgb2YgcmVwZXRpdGlvbnMgd2UgaGF2ZSBkZXRl Y3RlZCBzbyBmYXIuICAqLwogICAgdW5zaWduZWQgaW50IHJlcHM7CiAgICBMT05HRVNUIGxvd19i b3VuZCwgaGlnaF9ib3VuZDsKQEAgLTg3OTEsNyArODc5MSw3IEBAIGluZGV4IDQyZGFjYzUuLjY5 NzdmNjIgMTAwNjQ0CiAgICBpbmRleF90eXBlID0gVFlQRV9JTkRFWF9UWVBFICh0eXBlKTsKICAK ICAgIGlmIChnZXRfYXJyYXlfYm91bmRzICh0eXBlLCAmbG93X2JvdW5kLCAmaGlnaF9ib3VuZCkp Ci1AQCAtMTcwMiw2ICsxNzI3LDggQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwKK0BAIC0xNzAxLDYgKzE3MjYsOCBAQCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVu dHMgKHN0cnVjdCB0eXBlICp0eXBlLAogICAgICB7CiAgICAgICAgZnByaW50Zl9maWx0ZXJlZCAo c3RyZWFtLCAiLi4uIik7CiAgICAgIH0KQEAgLTg4MDEsNyArODgwMSw3IEBAIGluZGV4IDQyZGFj YzUuLjY5NzdmNjIgMTAwNjQ0CiAgCiAgLyogUmVhZCBMRU4gYnl0ZXMgb2YgdGFyZ2V0IG1lbW9y eSBhdCBhZGRyZXNzIE1FTUFERFIsIHBsYWNpbmcgdGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVl LmMgYi9nZGIvdmFsdWUuYwotaW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKK2luZGV4IDRi NzBlY2UuLjc0NDljMmEgMTAwNjQ0CiAtLS0gYS9nZGIvdmFsdWUuYwogKysrIGIvZ2RiL3ZhbHVl LmMKIEBAIC00Miw2ICs0Miw3IEBACkBAIC04ODEyLDcgKzg4MTIsNyBAQCBpbmRleCBlYzRiMDkw Li45NmEzMDhmIDEwMDY0NAogIAogIC8qIFByb3RvdHlwZXMgZm9yIGV4cG9ydGVkIGZ1bmN0aW9u cy4gICovCiAgCi1AQCAtMTQ0MCwxMiArMTQ0MSwxNSBAQCB2b2lkCitAQCAtMTQzNSwxMiArMTQz NiwxNSBAQCB2b2lkCiAgc2V0X3ZhbHVlX2NvbXBvbmVudF9sb2NhdGlvbiAoc3RydWN0IHZhbHVl ICpjb21wb25lbnQsCiAgCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICp3aG9sZSkKICB7CkBA IC04ODI4LDcgKzg4MjgsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0NAogICAgaWYg KHdob2xlLT5sdmFsID09IGx2YWxfY29tcHV0ZWQpCiAgICAgIHsKICAgICAgICBjb25zdCBzdHJ1 Y3QgbHZhbF9mdW5jcyAqZnVuY3MgPSB3aG9sZS0+bG9jYXRpb24uY29tcHV0ZWQuZnVuY3M7Ci1A QCAtMTQ1Myw2ICsxNDU3LDEyIEBAIHNldF92YWx1ZV9jb21wb25lbnRfbG9jYXRpb24gKHN0cnVj dCB2YWx1ZSAqY29tcG9uZW50LAorQEAgLTE0NDgsNiArMTQ1MiwxMiBAQCBzZXRfdmFsdWVfY29t cG9uZW50X2xvY2F0aW9uIChzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKICAgICAgICBpZiAoZnVu Y3MtPmNvcHlfY2xvc3VyZSkKICAgICAgICAgIGNvbXBvbmVudC0+bG9jYXRpb24uY29tcHV0ZWQu Y2xvc3VyZSA9IGZ1bmNzLT5jb3B5X2Nsb3N1cmUgKHdob2xlKTsKICAgICAgfQpAQCAtODg0MSw3 ICs4ODQxLDcgQEAgaW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKICB9CiAgCiAgDAotQEAg LTE1ODYsNiArMTU5NiwzMSBAQCBzaG93X3ZhbHVlcyAoY2hhciAqbnVtX2V4cCwgaW50IGZyb21f dHR5KQorQEAgLTE1ODEsNiArMTU5MSwzMSBAQCBzaG93X3ZhbHVlcyAoY2hhciAqbnVtX2V4cCwg aW50IGZyb21fdHR5KQogICAgICAgIG51bV9leHBbMV0gPSAnXDAnOwogICAgICB9CiAgfQpAQCAt ODg3Myw3ICs4ODczLDcgQEAgaW5kZXggZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKICAMCiAgLyog SW50ZXJuYWwgdmFyaWFibGVzLiAgVGhlc2UgYXJlIHZhcmlhYmxlcyB3aXRoaW4gdGhlIGRlYnVn Z2VyCiAgICAgdGhhdCBob2xkIHZhbHVlcyBhc3NpZ25lZCBieSBkZWJ1Z2dlciBjb21tYW5kcy4K LUBAIC0yMTIxLDYgKzIxNTYsMzggQEAgY2FsbF9pbnRlcm5hbF9mdW5jdGlvbiAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCitAQCAtMjExNiw2ICsyMTUxLDM4IEBAIGNhbGxfaW50ZXJuYWxfZnVu Y3Rpb24gKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAogICAgcmV0dXJuICgqaWZuLT5oYW5kbGVy KSAoZ2RiYXJjaCwgbGFuZ3VhZ2UsIGlmbi0+Y29va2llLCBhcmdjLCBhcmd2KTsKICB9CiAgCkBA IC04OTEyLDcgKzg5MTIsNyBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEwMDY0NAogIC8qIFRo ZSAnZnVuY3Rpb24nIGNvbW1hbmQuICBUaGlzIGRvZXMgbm90aGluZyAtLSBpdCBpcyBqdXN0IGEK ICAgICBwbGFjZWhvbGRlciB0byBsZXQgImhlbHAgZnVuY3Rpb24gTkFNRSIgd29yay4gIFRoaXMg aXMgYWxzbyB1c2VkIGFzCiAgICAgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBzdWItY29tbWFu ZCB0aGF0IGlzIGNyZWF0ZWQgd2hlbgotQEAgLTIxNjgsMTEgKzIyMzUsMTAgQEAgcHJlc2VydmVf b25lX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwK K0BAIC0yMTYzLDExICsyMjMwLDEwIEBAIHByZXNlcnZlX29uZV92YWx1ZSAoc3RydWN0IHZhbHVl ICp2YWx1ZSwgc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCQkgICAgaHRhYl90IGNvcGllZF90 eXBlcykKICB7CiAgICBpZiAoVFlQRV9PQkpGSUxFICh2YWx1ZS0+dHlwZSkgPT0gb2JqZmlsZSkK QEAgLTg5MjYsNyArODkyNiw3IEBAIGluZGV4IGVjNGIwOTAuLjk2YTMwOGYgMTAwNjQ0CiAgCQkJ CQkJIGNvcGllZF90eXBlcyk7CiAgfQogIAotQEAgLTIxODcsNyArMjI1Myw3IEBAIHByZXNlcnZl X29uZV9pbnRlcm5hbHZhciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlLAorQEAgLTIxODIsNyArMjI0OCw3IEBAIHByZXNlcnZlX29uZV9pbnRlcm5hbHZh ciAoc3RydWN0IGludGVybmFsdmFyICp2YXIsIHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAogICAg ICBjYXNlIElOVEVSTkFMVkFSX0lOVEVHRVI6CiAgICAgICAgaWYgKHZhci0+dS5pbnRlZ2VyLnR5 cGUgJiYgVFlQRV9PQkpGSUxFICh2YXItPnUuaW50ZWdlci50eXBlKSA9PSBvYmpmaWxlKQogIAl2 YXItPnUuaW50ZWdlci50eXBlCkBAIC04OTM1LDcgKzg5MzUsNyBAQCBpbmRleCBlYzRiMDkwLi45 NmEzMDhmIDEwMDY0NAogICAgICAgIGJyZWFrOwogIAogICAgICBjYXNlIElOVEVSTkFMVkFSX1ZB TFVFOgotQEAgLTMyODUsMTAgKzMzNTEsMjcgQEAgcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlw ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKmVuY190eXBlLAorQEAgLTMyODAs MTAgKzMzNDYsMjcgQEAgcmVhZGp1c3RfaW5kaXJlY3RfdmFsdWVfdHlwZSAoc3RydWN0IHZhbHVl ICp2YWx1ZSwgc3RydWN0IHR5cGUgKmVuY190eXBlLAogIHN0cnVjdCB2YWx1ZSAqCiAgY29lcmNl X3JlZiAoc3RydWN0IHZhbHVlICphcmcpCiAgewpAQCAtODk2NCw3ICs4OTY0LDcgQEAgaW5kZXgg ZWM0YjA5MC4uOTZhMzA4ZiAxMDA2NDQKICAgIHJldHZhbCA9IGNvZXJjZV9yZWZfaWZfY29tcHV0 ZWQgKGFyZyk7CiAgICBpZiAocmV0dmFsKQogICAgICByZXR1cm4gcmV0dmFsOwotQEAgLTM0MDAs NCArMzQ4MywxMCBAQCBWQVJJQUJMRSBpcyBhbHJlYWR5IGluaXRpYWxpemVkLiIpKTsKK0BAIC0z NDA1LDQgKzM0ODgsMTAgQEAgVkFSSUFCTEUgaXMgYWxyZWFkeSBpbml0aWFsaXplZC4iKSk7CiAg ICBhZGRfcHJlZml4X2NtZCAoImZ1bmN0aW9uIiwgbm9fY2xhc3MsIGZ1bmN0aW9uX2NvbW1hbmQs IF8oIlwKICBQbGFjZWhvbGRlciBjb21tYW5kIGZvciBzaG93aW5nIGhlbHAgb24gY29udmVuaWVu Y2UgZnVuY3Rpb25zLiIpLAogIAkJICAmZnVuY3Rpb25saXN0LCAiZnVuY3Rpb24gIiwgMCwgJmNt ZGxpc3QpOwpAQCAtODk3NiwxMCArODk3NiwxMCBAQCBpbmRleCBlYzRiMDkwLi45NmEzMDhmIDEw MDY0NAogKyNlbmRpZgogIH0KIGRpZmYgLS1naXQgYS9nZGIvdmFsdWUuaCBiL2dkYi92YWx1ZS5o Ci1pbmRleCA2N2YxZDA0Li4yZDJiODMwIDEwMDY0NAoraW5kZXggYzEwYzNlYy4uOGQwNzM0OCAx MDA2NDQKIC0tLSBhL2dkYi92YWx1ZS5oCiArKysgYi9nZGIvdmFsdWUuaAotQEAgLTUzMyw2ICs1 MzMsMTAgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfZnJvbV9kZWNmbG9hdCAoc3RydWN0 IHR5cGUgKnR5cGUsCitAQCAtNTM3LDYgKzUzNywxMCBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2 YWx1ZV9mcm9tX2RlY2Zsb2F0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkJCSAgY29uc3QgZ2Ri X2J5dGUgKmRlY2J5dGVzKTsKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9mcm9tX2hpc3Rv cnlfcmVmIChjaGFyICosIGNoYXIgKiopOwogIAoKZGlmZiAtLWdpdCBhL2dkYi1hdHRhY2gtZmFp bC1yZWFzb25zLTVvZjUucGF0Y2ggYi9nZGItYXR0YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNo CmluZGV4IDc3MzQ1N2UuLmE5OGUyNTYgMTAwNjQ0Ci0tLSBhL2dkYi1hdHRhY2gtZmFpbC1yZWFz b25zLTVvZjUucGF0Y2gKKysrIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaApA QCAtMzcsMTAgKzM3LDEwIEBAIGdkYi9nZGJzZXJ2ZXIvCiAJKGxpbnV4X2NyZWF0ZV9pbmZlcmlv ciwgbGludXhfdHJhY2Vmb3JrX2NoaWxkKTogQ2FsbCBpdCBpbnN0ZWFkIG9mCiAJZGlyZWN0IHB0 cmFjZS4KIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbW1vbi9saW51eC1wdHJh Y2UuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2Uu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvY29tbW9uL2xp bnV4LXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6MTg6NDcuMzEzMzYwMDY1ICswMTAwCi0rKysgZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6 MTk6MjcuMjY5NDE3MDUxICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9j b21tb24vbGludXgtcHRyYWNlLmMJMjAxMy0wMS0wOCAyMDozODo1MS4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb21tb24vbGludXgtcHRyYWNlLmMJMjAxMy0w Mi0xNSAyMjozODowNS43ODI0NTYyNzkgKzAxMDAKIEBAIC0yOSw2ICsyOSwxMCBAQAogICNpbmNs dWRlICJnZGJfYXNzZXJ0LmgiCiAgI2luY2x1ZGUgImdkYl93YWl0LmgiCkBAIC04MSwxMCArODEs MTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2Uu YwogKwkJCSAiKGdkYikgc2hlbGwgc3VkbyBzZXRzZWJvb2wgZGVueV9wdHJhY2U9MCIpKTsKICsj ZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYICovCiArfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2NvbW1vbi9saW51eC1wdHJhY2UuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL2NvbW1vbi9saW51eC1wdHJhY2UuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvY29tbW9uL2xpbnV4LXB0cmFjZS5oCTIwMTMtMDEtMTggMjM6MTg6NDcu MzEzMzYwMDY1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY29tbW9uL2xpbnV4 LXB0cmFjZS5oCTIwMTMtMDEtMTggMjM6MTk6MDQuOTkwMzg1MzYwICswMTAwCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jb21tb24vbGludXgtcHRyYWNlLmgJMjAxMy0wMS0wMSAw NzozMjo1NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb21t b24vbGludXgtcHRyYWNlLmgJMjAxMy0wMi0xNSAyMjozODowNS43ODI0NTYyNzkgKzAxMDAKIEBA IC02OSw1ICs2OSw2IEBAIHN0cnVjdCBidWZmZXI7CiAgCiAgZXh0ZXJuIHZvaWQgbGludXhfcHRy YWNlX2F0dGFjaF93YXJuaW5ncyAocGlkX3QgcGlkLCBzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOwpA QCAtOTIsMTAgKzkyLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jb21tb24v bGludXgtcHRyYWNlLmgKICtleHRlcm4gdm9pZCBsaW51eF9wdHJhY2VfY3JlYXRlX3dhcm5pbmdz IChzdHJ1Y3QgYnVmZmVyICpidWZmZXIpOwogIAogICNlbmRpZiAvKiBDT01NT05fTElOVVhfUFRS QUNFX0ggKi8KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jb25maWd1cmUuYWMKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9jb25maWd1cmUuYWMKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDIz OjE4OjQ3LjMxNTM2MDA2OSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NvbmZp Z3VyZS5hYwkyMDEzLTAxLTE4IDIzOjE5OjA0Ljk5MTM4NTM2MiArMDEwMAorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvY29uZmlndXJlLmFjCTIwMTMtMDItMTUgMjI6Mzc6NTcuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY29uZmlndXJlLmFjCTIw MTMtMDItMTUgMjI6Mzg6MDUuNzgzNDU2MjgxICswMTAwCiBAQCAtMjA2OCw2ICsyMDY4LDEwIEBA IHRoZW4KICAJICAgICAgW0RlZmluZSBpZiB5b3Ugc3VwcG9ydCB0aGUgcGVyc29uYWxpdHkgc3lz Y2FsbC5dKQogIGZpCkBAIC0xMDcsMTAgKzEwNywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvY29uZmlndXJlLmFjCiAgZG5sIEhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyB0aGF0 IGNhbiBiZSBlbmFibGVkLgogIAogICMgU3VwcG9ydCBmb3IgLS13aXRoLXN5c3Jvb3QgaXMgYSBj b3B5IG9mIEdEQl9BQ19XSVRIX0RJUiwKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9n ZGJzZXJ2ZXIvY29uZmlndXJlLmFjCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ2Ri c2VydmVyL2NvbmZpZ3VyZS5hYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwkyMDEzLTAxLTE4IDIzOjE4OjQ3LjMxNTM2 MDA2OSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9jb25maWd1 cmUuYWMJMjAxMy0wMS0xOCAyMzoxOTowNC45OTEzODUzNjIgKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMjE1Lm9yaWcvZ2RiL2dkYnNlcnZlci9jb25maWd1cmUuYWMJMjAxMy0wMS0wMSAwNzoz MzowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJzZXJ2 ZXIvY29uZmlndXJlLmFjCTIwMTMtMDItMTUgMjI6Mzg6MDUuNzgzNDU2MjgxICswMTAwCiBAQCAt NDUxLDYgKzQ1MSwxMCBAQCBpZiAkd2FudF9pcGEgOyB0aGVuCiAgICAgZmkKICBmaQpAQCAtMTIy LDExICsxMjIsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNlcnZlci9j b25maWd1cmUuYWMKICBBQ19TVUJTVChHREJTRVJWRVJfREVQRklMRVMpCiAgQUNfU1VCU1QoR0RC U0VSVkVSX0xJQlMpCiAgQUNfU1VCU1QoVVNFX1RIUkVBRF9EQikKLUluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2dkYnNlcnZlci9saW51eC1sb3cuYwkyMDEzLTAxLTE4IDIz OjE4OjQ3LjMxNzM2MDA3MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNl cnZlci9saW51eC1sb3cuYwkyMDEzLTAxLTE4IDIzOjE5OjA0Ljk5MzM4NTM2NiArMDEwMAotQEAg LTYwMSw2ICs2MDEsMjggQEAgYWRkX2x3cCAocHRpZF90IHB0aWQpCistLS0gZ2RiLTcuNS41MC4y MDEzMDIxNS5vcmlnL2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMJMjAxMy0wMi0wNCAxODo0Nzow MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJzZXJ2ZXIv bGludXgtbG93LmMJMjAxMy0wMi0xNSAyMjozOTo1NC4yNTY1OTEwNjkgKzAxMDAKK0BAIC02MDIs NiArNjAyLDI5IEBAIGFkZF9sd3AgKHB0aWRfdCBwdGlkKQogICAgcmV0dXJuIGx3cDsKICB9CiAg CkBAIC0xMzksNyArMTM5LDggQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnNl cnZlci9saW51eC1sb3cuYwogKyAgc3RydWN0IGJ1ZmZlciBidWZmZXI7CiArCiArICBlcnJubyA9 IDA7Ci0rICBpZiAocHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgTlVMTCwgTlVMTCkgPT0gMCkK KysgIGlmIChwdHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLAorKwkgICAgICAoUFRSQUNFX0FSRzNf VFlQRSkgMCwgKFBUUkFDRV9BUkc0X1RZUEUpIDApID09IDApCiArICAgIHJldHVybjsKICsKICsg IHNhdmVfZXJybm8gPSBlcnJubzsKQEAgLTE1NSwyOCArMTU2LDI4IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9nZGJzZXJ2ZXIvbGludXgtbG93LmMKICAvKiBTdGFydCBhbiBpbmZl cmlvciBwcm9jZXNzIGFuZCByZXR1cm5zIGl0cyBwaWQuCiAgICAgQUxMQVJHUyBpcyBhIHZlY3Rv ciBvZiBwcm9ncmFtLW5hbWUgYW5kIGFyZ3MuICovCiAgCi1AQCAtNjQxLDcgKzY2Myw3IEBAIGxp bnV4X2NyZWF0ZV9pbmZlcmlvciAoY2hhciAqcHJvZ3JhbSwgY2gKK0BAIC02NDIsNyArNjY1LDcg QEAgbGludXhfY3JlYXRlX2luZmVyaW9yIChjaGFyICpwcm9ncmFtLCBjaAogIAogICAgaWYgKHBp ZCA9PSAwKQogICAgICB7Ci0tICAgICAgcHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgMCwgMCk7 CistICAgICAgcHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgKFBUUkFDRV9BUkczX1RZUEUpIDAs IChQVFJBQ0VfQVJHNF9UWVBFKSAwKTsKICsgICAgICBsaW51eF90cmFjZW1lIChwcm9ncmFtKTsK ICAKICAjaWZuZGVmIF9fQU5EUk9JRF9fIC8qIEJpb25pYyBkb2Vzbid0IHVzZSBTSUdSVE1JTiB0 aGUgd2F5IGdsaWJjIGRvZXMuICAqLwogICAgICAgIHNpZ25hbCAoX19TSUdSVE1JTiArIDEsIFNJ R19ERkwpOwotQEAgLTQ1NzQsNyArNDU5Niw3IEBAIGxpbnV4X3RyYWNlZm9ya19ncmFuZGNoaWxk ICh2b2lkICphcmcpCitAQCAtNDU4Nyw3ICs0NjEwLDcgQEAgbGludXhfdHJhY2Vmb3JrX2dyYW5k Y2hpbGQgKHZvaWQgKmFyZykKICBzdGF0aWMgaW50CiAgbGludXhfdHJhY2Vmb3JrX2NoaWxkICh2 b2lkICphcmcpCiAgewotLSAgcHRyYWNlIChQVFJBQ0VfVFJBQ0VNRSwgMCwgMCwgMCk7CistICBw dHJhY2UgKFBUUkFDRV9UUkFDRU1FLCAwLCAoUFRSQUNFX0FSRzNfVFlQRSkgMCwgKFBUUkFDRV9B Ukc0X1RZUEUpIDApOwogKyAgbGludXhfdHJhY2VtZSAoIlBUUkFDRV9PX1RSQUNFRk9SSyB0ZXN0 Iik7CiAgICBraWxsIChnZXRwaWQgKCksIFNJR1NUT1ApOwogIAogICNpZiAhKGRlZmluZWQoX19V Q0xJQkNfXykgJiYgZGVmaW5lZChIQVNfTk9NTVUpKQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2luZi1wdHJhY2UuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZi1w dHJhY2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvaW5m LXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6MTg6NDcuMzE4MzYwMDc2ICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvaW5mLXB0cmFjZS5jCTIwMTMtMDEtMTggMjM6MTk6MDQuOTkzMzg1 MzY2ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9pbmYtcHRyYWNlLmMJ MjAxMy0wMS0wMSAwNzozMjo0NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9pbmYtcHRyYWNlLmMJMjAxMy0wMi0xNSAyMjozODowNS43ODY0NTYyODkgKzAxMDAK IEBAIC0xMDQsNyArMTA0LDE1IEBAIHN0YXRpYyB2b2lkCiAgaW5mX3B0cmFjZV9tZSAodm9pZCkK ICB7CkBAIC0xOTMsMTEgKzE5NCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv aW5mLXB0cmFjZS5jCiAgfQogIAogIC8qIFN0YXJ0IGEgbmV3IGluZmVyaW9yIFVuaXggY2hpbGQg cHJvY2Vzcy4gIEVYRUNfRklMRSBpcyB0aGUgZmlsZSB0bwotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2xpbnV4LW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGlu dXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2xp bnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6MTg6NDcuMzIwMzYwMDgzICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvbGludXgtbmF0LmMJMjAxMy0wMS0xOCAyMzoxOTowNC45OTQzODUz NjkgKzAxMDAKLUBAIC0xNTc4LDYgKzE1NzgsNyBAQCBsaW51eF9uYXRfY3JlYXRlX2luZmVyaW9y IChzdHJ1Y3QgdGFyZ2V0CistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9saW51eC1u YXQuYwkyMDEzLTAyLTE1IDIyOjM0OjQ0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL2xpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6Mzg6MDUuNzg3NDU2MjkxICsw MTAwCitAQCAtMTU1Nyw2ICsxNTU3LDcgQEAgbGludXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3Ry dWN0IHRhcmdldAogICNpZmRlZiBIQVZFX1BFUlNPTkFMSVRZCiAgICBpbnQgcGVyc29uYWxpdHlf b3JpZyA9IDAsIHBlcnNvbmFsaXR5X3NldCA9IDA7CiAgI2VuZGlmIC8qIEhBVkVfUEVSU09OQUxJ VFkgKi8KQEAgLTIwNSw3ICsyMDYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv bGludXgtbmF0LmMKICAKICAgIC8qIFRoZSBmb3JrX2NoaWxkIG1lY2hhbmlzbSBpcyBzeW5jaHJv bm91cyBhbmQgY2FsbHMgdGFyZ2V0X3dhaXQsIHNvCiAgICAgICB3ZSBoYXZlIHRvIG1hc2sgdGhl IGFzeW5jIG1vZGUuICAqLwotQEAgLTE2MDIsNyArMTYwMywxMCBAQCBsaW51eF9uYXRfY3JlYXRl X2luZmVyaW9yIChzdHJ1Y3QgdGFyZ2V0CitAQCAtMTU4MSw3ICsxNTgyLDEwIEBAIGxpbnV4X25h dF9jcmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKICAgIC8qIE1ha2Ugc3VyZSB3ZSByZXBv cnQgYWxsIHNpZ25hbHMgZHVyaW5nIHN0YXJ0dXAuICAqLwogICAgbGludXhfbmF0X3Bhc3Nfc2ln bmFscyAoMCwgTlVMTCk7CiAgCkBAIC0yMTcsNyArMjE4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgI2lmZGVmIEhBVkVfUEVSU09OQUxJVFkKICAg IGlmIChwZXJzb25hbGl0eV9zZXQpCi1AQCAtMTYxNCw2ICsxNjE4LDI0IEBAIGxpbnV4X25hdF9j cmVhdGVfaW5mZXJpb3IgKHN0cnVjdCB0YXJnZXQKK0BAIC0xNTkzLDYgKzE1OTcsMjQgQEAgbGlu dXhfbmF0X2NyZWF0ZV9pbmZlcmlvciAoc3RydWN0IHRhcmdldAogIAkJIHNhZmVfc3RyZXJyb3Ig KGVycm5vKSk7CiAgICAgIH0KICAjZW5kaWYgLyogSEFWRV9QRVJTT05BTElUWSAqLwoKZGlmZiAt LWdpdCBhL2dkYi1jb21tb25ibG9jay1waWUucGF0Y2ggYi9nZGItY29tbW9uYmxvY2stcGllLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyMTlhOTczLi4wMDAwMDAwCi0tLSBh L2dkYi1jb21tb25ibG9jay1waWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5OSArMCwwIEBA Ci1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0wMS9tc2cwMDQ2OS5o dG1sCi1TdWJqZWN0OiBbcGF0Y2hdIEZpeCBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGNy YXNoIGluIFBJRSBtb2RlCi0KLUhpIFRvbSwKLQotcnVudGVzdCBGOTBfRk9SX1RBUkdFVD0iZ2Zv cnRyYW4gLWZQSUUgLXBpZSIgZ2RiLmZvcnRyYW4vY29tbW9uLWJsb2NrLmV4cAotCi1jcmFzaGVz IEdEQiBhcyBmdW5jdGlvbiByZWxvY2F0ZV9vbmVfc3ltYm9sCi0JaWYgKChTWU1CT0xfQ0xBU1Mg KHN5bSkgPT0gTE9DX0xBQkVMCi0JICAgICB8fCBTWU1CT0xfQ0xBU1MgKHN5bSkgPT0gTE9DX1NU QVRJQykKLQkgICAgJiYgU1lNQk9MX1NFQ1RJT04gKHN5bSkgPj0gMCkKLQkgIFNZTUJPTF9WQUxV RV9BRERSRVNTIChzeW0pICs9IEFOT0ZGU0VUIChkZWx0YSwgU1lNQk9MX1NFQ1RJT04gKHN5bSkp OwotY29ycnVwdHMgU1lNQk9MX1ZBTFVFX0NPTU1PTl9CTE9DSwotCXN0cnVjdCBjb21tb25fYmxv Y2sgKmNvbW1vbl9ibG9jazsKLWFzIGl0IHRoaW5rcyBpdCBjYW4gdXBkYXRlIGl0IGxpa2UgU1lN Qk9MX1ZBTFVFX0FERFJFU1MKLQlDT1JFX0FERFIgYWRkcmVzczsKLWR1ZSB0byBpdHMgTE9DX1NU QVRJQy4KLQotTm8gcmVncmVzc2lvbnMgb24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9y YTE4LWxpbnV4LWdudSBhbmQgaW4gUElFIG1vZGUuCi0KLQotVGhhbmtzLAotSmFuCi0KLQotZ2Ri LwotMjAxMy0wMS0xOSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PgotCi0JRml4IGdkYi5mb3J0cmFuL2NvbW1vbi1ibG9jay5leHAgY3Jhc2ggaW4gUElFIG1vZGUu Ci0JKiBkd2FyZjJyZWFkLmMgKG5ld19zeW1ib2xfZnVsbCkgPERXX1RBR19jb21tb25fYmxvY2s+ OiBVc2UKLQlMT0NfQ09NTU9OX0JMT0NLLgotCSogZi12YWxwcmludC5jIChpbmZvX2NvbW1vbl9j b21tYW5kX2Zvcl9ibG9jayk6IEV4cGVjdAotCUxPQ19DT01NT05fQkxPQ0sgaW4gZ2RiX2Fzc2Vy dC4KLQkqIHN5bXRhYi5oIChzdHJ1Y3QgZ2VuZXJhbF9zeW1ib2xfaW5mbyk6IFVwZGF0ZSBjb21t ZW50IGZvciB0aGUKLQljb21tb25fYmxvY2sgbWVtYmVyLgotCShkb21haW5fZW51bSk6IEV4dGVu ZCBjb21tZW50IGZvciB0aGUgQ09NTU9OX0JMT0NLX0RPTUFJTiBtZW1iZXIuCi0JKGVudW0gYWRk cmVzc19jbGFzcyk6IE5ldyBtZW1iZXIgTE9DX0NPTU1PTl9CTE9DSy4KLQotZGlmZiAtLWdpdCBh L2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCi1pbmRleCA3YTU4YzQ1Li4zNjRl NmFmIDEwMDY0NAotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysrIGIvZ2RiL2R3YXJmMnJlYWQu YwotQEAgLTE2MDcxLDcgKzE2MDcxLDcgQEAgbmV3X3N5bWJvbF9mdWxsIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1LAotIAkgIGxp c3RfdG9fYWRkID0gJmdsb2JhbF9zeW1ib2xzOwotIAkgIGJyZWFrOwotIAljYXNlIERXX1RBR19j b21tb25fYmxvY2s6Ci0tCSAgU1lNQk9MX0NMQVNTIChzeW0pID0gTE9DX1NUQVRJQzsKLSsJICBT WU1CT0xfQ0xBU1MgKHN5bSkgPSBMT0NfQ09NTU9OX0JMT0NLOwotIAkgIFNZTUJPTF9ET01BSU4g KHN5bSkgPSBDT01NT05fQkxPQ0tfRE9NQUlOOwotIAkgIGFkZF9zeW1ib2xfdG9fbGlzdCAoc3lt LCBjdS0+bGlzdF9pbl9zY29wZSk7Ci0gCSAgYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2YtdmFs cHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKLWluZGV4IDIyY2NhODMuLmQwMWQ2ZWMgMTAwNjQ0 Ci0tLS0gYS9nZGIvZi12YWxwcmludC5jCi0rKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtNDI3 LDcgKzQyNyw3IEBAIGluZm9fY29tbW9uX2NvbW1hbmRfZm9yX2Jsb2NrIChzdHJ1Y3QgYmxvY2sg KmJsb2NrLCBjb25zdCBjaGFyICpjb21uYW1lLAotIAlzdHJ1Y3QgY29tbW9uX2Jsb2NrICpjb21t b24gPSBTWU1CT0xfVkFMVUVfQ09NTU9OX0JMT0NLIChzeW0pOwotIAlzaXplX3QgaW5kZXg7Ci0g Ci0tCWdkYl9hc3NlcnQgKFNZTUJPTF9DTEFTUyAoc3ltKSA9PSBMT0NfU1RBVElDKTsKLSsJZ2Ri X2Fzc2VydCAoU1lNQk9MX0NMQVNTIChzeW0pID09IExPQ19DT01NT05fQkxPQ0spOwotIAotIAlp ZiAoY29tbmFtZSAmJiAoIVNZTUJPTF9MSU5LQUdFX05BTUUgKHN5bSkKLSAJICAgICAgICAgICAg ICAgIHx8IHN0cmNtcCAoY29tbmFtZSwgU1lNQk9MX0xJTktBR0VfTkFNRSAoc3ltKSkgIT0gMCkp Ci1kaWZmIC0tZ2l0IGEvZ2RiL3N5bXRhYi5oIGIvZ2RiL3N5bXRhYi5oCi1pbmRleCBjMzM0YTNh Li5iOTkyMjY2IDEwMDY0NAotLS0tIGEvZ2RiL3N5bXRhYi5oCi0rKysgYi9nZGIvc3ltdGFiLmgK LUBAIC0xMjAsNyArMTIwLDcgQEAgc3RydWN0IGdlbmVyYWxfc3ltYm9sX2luZm8KLSAKLSAgICAg Q09SRV9BRERSIGFkZHJlc3M7Ci0gCi0tICAgIC8qIEEgY29tbW9uIGJsb2NrLiAgVXNlZCB3aXRo IENPTU1PTl9CTE9DS19ET01BSU4uICAqLwotKyAgICAvKiBBIGNvbW1vbiBibG9jay4gIFVzZWQg d2l0aCBMT0NfQ09NTU9OX0JMT0NLLiAgKi8KLSAKLSAgICAgc3RydWN0IGNvbW1vbl9ibG9jayAq Y29tbW9uX2Jsb2NrOwotIAotQEAgLTQxNCw3ICs0MTQsOCBAQCB0eXBlZGVmIGVudW0gZG9tYWlu X2VudW1fdGFnCi0gCi0gICBMQUJFTF9ET01BSU4sCi0gCi0tICAvKiBGb3J0cmFuIGNvbW1vbiBi bG9ja3MuICBUaGVpciBuYW1pbmcgbXVzdCBiZSBzZXBhcmF0ZSBmcm9tIFZBUl9ET01BSU4uICAq LwotKyAgLyogRm9ydHJhbiBjb21tb24gYmxvY2tzLiAgVGhlaXIgbmFtaW5nIG11c3QgYmUgc2Vw YXJhdGUgZnJvbSBWQVJfRE9NQUlOLgotKyAgICAgVGhleSBhbHNvIGFsd2F5cyB1c2UgTE9DX0NP TU1PTl9CTE9DSy4gICovCi0gICBDT01NT05fQkxPQ0tfRE9NQUlOCi0gfSBkb21haW5fZW51bTsK LSAKLUBAIC01MzMsNiArNTM0LDEwIEBAIGVudW0gYWRkcmVzc19jbGFzcwotICAgLyogVGhlIHZh cmlhYmxlJ3MgYWRkcmVzcyBpcyBjb21wdXRlZCBieSBhIHNldCBvZiBsb2NhdGlvbgotICAgICAg ZnVuY3Rpb25zIChzZWUgInN0cnVjdCBzeW1ib2xfY29tcHV0ZWRfb3BzIiBiZWxvdykuICAqLwot ICAgTE9DX0NPTVBVVEVELAotKwotKyAgLyogVGhlIHZhcmlhYmxlIHVzZXMgZ2VuZXJhbF9zeW1i b2xfaW5mby0+dmFsdWUtPmNvbW1vbl9ibG9jayBmaWVsZC4KLSsgICAgIEl0IGFsc28gYWx3YXlz IHVzZXMgQ09NTU9OX0JMT0NLX0RPTUFJTi4gICovCi0rICBMT0NfQ09NTU9OX0JMT0NLLAotIH07 Ci0gCi0gLyogVGhlIG1ldGhvZHMgbmVlZGVkIHRvIGltcGxlbWVudCBMT0NfQ09NUFVURUQuICBU aGVzZSBtZXRob2RzIGNhbgotCgpkaWZmIC0tZ2l0IGEvZ2RiLWRsb3Blbi1zdGFwLXByb2JlLTZv ZjcucGF0Y2ggYi9nZGItZGxvcGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaAppbmRleCBhZjQ0MzA1 Li5hY2E0YmZkIDEwMDY0NAotLS0gYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaAor KysgYi9nZGItZGxvcGVuLXN0YXAtcHJvYmUtNm9mNy5wYXRjaApAQCAtODEsMjQgKzgxLDI0IEBA IGdkYi90ZXN0c3VpdGUKIAkqIGdkYi5iYXNlL2JyZWFrLWRsbW9wZW4uYzogTGlrZXdpc2UuCiAJ KiBnZGIuYmFzZS9icmVhay1kbG1vcGVuLXNvbGliLmM6IExpa2V3aXNlLgogCi1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvYnJlYWtwb2ludC5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMS0xOCAy Mzo1Nzo1MC41MTE3OTI4OTAgKzAxMDAKLUBAIC0xNTQ4LDggKzE1NDgsNiBAQCBleHRlcm4gaW50 IHVzZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJlCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjozNzoxOS4wMDAwMDAwMDAgKzAxMDAK KysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjoz Nzo0Ny4xODU0MzIyOTYgKzAxMDAKK0BAIC0xNTUyLDggKzE1NTIsNiBAQCBleHRlcm4gaW50IHVz ZXJfYnJlYWtwb2ludF9wIChzdHJ1Y3QgYnJlCiAgLyogQXR0ZW1wdCB0byBkZXRlcm1pbmUgYXJj aGl0ZWN0dXJlIG9mIGxvY2F0aW9uIGlkZW50aWZpZWQgYnkgU0FMLiAgKi8KICBleHRlcm4gc3Ry dWN0IGdkYmFyY2ggKmdldF9zYWxfYXJjaCAoc3RydWN0IHN5bXRhYl9hbmRfbGluZSBzYWwpOwog IAogLWV4dGVybiB2b2lkIGhhbmRsZV9zb2xpYl9ldmVudCAodm9pZCk7CiAtCi0gZXh0ZXJuIHZv aWQgYnJlYWtwb2ludHNfcmVsb2NhdGUgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlLAotIAkJCQkg IHN0cnVjdCBzZWN0aW9uX29mZnNldHMgKmRlbHRhKTsKKyBleHRlcm4gdm9pZCBicmVha3BvaW50 X2ZyZWVfb2JqZmlsZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwogIAotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYworIGV4dGVybiB2b2lkIGJyZWFrcG9pbnRz X3JlbG9jYXRlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9icmVha3BvaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4IDIzOjU3OjE0Ljc4Mjk3ODQ4NSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4 IDIzOjU3OjUwLjUxNDc5Mjg3OSArMDEwMAotQEAgLTUyNTQsNyArNTI1NCw3IEBAIGJwc3RhdF9z dG9wX3N0YXR1cyAoc3RydWN0IGFkZHJlc3Nfc3BhY2UKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIyOjM3OjMwLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIy OjM3OjM1Ljc1NTQxNzU4NCArMDEwMAorQEAgLTUyNTAsNyArNTI1MCw3IEBAIGJwc3RhdF9zdG9w X3N0YXR1cyAoc3RydWN0IGFkZHJlc3Nfc3BhY2UKICAgICAgewogICAgICAgIGlmIChicy0+YnJl YWtwb2ludF9hdCAmJiBicy0+YnJlYWtwb2ludF9hdC0+dHlwZSA9PSBicF9zaGxpYl9ldmVudCkK ICAJewpAQCAtMTA3LDcgKzEwNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9i cmVha3BvaW50LmMKICAJICBicmVhazsKICAJfQogICAgICB9Ci1AQCAtNTM1MCwyNSArNTM1MCw2 IEBAIGhhbmRsZV9qaXRfZXZlbnQgKHZvaWQpCitAQCAtNTM0NiwyNSArNTM0Niw2IEBAIGhhbmRs ZV9qaXRfZXZlbnQgKHZvaWQpCiAgICB0YXJnZXRfdGVybWluYWxfaW5mZXJpb3IgKCk7CiAgfQog IApAQCAtMTMzLDEwICsxMzMsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2Jy ZWFrcG9pbnQuYwogIC8qIFByZXBhcmUgV0hBVCBmaW5hbCBkZWNpc2lvbiBmb3IgaW5mcnVuLiAg Ki8KICAKICAvKiBEZWNpZGUgd2hhdCBpbmZydW4gbmVlZHMgdG8gZG8gd2l0aCB0aGlzIGJwc3Rh dC4gICovCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIuaAorSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUw LjIwMTMwMTE4Lm9yaWcvZ2RiL3NvbGliLmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUg KzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi5oCTIwMTMtMDEtMTggMjM6 NTc6NTAuNTE1NzkyODc1ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9z b2xpYi5oCTIwMTMtMDEtMDEgMDc6MzI6NTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvc29saWIuaAkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc1NzQxNzU4OCArMDEw MAogQEAgLTIwLDYgKzIwLDkgQEAKICAjaWZuZGVmIFNPTElCX0gKICAjZGVmaW5lIFNPTElCX0gK QEAgLTE2MywxMCArMTYzLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xp Yi5oCiArZXh0ZXJuIHZvaWQgdXBkYXRlX3NvbGliX2JyZWFrcG9pbnRzICh2b2lkKTsKICsKICAj ZW5kaWYgLyogU09MSUJfSCAqLwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGli LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zb2xpYi5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9zb2xpYi5jCTIwMTMtMDEtMTggMjM6NTc6 MTQuNzgyOTc4NDg1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIuYwky MDEzLTAxLTE4IDIzOjU4OjA5LjE0NDcxNjYwMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAy MTUub3JpZy9nZGIvc29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLmMJMjAxMy0wMi0xNSAyMjozNzozNS43 NTc0MTc1ODggKzAxMDAKIEBAIC0xMjIxLDYgKzEyMjEsNDIgQEAgbm9fc2hhcmVkX2xpYnJhcmll cyAoY2hhciAqaWdub3JlZCwgaW50CiAgICBvYmpmaWxlX3B1cmdlX3NvbGlicyAoKTsKICB9CkBA IC0yMTAsMTAgKzIxMCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWIu YwogIC8qIFJlbG9hZCBzaGFyZWQgbGlicmFyaWVzLCBidXQgYXZvaWQgcmVsb2FkaW5nIHRoZSBz YW1lIHN5bWJvbCBmaWxlCiAgICAgd2UgYWxyZWFkeSBoYXZlIGxvYWRlZC4gICovCiAgCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saXN0LmgKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9zb2xpc3QuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvc29saXN0LmgJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpc3QuaAkyMDEzLTAxLTE4IDIzOjU3OjUwLjUx NTc5Mjg3NSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvc29saXN0LmgJ MjAxMy0wMS0wMSAwNzozMjo1MS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9zb2xpc3QuaAkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc1ODQxNzU5MCArMDEwMAogQEAg LTIyLDYgKzIyLDggQEAKICAjZGVmaW5lIFNPX05BTUVfTUFYX1BBVEhfU0laRSA1MTIJLyogRklY TUU6IFNob3VsZCBiZSBkeW5hbWljICovCiAgLyogRm9yIGRvbWFpbl9lbnVtIGRvbWFpbi4gICov CkBAIC0yNDQsMTAgKzI0NCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29s aXN0LmgKICAgIH07CiAgCiAgLyogRnJlZSB0aGUgbWVtb3J5IGFzc29jaWF0ZWQgd2l0aCBhIChz b19saXN0ICopLiAgKi8KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmZydW4uYwor SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZnJ1bi5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9pbmZydW4uYwkyMDEzLTAxLTE4IDIzOjU3OjE0 Ljc4Mjk3ODQ4NSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2luZnJ1bi5jCTIw MTMtMDEtMTggMjM6NTc6NTAuNTE3NzkyODY1ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9pbmZydW4uYwkyMDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZnJ1bi5jCTIwMTMtMDItMTUgMjI6Mzc6MzUu NzYwNDE3NTk0ICswMTAwCiBAQCAtMzY5LDYgKzM2OSwxNiBAQCBzdGF0aWMgc3RydWN0IHN5bWJv bCAqc3RlcF9zdGFydF9mdW5jdGlvCiAgLyogTm9uemVybyBpZiB3ZSB3YW50IHRvIGdpdmUgY29u dHJvbCB0byB0aGUgdXNlciB3aGVuIHdlJ3JlIG5vdGlmaWVkCiAgICAgb2Ygc2hhcmVkIGxpYnJh cnkgZXZlbnRzIGJ5IHRoZSBkeW5hbWljIGxpbmtlci4gICovCkBAIC0yNjUsNyArMjY1LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2luZnJ1bi5jCiAgc3RhdGljIHZvaWQKICBz aG93X3N0b3Bfb25fc29saWJfZXZlbnRzIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21f dHR5LAogIAkJCSAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1 ZSkKLUBAIC0zMzQ3LDcgKzMzNTcsNyBAQCBoYW5kbGVfaW5mZXJpb3JfZXZlbnQgKHN0cnVjdCBl eGVjdXRpb25fCitAQCAtMzM0Niw3ICszMzU2LDcgQEAgaGFuZGxlX2luZmVyaW9yX2V2ZW50IChz dHJ1Y3QgZXhlY3V0aW9uXwogIAkgICAgY29udGV4dF9zd2l0Y2ggKGVjcy0+cHRpZCk7CiAgCSAg cmVnY2FjaGUgPSBnZXRfdGhyZWFkX3JlZ2NhY2hlIChlY3MtPnB0aWQpOwogIApAQCAtMjc0LDcg KzI3NCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmZydW4uYwogIAogIAkg IGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0b3BfYnBzdGF0CiAgCSAgICA9IGJwc3RhdF9z dG9wX3N0YXR1cyAoZ2V0X3JlZ2NhY2hlX2FzcGFjZSAocmVnY2FjaGUpLAotQEAgLTczMjcsNyAr NzMzNyw3IEBAIFNob3cgc3RvcHBpbmcgZm9yIHNoYXJlZCBsaWJyYXJ5IGV2ZW50cy4KK0BAIC03 MzM0LDcgKzczNDQsNyBAQCBTaG93IHN0b3BwaW5nIGZvciBzaGFyZWQgbGlicmFyeSBldmVudHMu CiAgSWYgbm9uemVybywgZ2RiIHdpbGwgZ2l2ZSBjb250cm9sIHRvIHRoZSB1c2VyIHdoZW4gdGhl IGR5bmFtaWMgbGlua2VyXG5cCiAgbm90aWZpZXMgZ2RiIG9mIHNoYXJlZCBsaWJyYXJ5IGV2ZW50 cy4gIFRoZSBtb3N0IGNvbW1vbiBldmVudCBvZiBpbnRlcmVzdFxuXAogIHRvIHRoZSB1c2VyIHdv dWxkIGJlIGxvYWRpbmcvdW5sb2FkaW5nIG9mIGEgbmV3IGxpYnJhcnkuIiksCkBAIC0yODMsMTAg KzI4MywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mcnVuLmMKICAJCQkg ICAgc2hvd19zdG9wX29uX3NvbGliX2V2ZW50cywKICAJCQkgICAgJnNldGxpc3QsICZzaG93bGlz dCk7CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc29saWItc3ZyNC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9zb2xpYi1zdnI0LmMJMjAxMy0wMS0xOCAyMzo1 Nzo0NS40MzA4MTU5NDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1z dnI0LmMJMjAxMy0wMS0xOCAyMzo1Nzo1MC41MTk3OTI4NTggKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMjE1Lm9yaWcvZ2RiL3NvbGliLXN2cjQuYwkyMDEzLTAyLTE1IDIyOjM3OjMwLjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3NvbGliLXN2cjQuYwkyMDEz LTAyLTE1IDIyOjM3OjM1Ljc2MTQxNzU5NiArMDEwMAogQEAgLTQ2LDEwICs0NiwxMiBAQAogICNp bmNsdWRlICJhdXh2LmgiCiAgI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKQEAgLTU0MCw3ICs1NDAs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgLyogRmlu ZCByX2JyayBmcm9tIHRoZSBpbmZlcmlvcidzIGRlYnVnIGJhc2UuICAqLwogIAogIHN0YXRpYyBD T1JFX0FERFIKLUBAIC0xMTYzLDE1ICsxMjkwLDE3IEBAIHN2cjRfZGVmYXVsdF9zb3MgKHZvaWQp CitAQCAtMTE2MSwxNSArMTI4OCwxNyBAQCBzdnI0X2RlZmF1bHRfc29zICh2b2lkKQogICAgcmV0 dXJuIG5ldzsKICB9CiAgCkBAIC01NjUsNyArNTY1LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIAogICAgZm9yICg7IGxtICE9IDA7IHByZXZfbG0gPSBs bSwgbG0gPSBuZXh0X2xtKQogICAgICB7Ci1AQCAtMTE4OCw3ICsxMzE3LDcgQEAgc3ZyNF9yZWFk X3NvX2xpc3QgKENPUkVfQUREUiBsbSwgc3RydWN0CitAQCAtMTE4NSw3ICsxMzE0LDcgQEAgc3Zy NF9yZWFkX3NvX2xpc3QgKENPUkVfQUREUiBsbSwgc3RydWN0CiAgICAgICAgaWYgKG5ldy0+bG1f aW5mbyA9PSBOVUxMKQogIAl7CiAgCSAgZG9fY2xlYW51cHMgKG9sZF9jaGFpbik7CkBAIC01NzQs NyArNTc0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwog IAl9CiAgCiAgICAgICAgbmV4dF9sbSA9IG5ldy0+bG1faW5mby0+bF9uZXh0OwotQEAgLTExOTks NyArMTMyOCw3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVjdAorQEAg LTExOTYsNyArMTMyNSw3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIHN0cnVj dAogIAkJICAgcGFkZHJlc3MgKHRhcmdldF9nZGJhcmNoICgpLCBwcmV2X2xtKSwKICAJCSAgIHBh ZGRyZXNzICh0YXJnZXRfZ2RiYXJjaCAoKSwgbmV3LT5sbV9pbmZvLT5sX3ByZXYpKTsKICAJICBk b19jbGVhbnVwcyAob2xkX2NoYWluKTsKQEAgLTU4Myw3ICs1ODMsNyBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgCX0KICAKICAgICAgICAvKiBGb3IgU1ZS NCB2ZXJzaW9ucywgdGhlIGZpcnN0IGVudHJ5IGluIHRoZSBsaW5rIG1hcCBpcyBmb3IgdGhlCi1A QCAtMTI5NCwyMCArMTQyMyw2MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBz dHJ1Y3QKK0BAIC0xMjkxLDIwICsxNDIwLDYxIEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FE RFIgbG0sIHN0cnVjdAogICAgICAgICoqbGlua19wdHJfcHRyID0gbmV3OwogICAgICAgICpsaW5r X3B0cl9wdHIgPSAmbmV3LT5uZXh0OwogICAgICB9CkBAIC02NDgsNyArNjQ4LDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIAogICAgLyogRmFsbCBiYWNr IHRvIG1hbnVhbCBleGFtaW5hdGlvbiBvZiB0aGUgdGFyZ2V0IGlmIHRoZSBwYWNrZXQgaXMgbm90 CiAgICAgICBzdXBwb3J0ZWQgb3IgZ2Ric2VydmVyIGZhaWxlZCB0byBmaW5kIERUX0RFQlVHLiAg Z2RiLnNlcnZlci9zb2xpYi1saXN0LmV4cAotQEAgLTEzMzAsNiArMTUwMCwxMCBAQCBzdnI0X2N1 cnJlbnRfc29zICh2b2lkKQorQEAgLTEzMjcsNiArMTQ5NywxMCBAQCBzdnI0X2N1cnJlbnRfc29z ICh2b2lkKQogIAogICAgaW5mbyA9IGdldF9zdnI0X2luZm8gKCk7CiAgCkBAIC02NTksNyArNjU5 LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogICAgLyog QWx3YXlzIGxvY2F0ZSB0aGUgZGVidWcgc3RydWN0LCBpbiBjYXNlIGl0IGhhcyBtb3ZlZC4gICov CiAgICBpbmZvLT5kZWJ1Z19iYXNlID0gMDsKICAgIGxvY2F0ZV9iYXNlIChpbmZvKTsKLUBAIC0x MzM5LDM1ICsxNTEzLDEyIEBAIHN2cjRfY3VycmVudF9zb3MgKHZvaWQpCitAQCAtMTMzNiwzNSAr MTUxMCwxMiBAQCBzdnI0X2N1cnJlbnRfc29zICh2b2lkKQogICAgaWYgKCEgaW5mby0+ZGVidWdf YmFzZSkKICAgICAgcmV0dXJuIHN2cjRfZGVmYXVsdF9zb3MgKCk7CiAgCkBAIC02OTgsNyArNjk4 LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogIH0KICAK ICAvKiBHZXQgdGhlIGFkZHJlc3Mgb2YgdGhlIGxpbmtfbWFwIGZvciBhIGdpdmVuIE9CSkZJTEUu ICAqLwotQEAgLTE0NTIsNiArMTYwMyw0OTggQEAgZXhlY19lbnRyeV9wb2ludCAoc3RydWN0IGJm ZCAqYWJmZCwgc3RydQorQEAgLTE0NDksNiArMTYwMCw0OTggQEAgZXhlY19lbnRyeV9wb2ludCAo c3RydWN0IGJmZCAqYWJmZCwgc3RydQogICAgcmV0dXJuIGdkYmFyY2hfYWRkcl9iaXRzX3JlbW92 ZSAodGFyZ2V0X2dkYmFyY2ggKCksIGFkZHIpOwogIH0KICAKQEAgLTExOTcsNyArMTE5Nyw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMKICAvKiBIZWxwZXIg ZnVuY3Rpb24gZm9yIGdkYl9iZmRfbG9va3VwX3N5bWJvbC4gICovCiAgCiAgc3RhdGljIGludAot QEAgLTE1MDQsNiArMjE0Nyw5IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5m bywgaW4KK0BAIC0xNTAxLDYgKzIxNDQsOSBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2lu Zm8gKmluZm8sIGluCiAgICBpbmZvLT5pbnRlcnBfdGV4dF9zZWN0X2xvdyA9IGluZm8tPmludGVy cF90ZXh0X3NlY3RfaGlnaCA9IDA7CiAgICBpbmZvLT5pbnRlcnBfcGx0X3NlY3RfbG93ID0gaW5m by0+aW50ZXJwX3BsdF9zZWN0X2hpZ2ggPSAwOwogIApAQCAtMTIwNyw3ICsxMjA3LDcgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3NvbGliLXN2cjQuYwogICAgLyogSWYgd2UgYWxy ZWFkeSBoYXZlIGEgc2hhcmVkIGxpYnJhcnkgbGlzdCBpbiB0aGUgdGFyZ2V0LCBhbmQKICAgICAg IHJfZGVidWcgY29udGFpbnMgcl9icmssIHNldCB0aGUgYnJlYWtwb2ludCB0aGVyZSAtIHRoaXMg c2hvdWxkCiAgICAgICBtZWFuIHJfYnJrIGhhcyBhbHJlYWR5IGJlZW4gcmVsb2NhdGVkLiAgQXNz dW1lIHRoZSBkeW5hbWljIGxpbmtlcgotQEAgLTE1MzUsNyArMjE4MSw3IEBAIGVuYWJsZV9icmVh ayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW4KK0BAIC0xNTMyLDcgKzIxNzgsNyBAQCBlbmFi bGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCiAgCSBUaGF0IGtub3dsZWRnZSBp cyBlbmNvZGVkIGluIHRoZSBhZGRyZXNzLCBpZiBpdCdzIFRodW1iIHRoZSBsb3cgYml0CiAgCSBp cyAxLiAgSG93ZXZlciwgd2UndmUgc3RyaXBwZWQgdGhhdCBpbmZvIGFib3ZlIGFuZCBpdCdzIG5v dCBjbGVhcgogIAkgd2hhdCBhbGwgdGhlIGNvbnNlcXVlbmNlcyBhcmUgb2YgcGFzc2luZyBhIG5v bi1hZGRyX2JpdHNfcmVtb3ZlJ2QKQEAgLTEyMTYsNyArMTIxNiw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMKICAJIGZpbmRfcGNfc2VjdGlvbiB2ZXJpZmll cyB3ZSBrbm93IGFib3V0IHRoZSBhZGRyZXNzIGFuZCBoYXZlIHNvbWUKICAJIGhvcGUgb2YgY29t cHV0aW5nIHRoZSByaWdodCBraW5kIG9mIGJyZWFrcG9pbnQgdG8gdXNlICh2aWEKICAJIHN5bWJv bCBpbmZvKS4gIEl0IGRvZXMgbWVhbiB0aGF0IEdEQiBuZWVkcyB0byBiZSBwb2ludGVkIGF0IGEK LUBAIC0xNTczLDcgKzIyMTksNyBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmlu Zm8sIGluCitAQCAtMTU3MCw3ICsyMjE2LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9p bmZvICppbmZvLCBpbgogIAkJKyBiZmRfc2VjdGlvbl9zaXplICh0bXBfYmZkLCBpbnRlcnBfc2Vj dCk7CiAgCSAgICB9CiAgCkBAIC0xMjI1LDcgKzEyMjUsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgCSAgcmV0dXJuIDE7CiAgCX0KICAgICAgfQotQEAg LTE3MzEsNyArMjM3Nyw4IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywg aW4KK0BAIC0xNzI4LDcgKzIzNzQsOCBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8g KmluZm8sIGluCiAgCiAgICAgICAgaWYgKHN5bV9hZGRyICE9IDApCiAgCXsKQEAgLTEyMzUsNyAr MTIzNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zb2xpYi1zdnI0LmMKICAJ ICB4ZnJlZSAoaW50ZXJwX25hbWUpOwogIAkgIHJldHVybiAxOwogIAl9Ci1AQCAtMTc1Nyw3ICsy NDA0LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbgorQEAgLTE3 NTQsNyArMjQwMSw3IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW4K ICAJICBzeW1fYWRkciA9IGdkYmFyY2hfY29udmVydF9mcm9tX2Z1bmNfcHRyX2FkZHIgKHRhcmdl dF9nZGJhcmNoICgpLAogIAkJCQkJCQkgc3ltX2FkZHIsCiAgCQkJCQkJCSAmY3VycmVudF90YXJn ZXQpOwpAQCAtMTI0NCw3ICsxMjQ0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L3NvbGliLXN2cjQuYwogIAkgIHJldHVybiAxOwogIAl9CiAgICAgIH0KLUBAIC0xNzczLDcgKzI0 MjAsNyBAQCBlbmFibGVfYnJlYWsgKHN0cnVjdCBzdnI0X2luZm8gKmluZm8sIGluCitAQCAtMTc3 MCw3ICsyNDE3LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbgog IAkgICAgICBzeW1fYWRkciA9IGdkYmFyY2hfY29udmVydF9mcm9tX2Z1bmNfcHRyX2FkZHIgKHRh cmdldF9nZGJhcmNoICgpLAogIAkJCQkJCQkgICAgIHN5bV9hZGRyLAogIAkJCQkJCQkgICAgICZj dXJyZW50X3RhcmdldCk7CkBAIC0xMjUzLDcgKzEyNTMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvc29saWItc3ZyNC5jCiAgCSAgICAgIHJldHVybiAxOwogIAkgICAgfQogIAl9 Ci1AQCAtMjI2OSw2ICsyOTE2LDkgQEAgc3ZyNF9zb2xpYl9jcmVhdGVfaW5mZXJpb3JfaG9vayAo aW50IGZybworQEAgLTIyNjYsNiArMjkxMyw5IEBAIHN2cjRfc29saWJfY3JlYXRlX2luZmVyaW9y X2hvb2sgKGludCBmcm8KICAKICAgIGluZm8gPSBnZXRfc3ZyNF9pbmZvICgpOwogIApAQCAtMTI2 MywxNyArMTI2MywxNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc29saWItc3Zy NC5jCiAgICAvKiBSZWxvY2F0ZSB0aGUgbWFpbiBleGVjdXRhYmxlIGlmIG5lY2Vzc2FyeS4gICov CiAgICBzdnI0X3JlbG9jYXRlX21haW5fZXhlY3V0YWJsZSAoKTsKICAKLUBAIC0yNTEwLDQgKzMx NjAsNiBAQCBfaW5pdGlhbGl6ZV9zdnI0X3NvbGliICh2b2lkKQorQEAgLTI1MDcsNCArMzE1Nyw2 IEBAIF9pbml0aWFsaXplX3N2cjRfc29saWIgKHZvaWQpCiAgICBzdnI0X3NvX29wcy5sb29rdXBf bGliX2dsb2JhbF9zeW1ib2wgPSBlbGZfbG9va3VwX2xpYl9zeW1ib2w7CiAgICBzdnI0X3NvX29w cy5zYW1lID0gc3ZyNF9zYW1lOwogICAgc3ZyNF9zb19vcHMua2VlcF9kYXRhX2luX2NvcmUgPSBz dnI0X2tlZXBfZGF0YV9pbl9jb3JlOwogKyAgc3ZyNF9zb19vcHMuaGFuZGxlX3NvbGliX2V2ZW50 ID0gc3ZyNF9oYW5kbGVfc29saWJfZXZlbnQ7CiArICBzdnI0X3NvX29wcy51cGRhdGVfYnJlYWtw b2ludHMgPSBzdnI0X3VwZGF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50czsKICB9Ci1JbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9wZW4t c29saWIuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9icmVhay1kbG1vcGVuLXNvbGliLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0w MS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi1zb2xpYi5jCTIwMTMtMDEtMTggMjM6 NTc6NTAuNTE5NzkyODU4ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9wZW4tc29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2 MTQxNzU5NiArMDEwMAogQEAgLTAsMCArMSwyNCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTI5OSwxMCArMTI5OSwxMCBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRsbW9w ZW4tc29saWIuYwogKwogKyAgcmV0dXJuIDA7CiArfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWRs bW9wZW4uYwkyMDEzLTAxLTE4IDIzOjU3OjUwLjUxOTc5Mjg1OCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmMJMjAxMy0w Mi0xNSAyMjozNzozNS43NjI0MTc1OTggKzAxMDAKIEBAIC0wLDAgKzEsNTggQEAKICsvKiBDb3B5 cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICsKQEAgLTEzNjIsMTAg KzEzNjIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIu YmFzZS9icmVhay1kbG1vcGVuLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxtb3Blbi5leHAKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstZGxt b3Blbi5leHAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KIC0tLSAvZGV2L251bGwJMTk3MC0wMS0wMSAwMDowMDowMC4w MDAwMDAwMDAgKzAwMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvYnJlYWstZGxtb3Blbi5leHAJMjAxMy0wMS0xOCAyMzo1Nzo1MC41MTk3OTI4NTggKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWst ZGxtb3Blbi5leHAJMjAxMy0wMi0xNSAyMjozNzozNS43NjI0MTc1OTggKzAxMDAKIEBAIC0wLDAg KzEsMTI1IEBACiArIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KICsKQEAgLTE0OTIsMTAgKzE0OTIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1kbG1vcGVuLmV4cAogKyAgICBnZGJfdGVzdCAi YyIge0JyZWFrcG9pbnQgWzAtOV0rLCAuKiBpbiBzdG9wIFwoXCl9CiArICAgIGNoZWNrX2luZm9f c2hhcmVkICJpbmZvIHNoYXJlZGxpYnJhcnkgIzciIDAKICt9Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4 cAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2JyZWFrLWludGVycC5leHAJMjAxMy0wMS0xOCAyMzo1NzoxNC43ODI5Nzg0ODUg KzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJl YWstaW50ZXJwLmV4cAkyMDEzLTAxLTE4IDIzOjU3OjUwLjUyMDc5Mjg1NCArMDEwMAorLS0tIGdk Yi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVy cC5leHAJMjAxMy0wMS0wMSAwNzozMzoyNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDEzLTAy LTE1IDIyOjM3OjM1Ljc2MjQxNzU5OCArMDEwMAogQEAgLTEwOSwxMiArMTA5LDE5IEBAIHByb2Mg c3RyaXBfZGVidWcge2Rlc3R9IHsKICAgICAgfQogIH0KQEAgLTE1OTEsMTAgKzE1OTEsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1p bnRlcnAuZXhwCiAgCiAgCSAgICAjIFVzZSB0d28gc2VwYXJhdGUgZ2RiX3Rlc3RfbXVsdGlwbGUg c3RhdGVtZW50cyB0byBhdm9pZCB0aW1lb3V0cyBkdWUKICAJICAgICMgdG8gc2xvdyBwcm9jZXNz aW5nIG9mIHdpbGRjYXJkIGNhcHR1cmluZyBsb25nIG91dHB1dAotSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMtc29saWIuYworSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9i ZXMtc29saWIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAw LjAwMDAwMDAwMCArMDAwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9icmVhay1wcm9iZXMtc29saWIuYwkyMDEzLTAxLTE4IDIzOjU3OjUwLjUyMDc5Mjg1 NCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9i cmVhay1wcm9iZXMtc29saWIuYwkyMDEzLTAyLTE1IDIyOjM3OjM1Ljc2MjQxNzU5OCArMDEwMAog QEAgLTAsMCArMSwyNCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgSW5jLgogKwpAQCAtMTYyMCwxMCArMTYyMCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy1zb2xpYi5jCiArCiAr ICByZXR1cm4gMDsKICt9Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9u dWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5jCTIwMTMtMDEtMTgg MjM6NTc6NTAuNTIwNzkyODU0ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5jCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzYzNDE3 NjAwICswMTAwCiBAQCAtMCwwICsxLDI2IEBACiArLyogQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNjUxLDEwICsxNjUxLDEwIEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmMK ICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmV4cAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9icmVhay1wcm9iZXMuZXhwCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLXByb2Jlcy5leHAJ MjAxMy0wMS0xOCAyMzo1Nzo1MC41MjA3OTI4NTQgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstcHJvYmVzLmV4cAkyMDEzLTAyLTE1IDIy OjM3OjM1Ljc2MzQxNzYwMCArMDEwMAogQEAgLTAsMCArMSw3NiBAQAogKyMgQ29weXJpZ2h0IDIw MTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNzMyLDEwICsxNzMyLDEw IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJl YWstcHJvYmVzLmV4cAogKyAgICAjIENhbGwgc29tZXRoaW5nIHRvIGVuc3VyZSB0aGF0IHJlbG9j YXRpb24gb2NjdXJyZWQKICsgICAgZ2RiX3Rlc3QgImNhbGwgZm9vKDIzKSIgImZvbyAyMy4qXFxc JC4qID0gLioiCiArfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQog LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xp YjEuYwkyMDEzLTAxLTE4IDIzOjU3OjUwLjUyMDc5Mjg1NCArMDEwMAorKysrIGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC1zb2xpYjEuYwkyMDEz LTAyLTE1IDIyOjM3OjM1Ljc2MzQxNzYwMCArMDEwMAogQEAgLTAsMCArMSwyNCBAQAogKy8qIENv cHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTc2MSwx MCArMTc2MSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2luZm8tc2hhcmVkLXNvbGliMS5jCiArCiArICByZXR1cm4gMDsKICt9Ci1JbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLXNv bGliMi5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNl L2luZm8tc2hhcmVkLXNvbGliMi5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAtLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLXNvbGliMi5jCTIwMTMtMDEtMTggMjM6NTc6 NTAuNTIwNzkyODU0ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2luZm8tc2hhcmVkLXNvbGliMi5jCTIwMTMtMDItMTUgMjI6Mzc6MzUuNzYzNDE3 NjAwICswMTAwCiBAQCAtMCwwICsxLDI0IEBACiArLyogQ29weXJpZ2h0IDIwMTIgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCkBAIC0xNzkwLDEwICsxNzkwLDEwIEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQtc29s aWIyLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAt LS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCi0rKysgZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLmMJMjAx My0wMS0xOCAyMzo1Nzo1MC41MjA3OTI4NTQgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuYwkyMDEzLTAyLTE1IDIyOjM3OjM1 Ljc2MzQxNzYwMCArMDEwMAogQEAgLTAsMCArMSw0OCBAQAogKy8qIENvcHlyaWdodCAyMDEyIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogKwpAQCAtMTg0MywxMCArMTg0MywxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hh cmVkLmMKICsKICsgIHJldHVybiAwOwogK30KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuZXhwCitJbmRleDogZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2luZm8tc2hhcmVkLmV4cAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQogLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAotKysr IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9pbmZvLXNoYXJlZC5l eHAJMjAxMy0wMS0xOCAyMzo1Nzo1MC41MjE3OTI4NTAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvaW5mby1zaGFyZWQuZXhwCTIwMTMtMDItMTUg MjI6Mzc6MzUuNzY0NDE3NjAyICswMTAwCiBAQCAtMCwwICsxLDEzOSBAQAogKyMgQ29weXJpZ2h0 IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiArCgpkaWZmIC0tZ2l0IGEvZ2Ri LW1pbmlkZWJ1Z2luZm8tY3Jhc2gucGF0Y2ggYi9nZGItbWluaWRlYnVnaW5mby1jcmFzaC5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjJmMDBmMS4uMDAwMDAwMAotLS0gYS9n ZGItbWluaWRlYnVnaW5mby1jcmFzaC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCww IEBACi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMy0wMi9tc2cwMDAx Ni5odG1sCi1TdWJqZWN0OiBbcGF0Y2hdIEZpeCBhc3NlcnQgY3Jhc2hlcyB3aXRoIG1pbmlkZWJ1 Z2luZm8KLQotSGkgVG9tLAotCi1vcmlnaW5hbCBidWdyZXBvcnQ6Ci0JaHR0cHM6Ly9idWd6aWxs YS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD05MDM1MjIKLQotaW4gc29tZSBjYXNlcyBHREIg YWRkZWQgc2VwYXJhdGUgZGVidWcgaW5mbyB0byBtaW5pZGVidWdpbmZvICh3aGljaCBpdHNlbGYg aXMKLWEgc2VwYXJhdGUgZGVidWcgaW5mbykuICBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIG9mIGEgc2Vw YXJhdGUgZGVidWcgaW5mbyBpcyBub3QKLXN1cHBvcnRlZCBieSBHREIgYW5kIGl0IGNhdXNlZCBh IGdkYl9hc3NlcnQgZmFpbHVyZS4KLQotU28gdGhlIGFkZGVkIGdkYl9hc3NlcnQgY2FsbHMgcHJp bnQgc3VjaCB2aW9sYXRpb24gaW1tZWRpYXRlbHkgYXQKLWFkZF9zZXBhcmF0ZV9kZWJ1Z19vYmpm aWxlLCBub3Qgb25seSBpbiBhIHNvbWUgcmFyZSBjYXNlIGZvdW5kIGJ5IHRoZQotYnVncmVwb3J0 LgotCi1BbmQgSSBoYXZlIGZvdW5kIG11bHRpcGxlIHN1Y2ggZnJhZ2lsZSBjaGVja3MgaW4gR0RC IHNvIEkgaGF2ZSBwcm90ZWN0ZWQgdGhlbQotYWxsIHNvIHRoYXQgbWluaWRlYnVnaW5mbyBpcyBh bHdheXMgb25seSBhIHNvbGUgc2VwYXJhdGUgZGVidWcgaW5mby4KLQotTm8gcmVncmVzc2lvbnMg b24ge3g4Nl82NCx4ODZfNjQtbTMyLGk2ODZ9LWZlZG9yYTE5cHJlLWxpbnV4LWdudS4KLQotV2l0 aCB0aGUgbmV3IGdkYl9hc3NlcnRzIChhbmQgd2l0aG91dCB0aGUgZml4KSBHREIgY3Jhc2hlcyBv biBnZGIuZ2RiLyB0ZXN0cwotZHVlIHRvIGN1cnJlbnQgbmN1cnNlcy1saWJzLTUuOS03LjIwMTIx MDE3LmZjMTkueDg2XzY0IGZpbGVzLgotCi0KLVRoYW5rcywKLUphbgotCi0KLWdkYi8KLTIwMTMt MDItMDEgIEphbiBLcmF0b2NodmlsICA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4KLQotCSog ZWxmcmVhZC5jIChlbGZfc3ltZmlsZV9yZWFkKTogTGltaXQgc2VwYXJhdGUgZGVidWcgaW5mbyBh ZGRpdGlvbnMgdG8KLQlmaWxlcyB3aXRoIG5vIHNlcGFyYXRlIGRlYnVnIGluZm8uCi0JKiBvYmpm aWxlcy5jIChhZGRfc2VwYXJhdGVfZGVidWdfb2JqZmlsZSk6IEFkZCBnZGJfYXNzZXJ0IGNhbGxz LgotCSogc3ltZmlsZS5jIChyZWFkX3N5bWJvbHMpOiBDYWxsIGZpbmRfc2VwYXJhdGVfZGVidWdf ZmlsZV9pbl9zZWN0aW9uCi0Jb25seSBmb3IgZmlsZXMgd2l0aCBubyBzZXBhcmF0ZSBkZWJ1ZyBp bmZvLgotCi1nZGIvdGVzdHN1aXRlLwotMjAxMy0wMi0wMSAgSmFuIEtyYXRvY2h2aWwgIDxqYW4u a3JhdG9jaHZpbEByZWRoYXQuY29tPgotCi0JKiBnZGIuYmFzZS9nbnUtZGVidWdkYXRhLmV4cCk6 IENyZWF0ZSAke2JpbmZpbGV9LmRlYnVnLAotCSR7YmluZmlsZX0ubWluaV9kZWJ1Z2luZm8tZGVi dWdsaW5rLCBhZGQgLWsgdG8geHosIHVzZSBub3cKLQkke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZv LWRlYnVnbGluayBhbmQKLQkke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluay54ei4K LQotZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFkLmMgYi9nZGIvZWxmcmVhZC5jCi1pbmRleCA5ZDYz MGNkLi42Y2E2NTlmIDEwMDY0NAotLS0tIGEvZ2RiL2VsZnJlYWQuYwotKysrIGIvZ2RiL2VsZnJl YWQuYwotQEAgLTI0MjcsOCArMjQyNywxOCBAQCBlbGZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2Jq ZmlsZSAqb2JqZmlsCi0gICAvKiBJZiB0aGUgZmlsZSBoYXMgaXRzIG93biBzeW1ib2wgdGFibGVz IGl0IGhhcyBubyBzZXBhcmF0ZSBkZWJ1ZwotICAgICAgaW5mby4gIGAuZHluc3ltJy9gLnN5bXRh YicgZ28gdG8gTVNZTUJPTFMsIGAuZGVidWdfaW5mbycgZ29lcyB0bwotICAgICAgU1lNVEFCUy9Q U1lNVEFCUy4gIGAuZ251X2RlYnVnbGluaycgbWF5IG5vIGxvbmdlciBiZSBwcmVzZW50IHdpdGgK LS0gICAgIGAubm90ZS5nbnUuYnVpbGQtaWQnLiAgKi8KLS0gIGVsc2UgaWYgKCFvYmpmaWxlX2hh c19wYXJ0aWFsX3N5bWJvbHMgKG9iamZpbGUpKQotKyAgICAgYC5ub3RlLmdudS5idWlsZC1pZCcu Ci0rCi0rICAgICAuZ251X2RlYnVnZGF0YSBpcyAhb2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xz IGJlY2F1c2UgaXQgY29udGFpbnMgb25seQotKyAgICAgLnN5bXRhYiwgbm90IC5kZWJ1Z18qIHNl Y3Rpb24uICBCdXQgaWYgd2UgYWxyZWFkeSBhZGRlZCAuZ251X2RlYnVnZGF0YSBhcwotKyAgICAg YW4gb2JqZmlsZSB2aWEgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2luX3NlY3Rpb24gdGhlcmUg d2FzIG5vIHNlcGFyYXRlCi0rICAgICBkZWJ1ZyBpbmZvIGF2YWlsYWJsZS4gIFRoZXJlZm9yZSBk byBub3QgYXR0ZW1wdCB0byBzZWFyY2ggZm9yIGFub3RoZXIgb25lLAotKyAgICAgb2JqZmlsZS0+ c2VwYXJhdGVfZGVidWdfb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSBHREIgZ3VhcmFu dGVlcyB0bwotKyAgICAgYmUgTlVMTCBhbmQgd2Ugd291bGQgcG9zc2libHkgdmlvbGF0ZSBpdC4g ICovCi0rCi0rICBlbHNlIGlmICghb2JqZmlsZV9oYXNfcGFydGlhbF9zeW1ib2xzIChvYmpmaWxl KQotKwkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19vYmpmaWxlID09IE5VTEwKLSsJICAg JiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKQotICAg ICB7Ci0gICAgICAgY2hhciAqZGVidWdmaWxlLCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci0gCi1kaWZm IC0tZ2l0IGEvZ2RiL29iamZpbGVzLmMgYi9nZGIvb2JqZmlsZXMuYwotaW5kZXggNTIzMmM4Zi4u NTgyOTY5OSAxMDA2NDQKLS0tLSBhL2dkYi9vYmpmaWxlcy5jCi0rKysgYi9nZGIvb2JqZmlsZXMu YwotQEAgLTQ3Niw2ICs0NzYsOSBAQCBhZGRfc2VwYXJhdGVfZGVidWdfb2JqZmlsZSAoc3RydWN0 IG9iamZpbGUgKm9iamZpbGUsIHN0cnVjdCBvYmpmaWxlICpwYXJlbnQpCi0gICAvKiBNdXN0IG5v dCBiZSBhbHJlYWR5IGluIGEgbGlzdC4gICovCi0gICBnZGJfYXNzZXJ0IChvYmpmaWxlLT5zZXBh cmF0ZV9kZWJ1Z19vYmpmaWxlX2JhY2tsaW5rID09IE5VTEwpOwotICAgZ2RiX2Fzc2VydCAob2Jq ZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9saW5rID09IE5VTEwpOwotKyAgZ2RiX2Fzc2Vy dCAob2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9PSBOVUxMKTsKLSsgIGdkYl9hc3Nl cnQgKHBhcmVudC0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9PSBOVUxMKTsKLSsg IGdkYl9hc3NlcnQgKHBhcmVudC0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9saW5rID09IE5VTEwp OwotIAotICAgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGluayA9IHBhcmVu dDsKLSAgIG9iamZpbGUtPnNlcGFyYXRlX2RlYnVnX29iamZpbGVfbGluayA9IHBhcmVudC0+c2Vw YXJhdGVfZGVidWdfb2JqZmlsZTsKLWRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5jIGIvZ2RiL3N5 bWZpbGUuYwotaW5kZXggNjNiZjMyOS4uNmY5NjhiNyAxMDA2NDQKLS0tLSBhL2dkYi9zeW1maWxl LmMKLSsrKyBiL2dkYi9zeW1maWxlLmMKLUBAIC04MjMsNyArODIzLDEyIEBAIHN0YXRpYyB2b2lk Ci0gcmVhZF9zeW1ib2xzIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgaW50IGFkZF9mbGFncykK LSB7Ci0gICAoKm9iamZpbGUtPnNmLT5zeW1fcmVhZCkgKG9iamZpbGUsIGFkZF9mbGFncyk7Ci0t ICBpZiAoIW9iamZpbGVfaGFzX3BhcnRpYWxfc3ltYm9scyAob2JqZmlsZSkpCi0rCi0rICAvKiBm aW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfaW5fc2VjdGlvbiBzaG91bGQgYmUgY2FsbGVkIG9ubHkg aWYgdGhlcmUgaXMKLSsgICAgIHNpbmdsZSBiaW5hcnkgd2l0aCBubyBleGlzdGluZyBzZXBhcmF0 ZSBkZWJ1ZyBpbmZvIGZpbGUuICAqLwotKyAgaWYgKCFvYmpmaWxlX2hhc19wYXJ0aWFsX3N5bWJv bHMgKG9iamZpbGUpCi0rICAgICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZSA9 PSBOVUxMCi0rICAgICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9iYWNrbGlu ayA9PSBOVUxMKQotICAgICB7Ci0gICAgICAgYmZkICphYmZkID0gZmluZF9zZXBhcmF0ZV9kZWJ1 Z19maWxlX2luX3NlY3Rpb24gKG9iamZpbGUpOwotICAgICAgIHN0cnVjdCBjbGVhbnVwICpjbGVh bnVwID0gbWFrZV9jbGVhbnVwX2JmZF91bnJlZiAoYWJmZCk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rl c3RzdWl0ZS9nZGIuYmFzZS9nbnUtZGVidWdkYXRhLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ251LWRlYnVnZGF0YS5leHAKLWluZGV4IGYzNGU0ZTguLjU1YWEzYzYgMTAwNjQ0Ci0tLS0g YS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dudS1kZWJ1Z2RhdGEuZXhwCi0rKysgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2dudS1kZWJ1Z2RhdGEuZXhwCi1AQCAtMTI3LDE0ICsxMjcsMzAgQEAg aWYge1tydW4gInN0cmlwIiBbdHJhbnNmb3JtIHN0cmlwXSBcCi0gICAgIHJldHVybiAtMQotIH0K LSAKLSsjIFNlcGFyYXRlIGZ1bGwgZGVidWcgaW5mbyBpbnRvICR7YmluZmlsZX0uZGVidWcuCi0r cmVtb3RlX2ZpbGUgaG9zdCBkZWxldGUgJHtiaW5maWxlfS5kZWJ1ZwotK2lmIHtbcnVuICJjb3B5 ZGVidWciIFt0cmFuc2Zvcm0gb2JqY29weV0gXAotKwkgIi0tb25seS1rZWVwLWRlYnVnICR7Ymlu ZmlsZX0gJHtiaW5maWxlfS5kZWJ1ZyJdfSB7Ci0rICAgIHJldHVybiAtMQotK30KLSsKLSsjIEFk ZCB0aGUgLmdudV9kZWJ1Z2xpbmsgc2VjdGlvbiB0byB0aGUgLmdudV9kZWJ1Z2RhdGEgZmlsZS4K LSsjIC5nbnVfZGVidWdsaW5rIGlzIG5vcm1hbGx5IG5vdCBwcmVzZW50IGluIHRoZSAuZ251X2Rl YnVnZGF0YSBzZWN0aW9uIGJ1dCBpbgotKyMgc29tZSBmaWxlcyB0aGVyZSBtYXkgYmUgUFRfTk9U RSB3aXRoIE5UX0dOVV9CVUlMRF9JRCBhbmQgR0RCIGNvdWxkIGxvb2sgdXAKLSsjIHRoZSAuZGVi dWcgZmlsZSBmcm9tIGl0LgotK2lmIHtbcnVuICJhZGRsaW5rIiBbdHJhbnNmb3JtIG9iamNvcHld IFwKLSsJICItLWFkZC1nbnUtZGVidWdsaW5rPSR7YmluZmlsZX0uZGVidWcgJHtiaW5maWxlfS5t aW5pX2RlYnVnaW5mbyAke2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluayJdfSB7Ci0r ICAgIHJldHVybiAtMQotK30KLSsKLSAjIEluamVjdCB0aGUgY29tcHJlc3NlZCBkYXRhIGludG8g dGhlIC5nbnVfZGVidWdkYXRhIHNlY3Rpb24gb2YgdGhlCi0gIyBvcmlnaW5hbCBiaW5hcnkuCi0t cmVtb3RlX2ZpbGUgaG9zdCBkZWxldGUgJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby54egotLWlm IHtbcnVuICJ4eiIgInh6IiAiJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mbyJdfSB7Ci0rcmVtb3Rl X2ZpbGUgaG9zdCBkZWxldGUgJHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby1kZWJ1Z2xpbmsueHoK LStpZiB7W3J1biAieHoiICJ4eiIgIi1rICR7YmluZmlsZX0ubWluaV9kZWJ1Z2luZm8tZGVidWds aW5rIl19IHsKLSAgICAgcmV0dXJuIC0xCi0gfQotIHJlbW90ZV9maWxlIGhvc3QgZGVsZXRlICR7 YmluZmlsZX0udGVzdAotLWlmIHtbcnVuICJvYmpjb3B5IDIiIFt0cmFuc2Zvcm0gb2JqY29weV0g Ii0tYWRkLXNlY3Rpb24gLmdudV9kZWJ1Z2RhdGE9JHtiaW5maWxlfS5taW5pX2RlYnVnaW5mby54 eiAke2JpbmZpbGV9LnN0cmlwICR7YmluZmlsZX0udGVzdCJdfSB7Ci0raWYge1tydW4gIm9iamNv cHkgMiIgW3RyYW5zZm9ybSBvYmpjb3B5XSAiLS1hZGQtc2VjdGlvbiAuZ251X2RlYnVnZGF0YT0k e2JpbmZpbGV9Lm1pbmlfZGVidWdpbmZvLWRlYnVnbGluay54eiAke2JpbmZpbGV9LnN0cmlwICR7 YmluZmlsZX0udGVzdCJdfSB7Ci0gICAgIHJldHVybiAtMQotIH0KLSAKLQoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjBvZjI1LnBhdGNoCmluZGV4IGIzMjA0ZTEuLmRkMTUzYjQgMTAwNjQ0Ci0tLSBhL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9z LTIwb2YyNS5wYXRjaApAQCAtNDYzLDEwICs0NjMsMTAgQEAgQ29udGVudC1UeXBlOiB0ZXh0L3gt cGF0Y2gKIENvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKIENvbnRlbnQtRGlzcG9zaXRp b246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy1tYWluLnBhdGNoCiAKLUluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvYWRhLWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3Jp Zy9nZGIvYWRhLWxhbmcuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2MDYwMTI5OSArMDEwMAotKysr IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44 NDU2MDcyOTUgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2FkYS1sYW5n LmMJMjAxMy0wMi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9hZGEtbGFuZy5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTEzNjIyMDM1ICswMTAw CiBAQCAtODAsNyArODAsNyBAQCBzdGF0aWMgc3RydWN0IHR5cGUgKmRlc2NfYm91bmRzX3R5cGUg KHN0CiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAq KTsKQEAgLTY4MCw3ICs2ODAsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRh LWxhbmcuYwogICAgCiAgICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21wb25lbnQp LCB2YWwpOwogIAotQEAgLTQwODIsNyArNDA4NSw3IEBAIGVuc3VyZV9sdmFsIChzdHJ1Y3QgdmFs dWUgKnZhbCkKK0BAIC00MDg0LDcgKzQwODcsNyBAQCBlbnN1cmVfbHZhbCAoc3RydWN0IHZhbHVl ICp2YWwpCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBub3RfbHZhbAogICAgICAgIHx8IFZB TFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9pbnRlcm5hbHZhcikKICAgICAgewpAQCAtNjg5LDcgKzY4 OSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAg Y29uc3QgQ09SRV9BRERSIGFkZHIgPQogICAgICAgICAgdmFsdWVfYXNfbG9uZyAodmFsdWVfYWxs b2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGxlbikpOwogIAotQEAgLTQxNTYsNyArNDE1OSw3IEBA IHN0YXRpYyBDT1JFX0FERFIKK0BAIC00MTU4LDcgKzQxNjEsNyBAQCBzdGF0aWMgQ09SRV9BRERS CiAgdmFsdWVfcG9pbnRlciAoc3RydWN0IHZhbHVlICp2YWx1ZSwgc3RydWN0IHR5cGUgKnR5cGUp CiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsK QEAgLTY5OCw3ICs2OTgsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxh bmcuYwogICAgZ2RiX2J5dGUgKmJ1ZiA9IGFsbG9jYSAobGVuKTsKICAgIENPUkVfQUREUiBhZGRy OwogIAotQEAgLTYwNTEsNyArNjA1NCw3IEBAIHZhbHVlX3RhZ19mcm9tX2NvbnRlbnRzX2FuZF9h ZGRyZXNzIChzdHIKK0BAIC02MDUzLDcgKzYwNTYsNyBAQCB2YWx1ZV90YWdfZnJvbV9jb250ZW50 c19hbmRfYWRkcmVzcyAoc3RyCiAgCQkJCSAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPUkVfQUREUiBhZGRyZXNzKQog IHsKQEAgLTcwNyw3ICs3MDcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRh LWxhbmcuYwogICAgc3RydWN0IHR5cGUgKnRhZ190eXBlOwogIAogICAgaWYgKGZpbmRfc3RydWN0 X2ZpZWxkICgiX3RhZyIsIHR5cGUsIDAsICZ0YWdfdHlwZSwgJnRhZ19ieXRlX29mZnNldCwKLUBA IC02NTE2LDcgKzY1MTksNyBAQCBhZGFfaW5fdmFyaWFudCAoTE9OR0VTVCB2YWwsIHN0cnVjdCB0 eXBlCitAQCAtNjUxOCw3ICs2NTIxLDcgQEAgYWRhX2luX3ZhcmlhbnQgKExPTkdFU1QgdmFsLCBz dHJ1Y3QgdHlwZQogICAgIG9ubHkgaW4gdGhhdCBpdCBjYW4gaGFuZGxlIHBhY2tlZCB2YWx1ZXMg b2YgYXJiaXRyYXJ5IHR5cGUuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzE2 LDcgKzcxNiw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHR5cGUgKmFyZ190eXBlKQogIHsKICAg IHN0cnVjdCB0eXBlICp0eXBlOwotQEAgLTY1MjgsNyArNjUzMSw3IEBAIGFkYV92YWx1ZV9wcmlt aXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZQorQEAgLTY1MzAsNyArNjUzMyw3IEBAIGFkYV92YWx1 ZV9wcmltaXRpdmVfZmllbGQgKHN0cnVjdCB2YWx1ZQogIAogICAgaWYgKFRZUEVfRklFTERfQklU U0laRSAoYXJnX3R5cGUsIGZpZWxkbm8pICE9IDApCiAgICAgIHsKQEAgLTcyNSw3ICs3MjUsNyBA QCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAgICAgIGludCBi aXRfc2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5cGUsIGZpZWxkbm8pOwogIAogICAg ICAgIHJldHVybiBhZGFfdmFsdWVfcHJpbWl0aXZlX3BhY2tlZF92YWwgKGFyZzEsIHZhbHVlX2Nv bnRlbnRzIChhcmcxKSwKLUBAIC02NTU1LDkgKzY1NTgsOSBAQCBhZGFfdmFsdWVfcHJpbWl0aXZl X2ZpZWxkIChzdHJ1Y3QgdmFsdWUKK0BAIC02NTU3LDkgKzY1NjAsOSBAQCBhZGFfdmFsdWVfcHJp bWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUKICAgICBSZXR1cm5zIDEgaWYgZm91bmQsIDAgb3Ro ZXJ3aXNlLiAgKi8KICAKICBzdGF0aWMgaW50CkBAIC03MzcsNyArNzM3LDcgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAJCSAgIGludCAqaW5kZXhfcCkKICB7 CiAgICBpbnQgaTsKLUBAIC02NTc1LDggKzY1NzgsOCBAQCBmaW5kX3N0cnVjdF9maWVsZCAoY29u c3QgY2hhciAqbmFtZSwgc3RyCitAQCAtNjU3Nyw4ICs2NTgwLDggQEAgZmluZF9zdHJ1Y3RfZmll bGQgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cgogIAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTkZJ RUxEUyAodHlwZSk7IGkgKz0gMSkKICAgICAgewpAQCAtNzQ4LDcgKzc0OCw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgY29uc3QgY2hhciAqdF9m aWVsZF9uYW1lID0gVFlQRV9GSUVMRF9OQU1FICh0eXBlLCBpKTsKICAKICAgICAgICBpZiAodF9m aWVsZF9uYW1lID09IE5VTEwpCi1AQCAtNjY0Niw3ICs2NjQ5LDcgQEAgbnVtX3Zpc2libGVfZmll bGRzIChzdHJ1Y3QgdHlwZSAqdHlwZSkKK0BAIC02NjQ4LDcgKzY2NTEsNyBAQCBudW1fdmlzaWJs ZV9maWVsZHMgKHN0cnVjdCB0eXBlICp0eXBlKQogICAgIFNlYXJjaGVzIHJlY3Vyc2l2ZWx5IHRo cm91Z2ggd3JhcHBlciBmaWVsZHMgKGUuZy4sICdfcGFyZW50JykuICAqLwogIAogIHN0YXRpYyBz dHJ1Y3QgdmFsdWUgKgpAQCAtNzU3LDcgKzc1Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBl ICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTY2NzksNyArNjY4Miw3IEBAIGFkYV9zZWFyY2hf c3RydWN0X2ZpZWxkIChjaGFyICpuYW1lLCBzdHIKK0BAIC02NjgxLDcgKzY2ODQsNyBAQCBhZGFf c2VhcmNoX3N0cnVjdF9maWVsZCAoY2hhciAqbmFtZSwgc3RyCiAgICAgICAgICAgIGludCBqOwog ICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9IGFkYV9jaGVja190eXBlZGVmIChU WVBFX0ZJRUxEX1RZUEUgKHR5cGUsCiAgCQkJCQkJCQkJaSkpOwpAQCAtNzY2LDcgKzc2Niw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgCiAgICAgICAgICAg IGZvciAoaiA9IDA7IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5cGUpOyBqICs9IDEpCiAgICAg ICAgICAgICAgewotQEAgLTY2OTcsOCArNjcwMCw4IEBAIGFkYV9zZWFyY2hfc3RydWN0X2ZpZWxk IChjaGFyICpuYW1lLCBzdHIKK0BAIC02Njk5LDggKzY3MDIsOCBAQCBhZGFfc2VhcmNoX3N0cnVj dF9maWVsZCAoY2hhciAqbmFtZSwgc3RyCiAgICByZXR1cm4gTlVMTDsKICB9CiAgCkBAIC03Nzcs NyArNzc3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAK ICAKICAvKiBSZXR1cm4gZmllbGQgI0lOREVYIGluIEFSRywgd2hlcmUgdGhlIGluZGV4IGlzIHRo YXQgcmV0dXJuZWQgYnkKLUBAIC02NzA3LDcgKzY3MTAsNyBAQCBzdGF0aWMgc3RydWN0IHZhbHVl ICphZGFfaW5kZXhfc3RydWN0X2ZpCitAQCAtNjcwOSw3ICs2NzEyLDcgQEAgc3RhdGljIHN0cnVj dCB2YWx1ZSAqYWRhX2luZGV4X3N0cnVjdF9maQogICAqIElmIGZvdW5kLCByZXR1cm4gdmFsdWUs IGVsc2UgcmV0dXJuIE5VTEwuICAqLwogIAogIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgpAQCAtNzg2 LDcgKzc4Niw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAg CQkJc3RydWN0IHR5cGUgKnR5cGUpCiAgewogICAgcmV0dXJuIGFkYV9pbmRleF9zdHJ1Y3RfZmll bGRfMSAoJmluZGV4LCBhcmcsIG9mZnNldCwgdHlwZSk7Ci1AQCAtNjcxOSw3ICs2NzIyLDcgQEAg YWRhX2luZGV4X3N0cnVjdF9maWVsZCAoaW50IGluZGV4LCBzdHJ1YworQEAgLTY3MjEsNyArNjcy NCw3IEBAIGFkYV9pbmRleF9zdHJ1Y3RfZmllbGQgKGludCBpbmRleCwgc3RydWMKICAgKiAqSU5E RVhfUC4gICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC03OTUsNyArNzk1LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMKICAJCQkgIHN0cnVjdCB0 eXBlICp0eXBlKQogIHsKICAgIGludCBpOwotQEAgLTY4MDksNyArNjgxMiw4IEBAIGFkYV92YWx1 ZV9zdHJ1Y3RfZWx0IChzdHJ1Y3QgdmFsdWUgKmFyZywKK0BAIC02ODExLDcgKzY4MTQsOCBAQCBh ZGFfdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0IHZhbHVlICphcmcsCiAgICAgIHYgPSBhZGFfc2Vh cmNoX3N0cnVjdF9maWVsZCAobmFtZSwgYXJnLCAwLCB0KTsKICAgIGVsc2UKICAgICAgewpAQCAt ODA1LDcgKzgwNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5j CiAgICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGU7CiAgICAgICAgQ09SRV9BRERSIGFkZHJl c3M7CiAgCi1AQCAtNzEyMiw4ICs3MTI2LDggQEAgYWRhX2NvZXJjZV9yZWYgKHN0cnVjdCB2YWx1 ZSAqdmFsMCkKK0BAIC03MTI0LDggKzcxMjgsOCBAQCBhZGFfY29lcmNlX3JlZiAoc3RydWN0IHZh bHVlICp2YWwwKQogIC8qIFJldHVybiBPRkYgcm91bmRlZCB1cHdhcmQgaWYgbmVjZXNzYXJ5IHRv IGEgbXVsdGlwbGUgb2YKICAgICBBTElHTk1FTlQgKGEgcG93ZXIgb2YgMikuICAqLwogIApAQCAt ODE2LDcgKzgxNiw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5j CiAgewogICAgcmV0dXJuIChvZmYgKyBhbGlnbm1lbnQgLSAxKSAmIH4oYWxpZ25tZW50IC0gMSk7 CiAgfQotQEAgLTc1MDIsMTAgKzc1MDYsOSBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3Jk X3R5cGVfMSAoc3RyCitAQCAtNzUwNCwxMCArNzUwOCw5IEBAIGFkYV90ZW1wbGF0ZV90b19maXhl ZF9yZWNvcmRfdHlwZV8xIChzdHIKICAgIHN0cnVjdCB2YWx1ZSAqbWFyayA9IHZhbHVlX21hcmsg KCk7CiAgICBzdHJ1Y3QgdmFsdWUgKmR2YWw7CiAgICBzdHJ1Y3QgdHlwZSAqcnR5cGU7CkBAIC04 MjksNyArODI5LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmMK ICAgIGludCBmOwogIAogICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9mIGZpZWxkcyBpbiB0aGlz IHJlY29yZCB0eXBlIHRoYXQgYXJlIGdvaW5nCi1AQCAtNzU3Niw3ICs3NTc5LDcgQEAgYWRhX3Rl bXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0cgorQEAgLTc1NzgsNyArNzU4MSw3IEBA IGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHIKICAJICAgICB0aGF0IGZv bGxvdyB0aGlzIG9uZS4gICovCiAgCSAgaWYgKGFkYV9pc19hbGlnbmVyX3R5cGUgKGZpZWxkX3R5 cGUpKQogIAkgICAgewpAQCAtODM4LDcgKzgzOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9hZGEtbGFuZy5jCiAgCiAgCSAgICAgIGZpZWxkX3ZhbGFkZHIgPSBjb25kX29mZnNl dF9ob3N0IChmaWVsZF92YWxhZGRyLCBmaWVsZF9vZmZzZXQpOwogIAkgICAgICBmaWVsZF9hZGRy ZXNzID0gY29uZF9vZmZzZXRfdGFyZ2V0IChmaWVsZF9hZGRyZXNzLCBmaWVsZF9vZmZzZXQpOwot QEAgLTc3MDUsMTEgKzc3MDgsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBl XzEgKHN0cgorQEAgLTc3MDcsMTEgKzc3MTAsMTEgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3Jl Y29yZF90eXBlXzEgKHN0cgogICAgaWYgKFRZUEVfTEVOR1RIICh0eXBlKSA8PSAwKQogICAgICB7 CiAgICAgICAgaWYgKFRZUEVfTkFNRSAocnR5cGUpKQpAQCAtODU0LDcgKzg1NCw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5jCiAgICAgIH0KICAgIGVsc2UKICAg ICAgewotQEAgLTgwNDYsNyArODA0OSw4IEBAIHRvX2ZpeGVkX2FycmF5X3R5cGUgKHN0cnVjdCB0 eXBlICp0eXBlMCwKK0BAIC04MDQ4LDcgKzgwNTEsOCBAQCB0b19maXhlZF9hcnJheV90eXBlIChz dHJ1Y3QgdHlwZSAqdHlwZTAsCiAgCSB0eXBlIHdhcyBhIHJlZ3VsYXIgKG5vbi1wYWNrZWQpIGFy cmF5IHR5cGUuICBBcyBhIHJlc3VsdCwgdGhlCiAgCSBiaXRzaXplIG9mIHRoZSBhcnJheSBlbGVt ZW50cyBuZWVkcyB0byBiZSBzZXQgYWdhaW4sIGFuZCB0aGUgYXJyYXkKICAJIGxlbmd0aCBuZWVk cyB0byBiZSByZWNvbXB1dGVkIGJhc2VkIG9uIHRoYXQgYml0c2l6ZS4gICovCkBAIC04NjQsMTAg Kzg2NCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxhbmcuYwogICAg ICAgIGludCBlbHRfYml0c2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZTAsIDApOwogIAog ICAgICAgIFRZUEVfRklFTERfQklUU0laRSAocmVzdWx0LCAwKSA9IFRZUEVfRklFTERfQklUU0la RSAodHlwZTAsIDApOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS1sYW5nLmgK K0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hZGEtbGFuZy5oCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9hZGEtbGFuZy5oCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDYxNjAxMzAxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLWxh bmcuaAkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg0NTYwNzI5NSArMDEwMAorLS0tIGdkYi03LjUuNTAu MjAxMzAyMTUub3JpZy9nZGIvYWRhLWxhbmcuaAkyMDEzLTAxLTI0IDE5OjA0OjM0LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FkYS1sYW5nLmgJMjAxMy0wMi0x NSAyMjo0MDoxOC41MTM2MjIwMzUgKzAxMDAKIEBAIC0xNjksNyArMTY5LDcgQEAgZXh0ZXJuIHZv aWQgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlCiAgZXh0ZXJuIHZvaWQgYWRhX3ByaW50X3R5 cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qgc3ltYm9sICpuZXdfc3ltYm9sLAogIAkJ CSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKTsKQEAgLTg5NSwxMCArODk1LDEwIEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtbGFuZy5oCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqKTsKICAK ICBleHRlcm4gc3RydWN0IHR5cGUgKmFkYV9jb2VyY2VfdG9fc2ltcGxlX2FycmF5X3R5cGUgKHN0 cnVjdCB0eXBlICopOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS10eXBlcHJp bnQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2FkYS10eXBlcHJpbnQuYwogPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWRhLXR5cGVwcmludC5j CTIwMTMtMDEtMTggMjM6Mjc6MjIuMDYxNjAxMzAxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvYWRhLXR5cGVwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ1NjA3Mjk1ICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9hZGEtdHlwZXByaW50LmMJMjAx My0wMS0wMSAwNzozMjozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9hZGEtdHlwZXByaW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MTQ2MjIwMzggKzAxMDAK IEBAIC04MjksOCArODI5LDggQEAgYWRhX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwg Y29ucwogIAkgICAgY29uc3QgY2hhciAqbmFtZSA9IGFkYV90eXBlX25hbWUgKHR5cGUpOwogIApA QCAtOTIwLDEwICs5MjAsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS10 eXBlcHJpbnQuYwogIAlicmVhazsKICAgICAgICBjYXNlIFRZUEVfQ09ERV9FTlVNOgogIAlpZiAo c2hvdyA8IDApCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLXZhbHByaW50LmMK K0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hZGEtdmFscHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYWRhLXZhbHByaW50LmMJMjAxMy0w MS0xOCAyMzoyNzoyMi4wNjI2MDEzMDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9hZGEtdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg0NjYwNzI5NyArMDEwMAorLS0t IGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYWRhLXZhbHByaW50LmMJMjAxMy0wMi0wMSAy MTowODo0NS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hZGEt dmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUxNDYyMjAzOCArMDEwMAogQEAgLTQxLDE2 ICs0MSwxNiBAQCBzdGF0aWMgdm9pZCBwcmludF9yZWNvcmQgKHN0cnVjdCB0eXBlICosCiAgCQkJ ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKICAKQEAgLTk2Myw3ICs5NjMs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLXZhbHByaW50LmMKICAJIGVu dW0gYmZkX2VuZGlhbiBieXRlX29yZGVyKQogIHsKICAgIGlmICh0eXBlX2xlbiA9PSAxKQotQEAg LTQ2NCwxMSArNDY0LDExIEBAIGFkYV9wcmludF9zY2FsYXIgKHN0cnVjdCB0eXBlICp0eXBlLCBM T04KK0BAIC00NjIsMTEgKzQ2MiwxMSBAQCBhZGFfcHJpbnRfc2NhbGFyIChzdHJ1Y3QgdHlwZSAq dHlwZSwgTE9OCiAgCiAgc3RhdGljIHZvaWQKICBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0 cmVhbSwgc3RydWN0IHR5cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCkBAIC05 NzcsNyArOTc3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmlu dC5jCiAgICB1bnNpZ25lZCBpbnQgdGhpbmdzX3ByaW50ZWQgPSAwOwogICAgaW50IGluX3F1b3Rl cyA9IDA7CiAgICBpbnQgbmVlZF9jb21tYSA9IDA7Ci1AQCAtNDgzLDkgKzQ4Myw5IEBAIHByaW50 c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QKK0BAIC00ODEsOSArNDgxLDkgQEAg cHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdAogICAgICB7CiAgICAgICAg LyogUG9zaXRpb24gb2YgdGhlIGNoYXJhY3RlciB3ZSBhcmUgZXhhbWluaW5nCiAgICAgICAgICAg dG8gc2VlIHdoZXRoZXIgaXQgaXMgcmVwZWF0ZWQuICAqLwpAQCAtOTg5LDcgKzk4OSw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJpbnQuYwogIAogICAgICAgIFFV SVQ7CiAgCi1AQCAtNTE2LDcgKzUxNiw4IEBAIHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3Ry ZWFtLCBzdHJ1Y3QKK0BAIC01MTQsNyArNTE0LDggQEAgcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIHN0cnVjdAogIAkgIGFkYV9lbWl0X2NoYXIgKGNoYXJfYXQgKHN0cmluZywgaSwg dHlwZV9sZW4sIGJ5dGVfb3JkZXIpLAogIAkJCSBlbHR0eXBlLCBzdHJlYW0sICdcJycsIHR5cGVf bGVuKTsKICAJICBmcHV0c19maWx0ZXJlZCAoIiciLCBzdHJlYW0pOwpAQCAtOTk5LDcgKzk5OSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFscHJpbnQuYwogIAkgIGkg PSByZXAxIC0gMTsKICAJICB0aGluZ3NfcHJpbnRlZCArPSBvcHRpb25zLT5yZXBlYXRfY291bnRf dGhyZXNob2xkOwogIAkgIG5lZWRfY29tbWEgPSAxOwotQEAgLTU0NCw3ICs1NDUsNyBAQCBwcmlu dHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0CitAQCAtNTQyLDcgKzU0Myw3IEBA IHByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QKICAKICB2b2lkCiAgYWRh X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAg LTEwMDgsNyArMTAwOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hZGEtdmFs cHJpbnQuYwogIAkgICAgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2Vz LAogIAkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7 Ci1AQCAtNTU4LDcgKzU1OSw3IEBAIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwgc3QKK0BAIC01NTYsNyArNTU3LDcgQEAgYWRhX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAq c3RyZWFtLCBzdAogIAogIHZvaWQKICBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC0xMDE3LDcgKzEwMTcsNyBAQCBJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvYWRhLXZhbHByaW50LmMKICAJICAgICAgIHN0cnVjdCB1aV9m aWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2 YWwsCiAgCSAgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykK LUBAIC01OTAsOCArNTkxLDggQEAgYWRhX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5 cGUsCitAQCAtNTg4LDggKzU4OSw4IEBAIGFkYV92YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBl ICp0eXBlLAogICAgICB7CiAgICAgICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJh cmNoX2J5dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKHR5cGUpKTsKICAgICAgICBzdHJ1Y3QgdHlw ZSAqZWx0dHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwpAQCAtMTAyOCw3ICsxMDI4LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAgCiAgICAg ICAgLyogV2Uga25vdyB0aGF0IEVMVFRZUEUgY2Fubm90IHBvc3NpYmx5IGJlIG51bGwsIGJlY2F1 c2Ugd2UgZm91bmQKICAJIHRoYXQgVFlQRSBpcyBhIHN0cmluZy1saWtlIHR5cGUuICBTaW1pbGFy bHksIHRoZSBzaXplIG9mIEVMVFRZUEUKLUBAIC02MDksNyArNjEwLDcgQEAgYWRhX3ZhbF9wcmlu dF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUsCitAQCAtNjA3LDcgKzYwOCw3IEBAIGFkYV92YWxf cHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAogICAgICAgICAgIGVsZW1lbnRzIHVwIHRv IGl0LiAgKi8KICAgICAgICBpZiAob3B0aW9ucy0+c3RvcF9wcmludF9hdF9udWxsKQogICAgICAg ICAgewpAQCAtMTAzNyw3ICsxMDM3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2FkYS12YWxwcmludC5jCiAgCiAgICAgICAgICAgIC8qIExvb2sgZm9yIGEgTlVMTCBjaGFyLiAg Ki8KICAgICAgICAgICAgZm9yICh0ZW1wX2xlbiA9IDA7Ci1AQCAtNjQyLDcgKzY0Myw3IEBAIGFk YV92YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTY0MCw3ICs2NDEsNyBA QCBhZGFfdmFsX3ByaW50X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMgdm9p ZAogIGFkYV92YWxfcHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2 YWxhZGRyLApAQCAtMTA0Niw3ICsxMDQ2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2FkYS12YWxwcmludC5jCiAgCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vy c2UsCiAgCQkgY29uc3Qgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJCSBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC05MTcsMTIgKzkxOCwxMiBA QCBhZGFfdmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zCitAQCAtOTE1LDEyICs5 MTYsMTIgQEAgYWRhX3ZhbF9wcmludF8xIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29ucwogIAogIHN0 YXRpYyBpbnQKICBwcmludF92YXJpYW50X3BhcnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZmll bGRfbnVtLApAQCAtMTA2MSw3ICsxMDYxLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2FkYS12YWxwcmludC5jCiAgewogICAgc3RydWN0IHR5cGUgKnZhcl90eXBlID0gVFlQRV9G SUVMRF9UWVBFICh0eXBlLCBmaWVsZF9udW0pOwogICAgaW50IHdoaWNoID0gYWRhX3doaWNoX3Zh cmlhbnRfYXBwbGllcyAodmFyX3R5cGUsIG91dGVyX3R5cGUsCi1AQCAtMTAyOSwxMSArMTAzMCwx MSBAQCBwcmludF9yZWNvcmQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnCitAQCAtMTAyNywx MSArMTAyOCwxMSBAQCBwcmludF9yZWNvcmQgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnCiAg CiAgc3RhdGljIGludAogIHByaW50X2ZpZWxkX3ZhbHVlcyAoc3RydWN0IHR5cGUgKnR5cGUsIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMTA3NSw3ICsxMDc1LDcgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAgewogICAgaW50IGksIGxlbjsKICAK LUBAIC0xMDk5LDcgKzExMDAsNyBAQCBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVjdCB0eXBlICp0 eXBlLCBjCitAQCAtMTA5Nyw3ICsxMDk4LDcgQEAgcHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgYwogIAkgICAgfQogIAkgIGVsc2UKICAJICAgIHsKQEAgLTEwODQsMTEgKzEw ODQsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FkYS12YWxwcmludC5jCiAg CSAgICAgIGludCBiaXRfc2l6ZSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZSwgaSk7CiAgCSAg ICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvYW5ub3RhdGUuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L2Fubm90YXRlLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2Fubm90YXRlLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjI2MDEzMDMgKzAxMDAKLSsrKyBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9hbm5vdGF0ZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ2NjA3 Mjk3ICswMTAwCi1AQCAtNTIxLDIxICs1MjEsMjEgQEAgYW5ub3RhdGVfZnJhbWVfZW5kICh2b2lk KQorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYW5ub3RhdGUuYwkyMDEzLTAxLTIy IDIxOjIyOjM4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Fu bm90YXRlLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MTQ2MjIwMzggKzAxMDAKK0BAIC01MjMsMjEg KzUyMywyMSBAQCBhbm5vdGF0ZV9mcmFtZV9lbmQgKHZvaWQpCiAgfQogIAwKICB2b2lkCkBAIC0x MTE0LDExICsxMTE0LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hbm5vdGF0 ZS5jCiAgfQogIAogIHZvaWQKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hbm5vdGF0 ZS5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYW5ub3RhdGUuaAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvYW5ub3RhdGUuaAkyMDEzLTAxLTE4 IDIzOjI3OjIyLjA2MjYwMTMwMyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2Fu bm90YXRlLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NDY2MDcyOTcgKzAxMDAKLUBAIC05Myw4ICs5 Myw4IEBAIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX3NvdXJjZV9lbmQgKHYKKy0tLSBnZGIt Ny41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2Fubm90YXRlLmgJMjAxMy0wMS0yMiAyMToxOTozOC4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hbm5vdGF0ZS5oCTIw MTMtMDItMTUgMjI6NDA6MTguNTE1NjIyMDQxICswMTAwCitAQCAtOTIsOCArOTIsOCBAQCBleHRl cm4gdm9pZCBhbm5vdGF0ZV9mcmFtZV9zb3VyY2VfZW5kICh2CiAgZXh0ZXJuIHZvaWQgYW5ub3Rh dGVfZnJhbWVfd2hlcmUgKHZvaWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2ZyYW1lX2VuZCAo dm9pZCk7CiAgCkBAIC0xMTI5LDEwICsxMTI5LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9hbm5vdGF0ZS5oCiAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZWx0X3JlcF9lbmQgKHZv aWQpOwogIGV4dGVybiB2b2lkIGFubm90YXRlX2VsdCAodm9pZCk7CiAgZXh0ZXJuIHZvaWQgYW5u b3RhdGVfYXJyYXlfc2VjdGlvbl9lbmQgKHZvaWQpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL2FybS1saW51eC1uYXQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Fy bS1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDYzNjAxMzA1ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6 Mjc6MjguODQ3NjA3Mjk4ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9h cm0tbGludXgtbmF0LmMJMjAxMy0wMS0wMSAwNzozMjozOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hcm0tbGludXgtbmF0LmMJMjAxMy0wMi0xNSAyMjo0MDox OC41MTU2MjIwNDEgKzAxMDAKIEBAIC0xMDczLDcgKzEwNzMsNyBAQCBhcm1fbGludXhfcmVtb3Zl X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnCiAgLyogQXJlIHdlIGFibGUgdG8gdXNlIGEgaGFyZHdh cmUgd2F0Y2hwb2ludCBmb3IgdGhlIExFTiBieXRlcyBzdGFydGluZyBhdCAKICAgICBBRERSPyAg Ki8KQEAgLTExNDIsMTAgKzExNDIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2FybS1saW51eC1uYXQuYwogIHsKICAgIGNvbnN0IHN0cnVjdCBhcm1fbGludXhfaHdicF9jYXAg KmNhcCA9IGFybV9saW51eF9nZXRfaHdicF9jYXAgKCk7CiAgICBDT1JFX0FERFIgbWF4X3dwX2xl bmd0aCwgYWxpZ25lZF9hZGRyOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2F4LWdk Yi5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYXgtZ2RiLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2F4LWdkYi5jCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDY0NjAxMzA3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2Ri LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NDg2MDcyOTkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL2F4LWdkYi5jCTIwMTMtMDEtMzEgMTc6Mjc6NTAuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYXgtZ2RiLmMJMjAxMy0wMi0xNSAyMjo0 MDoxOC41MTY2MjIwNDMgKzAxMDAKIEBAIC04MywxMiArODMsMTIgQEAgc3RhdGljIHZvaWQgZ2Vu X3RyYWNlZF9wb3AgKHN0cnVjdCBnZGJhcgogIHN0YXRpYyB2b2lkIGdlbl9zaWduX2V4dGVuZCAo c3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CiAgc3RhdGljIHZvaWQgZ2VuX2V4 dGVuZCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7CkBAIC0xMjQ1LDEwICsx MjQ1LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC1nZGIuYwogIHsKICAg IGludCBpLCByc2x0OwogICAgaW50IG5iYXNlcyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7 Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2VuZXJhbC5jCitJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvYXgtZ2VuZXJhbC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDExOC5vcmlnL2dkYi9heC1nZW5lcmFsLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4w NjQ2MDEzMDcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC1nZW5lcmFsLmMJ MjAxMy0wMS0xOCAyMzoyNzoyOC44NDg2MDcyOTkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL2F4LWdlbmVyYWwuYwkyMDEzLTAxLTMxIDE3OjI3OjUwLjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2F4LWdlbmVyYWwuYwkyMDEzLTAyLTE1 IDIyOjQwOjE4LjUxNjYyMjA0MyArMDEwMAogQEAgLTE5Miw3ICsxOTIsNyBAQCBheF96ZXJvX2V4 dCAoc3RydWN0IGFnZW50X2V4cHIgKngsIGludCBuCiAgCiAgLyogQXBwZW5kIGEgdHJhY2VfcXVp Y2sgaW5zdHJ1Y3Rpb24gdG8gRVhQUiwgdG8gcmVjb3JkIE4gYnl0ZXMuICAqLwpAQCAtMTI1OCwx MCArMTI1OCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXgtZ2VuZXJhbC5j CiAgewogICAgLyogTiBtdXN0IGZpdCBpbiBhIGJ5dGUuICAqLwogICAgaWYgKG4gPCAwIHx8IG4g PiAyNTUpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYXguaAorSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2F4LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL2F4LmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjQ2MDEzMDcgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODQ4NjA3 Mjk5ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9heC5oCTIwMTMtMDEt MDEgMDc6MzI6MzkuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv YXguaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUxNzYyMjA0NSArMDEwMAogQEAgLTE5MCw3ICsxOTAs NyBAQCBleHRlcm4gdm9pZCBheF9leHQgKHN0cnVjdCBhZ2VudF9leHByICpFCiAgZXh0ZXJuIHZv aWQgYXhfemVyb19leHQgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBpbnQgTik7CiAgCkBAIC0x MjcxLDExICsxMjcxLDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9heC5oCiAg CiAgLyogQXBwZW5kIGEgZ290byBvcCB0byBFWFBSLiAgT1AgaXMgdGhlIGFjdHVhbCBvcCAobXVz dCBiZSBhb3BfZ290byBvcgogICAgIGFvcF9pZl9nb3RvKS4gIFdlIGFzc3VtZSB3ZSBkb24ndCBr bm93IHRoZSB0YXJnZXQgb2Zmc2V0IHlldCwKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9icmVha3BvaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50 LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2JyZWFrcG9p bnQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2NzYwMTMxMiArMDEwMAotKysrIGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAxLTE4IDIzOjI5OjMzLjY1MjcyNjYwMyAr MDEwMAotQEAgLTY2MjcsNyArNjYyNyw3IEBAIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaCAoc3Ry dWN0IGFkZHJlc3MKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2JyZWFrcG9pbnQu YwkyMDEzLTAyLTE1IDIyOjM3OjM1LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAx MzAyMTUvZ2RiL2JyZWFrcG9pbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMTYyMjA1MyArMDEw MAorQEAgLTY2NjAsNyArNjY2MCw3IEBAIGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaCAoc3RydWN0 IGFkZHJlc3MKICAKICBzdGF0aWMgaW50CiAgYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3Jhbmdl IChzdHJ1Y3QgYWRkcmVzc19zcGFjZSAqYXNwYWNlMSwgQ09SRV9BRERSIGFkZHIxLApAQCAtMTI4 NCw3ICsxMjg0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQu YwogIAkJCQlDT1JFX0FERFIgYWRkcjIpCiAgewogICAgcmV0dXJuICgoZ2RiYXJjaF9oYXNfZ2xv YmFsX2JyZWFrcG9pbnRzICh0YXJnZXRfZ2RiYXJjaCAoKSkKLUBAIC0xMTE1NSw3ICsxMTE1NSw3 IEBAIGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHUKK0BAIC0xMTE4Miw3 ICsxMTE4Miw3IEBAIGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCAoc3RydWN0IHZhbHUKICAJ CSAgICAgICYmIFRZUEVfQ09ERSAodnR5cGUpICE9IFRZUEVfQ09ERV9BUlJBWSkpCiAgCQl7CiAg CQkgIENPUkVfQUREUiB2YWRkciA9IHZhbHVlX2FkZHJlc3MgKHYpOwpAQCAtMTI5MywxMCArMTI5 MywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5jCiAgCQkg IGludCBudW1fcmVnczsKICAKICAJCSAgbGVuID0gKHRhcmdldF9leGFjdF93YXRjaHBvaW50cwot SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuaAorSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL2JyZWFrcG9pbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUu NTAuMjAxMzAxMTgub3JpZy9nZGIvYnJlYWtwb2ludC5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDY4 NjAxMzEzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYnJlYWtwb2ludC5oCTIw MTMtMDEtMTggMjM6Mjc6MjguODU0NjA3MzExICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIx NS5vcmlnL2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAyMjozNzo0Ny4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9icmVha3BvaW50LmgJMjAxMy0wMi0xNSAy Mjo0MDoxOC41MjE2MjIwNTMgKzAxMDAKIEBAIC0yNTAsNyArMjUwLDcgQEAgc3RydWN0IGJwX3Rh cmdldF9pbmZvCiAgCiAgICAvKiBJZiB0aGlzIGlzIGEgcmFuZ2VkIGJyZWFrcG9pbnQsIHRoZW4g dGhpcyBmaWVsZCBjb250YWlucyB0aGUKQEAgLTEzMTUsMTAgKzEzMTUsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2JyZWFrcG9pbnQuaAogIAogICAgLyogVHlwZSBvZiBoYXJk d2FyZSB3YXRjaHBvaW50LiAgKi8KICAgIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgd2F0Y2hwb2lu dF90eXBlOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvYy1sYW5nLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2MtbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDY5NjAx MzE1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYy1sYW5nLmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44NTQ2MDczMTEgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL2MtbGFuZy5jCTIwMTMtMDItMTMgMTE6NDE6MTEuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvYy1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MjI2MjIw NTUgKzAxMDAKIEBAIC0xODgsNyArMTg4LDcgQEAgY19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwgcwogIAogIHZvaWQKQEAgLTEzMjgsNyArMTMyOCw3IEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9jLWxhbmcuYwogIAkgICAgY29uc3QgY2hhciAqdXNlcl9lbmNv ZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAogIAkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMpCiAgewotQEAgLTY3Nyw3ICs2NzcsNyBAQCBldmFsdWF0ZV9zdWJl eHBfYyAoc3RydWN0IHR5cGUgKmV4cGVjdF90CitAQCAtNjYzLDcgKzY2Myw3IEBAIGV2YWx1YXRl X3N1YmV4cF9jIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3QKICAJICB9CiAgCWVsc2UKICAJICB7CkBA IC0xMzM3LDcgKzEzMzcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvYy1sYW5n LmMKICAKICAJICAgIC8qIFdyaXRlIHRoZSB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuICAqLwogIAkg ICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgKytpKQotQEAgLTY4Niw3ICs2 ODYsNyBAQCBldmFsdWF0ZV9zdWJleHBfYyAoc3RydWN0IHR5cGUgKmV4cGVjdF90CitAQCAtNjcy LDcgKzY3Miw3IEBAIGV2YWx1YXRlX3N1YmV4cF9jIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3QKICAJ ICAgIGlmIChzYXRpc2Z5X2V4cGVjdGVkKQogIAkgICAgICB7CiAgCQlMT05HRVNUIGxvd19ib3Vu ZCwgaGlnaF9ib3VuZDsKQEAgLTEzNDYsMTAgKzEzNDYsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL2MtbGFuZy5jCiAgCiAgCQlpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAoVFlQ RV9JTkRFWF9UWVBFIChleHBlY3RfdHlwZSksCiAgCQkJCQkgJmxvd19ib3VuZCwgJmhpZ2hfYm91 bmQpIDwgMCkKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jLWxhbmcuaAorSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2MtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDExOC5vcmlnL2dkYi9jLWxhbmcuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA2OTYw MTMxNSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5oCTIwMTMtMDEt MTggMjM6Mjc6MjguODU0NjA3MzExICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmln L2dkYi9jLWxhbmcuaAkyMDEzLTAxLTAxIDA3OjMyOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL2MtbGFuZy5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTIyNjIy MDU1ICswMTAwCiBAQCAtNzMsNyArNzMsNyBAQCBleHRlcm4gdm9pZCBjX3ByaW50X3R5cGVkZWYg KHN0cnVjdCB0eXBlCiAgCQkJICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICAKQEAgLTEzODUsMTAg KzEzODUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2MtbGFuZy5oCiAgCQkJ CQlzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJCQljb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJ CQkJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICosCi1JbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvYy12YWxwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvYy12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmln L2dkYi9jLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNjk2MDEzMTUgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoy OC44NTU2MDczMTMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2MtdmFs cHJpbnQuYwkyMDEzLTAxLTAxIDA3OjMyOjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL2MtdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMjYyMjA1 NSArMDEwMAogQEAgLTEzMiw3ICsxMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGdlbmVyaWNf dmFsX3ByaW50X2RlCiAgCiAgdm9pZApAQCAtMTQzMCwxMCArMTQzMCwxMCBAQCBJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvYy12YWxwcmludC5jCiAgICBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyBvcHRzID0gKm9wdGlvbnM7CiAgCiAgICBvcHRzLmRlcmVmX3JlZiA9IDE7Ci1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY3AtYWJpLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9jcC1hYmkuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvY3AtYWJpLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzA2MDEzMTcgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9jcC1hYmkuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg1 NTYwNzMxMyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvY3AtYWJpLmMJ MjAxMy0wMS0xNyAyMToyNjoxNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9jcC1hYmkuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMzYyMjA1NyArMDEwMAogQEAg LTY4LDEzICs2OCwxMyBAQCBpc19vcGVyYXRvcl9uYW1lIChjb25zdCBjaGFyICpuYW1lKQogICAg cmV0dXJuICgqY3VycmVudF9jcF9hYmkuaXNfb3BlcmF0b3JfbmFtZSkgKG5hbWUpOwogIH0KQEAg LTE0NjksMTAgKzE0NjksMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLWFi aS5jCiAgewogICAgc3RydWN0IHR5cGUgKnJldCA9IE5VTEw7CiAgICB2b2xhdGlsZSBzdHJ1Y3Qg Z2RiX2V4Y2VwdGlvbiBlOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLWFiaS5o CitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY3AtYWJpLmgKID09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t LSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2NwLWFiaS5oCTIwMTMtMDEtMTggMjM6Mjc6 MjIuMDcwNjAxMzE3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvY3AtYWJpLmgJ MjAxMy0wMS0xOCAyMzoyNzoyOC44NTU2MDczMTMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL2NwLWFiaS5oCTIwMTMtMDEtMDEgMDc6MzI6NDAuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvY3AtYWJpLmgJMjAxMy0wMi0xNSAyMjo0MDox OC41MjM2MjIwNTcgKzAxMDAKIEBAIC0xMDgsNyArMTA4LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1 ZSAqdmFsdWVfdmlydHVhbF9mbl9maQogIAkJCQkJICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsCiAg CQkJCQkgICAgIGludCBqLApAQCAtMTUyNywxMCArMTUyNywxMCBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvY3AtYWJpLmgKICAgIHZvaWQgKCpwcmludF9tZXRob2RfcHRyKSAoY29u c3QgZ2RiX2J5dGUgKmNvbnRlbnRzLAogIAkJCSAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJCQkg ICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvY3AtdmFscHJpbnQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2NwLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2NwLXZh bHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzA2MDEzMTcgKzAxMDAKLSsrKyBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9jcC12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODU2NjA3 MzE1ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9jcC12YWxwcmludC5j CTIwMTMtMDEtMDcgMTc6NDA6MzYuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvY3AtdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyMzYyMjA1NyArMDEw MAogQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGljIHZvaWQgY3BfcHJpbnRfc3RhdGljX2ZpZWxkIChz dHJ1YwogIAkJCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKICAKQEAg LTE2MDQsMTAgKzE2MDQsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2NwLXZh bHByaW50LmMKICAgICAgICBpbnQgc2tpcDsKICAgICAgICBzdHJ1Y3QgdHlwZSAqYmFzZWNsYXNz ID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKHR5cGUsIGkpKTsKICAgICAgICBjb25z dCBjaGFyICpiYXNlbmFtZSA9IFRZUEVfTkFNRSAoYmFzZWNsYXNzKTsKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9kLWxhbmcuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L2QtbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9k LWxhbmcuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3MDYwMTMxNyArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2QtbGFuZy5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODU2NjA3MzE1ICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9kLWxhbmcuaAkyMDEzLTAxLTAx IDA3OjMyOjQxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2Qt bGFuZy5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTIzNjIyMDU3ICswMTAwCiBAQCAtMjUsNyArMjUs NyBAQAogIGV4dGVybiBjaGFyICpkX2RlbWFuZ2xlIChjb25zdCBjaGFyICptYW5nbGVkLCBpbnQg b3B0aW9ucyk7CiAgCkBAIC0xNjE3LDEwICsxNjE3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9kLWxhbmcuaAogIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKICAJCQkgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9kLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2QtdmFs cHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3MTYwMTMxOSArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2QtdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg1NjYwNzMx NSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZC12YWxwcmludC5jCTIw MTMtMDEtMDEgMDc6MzI6NDEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvZC12YWxwcmludC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI0NjIyMDU5ICswMTAwCiBA QCAtMjksNyArMjksNyBAQAogIAogIHN0YXRpYyBpbnQKQEAgLTE2NDMsMTAgKzE2NDMsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2QtdmFscHJpbnQuYwogICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBpbnQg cmV0OwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2RvdWJsZXN0LmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kb3VibGVzdC5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDExOC5vcmlnL2dkYi9kb3VibGVzdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDcx NjAxMzE5ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZG91Ymxlc3QuYwkyMDEz LTAxLTE4IDIzOjI3OjI4Ljg1NjYwNzMxNSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvZG91Ymxlc3QuYwkyMDEzLTAxLTAxIDA3OjMyOjQxLjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2RvdWJsZXN0LmMJMjAxMy0wMi0xNSAyMjo0MDox OC41MjQ2MjIwNTkgKzAxMDAKIEBAIC03OTEsNyArNzkxLDcgQEAgZmxvYXRmb3JtYXRfZnJvbV9k b3VibGVzdCAoY29uc3Qgc3RydWN0CiAgICAgYnV0IG5vdCBwYXNzZWQgb24gYnkgR0RCLiAgVGhp cyBzaG91bGQgYmUgZml4ZWQuICAqLwogIApAQCAtMTY2NywxMSArMTY2NywxMSBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZG91Ymxlc3QuYwogICAgcmV0dXJuIGZvcm1hdDsKICB9 CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9kd2FyZjJsb2MuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZHdhcmYybG9jLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4w NzM2MDEzMjMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwky MDEzLTAxLTE4IDIzOjI3OjI4Ljg1NzYwNzMxNiArMDEwMAotQEAgLTE2NzIsMTkgKzE2NzIsMTkg QEAgaW5zZXJ0X2JpdHMgKHVuc2lnbmVkIGludCBkYXR1bSwKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL2R3YXJmMmxvYy5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZHdhcmYybG9jLmMJMjAxMy0wMi0xNSAy Mjo0MDoxOC41MjU2MjIwNjEgKzAxMDAKK0BAIC0xNjc3LDE5ICsxNjc3LDE5IEBAIGluc2VydF9i aXRzICh1bnNpZ25lZCBpbnQgZGF0dW0sCiAgICAgQklUU19CSUdfRU5ESUFOIGlzIHRha2VuIGRp cmVjdGx5IGZyb20gZ2RiYXJjaC4gICovCiAgCiAgc3RhdGljIHZvaWQKQEAgLTE2OTcsNyArMTY5 Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogIAogICAg ZGVzdF9hdmFpbCA9IDggLSBkZXN0X29mZnNldF9iaXRzICUgODsKICAKLUBAIC0xNzIyLDEzICsx NzIyLDEzIEBAIHN0YXRpYyB2b2lkCitAQCAtMTcyNywxMyArMTcyNywxMyBAQCBzdGF0aWMgdm9p ZAogIHJlYWRfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnYpCiAgewogICAgaW50IGk7CkBA IC0xNzEzLDcgKzE3MTMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYy bG9jLmMKICAgIHNpemVfdCBidWZmZXJfc2l6ZSA9IDA7CiAgICBjaGFyICpidWZmZXIgPSBOVUxM OwogICAgc3RydWN0IGNsZWFudXAgKmNsZWFudXA7Ci1AQCAtMTc1NSw4ICsxNzU1LDggQEAgcmVh ZF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdikKK0BAIC0xNzYwLDggKzE3NjAsOCBAQCBy ZWFkX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2KQogICAgZm9yIChpID0gMDsgaSA8IGMt Pm5fcGllY2VzICYmIG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1 Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0xNzI0LDcgKzE3MjQs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKICAgICAgICBj b25zdCBnZGJfYnl0ZSAqaW50ZXJtZWRpYXRlX2J1ZmZlcjsKICAKICAgICAgICAvKiBDb21wdXRl IHNpemUsIHNvdXJjZSwgYW5kIGRlc3RpbmF0aW9uIG9mZnNldHMgZm9yIGNvcHlpbmcsIGluCi1A QCAtMTkwNSwxMyArMTkwNSwxMyBAQCBzdGF0aWMgdm9pZAorQEAgLTE5MTAsMTMgKzE5MTAsMTMg QEAgc3RhdGljIHZvaWQKICB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0 cnVjdCB2YWx1ZSAqZnJvbSkKICB7CiAgICBpbnQgaTsKQEAgLTE3NDAsNyArMTc0MCw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwogICAgc2l6ZV90IGJ1ZmZl cl9zaXplID0gMDsKICAgIGNoYXIgKmJ1ZmZlciA9IE5VTEw7CiAgICBzdHJ1Y3QgY2xlYW51cCAq Y2xlYW51cDsKLUBAIC0xOTM5LDggKzE5MzksOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVj dCB2YWx1ZSAqdG8sIHN0CitAQCAtMTk0NCw4ICsxOTQ0LDggQEAgd3JpdGVfcGllY2VkX3ZhbHVl IChzdHJ1Y3QgdmFsdWUgKnRvLCBzdAogICAgZm9yIChpID0gMDsgaSA8IGMtPm5fcGllY2VzICYm IG9mZnNldCA8IHR5cGVfbGVuOyBpKyspCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgZHdhcmZfZXhw cl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07CkBAIC0xNzUxLDcgKzE3NTEsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYybG9jLmMKICAgICAgICBpbnQgbmVlZF9iaXR3 aXNlOwogICAgICAgIGNvbnN0IGdkYl9ieXRlICpzb3VyY2VfYnVmZmVyOwogIAotQEAgLTIwNjks OCArMjA2OSw4IEBAIHdyaXRlX3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp0bywgc3QKK0BA IC0yMDc0LDggKzIwNzQsOCBAQCB3cml0ZV9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8s IHN0CiAgICAgaW1wbGljaXQgcG9pbnRlci4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTc2Miw3 ICsxNzYyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAg CQkJIGVudW0gZHdhcmZfdmFsdWVfbG9jYXRpb24gY2hlY2tfZm9yKQogIHsKICAgIHN0cnVjdCBw aWVjZV9jbG9zdXJlICpjCi1AQCAtMjA4Niw3ICsyMDg2LDcgQEAgY2hlY2tfcGllY2VkX3ZhbHVl X2JpdHMgKGNvbnN0IHN0cnVjdCB2YQorQEAgLTIwOTEsNyArMjA5MSw3IEBAIGNoZWNrX3BpZWNl ZF92YWx1ZV9iaXRzIChjb25zdCBzdHJ1Y3QgdmEKICAgIGZvciAoaSA9IDA7IGkgPCBjLT5uX3Bp ZWNlcyAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQogICAgICB7CiAgICAgICAgc3RydWN0IGR3YXJm X2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ldOwpAQCAtMTc3MSw3ICsxNzcxLDcgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5jCiAgCiAgICAgICAgaWYgKGJp dF9vZmZzZXQgPiAwKQogIAl7Ci1AQCAtMjEyNCw4ICsyMTI0LDggQEAgY2hlY2tfcGllY2VkX3Zh bHVlX2JpdHMgKGNvbnN0IHN0cnVjdCB2YQorQEAgLTIxMjksOCArMjEyOSw4IEBAIGNoZWNrX3Bp ZWNlZF92YWx1ZV9iaXRzIChjb25zdCBzdHJ1Y3QgdmEKICB9CiAgCiAgc3RhdGljIGludApAQCAt MTc4Miw3ICsxNzgyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxv Yy5jCiAgewogICAgcmV0dXJuIGNoZWNrX3BpZWNlZF92YWx1ZV9iaXRzICh2YWx1ZSwgYml0X29m ZnNldCwgYml0X2xlbmd0aCwKICAJCQkJICBEV0FSRl9WQUxVRV9NRU1PUlkpOwotQEAgLTIxNDMs OCArMjE0Myw4IEBAIGNoZWNrX3BpZWNlZF92YWx1ZV9pbnZhbGlkIChjb25zdCBzdHJ1Y3QKK0BA IC0yMTQ4LDggKzIxNDgsOCBAQCBjaGVja19waWVjZWRfdmFsdWVfaW52YWxpZCAoY29uc3Qgc3Ry dWN0CiAgICAgYSBzeW50aGV0aWMgcG9pbnRlci4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTc5 Myw3ICsxNzkzLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMmxvYy5j CiAgewogICAgcmV0dXJuIGNoZWNrX3BpZWNlZF92YWx1ZV9iaXRzICh2YWx1ZSwgYml0X29mZnNl dCwgYml0X2xlbmd0aCwKICAJCQkJICBEV0FSRl9WQUxVRV9JTVBMSUNJVF9QT0lOVEVSKTsKLUBA IC0yMTY5LDkgKzIxNjksMTAgQEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3QgdmFsdWUg KnZhbAorQEAgLTIxNzQsOSArMjE3NCwxMCBAQCBpbmRpcmVjdF9waWVjZWRfdmFsdWUgKHN0cnVj dCB2YWx1ZSAqdmFsCiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKICAgIHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZTsKICAgIHN0cnVjdCBkd2FyZjJfbG9jZXhwcl9iYXRvbiBiYXRvbjsKQEAgLTE4MDYs NyArMTgwNiw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2MuYwog IAogICAgdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbHVlKSk7CiAgICBpZiAo VFlQRV9DT0RFICh0eXBlKSAhPSBUWVBFX0NPREVfUFRSKQotQEAgLTIxODUsNyArMjE4Niw3IEBA IGluZGlyZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWwKK0BAIC0yMTkwLDcgKzIx OTEsNyBAQCBpbmRpcmVjdF9waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsCiAgICBmb3Ig KGkgPSAwOyBpIDwgYy0+bl9waWVjZXMgJiYgYml0X2xlbmd0aCA+IDA7IGkrKykKICAgICAgewog ICAgICAgIHN0cnVjdCBkd2FyZl9leHByX3BpZWNlICpwID0gJmMtPnBpZWNlc1tpXTsKQEAgLTE4 MTUsNyArMTgxNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJsb2Mu YwogIAogICAgICAgIGlmIChiaXRfb2Zmc2V0ID4gMCkKICAJewotQEAgLTI0MDEsNyArMjQwMiw3 IEBAIGR3YXJmMl9ldmFsdWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHkKK0BAIC0yNDA2LDcg KzI0MDcsNyBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2NfZnVsbCAoc3RydWN0IHR5CiAgCSAg ICBzdHJ1Y3QgdmFsdWUgKnZhbHVlID0gZHdhcmZfZXhwcl9mZXRjaCAoY3R4LCAwKTsKICAJICAg IGdkYl9ieXRlICpjb250ZW50czsKICAJICAgIGNvbnN0IGdkYl9ieXRlICp2YWxfYnl0ZXM7CkBA IC0xODI0LDExICsxODI0LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2Fy ZjJsb2MuYwogIAogIAkgICAgaWYgKGJ5dGVfb2Zmc2V0ICsgVFlQRV9MRU5HVEggKHR5cGUpID4g bikKICAJICAgICAgaW52YWxpZF9zeW50aGV0aWNfcG9pbnRlciAoKTsKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJyZWFkLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1 L2dkYi9kd2FyZjJyZWFkLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9y aWcvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3NjYwMTMyOCArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2R3YXJmMnJlYWQuYwkyMDEzLTAxLTE4IDIzOjI3 OjI4Ljg2MDYwNzMyMSArMDEwMAotQEAgLTEyMTYsMTIgKzEyMTYsMTIgQEAgZHdhcmYyX2NvbXBs ZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3Jp Zy9nZGIvZHdhcmYycmVhZC5jCTIwMTMtMDItMTUgMjI6NDA6MTMuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZHdhcmYycmVhZC5jCTIwMTMtMDItMTUgMjI6NDA6 MTguNTI4NjIyMDY3ICswMTAwCitAQCAtMTIyNywxMiArMTIyNywxMiBAQCBkd2FyZjJfY29tcGxl eF9sb2NhdGlvbl9leHByX2NvbXBsYWludCAoCiAgfQogIAogIHN0YXRpYyB2b2lkCkBAIC0xODQ1 LDcgKzE4NDUsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZHdhcmYycmVhZC5j CiAgfQogIAogIHN0YXRpYyB2b2lkCi1AQCAtMTA2MTUsOCArMTA2MTUsOCBAQCBkd2FyZjJfYWRk X2ZpZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAqZmlwCitAQCAtMTA2NDEsOCArMTA2NDEsOCBAQCBk d2FyZjJfYWRkX2ZpZWxkIChzdHJ1Y3QgZmllbGRfaW5mbyAqZmlwCiAgCSAgICAgICAgIG9iamVj dCwgYW5kIHRoZW4gc3VidHJhY3Qgb2ZmIHRoZSBudW1iZXIgb2YgYml0cyBvZgogIAkgICAgICAg ICB0aGUgZmllbGQgaXRzZWxmLiAgVGhlIHJlc3VsdCBpcyB0aGUgYml0IG9mZnNldCBvZgogIAkg ICAgICAgICB0aGUgTFNCIG9mIHRoZSBmaWVsZC4gICovCkBAIC0xODU2LDEwICsxODU2LDEwIEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9kd2FyZjJyZWFkLmMKICAKICAJICAgICAg YXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2J5dGVfc2l6ZSwgY3UpOwogIAkgICAgICBp ZiAoYXR0cikKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9ldmFsLmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9ldmFsLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUw LjIwMTMwMTE4Lm9yaWcvZ2RiL2V2YWwuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3ODYwMTMzMSAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2V2YWwuYwkyMDEzLTAxLTE4IDIzOjMw OjI3LjQzMjc4NTcxMiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZXZh bC5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvZXZhbC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI5NjIyMDcwICswMTAwCiBA QCAtMjk0LDcgKzI5NCw4IEBAIGV2YWx1YXRlX3N0cnVjdF90dXBsZSAoc3RydWN0IHZhbHVlICpz dHIKICAgIHdoaWxlICgtLW5hcmdzID49IDApCiAgICAgIHsKQEAgLTE5MTIsNyArMTkxMiw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9ldmFsLmMKICAJICBMT05HRVNUIGxvd19i b3VuZCwgaGlnaF9ib3VuZCwgaW5kZXg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMg KHJhbmdlX3R5cGUsICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1AQCAtMjA4MSw3ICsy MDgyLDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZQorQEAgLTIw NzgsNyArMjA3OSw4IEBAIGV2YWx1YXRlX3N1YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmUK ICAgICAgICB7CiAgICAgICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZzEp OwogICAgICAgICAgc3RydWN0IHR5cGUgKnJlYWxfdHlwZTsKQEAgLTE5MjIsMTAgKzE5MjIsMTAg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2V2YWwuYwogIAlzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyBvcHRzOwogIAogIAlnZXRfdXNlcl9wcmludF9vcHRpb25zICgmb3B0cyk7 Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZi1sYW5nLmMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9mLWxhbmcuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAx MzAxMTgub3JpZy9nZGIvZi1sYW5nLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wNzg2MDEzMzEgKzAx MDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLWxhbmcuYwkyMDEzLTAxLTE4IDIzOjI3 OjI4Ljg2MTYwNzMyMyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZi1s YW5nLmMJMjAxMy0wMS0wMSAwNzozMjo0Mi4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9mLWxhbmcuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUyOTYyMjA3MCArMDEw MAogQEAgLTEwMyw3ICsxMDMsNyBAQCBmX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0 eXBlLCBzCiAgCiAgc3RhdGljIHZvaWQKQEAgLTE5MzUsMTAgKzE5MzUsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2YtbGFuZy5jCiAgCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBjb25zdCBjaGFyICp0eXBlX2VuY29kaW5n ID0gZl9nZXRfZW5jb2RpbmcgKHR5cGUpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2YtbGFuZy5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZi1sYW5nLmgKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTMtMDEt MTggMjM6Mjc6MjIuMDc4NjAxMzMxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv Zi1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjE2MDczMjMgKzAxMDAKKy0tLSBnZGItNy41 LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2YtbGFuZy5oCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZi1sYW5nLmgJMjAxMy0wMi0x NSAyMjo0MDoxOC41Mjk2MjIwNzAgKzAxMDAKIEBAIC0zMyw3ICszMyw3IEBAIGV4dGVybiBjb25z dCBjaGFyICpmX29iamVjdF9hZGRyZXNzX2RhdGEKICAgIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3Ry dWN0IHVpX2ZpbGUgKnN0cmVhbSk7CiAgZXh0ZXJuIHZvaWQgZl9vYmplY3RfYWRkcmVzc19kYXRh X3ZhbGlkX29yX2Vycm9yIChzdHJ1Y3QgdHlwZSAqdHlwZSk7CkBAIC0xOTQ4LDEwICsxOTQ4LDEw IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLWxhbmcuaAogIAkJCSBzdHJ1Y3Qg dWlfZmlsZSAqLCBpbnQsCiAgCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZSAqLAogIAkJCSBjb25zdCBz dHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9mLXZhbHByaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9mLXZhbHBy aW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2YtdmFs cHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA3OTYwMTMzMyArMDEwMAotKysrIGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2YtdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2MTYwNzMy MyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZi12YWxwcmludC5jCTIw MTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvZi12YWxwcmludC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTI5NjIyMDcwICswMTAwCiBA QCAtNDMsNyArNDMsNyBAQCBzdGF0aWMgdm9pZCBmNzdfY3JlYXRlX2FycmF5cHJpbnRfb2Zmc2V0 CiAgCQkJCQkgICAgICBzdHJ1Y3QgdWlfZmlsZSAqKTsKICBzdGF0aWMgdm9pZCBmNzdfZ2V0X2R5 bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKik7CkBAIC0yMDE2LDEwICsy MDE2LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9mLXZhbHByaW50LmMKICAK ICAgICAgICAgICAgdmFsX3ByaW50IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGluZGV4KSwgdmFs YWRkciwKICAJCSAgICAgZW1iZWRkZWRfb2Zmc2V0ICsgb2Zmc2V0LAotSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL2ZpbmR2YXIuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L2ZpbmR2YXIuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIv ZmluZHZhci5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDc5NjAxMzMzICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvZmluZHZhci5jCTIwMTMtMDEtMTggMjM6MzA6NTMuNTExODE1NzE2 ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9maW5kdmFyLmMJMjAxMy0w Mi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9maW5kdmFyLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41Mjk2MjIwNzAgKzAxMDAKIEBAIC02NDQs NyArNjQ0LDcgQEAgZGVmYXVsdF92YWx1ZV9mcm9tX3JlZ2lzdGVyIChzdHJ1Y3QgdHlwZQogIAkJ CSAgICAgc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lKQogIHsKQEAgLTIwNTIsMTAgKzIwNTIsMTAg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2ZpbmR2YXIuYwogIAogICAgICAgIGlm ICh2YWx1ZV9vcHRpbWl6ZWRfb3V0IChyZWd2YWwpKQogIAl7Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvZnJhbWUuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2ZyYW1l LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2ZyYW1lLmMJ MjAxMy0wMS0xOCAyMzoyNzoyMi4wODA2MDEzMzUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9mcmFtZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODYyNjA3MzI1ICswMTAwCistLS0g Z2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9mcmFtZS5jCTIwMTMtMDEtMDEgMDc6MzI6NDIu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZnJhbWUuYwkyMDEz LTAyLTE1IDIyOjQwOjE4LjUzMDYyMjA3MyArMDEwMAogQEAgLTExMTMsNyArMTExMyw3IEBAIGRl cHJlY2F0ZWRfZnJhbWVfcmVnaXN0ZXJfcmVhZCAoc3RydWN0IGYKICAKICBpbnQKQEAgLTIwNzQs MTAgKzIwNzQsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2ZyYW1lLmMKICAK ICAgIC8qIENvcHkgdGhlIGRhdGEuICAqLwogICAgd2hpbGUgKGxlbiA+IDApCi1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvZnJhbWUuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL2ZyYW1lLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2ZyYW1lLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODA2MDEzMzUgKzAxMDAKLSsrKyBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9mcmFtZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODYyNjA3MzI1ICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9mcmFtZS5oCTIwMTMtMDItMDEg MjA6NTg6MDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZnJh bWUuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzMDYyMjA3MyArMDEwMAogQEAgLTUzMiw3ICs1MzIs NyBAQCBleHRlcm4gdm9pZCBwdXRfZnJhbWVfcmVnaXN0ZXIgKHN0cnVjdCBmCiAgICAgY29udGVu dHMgYXJlIG9wdGltaXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVEUCwKICAg ICAqVU5BVkFJTEFCTEVQIGFjY29yZGluZ2x5LiAgKi8KQEAgLTIwODcsMjAgKzIwODcsMjAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2ZyYW1lLmgKICAJCQkJICAgICBnZGJfYnl0 ZSAqbXlhZGRyLAogIAkJCQkgICAgIGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXAp OwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKK0luZGV4OiBn ZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJ0eXBlcy5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDExOC5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDgx NjAxMzM3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlwZXMuYwkyMDEz LTAxLTE4IDIzOjI4OjUzLjc2OTY4NTI0MiArMDEwMAotQEAgLTIwOTEsNyArMjA5MSw3IEBAIGFs bG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICp0eXAKLSAgICB3aGVyZSBpbml0X3R5 cGUgaXMgY2FsbGVkIHdpdGggYSBOVUxMIHZhbHVlIGZvciBOQU1FKS4gICovCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9nZGJ0eXBlcy5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ2RidHlwZXMuYwkyMDEz LTAyLTE1IDIyOjQwOjM5LjQ5NjY0ODA1MiArMDEwMAorQEAgLTIwOTAsNyArMjA5MCw3IEBAIGFs bG9jYXRlX2duYXRfYXV4X3R5cGUgKHN0cnVjdCB0eXBlICp0eXAKKyAgICBsZWFzdCBhcyBsb25n IGFzIE9CSkZJTEUuICAqLwogIAogIHN0cnVjdCB0eXBlICoKIC1pbml0X3R5cGUgKGVudW0gdHlw ZV9jb2RlIGNvZGUsIGludCBsZW5ndGgsIGludCBmbGFncywKICtpbml0X3R5cGUgKGVudW0gdHlw ZV9jb2RlIGNvZGUsIExPTkdFU1QgbGVuZ3RoLCBpbnQgZmxhZ3MsCi0gCSAgIGNoYXIgKm5hbWUs IHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorIAkgICBjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSkKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC0yMzI0LDgg KzIzMjQsOCBAQCBpc19wdWJsaWNfYW5jZXN0b3IgKHN0cnVjdCB0eXBlICpiYXNlLCBzCitAQCAt MjMyMSw4ICsyMzIxLDggQEAgaXNfcHVibGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwg cwogIAogIHN0YXRpYyBpbnQKICBpc191bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlw ZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcywKQEAgLTIxMTEsNyArMjExMSw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5jCiAgCQkJICAgQ09SRV9BRERSIGFk ZHJlc3MsIHN0cnVjdCB2YWx1ZSAqdmFsKQogIHsKICAgIGludCBpLCBjb3VudCA9IDA7Ci1AQCAt MjMzNiw3ICsyMzM2LDcgQEAgaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoc3RydWN0IHR5cGUg KgorQEAgLTIzMzMsNyArMjMzMyw3IEBAIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVj dCB0eXBlICoKICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRjbGFzcykg JiYgY291bnQgPCAyOyArK2kpCiAgICAgIHsKICAgICAgICBzdHJ1Y3QgdHlwZSAqaXRlcjsKQEAg LTIxMjAsNyArMjEyMCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBl cy5jCiAgCiAgICAgICAgaXRlciA9IGNoZWNrX3R5cGVkZWYgKFRZUEVfQkFTRUNMQVNTIChkY2xh c3MsIGkpKTsKICAKLUBAIC0yMzc3LDcgKzIzNzcsNyBAQCBpc191bmlxdWVfYW5jZXN0b3Jfd29y a2VyIChzdHJ1Y3QgdHlwZSAqCitAQCAtMjM3NCw3ICsyMzc0LDcgQEAgaXNfdW5pcXVlX2FuY2Vz dG9yX3dvcmtlciAoc3RydWN0IHR5cGUgKgogIGludAogIGlzX3VuaXF1ZV9hbmNlc3RvciAoc3Ry dWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB2YWx1ZSAqdmFsKQogIHsKQEAgLTIxMjksNyArMjEyOSw3 IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5jCiAgCiAgICByZXR1 cm4gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoYmFzZSwgdmFsdWVfdHlwZSAodmFsKSwgJm9m ZnNldCwKICAJCQkJICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKLUBAIC0z Mjg2LDcgKzMyODYsNyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwK K0BAIC0zMjgzLDcgKzMyODMsNyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZSwKICAgICAgICBicmVhazsKICAgICAgfQogICAgcHV0c19maWx0ZXJlZCAoIlxuIik7CkBA IC0yMTM4LDcgKzIxMzgsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlw ZXMuYwogICAgaWYgKFRZUEVfT0JKRklMRV9PV05FRCAodHlwZSkpCiAgICAgIHsKICAgICAgICBw cmludGZpX2ZpbHRlcmVkIChzcGFjZXMsICJvYmpmaWxlICIpOwotQEAgLTM0MTAsOCArMzQxMCw4 IEBAIHJlY3Vyc2l2ZV9kdW1wX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTM0MDcsOCAr MzQwNyw4IEBAIHJlY3Vyc2l2ZV9kdW1wX3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLAogIAkJCSAg aWR4LCBwbG9uZ2VzdCAoVFlQRV9GSUVMRF9FTlVNVkFMICh0eXBlLCBpZHgpKSk7CiAgICAgICAg ZWxzZQogIAlwcmludGZpX2ZpbHRlcmVkIChzcGFjZXMgKyAyLApAQCAtMjE0OSw3ICsyMTQ5LDcg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKICAJCQkgIFRZUEVf RklFTERfQklUU0laRSAodHlwZSwgaWR4KSk7CiAgICAgICAgZ2RiX3ByaW50X2hvc3RfYWRkcmVz cyAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBpZHgpLCBnZGJfc3Rkb3V0KTsKICAgICAgICBwcmlu dGZfZmlsdGVyZWQgKCIgbmFtZSAnJXMnICgiLAotQEAgLTM5MjUsNyArMzkyNSw3IEBAIGNvcHlf dHlwZSAoY29uc3Qgc3RydWN0IHR5cGUgKnR5cGUpCitAQCAtMzkyMiw3ICszOTIyLDcgQEAgY29w eV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkKICAKICBzdHJ1Y3QgdHlwZSAqCiAgYXJj aF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKQEAgLTIxNTgsMTAgKzIxNTgsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5cGVzLmMKICB7CiAgICBzdHJ1Y3Qg dHlwZSAqdHlwZTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5o CitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ2RidHlwZXMuaAogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDEzLTAxLTE4IDIz OjI3OjIyLjA4MjYwMTMzOSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dkYnR5 cGVzLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjM2MDczMjcgKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMjE1Lm9yaWcvZ2RiL2dkYnR5cGVzLmgJMjAxMy0wMi0xNSAyMjozNzowNC4wMDAwMDAw MDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9nZGJ0eXBlcy5oCTIwMTMtMDIt MTUgMjI6NDI6MzMuODQ2Nzg3OTU5ICswMTAwCiBAQCAtNjA2LDcgKzYwNiw3IEBAIHN0cnVjdCBt YWluX3R5cGUKICAJICAgZ2RiYXJjaF9iaXRzX2JpZ19lbmRpYW49MCB0YXJnZXRzLCBpdCBpcyB0 aGUgYml0IG9mZnNldCB0bwogIAkgICB0aGUgTFNCLiAgKi8KQEAgLTIxODQsOCArMjE4NCw4IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nZGJ0eXBlcy5oCiAgZXh0ZXJuIHN0cnVj dCBnZGJhcmNoICpnZXRfdHlwZV9hcmNoIChjb25zdCBzdHJ1Y3QgdHlwZSAqKTsKICAKICAvKiBI ZWxwZXIgZnVuY3Rpb24gdG8gY29uc3RydWN0IG9iamZpbGUtb3duZWQgdHlwZXMuICAqLwotLWV4 dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF90eXBlIChlbnVtIHR5cGVfY29kZSwgaW50LCBpbnQsIGNo YXIgKiwKLStleHRlcm4gc3RydWN0IHR5cGUgKmluaXRfdHlwZSAoZW51bSB0eXBlX2NvZGUsIExP TkdFU1QsIGludCwgY2hhciAqLAorLWV4dGVybiBzdHJ1Y3QgdHlwZSAqaW5pdF90eXBlIChlbnVt IHR5cGVfY29kZSwgaW50LCBpbnQsIGNvbnN0IGNoYXIgKiwKKytleHRlcm4gc3RydWN0IHR5cGUg KmluaXRfdHlwZSAoZW51bSB0eXBlX2NvZGUsIExPTkdFU1QsIGludCwgY29uc3QgY2hhciAqLAog IAkJCSAgICAgICBzdHJ1Y3Qgb2JqZmlsZSAqKTsKICAKICAvKiBIZWxwZXIgZnVuY3Rpb25zIHRv IGNvbnN0cnVjdCBhcmNoaXRlY3R1cmUtb3duZWQgdHlwZXMuICAqLwpAQCAtMjE5NSwxMCArMjE5 NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ2RidHlwZXMuaAogIGV4dGVy biBzdHJ1Y3QgdHlwZSAqYXJjaF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGludCwg aW50LCBjaGFyICopOwogIGV4dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9jaGFyYWN0ZXJfdHlwZSAo c3RydWN0IGdkYmFyY2ggKiwgaW50LCBpbnQsIGNoYXIgKik7CiAgZXh0ZXJuIHN0cnVjdCB0eXBl ICphcmNoX2Jvb2xlYW5fdHlwZSAoc3RydWN0IGdkYmFyY2ggKiwgaW50LCBpbnQsIGNoYXIgKik7 Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ251LXYyLWFiaS5jCitJbmRleDogZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvZ251LXYyLWFiaS5jCiA9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcu NS41MC4yMDEzMDExOC5vcmlnL2dkYi9nbnUtdjItYWJpLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4w ODI2MDEzMzkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nbnUtdjItYWJpLmMJ MjAxMy0wMS0xOCAyMzoyNzoyOC44NjM2MDczMjcgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL2dudS12Mi1hYmkuYwkyMDEzLTAxLTIxIDE4OjI5OjM5LjAwMDAwMDAwMCAr MDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2dudS12Mi1hYmkuYwkyMDEzLTAyLTE1 IDIyOjQwOjE4LjUzMjYyMjA3NyArMDEwMAogQEAgLTg1LDcgKzg1LDcgQEAgZ251djJfaXNfb3Bl cmF0b3JfbmFtZSAoY29uc3QgY2hhciAqbmFtZQogICAgIFRZUEUgaXMgdGhlIHR5cGUgaW4gd2hp Y2ggRiBpcyBsb2NhdGVkLiAgKi8KICBzdGF0aWMgc3RydWN0IHZhbHVlICoKQEAgLTIyNTAsMTAg KzIyNTAsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dudS12Mi1hYmkuYwog IAkgICAgZ251djJfYmFzZWNsYXNzX29mZnNldCAodHlwZSwgaSwgdmFsYWRkciwKICAJCQkJICAg IGVtYmVkZGVkX29mZnNldCwgYWRkcmVzcywgdmFsKTsKICAKLUluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9nbnUtdjMtYWJpLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9n bnUtdjMtYWJpLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2Ri L2dudS12My1hYmkuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA4MzYwMTM0MSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dudS12My1hYmkuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2 NDYwNzMyOSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvZ251LXYzLWFi aS5jCTIwMTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvZ251LXYzLWFiaS5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTMyNjIyMDc3ICsw MTAwCiBAQCAtMTA2LDcgKzEwNiw3IEBAIGJ1aWxkX2dkYl92dGFibGVfdHlwZSAoc3RydWN0IGdk YmFyY2ggKmEKICB7CiAgICBzdHJ1Y3QgdHlwZSAqdDsKQEAgLTIzMjgsMTAgKzIzMjgsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2dudS12My1hYmkuYwogICAgICAgIHN0cnVj dCB0eXBlICpiYXNldHlwZTsKICAKICAgICAgICBpZiAoQkFTRVRZUEVfVklBX1ZJUlRVQUwgKGRv bWFpbiwgaSkpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ28tbGFuZy5oCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvZ28tbGFuZy5oCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9nby1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4w ODM2MDEzNDEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9nby1sYW5nLmgJMjAx My0wMS0xOCAyMzoyNzoyOC44NjQ2MDczMjkgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1 Lm9yaWcvZ2RiL2dvLWxhbmcuaAkyMDEzLTAxLTAxIDA3OjMyOjQ0LjAwMDAwMDAwMCArMDEwMAor KysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2dvLWxhbmcuaAkyMDEzLTAyLTE1IDIyOjQwOjE4 LjUzMjYyMjA3NyArMDEwMAogQEAgLTgzLDcgKzgzLDcgQEAgZXh0ZXJuIHZvaWQgZ29fcHJpbnRf dHlwZSAoc3RydWN0IHR5cGUgKgogIC8qIERlZmluZWQgaW4gZ28tdmFscHJpbnQuYy4gICovCiAg CkBAIC0yMzQxLDEwICsyMzQxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9n by1sYW5nLmgKICAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJ CSAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ28t dmFscHJpbnQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2dvLXZhbHByaW50LmMK ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2dvLXZhbHByaW50 LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODM2MDEzNDEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9nby12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY0NjA3MzI5ICsw MTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9nby12YWxwcmludC5jCTIwMTMt MDEtMDEgMDc6MzI6NDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvZ28tdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzMjYyMjA3NyArMDEwMAogQEAg LTM3LDcgKzM3LDcgQEAKICAKICBzdGF0aWMgdm9pZApAQCAtMjM2NywxMSArMjM2NywxMSBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvZ28tdmFscHJpbnQuYwogIAkgICAgICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKICB7CiAgICBDSEVDS19UWVBF REVGICh0eXBlKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0t IGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAxLTE4IDIzOjI3 OjIyLjA4NDYwMTM0MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0 LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjQ2MDczMjkgKzAxMDAKLUBAIC0yOTIsNyArMjkyLDcg QEAgc3RhdGljIGludCBpMzg2X3JlbW92ZV9hbGlnbmVkX3dhdGNocG9pbgorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAyLTEzIDE1OjU5OjQ5LjAwMDAw MDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2kzODYtbmF0LmMJMjAxMy0w Mi0xNSAyMjo0MTo1My45NTA3Mzk0MTQgKzAxMDAKK0BAIC0yOTAsNyArMjkwLDcgQEAgc3RhdGlj IGludCBpMzg2X3JlbW92ZV9hbGlnbmVkX3dhdGNocG9pbgogICAgIHZhbGlkIHZhbHVlLCBib21i cyB0aHJvdWdoIGludGVybmFsX2Vycm9yLiAgKi8KICBzdGF0aWMgaW50IGkzODZfaGFuZGxlX25v bmFsaWduZWRfd2F0Y2hwb2ludCAoc3RydWN0IGkzODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwK ICAJCQkJCSAgICAgIGkzODZfd3Bfb3BfdCB3aGF0LApAQCAtMjM4MCw3ICsyMzgwLDcgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0LmMKICAJCQkJCSAgICAgIGVudW0g dGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSk7CiAgCiAgLyogSW1wbGVtZW50YXRpb24uICAqLwotQEAg LTUwNCw4ICs1MDQsOCBAQCBpMzg2X3JlbW92ZV9hbGlnbmVkX3dhdGNocG9pbnQgKHN0cnVjdCBp CitAQCAtNTAxLDggKzUwMSw4IEBAIGkzODZfcmVtb3ZlX2FsaWduZWRfd2F0Y2hwb2ludCAoc3Ry dWN0IGkKICAKICBzdGF0aWMgaW50CiAgaTM4Nl9oYW5kbGVfbm9uYWxpZ25lZF93YXRjaHBvaW50 IChzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLApAQCAtMjM5OCwxMiArMjM5OCwx MiBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaTM4Ni1uYXQuYwogLWkzODZfcmVn aW9uX29rX2Zvcl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKICtpMzg2X3Jl Z2lvbl9va19mb3Jfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQogIHsK LSAgIHN0cnVjdCBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUgPSBpMzg2X2RlYnVnX3JlZ19z dGF0ZSAoKTsKLSAgIGludCBucmVnczsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9p bmYtdHRyYWNlLmMKKyAgIHN0cnVjdCBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUKKyAgICAg PSBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAocHRpZF9nZXRfcGlkIChpbmZlcmlvcl9wdGlkKSk7CitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaW5mLXR0cmFjZS5jCiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9pbmYtdHRyYWNlLmMJMjAxMy0wMS0xOCAy MzoyNzoyMi4wODQ2MDEzNDMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmYt dHRyYWNlLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjQ2MDczMjkgKzAxMDAKKy0tLSBnZGItNy41 LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2luZi10dHJhY2UuYwkyMDEzLTAxLTAxIDA3OjMyOjQ1LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2luZi10dHJhY2UuYwky MDEzLTAyLTE1IDIyOjQwOjE4LjUzMzYyMjA3OCArMDEwMAogQEAgLTM2NCw3ICszNjQsNyBAQCBp bmZfdHRyYWNlX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5CiAgfQogIApAQCAtMjQxMywx MSArMjQxMywxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mLXR0cmFjZS5j CiAgewogICAgcmV0dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2 LWxhbmcuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LWxhbmcuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvanYtbGFuZy5jCTIwMTMtMDEt MTggMjM6Mjc6MjIuMDg0NjAxMzQzICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv anYtbGFuZy5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY1NjA3MzMxICswMTAwCi1AQCAtNDM5LDcg KzQzOSw3IEBAIGphdmFfbGlua19jbGFzc190eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2QKKy0tLSBn ZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2p2LWxhbmcuYwkyMDEzLTAyLTE1IDIyOjM3OjA0 LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LWxhbmcuYwky MDEzLTAyLTE1IDIyOjQwOjE4LjUzMzYyMjA3OCArMDEwMAorQEAgLTQzNyw3ICs0MzcsNyBAQCBq YXZhX2xpbmtfY2xhc3NfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkCiAgICBmb3IgKGkgPSBUWVBF X05fQkFTRUNMQVNTRVMgKHR5cGUpOyBpIDwgbmZpZWxkczsgaSsrKQogICAgICB7CiAgICAgICAg aW50IGFjY2ZsYWdzOwpAQCAtMjQyNiw3ICsyNDI2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL2p2LWxhbmcuYwogIAogICAgICAgIGlmIChmaWVsZHMgPT0gTlVMTCkKICAJewot QEAgLTg4OSw3ICs4ODksNyBAQCBqYXZhX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBlICp0 eXBlCitAQCAtODg3LDcgKzg4Nyw3IEBAIGphdmFfcHJpbnRjaGFyIChpbnQgYywgc3RydWN0IHR5 cGUgKnR5cGUKICBzdGF0aWMgdm9pZAogIGphdmFfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpz dHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLAogIAkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnN0cmlu ZywKQEAgLTI0MzUsMTAgKzI0MzUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2Ri L2p2LWxhbmcuYwogIAkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9w dGlvbnMpCiAgewogICAgY29uc3QgY2hhciAqdHlwZV9lbmNvZGluZyA9IGphdmFfZ2V0X2VuY29k aW5nICh0eXBlKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9qdi1sYW5nLmgKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9qdi1sYW5nLmgKID09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBn ZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2p2LWxhbmcuaAkyMDEzLTAxLTE4IDIzOjI3OjIy LjA4NTYwMTM0NSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LWxhbmcuaAky MDEzLTAxLTE4IDIzOjI3OjI4Ljg2NTYwNzMzMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAy MTUub3JpZy9nZGIvanYtbGFuZy5oCTIwMTMtMDEtMDEgMDc6MzI6NDYuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvanYtbGFuZy5oCTIwMTMtMDItMTUgMjI6NDA6 MTguNTMzNjIyMDc4ICswMTAwCiBAQCAtNDIsOCArNDIsOCBAQCBzdHJ1Y3QgYnVpbHRpbl9qYXZh X3R5cGUKICAKICBleHRlcm4gY29uc3Qgc3RydWN0IGJ1aWx0aW5famF2YV90eXBlICpidWlsdGlu X2phdmFfdHlwZSAoc3RydWN0IGdkYmFyY2ggKik7CkBAIC0yNDUwLDEwICsyNDUwLDEwIEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9qdi1sYW5nLmgKICAJCQkgICAgY29uc3Qgc3Ry dWN0IHZhbHVlICosCiAgCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICop OwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2p2LXZhbHByaW50LmMKK0luZGV4 OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9qdi12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0g Z2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9qdi12YWxwcmludC5jCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDg1NjAxMzQ1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvanYtdmFs cHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2NTYwNzMzMSArMDEwMAorLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvanYtdmFscHJpbnQuYwkyMDEzLTAxLTMxIDE5OjM3OjM3LjAw MDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2p2LXZhbHByaW50LmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC41MzM2MjIwNzggKzAxMDAKIEBAIC0yNjYsNyArMjY2LDcgQEAg amF2YV92YWx1ZV9wcmludCAoc3RydWN0IHZhbHVlICp2YWwsIHN0cgogIAogIHN0YXRpYyB2b2lk CkBAIC0yNDcyLDEwICsyNDcyLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9q di12YWxwcmludC5jCiAgCQlzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJ CWNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbGFuZ3VhZ2Uu YworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL2xhbmd1YWdlLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2xhbmd1YWdlLmMJMjAxMy0wMS0xOCAy MzoyNzoyMi4wODU2MDEzNDUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5n dWFnZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY1NjA3MzMxICswMTAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi9sYW5ndWFnZS5jCTIwMTMtMDEtMDEgMDc6MzI6NDYuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGFuZ3VhZ2UuYwkyMDEzLTAy LTE1IDIyOjQwOjE4LjUzNDYyMjA3OSArMDEwMAogQEAgLTcyMCw3ICs3MjAsNyBAQCB1bmtfbGFu Z19wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqCiAgCiAgc3RhdGljIHZvaWQKQEAgLTI0 OTQsMTAgKzI0OTQsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2xhbmd1YWdl LmMKICAJCSAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCSAgICBj b25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCwKICAJCSAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRf b3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5ndWFn ZS5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbGFuZ3VhZ2UuaAogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvbGFuZ3VhZ2UuaAkyMDEzLTAxLTE4 IDIzOjI3OjIyLjA4NjYwMTM0NiArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2xh bmd1YWdlLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjU2MDczMzEgKzAxMDAKKy0tLSBnZGItNy41 LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL2xhbmd1YWdlLmgJMjAxMy0wMS0wMSAwNzozMjo0Ni4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9sYW5ndWFnZS5oCTIwMTMt MDItMTUgMjI6NDA6MTguNTM0NjIyMDc5ICswMTAwCiBAQCAtMTc1LDcgKzE3NSw3IEBAIHN0cnVj dCBsYW5ndWFnZV9kZWZuCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqIHN0cmVhbSk7CiAgCkBAIC0y NTE2LDEwICsyNTE2LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9sYW5ndWFn ZS5oCiAgCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKICAJCQkgIGNv bnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20yLWxhbmcu YworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL20yLWxhbmcuYwogPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvbTItbGFuZy5jCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDg2NjAxMzQ2ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFu Zy5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY2NjA3MzMzICswMTAwCistLS0gZ2RiLTcuNS41MC4y MDEzMDIxNS5vcmlnL2dkYi9tMi1sYW5nLmMJMjAxMy0wMS0wNyAxNzo0MDozNi4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tMi1sYW5nLmMJMjAxMy0wMi0xNSAy Mjo0MDoxOC41MzQ2MjIwNzkgKzAxMDAKIEBAIC0xMDMsMTAgKzEwMywxMCBAQCBtMl9wcmludGNo YXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKICAKICBzdGF0aWMgdm9pZApAQCAtMjU1NCwx MCArMjU1NCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFuZy5jCiAg CSAgaSA9IHJlcDEgLSAxOwogIAkgIHRoaW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9j b3VudF90aHJlc2hvbGQ7CiAgCSAgbmVlZF9jb21tYSA9IDE7Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvbTItbGFuZy5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbTIt bGFuZy5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tMi1s YW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODY2MDEzNDYgKzAxMDAKLSsrKyBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi9tMi1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44NjY2MDczMzMgKzAx MDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL20yLWxhbmcuaAkyMDEzLTAxLTAx IDA3OjMyOjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL20y LWxhbmcuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNDYyMjA3OSArMDEwMAogQEAgLTMzLDcgKzMz LDcgQEAgZXh0ZXJuIHZvaWQgbTJfcHJpbnRfdHlwZWRlZiAoc3RydWN0IHR5cAogIGV4dGVybiBp bnQgbTJfaXNfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlKTsKICBleHRlcm4gaW50IG0yX2lz X3VuYm91bmRlZF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUpOwpAQCAtMjU2NywxMSArMjU2Nywx MSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItbGFuZy5oCiAgCQkJICBzdHJ1 Y3QgdWlfZmlsZSAqLCBpbnQsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWUgKiwKICAJCQkgIGNv bnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL20yLXR5cGVwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv bTItdHlwZXByaW50LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcv Z2RiL20yLXR5cGVwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY2NjA3MzMzICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTItdHlwZXByaW50LmMJMjAxMy0wMS0xOCAyMzoz MTo0NS44MzI4Nzc4MDUgKzAxMDAKLUBAIC0yMzYsOSArMjM2LDEyIEBAIHN0YXRpYyB2b2lkIG0y X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL20yLXR5cGVwcmludC5jCTIwMTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisr KysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbTItdHlwZXByaW50LmMJMjAxMy0wMi0xNSAyMjo0 MDoxOC41MzQ2MjIwNzkgKzAxMDAKK0BAIC0yMzMsOSArMjMzLDEyIEBAIHN0YXRpYyB2b2lkIG0y X2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwKICAJICBtMl9wcmludF9ib3VuZHMgKFRZUEVfSU5E RVhfVFlQRSAodHlwZSksIHN0cmVhbSwgc2hvdywgLTEsIDEpOwogIAl9CiAgICAgICAgZWxzZQpA QCAtMjU4NywxMCArMjU4NywxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbTIt dHlwZXByaW50LmMKICAgICAgfQogICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiXSBPRiAi KTsKICAgIG0yX3ByaW50X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpLCAiIiwgc3RyZWFt LCBzaG93LCBsZXZlbCwgZmxhZ3MpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20y LXZhbHByaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tMi12YWxwcmludC5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9tMi12YWxwcmlu dC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDg3NjAxMzQ3ICswMTAwCi0rKysgZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvbTItdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2NjYwNzMzMyAr MDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbTItdmFscHJpbnQuYwkyMDEz LTAxLTAxIDA3OjMyOjQ2LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUv Z2RiL20yLXZhbHByaW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzQ2MjIwNzkgKzAxMDAKIEBA IC0zNSw3ICszNSw3IEBAIHN0YXRpYyBpbnQgcHJpbnRfdW5wYWNrZWRfcG9pbnRlciAoc3RydWMK ICAJCQkJICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7CiAgc3RhdGljIHZvaWQKQEAgLTI2NTYs MTAgKzI2NTYsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL20yLXZhbHByaW50 LmMKICAKICAJCSAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwogIAkJICBmb3IgKHRlbXBf bGVuID0gMDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tZW1yYW5nZS5jCitJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbWVtcmFuZ2UuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvbWVtcmFuZ2UuYwkyMDEzLTAxLTE4IDIzOjI3OjIy LjA4NzYwMTM0NyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL21lbXJhbmdlLmMJ MjAxMy0wMS0xOCAyMzoyNzoyOC44NjY2MDczMzMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMw MjE1Lm9yaWcvZ2RiL21lbXJhbmdlLmMJMjAxMy0wMS0wMSAwNzozMjo0Ny4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9tZW1yYW5nZS5jCTIwMTMtMDItMTUgMjI6 NDA6MTguNTM0NjIyMDc5ICswMTAwCiBAQCAtMjEsOCArMjEsOCBAQAogICNpbmNsdWRlICJtZW1y YW5nZS5oIgogIApAQCAtMjY3MSwxMCArMjY3MSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvbWVtcmFuZ2UuYwogIHsKICAgIFVMT05HRVNUIGgsIGw7CiAgCi1JbmRleDogZ2Ri LTcuNS41MC4yMDEzMDExOC9nZGIvbWVtcmFuZ2UuaAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL21lbXJhbmdlLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9y aWcvZ2RiL21lbXJhbmdlLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODc2MDEzNDcgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9tZW1yYW5nZS5oCTIwMTMtMDEtMTggMjM6Mjc6Mjgu ODY2NjA3MzMzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9tZW1yYW5n ZS5oCTIwMTMtMDEtMDEgMDc6MzI6NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvbWVtcmFuZ2UuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNTYyMjA4MSArMDEw MAogQEAgLTMwLDcgKzMwLDcgQEAgc3RydWN0IG1lbV9yYW5nZQogICAgQ09SRV9BRERSIHN0YXJ0 OwogIApAQCAtMjY5NSwxMCArMjY5NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvbWVtcmFuZ2UuaAogIAogIC8qIFNvcnQgcmFuZ2VzIGJ5IHN0YXJ0IGFkZHJlc3MsIHRoZW4g Y29hbGVzY2UgY29udGlndW91cyBvcgogICAgIG92ZXJsYXBwaW5nIHJhbmdlcy4gICovCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWlwcy1saW51eC1uYXQuYworSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL21pcHMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGIt Ny41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxMy0wMS0xOCAyMzoy NzoyMi4wODc2MDEzNDcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9taXBzLWxp bnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODY3NjA3MzM0ICswMTAwCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9taXBzLWxpbnV4LW5hdC5jCTIwMTMtMDEtMDEgMDc6MzI6 NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvbWlwcy1saW51 eC1uYXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNTYyMjA4MSArMDEwMAogQEAgLTkzOCw3ICs5 MzgsNyBAQCB0cnlfb25lX3dhdGNoIChzdHJ1Y3QgcHRfd2F0Y2hfcmVncyAqcmVnCiAgICAgdGhl IHNwZWNpZmllZCByZWdpb24gY2FuIGJlIGNvdmVyZWQgYnkgdGhlIHdhdGNoIHJlZ2lzdGVycy4g ICovCiAgCkBAIC0yNzA4LDEwICsyNzA4LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9taXBzLWxpbnV4LW5hdC5jCiAgewogICAgc3RydWN0IHB0X3dhdGNoX3JlZ3MgZHVtbXlf cmVnczsKICAgIGludCBpOwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL29wZW5jbC1s YW5nLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9vcGVuY2wtbGFuZy5jCiA9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9vcGVuY2wtbGFuZy5jCTIw MTMtMDEtMTggMjM6Mjc6MjIuMDg4NjAxMzQ5ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvb3BlbmNsLWxhbmcuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg2ODYwNzMzNSArMDEwMAor LS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvb3BlbmNsLWxhbmcuYwkyMDEzLTAxLTI1 IDE4OjE2OjQwLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL29w ZW5jbC1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41MzU2MjIwODEgKzAxMDAKIEBAIC04MCwx MSArODAsMTEgQEAgYnVpbHRpbl9vcGVuY2xfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYgogIAog IHN0YXRpYyBzdHJ1Y3QgdHlwZSAqCkBAIC0yODM4LDEwICsyODM4LDEwIEBAIEluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9vcGVuY2wtbGFuZy5jCiAgCiAgICAgICAgaWYgKCF2YWx1ZV9i aXRzX3N5bnRoZXRpY19wb2ludGVyIChjLT52YWwsCiAgCQkJCQkgYy0+aW5kaWNlc1tpXSAqIGVs c2l6ZSArIGNvbXBfb2Zmc2V0LAotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3AtbGFu Zy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcC1sYW5nLmMKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTMtMDEtMTggMjM6 Mjc6MjIuMDg5NjAxMzUxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcC1sYW5n LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44Njg2MDczMzUgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTMtMDEtMDcgMTc6NDA6MzYuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcC1sYW5nLmMJMjAxMy0wMi0xNSAyMjo0 MDoxOC41MzU2MjIwODEgKzAxMDAKIEBAIC05NSw4ICs5NSw4IEBAIHBhc2NhbF9tYWluX25hbWUg KHZvaWQpCiAgICAgYXJlIG5vdCBtdWx0aXBsZSBvZiBUQVJHRVRfQ0hBUl9CSVQgdGhlbiB0aGUg cmVzdWx0cyBhcmUgd3JvbmcKICAgICBidXQgdGhpcyBkb2VzIG5vdCBoYXBwZW4gZm9yIEZyZWUg UGFzY2FsIG5vciBmb3IgR1BDLiAgKi8KQEAgLTI4ODksMTAgKzI4ODksMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3AtbGFuZy5jCiAgCSAgaSA9IHJlcDEgLSAxOwogIAkgIHRo aW5nc19wcmludGVkICs9IG9wdGlvbnMtPnJlcGVhdF9jb3VudF90aHJlc2hvbGQ7CiAgCSAgbmVl ZF9jb21tYSA9IDE7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcC1sYW5nLmgKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wLWxhbmcuaAogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcC1sYW5nLmgJMjAxMy0wMS0xOCAyMzoyNzoyMi4w ODk2MDEzNTEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wLWxhbmcuaAkyMDEz LTAxLTE4IDIzOjMyOjE3LjM1ODkxNjQyNiArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvcC1sYW5nLmgJMjAxMy0wMS0wMSAwNzozMjo0Ny4wMDAwMDAwMDAgKzAxMDAKKysr KyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wLWxhbmcuaAkyMDEzLTAyLTE1IDIyOjQwOjE4LjUz NTYyMjA4MSArMDEwMAogQEAgLTM1LDcgKzM1LDcgQEAgZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50 X3R5cGUgKHN0cnVjdCB0eQogIGV4dGVybiB2b2lkIHBhc2NhbF9wcmludF90eXBlZGVmIChzdHJ1 Y3QgdHlwZSAqLCBzdHJ1Y3Qgc3ltYm9sICosCiAgCQkJCSAgc3RydWN0IHVpX2ZpbGUgKik7CkBA IC0yOTI3LDEwICsyOTI3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wLWxh bmcuaAogIAkJCQkJICAgICAgQ09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLAogIAkJCQkJICAg ICAgaW50LAogIAkJCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlICosCi1JbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvcC12YWxwcmludC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIx NS9nZGIvcC12YWxwcmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2dkYi9wLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wODk2MDEzNTEgKzAxMDAK LSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wLXZhbHByaW50LmMJMjAxMy0wMS0xOCAyMzoy NzoyOC44Njg2MDczMzUgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3At dmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL3AtdmFscHJpbnQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzNjYy MjA4NCArMDEwMAogQEAgLTU4LDcgKzU4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmlj X3ZhbF9wcmludF9kZQogIAogIHZvaWQKQEAgLTI5OTIsMTAgKzI5OTIsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3AtdmFscHJpbnQuYwogICAgICAgIHZvbGF0aWxlIHN0cnVj dCBnZGJfZXhjZXB0aW9uIGV4OwogICAgICAgIGludCBza2lwID0gMDsKICAKLUluZGV4OiBnZGIt Ny41LjUwLjIwMTMwMTE4L2dkYi9wcGMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9wcGMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIw MTMwMTE4Lm9yaWcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5MDYw MTM1MyArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1uYXQuYwky MDEzLTAxLTE4IDIzOjI3OjI4Ljg2OTYwNzMzNyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAy MTUub3JpZy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMtMDEtMDEgMDc6MzI6NDkuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMt MDItMTUgMjI6NDA6MTguNTM2NjIyMDg0ICswMTAwCiBAQCAtMTQ5Miw3ICsxNDkyLDcgQEAgcHBj X2xpbnV4X2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cAogIH0KICAKQEAgLTMwMDUsMTEg KzMwMDUsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1uYXQu YwogIHsKICAgIC8qIEhhbmRsZSBzdWItOC1ieXRlIHF1YW50aXRpZXMuICAqLwogICAgaWYgKGxl biA8PSAwKQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ByaW50Y21kLmMKK0luZGV4 OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wcmludGNtZC5jCiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2Ri LTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9wcmludGNtZC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIu MDkxNjAxMzU1ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHJpbnRjbWQuYwky MDEzLTAxLTE4IDIzOjI3OjI4Ljg2OTYwNzMzNyArMDEwMAotQEAgLTI4OSw3ICsyODksNyBAQCBw cmludF9mb3JtYXR0ZWQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBpbnQKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL3ByaW50Y21kLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAwMDAwMDAg KzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9wcmludGNtZC5jCTIwMTMtMDItMTUg MjI6NDA6MTguNTM3NjIyMDg2ICswMTAwCitAQCAtMjkwLDcgKzI5MCw3IEBAIHByaW50X2Zvcm1h dHRlZCAoc3RydWN0IHZhbHVlICp2YWwsIGludAogIAkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0p CiAgewogICAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlICh2 YWwpKTsKQEAgLTMwMTgsNyArMzAxOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi9wcmludGNtZC5jCiAgCiAgICBpZiAoVkFMVUVfTFZBTCAodmFsKSA9PSBsdmFsX21lbW9yeSkK ICAgICAgbmV4dF9hZGRyZXNzID0gdmFsdWVfYWRkcmVzcyAodmFsKSArIGxlbjsKLUBAIC0zNjcs NyArMzY3LDcgQEAgcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZCAoY29uc3Qgdm9pZCAqdmFsYQorQEAg LTM2OCw3ICszNjgsNyBAQCBwcmludF9zY2FsYXJfZm9ybWF0dGVkIChjb25zdCB2b2lkICp2YWxh CiAgewogICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsK ICAgIExPTkdFU1QgdmFsX2xvbmcgPSAwOwpAQCAtMzAyNywxMCArMzAyNywxMCBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHJpbnRjbWQuYwogICAgZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwogIAogICAgLyogU3RyaW5n IHByaW50aW5nIHNob3VsZCBnbyB0aHJvdWdoIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0dGVkLiAg Ki8KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYworSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAyMTUvZ2RiL3Byb2Nmcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5MjYwMTM1NyAr MDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Byb2Nmcy5jCTIwMTMtMDEtMTggMjM6 Mjc6MjguODcwNjA3MzQwICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9w cm9jZnMuYwkyMDEzLTAxLTAxIDA3OjMyOjQ5LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUu NTAuMjAxMzAyMTUvZ2RiL3Byb2Nmcy5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTM3NjIyMDg2ICsw MTAwCiBAQCAtNDkyNiw3ICs0OTI2LDcgQEAgcHJvY2ZzX3JlbW92ZV93YXRjaHBvaW50IChDT1JF X0FERFIgYWRkcgogIH0KICAKQEAgLTMwNDAsMTAgKzMwNDAsMTAgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3Byb2Nmcy5jCiAgewogICAgLyogVGhlIG1hbiBwYWdlIGZvciBwcm9j KDQpIG9uIFNvbGFyaXMgMi42IGFuZCB1cCBzYXlzIHRoYXQgdGhlCiAgICAgICBzeXN0ZW0gY2Fu IHN1cHBvcnQgInRob3VzYW5kcyIgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludHMsIGJ1dCBnaXZlcwot SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3B5dGhvbi9weS1wcmV0dHlwcmludC5jCitJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMKID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3B5dGhvbi9weS1wcmV0 dHlwcmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDkyNjAxMzU3ICswMTAwCi0rKysgZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAxMy0wMS0xOCAyMzoy NzoyOC44NzA2MDczNDAgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3B5 dGhvbi9weS1wcmV0dHlwcmludC5jCTIwMTMtMDEtMDEgMDc6MzM6MDEuMDAwMDAwMDAwICswMTAw CisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHl0aG9uL3B5LXByZXR0eXByaW50LmMJMjAx My0wMi0xNSAyMjo0MDoxOC41Mzg2MjIwODggKzAxMDAKIEBAIC02ODksNyArNjg5LDcgQEAgcHJp bnRfY2hpbGRyZW4gKFB5T2JqZWN0ICpwcmludGVyLCBjb25zdAogIAogIGludApAQCAtMzA2Miwx MCArMzA2MiwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHl0aG9uL3B5LXBy ZXR0eXByaW50LmMKICAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAog IAkJCSAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICBjb25zdCBzdHJ1Y3QgdmFsdWVf cHJpbnRfb3B0aW9ucyAqb3B0aW9ucywKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9w eXRob24vcHl0aG9uLmgKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9weXRob24vcHl0 aG9uLmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3B5dGhv bi9weXRob24uaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5MjYwMTM1NyArMDEwMAotKysrIGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3B5dGhvbi9weXRob24uaAkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3 MDYwNzM0MCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcHl0aG9uL3B5 dGhvbi5oCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvcHl0aG9uL3B5dGhvbi5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTM4NjIy MDg4ICswMTAwCiBAQCAtMzcsNyArMzcsNyBAQCB2b2lkIHNvdXJjZV9weXRob25fc2NyaXB0IChG SUxFICpmaWxlLCBjCiAgdm9pZCBydW5fcHl0aG9uX3NjcmlwdCAoaW50IGFyZ2MsIGNoYXIgKiph cmd2KTsKICAKQEAgLTMwNzUsMTEgKzMwNzUsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3B5dGhvbi9weXRob24uaAogIAkJCSAgICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0s IGludCByZWN1cnNlLAogIAkJCSAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJCSAg ICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlZ2NhY2hlLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9yZWdjYWNoZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2dkYi9yZWdjYWNoZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDkzNjAxMzU5ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuYwkyMDEzLTAxLTE4IDIzOjI3OjI4 Ljg3MTYwNzM0MiArMDEwMAotQEAgLTkwMSw3ICs5MDEsNyBAQCB0eXBlZGVmIHZvaWQgKHJlZ2Nh Y2hlX3dyaXRlX2Z0eXBlKSAoc3RyCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9y ZWdjYWNoZS5jCTIwMTMtMDEtMzEgMTk6Mzc6MzcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcu NS41MC4yMDEzMDIxNS9nZGIvcmVnY2FjaGUuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjUzODYyMjA4 OCArMDEwMAorQEAgLTg5OSw3ICs4OTksNyBAQCB0eXBlZGVmIHZvaWQgKHJlZ2NhY2hlX3dyaXRl X2Z0eXBlKSAoc3RyCiAgCiAgc3RhdGljIGVudW0gcmVnaXN0ZXJfc3RhdHVzCiAgcmVnY2FjaGVf eGZlcl9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVnbnVtLApAQCAtMzA4 OCw3ICszMDg4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlZ2NhY2hlLmMK ICAJCSAgICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyAoKnJlYWQpIChzdHJ1Y3QgcmVnY2FjaGUgKnJl Z2NhY2hlLAogIAkJCQkJCSAgaW50IHJlZ251bSwKICAJCQkJCQkgIGdkYl9ieXRlICpidWYpLAot QEAgLTk0NSw3ICs5NDUsNyBAQCByZWdjYWNoZV94ZmVyX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAq cmVnCitAQCAtOTQzLDcgKzk0Myw3IEBAIHJlZ2NhY2hlX3hmZXJfcGFydCAoc3RydWN0IHJlZ2Nh Y2hlICpyZWcKICAKICBlbnVtIHJlZ2lzdGVyX3N0YXR1cwogIHJlZ2NhY2hlX3Jhd19yZWFkX3Bh cnQgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0zMDk3LDcgKzMw OTcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuYwogIHsKICAg IHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7CiAgCi1AQCAt OTU2LDcgKzk1Niw3IEBAIHJlZ2NhY2hlX3Jhd19yZWFkX3BhcnQgKHN0cnVjdCByZWdjYWNoZQor QEAgLTk1NCw3ICs5NTQsNyBAQCByZWdjYWNoZV9yYXdfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2Fj aGUKICAKICB2b2lkCiAgcmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZSAq cmVnY2FjaGUsIGludCByZWdudW0sCkBAIC0zMTA2LDcgKzMxMDYsNyBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdjYWNoZV9kZXNj ciAqZGVzY3IgPSByZWdjYWNoZS0+ZGVzY3I7CiAgCi1AQCAtOTY3LDcgKzk2Nyw3IEBAIHJlZ2Nh Y2hlX3Jhd193cml0ZV9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUKK0BAIC05NjUsNyArOTY1LDcgQEAg cmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQgKHN0cnVjdCByZWdjYWNoZQogIAogIGVudW0gcmVnaXN0 ZXJfc3RhdHVzCiAgcmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCAoc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgaW50IHJlZ251bSwKQEAgLTMxMTUsNyArMzExNSw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9yZWdjYWNoZS5jCiAgewogICAgc3RydWN0IHJlZ2NhY2hlX2Rlc2Ny ICpkZXNjciA9IHJlZ2NhY2hlLT5kZXNjcjsKICAKLUBAIC05NzgsNyArOTc4LDcgQEAgcmVnY2Fj aGVfY29va2VkX3JlYWRfcGFydCAoc3RydWN0IHJlZ2NhYworQEAgLTk3Niw3ICs5NzYsNyBAQCBy ZWdjYWNoZV9jb29rZWRfcmVhZF9wYXJ0IChzdHJ1Y3QgcmVnY2FjCiAgCiAgdm9pZAogIHJlZ2Nh Y2hlX2Nvb2tlZF93cml0ZV9wYXJ0IChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgcmVn bnVtLApAQCAtMzEyNCwxMCArMzEyNCwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvcmVnY2FjaGUuYwogIHsKICAgIHN0cnVjdCByZWdjYWNoZV9kZXNjciAqZGVzY3IgPSByZWdj YWNoZS0+ZGVzY3I7CiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVnY2FjaGUu aAorSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3JlZ2NhY2hlLmgKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3JlZ2NhY2hlLmgJMjAxMy0wMS0xOCAy MzoyNzoyMi4wOTM2MDEzNTkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZWdj YWNoZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjguODcxNjA3MzQyICswMTAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi9yZWdjYWNoZS5oCTIwMTMtMDEtMDEgMDc6MzI6NDkuMDAwMDAw MDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcmVnY2FjaGUuaAkyMDEzLTAy LTE1IDIyOjQwOjE4LjUzODYyMjA4OCArMDEwMAogQEAgLTg5LDkgKzg5LDkgQEAgZXh0ZXJuIHZv aWQgcmVnY2FjaGVfcmF3X3dyaXRlX3Vuc2lnbmVkCiAgCiAgZXh0ZXJuIGVudW0gcmVnaXN0ZXJf c3RhdHVzCkBAIC0zMTU1LDExICszMTU1LDExIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9yZWdjYWNoZS5oCiAgCiAgLyogU3BlY2lhbCByb3V0aW5lcyB0byByZWFkL3dyaXRlIHRo ZSBQQy4gICovCiAgCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLmMKK0lu ZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdk Yi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4w OTU2MDEzNjIgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZW1vdGUuYwkyMDEz LTAxLTE4IDIzOjI3OjI4Ljg3MjYwNzM0MyArMDEwMAotQEAgLTgxNzQsNyArODE3NCw3IEBAIGlu dCByZW1vdGVfaHdfd2F0Y2hwb2ludF9sZW5ndGhfbGltaXQgPQorLS0tIGdkYi03LjUuNTAuMjAx MzAyMTUub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwkyMDEzLTAyLTE1IDIyOjQw OjE4LjU0MDYyMjA5MiArMDEwMAorQEAgLTgyMzYsNyArODIzNiw3IEBAIGludCByZW1vdGVfaHdf d2F0Y2hwb2ludF9sZW5ndGhfbGltaXQgPQogIGludCByZW1vdGVfaHdfYnJlYWtwb2ludF9saW1p dCA9IC0xOwogIAogIHN0YXRpYyBpbnQKQEAgLTMxNjgsMTAgKzMxNjgsMTAgQEAgSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5jCiAgewogICAgaWYgKHJlbW90ZV9od193YXRj aHBvaW50X2xlbmd0aF9saW1pdCA9PSAwKQogICAgICByZXR1cm4gMDsKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9zMzkwLW5hdC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvczM5MC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvczM5MC1uYXQuYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjA5NjYwMTM2MyArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3MzOTAtbmF0LmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzI2 MDczNDMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3MzOTAtbmF0LmMJ MjAxMy0wMS0wMSAwNzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9zMzkwLW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTQwNjIyMDkyICswMTAwCiBA QCAtNTcxLDcgKzU3MSw3IEBAIHMzOTBfY2FuX3VzZV9od19icmVha3BvaW50IChpbnQgdHlwZSwg aW4KICB9CiAgCkBAIC0zMTgxLDEwICszMTgxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9zMzkwLW5hdC5jCiAgewogICAgcmV0dXJuIDE7CiAgfQotSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3NwdS1tdWx0aWFyY2guYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3NwdS1tdWx0aWFyY2guYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAx MTgub3JpZy9nZGIvc3B1LW11bHRpYXJjaC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDk2NjAxMzYz ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3B1LW11bHRpYXJjaC5jCTIwMTMt MDEtMTggMjM6Mjc6MjguODczNjA3MzQ0ICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5v cmlnL2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxMy0wMS0wMSAwNzozMjo1MS4wMDAwMDAwMDAgKzAx MDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zcHUtbXVsdGlhcmNoLmMJMjAxMy0wMi0x NSAyMjo0MDoxOC41NDA2MjIwOTIgKzAxMDAKIEBAIC0xMTgsNyArMTE4LDcgQEAgc3B1X3RocmVh ZF9hcmNoaXRlY3R1cmUgKHN0cnVjdCB0YXJnZXRfbwogIAogIC8qIE92ZXJyaWRlIHRoZSB0b19y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgcm91dGluZS4gICovCkBAIC0zMTk0LDEwICszMTk0 LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zcHUtbXVsdGlhcmNoLmMKICB7 CiAgICBzdHJ1Y3QgdGFyZ2V0X29wcyAqb3BzX2JlbmVhdGggPSBmaW5kX3RhcmdldF9iZW5lYXRo ICgmc3B1X29wcyk7CiAgICB3aGlsZSAob3BzX2JlbmVhdGggJiYgIW9wc19iZW5lYXRoLT50b19y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvc3RhY2suYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3N0YWNrLmMKID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3N0YWNrLmMJMjAxMy0wMS0x OCAyMzoyNzoyMi4wOTY2MDEzNjMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9z dGFjay5jCTIwMTMtMDEtMTggMjM6Mjc6MjguODczNjA3MzQ0ICswMTAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi9zdGFjay5jCTIwMTMtMDItMTUgMjI6MzE6MzcuMDAwMDAwMDAw ICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc3RhY2suYwkyMDEzLTAyLTE1IDIy OjQwOjE4LjU0MDYyMjA5MiArMDEwMAogQEAgLTE3Myw3ICsxNzMsNyBAQCBwcmludF9zdGFja19m cmFtZSAoc3RydWN0IGZyYW1lX2luZm8gKmZyCiAgICAgYXJndW1lbnQgKG5vdCBqdXN0IHRoZSBm aXJzdCBuYW1lbGVzcyBhcmd1bWVudCkuICAqLwogIApAQCAtMzIxNiw3ICszMjE2LDcgQEAgSW5k ZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3N0YWNrLmMKICAgIC8qIE51bWJlciBvZiBpbnRz IG9mIGFyZ3VtZW50cyB0aGF0IHdlIGhhdmUgcHJpbnRlZCBzbyBmYXIuICAqLwogICAgaW50IGFy Z3NfcHJpbnRlZCA9IDA7CiAgICBzdHJ1Y3QgY2xlYW51cCAqb2xkX2NoYWluOwotQEAgLTUzNyw4 ICs1MzcsOCBAQCBwcmludF9mcmFtZV9hcmdzIChzdHJ1Y3Qgc3ltYm9sICpmdW5jLCBzCitAQCAt NTM1LDggKzUzNSw4IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHMK ICAJICAgIGNhc2UgTE9DX0FSRzoKICAJICAgIGNhc2UgTE9DX1JFRl9BUkc6CiAgCSAgICAgIHsK QEAgLTMyMjcsNyArMzIyNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9zdGFj ay5jCiAgCiAgCQkvKiBDb21wdXRlIGFkZHJlc3Mgb2YgbmV4dCBhcmd1bWVudCBieSBhZGRpbmcg dGhlIHNpemUgb2YKICAJCSAgIHRoaXMgYXJndW1lbnQgYW5kIHJvdW5kaW5nIHRvIGFuIGludCBi b3VuZGFyeS4gICovCi1AQCAtNjczLDcgKzY3Myw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVj dCBzeW1ib2wgKmZ1bmMsIHMKK0BAIC02NzEsNyArNjcxLDcgQEAgcHJpbnRfZnJhbWVfYXJncyAo c3RydWN0IHN5bWJvbCAqZnVuYywgcwogICAgICAgZW5vdWdoIGFib3V0IHRoZSBzdGFjayB0byBm aW5kIHRoZW0uICAqLwogICAgaWYgKG51bSAhPSAtMSkKICAgICAgewpAQCAtMzIzNiwxMSArMzIz NiwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvc3RhY2suYwogIAogICAgICAg IGlmIChoaWdoZXN0X29mZnNldCA9PSAtMSkKICAJc3RhcnQgPSBnZGJhcmNoX2ZyYW1lX2FyZ3Nf c2tpcCAoZ2V0X2ZyYW1lX2FyY2ggKGZyYW1lKSk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvc3ltbWlzYy5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvc3ltbWlzYy5j CiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi9zeW1taXNjLmMJ MjAxMy0wMS0xOCAyMzoyNzoyMi4wOTc2MDEzNjUgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9zeW1taXNjLmMJMjAxMy0wMS0xOCAyMzoyNzoyOC44NzM2MDczNDQgKzAxMDAKLUBA IC01MjQsMTEgKzUyNCwxMSBAQCBwcmludF9zeW1ib2wgKHZvaWQgKmFyZ3MpCistLS0gZ2RiLTcu NS41MC4yMDEzMDIxNS5vcmlnL2dkYi9zeW1taXNjLmMJMjAxMy0wMi0xNSAyMjozNDo0NC4wMDAw MDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9zeW1taXNjLmMJMjAxMy0w Mi0xNSAyMjo0MDoxOC41NDE2MjIwOTQgKzAxMDAKK0BAIC01MjcsMTEgKzUyNywxMSBAQCBwcmlu dF9zeW1ib2wgKHZvaWQgKmFyZ3MpCiAgCiAgCWNhc2UgTE9DX0NPTlNUX0JZVEVTOgogIAkgIHsK QEAgLTMyNTUsMTAgKzMyNTUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3N5 bW1pc2MuYwogIAkgICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgaSsrKQog IAkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChvdXRmaWxlLCAiICUwMngiLAogIAkJCQkodW5zaWdu ZWQpIFNZTUJPTF9WQUxVRV9CWVRFUyAoc3ltYm9sKVtpXSk7Ci1JbmRleDogZ2RiLTcuNS41MC4y MDEzMDExOC9nZGIvdGFyZ2V0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90YXJn ZXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdGFyZ2V0 LmMJMjAxMy0wMS0xOCAyMzoyNzoyMi4wOTg2MDEzNjcgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi90YXJnZXQuYwkyMDEzLTAxLTE4IDIzOjMyOjM5LjE1OTk0MzY3NCArMDEwMAor LS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdGFyZ2V0LmMJMjAxMy0wMS0zMSAxNzoz Mjo0NC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90YXJnZXQu YwkyMDEzLTAyLTE1IDIyOjQwOjE4LjU0MTYyMjA5NCArMDEwMAogQEAgLTUxLDcgKzUxLDcgQEAg c3RhdGljIHZvaWQgZGVmYXVsdF90ZXJtaW5hbF9pbmZvIChjaGFyCiAgc3RhdGljIGludCBkZWZh dWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCiAg CQkJCQkJIENPUkVfQUREUiwgQ09SRV9BRERSLCBpbnQpOwpAQCAtMzI3Nyw3ICszMjc3LDcgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5jCiAgCiAgc3RhdGljIGludCBk ZWJ1Z190b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiwgaW50LCBp bnQsCiAgCQkJCQkJICAgIHN0cnVjdCBleHByZXNzaW9uICopOwotQEAgLTM1NTIsNyArMzU1Miw3 IEBAIHRhcmdldF9maWxlaW9fcmVhZF9zdHJhbGxvYyAoY29uc3QgY2hhcgorQEAgLTM1NTAsNyAr MzU1MCw3IEBAIHRhcmdldF9maWxlaW9fcmVhZF9zdHJhbGxvYyAoY29uc3QgY2hhcgogIAogIAog IHN0YXRpYyBpbnQKQEAgLTMyODYsNyArMzI4Niw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi90YXJnZXQuYwogIHsKICAgIHJldHVybiAobGVuIDw9IGdkYmFyY2hfcHRyX2JpdCAo dGFyZ2V0X2dkYmFyY2ggKCkpIC8gVEFSR0VUX0NIQVJfQklUKTsKICB9Ci1AQCAtNDI1Myw3ICs0 MjUzLDcgQEAgZGVidWdfdG9fY2FuX3VzZV9od19icmVha3BvaW50IChpbnQgdHlwZQorQEAgLTQy NTEsNyArNDI1MSw3IEBAIGRlYnVnX3RvX2Nhbl91c2VfaHdfYnJlYWtwb2ludCAoaW50IHR5cGUK ICB9CiAgCiAgc3RhdGljIGludApAQCAtMzI5NSwxMCArMzI5NSwxMCBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmMKICB7CiAgICBDT1JFX0FERFIgcmV0dmFsOwogIAot SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5oCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMw MTE4Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMDk5NjAxMzY5ICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmgJMjAxMy0wMS0xOCAyMzoyNzoy OC44NzQ2MDczNDYgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3Rhcmdl dC5oCTIwMTMtMDItMTUgMjI6Mzc6MzAuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4y MDEzMDIxNS9nZGIvdGFyZ2V0LmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDI2MjIwOTYgKzAxMDAK IEBAIC00ODIsNyArNDgyLDcgQEAgc3RydWN0IHRhcmdldF9vcHMKICAKICAgICAgLyogRG9jdW1l bnRhdGlvbiBvZiB0aGlzIHJvdXRpbmUgaXMgcHJvdmlkZWQgd2l0aCB0aGUgY29ycmVzcG9uZGlu ZwpAQCAtMzMwOCwxMSArMzMwOCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dGFyZ2V0LmgKICAKICAgICAgaW50ICgqdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9u KSAoQ09SRV9BRERSLCBpbnQsIGludCwKICAJCQkJCSAgICAgIHN0cnVjdCBleHByZXNzaW9uICop OwotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RyYWNlcG9pbnQuYworSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RyYWNlcG9pbnQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIu MTAwNjAxMzcxICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHJhY2Vwb2ludC5j CTIwMTMtMDEtMTggMjM6Mjc6MjguODc1NjA3MzQ5ICswMTAwCi1AQCAtOTM0LDEzICs5MzQsMTMg QEAgYWRkX3JlZ2lzdGVyIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICpjbworLS0tIGdkYi03LjUu NTAuMjAxMzAyMTUub3JpZy9nZGIvdHJhY2Vwb2ludC5jCTIwMTMtMDItMTQgMTE6MTk6MzkuMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdHJhY2Vwb2ludC5jCTIw MTMtMDItMTUgMjI6NDA6MTguNTQzNjIyMDk5ICswMTAwCitAQCAtOTU1LDEzICs5NTUsMTMgQEAg YWRkX3JlZ2lzdGVyIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICpjbwogIHN0YXRpYyB2b2lkCiAg YWRkX21lbXJhbmdlIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICptZW1yYW5nZXMsIAogIAkgICAg ICBpbnQgdHlwZSwgYmZkX3NpZ25lZF92bWEgYmFzZSwKQEAgLTMzMjgsNyArMzMyOCw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAgICAgfQogIAogICAg LyogdHlwZTogbWVtcmFuZ2VfYWJzb2x1dGUgPT0gbWVtb3J5LCBvdGhlciBuID09IGJhc2VyZWcg Ki8KLUBAIC05NjksNyArOTY5LDcgQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9u X2xpc3QgKgorQEAgLTk5MCw3ICs5OTAsNyBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxl Y3Rpb25fbGlzdCAqCiAgCQlsb25nIGZyYW1lX3JlZ25vLCBsb25nIGZyYW1lX29mZnNldCwKICAJ CUNPUkVfQUREUiBzY29wZSkKICB7CkBAIC0zMzM3LDcgKzMzMzcsNyBAQCBJbmRleDogZ2RiLTcu NS41MC4yMDEzMDExOC9nZGIvdHJhY2Vwb2ludC5jCiAgICB1bnNpZ25lZCBpbnQgcmVnOwogICAg YmZkX3NpZ25lZF92bWEgb2Zmc2V0OwogICAgaW50IHRyZWF0X2FzX2V4cHIgPSAwOwotQEAgLTk5 Myw4ICs5OTMsOCBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rpb25fbGlzdCAqCitA QCAtMTAxNCw4ICsxMDE0LDggQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9uX2xp c3QgKgogIAkgIGNoYXIgdG1wWzQwXTsKICAKICAJICBzcHJpbnRmX3ZtYSAodG1wLCBvZmZzZXQp OwpAQCAtMzM0OCw3ICszMzQ4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Ry YWNlcG9pbnQuYwogIAkJCSAgIHRtcCAvKiBhZGRyZXNzICovKTsKICAJfQogICAgICAgIC8qIEEg c3RydWN0IG1heSBiZSBhIEMrKyBjbGFzcyB3aXRoIHN0YXRpYyBmaWVsZHMsIGdvIHRvIGdlbmVy YWwKLUBAIC0xMDI2LDggKzEwMjYsOCBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0IGNvbGxlY3Rp b25fbGlzdCAqCitAQCAtMTA0Nyw4ICsxMDQ3LDggQEAgY29sbGVjdF9zeW1ib2wgKHN0cnVjdCBj b2xsZWN0aW9uX2xpc3QgKgogICAgICAgIG9mZnNldCA9IGZyYW1lX29mZnNldCArIFNZTUJPTF9W QUxVRSAoc3ltKTsKICAgICAgICBpZiAoaW5mb192ZXJib3NlKQogIAl7CkBAIC0zMzU5LDcgKzMz NTksNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHJhY2Vwb2ludC5jCiAgCSAg cHJpbnRmX3ZtYSAob2Zmc2V0KTsKICAJICBwcmludGZfZmlsdGVyZWQgKCIgZnJvbSBmcmFtZSBw dHIgcmVnICVkXG4iLCByZWcpOwogIAl9Ci1AQCAtMTAzOCw4ICsxMDM4LDggQEAgY29sbGVjdF9z eW1ib2wgKHN0cnVjdCBjb2xsZWN0aW9uX2xpc3QgKgorQEAgLTEwNTksOCArMTA1OSw4IEBAIGNv bGxlY3Rfc3ltYm9sIChzdHJ1Y3QgY29sbGVjdGlvbl9saXN0ICoKICAgICAgICBvZmZzZXQgPSAw OwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTMzNzAsNyArMzM3MCw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAJICBwcmludGZfdm1h IChvZmZzZXQpOwogIAkgIHByaW50Zl9maWx0ZXJlZCAoIiBmcm9tIHJlZyAlZFxuIiwgcmVnKTsK ICAJfQotQEAgLTEwNTAsOCArMTA1MCw4IEBAIGNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3QgY29sbGVj dGlvbl9saXN0ICoKK0BAIC0xMDcxLDggKzEwNzEsOCBAQCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0 IGNvbGxlY3Rpb25fbGlzdCAqCiAgICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9M X1ZBTFVFIChzeW0pOwogICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCiAgCXsKQEAgLTMzODEsNyAr MzM4MSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90cmFjZXBvaW50LmMKICAJ ICBwcmludGZfdm1hIChvZmZzZXQpOwogIAkgIHByaW50Zl9maWx0ZXJlZCAoIiBmcm9tIGZyYW1l IHB0ciByZWcgJWRcbiIsIHJlZyk7CiAgCX0KLUBAIC0yNjIwLDcgKzI2MjAsOCBAQCBzY29wZV9p bmZvIChjaGFyICphcmdzLCBpbnQgZnJvbV90dHkpCitAQCAtMjY0Miw3ICsyNjQyLDggQEAgc2Nv cGVfaW5mbyAoY2hhciAqYXJncywgaW50IGZyb21fdHR5KQogICAgY29uc3QgY2hhciAqc3ltbmFt ZTsKICAgIGNoYXIgKnNhdmVfYXJncyA9IGFyZ3M7CiAgICBzdHJ1Y3QgYmxvY2tfaXRlcmF0b3Ig aXRlcjsKQEAgLTMzOTEsNyArMzM5MSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi90cmFjZXBvaW50LmMKICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoOwogICAgaW50IHJlZ25v OwogIAotQEAgLTI3NTAsOCArMjc1MSwxMSBAQCBzY29wZV9pbmZvIChjaGFyICphcmdzLCBpbnQg ZnJvbV90dHkpCitAQCAtMjc3Miw4ICsyNzczLDExIEBAIHNjb3BlX2luZm8gKGNoYXIgKmFyZ3Ms IGludCBmcm9tX3R0eSkKICAJICAgICAgYnJlYWs7CiAgCSAgICB9CiAgCSAgaWYgKFNZTUJPTF9U WVBFIChzeW0pKQpAQCAtMzQwNSwxMCArMzQwNSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvdHJhY2Vwb2ludC5jCiAgCX0KICAgICAgICBpZiAoQkxPQ0tfRlVOQ1RJT04gKGJs b2NrKSkKICAJYnJlYWs7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdHlwZXByaW50 LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90eXBlcHJpbnQuYwogPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44NzY2MDczNTEgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90 eXBlcHJpbnQuYwkyMDEzLTAxLTE4IDIzOjMzOjAyLjcwMjk3MzYxMCArMDEwMAorLS0tIGdkYi03 LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdHlwZXByaW50LmMJMjAxMy0wMi0xNSAyMjozMTozNy4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi90eXBlcHJpbnQuYwky MDEzLTAyLTE1IDIyOjQwOjE4LjU0MzYyMjA5OSArMDEwMAogQEAgLTQwOSw3ICs0MDksNyBAQCB3 aGF0aXNfZXhwIChjaGFyICpleHAsIGludCBzaG93KQogICAgc3RydWN0IHR5cGUgKnJlYWxfdHlw ZSA9IE5VTEw7CiAgICBzdHJ1Y3QgdHlwZSAqdHlwZTsKQEAgLTM0MTgsMTAgKzM0MTgsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3R5cGVwcmludC5jCiAgICBpbnQgdXNpbmdf ZW5jID0gMDsKICAgIHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zIG9wdHM7CiAgICBzdHJ1Y3Qg dHlwZV9wcmludF9vcHRpb25zIGZsYWdzID0gZGVmYXVsdF9wdHlwZV9mbGFnczsKLUluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxhcml0aC5jCitJbmRleDogZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvdmFsYXJpdGguYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvdmFsYXJpdGguYwkyMDEzLTAxLTE4IDIzOjI3OjIyLjEwMTYwMTM3MyArMDEwMAot KysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbGFyaXRoLmMJMjAxMy0wMS0xOCAyMzoyNzoy OC44NzY2MDczNTEgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3ZhbGFy aXRoLmMJMjAxMy0wMi0xNSAyMjozMTozNy4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi92YWxhcml0aC5jCTIwMTMtMDItMTUgMjI6NDA6MTguNTQzNjIyMDk5ICsw MTAwCiBAQCAtMTkwLDE1ICsxOTAsMTUgQEAgdmFsdWVfc3Vic2NyaXB0IChzdHJ1Y3QgdmFsdWUg KmFycmF5LCBMTwogICAgIHRvIGRvdWJsZXMsIGJ1dCBubyBsb25nZXIgZG9lcy4gICovCiAgCkBA IC0zNDQyLDcgKzM0NDIsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsYXJp dGguYwogICAgc3RydWN0IHZhbHVlICp2OwogIAogICAgaWYgKGluZGV4IDwgbG93ZXJib3VuZCB8 fCAoIVRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEIChhcnJheV90eXBlKQotQEAg LTYzNiw3ICs2MzYsNyBAQCB2YWx1ZV9jb25jYXQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0 CitAQCAtNjM1LDcgKzYzNSw3IEBAIHZhbHVlX2NvbmNhdCAoc3RydWN0IHZhbHVlICphcmcxLCBz dHJ1Y3QKICAgIHN0cnVjdCB2YWx1ZSAqaW52YWwxOwogICAgc3RydWN0IHZhbHVlICppbnZhbDI7 CiAgICBzdHJ1Y3QgdmFsdWUgKm91dHZhbCA9IE5VTEw7CkBAIC0zNDUxLDcgKzM0NTEsNyBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsYXJpdGguYwogICAgaW50IGNvdW50LCBp ZHg7CiAgICBjaGFyICpwdHI7CiAgICBjaGFyIGluY2hhcjsKLUBAIC0xNDQ0LDcgKzE0NDQsNyBA QCB2YWx1ZV9iaW5vcCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QKK0BAIC0xNDg4LDcgKzE0 ODgsNyBAQCB2YWx1ZV9iaW5vcCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QKICBpbnQKICB2 YWx1ZV9sb2dpY2FsX25vdCAoc3RydWN0IHZhbHVlICphcmcxKQogIHsKQEAgLTM0NjAsNyArMzQ2 MCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxhcml0aC5jCiAgICBjb25z dCBnZGJfYnl0ZSAqcDsKICAgIHN0cnVjdCB0eXBlICp0eXBlMTsKICAKLUBAIC0xNDc1LDExICsx NDc1LDExIEBAIHZhbHVlX2xvZ2ljYWxfbm90IChzdHJ1Y3QgdmFsdWUgKmFyZzEpCitAQCAtMTUx OSwxMSArMTUxOSwxMSBAQCB2YWx1ZV9sb2dpY2FsX25vdCAoc3RydWN0IHZhbHVlICphcmcxKQog IHN0YXRpYyBpbnQKICB2YWx1ZV9zdHJjbXAgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZh bHVlICphcmcyKQogIHsKQEAgLTM0NzUsMTAgKzM0NzUsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3ZhbGFyaXRoLmMKICAKICAgIGZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykK ICAgICAgewotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdmFsb3BzLmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3ZhbG9wcy5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA0NjAx Mzc5ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMJMjAxMy0wMS0x OCAyMzoyNzoyOC44Nzc2MDczNTIgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcv Z2RiL3ZhbG9wcy5jCTIwMTMtMDItMTUgMjI6Mzc6MDQuMDAwMDAwMDAwICswMTAwCisrKysgZ2Ri LTcuNS41MC4yMDEzMDIxNS9nZGIvdmFsb3BzLmMJMjAxMy0wMi0xNSAyMjo0MTozNC43NTE3MTU4 NjcgKzAxMDAKIEBAIC01NCwxMSArNTQsMTEgQEAgc3RhdGljIGludCB0eXBlY21wIChpbnQgc3Rh dGljcCwgaW50IHZhcgogIAkJICAgIHN0cnVjdCBmaWVsZCB0MVtdLCBzdHJ1Y3QgdmFsdWUgKnQy W10pOwogIApAQCAtMzU0Nyw3ICszNTQ3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3ZhbG9wcy5jCiAgCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQsIG5ld19sZW5n dGg7CiAgCiAgCSAgaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKHJhbmdlX3R5cGUsICZsb3dfYm91 bmQsICZoaWdoX2JvdW5kKSA8IDApCi1AQCAtNjU2LDcgKzY1Nyw3IEBAIHZhbHVlX3JlaW50ZXJw cmV0X2Nhc3QgKHN0cnVjdCB0eXBlICp0eXAKK0BAIC02NDAsNyArNjQxLDcgQEAgdmFsdWVfcmVp bnRlcnByZXRfY2FzdCAoc3RydWN0IHR5cGUgKnR5cAogIHN0YXRpYyBpbnQKICBkeW5hbWljX2Nh c3RfY2hlY2tfMSAoc3RydWN0IHR5cGUgKmRlc2lyZWRfdHlwZSwKICAJCSAgICAgIGNvbnN0IGdk Yl9ieXRlICp2YWxhZGRyLApAQCAtMzU1Niw3ICszNTU2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCiAgCQkgICAgICBDT1JFX0FERFIgYWRkcmVzcywKICAJCSAg ICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJICAgICAgc3RydWN0IHR5cGUgKnNlYXJjaF90eXBl LAotQEAgLTY2OCw4ICs2NjksOCBAQCBkeW5hbWljX2Nhc3RfY2hlY2tfMSAoc3RydWN0IHR5cGUg KmRlc2lyCitAQCAtNjUyLDggKzY1Myw4IEBAIGR5bmFtaWNfY2FzdF9jaGVja18xIChzdHJ1Y3Qg dHlwZSAqZGVzaXIKICAKICAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKHNl YXJjaF90eXBlKSAmJiByZXN1bHRfY291bnQgPCAyOyArK2kpCiAgICAgIHsKQEAgLTM1NjcsNyAr MzU2Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAogICAg ICAgIGlmIChjbGFzc190eXBlc19zYW1lX3AgKGRlc2lyZWRfdHlwZSwgVFlQRV9CQVNFQ0xBU1Mg KHNlYXJjaF90eXBlLCBpKSkpCiAgCXsKLUBAIC03MDMsNyArNzA0LDcgQEAgZHluYW1pY19jYXN0 X2NoZWNrXzEgKHN0cnVjdCB0eXBlICpkZXNpcgorQEAgLTY4Nyw3ICs2ODgsNyBAQCBkeW5hbWlj X2Nhc3RfY2hlY2tfMSAoc3RydWN0IHR5cGUgKmRlc2lyCiAgc3RhdGljIGludAogIGR5bmFtaWNf Y2FzdF9jaGVja18yIChzdHJ1Y3QgdHlwZSAqZGVzaXJlZF90eXBlLAogIAkJICAgICAgY29uc3Qg Z2RiX2J5dGUgKnZhbGFkZHIsCkBAIC0zNTc2LDcgKzM1NzYsNyBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAJCSAgICAgIENPUkVfQUREUiBhZGRyZXNzLAogIAkJ ICAgICAgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkgICAgICBzdHJ1Y3QgdHlwZSAqc2VhcmNoX3R5 cGUsCi1AQCAtNzEzLDcgKzcxNCw3IEBAIGR5bmFtaWNfY2FzdF9jaGVja18yIChzdHJ1Y3QgdHlw ZSAqZGVzaXIKK0BAIC02OTcsNyArNjk4LDcgQEAgZHluYW1pY19jYXN0X2NoZWNrXzIgKHN0cnVj dCB0eXBlICpkZXNpcgogIAogICAgZm9yIChpID0gMDsgaSA8IFRZUEVfTl9CQVNFQ0xBU1NFUyAo c2VhcmNoX3R5cGUpICYmIHJlc3VsdF9jb3VudCA8IDI7ICsraSkKICAgICAgewpAQCAtMzU4NSw3 ICszNTg1LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9wcy5jCiAgCiAg ICAgICAgaWYgKCEgQkFTRVRZUEVfVklBX1BVQkxJQyAoc2VhcmNoX3R5cGUsIGkpKQogIAljb250 aW51ZTsKLUBAIC03NDQsNyArNzQ1LDggQEAgZHluYW1pY19jYXN0X2NoZWNrXzIgKHN0cnVjdCB0 eXBlICpkZXNpcgorQEAgLTcyOCw3ICs3MjksOCBAQCBkeW5hbWljX2Nhc3RfY2hlY2tfMiAoc3Ry dWN0IHR5cGUgKmRlc2lyCiAgc3RydWN0IHZhbHVlICoKICB2YWx1ZV9keW5hbWljX2Nhc3QgKHN0 cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdmFsdWUgKmFyZykKICB7CkBAIC0zNTk1LDcgKzM1OTUs NyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAgIHN0cnVjdCB0 eXBlICpyZXNvbHZlZF90eXBlID0gY2hlY2tfdHlwZWRlZiAodHlwZSk7CiAgICBzdHJ1Y3QgdHlw ZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKICAgIHN0cnVj dCB0eXBlICpjbGFzc190eXBlLCAqcnR0aV90eXBlOwotQEAgLTExOTcsNyArMTE5OSw3IEBAIHZh bHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQorQEAgLTExODEsNyArMTE4Myw3IEBA IHZhbHVlX2ZldGNoX2xhenkgKHN0cnVjdCB2YWx1ZSAqdmFsKQogIH0KICAKICB2b2lkCkBAIC0z Njk0LDE5ICszNjk0LDE4IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMu YwogIAkJICAgICAgaW50ICpzdGF0aWNfbWVtZnVuY3AsIHN0cnVjdCB0eXBlICp0eXBlKQogIHsK ICAgIGludCBpOwotQEAgLTIzNDcsOSArMjM0OSw5IEBAIHNlYXJjaF9zdHJ1Y3RfbWV0aG9kIChj b25zdCBjaGFyICpuYW1lLAorQEAgLTIzNDcsOCArMjM0OSw4IEBAIHNlYXJjaF9zdHJ1Y3RfbWV0 aG9kIChjb25zdCBjaGFyICpuYW1lLAogIAogICAgZm9yIChpID0gVFlQRV9OX0JBU0VDTEFTU0VT ICh0eXBlKSAtIDE7IGkgPj0gMDsgaS0tKQogICAgICB7CiAtICAgICAgaW50IGJhc2Vfb2Zmc2V0 OwotKyAgICAgIExPTkdFU1QgYmFzZV9vZmZzZXQ7Ci0gICAgICAgaW50IHNraXAgPSAwOwogLSAg ICAgIGludCB0aGlzX29mZnNldDsKKysgICAgICBMT05HRVNUIGJhc2Vfb2Zmc2V0OwogKyAgICAg IExPTkdFU1QgdGhpc19vZmZzZXQ7CiAgCiAgICAgICAgaWYgKEJBU0VUWVBFX1ZJQV9WSVJUVUFM ICh0eXBlLCBpKSkKICAJewotQEAgLTI1MzEsOCArMjUzMyw4IEBAIHZhbHVlX3N0cnVjdF9lbHQg KHN0cnVjdCB2YWx1ZSAqKmFyZ3AsIHMKK0BAIC0yNTMwLDggKzI1MzIsOCBAQCB2YWx1ZV9zdHJ1 Y3RfZWx0IChzdHJ1Y3QgdmFsdWUgKiphcmdwLCBzCiAgCiAgc3RhdGljIHN0cnVjdCBmbl9maWVs ZCAqCiAgZmluZF9tZXRob2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwgY29uc3QgY2hhciAq bWV0aG9kLApAQCAtMzcxNyw3ICszNzE2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL3ZhbG9wcy5jCiAgewogICAgaW50IGk7CiAgICBzdHJ1Y3QgZm5fZmllbGQgKmY7Ci1AQCAt MjU2NSw3ICsyNTY3LDcgQEAgZmluZF9tZXRob2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwg YworQEAgLTI1NjQsNyArMjU2Niw3IEBAIGZpbmRfbWV0aG9kX2xpc3QgKHN0cnVjdCB2YWx1ZSAq KmFyZ3AsIGMKICAgIC8qIE5vdCBmb3VuZCBpbiBvYmplY3QsIGNoZWNrIGluIGJhc2Ugc3Vib2Jq ZWN0cy4gICovCiAgICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHR5cGUpIC0gMTsgaSA+ PSAwOyBpLS0pCiAgICAgIHsKQEAgLTM3MjYsNyArMzcyNSw3IEBAIEluZGV4OiBnZGItNy41LjUw LjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAogICAgICAgIGlmIChCQVNFVFlQRV9WSUFfVklSVFVB TCAodHlwZSwgaSkpCiAgCXsKLUBAIC0yNjAxLDcgKzI2MDMsNyBAQCBmaW5kX21ldGhvZF9saXN0 IChzdHJ1Y3QgdmFsdWUgKiphcmdwLCBjCitAQCAtMjYwMCw3ICsyNjAyLDcgQEAgZmluZF9tZXRo b2RfbGlzdCAoc3RydWN0IHZhbHVlICoqYXJncCwgYwogIHN0YXRpYyBzdHJ1Y3QgZm5fZmllbGQg KgogIHZhbHVlX2ZpbmRfb2xvYWRfbWV0aG9kX2xpc3QgKHN0cnVjdCB2YWx1ZSAqKmFyZ3AsIGNv bnN0IGNoYXIgKm1ldGhvZCwKICAJCQkgICAgICBpbnQgb2Zmc2V0LCBpbnQgKm51bV9mbnMsIApA QCAtMzczNSw3ICszNzM0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbG9w cy5jCiAgewogICAgc3RydWN0IHR5cGUgKnQ7CiAgCi1AQCAtMjY5Myw3ICsyNjk1LDcgQEAgZmlu ZF9vdmVybG9hZF9tYXRjaCAoc3RydWN0IHZhbHVlICoqYXJncworQEAgLTI2OTAsNyArMjY5Miw3 IEBAIGZpbmRfb3ZlcmxvYWRfbWF0Y2ggKHN0cnVjdCB2YWx1ZSAqKmFyZ3MKICAgIC8qIE51bWJl ciBvZiBvdmVybG9hZGVkIGluc3RhbmNlcyBiZWluZyBjb25zaWRlcmVkLiAgKi8KICAgIGludCBu dW1fZm5zID0gMDsKICAgIHN0cnVjdCB0eXBlICpiYXNldHlwZSA9IE5VTEw7CkBAIC0zNzQ0LDcg KzM3NDMsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAKICAg IHN0cnVjdCBjbGVhbnVwICphbGxfY2xlYW51cHMgPSBtYWtlX2NsZWFudXAgKG51bGxfY2xlYW51 cCwgTlVMTCk7CiAgCi1AQCAtMzM2Myw3ICszMzY1LDcgQEAgY29tcGFyZV9wYXJhbWV0ZXJzIChz dHJ1Y3QgdHlwZSAqdDEsIHN0cgorQEAgLTMzNjAsNyArMzM2Miw3IEBAIGNvbXBhcmVfcGFyYW1l dGVycyAoc3RydWN0IHR5cGUgKnQxLCBzdHIKICAgICB0aGUgZm9ybSAiRE9NQUlOOjpOQU1FIi4g ICovCiAgCiAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqCkBAIC0zNzUzLDcgKzM3NTIsNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAJCQkJc3RydWN0IHR5cGUgKmN1 cnR5cGUsIGNoYXIgKm5hbWUsCiAgCQkJCXN0cnVjdCB0eXBlICppbnR5cGUsIAogIAkJCQlpbnQg d2FudF9hZGRyZXNzLAotQEAgLTM0MDAsNyArMzQwMiw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9y X3JlZmVyZW5jZSAoc3RydWN0IHQKK0BAIC0zMzk3LDcgKzMzOTksNyBAQCB2YWx1ZV9zdHJ1Y3Rf ZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0CiAgCSAgaWYgKHdhbnRfYWRkcmVzcykKICAJICAg IHJldHVybiB2YWx1ZV9mcm9tX2xvbmdlc3QKICAJICAgICAgKGxvb2t1cF9tZW1iZXJwdHJfdHlw ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSwgZG9tYWluKSwKQEAgLTM3NjIsNyArMzc2MSw3IEBA IEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxvcHMuYwogIAkgIGVsc2UgaWYgKG5v c2lkZSA9PSBFVkFMX0FWT0lEX1NJREVfRUZGRUNUUykKICAJICAgIHJldHVybiBhbGxvY2F0ZV92 YWx1ZSAoVFlQRV9GSUVMRF9UWVBFICh0LCBpKSk7CiAgCSAgZWxzZQotQEAgLTM1NDMsNyArMzU0 NSw3IEBAIHZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHQKK0BAIC0zNTQw LDcgKzM1NDIsNyBAQCB2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0CiAg ICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBpLS0pCiAgICAg IHsKICAgICAgICBzdHJ1Y3QgdmFsdWUgKnY7CkBAIC0zNzcxLDcgKzM3NzAsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAKICAgICAgICBpZiAoQkFTRVRZUEVf VklBX1ZJUlRVQUwgKHQsIGkpKQogIAliYXNlX29mZnNldCA9IDA7Ci1AQCAtMzYzMyw3ICszNjM1 LDcgQEAgdmFsdWVfbWF5YmVfbmFtZXNwYWNlX2VsdCAoY29uc3Qgc3RydWN0CitAQCAtMzYzMCw3 ICszNjMyLDcgQEAgdmFsdWVfbWF5YmVfbmFtZXNwYWNlX2VsdCAoY29uc3Qgc3RydWN0CiAgCiAg c3RydWN0IHR5cGUgKgogIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3RydWN0IHZhbHVlICp2 LCBpbnQgKmZ1bGwsIApAQCAtMzc4MCw3ICszNzc5LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3ZhbG9wcy5jCiAgewogICAgc3RydWN0IHZhbHVlICp0YXJnZXQ7CiAgICBzdHJ1 Y3QgdHlwZSAqdHlwZSwgKnJlYWxfdHlwZSwgKnRhcmdldF90eXBlOwotQEAgLTM2ODMsMTIgKzM2 ODUsMTIgQEAgdmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUgKgorQEAgLTM2 ODAsMTIgKzM2ODIsMTIgQEAgdmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlIChzdHJ1Y3QgdmFsdWUg KgogIHN0cnVjdCB2YWx1ZSAqCiAgdmFsdWVfZnVsbF9vYmplY3QgKHN0cnVjdCB2YWx1ZSAqYXJn cCwgCiAgCQkgICBzdHJ1Y3QgdHlwZSAqcnR5cGUsIApAQCAtMzc5NSwxMCArMzc5NCwxMCBAQCBJ bmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsb3BzLmMKICAgIGludCB1c2luZ19lbmMg PSAwOwogICAgc3RydWN0IHZhbHVlICpuZXdfdmFsOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL3ZhbHByaW50LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi92YWxw cmludC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi92YWxw cmludC5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA1NjAxMzgwICswMTAwCi0rKysgZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvdmFscHJpbnQuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3NzYwNzM1MiAr MDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFscHJpbnQuYwkyMDEzLTAy LTE1IDIyOjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2Ri L3ZhbHByaW50LmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDU2MjIxMDQgKzAxMDAKIEBAIC0yOTks NyArMjk5LDcgQEAgc2NhbGFyX3R5cGVfcCAoc3RydWN0IHR5cGUgKnR5cGUpCiAgaW50CiAgdmFs cHJpbnRfY2hlY2tfdmFsaWRpdHkgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCkBAIC0zODE3LDcg KzM4MTYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFscHJpbnQuYwogIAkJ ICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCiAgCQkgICBjb25zdCBzdHJ1 Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAogIAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50 X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtNzI2LDcgKzcyNiw3IEBAIGdlbmVyaWNfdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY28KK0BAIC03MjUsNyArNzI1LDcgQEAgZ2VuZXJpY192YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBjbwogICAgIFJFQ1VSU0UuICAqLwogIAogIHZvaWQK QEAgLTM4MjYsNyArMzgyNSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWxw cmludC5jCiAgCSAgIENPUkVfQUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBp bnQgcmVjdXJzZSwKICAJICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCSAgIGNvbnN0IHN0 cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTkzOCw3ICs5MzgsNyBAQCB2 YWxfcHJpbnRfdHlwZV9jb2RlX2ZsYWdzIChzdHJ1Y3QgdHlwZSAqCitAQCAtOTM3LDcgKzkzNyw3 IEBAIHZhbF9wcmludF90eXBlX2NvZGVfZmxhZ3MgKHN0cnVjdCB0eXBlICoKICAKICB2b2lkCiAg dmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKHN0cnVjdCB0eXBlICp0eXBlLApAQCAtMzgzNSw3 ICszODM0LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHByaW50LmMKICAJ CQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwsCiAgCQkJICAgIGNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAogIAkJCSAgICBpbnQgc2l6ZSwKLUBAIC0xNDc5LDcg KzE0NzksNyBAQCBwcmludF9kZWNpbWFsX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyCitAQCAt MTQ3OCw3ICsxNDc4LDcgQEAgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKnN0 cgogIAogIHZvaWQKICBwcmludF9oZXhfY2hhcnMgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGNv bnN0IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtMzg0NCw3ICszODQzLDcgQEAgSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHByaW50LmMKICB7CiAgICBjb25zdCBnZGJfYnl0ZSAqcDsK ICAKLUBAIC0xNTk2LDIzICsxNTk2LDIzIEBAIG1heWJlX3ByaW50X2FycmF5X2luZGV4IChzdHJ1 Y3QgdHlwZSAqaW4KK0BAIC0xNTk1LDIzICsxNTk1LDIzIEBAIG1heWJlX3ByaW50X2FycmF5X2lu ZGV4IChzdHJ1Y3QgdHlwZSAqaW4KICAKICB2b2lkCiAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRz IChzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTM4NzQsNyArMzg3Myw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi92YWxwcmludC5jCiAgICBMT05HRVNUIGxvd19ib3VuZCwgaGlnaF9i b3VuZDsKICAgIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwogICAgQ09SRV9BRERSIHNhdmVkX2Fk ZHJlc3MgPSBhZGRyZXNzOwotQEAgLTE3MDcsNyArMTcwNyw3IEBAIHZhbF9wcmludF9hcnJheV9l bGVtZW50cyAoc3RydWN0IHR5cGUgKnQKK0BAIC0xNzA2LDcgKzE3MDYsNyBAQCB2YWxfcHJpbnRf YXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0eXBlICp0CiAgCQkgICAgIGFkZHJlc3MsIHN0cmVhbSwg cmVjdXJzZSArIDEsIHZhbCwgb3B0aW9ucywKICAJCSAgICAgY3VycmVudF9sYW5ndWFnZSk7CiAg CSAgYW5ub3RhdGVfZWx0X3JlcCAocmVwcyk7CkBAIC0zODgzLDcgKzM4ODIsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFscHJpbnQuYwogIAkgIGFubm90YXRlX2VsdF9yZXBf ZW5kICgpOwogIAogIAkgIGkgPSByZXAxIC0gMTsKLUBAIC0yMzU4LDcgKzIzNTgsNyBAQCBwcmlu dF9jb252ZXJ0ZWRfY2hhcnNfdG9fb2JzdGFjayAoc3RydWN0CitAQCAtMjM1Nyw3ICsyMzU3LDcg QEAgcHJpbnRfY29udmVydGVkX2NoYXJzX3RvX29ic3RhY2sgKHN0cnVjdAogIAogIHZvaWQKICBn ZW5lcmljX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgCkBAIC0zODkyLDEwICszODkxLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi92YWxwcmludC5jCiAgCQkgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBz ZXMsCiAgCQkgIGludCBxdW90ZV9jaGFyLCBpbnQgY19zdHlsZV90ZXJtaW5hdG9yLAogIAkJICBj b25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi92YWxwcmludC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9n ZGIvdmFscHJpbnQuaAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9n ZGIvdmFscHJpbnQuaAkyMDEzLTAxLTE4IDIzOjI3OjIyLjEwNjYwMTM4MSArMDEwMAotKysrIGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHByaW50LmgJMjAxMy0wMS0xOCAyMzoyNzoyOC44Nzg2 MDczNTMgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIwMTMwMjE1Lm9yaWcvZ2RiL3ZhbHByaW50LmgJ MjAxMy0wMS0wOCAwMzowMDozNC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi92YWxwcmludC5oCTIwMTMtMDItMTUgMjI6NDA6MTguNTQ1NjIyMTA0ICswMTAwCiBA QCAtMTEzLDExICsxMTMsMTEgQEAgZXh0ZXJuIHZvaWQgbWF5YmVfcHJpbnRfYXJyYXlfaW5kZXgg KHN0cgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLAogIAkJCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICop OwpAQCAtMzk0NiwxMCArMzk0NSwxMCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIv dmFscHJpbnQuaAogIAkJCSAgICAgIGNvbnN0IGNoYXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxs aXBzZXMsCiAgCQkJICAgICAgaW50IHF1b3RlX2NoYXIsIGludCBjX3N0eWxlX3Rlcm1pbmF0b3Is CiAgCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwot SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi92YWx1ZS5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi92YWx1ZS5jCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA4NjAxMzg1ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuYwkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3 ODYwNzM1MyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFsdWUuYwky MDEzLTAyLTE1IDIyOjM3OjA0LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3ZhbHVlLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDU2MjIxMDQgKzAxMDAKIEBAIC02 OCwxMCArNjgsMTAgQEAgc3RydWN0IGludGVybmFsX2Z1bmN0aW9uCiAgc3RydWN0IHJhbmdlCiAg ewpAQCAtNDEzMyw3ICs0MTMyLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Zh bHVlLmMKICB7CiAgICB2YWx1ZS0+cG9pbnRlZF90b19vZmZzZXQgPSB2YWw7CiAgfQotQEAgLTE5 NzQsNyArMTk3Nyw3IEBAIGdldF9pbnRlcm5hbHZhcl9mdW5jdGlvbiAoc3RydWN0IGludGVybmEK K0BAIC0xOTY5LDcgKzE5NzIsNyBAQCBnZXRfaW50ZXJuYWx2YXJfZnVuY3Rpb24gKHN0cnVjdCBp bnRlcm5hCiAgfQogIAogIHZvaWQKQEAgLTQxNDIsNyArNDE0MSw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgCQkJICAgaW50IGJpdHNpemUsIHN0cnVjdCB2YWx1 ZSAqbmV3dmFsKQogIHsKICAgIGdkYl9ieXRlICphZGRyOwotQEAgLTI2ODEsNyArMjY4NCw3IEBA IHNldF92YWx1ZV9lbmNsb3NpbmdfdHlwZSAoc3RydWN0IHZhbHVlICoKK0BAIC0yNjc2LDcgKzI2 NzksNyBAQCBzZXRfdmFsdWVfZW5jbG9zaW5nX3R5cGUgKHN0cnVjdCB2YWx1ZSAqCiAgICAgRklF TEROTyBzYXlzIHdoaWNoIGZpZWxkLiAgKi8KICAKICBzdHJ1Y3QgdmFsdWUgKgpAQCAtNDE1MSw3 ICs0MTUwLDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAJCSAg ICAgICBpbnQgZmllbGRubywgc3RydWN0IHR5cGUgKmFyZ190eXBlKQogIHsKICAgIHN0cnVjdCB2 YWx1ZSAqdjsKLUBAIC0yNzExLDcgKzI3MTQsNyBAQCB2YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0 cnVjdCB2YWx1ZSAqYXJnCitAQCAtMjcwNiw3ICsyNzA5LDcgQEAgdmFsdWVfcHJpbWl0aXZlX2Zp ZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZwogIAkgYml0LiAgQXNzdW1lIHRoYXQgdGhlIGFkZHJlc3Ms IG9mZnNldCwgYW5kIGVtYmVkZGVkIG9mZnNldAogIAkgYXJlIHN1ZmZpY2llbnRseSBhbGlnbmVk LiAgKi8KICAKQEAgLTQxNjAsNyArNDE1OSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWx1ZS5jCiAgICAgICAgaW50IGNvbnRhaW5lcl9iaXRzaXplID0gVFlQRV9MRU5HVEgg KHR5cGUpICogODsKICAKICAgICAgICB2ID0gYWxsb2NhdGVfdmFsdWVfbGF6eSAodHlwZSk7Ci1A QCAtMjczNCw3ICsyNzM3LDcgQEAgdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUg KmFyZworQEAgLTI3MjksNyArMjczMiw3IEBAIHZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0 IHZhbHVlICphcmcKICAgICAgICAvKiBUaGlzIGZpZWxkIGlzIGFjdHVhbGx5IGEgYmFzZSBzdWJv YmplY3QsIHNvIHByZXNlcnZlIHRoZQogIAkgZW50aXJlIG9iamVjdCdzIGNvbnRlbnRzIGZvciBs YXRlciByZWZlcmVuY2VzIHRvIHZpcnR1YWwKICAJIGJhc2VzLCBldGMuICAqLwpAQCAtNDE2OSw3 ICs0MTY4LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAKICAg ICAgICAvKiBMYXp5IHJlZ2lzdGVyIHZhbHVlcyB3aXRoIG9mZnNldHMgYXJlIG5vdCBzdXBwb3J0 ZWQuICAqLwogICAgICAgIGlmIChWQUxVRV9MVkFMIChhcmcxKSA9PSBsdmFsX3JlZ2lzdGVyICYm IHZhbHVlX2xhenkgKGFyZzEpKQotQEAgLTI4MTEsNyArMjgxNCw3IEBAIHZhbHVlX2ZpZWxkIChz dHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBmaWUKK0BAIC0yODA2LDcgKzI4MDksNyBAQCB2YWx1ZV9m aWVsZCAoc3RydWN0IHZhbHVlICphcmcxLCBpbnQgZmllCiAgc3RydWN0IHZhbHVlICoKICB2YWx1 ZV9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsIHN0cnVjdCBmbl9maWVsZCAqZiwKICAJ CWludCBqLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKQEAgLTQxNzgsNyArNDE3Nyw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgewogICAgc3RydWN0IHZhbHVlICp2Owog ICAgc3RydWN0IHR5cGUgKmZ0eXBlID0gVFlQRV9GTl9GSUVMRF9UWVBFIChmLCBqKTsKLUBAIC0y ODcxLDggKzI4NzQsOCBAQCB2YWx1ZV9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsIHN0 CitAQCAtMjg2Niw4ICsyODY5LDggQEAgdmFsdWVfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKmFy ZzFwLCBzdAogIAogIHN0YXRpYyBpbnQKICB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nXzEgKHN0 cnVjdCB0eXBlICpmaWVsZF90eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTQxODks NyArNDE4OCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgCQkJ ICAgICBMT05HRVNUICpyZXN1bHQpCiAgewogICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIg PSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKGZpZWxkX3R5cGUpKTsKLUBAIC0y ODgwLDcgKzI4ODMsNyBAQCB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nXzEgKHN0cnVjdCB0eXBl CitAQCAtMjg3NSw3ICsyODc4LDcgQEAgdW5wYWNrX3ZhbHVlX2JpdHNfYXNfbG9uZ18xIChzdHJ1 Y3QgdHlwZQogICAgVUxPTkdFU1QgdmFsbWFzazsKICAgIGludCBsc2Jjb3VudDsKICAgIGludCBi eXRlc19yZWFkOwpAQCAtNDE5OCw3ICs0MTk3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3ZhbHVlLmMKICAKICAgIC8qIFJlYWQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIGJ5dGVz IHJlcXVpcmVkOyB0aGVyZSBtYXkgbm90IGJlCiAgICAgICBlbm91Z2ggYnl0ZXMgdG8gcmVhZCBh biBlbnRpcmUgVUxPTkdFU1QuICAqLwotQEAgLTI5NTAsNyArMjk1Myw3IEBAIHVucGFja192YWx1 ZV9iaXRzX2FzX2xvbmdfMSAoc3RydWN0IHR5cGUKK0BAIC0yOTQ1LDcgKzI5NDgsNyBAQCB1bnBh Y2tfdmFsdWVfYml0c19hc19sb25nXzEgKHN0cnVjdCB0eXBlCiAgCiAgaW50CiAgdW5wYWNrX3Zh bHVlX2JpdHNfYXNfbG9uZyAoc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLApAQCAtNDIwNyw3ICs0MjA2LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAx MTgvZ2RiL3ZhbHVlLmMKICAJCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVl LAogIAkJCSAgIExPTkdFU1QgKnJlc3VsdCkKICB7Ci1AQCAtMjk2OCwxMCArMjk3MSwxMCBAQCB1 bnBhY2tfdmFsdWVfYml0c19hc19sb25nIChzdHJ1Y3QgdHlwZSAqCitAQCAtMjk2MywxMCArMjk2 NiwxMCBAQCB1bnBhY2tfdmFsdWVfYml0c19hc19sb25nIChzdHJ1Y3QgdHlwZSAqCiAgCiAgc3Rh dGljIGludAogIHVucGFja192YWx1ZV9maWVsZF9hc19sb25nXzEgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKQEAgLTQyMjAsNyArNDIxOSw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5jCiAgICBpbnQgYml0c2l6ZSA9IFRZUEVfRklF TERfQklUU0laRSAodHlwZSwgZmllbGRubyk7CiAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSA9 IFRZUEVfRklFTERfVFlQRSAodHlwZSwgZmllbGRubyk7CiAgCi1AQCAtMjk4Nyw3ICsyOTkwLDcg QEAgdW5wYWNrX3ZhbHVlX2ZpZWxkX2FzX2xvbmdfMSAoc3RydWN0IHR5cAorQEAgLTI5ODIsNyAr Mjk4NSw3IEBAIHVucGFja192YWx1ZV9maWVsZF9hc19sb25nXzEgKHN0cnVjdCB0eXAKICAKICBp bnQKICB1bnBhY2tfdmFsdWVfZmllbGRfYXNfbG9uZyAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0 IGdkYl9ieXRlICp2YWxhZGRyLApAQCAtNDIyOSw3ICs0MjI4LDcgQEAgSW5kZXg6IGdkYi03LjUu NTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMKICAJCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWws IExPTkdFU1QgKnJlc3VsdCkKICB7CiAgICBnZGJfYXNzZXJ0ICh2YWwgIT0gTlVMTCk7Ci1AQCAt MzAxOSw3ICszMDIyLDcgQEAgdW5wYWNrX2ZpZWxkX2FzX2xvbmcgKHN0cnVjdCB0eXBlICp0eXBl LAorQEAgLTMwMTQsNyArMzAxNyw3IEBAIHVucGFja19maWVsZF9hc19sb25nIChzdHJ1Y3QgdHlw ZSAqdHlwZSwKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX2ZpZWxkX2JpdGZpZWxkIChzdHJ1Y3Qg dHlwZSAqdHlwZSwgaW50IGZpZWxkbm8sCiAgCQkgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwKQEAgLTQyMzgsNyArNDIzNyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92 YWx1ZS5jCiAgewogICAgTE9OR0VTVCBsOwogIAotQEAgLTMwNDYsMTIgKzMwNDksMTIgQEAgdmFs dWVfZmllbGRfYml0ZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLAorQEAgLTMwNDEsMTIgKzMwNDQs MTIgQEAgdmFsdWVfZmllbGRfYml0ZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLAogIAogIHZvaWQK ICBtb2RpZnlfZmllbGQgKHN0cnVjdCB0eXBlICp0eXBlLCBnZGJfYnl0ZSAqYWRkciwKQEAgLTQy NTMsMTAgKzQyNTIsMTAgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmMK ICAKICAgIC8qIE5vcm1hbGl6ZSBCSVRQT1MuICAqLwogICAgYWRkciArPSBiaXRwb3MgLyA4Owot SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmgKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi92YWx1ZS5oCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDEx OC5vcmlnL2dkYi92YWx1ZS5oCTIwMTMtMDEtMTggMjM6Mjc6MjIuMTA5NjAxMzg3ICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAkyMDEzLTAxLTE4IDIzOjI3OjI4Ljg3 OTYwNzM1NSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvdmFsdWUuaAky MDEzLTAyLTE1IDIyOjMxOjM3LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL3ZhbHVlLmgJMjAxMy0wMi0xNSAyMjo0MDoxOC41NDY2MjIxMDYgKzAxMDAKIEBAIC04 Miw4ICs4Miw4IEBAIGV4dGVybiB2b2lkIHNldF92YWx1ZV9wYXJlbnQgKHN0cnVjdCB2YWwKICAg ICB3aXRoaW4gdGhlIHJlZ2lzdGVycyBzdHJ1Y3R1cmUuICBOb3RlIGFsc28gdGhlIG1lbWJlcgog ICAgIGVtYmVkZGVkX29mZnNldCBiZWxvdy4gICovCkBAIC00MjY4LDcgKzQyNjcsNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAogIC8qIFRoZSBjb21tZW50IGZy b20gInN0cnVjdCB2YWx1ZSIgcmVhZHM6IGBgSXMgaXQgbW9kaWZpYWJsZT8gIE9ubHkKICAgICBy ZWxldmFudCBpZiBsdmFsICE9IG5vdF9sdmFsLicnLiAgU2hvdWxkbid0IHRoZSB2YWx1ZSBpbnN0 ZWFkIGJlCi1AQCAtMTU0LDEwICsxNTQsMTAgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9h Y3R1YWxfdHlwZSAocworQEAgLTE1MiwxMCArMTUyLDEwIEBAIGV4dGVybiBzdHJ1Y3QgdHlwZSAq dmFsdWVfYWN0dWFsX3R5cGUgKHMKICAJCQkJICAgICAgIGludCByZXNvbHZlX3NpbXBsZV90eXBl cywKICAJCQkJICAgICAgIGludCAqcmVhbF90eXBlX2ZvdW5kKTsKICAKQEAgLTQyODMsNyArNDI4 Miw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgLyogRm9y IGx2YWxfY29tcHV0ZWQgdmFsdWVzLCB0aGlzIHN0cnVjdHVyZSBob2xkcyBmdW5jdGlvbnMgdXNl ZCB0bwogICAgIHJldHJpZXZlIGFuZCBzZXQgdGhlIHZhbHVlIChvciBwb3J0aW9ucyBvZiB0aGUg dmFsdWUpLgotQEAgLTE4NSw3ICsxODUsOCBAQCBzdHJ1Y3QgbHZhbF9mdW5jcworQEAgLTE4Myw3 ICsxODMsOCBAQCBzdHJ1Y3QgbHZhbF9mdW5jcwogICAgLyogQ2hlY2sgdGhlIHZhbGlkaXR5IG9m IHNvbWUgYml0cyBpbiBWQUxVRS4gIFRoaXMgc2hvdWxkIHJldHVybiAxCiAgICAgICBpZiBhbGwg dGhlIGJpdHMgc3RhcnRpbmcgYXQgT0ZGU0VUIGFuZCBleHRlbmRpbmcgZm9yIExFTkdUSCBiaXRz CiAgICAgICBhcmUgdmFsaWQsIG9yIDAgaWYgYW55IGJpdCBpcyBpbnZhbGlkLiAgKi8KQEAgLTQy OTMsNyArNDI5Miw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAg CiAgICAvKiBSZXR1cm4gMSBpZiBhbnkgYml0IGluIFZBTFVFIGlzIHZhbGlkLCAwIGlmIHRoZXkg YXJlIGFsbCBpbnZhbGlkLiAgKi8KICAgIGludCAoKmNoZWNrX2FueV92YWxpZCkgKGNvbnN0IHN0 cnVjdCB2YWx1ZSAqdmFsdWUpOwotQEAgLTIwMyw3ICsyMDQsNyBAQCBzdHJ1Y3QgbHZhbF9mdW5j cworQEAgLTIwMSw3ICsyMDIsNyBAQCBzdHJ1Y3QgbHZhbF9mdW5jcwogICAgLyogSWYgbm9uLU5V TEwsIHRoaXMgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgaW5kaWNhdGVkIGJpdHMK ICAgICAgIG9mIFZBTFVFIGFyZSBhIHN5bnRoZXRpYyBwb2ludGVyLiAgKi8KICAgIGludCAoKmNo ZWNrX3N5bnRoZXRpY19wb2ludGVyKSAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTQz MDIsNyArNDMwMSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAg CiAgICAvKiBSZXR1cm4gYSBkdXBsaWNhdGUgb2YgVkFMVUUncyBjbG9zdXJlLCBmb3IgdXNlIGlu IGEgbmV3IHZhbHVlLgogICAgICAgVGhpcyBtYXkgc2ltcGx5IHJldHVybiB0aGUgc2FtZSBjbG9z dXJlLCBpZiBWQUxVRSdzIGlzCi1AQCAtMjQwLDcgKzI0MSw3IEBAIGV4dGVybiBzdHJ1Y3QgdmFs dWUgKmFsbG9jYXRlX2NvbXB1dGVkX3YKK0BAIC0yMzgsNyArMjM5LDcgQEAgZXh0ZXJuIHN0cnVj dCB2YWx1ZSAqYWxsb2NhdGVfY29tcHV0ZWRfdgogICAgIE90aGVyd2lzZSwgcmV0dXJuIDEuICAq LwogIAogIGV4dGVybiBpbnQgdmFscHJpbnRfY2hlY2tfdmFsaWRpdHkgKHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLApAQCAtNDMxMSw3ICs0MzEwLDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3ZhbHVlLmgKICAJCQkJICAgIGNvbnN0IHN0cnVjdCB2 YWx1ZSAqdmFsKTsKICAKICBleHRlcm4gc3RydWN0IHZhbHVlICphbGxvY2F0ZV9vcHRpbWl6ZWRf b3V0X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci1AQCAtNDExLDEzICs0MTIsMTMgQEAgZXh0 ZXJuIHN0cnVjdCB2YWx1ZSAqY29lcmNlX2FycmF5IChzdHJ1YworQEAgLTQwOSwxMyArNDEwLDEz IEBAIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmNvZXJjZV9hcnJheSAoc3RydWMKICAgICBiaXRzIGlu IHRoZSBnaXZlbiByYW5nZSBhcmUgdmFsaWQsIHplcm8gaWYgYW55IGJpdCBpcyBpbnZhbGlkLiAg Ki8KICAKICBleHRlcm4gaW50IHZhbHVlX2JpdHNfdmFsaWQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAq dmFsdWUsCkBAIC00MzI3LDcgKzQzMjYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvdmFsdWUuaAogIAogIC8qIEdpdmVuIGEgdmFsdWUsIGRldGVybWluZSB3aGV0aGVyIHRoZSBj b250ZW50cyBieXRlcyBzdGFydGluZyBhdAogICAgIE9GRlNFVCBhbmQgZXh0ZW5kaW5nIGZvciBM RU5HVEggYnl0ZXMgYXJlIGF2YWlsYWJsZS4gIFRoaXMgcmV0dXJucwotQEAgLTQyNSw3ICs0MjYs NyBAQCBleHRlcm4gaW50IHZhbHVlX2JpdHNfc3ludGhldGljX3BvaW50ZXIKK0BAIC00MjMsNyAr NDI0LDcgQEAgZXh0ZXJuIGludCB2YWx1ZV9iaXRzX3N5bnRoZXRpY19wb2ludGVyCiAgICAgYnl0 ZSBpcyB1bmF2YWlsYWJsZS4gICovCiAgCiAgZXh0ZXJuIGludCB2YWx1ZV9ieXRlc19hdmFpbGFi bGUgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCkBAIC00MzM2LDcgKzQzMzUsNyBAQCBJbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAogIC8qIExpa2UgdmFsdWVfYnl0 ZXNfYXZhaWxhYmxlLCBidXQgcmV0dXJuIGZhbHNlIGlmIGFueSBieXRlIGluIHRoZQogICAgIHdo b2xlIG9iamVjdCBpcyB1bmF2YWlsYWJsZS4gICovCi1AQCAtNDM1LDcgKzQzNiw3IEBAIGV4dGVy biBpbnQgdmFsdWVfZW50aXJlbHlfYXZhaWxhYmxlIChzdHIKK0BAIC00MzMsNyArNDM0LDcgQEAg ZXh0ZXJuIGludCB2YWx1ZV9lbnRpcmVseV9hdmFpbGFibGUgKHN0cgogICAgIExFTkdUSCBieXRl cyBhcyB1bmF2YWlsYWJsZS4gICovCiAgCiAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc191 bmF2YWlsYWJsZSAoc3RydWN0IHZhbHVlICp2YWx1ZSwKQEAgLTQzNDUsNyArNDM0NCw3IEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgLyogQ29tcGFyZSBMRU5H VEggYnl0ZXMgb2YgVkFMMSdzIGNvbnRlbnRzIHN0YXJ0aW5nIGF0IE9GRlNFVDEgd2l0aAogICAg IExFTkdUSCBieXRlcyBvZiBWQUwyJ3MgY29udGVudHMgc3RhcnRpbmcgYXQgT0ZGU0VUMi4KLUBA IC00NDUsNyArNDQ2LDcgQEAgZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJs ZQorQEAgLTQ0Myw3ICs0NDQsNyBAQCBleHRlcm4gdm9pZCBtYXJrX3ZhbHVlX2J5dGVzX3VuYXZh aWxhYmxlCiAgICAgZXhhbXBsZSwgdG8gY29tcGFyZSBhIGNvbXBsZXRlIG9iamVjdCB2YWx1ZSB3 aXRoIGl0c2VsZiwgaW5jbHVkaW5nCiAgICAgaXRzIGVuY2xvc2luZyB0eXBlIGNodW5rLCB5b3Un ZCBkbzoKICAKQEAgLTQzNTQsNyArNDM1Myw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi92YWx1ZS5oCiAgICAgICB2YWx1ZV9hdmFpbGFibGVfY29udGVudHMgKHZhbCwgMCwgdmFs LCAwLCBsZW4pOwogIAogICAgIFJldHVybnMgdHJ1ZSBpZmYgdGhlIHNldCBvZiBhdmFpbGFibGUg Y29udGVudHMgbWF0Y2guICBVbmF2YWlsYWJsZQotQEAgLTQ2Nyw5ICs0NjgsMTAgQEAgZXh0ZXJu IHZvaWQgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZQorQEAgLTQ2NSw5ICs0NjYsMTAgQEAg ZXh0ZXJuIHZvaWQgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZQogICAgIHZhbHVlX2F2YWls YWJsZV9jb250ZW50c19lcSh2YWwsIDMsIHZhbCwgNCwgNCkgPT4gMAogICovCiAgCkBAIC00MzY4 LDcgKzQzNjcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAog IC8qIFJlYWQgTEVOR1RIIGJ5dGVzIG9mIG1lbW9yeSBzdGFydGluZyBhdCBNRU1BRERSIGludG8g QlVGRkVSLCB3aGljaAogICAgIGlzIChvciB3aWxsIGJlIGNvcGllZCB0bykgVkFMJ3MgY29udGVu dHMgYnVmZmVyIG9mZnNldCBieQotQEAgLTQ3OCw3ICs0ODAsNyBAQCBleHRlcm4gaW50IHZhbHVl X2F2YWlsYWJsZV9jb250ZW50c19lcSAoCitAQCAtNDc2LDcgKzQ3OCw3IEBAIGV4dGVybiBpbnQg dmFsdWVfYXZhaWxhYmxlX2NvbnRlbnRzX2VxICgKICAgICBtZW1vcnkgaXMgbGlrZXdpc2UgdW5h dmFpbGFibGUuICBTVEFDSyBpbmRpY2F0ZXMgd2hldGhlciB0aGUgbWVtb3J5CiAgICAgaXMga25v d24gdG8gYmUgc3RhY2sgbWVtb3J5LiAgKi8KICAKQEAgLTQzNzcsNyArNDM3Niw3IEBAIEluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCQkJICAgICAgIGludCBzdGFjaywg Q09SRV9BRERSIG1lbWFkZHIsCiAgCQkJICAgICAgIGdkYl9ieXRlICpidWZmZXIsIHNpemVfdCBs ZW5ndGgpOwogIAotQEAgLTUwNiw3ICs1MDgsNyBAQCBleHRlcm4gQ09SRV9BRERSIHVucGFja19w b2ludGVyIChzdHJ1Y3QKK0BAIC01MTAsNyArNTEyLDcgQEAgZXh0ZXJuIENPUkVfQUREUiB1bnBh Y2tfcG9pbnRlciAoc3RydWN0CiAgCiAgZXh0ZXJuIGludCB1bnBhY2tfdmFsdWVfYml0c19hc19s b25nIChzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZSwKICAJCQkJICAgICAgY29uc3QgZ2RiX2J5dGUg KnZhbGFkZHIsCkBAIC00Mzg2LDcgKzQzODUsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvdmFsdWUuaAogIAkJCQkgICAgICBpbnQgYml0c2l6ZSwKICAJCQkJICAgICAgY29uc3Qg c3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKICAJCQkJICAgICAgTE9OR0VTVCAqcmVzdWx0 KTsKLUBAIC01MTUsMTIgKzUxNywxMiBAQCBleHRlcm4gTE9OR0VTVCB1bnBhY2tfZmllbGRfYXNf bG9uZyAoc3RyCitAQCAtNTE5LDEyICs1MjEsMTIgQEAgZXh0ZXJuIExPTkdFU1QgdW5wYWNrX2Zp ZWxkX2FzX2xvbmcgKHN0cgogIAkJCQkgICAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAogIAkJ CQkgICAgIGludCBmaWVsZG5vKTsKICBleHRlcm4gaW50IHVucGFja192YWx1ZV9maWVsZF9hc19s b25nIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC00NDAx LDcgKzQ0MDAsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAkJ CQkJICAgY29uc3Qgc3RydWN0IHZhbHVlICp2YWwpOwogIAogIGV4dGVybiB2b2lkIHBhY2tfbG9u ZyAoZ2RiX2J5dGUgKmJ1Ziwgc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgbnVtKTsKLUBAIC01 NzksMTIgKzU4MSwxMiBAQCBleHRlcm4gc3RydWN0IHZhbHVlICpkZWZhdWx0X3JlYWRfdmFyX3Zh CitAQCAtNTgzLDEyICs1ODUsMTIgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqZGVmYXVsdF9yZWFk X3Zhcl92YQogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmFsbG9jYXRlX3ZhbHVlIChzdHJ1Y3QgdHlw ZSAqdHlwZSk7CiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWxsb2NhdGVfdmFsdWVfbGF6eSAoc3Ry dWN0IHR5cGUgKnR5cGUpOwogIGV4dGVybiB2b2lkIGFsbG9jYXRlX3ZhbHVlX2NvbnRlbnRzIChz dHJ1Y3QgdmFsdWUgKnZhbHVlKTsKQEAgLTQ0MjAsNyArNDQxOSw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqYWxsb2Nh dGVfcmVwZWF0X3ZhbHVlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGNvdW50KTsKICAKLUBAIC02 NTYsMTYgKzY1OCwxNiBAQCBleHRlcm4gaW50IGZpbmRfb3ZlcmxvYWRfbWF0Y2ggKHN0cnVjdCB2 CitAQCAtNjYwLDE2ICs2NjIsMTYgQEAgZXh0ZXJuIGludCBmaW5kX292ZXJsb2FkX21hdGNoIChz dHJ1Y3QgdgogIAogIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX2ZpZWxkIChzdHJ1Y3QgdmFs dWUgKmFyZzEsIGludCBmaWVsZG5vKTsKICAKQEAgLTQ0NDAsNyArNDQzOSw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi92YWx1ZS5oCiAgCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAq dmFsdWVfY2FzdF9wb2ludGVycyAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICosIGludCk7 CiAgCi1AQCAtNzU1LDcgKzc1Nyw3IEBAIGV4dGVybiB2b2lkIHNldF9pbnRlcm5hbHZhcl9zdHJp bmcgKHN0cnUKK0BAIC03NjMsNyArNzY1LDcgQEAgZXh0ZXJuIHZvaWQgc2V0X2ludGVybmFsdmFy X3N0cmluZyAoc3RydQogIGV4dGVybiB2b2lkIGNsZWFyX2ludGVybmFsdmFyIChzdHJ1Y3QgaW50 ZXJuYWx2YXIgKnZhcik7CiAgCiAgZXh0ZXJuIHZvaWQgc2V0X2ludGVybmFsdmFyX2NvbXBvbmVu dCAoc3RydWN0IGludGVybmFsdmFyICp2YXIsCkBAIC00NDQ5LDcgKzQ0NDgsNyBAQCBJbmRleDog Z2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAkJCQkgICAgICAgaW50IGJpdHBvcywg aW50IGJpdHNpemUsCiAgCQkJCSAgICAgICBzdHJ1Y3QgdmFsdWUgKm5ld3ZhbHVlKTsKICAKLUBA IC04MzcsNyArODM5LDcgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfeF91bm9wIChzdHJ1 YworQEAgLTg0NSw3ICs4NDcsNyBAQCBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV94X3Vub3Ag KHN0cnVjCiAgCQkJCSAgIGVudW0gbm9zaWRlIG5vc2lkZSk7CiAgCiAgZXh0ZXJuIHN0cnVjdCB2 YWx1ZSAqdmFsdWVfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAqKmFyZzFwLCBzdHJ1Y3QgZm5fZmll bGQgKmYsCkBAIC00NDU4LDcgKzQ0NTcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9n ZGIvdmFsdWUuaAogIAogIGV4dGVybiBpbnQgYmlub3BfdHlwZXNfdXNlcl9kZWZpbmVkX3AgKGVu dW0gZXhwX29wY29kZSBvcCwKICAJCQkJICAgICAgIHN0cnVjdCB0eXBlICp0eXBlMSwKLUBAIC04 NjUsNyArODY3LDggQEAgZXh0ZXJuIHZvaWQgcmVsZWFzZV92YWx1ZV9vcl9pbmNyZWYgKHN0cgor QEAgLTg3Myw3ICs4NzUsOCBAQCBleHRlcm4gdm9pZCByZWxlYXNlX3ZhbHVlX29yX2luY3JlZiAo c3RyCiAgZXh0ZXJuIGludCByZWNvcmRfbGF0ZXN0X3ZhbHVlIChzdHJ1Y3QgdmFsdWUgKnZhbCk7 CiAgCiAgZXh0ZXJuIHZvaWQgbW9kaWZ5X2ZpZWxkIChzdHJ1Y3QgdHlwZSAqdHlwZSwgZ2RiX2J5 dGUgKmFkZHIsCkBAIC00NDY4LDcgKzQ0NjcsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDEx OC9nZGIvdmFsdWUuaAogIAogIGV4dGVybiB2b2lkIHR5cGVfcHJpbnQgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBjaGFyICp2YXJzdHJpbmcsCiAgCQkJc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHNob3cpOwotQEAgLTg5NSw3ICs4OTgsNyBAQCBleHRlcm4gdm9pZCB2YWx1ZV9wcmludF9h cnJheV9lbGVtZW50cyAoCitAQCAtOTAzLDcgKzkwNiw3IEBAIGV4dGVybiB2b2lkIHZhbHVlX3By aW50X2FycmF5X2VsZW1lbnRzICgKICBleHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9yZWxlYXNl X3RvX21hcmsgKHN0cnVjdCB2YWx1ZSAqbWFyayk7CiAgCiAgZXh0ZXJuIHZvaWQgdmFsX3ByaW50 IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCkBAIC00NDc3LDcg KzQ0NzYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdmFsdWUuaAogIAkJICAg ICAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAogIAkJICAgICAgIGNvbnN0 IHN0cnVjdCB2YWx1ZSAqdmFsLAogIAkJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zLAotQEAgLTk0NCwxMCArOTQ3LDExIEBAIGV4dGVybiBzdHJ1Y3QgdmFs dWUgKnZhbHVlX2xpdGVyYWxfY29tcGwKK0BAIC05NTIsMTAgKzk1NSwxMSBAQCBleHRlcm4gc3Ry dWN0IHZhbHVlICp2YWx1ZV9saXRlcmFsX2NvbXBsCiAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqZmlu ZF9mdW5jdGlvbl9pbl9pbmZlcmlvciAoY29uc3QgY2hhciAqLAogIAkJCQkJCXN0cnVjdCBvYmpm aWxlICoqKTsKICAKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBh dGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAppbmRleCA4ZTM0ZTc0Li4w N2QwNTgzIDEwMDY0NAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCisr KyBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKQEAgLTk2LDEwICs5NiwxMCBA QCBDb250ZW50LVR5cGU6IHRleHQveC1wYXRjaAogQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAogQ29udGVudC1EaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9Yml0cG9zLXdw LnBhdGNoCiAKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9hcm0tbGludXgtbmF0LmMK K0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9hcm0tbGludXgtbmF0LmMKID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL2FybS1saW51eC1uYXQuYwkyMDEz LTAxLTE4IDIzOjM0OjQzLjkzMDEwNjgzOSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2FybS1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIwNjExNjUxMyArMDEwMAor LS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvYXJtLWxpbnV4LW5hdC5jCTIwMTMtMDIt MTUgMjI6NDA6MTguMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIv YXJtLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTg4ODA0MzA2ICswMTAwCiBAQCAt MTEwNSw3ICsxMTA1LDcgQEAgYXJtX2xpbnV4X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo QwogIAogIC8qIEluc2VydCBhIEhhcmR3YXJlIGJyZWFrcG9pbnQuICAqLwpAQCAtMTI3LDExICsx MjcsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2FybS1saW51eC1uYXQuYwog IHsKICAgIHJldHVybiBzdGFydCA8PSBhZGRyICYmIHN0YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRy OwogIH0KLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCitJbmRleDog Z2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03 LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjkz MTEwNjg0MSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2kzODYtbmF0LmMJMjAx My0wMS0xOCAyMzozNDo1MS4yMDYxMTY1MTMgKzAxMDAKLUBAIC01OTEsNyArNTkxLDcgQEAgaTM4 Nl91cGRhdGVfaW5mZXJpb3JfZGVidWdfcmVncyAoc3RydWN0CistLS0gZ2RiLTcuNS41MC4yMDEz MDIxNS5vcmlnL2dkYi9pMzg2LW5hdC5jCTIwMTMtMDItMTUgMjI6NDE6NTMuMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvaTM4Ni1uYXQuYwkyMDEzLTAyLTE1IDIy OjQzOjE0LjAwNTgzODc0MSArMDEwMAorQEAgLTU4OSw3ICs1ODksNyBAQCBpMzg2X3VwZGF0ZV9p bmZlcmlvcl9kZWJ1Z19yZWdzIChzdHJ1Y3QKICAgICBvZiB0aGUgdHlwZSBUWVBFLiAgUmV0dXJu IDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4gICovCiAgCiAgc3RhdGljIGludApAQCAtMTM5 LDggKzEzOSw4IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pMzg2LW5hdC5jCiAr aTM4Nl9pbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuLCBpbnQg dHlwZSwKICAJCQlzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7Ci0gICBzdHJ1Y3QgaTM4Nl9k ZWJ1Z19yZWdfc3RhdGUgKnN0YXRlID0gaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKCk7Ci1AQCAtNjI4 LDcgKzYyOCw3IEBAIGkzODZfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLAorICAg c3RydWN0IGkzODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZQorQEAgLTYyNyw3ICs2MjcsNyBAQCBp Mzg2X2luc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwKICAgICBhZGRyZXNzIEFERFIs IHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMsIGFuZCBmb3IgYWNjZXNzZXMgb2YgdGhlCiAgICAg dHlwZSBUWVBFLiAgUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZmFpbHVyZS4gICovCiAgc3Rh dGljIGludApAQCAtMTQ4LDExICsxNDgsMTEgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgv Z2RiL2kzODYtbmF0LmMKICtpMzg2X3JlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwg TE9OR0VTVCBsZW4sIGludCB0eXBlLAogIAkJCXN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsK LSAgIHN0cnVjdCBpMzg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUgPSBpMzg2X2RlYnVnX3JlZ19z dGF0ZSAoKTsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pYTY0LWxpbnV4LW5hdC5j CisgICBzdHJ1Y3QgaTM4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlCitJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDIxNS9nZGIvaWE2NC1saW51eC1uYXQuYwogPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUu NTAuMjAxMzAxMTgub3JpZy9nZGIvaWE2NC1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQz LjkzMTEwNjg0MSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2lhNjQtbGludXgt bmF0LmMJMjAxMy0wMS0xOCAyMzozNDo1MS4yMDYxMTY1MTMgKzAxMDAKKy0tLSBnZGItNy41LjUw LjIwMTMwMjE1Lm9yaWcvZ2RiL2lhNjQtbGludXgtbmF0LmMJMjAxMy0wMi0xNSAyMjozNDoxOC4w MDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9pYTY0LWxpbnV4LW5h dC5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTg5ODA0MzA5ICswMTAwCiBAQCAtNTQyLDcgKzU0Miw3 IEBAIGlzX3Bvd2VyX29mXzIgKGludCB2YWwpCiAgfQogIApAQCAtMTcxLDEwICsxNzEsMTAgQEAg SW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL2lhNjQtbGludXgtbmF0LmMKICAJCQkgICAg ICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAgICBpbnQgaWR4OwotSW5kZXg6IGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL2luZi10dHJhY2UuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAy MTUvZ2RiL2luZi10dHJhY2UuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvaW5mLXR0cmFjZS5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTMyMTA2ODQ0ICswMTAw Ci0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvaW5mLXR0cmFjZS5jCTIwMTMtMDEtMTggMjM6 MzQ6NTEuMjA2MTE2NTEzICswMTAwCistLS0gZ2RiLTcuNS41MC4yMDEzMDIxNS5vcmlnL2dkYi9p bmYtdHRyYWNlLmMJMjAxMy0wMi0xNSAyMjo0MDoxOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjUwLjIwMTMwMjE1L2dkYi9pbmYtdHRyYWNlLmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45ODk4 MDQzMDkgKzAxMDAKIEBAIC0zMTMsMTQgKzMxMywxNCBAQCBpbmZfdHRyYWNlX2Rpc2FibGVfcGFn ZV9wcm90ZWN0aW9ucyAocGlkCiAgICAgdHlwZSBUWVBFLiAgKi8KICAKQEAgLTIxMSwxMCArMjEx LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9pbmYtdHRyYWNlLmMKICAKICAg IGdkYl9hc3NlcnQgKHR5cGUgPT0gaHdfd3JpdGUpOwogIAotSW5kZXg6IGdkYi03LjUuNTAuMjAx MzAxMTgvZ2RiL21pcHMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dk Yi9taXBzLWxpbnV4LW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2dkYi9taXBzLWxpbnV4LW5hdC5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTMyMTA2ODQ0ICsw MTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDEzLTAx LTE4IDIzOjM0OjUxLjIwODExNjUxOCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3Jp Zy9nZGIvbWlwcy1saW51eC1uYXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL21pcHMtbGludXgtbmF0LmMJMjAxMy0wMi0x NSAyMjo0Mjo0NS45OTA4MDQzMTEgKzAxMDAKIEBAIC0xMDE3LDcgKzEwMTcsNyBAQCBwb3B1bGF0 ZV9yZWdzX2Zyb21fd2F0Y2hlcyAoc3RydWN0IHB0X3dhCiAgICAgd2F0Y2guICBSZXR1cm4gemVy byBvbiBzdWNjZXNzLiAgKi8KICAKQEAgLTIzMywxMCArMjMzLDEwIEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi9taXBzLWxpbnV4LW5hdC5jCiAgCQkJICAgICAgc3RydWN0IGV4cHJl c3Npb24gKmNvbmQpCiAgewogICAgaW50IHJldHZhbDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9udG8tcHJvY2ZzLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9udG8t cHJvY2ZzLmMKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL250 by1wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjM0OjQzLjkzMzEwNjg0NyArMDEwMAotKysrIGdkYi03 LjUuNTAuMjAxMzAxMTgvZ2RiL250by1wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIwODEx NjUxOCArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvbnRvLXByb2Nmcy5j CTIwMTMtMDEtMDEgMDc6MzI6NDcuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEz MDIxNS9nZGIvbnRvLXByb2Nmcy5jCTIwMTMtMDItMTUgMjI6NDI6NDUuOTkwODA0MzExICswMTAw CiBAQCAtNjksMTAgKzY5LDEwIEBAIHN0YXRpYyBwdGlkX3QgZG9fYXR0YWNoIChwdGlkX3QgcHRp ZCk7CiAgCiAgc3RhdGljIGludCBwcm9jZnNfY2FuX3VzZV9od19icmVha3BvaW50IChpbnQsIGlu dCwgaW50KTsKQEAgLTI2NywxMCArMjY3LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4 L2dkYi9udG8tcHJvY2ZzLmMKICAJCQkgICAgIHN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsK ICAgIHJldHVybiBwcm9jZnNfaHdfd2F0Y2hwb2ludCAoYWRkciwgbGVuLCB0eXBlKTsKLUluZGV4 OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcGMtbGludXgtbmF0LmMKK0luZGV4OiBnZGItNy41 LjUwLjIwMTMwMjE1L2dkYi9wcGMtbGludXgtbmF0LmMKID09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tLSBnZGItNy41 LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3BwYy1saW51eC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjQz LjkzNDEwNjg0OSArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3BwYy1saW51eC1u YXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIwODExNjUxOCArMDEwMAorLS0tIGdkYi03LjUuNTAu MjAxMzAyMTUub3JpZy9nZGIvcHBjLWxpbnV4LW5hdC5jCTIwMTMtMDItMTUgMjI6NDA6MTguMDAw MDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvcHBjLWxpbnV4LW5hdC5j CTIwMTMtMDItMTUgMjI6NDI6NDUuOTkxODA0MzEzICswMTAwCiBAQCAtMTgzOCwxMSArMTgzOCwx MSBAQCBjYW5fdXNlX3dhdGNocG9pbnRfY29uZF9hY2NlbCAodm9pZCkKICAgICBDT05ESVRJT05f VkFMVUUgd2lsbCBob2xkIHRoZSB2YWx1ZSB3aGljaCBzaG91bGQgYmUgcHV0IGluIHRoZQogICAg IERWQyByZWdpc3Rlci4gICovCkBAIC0zNDAsMTAgKzM0MCwxMCBAQCBJbmRleDogZ2RiLTcuNS41 MC4yMDEzMDExOC9nZGIvcHBjLWxpbnV4LW5hdC5jCiAgewogICAgaW50IG1hc2s7CiAgCi1JbmRl eDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcHJvY2ZzLmMKK0luZGV4OiBnZGItNy41LjUwLjIw MTMwMjE1L2dkYi9wcm9jZnMuYwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgu b3JpZy9nZGIvcHJvY2ZzLmMJMjAxMy0wMS0xOCAyMzozNDo0My45MzcxMDY4NTUgKzAxMDAKLSsr KyBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9wcm9jZnMuYwkyMDEzLTAxLTE4IDIzOjM1OjEyLjU5 ODE0NTA3MyArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcHJvY2ZzLmMJ MjAxMy0wMi0xNSAyMjo0MDoxOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9wcm9jZnMuYwkyMDEzLTAyLTE1IDIyOjQyOjQ1Ljk5MjgwNDMxNSArMDEwMAogQEAg LTI0MzMsNyArMjQzMyw3IEBAIHByb2Nmc19hZGRyZXNzX3RvX2hvc3RfcG9pbnRlciAoQ09SRV9B REQKICAjZW5kaWYKICAKQEAgLTM4MCwxMCArMzgwLDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9wcm9jZnMuYwogIAkJCSAgc3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCiAgewog ICAgcmV0dXJuIHByb2Nmc19zZXRfd2F0Y2hwb2ludCAoaW5mZXJpb3JfcHRpZCwgYWRkciwgMCwg MCwgMCk7Ci1JbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLW0zMnItc2RpLmMK K0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUtbTMyci1zZGkuYwogPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcmVtb3RlLW0zMnItc2RpLmMJ MjAxMy0wMS0xOCAyMzozNDo1MS4yMTExMTY1MjMgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9yZW1vdGUtbTMyci1zZGkuYwkyMDEzLTAxLTE4IDIzOjM2OjUwLjAwNDI3NjI5NiAr MDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcmVtb3RlLW0zMnItc2RpLmMJ MjAxMy0wMS0wMSAwNzozMjo1MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9yZW1vdGUtbTMyci1zZGkuYwkyMDEzLTAyLTE1IDIyOjQyOjQ1Ljk5MzgwNDMxNyAr MDEwMAogQEAgLTE0MTcsMTQgKzE0MTcsMTUgQEAgbTMycl9jYW5fdXNlX2h3X3dhdGNocG9pbnQg KGludCB0eXBlLCBpbgogICAgIHdhdGNocG9pbnQuICAqLwogIApAQCAtNDIyLDEwICs0MjIsMTAg QEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS1tMzJyLXNkaS5jCiAgCiAg ICBmb3IgKGkgPSAwOyBpIDwgTUFYX0FDQ0VTU19CUkVBS1M7IGkrKykKICAgICAgewotSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS1taXBzLmMKK0luZGV4OiBnZGItNy41LjUw LjIwMTMwMjE1L2dkYi9yZW1vdGUtbWlwcy5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4y MDEzMDExOC5vcmlnL2dkYi9yZW1vdGUtbWlwcy5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTM5MTA2 ODYwICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLW1pcHMuYwkyMDEz LTAxLTE4IDIzOjM0OjUxLjIxMjExNjUyNSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUu b3JpZy9nZGIvcmVtb3RlLW1pcHMuYwkyMDEzLTAxLTAxIDA3OjMyOjUwLjAwMDAwMDAwMCArMDEw MAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3JlbW90ZS1taXBzLmMJMjAxMy0wMi0xNSAy Mjo0Mjo0NS45OTQ4MDQzMTkgKzAxMDAKIEBAIC0yNDE5LDcgKzI0MTksNyBAQCBjYWxjdWxhdGVf bWFzayAoQ09SRV9BRERSIGFkZHIsIGludCBsZW4pCiAgICAgd2F0Y2hwb2ludC4gICovCiAgCkBA IC00NDQsMTEgKzQ0NCwxMSBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3Rl LW1pcHMuYwogIAkJCXN0cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKICAgIGlmIChtaXBzX2Ns ZWFyX2JyZWFrcG9pbnQgKGFkZHIsIGxlbiwgdHlwZSkpCi1JbmRleDogZ2RiLTcuNS41MC4yMDEz MDExOC9nZGIvcmVtb3RlLmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUu YwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQotLS0tIGdkYi03LjUuNTAuMjAxMzAxMTgub3JpZy9nZGIvcmVtb3RlLmMJ MjAxMy0wMS0xOCAyMzozNDo0My45NDMxMDY4NjkgKzAxMDAKLSsrKyBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi9yZW1vdGUuYwkyMDEzLTAxLTE4IDIzOjM0OjUxLjIxNDExNjUyOSArMDEwMAotQEAg LTgwOTMsNyArODA5Myw3IEBAIHdhdGNocG9pbnRfdG9fWl9wYWNrZXQgKGludCB0eXBlKQorLS0t IGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvcmVtb3RlLmMJMjAxMy0wMi0xNSAyMjo0MDox OC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjUwLjIwMTMwMjE1L2dkYi9yZW1vdGUuYwky MDEzLTAyLTE1IDIyOjQyOjQ1Ljk5NjgwNDMyMyArMDEwMAorQEAgLTgxNTUsNyArODE1NSw3IEBA IHdhdGNocG9pbnRfdG9fWl9wYWNrZXQgKGludCB0eXBlKQogIH0KICAKICBzdGF0aWMgaW50CkBA IC00NTcsNyArNDU3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5j CiAgCQkJICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAgICBzdHJ1Y3QgcmVtb3RlX3N0 YXRlICpycyA9IGdldF9yZW1vdGVfc3RhdGUgKCk7Ci1AQCAtODEwOCw3ICs4MTA4LDcgQEAgcmVt b3RlX2luc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkcgorQEAgLTgxNzAsNyArODE3MCw3 IEBAIHJlbW90ZV9pbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIKICAgIHAgPSBzdHJj aHIgKHJzLT5idWYsICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRk cik7CiAgICBwICs9IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTQ2Niw3ICs0 NjYsNyBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvcmVtb3RlLmMKICAKICAgIHB1 dHBrdCAocnMtPmJ1Zik7CiAgICBnZXRwa3QgKCZycy0+YnVmLCAmcnMtPmJ1Zl9zaXplLCAwKTsK LUBAIC04MTI4LDcgKzgxMjgsNyBAQCByZW1vdGVfaW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQURE UiBhZGRyCitAQCAtODE5MCw3ICs4MTkwLDcgQEAgcmVtb3RlX2luc2VydF93YXRjaHBvaW50IChD T1JFX0FERFIgYWRkcgogIAogIHN0YXRpYyBpbnQKICByZW1vdGVfd2F0Y2hwb2ludF9hZGRyX3dp dGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKnRhcmdldCwgQ09SRV9BRERSIGFkZHIsCkBA IC00NzUsNyArNDc1LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5j CiAgewogICAgQ09SRV9BRERSIGRpZmYgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIgLSBz dGFydCk7CiAgCi1AQCAtODEzNyw3ICs4MTM3LDcgQEAgcmVtb3RlX3dhdGNocG9pbnRfYWRkcl93 aXRoaW5fcmFuZ2UgKHN0cgorQEAgLTgxOTksNyArODE5OSw3IEBAIHJlbW90ZV93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChzdHIKICAKICAKICBzdGF0aWMgaW50CkBAIC00ODQsNyArNDg0 LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3JlbW90ZS5jCiAgCQkJICBzdHJ1 Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAgICBzdHJ1Y3QgcmVtb3RlX3N0YXRlICpycyA9IGdl dF9yZW1vdGVfc3RhdGUgKCk7Ci1AQCAtODE1Miw3ICs4MTUyLDcgQEAgcmVtb3RlX3JlbW92ZV93 YXRjaHBvaW50IChDT1JFX0FERFIgYWRkcgorQEAgLTgyMTQsNyArODIxNCw3IEBAIHJlbW90ZV9y ZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIKICAgIHAgPSBzdHJjaHIgKHJzLT5idWYs ICdcMCcpOwogICAgYWRkciA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkcik7CiAgICBwICs9 IGhleG51bXN0ciAocCwgKFVMT05HRVNUKSBhZGRyKTsKQEAgLTQ5MywxMCArNDkzLDEwIEBAIElu ZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi9yZW1vdGUuYwogICAgcHV0cGt0IChycy0+YnVm KTsKICAgIGdldHBrdCAoJnJzLT5idWYsICZycy0+YnVmX3NpemUsIDApOwogIAotSW5kZXg6IGdk Yi03LjUuNTAuMjAxMzAxMTgvZ2RiL3MzOTAtbmF0LmMKK0luZGV4OiBnZGItNy41LjUwLjIwMTMw MjE1L2dkYi9zMzkwLW5hdC5jCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5v cmlnL2dkYi9zMzkwLW5hdC5jCTIwMTMtMDEtMTggMjM6MzQ6NDMuOTQ0MTA2ODcxICswMTAwCi0r KysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvczM5MC1uYXQuYwkyMDEzLTAxLTE4IDIzOjM0OjUx LjIxNTExNjUzMSArMDEwMAorLS0tIGdkYi03LjUuNTAuMjAxMzAyMTUub3JpZy9nZGIvczM5MC1u YXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuNTAu MjAxMzAyMTUvZ2RiL3MzOTAtbmF0LmMJMjAxMy0wMi0xNSAyMjo0Mjo0NS45OTc4MDQzMjUgKzAx MDAKIEBAIC01MTYsNyArNTE2LDcgQEAgczM5MF9maXhfd2F0Y2hfcG9pbnRzIChzdHJ1Y3QgbHdw X2luZm8gKgogIH0KICAKQEAgLTUxNSwxMCArNTE1LDEwIEBAIEluZGV4OiBnZGItNy41LjUwLjIw MTMwMTE4L2dkYi9zMzkwLW5hdC5jCiAgCQkJc3RydWN0IGV4cHJlc3Npb24gKmNvbmQpCiAgewog ICAgc3RydWN0IGx3cF9pbmZvICpscDsKLUluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90 YXJnZXQuYworSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RhcmdldC5jCiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLS0gZ2RiLTcuNS41MC4yMDEzMDExOC5vcmlnL2dkYi90YXJnZXQuYwkyMDEzLTAxLTE4 IDIzOjM0OjQzLjk0NzEwNjg3OCArMDEwMAotKysrIGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rh cmdldC5jCTIwMTMtMDEtMTggMjM6MzQ6NTEuMjE2MTE2NTMzICswMTAwCistLS0gZ2RiLTcuNS41 MC4yMDEzMDIxNS5vcmlnL2dkYi90YXJnZXQuYwkyMDEzLTAyLTE1IDIyOjQwOjE4LjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjUuNTAuMjAxMzAyMTUvZ2RiL3RhcmdldC5jCTIwMTMtMDItMTUg MjI6NDI6NDUuOTk3ODA0MzI1ICswMTAwCiBAQCAtNDksNyArNDksOCBAQCBzdGF0aWMgdm9pZCB0 YXJnZXRfaW5mbyAoY2hhciAqLCBpbnQpOwogIHN0YXRpYyB2b2lkIGRlZmF1bHRfdGVybWluYWxf aW5mbyAoY2hhciAqLCBpbnQpOwogIApAQCAtNTc5LDcgKzU3OSw3IEBAIEluZGV4OiBnZGItNy41 LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwogICAgICAgICAgICAgIHJldHVybl96ZXJvKTsKICAg IGRlX2ZhdWx0ICh0b190ZXJtaW5hbF9pbml0LAogIAkgICAgKHZvaWQgKCopICh2b2lkKSkKLUBA IC0zNTYwLDcgKzM1NjIsNyBAQCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SCitAQCAtMzU1OCw3ICszNTYwLDcgQEAgZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKENPUgogIHN0YXRpYyBpbnQKICBkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICp0YXJnZXQsCiAgCQkJCSAgICAgIENPUkVfQUREUiBh ZGRyLApAQCAtNTg4LDcgKzU4OCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90 YXJnZXQuYwogIHsKICAgIHJldHVybiBhZGRyID49IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxl bmd0aDsKICB9Ci1AQCAtNDI2Nyw3ICs0MjY5LDcgQEAgZGVidWdfdG9fcmVnaW9uX29rX2Zvcl9o d193YXRjaHBvaW50IChDTworQEAgLTQyNjUsNyArNDI2Nyw3IEBAIGRlYnVnX3RvX3JlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ08KICB9CiAgCiAgc3RhdGljIGludApAQCAtNTk3LDcgKzU5 Nyw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwogIAkJCQkJIHN0 cnVjdCBleHByZXNzaW9uICpjb25kKQogIHsKICAgIGludCByZXR2YWw7Ci1AQCAtNDI3Nyw4ICs0 Mjc5LDggQEAgZGVidWdfdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uCitAQCAtNDI3 NSw4ICs0Mjc3LDggQEAgZGVidWdfdG9fY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uCiAg CiAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCiAgCQkgICAgICAidGFyZ2V0X2Nh bl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAiCkBAIC02MDgsNyArNjA4LDcgQEAgSW5kZXg6 IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3RhcmdldC5jCiAgCQkgICAgICBob3N0X2FkZHJlc3Nf dG9fc3RyaW5nIChjb25kKSwgKHVuc2lnbmVkIGxvbmcpIHJldHZhbCk7CiAgICByZXR1cm4gcmV0 dmFsOwogIH0KLUBAIC00MzEzLDcgKzQzMTUsNyBAQCBkZWJ1Z190b19zdG9wcGVkX2RhdGFfYWRk cmVzcyAoc3RydWN0IHRhCitAQCAtNDMxMSw3ICs0MzEzLDcgQEAgZGVidWdfdG9fc3RvcHBlZF9k YXRhX2FkZHJlc3MgKHN0cnVjdCB0YQogIHN0YXRpYyBpbnQKICBkZWJ1Z190b193YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAogIAkJCQkgICAg ICAgQ09SRV9BRERSIGFkZHIsCkBAIC02MTcsNyArNjE3LDcgQEAgSW5kZXg6IGdkYi03LjUuNTAu MjAxMzAxMTgvZ2RiL3RhcmdldC5jCiAgewogICAgaW50IHJldHZhbDsKICAKLUBAIC00MzIxLDkg KzQzMjMsOSBAQCBkZWJ1Z190b193YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChzCitAQCAt NDMxOSw5ICs0MzIxLDkgQEAgZGVidWdfdG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAo cwogIAkJCQkJCQkgc3RhcnQsIGxlbmd0aCk7CiAgCiAgICBmcHJpbnRmX2ZpbHRlcmVkIChnZGJf c3RkbG9nLApAQCAtNjI5LDcgKzYyOSw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMwMTE4L2dk Yi90YXJnZXQuYwogICAgcmV0dXJuIHJldHZhbDsKICB9CiAgCi1AQCAtNDM1OCw3ICs0MzYwLDcg QEAgZGVidWdfdG9fcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZAorQEAgLTQzNTYsNyAr NDM1OCw3IEBAIGRlYnVnX3RvX3JlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2QKICB9CiAg CiAgc3RhdGljIGludApAQCAtNjM4LDcgKzYzOCw3IEBAIEluZGV4OiBnZGItNy41LjUwLjIwMTMw MTE4L2dkYi90YXJnZXQuYwogIAkJCSAgICBzdHJ1Y3QgZXhwcmVzc2lvbiAqY29uZCkKICB7CiAg ICBpbnQgcmV0dmFsOwotQEAgLTQzNjYsMTQgKzQzNjgsMTQgQEAgZGVidWdfdG9faW5zZXJ0X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZAorQEAgLTQzNjQsMTQgKzQzNjYsMTQgQEAgZGVidWdfdG9f aW5zZXJ0X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZAogICAgcmV0dmFsID0gZGVidWdfdGFyZ2V0 LnRvX2luc2VydF93YXRjaHBvaW50IChhZGRyLCBsZW4sIHR5cGUsIGNvbmQpOwogIAogICAgZnBy aW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLApAQCAtNjU2LDcgKzY1Niw3IEBAIEluZGV4OiBn ZGItNy41LjUwLjIwMTMwMTE4L2dkYi90YXJnZXQuYwogIAkJCSAgICBzdHJ1Y3QgZXhwcmVzc2lv biAqY29uZCkKICB7CiAgICBpbnQgcmV0dmFsOwotQEAgLTQzODEsOCArNDM4Myw4IEBAIGRlYnVn X3RvX3JlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWQKK0BAIC00Mzc5LDggKzQzODEsOCBA QCBkZWJ1Z190b19yZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkCiAgICByZXR2YWwgPSBk ZWJ1Z190YXJnZXQudG9fcmVtb3ZlX3dhdGNocG9pbnQgKGFkZHIsIGxlbiwgdHlwZSwgY29uZCk7 CiAgCiAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCkBAIC02NjcsMTAgKzY2Nywx MCBAQCBJbmRleDogZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0LmMKICAJCSAgICAgIGhv c3RfYWRkcmVzc190b19zdHJpbmcgKGNvbmQpLCAodW5zaWduZWQgbG9uZykgcmV0dmFsKTsKICAg IHJldHVybiByZXR2YWw7CiAgfQotSW5kZXg6IGdkYi03LjUuNTAuMjAxMzAxMTgvZ2RiL3Rhcmdl dC5oCitJbmRleDogZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGFyZ2V0LmgKID09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tLSBnZGItNy41LjUwLjIwMTMwMTE4Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTMtMDEtMTggMjM6 MzQ6NDMuOTQ3MTA2ODc4ICswMTAwCi0rKysgZ2RiLTcuNS41MC4yMDEzMDExOC9nZGIvdGFyZ2V0 LmgJMjAxMy0wMS0xOCAyMzozNDo1MS4yMTcxMTY1MzYgKzAxMDAKKy0tLSBnZGItNy41LjUwLjIw MTMwMjE1Lm9yaWcvZ2RiL3RhcmdldC5oCTIwMTMtMDItMTUgMjI6NDA6MTguMDAwMDAwMDAwICsw MTAwCisrKysgZ2RiLTcuNS41MC4yMDEzMDIxNS9nZGIvdGFyZ2V0LmgJMjAxMy0wMi0xNSAyMjo0 Mjo0NS45OTg4MDQzMjggKzAxMDAKIEBAIC00NjYsOCArNDY2LDggQEAgc3RydWN0IHRhcmdldF9v cHMKICAKICAgICAgLyogRG9jdW1lbnRhdGlvbiBvZiB3aGF0IHRoZSB0d28gcm91dGluZXMgYmVs b3cgYXJlIGV4cGVjdGVkIHRvIGRvIGlzCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3Bl YwppbmRleCA2MzJjMzNmLi40ZWMwYjJhIDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIu c3BlYwpAQCAtMjcsMTQgKzI3LDE0IEBACiBTdW1tYXJ5OiBBIEdOVSBzb3VyY2UtbGV2ZWwgZGVi dWdnZXIgZm9yIEMsIEMrKywgRm9ydHJhbiwgR28gYW5kIG90aGVyIGxhbmd1YWdlcwogTmFtZTog JXs/c2NsX3ByZWZpeH1nZGIKIAotJWdsb2JhbCBzbmFwICAgICAgIDIwMTIwODE3CislZ2xvYmFs IHNuYXAgICAgICAgMjAxMzAyMTUKICMgU2VlIHRpbWVzdGFtcCBvZiBzb3VyY2UgZ251bGliIGlu c3RhbGxlZCBpbnRvIGdkYi9nbnVsaWIvIC4KLSVnbG9iYWwgc25hcGdudWxpYiAyMDEyMDYyMwot VmVyc2lvbjogNy41LjUwLjIwMTMwMTE4CislZ2xvYmFsIHNuYXBnbnVsaWIgMjAxMjEyMTMKK1Zl cnNpb246IDcuNS41MC4yMDEzMDIxNQogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBh IGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlz IG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21w YXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDYlez9kaXN0fQorUmVsZWFzZTogNyV7 P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQg R1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFu ZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9wbWVudC9EZWJ1Z2dlcnMKQEAg LTM2NiwxMCArMzY2LDYgQEAgUGF0Y2gzMTc6IGdkYi02Ljgtc3BhcmM2NC1zaWxlbmNlLW1lbWNw eS1jaGVjay5wYXRjaAogIz1mZWRvcmF0ZXN0CiBQYXRjaDMyMDogZ2RiLTYuNS1zZWN0aW9uLW51 bS1maXh1cC10ZXN0LnBhdGNoCiAKLSMgRml4IFBSUFNJTkZPIGluIHRoZSBjb3JlIGZpbGVzIGR1 bXBlZCBieSBnY29yZSAoQlogMjU0MjI5KS4KLSM9cHVzaAotUGF0Y2gzMjk6IGdkYi02LjgtYnoy NTQyMjktZ2NvcmUtcHJwc2luZm8ucGF0Y2gKLQogIyBGaXggcmVnaXN0ZXIgYXNzaWdubWVudHMg d2l0aCBubyBHREIgc3RhY2sgZnJhbWVzIChCWiA0MzYwMzcpLgogIz1wdXNoK3dvcms6IFRoaXMg Zml4IGlzIGluY29ycmVjdC4KIFBhdGNoMzMwOiBnZGItNi44LWJ6NDM2MDM3LXJlZy1uby1sb25n ZXItYWN0aXZlLnBhdGNoCkBAIC01NjEsMTQgKzU1Nyw2IEBAIFBhdGNoODE2OiBnZGItcmhiejc5 NTQyNC1iaXRwb3MtMjVvZjI1LnBhdGNoCiBQYXRjaDgxNzogZ2RiLXJoYno3OTU0MjQtYml0cG9z LTI1b2YyNS10ZXN0LnBhdGNoCiBQYXRjaDgxODogZ2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2 YWx1ZS5wYXRjaAogCi0jIEZpeCBnZGIuZm9ydHJhbi9jb21tb24tYmxvY2suZXhwIGluIFBJRSBt b2RlLgotIz1wdXNoCi1QYXRjaDgyMzogZ2RiLWNvbW1vbmJsb2NrLXBpZS5wYXRjaAotCi0jPXB1 c2gKLSMgRml4IGFzc2VydCBjcmFzaGVzIHdpdGggbWluaWRlYnVnaW5mbyAoQlogOTAzNTIyKS4K LVBhdGNoODI0OiBnZGItbWluaWRlYnVnaW5mby1jcmFzaC5wYXRjaAotCiAlaWYgMCV7IT9yaGVs OjF9IHx8IDAlez9yaGVsfSA+IDYKICMgUkxfU1RBVEVfRkVET1JBX0dEQiB3b3VsZCBub3QgYmUg Zm91bmQgZm9yOgogIyBQYXRjaDY0MjogZ2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gK QEAgLTgyOSw3ICs4MTcsNiBAQCBmaW5kIC1uYW1lICIqLmluZm8qInx4YXJncyBybSAtZgogJXBh dGNoMzE1IC1wMQogJXBhdGNoMzE3IC1wMQogJXBhdGNoMzIwIC1wMQotJXBhdGNoMzI5IC1wMQog JXBhdGNoMzMwIC1wMQogJXBhdGNoMzQzIC1wMQogJXBhdGNoMzQ4IC1wMQpAQCAtODgyLDggKzg2 OSw2IEBAIGZpbmQgLW5hbWUgIiouaW5mbyoifHhhcmdzIHJtIC1mCiAlcGF0Y2g4MTYgLXAxCiAl cGF0Y2g4MTcgLXAxCiAlcGF0Y2g4MTggLXAxCi0lcGF0Y2g4MjMgLXAxCi0lcGF0Y2g4MjQgLXAx CiAKICVwYXRjaDM5MyAtcDEKICVpZiAwJXshP2VsNToxfSB8fCAwJXs/c2NsOjF9CkBAIC0xMzgz LDYgKzEzNjgsOSBAQCBmaQogJWVuZGlmICMgMCV7IT9lbDU6MX0gfHwgIiV7X3RhcmdldF9jcHV9 IiA9PSAibm9hcmNoIgogCiAlY2hhbmdlbG9nCisqIE1vbiBGZWIgMTggMjAxMyBKYW4gS3JhdG9j aHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNvbT4gLSA3LjUuNTAuMjAxMzAyMTUtNy5mYzE5 CistIFJlYmFzZSB0byBGU0YgR0RCIDcuNS41MC4yMDEzMDIxNSAocHJlLTcuNiBzbmFwc2hvdCku CisKICogRnJpIEZlYiAgOCAyMDEzIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPiAtIDcuNS41MC4yMDEzMDExOC02LmZjMTkKIC0gUmUtZW5hYmxlIFBERiBpbiBnZGIt ZG9jIGFmdGVyIHRleGluZm8gUkggQlogODc2NzEwIGhhcyBiZWVuIGZpeGVkLgogCgpkaWZmIC0t Z2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggMTBhNTU5Ny4uMmE3ODJmZSAxMDA2NDQKLS0t IGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDIgKzEsMiBAQAogNDk4MTMwN2FhOTYxOWJi ZWM1YjczMjYxZTRlNDFjOGQgIGdkYi1saWJzdGRjKystdjMtcHl0aG9uLXIxNTU5NzgudGFyLmJ6 MgotODg5ZjYyYWQ5OWEwNDFkYWY1MTQzYzYxYTU1OWNmMmYgIGdkYi03LjUuNTAuMjAxMzAxMTgu dGFyLmJ6MgorOGQ0ZDViYWYwNmFjZjdjOTUyMTEzMDJlZmZmYjE2YWQgIGdkYi03LjUuNTAuMjAx MzAyMTUudGFyLmJ6Mgo=